/* ============================================================
   GLOWMATCH — INDEPENDENT BEAUTY PROVIDER MATCHING v4.0
   Soft lavender · Champagne gold · Blush pink
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500&family=DM+Sans:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');

/* ---- TOKENS ---- */
:root {
  --cream:       #F9F6FB;
  --cream-deep:  #F1EBF5;
  --beige:       #ECE4F1;
  --beige-mid:   #DBCFE2;
  --charcoal:    #392C45;
  --charcoal-2:  #2E2339;
  --charcoal-3:  #513D60;
  --gold:        #D2B382;
  --gold-dark:   #80633D;
  --gold-light:  #F0DFC4;
  --gold-pale:   #FAF4EB;
  --rose:        #E5B7C7;
  --rose-light:  #F7E5EB;
  --rose-dark:   #966478;
  --text-warm:   #66586A;
  --text-mid:    #514359;
  --white:       #FFFFFF;
  --footer-text: #D8C7DE;
  --star:        #FBBC05;

  --font-serif:  'Playfair Display', 'Cormorant Garamond', Georgia, serif;
  --font-alt:    'Cormorant Garamond', Georgia, serif;
  --font-sans:   'DM Sans', sans-serif;

  --ease:   cubic-bezier(0.32, 0.72, 0, 1);
  --spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --smooth: cubic-bezier(0.25, 0.46, 0.45, 0.94);

  --shadow-gold: 0 12px 48px rgba(210,179,130,0.22);
  --shadow-rose: 0 12px 48px rgba(212,160,160,0.18);
  --shadow-card: 0 2px 20px rgba(57,44,69,0.08);
  --shadow-dark: 0 24px 64px rgba(57,44,69,0.32);

  --radius-sm:   8px;
  --radius-md:   14px;
  --radius-lg:   22px;
  --radius-xl:   32px;
  --radius-pill: 100px;

  --nav-h:   80px;
  --gutter:  5rem;
  --gutter-sm: 1.5rem;
}

/* ---- RESET ---- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font-sans);
  background: var(--cream);
  color: var(--charcoal);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }

/* ---- SR-ONLY (never visible) ---- */
.sr-only {
  position: fixed !important;
  top: -9999px !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  z-index: -1 !important;
}

/* ---- CURSOR ---- */
@media (hover:hover) and (pointer:fine) {
  body { cursor: none; }
  .cursor-dot {
    width: 5px; height: 5px; background: var(--gold);
    border-radius: 50%; position: fixed; top: 0; left: 0;
    pointer-events: none; z-index: 9999;
    transform: translate(-50%,-50%);
    transition: width .15s, height .15s, background .2s;
    will-change: transform;
  }
  .cursor-ring {
    width: 28px; height: 28px;
    border: 1px solid rgba(210,179,130,0.35);
    border-radius: 50%; position: fixed; top: 0; left: 0;
    pointer-events: none; z-index: 9998;
    transform: translate(-50%,-50%);
    transition: width .4s var(--ease), height .4s var(--ease), border-color .3s;
    will-change: transform; opacity: 0.7;
  }
}

/* ============================================================
   NAVIGATION — Always has background on inner pages
   ============================================================ */
.nav {
  position: fixed; top: 0; left: 0; right: 0;
  height: var(--nav-h);
  z-index: 1000;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 3rem;
  /* KEY FIX: inner pages always have dark bg, homepage transitions from transparent */
  background: rgba(57,44,69,0.0);
  transition: background 0.5s var(--ease), backdrop-filter 0.5s, box-shadow 0.5s;
  will-change: background;
}
/* All inner pages: nav always dark */
/* Inner pages: nav ALWAYS dark - no JS needed */
body.page-inner .nav,
body:not(.page-home) .nav {
  background: rgba(46,35,57,0.98) !important;
  backdrop-filter: blur(28px) !important;
  -webkit-backdrop-filter: blur(28px) !important;
  box-shadow: 0 1px 0 rgba(210,179,130,0.12), 0 4px 24px rgba(0,0,0,0.3) !important;
}
/* Homepage: dark after scroll */
body.page-home .nav.scrolled {
  background: rgba(57,44,69,0.96);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  box-shadow: 0 1px 0 rgba(210,179,130,0.1);
}

.nav-logo { display: flex; flex-direction: column; text-decoration: none; flex-shrink: 0; }
.nav-logo-main {
  font-family: var(--font-alt);
  font-size: 1.15rem; font-weight: 600;
  color: var(--cream); letter-spacing: 0.02em; line-height: 1;
}
.nav-logo-sub {
  font-size: 0.56rem; font-weight: 400;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--gold); margin-top: 3px;
}
.nav-center {
  display: flex; align-items: center; gap: 0.15rem;
  position: absolute; left: 50%; transform: translateX(-50%);
}
.nav-link {
  font-size: 0.73rem; font-weight: 500;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: rgba(249,246,251,0.7);
  padding: 0.4rem 0.8rem; border-radius: var(--radius-pill);
  transition: color 0.3s, background 0.3s;
  white-space: nowrap; text-decoration: none; display: inline-block;
}
.nav-link:hover { color: var(--cream); background: rgba(255,255,255,0.06); }
.nav-link.active { color: var(--gold); }
.nav-right { display: flex; align-items: center; gap: 1rem; flex-shrink: 0; }
.nav-phone {
  font-size: 0.73rem; font-weight: 500;
  color: var(--gold); letter-spacing: 0.04em;
  display: flex; align-items: center; gap: 0.4rem;
  text-decoration: none; transition: color 0.3s; white-space: nowrap;
}
.nav-phone:hover { color: var(--gold-light); }
.nav-phone svg { width: 13px; height: 13px; stroke: currentColor; fill: none; stroke-width: 1.5; }
.btn-nav {
  background: linear-gradient(135deg, var(--gold), var(--gold-dark));
  color: var(--charcoal);
  padding: 0.55rem 1.3rem; border-radius: var(--radius-pill);
  font-size: 0.72rem; font-weight: 600;
  letter-spacing: 0.07em; text-transform: uppercase;
  transition: all 0.35s var(--spring);
  white-space: nowrap; text-decoration: none; display: inline-block;
  box-shadow: 0 2px 12px rgba(210,179,130,0.25);
}
.btn-nav:hover {
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  transform: scale(1.04); box-shadow: var(--shadow-gold);
}
.nav-burger {
  display: none; flex-direction: column; gap: 5px;
  padding: 8px; cursor: pointer;
}
.nav-burger span {
  width: 22px; height: 1.5px; background: var(--cream);
  display: block; transition: all 0.4s var(--ease);
  border-radius: 2px;
}

/* ---- MOBILE MENU ---- */
.mobile-menu {
  position: fixed; inset: 0;
  background: rgba(46,35,57,0.98);
  backdrop-filter: blur(32px);
  z-index: 999;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 0;
  opacity: 0; pointer-events: none;
  transition: opacity 0.45s var(--ease);
}
.mobile-menu.open { opacity: 1; pointer-events: all; }
.mobile-menu a {
  font-family: var(--font-serif);
  font-size: 2.2rem; font-weight: 400;
  color: var(--cream);
  padding: 0.55rem 0; display: block; text-align: center;
  transform: translateY(20px); opacity: 0;
  transition: all 0.55s var(--ease), color 0.3s;
  text-decoration: none; letter-spacing: 0.02em;
}
.mobile-menu.open a { transform: translateY(0); opacity: 1; }
.mobile-menu a:nth-child(1){transition-delay:.05s}
.mobile-menu a:nth-child(2){transition-delay:.1s}
.mobile-menu a:nth-child(3){transition-delay:.15s}
.mobile-menu a:nth-child(4){transition-delay:.2s}
.mobile-menu a:nth-child(5){transition-delay:.25s}
.mobile-menu a:nth-child(6){transition-delay:.3s}
.mobile-menu a:nth-child(7){transition-delay:.35s}
.mobile-menu a:hover { color: var(--gold); }
.mobile-menu-phone {
  margin-top: 1.5rem !important;
  font-size: 1rem !important;
  color: var(--gold) !important;
  font-family: var(--font-sans) !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  opacity: 0 !important; transform: translateY(10px) !important;
  transition: all 0.55s var(--ease) 0.42s !important;
}
.mobile-menu.open .mobile-menu-phone {
  opacity: 1 !important; transform: translateY(0) !important;
}

/* ============================================================
   GLOWMATCH LEAD PLATFORM REFRAME
   Keeps the existing URL architecture while replacing the former
   business identity with a neutral beauty-provider matching brand.
   ============================================================ */
body.glowmatch-page {
  --cream: #F9F6FB;
  --cream-deep: #F1EBF5;
  --beige: #ECE4F1;
  --beige-mid: #DBCFE2;
  --charcoal: #392C45;
  --charcoal-2: #2E2339;
  --charcoal-3: #513D60;
  --gold: #D2B382;
  --gold-dark: #80633D;
  --gold-light: #F0DFC4;
  --gold-pale: #FAF4EB;
  --rose: #E5B7C7;
  --rose-light: #F7E5EB;
  --rose-dark: #966478;
  --text-warm: #66586A;
  --text-mid: #514359;
  --footer-text: #D8C7DE;
  --star: #D2B382;
  --font-serif: 'Playfair Display', Georgia, serif;
  --font-sans: 'DM Sans', system-ui, sans-serif;
  background: var(--cream);
  color: var(--charcoal);
}

body.glowmatch-page .nav {
  background: rgba(249,246,251,.94) !important;
  border-bottom: 1px solid rgba(57,44,69,.12);
  box-shadow: 0 8px 32px rgba(57,44,69,.08) !important;
  backdrop-filter: blur(22px) !important;
  -webkit-backdrop-filter: blur(22px) !important;
}
body.glowmatch-page .nav-logo-main { display:flex; align-items:center; gap:.45rem; color:var(--charcoal) !important; font-family:var(--font-sans); font-weight:700; letter-spacing:-.04em; }
body.glowmatch-page .nav-logo-main img { width:27px; height:27px; }
body.glowmatch-page .nav-logo-sub { color:var(--gold-dark) !important; }
body.glowmatch-page .nav-link { color:rgba(57,44,69,.68) !important; }
body.glowmatch-page .nav-link:hover, body.glowmatch-page .nav-link.active { color:var(--charcoal) !important; background:rgba(57,44,69,.07); }
body.glowmatch-page .nav-phone, body.glowmatch-page .hero-call-line a, body.glowmatch-page .float-call-btn, body.glowmatch-page .mob-cta-phone { display:none !important; }
body.glowmatch-page .btn-nav { background:var(--charcoal) !important; color:var(--cream) !important; box-shadow:0 10px 24px rgba(57,44,69,.18) !important; }
body.glowmatch-page .btn-nav:hover { background:var(--charcoal-3) !important; }

body.glowmatch-page .hero {
  min-height:92dvh;
  background:var(--charcoal);
}
body.glowmatch-page .hero-bg { background: url('hero-glowmatch-desktop.jpg') center center / cover no-repeat; }
body.glowmatch-page .hero-bg video { display:block !important; }
body.glowmatch-page .hero-overlay { background:linear-gradient(90deg, rgba(46,35,57,.98) 0%, rgba(46,35,57,.90) 42%, rgba(46,35,57,.45) 72%, rgba(46,35,57,.16) 100%) !important; }
body.glowmatch-page .hero-content { max-width:760px; padding-top:10rem; }
body.glowmatch-page .hero-eyebrow { color:var(--gold-light) !important; }
body.glowmatch-page .hero-h1 { font-family:var(--font-sans); font-weight:700; letter-spacing:-.065em; line-height:.94; text-wrap:balance; }
body.glowmatch-page .hero-h1 em { color:var(--gold-light) !important; font-family:var(--font-serif); font-weight:400; }
body.glowmatch-page .hero-sub { max-width:56ch; color:rgba(249,246,251,.78) !important; }
body.glowmatch-page .hero-call-line { color:rgba(249,246,251,.64) !important; }
body.glowmatch-page .hero-stat-num { color:var(--gold-light) !important; }
body.glowmatch-page .hero-stat-label { color:rgba(249,246,251,.52) !important; }
body.glowmatch-page .btn-gold { background:var(--gold) !important; color:var(--charcoal) !important; box-shadow:0 18px 38px rgba(210,179,130,.24) !important; }
body.glowmatch-page .btn-gold:hover { background:var(--gold-light) !important; }
body.glowmatch-page .btn-outline-gold { border-color:rgba(210,179,130,.55) !important; color:var(--gold-light) !important; }
body.glowmatch-page .btn-outline-gold:hover { background:rgba(210,179,130,.12) !important; }

body.glowmatch-page .section.bg-dark, body.glowmatch-page .footer { background:var(--charcoal) !important; }
body.glowmatch-page .section.bg-cream { background:var(--cream) !important; }
body.glowmatch-page .section.bg-beige, body.glowmatch-page .section-sm.bg-beige { background:var(--cream-deep) !important; }
body.glowmatch-page .section-h2 { font-family:var(--font-sans); font-weight:700; letter-spacing:-.055em; }
body.glowmatch-page .section-h2 em, body.glowmatch-page .page-hero-h1 em { color:var(--gold-dark); font-family:var(--font-serif); font-weight:400; }
body.glowmatch-page .section-h2.light em, body.glowmatch-page .page-hero-h1 em { color:var(--gold-light); }
body.glowmatch-page .service-card { background:#FFFBFE !important; border:1px solid rgba(57,44,69,.10) !important; box-shadow:0 20px 55px rgba(57,44,69,.06) !important; border-radius:22px !important; }
body.glowmatch-page .service-card:hover { border-color:rgba(210,179,130,.75) !important; box-shadow:0 24px 70px rgba(57,44,69,.13) !important; }
body.glowmatch-page .sc-num, body.glowmatch-page .sc-link, body.glowmatch-page .eyebrow { color:var(--gold-dark) !important; }
body.glowmatch-page .sc-icon { background:var(--rose-light) !important; color:var(--charcoal) !important; }
body.glowmatch-page .spotlight-banner { background:var(--charcoal) !important; border-radius:26px; }
body.glowmatch-page .spotlight-attr { color:var(--gold-light) !important; }
body.glowmatch-page .ai-quick-facts { background:var(--charcoal) !important; border-color:rgba(210,179,130,.18) !important; }
body.glowmatch-page .ai-quick-facts strong { color:var(--gold-light) !important; }
body.glowmatch-page .ai-quick-facts p { color:rgba(249,246,251,.74) !important; }
body.glowmatch-page .glowmatch-facts-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; font-family:var(--font-sans); font-size:.88rem; line-height:1.65; color:rgba(249,246,251,.74); }
body.glowmatch-page .glowmatch-facts-grid p { margin:0; }
body.glowmatch-page .glowmatch-facts-grid strong { color:var(--gold-light) !important; }
body.glowmatch-page .footer-brand-name { color:var(--cream) !important; font-family:var(--font-sans); font-weight:700; letter-spacing:-.05em; }
body.glowmatch-page .footer-brand-sub, body.glowmatch-page .footer-badge { color:var(--gold-light) !important; }
body.glowmatch-page .footer-contact-item { display:none !important; }
body.glowmatch-page .footer-copy { color:rgba(249,246,251,.46) !important; }
body.glowmatch-page .mobile-menu { background:rgba(46,35,57,.98) !important; }

body.glowmatch-page .glowmatch-legacy { display:none !important; }
body.glowmatch-page .video-review-section { display:none !important; }
body.glowmatch-page .mob-cta-bar { display:none !important; }
body.glowmatch-page .nav-phone,
body.glowmatch-page .hero-call-line,
body.glowmatch-page .float-call-btn { display:flex !important; }
body.glowmatch-page .footer-contact-item.footer-phone { display:block !important; }
body.glowmatch-page .footer-phone a { color:var(--gold-light) !important; text-decoration:none; }
body.glowmatch-page .hero-call-line { color:rgba(249,246,251,.78) !important; text-decoration:none; gap:.45rem; }
body.glowmatch-page .hero-call-line strong { color:var(--gold-light); }
body.glowmatch-page .float-call-btn { align-items:center; justify-content:center; }
@media (max-width:768px) {
  body.glowmatch-page .mob-cta-bar { display:flex !important; }
  body.glowmatch-page .hero-bg { background-image:url('hero-glowmatch-mobile.jpg'); background-position:center center; }
}
body.glowmatch-page .glowmatch-guide-hero { background:linear-gradient(110deg, var(--charcoal) 0%, var(--charcoal-3) 100%) !important; }
body.glowmatch-page .glowmatch-guide-hero .page-hero-h1 { font-family:var(--font-sans); letter-spacing:-.06em; }
body.glowmatch-page .glowmatch-guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
body.glowmatch-page .glowmatch-guide-card { min-height:260px; padding:1.65rem; display:flex; flex-direction:column; background:#FFFBFE; border:1px solid rgba(57,44,69,.11); border-radius:22px; transition:transform .55s var(--ease), box-shadow .55s var(--ease), border-color .35s var(--ease); }
body.glowmatch-page .glowmatch-guide-card:hover { transform:translateY(-7px); border-color:var(--gold); box-shadow:0 22px 55px rgba(57,44,69,.13); }
body.glowmatch-page .glowmatch-guide-card > span { color:var(--gold-dark); font-size:.68rem; letter-spacing:.16em; font-weight:700; }
body.glowmatch-page .glowmatch-guide-card h3 { margin:2.2rem 0 .65rem; color:var(--charcoal); font-size:1.25rem; letter-spacing:-.03em; }
body.glowmatch-page .glowmatch-guide-card p { color:var(--text-warm); line-height:1.7; font-size:.9rem; }
body.glowmatch-page .glowmatch-guide-card b { margin-top:auto; padding-top:1.5rem; color:var(--charcoal); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
body.glowmatch-page .glowmatch-guide-card i { color:var(--gold-dark); font-style:normal; margin-left:.3rem; }
body.glowmatch-page .glowmatch-match-band { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:end; }

body.glowmatch-page .consent-field { margin-top:.2rem; }
body.glowmatch-page .consent-label { display:flex; gap:.65rem; align-items:flex-start; text-transform:none !important; letter-spacing:0 !important; font-size:.78rem !important; line-height:1.55; color:var(--text-warm) !important; }
body.glowmatch-page .consent-label input { margin-top:.2rem; accent-color:var(--charcoal); }
body.glowmatch-page .lead-disclosure { margin-top:1.5rem; padding:1rem 1.15rem; border-left:3px solid var(--gold); background:rgba(210,179,130,.10); color:var(--text-warm); font-size:.82rem; line-height:1.7; }
body.glowmatch-page .legal-copy { max-width:760px; }
body.glowmatch-page .legal-copy p { color:var(--text-warm); font-size:1rem; line-height:1.85; margin:0 0 1.35rem; }
body.glowmatch-page .legal-copy strong { color:var(--charcoal); }
body.glowmatch-page .glowmatch-service-visual { margin:0 0 2.5rem; border-radius:var(--radius-xl); overflow:hidden; border:1px solid rgba(210,179,130,.38); background:var(--beige); box-shadow:0 18px 50px rgba(57,44,69,.12); }
body.glowmatch-page .glowmatch-service-visual img { display:block; width:100%; max-height:520px; object-fit:cover; }
body.glowmatch-page .glowmatch-about-visual { max-width:1180px; margin:0 auto 2.5rem; padding:0 var(--gutter); }
body.glowmatch-page .glowmatch-about-visual img { display:block; width:100%; max-height:540px; object-fit:cover; object-position:center 35%; border-radius:var(--radius-xl); border:1px solid rgba(210,179,130,.38); box-shadow:0 18px 50px rgba(57,44,69,.12); }

@media (max-width: 860px) {
  body.glowmatch-page .glowmatch-guide-grid, body.glowmatch-page .glowmatch-match-band, body.glowmatch-page .glowmatch-facts-grid { grid-template-columns:1fr; }
}
@media (max-width: 768px) {
  body.glowmatch-page .hero-content { padding-top:8rem; }
  body.glowmatch-page .hero-h1 { font-size:clamp(3rem,14vw,5.5rem); }
  body.glowmatch-page .glowmatch-guide-card { min-height:220px; }
}

/* ---- DECORATIVE LINE ---- */
.menu-divider {
  width: 40px; height: 1px; background: rgba(210,179,130,0.25);
  margin: 0.75rem auto;
  opacity: 0; transition: opacity 0.5s 0.38s;
}
.mobile-menu.open .menu-divider { opacity: 1; }

/* ============================================================
   BUTTONS
   ============================================================ */
.btn {
  display: inline-flex; align-items: center; gap: 0.7rem;
  border-radius: var(--radius-pill);
  font-family: var(--font-sans); font-size: 0.78rem; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase;
  transition: all 0.4s var(--spring);
  cursor: pointer; white-space: nowrap; text-decoration: none;
}
.btn-icon {
  width: 26px; height: 26px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; transition: transform 0.35s var(--spring);
}
.btn:hover .btn-icon { transform: translate(2px,-2px) scale(1.1); }
.btn-icon svg { width: 11px; height: 11px; stroke: currentColor; fill: none; stroke-width: 2.5; }

.btn-gold {
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
  color: var(--charcoal); padding: 0.95rem 2rem;
  box-shadow: 0 4px 20px rgba(210,179,130,0.22);
}
.btn-gold .btn-icon { background: rgba(57,44,69,0.12); }
.btn-gold:hover {
  background: linear-gradient(135deg, var(--gold-light) 0%, var(--gold) 100%);
  transform: translateY(-2px); box-shadow: var(--shadow-gold);
  color: var(--charcoal);
}
.btn-outline-gold {
  background: transparent; color: var(--gold);
  border: 1.5px solid rgba(210,179,130,0.4); padding: 0.9rem 1.8rem;
}
.btn-outline-gold:hover {
  background: rgba(210,179,130,0.1); border-color: var(--gold);
  transform: translateY(-1px);
}
.btn-dark { background: var(--charcoal); color: var(--cream); padding: 0.95rem 2rem; }
.btn-dark:hover { background: var(--charcoal-3); transform: translateY(-2px); box-shadow: var(--shadow-dark); }
.btn-rose {
  background: linear-gradient(135deg, var(--rose) 0%, var(--rose-dark) 100%);
  color: var(--white); padding: 0.95rem 2rem;
}
.btn-rose:hover { transform: translateY(-2px); box-shadow: var(--shadow-rose); }
.full-btn { width: 100%; justify-content: center; }

/* ============================================================
   HERO (Homepage)
   ============================================================ */
.hero {
  position: relative; min-height: 100dvh;
  display: flex; align-items: flex-end;
  overflow: hidden; background: var(--charcoal);
}
.hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-bg video, .hero-bg img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center top; display: block;
}
.hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(
    to top,
    rgba(15,10,5,0.96) 0%,
    rgba(15,10,5,0.6) 40%,
    rgba(15,10,5,0.25) 70%,
    rgba(15,10,5,0.1) 100%
  );
}
/* Vignette */
.hero-overlay::after {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 30% 50%, transparent 40%, rgba(15,10,5,0.4) 100%);
}
.hero-content {
  position: relative; z-index: 2;
  padding: 0 var(--gutter) 7rem; width: 100%;
}
.hero-eyebrow {
  display: inline-flex; align-items: center; gap: 0.7rem;
  background: rgba(210,179,130,0.08);
  border: 1px solid rgba(210,179,130,0.18);
  border-radius: var(--radius-pill);
  padding: 0.4rem 1.1rem 0.4rem 0.7rem;
  margin-bottom: 1.8rem; backdrop-filter: blur(8px);
}
.pulse-dot {
  width: 6px; height: 6px; border-radius: 50%; background: var(--gold);
  flex-shrink: 0; animation: pulseDot 2.6s ease-in-out infinite;
}
@keyframes pulseDot {
  0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 0 rgba(210,179,130,0.4)}
  50%{opacity:0.5;transform:scale(1.3);box-shadow:0 0 0 5px rgba(210,179,130,0)}
}
.hero-eyebrow span {
  font-size: 0.66rem; font-weight: 500; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--gold);
}
.hero-h1 {
  font-family: var(--font-serif);
  font-size: clamp(3.2rem, 7.5vw, 7rem);
  font-weight: 400; line-height: 0.97;
  color: var(--cream); margin-bottom: 1.5rem;
  letter-spacing: -0.02em;
}
.hero-h1 em { font-style: italic; color: var(--gold); }
.hero-sub {
  font-size: 1.05rem; color: rgba(249,246,251,0.68);
  line-height: 1.78; max-width: 510px; margin-bottom: 2.75rem;
  font-weight: 300;
}
.hero-btns { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; }
.hero-stats { display: flex; gap: 3rem; margin-top: 3.5rem; flex-wrap: wrap; }
.hero-stat-num {
  font-family: var(--font-serif); font-size: 2.4rem;
  font-weight: 400; color: var(--cream); line-height: 1;
}
.hero-stat-num span { color: var(--gold); }
.hero-stat-label {
  font-size: 0.68rem; color: rgba(249,246,251,0.45);
  letter-spacing: 0.1em; text-transform: uppercase; margin-top: 4px;
}
.hero-scroll-line {
  position: absolute; bottom: 2.5rem; right: var(--gutter);
  display: flex; flex-direction: column; align-items: center; gap: 0.5rem;
  opacity: 0.45;
}
.hero-scroll-line .line { width: 1px; height: 50px; background: var(--gold); animation: lineGrow 2.2s ease-in-out infinite; }
@keyframes lineGrow { 0%{transform:scaleY(0);transform-origin:top;opacity:0} 50%{transform:scaleY(1);opacity:1} 100%{transform:scaleY(0);transform-origin:bottom;opacity:0} }
.hero-scroll-line span { font-size: 0.58rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); writing-mode: vertical-rl; }

/* ============================================================
   PAGE HERO (Inner Pages)
   FIX: proper top padding so content never overlaps nav
   ============================================================ */
.page-hero {
  background: var(--charcoal);
  min-height: 50vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin-top: var(--nav-h);
  padding: 4.5rem var(--gutter) 5.5rem;
  position: relative;
  overflow: hidden;
}
.page-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: 
    radial-gradient(ellipse at 70% 30%, rgba(210,179,130,0.06) 0%, transparent 60%),
    radial-gradient(ellipse at 20% 80%, rgba(212,160,160,0.04) 0%, transparent 50%);
  pointer-events: none;
}
/* Decorative corner accent */
.page-hero::after {
  content: '';
  position: absolute; top: 0; right: 0;
  width: 280px; height: 280px;
  background: radial-gradient(ellipse at top right, rgba(210,179,130,0.07) 0%, transparent 65%);
  pointer-events: none;
}
.page-hero-inner { position: relative; z-index: 2; max-width: 780px; padding-top: 1rem; }
.page-hero-h1 {
  font-family: var(--font-serif);
  font-size: clamp(2.4rem, 4.5vw, 4.2rem);
  font-weight: 400; color: var(--cream);
  line-height: 1.08; margin-bottom: 1.1rem;
  letter-spacing: -0.01em;
}
.page-hero-h1 em, .page-hero-h1 i { font-style: italic; color: var(--gold); }
.page-hero-p {
  color: rgba(249,246,251,0.65); font-size: 1rem;
  line-height: 1.78; max-width: 540px; margin-bottom: 2.25rem;
  font-weight: 300;
}
.breadcrumb {
  position: absolute; top: 1.5rem; left: var(--gutter);
  z-index: 3; font-size: 0.7rem; color: rgba(249,246,251,0.35);
  display: flex; gap: 0.5rem; align-items: center;
}
.breadcrumb a { color: rgba(210,179,130,0.7); text-decoration: none; transition: color 0.3s; }
.breadcrumb a:hover { color: var(--gold); }
.breadcrumb span { color: rgba(255,255,255,0.15); }

/* ============================================================
   TRUST BAR
   ============================================================ */
.trust-bar {
  background: var(--beige);
  border-top: 1px solid rgba(210,179,130,0.25);
  border-bottom: 1px solid rgba(210,179,130,0.25);
  padding: 1.75rem var(--gutter);
  display: flex; align-items: center; justify-content: space-between;
  gap: 1.5rem; flex-wrap: wrap;
}
.trust-item { display: flex; align-items: center; gap: 0.85rem; flex: 1; min-width: 145px; }
.trust-icon {
  width: 40px; height: 40px;
  background: linear-gradient(135deg, var(--gold-pale), var(--beige-mid));
  border-radius: 10px; display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; box-shadow: 0 2px 8px rgba(210,179,130,0.15);
}
.trust-icon svg { width: 18px; height: 18px; stroke: var(--gold-dark); fill: none; stroke-width: 1.5; }
.trust-label { font-size: 0.82rem; font-weight: 600; color: var(--charcoal); line-height: 1.3; }
.trust-sub { font-size: 0.7rem; color: var(--text-warm); margin-top: 1px; }

/* ============================================================
   SECTIONS
   ============================================================ */
.section { padding: 7rem var(--gutter); }
.section-sm { padding: 4rem var(--gutter); }
.section-inner { max-width: 1360px; margin: 0 auto; }

.eyebrow {
  display: inline-flex; align-items: center; gap: 0.6rem;
  font-size: 0.65rem; font-weight: 600; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--gold); margin-bottom: 1rem;
}
.eyebrow::before {
  content: ''; width: 22px; height: 1px;
  background: linear-gradient(90deg, var(--gold-dark), var(--gold));
  display: inline-block; flex-shrink: 0;
}
.section-h2 {
  font-family: var(--font-serif);
  font-size: clamp(2.1rem, 3.5vw, 3.2rem);
  font-weight: 500; line-height: 1.15; color: var(--charcoal);
  letter-spacing: -0.01em;
}
.section-h2 em, .section-h2 i { font-style: italic; color: var(--gold); }
.section-h2.light { color: var(--cream); }
.section-h2.light em, .section-h2.light i { color: var(--gold-light); }
.section-lead { font-size: 1rem; color: var(--text-warm); line-height: 1.82; max-width: 560px; font-weight: 300; }
.section-lead.light { color: var(--footer-text); }
.section-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 3.5rem; flex-wrap: wrap; }
.section-header-left { max-width: 520px; }
.divider { width: 40px; height: 1px; background: linear-gradient(90deg, var(--gold-dark), var(--gold)); margin: 1.25rem 0; }
.divider.light { background: linear-gradient(90deg, rgba(210,179,130,0.5), rgba(210,179,130,0.15)); }
.center { text-align: center; }
.center .section-lead { margin: 0 auto; }
.center .eyebrow { justify-content: center; }

/* ============================================================
   SERVICE CARDS — Feminine elevated
   ============================================================ */
.services-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.25rem; }
.service-card {
  background: var(--white);
  border: 1px solid rgba(210,179,130,0.2);
  border-radius: var(--radius-lg); padding: 2.25rem 1.85rem;
  position: relative; overflow: hidden;
  text-decoration: none; color: inherit;
  display: flex; flex-direction: column;
  transition: all 0.45s var(--ease);
}
.service-card::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(160deg, var(--charcoal) 0%, var(--charcoal-2) 100%);
  transform: scaleY(0); transform-origin: bottom;
  transition: transform 0.55s var(--ease); z-index: 0;
}
/* Shimmer line at top */
.service-card::after {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: 0; transition: opacity 0.45s;
}
.service-card:hover { border-color: transparent; transform: translateY(-5px); box-shadow: var(--shadow-dark); }
.service-card:hover::before { transform: scaleY(1); }
.service-card:hover::after { opacity: 1; }
.service-card:hover .sc-num,.service-card:hover .sc-title,.service-card:hover .sc-desc,.service-card:hover .sc-link { color: var(--cream); }
.service-card:hover .sc-icon { background: rgba(210,179,130,0.1); border-color: rgba(210,179,130,0.2); }
.service-card:hover .sc-num { color: var(--gold); }
.sc-num { font-family: var(--font-alt); font-size: 0.7rem; color: rgba(210,179,130,0.6); letter-spacing: 0.15em; margin-bottom: 1.2rem; position: relative; z-index: 1; transition: color 0.4s; }
.sc-icon { width: 50px; height: 50px; background: var(--beige); border: 1px solid rgba(210,179,130,0.18); border-radius: 14px; display: flex; align-items: center; justify-content: center; margin-bottom: 1.2rem; position: relative; z-index: 1; transition: all 0.4s; }
.sc-icon svg { width: 22px; height: 22px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
.sc-title { font-family: var(--font-serif); font-size: 1.15rem; font-weight: 500; color: var(--charcoal); margin-bottom: 0.65rem; position: relative; z-index: 1; transition: color 0.4s; line-height: 1.3; }
.sc-desc { font-size: 0.83rem; color: var(--text-warm); line-height: 1.72; margin-bottom: 1.2rem; flex: 1; position: relative; z-index: 1; transition: color 0.4s; font-weight: 300; }
.sc-link { font-size: 0.7rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gold); position: relative; z-index: 1; transition: color 0.4s; }

/* ============================================================
   REVIEWS
   ============================================================ */
.reviews-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }
.review-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: var(--radius-lg); padding: 2rem;
  position: relative; overflow: hidden;
  transition: border-color 0.3s, transform 0.4s var(--ease);
}
.review-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(210,179,130,0.15), transparent);
}
.review-card:hover { border-color: rgba(210,179,130,0.2); transform: translateY(-3px); }
.review-top { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.1rem; }
.reviewer-avatar {
  width: 40px; height: 40px; border-radius: 50%;
  background: linear-gradient(135deg, rgba(210,179,130,0.15), rgba(212,160,160,0.1));
  border: 1px solid rgba(210,179,130,0.2);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-serif); font-size: 1rem; font-weight: 500; color: var(--gold); flex-shrink: 0;
}
.reviewer-name { font-size: 0.88rem; font-weight: 600; color: var(--cream); }
.review-stars { color: var(--star); font-size: 0.72rem; margin-top: 1px; letter-spacing: 0.05em; }
.google-badge-sm {
  margin-left: auto; width: 24px; height: 24px;
  background: #4285F4; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 0.58rem; font-weight: 700; color: #fff; flex-shrink: 0;
}
.review-text {
  font-family: var(--font-alt); font-size: 0.95rem; font-style: italic;
  color: rgba(249,246,251,0.75); line-height: 1.78; margin-bottom: 1rem;
}
.review-service { font-size: 0.68rem; color: var(--gold); font-weight: 500; letter-spacing: 0.06em; }
.google-rating-badge {
  display: flex; align-items: center; gap: 0.85rem;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07);
  border-radius: var(--radius-md); padding: 0.9rem 1.3rem;
}
.g-logo { width: 34px; height: 34px; background: #4285F4; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.95rem; font-weight: 700; color: #fff; flex-shrink: 0; }
.g-stars { color: var(--star); font-size: 0.92rem; }
.g-text { font-size: 0.73rem; color: var(--footer-text); margin-top: 1px; }
.reviews-header { display: flex; align-items: center; gap: 3rem; margin-bottom: 3rem; flex-wrap: wrap; }

/* ============================================================
   FAQ
   ============================================================ */
.faq-list { display: flex; flex-direction: column; }
.faq-item { border-bottom: 1px solid rgba(210,179,130,0.15); }
.faq-q {
  width: 100%; background: none; border: none;
  padding: 1.35rem 0; text-align: left;
  font-family: var(--font-sans); font-size: 0.9rem; font-weight: 600;
  color: var(--charcoal); cursor: pointer;
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  transition: color 0.3s;
}
.faq-q:hover { color: var(--gold-dark); }
.faq-icon {
  width: 24px; height: 24px; border: 1px solid rgba(210,179,130,0.4);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; color: var(--gold); font-size: 0.85rem;
  transition: all 0.4s var(--ease);
}
.faq-item.open .faq-icon {
  transform: rotate(45deg);
  background: linear-gradient(135deg, var(--gold), var(--gold-dark));
  color: var(--charcoal); border-color: transparent;
}
.faq-a {
  font-size: 0.875rem; color: var(--text-warm); line-height: 1.82;
  padding: 0 0 1.35rem; max-height: 0; overflow: hidden;
  transition: max-height 0.55s var(--ease);
  font-weight: 300;
}
.faq-item.open .faq-a { max-height: 320px; }

/* ============================================================
   CONTENT BODY + SIDEBAR
   ============================================================ */
.content-body h2 { font-family: var(--font-serif); font-size: 1.65rem; font-weight: 500; color: var(--charcoal); margin: 2.75rem 0 1rem; line-height: 1.25; }
.content-body h2 em { font-style: italic; color: var(--gold); }
.content-body h3 { font-family: var(--font-serif); font-size: 1.2rem; font-weight: 500; color: var(--charcoal); margin: 2.25rem 0 0.8rem; }
.content-body p { font-size: 0.92rem; color: var(--text-warm); line-height: 1.88; margin-bottom: 1rem; font-weight: 300; }
.content-body ul { margin: 1rem 0 1.5rem; display: flex; flex-direction: column; }
.content-body ul li { font-size: 0.92rem; color: var(--text-warm); line-height: 1.72; padding: 0.5rem 0; border-bottom: 1px solid rgba(210,179,130,0.12); display: flex; gap: 0.8rem; font-weight: 300; }
.content-body ul li::before { content: '→'; color: var(--gold); flex-shrink: 0; font-weight: 500; }
.callout-box { background: linear-gradient(135deg, var(--beige), var(--cream-deep)); border-left: 3px solid var(--gold); border-radius: 0 var(--radius-md) var(--radius-md) 0; padding: 1.5rem 1.85rem; margin: 2.25rem 0; }
.callout-box p { margin: 0; font-size: 0.9rem; color: var(--charcoal); }
.callout-box strong { color: var(--gold-dark); }

.sticky-sidebar { position: sticky; top: calc(var(--nav-h) + 28px); display: flex; flex-direction: column; gap: 1.5rem; }
.sidebar-cta-card {
  background: linear-gradient(160deg, var(--charcoal-2) 0%, var(--charcoal) 100%);
  border-radius: var(--radius-lg); padding: 2.25rem;
  position: relative; overflow: hidden;
  border: 1px solid rgba(210,179,130,0.12);
}
.sidebar-cta-card::before { content: ''; position: absolute; top: -50%; right: -20%; width: 220px; height: 220px; background: radial-gradient(circle, rgba(210,179,130,0.07) 0%, transparent 70%); pointer-events: none; }
.sidebar-cta-card h3 { font-family: var(--font-serif); font-size: 1.25rem; font-weight: 500; color: var(--cream); margin-bottom: 0.75rem; line-height: 1.3; }
.sidebar-cta-card p { font-size: 0.84rem; color: var(--footer-text); line-height: 1.68; margin-bottom: 1.5rem; font-weight: 300; }
.sidebar-info-card { background: linear-gradient(135deg, var(--beige), var(--cream-deep)); border: 1px solid rgba(210,179,130,0.2); border-radius: var(--radius-lg); padding: 1.75rem; }
.sidebar-info-card h4 { font-size: 0.65rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); margin-bottom: 1rem; }
.sidebar-info-row { display: flex; gap: 0.75rem; align-items: flex-start; margin-bottom: 0.75rem; font-size: 0.84rem; color: var(--text-warm); font-weight: 300; }
.sidebar-info-row a { color: var(--gold); text-decoration: none; }
.sidebar-services-list { background: var(--white); border: 1px solid rgba(210,179,130,0.18); border-radius: var(--radius-lg); overflow: hidden; }
.sidebar-services-list h4 { font-size: 0.65rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); padding: 1.25rem 1.5rem 0.75rem; border-bottom: 1px solid rgba(210,179,130,0.1); }
.sidebar-services-list a { display: flex; align-items: center; justify-content: space-between; padding: 0.75rem 1.5rem; font-size: 0.83rem; color: var(--text-warm); border-bottom: 1px solid rgba(210,179,130,0.08); transition: all 0.3s; text-decoration: none; font-weight: 300; }
.sidebar-services-list a:last-child { border-bottom: none; }
.sidebar-services-list a:hover { background: var(--beige); color: var(--charcoal); padding-left: 1.85rem; }
.sidebar-services-list a span { color: var(--gold); font-size: 0.75rem; }

/* ============================================================
   BEFORE/AFTER
   ============================================================ */
.ba-card { border-radius: var(--radius-lg); overflow: hidden; background: var(--charcoal-2); border: 1px solid rgba(210,179,130,0.1); }
.ba-placeholder { height: 260px; background: linear-gradient(135deg, var(--charcoal), var(--charcoal-2)); display: flex; align-items: center; justify-content: center; position: relative; }
.ba-placeholder svg { width: 36px; height: 36px; stroke: rgba(210,179,130,0.2); fill: none; stroke-width: 1; }
.ba-badge { position: absolute; top: 1rem; left: 1rem; background: linear-gradient(135deg, var(--gold), var(--gold-dark)); color: var(--charcoal); font-size: 0.63rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.3rem 0.8rem; border-radius: var(--radius-pill); }
.ba-body { padding: 1.25rem 1.5rem; }
.ba-title { font-family: var(--font-serif); font-size: 0.95rem; font-weight: 500; color: var(--cream); margin-bottom: 0.25rem; }
.ba-sub { font-size: 0.73rem; color: var(--footer-text); font-weight: 300; }

/* ============================================================
   EXPERT BLOCK
   ============================================================ */
.expert-block { background: linear-gradient(160deg, var(--charcoal-2) 0%, var(--charcoal) 100%); border: 1px solid rgba(210,179,130,0.15); border-radius: var(--radius-lg); padding: 2.75rem; position: relative; overflow: hidden; }
.expert-block::before { content: ''; position: absolute; top: -40%; right: -10%; width: 300px; height: 300px; background: radial-gradient(circle, rgba(210,179,130,0.05) 0%, transparent 70%); pointer-events: none; }
.expert-tag { display: inline-flex; align-items: center; gap: 0.5rem; background: rgba(210,179,130,0.08); border: 1px solid rgba(210,179,130,0.2); border-radius: var(--radius-pill); padding: 0.3rem 0.9rem; font-size: 0.63rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gold); margin-bottom: 1.1rem; }
.expert-block h3 { font-family: var(--font-serif); font-size: 1.25rem; font-weight: 500; color: var(--cream); margin-bottom: 0.85rem; line-height: 1.35; }
.expert-block > p { font-size: 0.88rem; color: var(--footer-text); line-height: 1.78; margin-bottom: 1.75rem; font-weight: 300; font-style: italic; }
.compare-row { display: flex; gap: 1.25rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.compare-item { flex: 1; min-width: 150px; background: rgba(255,255,255,0.03); border-radius: var(--radius-md); padding: 1.35rem; }
.compare-item.highlight { border: 1px solid rgba(210,179,130,0.18); background: rgba(210,179,130,0.04); }
.compare-item .ci-icon { font-size: 1.25rem; margin-bottom: 0.5rem; }
.compare-item .ci-label { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gold); margin-bottom: 0.4rem; }
.compare-item .ci-text { font-size: 0.83rem; color: var(--footer-text); line-height: 1.58; font-weight: 300; }
.compare-item .ci-text strong { color: var(--cream); font-weight: 500; }
.verdict-bar { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; background: rgba(210,179,130,0.05); border: 1px solid rgba(210,179,130,0.1); border-radius: var(--radius-md); padding: 0.9rem 1.2rem; font-size: 0.8rem; }
.verdict-bar .v-label { font-weight: 600; color: var(--footer-text); }
.verdict-bar .v-wax { color: rgba(249,246,251,0.3); text-decoration: line-through; }
.verdict-bar .v-sep { color: rgba(210,179,130,0.2); }
.verdict-bar .v-laser { color: var(--gold); font-weight: 600; }
.verdict-bar .v-tag { background: linear-gradient(135deg, var(--gold), var(--gold-dark)); color: var(--charcoal); font-size: 0.63rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.25rem 0.8rem; border-radius: var(--radius-pill); margin-left: auto; }

/* ============================================================
   PILL TAG
   ============================================================ */
.pill-tag { display: inline-flex; align-items: center; background: var(--gold-pale); border: 1px solid rgba(210,179,130,0.25); color: var(--text-warm); font-size: 0.72rem; font-weight: 500; padding: 0.3rem 0.9rem; border-radius: var(--radius-pill); text-decoration: none; transition: all 0.3s; }
.pill-tag:hover { background: linear-gradient(135deg, var(--gold), var(--gold-dark)); color: var(--charcoal); border-color: transparent; }

/* ---- COMPARISON TABLE ---- */
.compare-table { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--white); border: 1px solid rgba(210,179,130,0.22); border-radius: var(--radius-lg); overflow: hidden; margin: 1.5rem 0 2rem; font-family: var(--font-sans); }
.compare-table th, .compare-table td { padding: 0.95rem 1.1rem; text-align: left; font-size: 0.83rem; border-bottom: 1px solid rgba(210,179,130,0.14); }
.compare-table th { background: var(--charcoal); color: var(--cream); font-weight: 600; font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; }
.compare-table th:first-child, .compare-table td:first-child { color: var(--text-mid); font-weight: 600; width: 34%; }
.compare-table td { color: var(--text-warm); font-weight: 300; }
.compare-table tr:last-child td { border-bottom: none; }
.compare-table tr:nth-child(even) td { background: rgba(240,232,224,0.35); }
.compare-table td.hl, .compare-table th.hl { background: var(--gold-pale); }
.compare-table td.hl { color: var(--gold-dark); font-weight: 600; }
@media(max-width:640px){ .compare-table th, .compare-table td { padding: 0.7rem 0.6rem; font-size: 0.76rem; } }

/* ============================================================
   CITY SERVICE PILLS
   ============================================================ */
.city-service-pill { background: var(--white); border: 1px solid rgba(210,179,130,0.2); border-radius: var(--radius-md); padding: 0.95rem 1.25rem; display: flex; align-items: center; gap: 0.75rem; font-size: 0.87rem; font-weight: 500; color: var(--charcoal); text-decoration: none; transition: all 0.3s; }
.city-service-pill:hover { background: linear-gradient(135deg, var(--gold-pale), var(--beige)); border-color: var(--gold); transform: translateX(3px); }
.city-service-pill::before { content: '→'; color: var(--gold); font-size: 0.78rem; }

/* ============================================================
   FLOATING ELEMENTS
   ============================================================ */
.float-whatsapp { position: fixed; bottom: 2rem; right: 2rem; z-index: 500; width: 56px; height: 56px; border-radius: 50%; background: linear-gradient(135deg, #25D366, #128C7E); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 24px rgba(37,211,102,0.4); transition: all 0.35s var(--spring); text-decoration: none; }
.float-whatsapp:hover { transform: scale(1.12); box-shadow: 0 8px 32px rgba(37,211,102,0.55); }
.float-whatsapp svg { width: 26px; height: 26px; fill: currentColor; }
.sticky-book-bar { position: fixed; bottom: 0; left: 0; right: 0; z-index: 490; background: rgba(20,16,12,0.97); backdrop-filter: blur(20px); padding: 0.9rem 2rem; display: none; align-items: center; justify-content: space-between; border-top: 1px solid rgba(210,179,130,0.12); }
.sticky-book-bar.visible { display: flex; }
.sticky-book-bar p { font-size: 0.84rem; color: var(--footer-text); }
.sticky-book-bar p strong { color: var(--cream); }

/* ============================================================
   SCROLL REVEAL
   ============================================================ */
.reveal { opacity: 1; transform: translateY(0); transition: opacity 0.85s var(--ease), transform 0.85s var(--ease); }
.reveal.in { opacity: 1; transform: translateY(0); }
/* GSAP handles animation — elements visible by default for fast load */
.reveal-d1{transition-delay:.1s} .reveal-d2{transition-delay:.2s} .reveal-d3{transition-delay:.3s} .reveal-d4{transition-delay:.4s} .reveal-d5{transition-delay:.5s}

/* ============================================================
   FOOTER
   ============================================================ */
.footer { background: var(--charcoal); padding: 6rem var(--gutter) 2.5rem; position: relative; overflow: hidden; }
.footer::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(210,179,130,0.2), transparent); }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 1.4fr; gap: 3.5rem; margin-bottom: 4rem; }
.footer-brand-name { font-family: var(--font-serif); font-size: 1.45rem; font-weight: 500; color: var(--cream); line-height: 1.2; letter-spacing: 0.01em; }
.footer-brand-sub { font-size: 0.58rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); display: block; margin: 5px 0 1.2rem; }
.footer-brand-desc { font-size: 0.83rem; color: var(--footer-text); line-height: 1.75; max-width: 270px; font-weight: 300; }
.footer-col h4 { font-size: 0.62rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); margin-bottom: 1.2rem; }
.footer-col ul li { margin-bottom: 0.55rem; }
.footer-col ul li a { font-size: 0.83rem; color: var(--footer-text); transition: color 0.3s; text-decoration: none; font-weight: 300; }
.footer-col ul li a:hover { color: var(--gold); }
.footer-contact-item { font-size: 0.83rem; color: var(--footer-text); line-height: 1.65; margin-bottom: 0.65rem; font-weight: 300; }
.footer-contact-item a { color: var(--gold); text-decoration: none; transition: color 0.3s; }
.footer-contact-item a:hover { color: var(--gold-light); }
.footer-bottom { border-top: 1px solid rgba(210,179,130,0.08); padding-top: 2rem; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; }
.footer-copy { font-size: 0.74rem; color: rgba(200,180,158,0.3); }
.footer-copy a { color: var(--gold); text-decoration: none; }
.footer-badges { display: flex; gap: 0.9rem; align-items: center; flex-wrap: wrap; }
.footer-badge { font-size: 0.66rem; color: rgba(200,180,158,0.35); background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.05); padding: 0.25rem 0.8rem; border-radius: var(--radius-pill); }

/* ============================================================
   UTILITY
   ============================================================ */
.bg-cream { background: var(--cream); }
.bg-beige { background: var(--beige); }
.bg-dark { background: var(--charcoal); }
.bg-dark-2 { background: var(--charcoal-2); }
.gold-border-top { border-top: 1px solid rgba(210,179,130,0.2); }
.gold-border-bottom { border-bottom: 1px solid rgba(210,179,130,0.2); }

/* ============================================================
   RESPONSIVE — Mobile-First Fixes
   ============================================================ */
@media (max-width: 1280px) {
  .services-grid { grid-template-columns: repeat(3,1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr 1fr; gap: 2.5rem; }
  .footer-grid > *:first-child { grid-column: span 3; }
}

@media (max-width: 1024px) {
  :root { --gutter: 2rem; }
  .section { padding: 5rem var(--gutter); }
  .section-sm { padding: 3rem var(--gutter); }
  .nav { padding: 0 1.75rem; }
  .nav-center, .nav-phone { display: none; }
  .nav-burger { display: flex; }
  .btn-nav { font-size: 0.68rem; padding: 0.5rem 1.1rem; }
  .page-hero {
    padding: 3.5rem var(--gutter) 4rem;
    min-height: 44vh;
  }
  .breadcrumb { left: var(--gutter); }
  .hero-content { padding: 0 var(--gutter) 5rem; }
  .hero-scroll-line { display: none; }
  .hero-stats { gap: 1.75rem; }
  .trust-bar { padding: 1.75rem var(--gutter); gap: 1.25rem; }
  .footer { padding: 4rem var(--gutter) 2rem; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .footer-grid > *:first-child { grid-column: span 2; }
  .services-grid { grid-template-columns: repeat(2,1fr); }
  .reviews-grid { grid-template-columns: 1fr; }
  .sticky-sidebar { position: static; }
}

@media (max-width: 768px) {
  :root { --gutter: 1.5rem; }
  .section { padding: 4rem var(--gutter); }
  .hero-h1 { font-size: clamp(2.8rem,10vw,4.5rem); line-height: 1.0; }
  .hero-content { padding: 0 var(--gutter) 4rem; }
  .hero-stats { gap: 1.25rem; }
  .hero-stat-num { font-size: 1.8rem; }
  .page-hero {
    padding: 3rem var(--gutter) 3.5rem;
    min-height: 42vh;
  }
  .page-hero-h1 { font-size: clamp(2rem,7vw,3rem); }
  .trust-bar { flex-direction: column; align-items: flex-start; gap: 1rem; }
  .trust-item { min-width: unset; }
  .services-grid { grid-template-columns: 1fr; gap: 1rem; }
  .footer-grid { grid-template-columns: 1fr; gap: 1.75rem; }
  .footer-grid > *:first-child { grid-column: span 1; }
}

@media (max-width: 640px) {
  .hero-btns { flex-direction: column; align-items: flex-start; gap: 0.85rem; }
  .hero-btns .btn { width: 100%; justify-content: center; }
  .btn-nav { display: none; }
  .sticky-book-bar { padding: 0.85rem 1.5rem; }
  .page-hero { min-height: 36vh; padding: 2.5rem var(--gutter) 3rem; }
}

/* Contact page standalone grid */
.contact-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 5rem;
  align-items: start;
  padding: 5rem var(--gutter);
  max-width: 1300px;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .contact-grid { grid-template-columns: 1fr !important; gap: 3rem !important; padding: 4rem var(--gutter) !important; }
}
@media (max-width: 640px) {
  .contact-grid { padding: 3rem var(--gutter) !important; }
}


/* ============================================================
   MOBILE STICKY PHONE BAR (bottom of screen on mobile)
   ============================================================ */
.mobile-phone-bar {
  display: none;
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 480;
  background: var(--charcoal);
  border-top: 1px solid rgba(210,179,130,0.15);
  padding: 0.75rem 1rem;
  gap: 0.6rem;
}
@media (max-width: 768px) {
  .mobile-phone-bar { display: flex; }
  .float-whatsapp { bottom: 5.5rem; }
  .sticky-book-bar { display: none !important; }
}
.mob-bar-btn {
  flex: 1; padding: 0.85rem 0.5rem;
  border-radius: var(--radius-md); border: none; cursor: pointer;
  font-family: var(--font-sans); font-size: 0.78rem; font-weight: 600;
  letter-spacing: 0.05em; text-align: center; text-decoration: none;
  display: flex; align-items: center; justify-content: center; gap: 0.4rem;
  transition: all 0.25s;
}
.mob-bar-call {
  background: rgba(255,255,255,0.08); color: var(--gold);
  border: 1px solid rgba(210,179,130,0.25);
}
.mob-bar-book {
  background: linear-gradient(135deg, var(--gold), var(--gold-dark));
  color: var(--charcoal);
}
.mob-bar-btn svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2; }

/* ============================================================
   TRUST STRIP (above fold on inner pages)
   ============================================================ */
.trust-strip {
  background: var(--charcoal);
  border-bottom: 1px solid rgba(210,179,130,0.12);
  padding: 0.55rem var(--gutter);
  display: flex; align-items: center; justify-content: center;
  gap: 2rem; flex-wrap: wrap; margin-top: var(--nav-h);
}
.trust-strip-item {
  font-size: 0.66rem; font-weight: 500; letter-spacing: 0.08em;
  color: rgba(210,179,130,0.8); text-transform: uppercase;
  display: flex; align-items: center; gap: 0.4rem;
}
.trust-strip-item::before { content:"✓"; color:var(--gold); font-size:0.7rem; }

/* ============================================================
   PERFORMANCE: Nav transition on mobile
   ============================================================ */
.nav { transition: background 0.5s var(--ease), backdrop-filter 0.5s, box-shadow 0.5s, transform 0.35s var(--ease); }

/* ============================================================
   URGENCY SECTION
   ============================================================ */
.urgency-banner {
  background: linear-gradient(135deg, var(--charcoal) 0%, #2a1a10 100%);
  border-top: 1px solid rgba(210,179,130,0.2);
  border-bottom: 1px solid rgba(210,179,130,0.2);
  padding: 1.25rem var(--gutter);
  display: flex; align-items: center; justify-content: center;
  gap: 1.5rem; flex-wrap: wrap; text-align: center;
}
.urgency-banner p { font-size: 0.88rem; color: var(--footer-text); }
.urgency-banner strong { color: var(--gold); }
.urgency-pulse {
  width: 8px; height: 8px; border-radius: 50%; background: var(--rose);
  animation: pulseDot 2s ease-in-out infinite; flex-shrink: 0;
}


/* ============================================================
   GSAP ANIMATION HELPERS
   ============================================================ */
/* GSAP will control opacity/transform - hide by default */
.hero-content > * { will-change: transform; }
.service-card { will-change: transform; }
.btn-gold, .btn-nav { will-change: transform; }

/* prefers-reduced-motion safety */
@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal-d1, .reveal-d2, .reveal-d3, .reveal-d4, .reveal-d5 {
    opacity: 1 !important; transform: none !important;
    transition: none !important;
  }

  * { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* ============================================================
   PERFORMANCE ENHANCEMENTS
   ============================================================ */
/* Lazy image placeholder */
img[loading="lazy"] { background: var(--beige); }

/* Font display swap */
@font-face { font-display: swap; }

/* Video element optimization */
.hero-bg video { 
  will-change: transform;
  transform: translateZ(0);
}

/* ============================================================
   PREMIUM ANIMATION SYSTEM v7 — $50K Design Level
   Stitch Design Taste × High-End Visual Design × GSAP
   ============================================================ */

/* Remove all old broken mobile bars */
.mobile-phone-bar, .sticky-book-bar { display: none !important; }
.float-whatsapp { display: none !important; }

/* ---- CLEAN MOBILE CTA BAR ---- */
.mob-cta-bar {
  display: none;
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 490;
  background: rgba(46,35,57,0.97);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-top: 1px solid rgba(210,179,130,0.15);
  padding: 0.75rem 1.25rem;
  gap: 0.7rem;
  align-items: center;
  /* Safe area for iPhone home bar */
  padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
}
@media (max-width: 768px) {
  .mob-cta-bar { display: flex; }
}
.mob-cta-phone {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.8rem 1.1rem;
  background: rgba(210,179,130,0.08);
  border: 1px solid rgba(210,179,130,0.2);
  border-radius: var(--radius-pill);
  color: var(--gold);
  font-size: 0.78rem; font-weight: 600; letter-spacing: 0.06em;
  text-decoration: none; white-space: nowrap;
  transition: all 0.3s var(--ease);
}
.mob-cta-phone:hover, .mob-cta-phone:active {
  background: rgba(210,179,130,0.18); color: var(--gold-light);
}
.mob-cta-book {
  flex: 1;
  display: flex; align-items: center; justify-content: center;
  padding: 0.85rem 1rem;
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
  border-radius: var(--radius-pill);
  color: var(--charcoal);
  font-size: 0.78rem; font-weight: 700; letter-spacing: 0.07em;
  text-transform: uppercase; text-decoration: none;
  transition: all 0.35s var(--spring);
  box-shadow: 0 2px 16px rgba(210,179,130,0.25);
}
.mob-cta-book:hover, .mob-cta-book:active {
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  transform: scale(1.02);
}

/* ---- PREMIUM TEXT GRADIENT ---- */
.text-gold-grad {
  background: linear-gradient(135deg, var(--gold-light) 0%, var(--gold) 50%, var(--gold-dark) 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ---- GSAP SPLIT TEXT HELPERS ---- */
.char-wrap { overflow: hidden; display: inline-block; }
.char { display: inline-block; will-change: transform; }

/* ---- AMBIENT GLOW on cards ---- */
.service-card::after {
  content: '';
  position: absolute; bottom: -30px; left: 50%;
  transform: translateX(-50%);
  width: 60%; height: 30px;
  background: radial-gradient(ellipse, rgba(210,179,130,0.12) 0%, transparent 70%);
  filter: blur(8px);
  pointer-events: none;
  opacity: 0; transition: opacity 0.4s;
}
.service-card:hover::after { opacity: 1; }

/* ---- SCROLL PROGRESS BAR ---- */
.scroll-progress {
  position: fixed; top: 0; left: 0; height: 2px; z-index: 9999;
  background: linear-gradient(90deg, var(--gold-dark), var(--gold), var(--gold-light));
  transform-origin: left; transform: scaleX(0);
  will-change: transform;
}

/* ---- LOCATION HERO GRADIENT ---- */
.loc-hero-grad {
  background: linear-gradient(160deg, var(--charcoal) 0%, #1a0f08 60%, var(--charcoal) 100%);
}

/* ---- STAT COUNTER CARDS ---- */
.stat-card-premium {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(210,179,130,0.12);
  border-radius: var(--radius-lg);
  padding: 1.75rem;
  position: relative; overflow: hidden;
  transition: border-color 0.3s, transform 0.4s var(--ease);
}
.stat-card-premium::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: 0; transition: opacity 0.4s;
}
.stat-card-premium:hover { border-color: rgba(210,179,130,0.25); transform: translateY(-4px); }
.stat-card-premium:hover::before { opacity: 1; }

/* ---- LOCATION MAP EMBED ---- */
.map-wrap {
  border-radius: var(--radius-lg); overflow: hidden;
  border: 1px solid rgba(210,179,130,0.18);
  box-shadow: var(--shadow-gold);
}
.map-wrap iframe { display: block; }

/* ---- LOCATION SERVICE PILLS (premium hover) ---- */
.loc-service-pill {
  display: flex; align-items: center; gap: 0.65rem;
  background: var(--white);
  border: 1px solid rgba(210,179,130,0.18);
  border-radius: var(--radius-md);
  padding: 0.9rem 1.2rem;
  font-size: 0.87rem; font-weight: 500;
  color: var(--charcoal); text-decoration: none;
  transition: all 0.35s var(--ease);
  position: relative; overflow: hidden;
}
.loc-service-pill::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(210,179,130,0.08), rgba(210,179,130,0.03));
  opacity: 0; transition: opacity 0.3s;
}
.loc-service-pill:hover {
  border-color: var(--gold);
  transform: translateX(4px);
  box-shadow: 0 4px 20px rgba(210,179,130,0.12);
}
.loc-service-pill:hover::before { opacity: 1; }
.loc-service-pill-arrow {
  color: var(--gold); font-size: 0.72rem;
  transition: transform 0.3s var(--spring);
  margin-left: auto;
}
.loc-service-pill:hover .loc-service-pill-arrow { transform: translateX(4px); }

/* ---- REVIEW SECTION DARK ---- */
.review-grid-dark {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.25rem;
}
@media(max-width:1024px) { .review-grid-dark { grid-template-columns:1fr!important; } }

/* ---- PAGE TRANSITIONS (GSAP controlled) ---- */
.page-transition-overlay {
  position: fixed; inset: 0; z-index: 9999;
  background: var(--charcoal);
  transform: scaleY(0); transform-origin: bottom;
  pointer-events: none;
}

/* ---- LOCATION TWO COL ---- */
.loc-two-col {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 5rem; align-items: start;
}
@media(max-width:1024px) {
  .loc-two-col { grid-template-columns: 1fr !important; gap: 2.5rem !important; }
}

/* ---- CONTENT SECTION LAYOUT ---- */
.content-with-sidebar {
  display: grid; grid-template-columns: 1fr 380px;
  gap: 5rem; align-items: start;
}
@media(max-width:1200px) {
  .content-with-sidebar { grid-template-columns: 1fr 320px; gap: 3rem; }
}
@media(max-width:1024px) {
  .content-with-sidebar { grid-template-columns: 1fr !important; gap: 2.5rem !important; }
}

/* ---- THREE BENEFIT COLS ---- */
.three-benefits {
  display: grid; grid-template-columns: repeat(3,1fr);
  gap: 1.5rem;
}
@media(max-width:1024px) { .three-benefits { grid-template-columns:1fr!important; } }

/* ---- ENSURE FOOTER NOT PUSHED DOWN BY MOB BAR ---- */
@media(max-width:768px) {
  body { padding-bottom: 80px; }
}

/* ============================================================
   VIDEO REVIEW SECTION — Premium cinema-style
   ============================================================ */
.video-review-section { position: relative; }
.video-review-section::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(210,179,130,0.25), transparent);
}

.video-review-layout {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 4rem;
  align-items: center;
}
@media (max-width: 1024px) {
  .video-review-layout { grid-template-columns: 1fr !important; gap: 2.5rem; }
}

/* Double-bezel video frame — premium look */
.video-outer-shell {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(210,179,130,0.18);
  border-radius: 26px;
  padding: 6px;
  box-shadow:
    0 0 0 1px rgba(210,179,130,0.06),
    0 32px 64px rgba(0,0,0,0.45),
    inset 0 1px 1px rgba(255,255,255,0.06);
}
.video-inner-core {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 9/16;
  background: var(--charcoal-2);
  max-height: 580px;
}
@media (max-width: 768px) {
  .video-inner-core { max-height: 420px; }
}

/* Play overlay */
.video-play-overlay {
  position: absolute; inset: 0;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  transition: opacity 0.4s var(--ease);
  z-index: 2;
}
.video-play-bg {
  position: absolute; inset: 0;
  background: linear-gradient(
    to top,
    rgba(15,10,6,0.8) 0%,
    rgba(15,10,6,0.3) 50%,
    rgba(15,10,6,0.2) 100%
  );
}
.video-play-btn {
  position: relative; z-index: 3;
  width: 74px; height: 74px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
  border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--charcoal);
  box-shadow: 0 8px 40px rgba(210,179,130,0.45), 0 0 0 0 rgba(210,179,130,0.3);
  transition: all 0.35s var(--spring);
  animation: playPulse 2.8s ease-in-out infinite;
}
@keyframes playPulse {
  0%,100% { box-shadow: 0 8px 40px rgba(210,179,130,0.45), 0 0 0 0 rgba(210,179,130,0.25); }
  50%     { box-shadow: 0 8px 40px rgba(210,179,130,0.45), 0 0 0 18px rgba(210,179,130,0); }
}
.video-play-btn:hover {
  transform: scale(1.1);
  background: linear-gradient(135deg, var(--gold-light) 0%, var(--gold) 100%);
  animation: none;
  box-shadow: 0 12px 48px rgba(210,179,130,0.6);
}
.video-play-label {
  position: relative; z-index: 3;
  display: flex; flex-direction: column; align-items: center;
  gap: 0.4rem; margin-top: 1.25rem;
}
.video-lang-badge {
  background: rgba(210,179,130,0.15);
  border: 1px solid rgba(210,179,130,0.3);
  border-radius: var(--radius-pill);
  padding: 0.3rem 0.85rem;
  font-size: 0.68rem; font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--gold);
  backdrop-filter: blur(8px);
}
.video-duration {
  font-size: 0.65rem; color: rgba(249,246,251,0.55);
  letter-spacing: 0.08em; text-transform: uppercase;
}

/* Context card */
.video-review-context { display: flex; flex-direction: column; gap: 1.5rem; }
.video-review-quote-mark {
  font-family: var(--font-serif); font-size: 5rem; line-height: 1;
  color: rgba(210,179,130,0.2); margin-bottom: -1.5rem;
  font-style: italic; font-weight: 400;
}
.video-review-quote {
  font-family: var(--font-alt); font-style: italic;
  font-size: 1.1rem; color: rgba(249,246,251,0.82);
  line-height: 1.78; margin: 0;
  border-left: 2px solid rgba(210,179,130,0.3);
  padding-left: 1.25rem;
}
.video-review-meta {
  display: flex; align-items: center; gap: 0.9rem;
  padding: 1.1rem 1.35rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(210,179,130,0.12);
  border-radius: var(--radius-md);
}
.video-review-avatar {
  width: 44px; height: 44px; border-radius: 50%;
  background: linear-gradient(135deg, rgba(210,179,130,0.2), rgba(210,179,130,0.06));
  border: 1px solid rgba(210,179,130,0.22);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem; flex-shrink: 0;
}
.video-review-name {
  font-size: 0.9rem; font-weight: 600; color: var(--cream);
}
.video-review-service {
  font-size: 0.72rem; color: var(--footer-text); margin-top: 1px;
}
.video-review-stars {
  color: var(--star); font-size: 0.78rem; margin-top: 3px; letter-spacing: 0.05em;
}
.video-review-tags {
  display: flex; flex-wrap: wrap; gap: 0.5rem;
}
.v-tag {
  background: rgba(210,179,130,0.07);
  border: 1px solid rgba(210,179,130,0.18);
  border-radius: var(--radius-pill);
  padding: 0.28rem 0.8rem;
  font-size: 0.66rem; font-weight: 500;
  color: rgba(210,179,130,0.8); letter-spacing: 0.05em;
}
.video-review-cta { margin-top: 0.5rem; }

/* ============================================================
   PRICING SECTION
   ============================================================ */
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 2.5rem;
}
@media (max-width: 1024px) { .pricing-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 640px)  { .pricing-grid { grid-template-columns: 1fr; } }

.price-card {
  background: var(--white);
  border: 1px solid rgba(210,179,130,0.2);
  border-radius: var(--radius-lg);
  padding: 2rem 1.75rem;
  display: flex; flex-direction: column;
  position: relative; overflow: hidden;
  transition: all 0.4s var(--ease);
}
.price-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: 0; transition: opacity 0.4s;
}
.price-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-gold);
  border-color: rgba(210,179,130,0.4);
}
.price-card:hover::before { opacity: 1; }

.price-card-icon {
  width: 48px; height: 48px;
  background: linear-gradient(135deg, var(--gold-pale), var(--beige));
  border: 1px solid rgba(210,179,130,0.2);
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 1.1rem;
  transition: all 0.4s;
}
.price-card-icon svg { width: 22px; height: 22px; stroke: var(--gold-dark); }
.price-card:hover .price-card-icon {
  background: linear-gradient(135deg, var(--gold), var(--gold-dark));
}
.price-card:hover .price-card-icon svg { stroke: var(--charcoal); }

.price-card-body { flex: 1; }
.price-card-name {
  font-family: var(--font-serif);
  font-size: 1.1rem; font-weight: 500;
  color: var(--charcoal); margin-bottom: 0.4rem; line-height: 1.3;
}
.price-card-desc {
  font-size: 0.82rem; color: var(--text-warm);
  line-height: 1.65; font-weight: 300; margin-bottom: 1.25rem;
}
.price-card-price {
  font-family: var(--font-serif);
  font-size: 2.2rem; font-weight: 400;
  color: var(--gold); line-height: 1;
  margin-bottom: 1.1rem;
}
.price-card-btn {
  display: flex; align-items: center; justify-content: center;
  padding: 0.7rem 1rem;
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
  color: var(--charcoal);
  border-radius: var(--radius-pill);
  font-size: 0.72rem; font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase;
  text-decoration: none;
  transition: all 0.35s var(--spring);
}
.price-card-btn:hover {
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  transform: scale(1.03);
}

/* SPECIAL OFFER BANNER */
.special-offer-banner {
  display: flex; align-items: center;
  gap: 2rem; flex-wrap: wrap;
  background: linear-gradient(135deg, var(--charcoal) 0%, #2a1508 50%, var(--charcoal) 100%);
  border: 1px solid rgba(210,179,130,0.25);
  border-radius: var(--radius-xl);
  padding: 2.25rem 2.75rem;
  position: relative; overflow: hidden;
}
.special-offer-banner::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
.special-offer-banner::after {
  content: '';
  position: absolute; top: -40%; right: -5%;
  width: 250px; height: 250px;
  background: radial-gradient(circle, rgba(210,179,130,0.08) 0%, transparent 70%);
  pointer-events: none;
}
.sob-left {
  display: flex; flex-direction: column; align-items: center;
  background: linear-gradient(135deg, var(--gold), var(--gold-dark));
  border-radius: var(--radius-lg);
  padding: 1.25rem 1.5rem;
  flex-shrink: 0;
}
.sob-pct {
  font-family: var(--font-serif);
  font-size: 3.5rem; font-weight: 400;
  color: var(--charcoal); line-height: 1;
}
.sob-pct span { font-size: 1.5rem; }
.sob-label {
  font-size: 0.72rem; font-weight: 800;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--charcoal); opacity: 0.7;
}
.sob-mid { flex: 1; min-width: 200px; }
.sob-tag {
  display: inline-flex;
  background: rgba(210,179,130,0.1);
  border: 1px solid rgba(210,179,130,0.2);
  border-radius: var(--radius-pill);
  padding: 0.25rem 0.85rem;
  font-size: 0.65rem; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 0.65rem;
}
.sob-title {
  font-family: var(--font-serif);
  font-size: 1.4rem; font-weight: 500;
  color: var(--cream); margin-bottom: 0.4rem; line-height: 1.3;
}
.sob-title span { color: var(--gold); }
.sob-sub {
  font-size: 0.84rem; color: var(--footer-text);
  line-height: 1.6; font-weight: 300;
}
.sob-right { flex-shrink: 0; text-align: center; }

/* ============================================================
   PRICING SECTION v2 — Clean & Premium
   ============================================================ */
.pricing-v2 { padding: 6rem 0; background: var(--cream); }

.pricing-offer-banner {
  background: linear-gradient(135deg, var(--charcoal) 0%, #220e04 50%, var(--charcoal) 100%);
  border: 1px solid rgba(210,179,130,0.22);
  border-radius: var(--radius-xl);
  padding: 2rem 2.5rem;
  margin-bottom: 3rem;
  display: flex; align-items: center; gap: 2rem; flex-wrap: wrap;
  position: relative; overflow: hidden;
}
.pricing-offer-banner::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(210,179,130,0.5), transparent);
}
.pob-badge {
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
  border-radius: var(--radius-md);
  padding: 1rem 1.35rem;
  text-align: center; flex-shrink: 0;
  min-width: 90px;
}
.pob-badge-num {
  font-family: var(--font-serif);
  font-size: 2.6rem; font-weight: 400;
  color: var(--charcoal); line-height: 1;
}
.pob-badge-num sup { font-size: 1.2rem; }
.pob-badge-off {
  font-size: 0.58rem; font-weight: 800;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--charcoal); opacity: 0.65;
}
.pob-text { flex: 1; min-width: 160px; }
.pob-eyebrow {
  display: inline-flex;
  background: rgba(210,179,130,0.1);
  border: 1px solid rgba(210,179,130,0.18);
  border-radius: 100px;
  padding: 0.18rem 0.7rem;
  font-size: 0.6rem; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 0.45rem;
}
.pob-title {
  font-family: var(--font-serif);
  font-size: 1.25rem; font-weight: 500;
  color: var(--cream); margin-bottom: 0.25rem; line-height: 1.25;
}
.pob-title strong { color: var(--gold); font-weight: 500; }
.pob-sub {
  font-size: 0.82rem; color: rgba(249,246,251,0.45);
  font-weight: 300; line-height: 1.5;
}
@media (max-width: 640px) {
  .pricing-offer-banner { flex-direction: column; text-align: center; padding: 1.5rem; gap: 1.25rem; }
  .pob-text { text-align: left; }
  .pricing-offer-banner .btn { width: 100%; justify-content: center; }
}

/* Cards grid */
.pc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.1rem;
  margin-bottom: 1.25rem;
}
@media (max-width: 1024px) { .pc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .pc-grid { grid-template-columns: 1fr; } }

.pc {
  background: var(--white);
  border: 1px solid rgba(210,179,130,0.16);
  border-radius: var(--radius-lg);
  padding: 1.6rem;
  display: flex; flex-direction: column;
  position: relative; overflow: hidden;
  transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease), border-color 0.35s;
}
.pc::after {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: 0; transition: opacity 0.35s;
}
.pc:hover { transform: translateY(-5px); box-shadow: 0 16px 40px rgba(210,179,130,0.14); border-color: rgba(210,179,130,0.35); }
.pc:hover::after { opacity: 1; }
.pc.featured { background: var(--charcoal); border-color: rgba(210,179,130,0.25); }
.pc.featured::after { opacity: 1; }

.pc-featured-tag {
  display: inline-flex; width: fit-content;
  background: rgba(210,179,130,0.1);
  border: 1px solid rgba(210,179,130,0.2);
  border-radius: 100px;
  padding: 0.18rem 0.65rem;
  font-size: 0.58rem; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 0.8rem;
}
.pc-icon {
  width: 42px; height: 42px;
  background: rgba(210,179,130,0.08);
  border: 1px solid rgba(210,179,130,0.15);
  border-radius: 11px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 1rem;
  transition: background 0.3s;
}
.pc-icon svg { width: 19px; height: 19px; stroke: var(--gold-dark); transition: stroke 0.3s; }
.pc.featured .pc-icon svg { stroke: var(--gold); }
.pc:hover .pc-icon { background: linear-gradient(135deg, var(--gold), var(--gold-dark)); }
.pc:hover .pc-icon svg { stroke: var(--charcoal); }
.pc.featured:hover .pc-icon svg { stroke: var(--charcoal); }

.pc-name {
  font-family: var(--font-serif);
  font-size: 1rem; font-weight: 500; line-height: 1.3;
  color: var(--charcoal); margin-bottom: 0.35rem;
}
.pc.featured .pc-name { color: var(--cream); }

.pc-desc {
  font-size: 0.78rem; color: var(--text-warm);
  line-height: 1.65; font-weight: 300; flex: 1;
  margin-bottom: 1rem;
}
.pc.featured .pc-desc { color: rgba(249,246,251,0.5); }

.pc-price {
  font-family: var(--font-serif);
  font-size: 1.9rem; font-weight: 400;
  color: var(--gold); line-height: 1;
  margin-bottom: 1rem;
}

.pc-btn {
  display: flex; align-items: center; justify-content: center;
  padding: 0.62rem 1rem;
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
  color: var(--charcoal);
  border-radius: 100px;
  font-size: 0.68rem; font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase;
  text-decoration: none;
  transition: all 0.3s var(--spring);
}
.pc-btn:hover { background: linear-gradient(135deg, var(--gold-light), var(--gold)); transform: scale(1.03); }

/* Bottom strip */
.pc-bottom-strip {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 1rem; margin-top: 0.25rem;
}
.pc-strip-item {
  background: var(--beige);
  border: 1px solid rgba(210,179,130,0.15);
  border-radius: var(--radius-md);
  padding: 1.1rem 1.25rem;
  display: flex; align-items: center; gap: 0.75rem;
}
.pc-strip-icon { font-size: 1.35rem; flex-shrink: 0; }
.pc-strip-text { font-size: 0.8rem; color: var(--text-warm); line-height: 1.5; font-weight: 300; }
.pc-strip-text a { color: var(--gold-dark); font-weight: 600; text-decoration: none; }
.pc-strip-item.dark { background: var(--charcoal); border-color: rgba(210,179,130,0.15); }
.pc-strip-item.dark .pc-strip-text { color: rgba(249,246,251,0.6); }
.pc-strip-item.dark .pc-strip-text a { color: var(--gold); }
@media (max-width: 640px) {
  .pc-bottom-strip { grid-template-columns: 1fr; }
}


/* ============================================================
   COURSE SECTION ISOLATION
   Ensures the course div layout never gets clipped
   ============================================================ */
div[style*="background:#392C45"] {
  /* No overflow restriction on course div */
}
/* Guarantee float layouts work inside dark divs */
div[style*="float:right"] {
  position: relative;
}

/* ============================================================
   SHARED FORM STYLES — used by contact.html and treatment-quiz.html
   ============================================================ */
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.form-field { display: flex; flex-direction: column; gap: 0.45rem; }
.form-field.full { grid-column: span 2; }
.form-field label {
  font-size: 0.7rem; font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-mid);
}
.form-field input,
.form-field select,
.form-field textarea {
  width: 100%; padding: 0.85rem 1rem;
  border: 1.5px solid rgba(210,179,130,0.25);
  border-radius: var(--radius-md);
  background: var(--white);
  font-family: var(--font-sans); font-size: 0.88rem;
  color: var(--charcoal); outline: none;
  transition: border-color 0.3s, box-shadow 0.3s;
  -webkit-appearance: none; appearance: none;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(210,179,130,0.1);
}
.form-field textarea { resize: vertical; min-height: 110px; font-weight: 300; }
.form-field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C9A882' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 1rem center;
  padding-right: 2.5rem; cursor: pointer;
}
.form-error {
  display: none;
  background: #fff0f0; border: 1px solid #e57373;
  border-radius: var(--radius-md); padding: 0.9rem 1.1rem;
  font-size: 0.84rem; color: #c62828; margin-bottom: 0.75rem;
  line-height: 1.55;
}
@media (max-width: 640px) {
  .form-grid { grid-template-columns: 1fr; }
  .form-field.full { grid-column: span 1; }
}

/* ============================================================
   HOMEPAGE IMAGE INJECTION — Double-Bezel Frames & Photo Bands
   ============================================================ */
.img-frame {
  position: relative;
  padding: .5rem;
  background: linear-gradient(155deg, rgba(210,179,130,.28), rgba(210,179,130,.04));
  border: 1px solid rgba(210,179,130,.2);
  border-radius: calc(var(--radius-xl) + 10px);
  box-sizing: border-box;
}
.img-frame-inner {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-xl);
  box-shadow: inset 0 1px 1px rgba(255,255,255,.35), var(--shadow-card);
  isolation: isolate;
}
.img-frame-inner::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(57,44,69,0) 55%, rgba(57,44,69,.5) 100%);
  pointer-events: none;
}
.img-frame img {
  width: 100%; height: 100%; display: block; object-fit: cover;
  transition: transform 1.2s var(--ease);
}
.img-frame:hover img { transform: scale(1.045); }

.stat-float {
  position: absolute;
  background: rgba(57,44,69,.85);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(210,179,130,.3);
  border-radius: var(--radius-md);
  padding: .95rem 1.2rem;
  box-shadow: var(--shadow-dark);
  z-index: 2;
}
.stat-float .sf-num {
  font-family: var(--font-serif); font-size: 1.7rem; font-weight: 400;
  color: var(--gold); line-height: 1; display: block;
}
.stat-float .sf-label {
  font-size: .6rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--footer-text); margin-top: .25rem; white-space: nowrap;
}

.spotlight-banner {
  display: grid; grid-template-columns: .95fr 1.05fr; gap: 3rem; align-items: center;
  margin-bottom: 3.5rem;
}
.spotlight-media { aspect-ratio: 4/3; }
.spotlight-media img { object-position: center 25%; }
.spotlight-copy .spotlight-quote {
  font-family: var(--font-serif); font-style: italic; font-weight: 400;
  font-size: clamp(1.3rem,2vw,1.65rem); line-height: 1.4; color: var(--charcoal);
  margin-bottom: 1.1rem;
}
.spotlight-copy .spotlight-attr {
  font-size: .72rem; letter-spacing: .08em; text-transform: uppercase;
  color: var(--gold-dark); font-weight: 600;
}

.quiz-split { display: grid; grid-template-columns: 1.1fr .9fr; gap: 3.5rem; align-items: center; text-align: left; }
.quiz-split .quiz-media { aspect-ratio: 3/4; max-width: 380px; }

.photo-duo {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem;
  max-width: 1080px; margin: 0 auto; padding: 0 var(--gutter); box-sizing: border-box;
}
.photo-duo figure { margin: 0; }
.photo-duo .img-frame { aspect-ratio: 5/4; }
.photo-duo figcaption {
  margin-top: 1rem; text-align: center;
  font-family: var(--font-serif); font-style: italic; font-weight: 400;
  color: rgba(249,246,251,.75); font-size: .95rem;
}

@media (max-width: 1024px) {
  .spotlight-banner { grid-template-columns: 1fr; gap: 2rem; }
  .spotlight-media { aspect-ratio: 16/9; }
  .quiz-split { grid-template-columns: 1fr; gap: 2rem; text-align: center; }
  .quiz-split .quiz-media { margin: 0 auto; max-width: 320px; }
}

@media (max-width: 768px) {
  .home-two-col { grid-template-columns: 1fr !important; gap: 2.5rem !important; }
  .photo-duo { grid-template-columns: 1fr; gap: 2rem; }
  .stat-float { padding: .75rem .95rem; }
  .stat-float .sf-num { font-size: 1.35rem; }
}

/* ============================================================
   CALL-CONVERSION SYSTEM — Floating Desktop Call Button,
   Hero Call Line, Footer Phone Line
   ============================================================ */
.float-call-btn {
  position: fixed; bottom: 2rem; right: 2rem; z-index: 495;
  width: 60px; height: 60px; border-radius: 50%;
  background: linear-gradient(135deg, var(--gold), var(--gold-dark));
  color: var(--charcoal);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 28px rgba(210,179,130,0.45), 0 2px 8px rgba(0,0,0,0.3);
  text-decoration: none;
  transition: transform .35s var(--spring), box-shadow .35s var(--ease);
}
.float-call-btn:hover { transform: scale(1.1); box-shadow: 0 10px 36px rgba(210,179,130,0.6); }
.float-call-btn svg { width: 24px; height: 24px; stroke: currentColor; fill: none; position: relative; z-index: 1; }
.float-call-btn .fcb-pulse {
  position: absolute; inset: -6px; border-radius: 50%;
  border: 2px solid rgba(210,179,130,.5);
  animation: fcbPulse 2.2s ease-out infinite;
  pointer-events: none;
}
@keyframes fcbPulse {
  0% { transform: scale(.88); opacity: .8; }
  100% { transform: scale(1.4); opacity: 0; }
}
@media (max-width: 768px) {
  .float-call-btn { display: none; } /* mobile already has the bottom mob-cta-bar */
}

.hero-call-line {
  display: inline-flex; align-items: center; gap: .55rem;
  margin-top: 1.1rem;
  color: rgba(249,246,251,.75);
  font-family: var(--font-sans); font-size: .84rem; letter-spacing: .02em;
  text-decoration: none;
}
.hero-call-line svg { width: 15px; height: 15px; stroke: var(--gold); fill: none; flex-shrink: 0; }
.hero-call-line strong {
  color: var(--gold); font-weight: 700; letter-spacing: .03em;
  border-bottom: 1px solid rgba(210,179,130,.35);
  transition: border-color .25s var(--ease), color .25s var(--ease);
}
.hero-call-line:hover strong { color: var(--gold-light); border-color: var(--gold-light); }

.footer-phone a {
  color: var(--gold); font-weight: 700; letter-spacing: .02em;
  text-decoration: none; border-bottom: 1px solid rgba(210,179,130,.3);
  transition: color .25s var(--ease), border-color .25s var(--ease);
}
.footer-phone a:hover { color: var(--gold-light); border-color: var(--gold-light); }

/* Service-card imagery: use the supplied treatment photography as the visual anchor. */
body.glowmatch-page .service-card .sc-media {
  position: relative;
  z-index: 1;
  height: 168px;
  margin: -1.15rem -1rem 1.35rem;
  overflow: hidden;
  border-radius: 16px;
  background: var(--rose-light);
}
body.glowmatch-page .service-card .sc-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s var(--ease), filter .45s var(--ease);
}
body.glowmatch-page .service-card:hover .sc-media img {
  transform: scale(1.045);
  filter: saturate(1.04) contrast(1.02);
}
body.glowmatch-page .hero-btns > * {
  opacity: 1 !important;
  visibility: visible !important;
}
@media (max-width: 600px) {
  body.glowmatch-page .service-card .sc-media {
    height: 185px;
    margin-left: -.75rem;
    margin-right: -.75rem;
  }
}

/* Calm interaction mode: use the system pointer and remove the animated cursor layer. */
body { cursor: auto !important; }
.cursor-dot, .cursor-ring { display: none !important; }

/* Compact call icon in the navigation; the number remains available to screen readers only. */
body.glowmatch-page .nav-phone.nav-call-icon {
  position: relative;
  width: 38px;
  height: 38px;
  padding: 0;
  justify-content: center;
  color: var(--gold-dark) !important;
  border: 1px solid rgba(57,44,69,.16);
  border-radius: 50%;
  background: rgba(210,179,130,.14);
}
body.glowmatch-page .nav-phone.nav-call-icon svg { width: 18px; height: 18px; stroke-width: 1.8; }
body.glowmatch-page .nav-phone.nav-call-icon:hover { background: rgba(210,179,130,.28); color: var(--charcoal) !important; }
.nav-call-pulse {
  position: absolute;
  inset: -4px;
  border: 1px solid rgba(210,179,130,.52);
  border-radius: 50%;
  pointer-events: none;
  animation: navCallPulse 2.2s ease-out infinite;
}
@keyframes navCallPulse {
  0% { transform: scale(.88); opacity: .75; }
  70%, 100% { transform: scale(1.28); opacity: 0; }
}

/* Make the mobile controls unmissable and keep the three-line menu beside the call icon. */
@media (max-width: 1024px) {
  body.glowmatch-page .nav-burger { display: flex !important; }
  body.glowmatch-page .nav-burger span { background: var(--charcoal) !important; }
  body.glowmatch-page .nav-phone.nav-call-icon { display: flex !important; }
}
@media (max-width: 768px) {
  body.glowmatch-page .nav { padding: 0 1rem; }
  body.glowmatch-page .nav-right { gap: .45rem; }
  body.glowmatch-page .btn-nav { display: none !important; }
  body.glowmatch-page .hero-overlay {
    background: linear-gradient(90deg, rgba(46,35,57,.62) 0%, rgba(46,35,57,.34) 54%, rgba(46,35,57,.12) 100%) !important;
  }
  body.glowmatch-page .hero-overlay::after {
    background: radial-gradient(ellipse at 32% 48%, transparent 42%, rgba(15,10,5,.12) 100%) !important;
  }
}

/* Consent checkbox: override the general text-input treatment with an
   unmistakable selected state and a keyboard-visible focus indicator. */
body.glowmatch-page .consent-label {
  display: grid;
  grid-template-columns: 1.35rem minmax(0, 1fr);
  gap: .7rem;
  align-items: start;
  cursor: pointer;
}
body.glowmatch-page .consent-label input {
  box-sizing: border-box;
  flex: 0 0 auto;
  width: 1.35rem;
  height: 1.35rem;
  min-width: 1.35rem;
  margin: .12rem 0 0;
  padding: 0;
  border: 2px solid var(--charcoal);
  border-radius: .28rem;
  background-color: #FFFBFE;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
body.glowmatch-page .consent-label input:hover {
  border-color: var(--gold-dark);
}
body.glowmatch-page .consent-label input:checked {
  border-color: var(--charcoal);
  background-color: var(--charcoal);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.3 6.25 11.5 13.25 4.5' fill='none' stroke='%23fffdf9' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.05rem;
}
body.glowmatch-page .consent-label input:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(210,179,130,.7), 0 0 0 5px rgba(57,44,69,.18);
}
body.glowmatch-page .consent-label input:active {
  transform: scale(.94);
}
@media (max-width: 640px) {
  body.glowmatch-page .consent-field { margin-top: .35rem; }
  body.glowmatch-page .consent-label { font-size: .78rem !important; line-height: 1.45; }
}

/* Homepage hero navigation: let the supplied video remain visible behind the controls. */
body.page-home.glowmatch-page .nav {
  background: transparent !important;
  border-bottom-color: rgba(249,246,251,.18) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.page-home.glowmatch-page .nav-logo-main { color: var(--cream) !important; }
body.page-home.glowmatch-page .nav-logo-sub { color: var(--gold-light) !important; }
body.page-home.glowmatch-page .nav-link { color: rgba(249,246,251,.82) !important; }
body.page-home.glowmatch-page .nav-link:hover,
body.page-home.glowmatch-page .nav-link.active { color: var(--cream) !important; background: rgba(249,246,251,.10); }
body.page-home.glowmatch-page .nav-phone.nav-call-icon {
  color: var(--gold-light) !important;
  background: rgba(15,10,5,.22);
  border-color: rgba(249,246,251,.38);
}
body.page-home.glowmatch-page .btn-nav { background: var(--gold) !important; color: var(--charcoal) !important; }
body.page-home.glowmatch-page .nav-burger span { background: var(--cream) !important; }

/* Keep both mobile conversion choices visible and equally easy to tap. */
@media (max-width: 768px) {
  body.glowmatch-page .mob-cta-bar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: .55rem;
    padding: .55rem .7rem max(.55rem, env(safe-area-inset-bottom));
  }
  body.glowmatch-page .mob-cta-phone,
  body.glowmatch-page .mob-cta-book {
    display: flex !important;
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding: .68rem .45rem;
    justify-content: center;
    text-align: center;
    font-size: .66rem;
    line-height: 1.15;
    letter-spacing: .045em;
  }
}

/* Give the hero Call now action a compact mobile footprint. */
@media (max-width: 640px) {
  body.glowmatch-page .hero-btns { align-items: flex-start; }
  body.glowmatch-page .hero-btns .btn-gold,
  body.glowmatch-page .hero-btns .btn-outline-gold {
    width: auto !important;
    min-width: 0 !important;
    padding: .68rem .92rem !important;
    font-size: .66rem !important;
  }
}

/* Keep the SEO link columns and footer visible on the lead-generation redesign. */
body.glowmatch-page footer.footer,
body.glowmatch-page footer.footer.glowmatch-legacy { display: block !important; }
.footer-credit-link { color: var(--gold-light); text-decoration: underline; text-underline-offset: .18em; }

/* Accessibility and brand clarity */
.skip-link { position:absolute; left:1rem; top:-4rem; z-index:10001; padding:.75rem 1rem; border-radius:.5rem; background:var(--cream); color:var(--charcoal); font-weight:700; text-decoration:none; }
.skip-link:focus { top:1rem; outline:3px solid var(--gold); outline-offset:3px; }
.nav-burger { border:0; background:transparent; }
.hero-brand { display:block; margin-bottom:.25rem; font-family:var(--font-sans); font-size:.25em; font-style:normal; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-light); }
.faq-q:focus-visible, .nav-burger:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }



/* Blog guide cards: site-native internal-link treatment */
.blog-guide-card { display:grid; grid-template-columns:1fr auto; gap:.5rem 1rem; align-items:center; padding:1.2rem 1.35rem; margin-bottom:.75rem; background:var(--white); border:1px solid rgba(210,179,130,.38); border-radius:var(--radius-md); color:var(--charcoal); text-decoration:none; transition:transform .2s var(--ease), border-color .2s var(--ease), box-shadow .2s var(--ease); }
.blog-guide-card:hover { transform:translateY(-2px); border-color:var(--gold); box-shadow:var(--shadow-gold); }
.blog-guide-card:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.blog-guide-card__label { grid-column:1; font-size:.64rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-dark); }
.blog-guide-card__title { grid-column:1; font-family:var(--font-serif); font-size:1.2rem; line-height:1.25; }
.blog-guide-card__arrow { grid-column:2; grid-row:1 / span 2; display:grid; place-items:center; width:2.2rem; height:2.2rem; border:1px solid var(--gold); border-radius:50%; color:var(--gold-dark); font-size:1.15rem; transition:transform .2s var(--ease), background .2s var(--ease), color .2s var(--ease); }
.blog-guide-card:hover .blog-guide-card__arrow { transform:translateX(3px); background:var(--gold); color:var(--charcoal); }
@media (max-width:640px) { .blog-guide-card { padding:1rem; } .blog-guide-card__title { font-size:1.08rem; } }


/* XERF campaign: uses GlowMatch's existing type and color tokens. */
.xerf-kicker{font:600 .7rem/1.4 var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-light)}
.xerf-kicker--dark{color:var(--gold-dark)}
.xerf-action-arrow{display:inline-grid;place-items:center;width:1.8rem;height:1.8rem;margin-left:.5rem;border-radius:50%;background:rgba(255,255,255,.15);font-size:1rem;line-height:1}
.xerf-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.xerf-text-link{font-size:.85rem;font-weight:600;color:var(--cream);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:6px}
.xerf-text-link--dark{color:var(--charcoal)}
.xerf-home-feature{background:var(--cream);padding:5.5rem var(--gutter)}
.xerf-home-feature__inner{max-width:1360px;margin:auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:420px;overflow:hidden;border-radius:var(--radius-xl);background:#f0e5d9}
.xerf-home-feature__copy{padding:clamp(2rem,5vw,5.5rem);display:flex;align-items:flex-start;flex-direction:column;justify-content:center}
.xerf-home-feature__copy h2,.xerf-content-section h2,.xerf-bottom-cta h2{font:400 clamp(2.7rem,5vw,5rem)/1.05 var(--font-serif);letter-spacing:-.045em;color:var(--charcoal);margin:.8rem 0 1.25rem}
.xerf-home-feature__copy h2 em,.xerf-content-section h2 em{color:var(--gold-dark);font-weight:400}
.xerf-home-feature__copy>p:not(.xerf-kicker){max-width:55ch;font-size:1rem;line-height:1.75;color:var(--text-mid);margin-bottom:1.8rem}
.xerf-home-feature__note{font-size:.72rem;color:var(--text-warm);margin-top:1.4rem}
.xerf-home-feature__panel{position:relative;overflow:hidden;min-height:420px;background:radial-gradient(circle at 50% 48%,#514635 0,#28231d 45%,#161310 100%);display:flex;align-items:center;justify-content:center;color:var(--cream)}
.xerf-home-feature__circle{position:absolute;width:min(32vw,400px);aspect-ratio:1;border:1px solid rgba(222,190,146,.48);border-radius:50%;box-shadow:0 0 0 45px rgba(222,190,146,.04),0 0 0 95px rgba(222,190,146,.035)}
.xerf-home-feature__mark{position:relative;font:400 clamp(4.5rem,10vw,9rem)/1 var(--font-alt);letter-spacing:.15em;text-shadow:0 10px 45px rgba(0,0,0,.25)}
.xerf-home-feature__meta{position:absolute;left:2.5rem;bottom:2rem;font-size:.62rem;letter-spacing:.2em;line-height:1.8;color:var(--gold-light)}
.xerf-page-hero{background:#1d1915;color:var(--cream);padding:calc(var(--nav-h) + 3rem) var(--gutter) 5.5rem}
.xerf-page-hero__inner{max-width:1360px;margin:auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:5vw;align-items:center}
.xerf-page-hero__copy{max-width:750px}
.xerf-breadcrumb{display:flex;align-items:center;gap:.7rem;color:var(--footer-text);font-size:.72rem;margin-bottom:3rem}
.xerf-breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.xerf-page-hero h1{font:400 clamp(3.8rem,6.2vw,7rem)/.99 var(--font-serif);letter-spacing:-.055em;margin:.7rem 0 1.6rem}
.xerf-page-hero h1 em{color:var(--gold-light);font-weight:400}
.xerf-page-hero__lead{font-size:1.05rem;line-height:1.75;color:#E7DDEA;max-width:64ch;margin-bottom:2rem}
.xerf-fineprint{font-size:.73rem;color:var(--footer-text);margin-top:1.65rem}
.xerf-art{min-height:500px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(210,179,130,.25);border-radius:var(--radius-xl);background:radial-gradient(circle at 52% 48%,#4d4033 0%,#2c251f 42%,#171410 100%)}
.xerf-art__halo{position:absolute;border:1px solid rgba(216,180,136,.28);border-radius:50%;aspect-ratio:1}
.xerf-art__halo--one{width:48%}.xerf-art__halo--two{width:75%}.xerf-art__halo--three{width:108%}
.xerf-art__word{position:relative;font:400 clamp(5rem,10vw,10rem)/1 var(--font-alt);letter-spacing:.12em;color:var(--cream);text-shadow:0 10px 40px rgba(0,0,0,.3)}
.xerf-art__caption{position:absolute;bottom:2rem;left:2rem;right:2rem;display:flex;align-items:center;gap:1rem;font-size:.59rem;letter-spacing:.19em;color:var(--gold-light)}
.xerf-art__caption i{height:1px;flex:1;background:rgba(210,179,130,.4)}
.xerf-facts{background:var(--charcoal);color:var(--cream);border-top:1px solid rgba(210,179,130,.2)}
.xerf-facts__inner{max-width:1360px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);padding:2rem var(--gutter);gap:1rem}
.xerf-facts__inner>div{border-left:1px solid rgba(210,179,130,.4);padding-left:1.25rem}
.xerf-facts span{display:block;color:var(--gold);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.45rem}
.xerf-facts strong{font-weight:500;font-size:.87rem}
.xerf-content-section{padding:7rem var(--gutter);background:var(--cream)}
.xerf-content-section--sand{background:#f3ebe1}
.xerf-content-grid,.xerf-section-inner{max-width:1200px;margin:auto}
.xerf-content-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,7rem)}
.xerf-content-section h2{font-size:clamp(2.7rem,4.5vw,4.4rem)}
.xerf-prose p,.xerf-area-intro{font-size:1rem;line-height:1.8;color:var(--text-mid);margin-bottom:1.3rem}
.xerf-prose .xerf-source-note{font-size:.8rem;color:var(--text-warm);border-top:1px solid var(--gold-light);padding-top:1.3rem}
.xerf-source-note a{text-decoration:underline;text-underline-offset:3px}
.xerf-question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2.5rem}
.xerf-question-grid article{background:var(--cream);border:1px solid var(--gold-light);border-radius:var(--radius-lg);padding:2rem;min-height:225px}
.xerf-question-grid article>span{font-size:.66rem;letter-spacing:.15em;color:var(--gold-dark)}
.xerf-question-grid h3{font:400 1.45rem/1.2 var(--font-serif);margin:1.6rem 0 .7rem}
.xerf-question-grid p,.xerf-steps p,.xerf-qa p{font-size:.9rem;line-height:1.7;color:var(--text-mid)}
.xerf-steps>div{display:grid;grid-template-columns:2.2rem 1fr;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--gold-light)}
.xerf-steps b{font:400 1.5rem var(--font-serif);color:var(--gold-dark)}
.xerf-steps strong{color:var(--charcoal)}
.xerf-steps .btn{margin-top:1.7rem}
.xerf-qa details{border-bottom:1px solid #D8C8DE;padding:1.25rem 0}
.xerf-qa summary{cursor:pointer;font-weight:600;font-size:1rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.xerf-qa summary::-webkit-details-marker{display:none}
.xerf-qa summary::after{content:'+';color:var(--gold-dark);font-size:1.2rem}
.xerf-qa details[open] summary::after{content:'−'}
.xerf-qa p{padding-top:.9rem;max-width:65ch}
.xerf-area-intro{max-width:70ch}
.xerf-area-links{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}
.xerf-area-links a{padding:.65rem 1rem;border:1px solid #d9c5ac;border-radius:100px;font-size:.8rem;color:var(--text-mid)}
.xerf-area-links a:hover,.xerf-area-links a:focus-visible{background:var(--charcoal);color:var(--cream)}
.xerf-bottom-cta{padding:5rem var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--charcoal);color:var(--cream)}
.xerf-bottom-cta>div{max-width:800px}
.xerf-bottom-cta h2{color:var(--cream)}
.xerf-bottom-cta h2 em{color:var(--gold-light)}
.xerf-bottom-cta p:last-child{color:var(--footer-text);line-height:1.7}
.xerf-services-feature{padding:3rem var(--gutter);background:var(--charcoal);color:var(--cream)}
.xerf-services-feature__inner{max-width:1360px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:3rem}
.xerf-services-feature h2{font:400 clamp(2.4rem,4vw,4rem)/1.1 var(--font-serif);margin:.6rem 0;color:var(--cream)}
.xerf-services-feature h2 em{color:var(--gold-light)}
.xerf-services-feature p:not(.xerf-kicker){max-width:55ch;font-size:.9rem;line-height:1.7;color:var(--footer-text)}
.xerf-related{padding:2rem;margin:1rem 0 2rem;background:#f3ebe1;border-left:3px solid var(--gold);border-radius:0 var(--radius-md) var(--radius-md) 0}
.xerf-related h2{font:400 1.6rem/1.2 var(--font-serif);margin:.6rem 0}
.xerf-related p:not(.xerf-kicker){font-size:.9rem;line-height:1.7;color:var(--text-mid)}
.xerf-related a,.xerf-area-feature__actions a{display:inline-block;margin-top:1rem;font-size:.8rem;font-weight:700;letter-spacing:.04em;color:var(--gold-dark);text-decoration:underline;text-underline-offset:4px}
.xerf-area-feature{padding:2.4rem var(--gutter);background:#f3ebe1;border-bottom:1px solid #DED0E5}
.xerf-area-feature__inner{max-width:1360px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.xerf-area-feature h2{font:400 clamp(1.8rem,3vw,2.6rem)/1.1 var(--font-serif);margin:.4rem 0}
.xerf-area-feature p:not(.xerf-kicker){font-size:.88rem;line-height:1.7;color:var(--text-mid);max-width:75ch}
.xerf-area-feature__actions{display:flex;gap:1.5rem;flex-wrap:wrap}
@media(max-width:900px){.xerf-home-feature__inner,.xerf-page-hero__inner,.xerf-content-grid{grid-template-columns:1fr}.xerf-art{min-height:320px}.xerf-facts__inner{grid-template-columns:repeat(2,1fr)}.xerf-area-feature__inner,.xerf-services-feature__inner,.xerf-bottom-cta{align-items:flex-start;flex-direction:column}.xerf-home-feature__panel{min-height:280px}.xerf-home-feature__circle{width:250px}}
@media(max-width:600px){.xerf-home-feature,.xerf-page-hero,.xerf-content-section,.xerf-services-feature,.xerf-bottom-cta,.xerf-area-feature{padding-left:var(--gutter-sm);padding-right:var(--gutter-sm)}.xerf-home-feature{padding-top:2.5rem;padding-bottom:2.5rem}.xerf-home-feature__copy{padding:2rem}.xerf-page-hero{padding-top:calc(var(--nav-h) + 1.5rem)}.xerf-breadcrumb{margin-bottom:2rem}.xerf-page-hero h1{font-size:clamp(3.2rem,12vw,4.4rem)}.xerf-art{min-height:250px}.xerf-art__word{font-size:5rem}.xerf-art__caption{font-size:.48rem;left:1rem;right:1rem}.xerf-facts__inner{padding:1.5rem var(--gutter-sm);gap:1.4rem}.xerf-facts strong{font-size:.76rem}.xerf-content-section{padding-top:4rem;padding-bottom:4rem}.xerf-question-grid{grid-template-columns:1fr}.xerf-question-grid article{min-height:0}.xerf-home-feature__panel{min-height:230px}.xerf-home-feature__mark{font-size:5rem}.xerf-home-feature__meta{left:1.2rem;bottom:1.2rem}}
@media(prefers-reduced-motion:no-preference){.xerf-home-feature__circle,.xerf-art__halo{animation:xerf-breathe 8s cubic-bezier(.4,0,.2,1) infinite alternate}@keyframes xerf-breathe{to{transform:scale(1.045);opacity:.7}}}
:where(.xerf-home-feature,.xerf-page-hero,.xerf-content-section,.xerf-services-feature,.xerf-area-feature) a:focus-visible,:where(.xerf-qa) summary:focus-visible{outline:3px solid #bd8550;outline-offset:4px}


.xerf-art__photo,.xerf-home-feature__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.xerf-art__photo{object-position:62% center}
.xerf-art::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(46,35,57,.74),transparent 35%)}
.xerf-art__caption{z-index:1}
.xerf-home-feature__photo{object-position:center 31%}
.xerf-home-feature__panel::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(46,35,57,.76),transparent 55%)}
.xerf-home-feature__mark{position:absolute;left:2rem;bottom:4.2rem;z-index:1;font-size:clamp(4rem,7vw,7rem);letter-spacing:.08em}
.xerf-home-feature__meta{z-index:1}
@media(max-width:600px){.xerf-home-feature__mark{display:none}.xerf-home-feature__meta{bottom:.8rem}}

/* XERF location and research pages */
.xerf-local-hero,.xerf-article-hero{background:#392C45;color:var(--cream);padding:calc(var(--nav-h) + 3.2rem) var(--gutter) 5rem}
.xerf-local-hero__inner{max-width:1200px;margin:auto}
.xerf-local-hero h1,.xerf-article-hero h1{font:400 clamp(3.2rem,6vw,6.4rem)/1.02 var(--font-serif);letter-spacing:-.045em;max-width:14ch;margin:1.1rem 0 1.7rem}
.xerf-local-hero h1 em{color:var(--gold-light)}
.xerf-local-hero__inner>p:not(.xerf-kicker,.xerf-fineprint){max-width:65ch;font-size:1.05rem;line-height:1.75;color:#E7DDEA;margin-bottom:1.7rem}
.xerf-local-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#D8C8DE;padding:1px}
.xerf-local-summary>div{background:#F6F0F8;padding:2.1rem clamp(1.2rem,3vw,3rem)}
.xerf-local-summary strong{display:block;font:400 1.35rem var(--font-serif);color:var(--charcoal);margin-bottom:.6rem}
.xerf-local-summary p{font-size:.85rem;line-height:1.65;color:var(--text-mid)}
.xerf-local-list{padding-left:1.4rem;margin:0 0 1.3rem;color:var(--text-mid)}.xerf-local-list li{line-height:1.7;margin-bottom:.6rem}
.xerf-local-nearby{font-size:.8rem!important}.xerf-local-nearby a,.xerf-prose a,.xerf-article-prose a{color:var(--gold-dark);text-decoration:underline;text-underline-offset:3px}
.xerf-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}
.xerf-guide-grid>a{display:block;background:var(--cream);border:1px solid #DED0E5;border-radius:var(--radius-lg);padding:2rem;text-decoration:none;color:var(--charcoal)}
.xerf-guide-grid span{font-size:.68rem;letter-spacing:.15em;color:var(--gold-dark);text-transform:uppercase}.xerf-guide-grid h3{font:400 1.65rem var(--font-serif);margin:1rem 0}.xerf-guide-grid p{font-size:.85rem;line-height:1.7;color:var(--text-mid)}.xerf-guide-grid b{font-size:.75rem;color:var(--gold-dark);display:block;margin-top:1rem}
.xerf-article-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:4rem;align-items:center}.xerf-article-hero>div{max-width:760px}.xerf-article-hero h1{max-width:16ch}.xerf-article-deck{font-size:1.12rem;line-height:1.75;color:#E7DDEA;max-width:62ch}.xerf-article-byline{font-size:.75rem;color:var(--gold-light);margin:1.4rem 0}.xerf-article-hero figure{margin:0}.xerf-article-hero img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-xl)}.xerf-article-hero figcaption{font-size:.68rem;color:var(--footer-text);margin-top:.5rem}
.xerf-article-layout{background:var(--cream);padding:5rem var(--gutter);display:grid;grid-template-columns:minmax(0,780px) minmax(220px,300px);gap:clamp(2rem,6vw,7rem);justify-content:center}
.xerf-article-prose{font-size:1rem;line-height:1.8;color:var(--text-mid)}.xerf-article-prose>p:first-child{background:#F6F0F8;padding:1.3rem;border-left:3px solid var(--gold-dark);font-size:.85rem}.xerf-article-prose h2{font:400 clamp(1.9rem,3vw,2.6rem)/1.2 var(--font-serif);color:var(--charcoal);margin:3rem 0 1rem}.xerf-article-prose p{margin:0 0 1.2rem}.xerf-article-prose ul,.xerf-article-prose ol{padding-left:1.5rem;margin:1rem 0 1.8rem}.xerf-article-prose li{padding-left:.2rem;margin:.55rem 0}.xerf-editorial-callout{background:#F6F0F8;border:1px solid #DED0E5;border-radius:var(--radius-md);padding:1.7rem;margin:2rem 0;overflow-x:auto}.xerf-editorial-callout strong{color:var(--charcoal)}.xerf-compare-table{min-width:540px}.xerf-compare-table>div{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;padding:.65rem 0;border-bottom:1px solid #D8C8DE;font-size:.85rem;line-height:1.5}.xerf-article-aside{position:sticky;top:calc(var(--nav-h) + 2rem);align-self:start;border-top:2px solid var(--gold);padding-top:1.5rem}.xerf-article-aside>a{display:block;padding:1rem 0;border-bottom:1px solid #DED0E5;color:var(--charcoal);font-size:.9rem}.xerf-article-end{background:var(--charcoal);padding:2rem;border-radius:var(--radius-lg);color:var(--cream);margin-top:3rem}.xerf-article-end h2{color:var(--cream);margin-top:0}.xerf-article-end p{color:#dfd1c1}
@media(max-width:900px){.xerf-article-hero,.xerf-article-layout{grid-template-columns:1fr}.xerf-article-aside{position:static}.xerf-local-summary{grid-template-columns:1fr}.xerf-guide-grid{grid-template-columns:1fr}}
@media(max-width:600px){.xerf-local-hero,.xerf-article-hero,.xerf-article-layout{padding-left:var(--gutter-sm);padding-right:var(--gutter-sm)}.xerf-local-hero,.xerf-article-hero{padding-top:calc(var(--nav-h) + 2rem)}.xerf-article-hero{gap:2rem}.xerf-article-layout{padding-top:3rem;padding-bottom:3rem}.xerf-local-hero h1,.xerf-article-hero h1{font-size:clamp(3rem,12vw,4rem)}}
.xerf-article-prose{min-width:0}.xerf-editorial-callout{max-width:100%}

/* Verified XERF partner media and clinical image gallery */
.xerf-art__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.xerf-art__caption{z-index:2;text-shadow:0 1px 6px #000;background:linear-gradient(transparent,rgba(0,0,0,.48));padding-top:2rem}
.xerf-clinic-photo{position:relative;max-width:340px;margin-top:2rem;border-radius:var(--radius-lg);overflow:hidden;background:#ECE4F1}.xerf-clinic-photo img{width:100%;height:auto;display:block}.xerf-clinic-photo span{position:absolute;bottom:0;left:0;right:0;padding:.7rem 1rem;background:rgba(46,35,57,.8);color:#fff;font-size:.68rem}
.xerf-device-section .xerf-content-grid{align-items:center}.xerf-device-card{display:flex;align-items:center;justify-content:center;background:#30243B;border-radius:var(--radius-xl);min-height:500px;overflow:hidden}.xerf-device-card img{max-height:470px;max-width:100%;width:auto;object-fit:contain}.xerf-device-details{max-width:1200px;margin:2rem auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.xerf-device-details>div{padding:1.4rem;border:1px solid #DED0E5;border-radius:var(--radius-md)}.xerf-device-details strong{font:400 1.25rem var(--font-serif)}.xerf-device-details p{color:var(--text-mid);font-size:.85rem;line-height:1.65;margin:.5rem 0 0}
.xerf-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:2rem}.xerf-results-grid figure{margin:0;background:#fff;border:1px solid #DED0E5;border-radius:var(--radius-md);overflow:hidden}.xerf-results-image{position:relative}.xerf-results-image img{width:100%;height:auto;display:block}.xerf-results-image span{position:absolute;bottom:.6rem;background:rgba(46,35,57,.72);color:#fff;padding:.35rem .55rem;border-radius:3px;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}.xerf-results-image span:first-of-type{left:.65rem}.xerf-results-image span:last-of-type{right:.65rem}.xerf-results-grid figcaption{padding:.8rem 1rem;font-size:.82rem;color:var(--text-mid)}.xerf-results-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:2rem;border-top:1px solid #D8C8DE;padding-top:2rem}.xerf-results-cta p{max-width:55ch;color:var(--text-mid);line-height:1.7}.xerf-results-section .xerf-area-intro a{color:var(--gold-dark);text-decoration:underline}
@media(max-width:700px){.xerf-results-grid,.xerf-device-details{grid-template-columns:1fr}.xerf-results-cta{align-items:flex-start;flex-direction:column}.xerf-device-card{min-height:300px}.xerf-device-card img{max-height:340px}}
@media(prefers-reduced-motion:reduce){.xerf-art__video{display:none}.xerf-art{background:#30243B url('xerf-media/xerf-hero-poster.jpg') center/cover no-repeat}}

/* XERF visitor pages: responsive demonstration and image gallery */
.xerf-local-hero__inner{max-width:1360px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;gap:clamp(2rem,5vw,5rem)}
.xerf-local-hero__copy{min-width:0}.xerf-local-media,.xerf-article-video{margin:0}.xerf-local-media video,.xerf-article-video video{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:var(--radius-xl);background:#30243B}.xerf-local-media figcaption,.xerf-article-video figcaption{font-size:.75rem;line-height:1.55;color:#D8C8DE;margin-top:.7rem}
.xerf-city-device .xerf-device-card{margin:0}.xerf-city-device .xerf-prose .btn{margin-top:1rem}.xerf-city-results .xerf-area-intro{max-width:82ch}.xerf-article-media{background:#F1EBF5}.xerf-article-media-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);gap:1.2rem;margin:2rem 0}.xerf-article-media .xerf-article-video figcaption{color:var(--text-mid)}.xerf-media-subhead{font:400 1.8rem var(--font-serif);color:var(--charcoal);margin:2.5rem 0 0}
@media(max-width:900px){.xerf-local-hero__inner,.xerf-article-media-grid{grid-template-columns:1fr}.xerf-local-media{max-width:720px}.xerf-article-media-grid .xerf-device-card{min-height:320px}}
@media(max-width:600px){.xerf-local-media video,.xerf-article-video video{aspect-ratio:16/11}.xerf-local-hero{padding-bottom:3rem}.xerf-local-media figcaption{font-size:.7rem}}

.xerf-local-hero__copy>p:not(.xerf-kicker,.xerf-fineprint){max-width:65ch;font-size:1.05rem;line-height:1.75;color:#E7DDEA;margin-bottom:1.7rem}

/* GlowMatch homepage copy and the services video showcase */
body.glowmatch-page .hero-h1{font-size:clamp(3.2rem,6.1vw,6rem);max-width:900px}
body.glowmatch-page .hero-sub{max-width:61ch}
.page-hero.services-hero{min-height:clamp(560px,70dvh,760px);justify-content:center;padding-top:5rem;padding-bottom:5rem;background:#392C45}
.services-hero::before,.services-hero::after{display:none}
.services-hero__media,.services-hero__shade{position:absolute;inset:0}
.services-hero__media video{display:block;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.services-hero__shade{background:linear-gradient(90deg,rgba(46,35,57,.97) 0%,rgba(46,35,57,.88) 36%,rgba(46,35,57,.44) 71%,rgba(46,35,57,.25) 100%),linear-gradient(0deg,rgba(46,35,57,.45),transparent 42%)}
.services-hero .page-hero-inner{max-width:850px}.services-hero .page-hero-h1{font-size:clamp(3rem,5vw,5rem);line-height:1.05;max-width:18ch}.services-hero .page-hero-p{color:#F1EBF5;max-width:58ch;font-size:1.05rem}.services-hero .eyebrow{color:var(--gold-light)}
.services-hero__actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.services-hero__actions .btn{min-height:48px}.services-hero__actions .btn-outline-gold{border-color:rgba(210,179,130,.75);color:#fff3de}
.xerf-services-feature--showcase{padding:clamp(4rem,7vw,7rem) var(--gutter);background:#F1EBF5;color:var(--charcoal)}
.xerf-services-feature--showcase .xerf-services-feature__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.92fr);align-items:center;gap:clamp(2rem,6vw,6rem)}
.xerf-services-feature--showcase h2{font:400 clamp(3.4rem,5.5vw,6rem)/1.02 var(--font-serif);letter-spacing:-.04em;color:var(--charcoal);margin:.8rem 0 1.5rem}
.xerf-services-feature--showcase h2 em{color:var(--gold-dark)}
.xerf-services-feature--showcase .xerf-services-feature__copy>p:not(.xerf-kicker){font-size:1rem;line-height:1.75;color:var(--text-mid);max-width:60ch;margin:0 0 1.2rem}
.xerf-services-feature__actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.4rem;margin-top:2rem}
.xerf-services-feature__device{position:relative;display:grid;place-items:center;min-height:500px;margin:0;padding:2rem;background:#30243B;border-radius:var(--radius-xl);overflow:hidden}
.xerf-services-feature__device img{display:block;width:auto;max-width:100%;max-height:490px;object-fit:contain}
.xerf-services-feature__device figcaption{position:absolute;left:1.5rem;bottom:1.1rem;color:#e9d7c2;font-size:.73rem;letter-spacing:.04em}
@media(max-width:900px){.xerf-services-feature--showcase .xerf-services-feature__inner{grid-template-columns:1fr}.xerf-services-feature__device{min-height:400px}}
@media(max-width:600px){body.glowmatch-page .hero-h1{font-size:clamp(2.8rem,11vw,4.2rem)}.page-hero.services-hero{min-height:600px;padding:4.5rem var(--gutter-sm) 3.5rem}.services-hero__media video{object-position:62% center}.services-hero__shade{background:linear-gradient(90deg,rgba(46,35,57,.90),rgba(46,35,57,.62)),linear-gradient(0deg,rgba(46,35,57,.45),transparent 55%)}.services-hero .page-hero-h1{font-size:clamp(2.8rem,10vw,4rem)}.services-hero__actions{align-items:stretch;flex-direction:column}.services-hero__actions .btn{justify-content:center}.xerf-services-feature--showcase{padding-left:var(--gutter-sm);padding-right:var(--gutter-sm)}.xerf-services-feature__device{min-height:350px}.xerf-services-feature__device img{max-height:360px}}

/* Keep homepage treatment choices and form action visible above the fold. */
body.glowmatch-page .hero-content{max-width:980px;padding-top:7.5rem;padding-bottom:4.5rem}
body.glowmatch-page .hero-h1{font-size:clamp(3.2rem,5vw,5.2rem)}
@media(max-width:768px){body.glowmatch-page .hero-overlay{background:linear-gradient(90deg,rgba(46,35,57,.86),rgba(46,35,57,.66)) !important}}
@media(max-width:600px){body.glowmatch-page .hero-content{padding-top:7rem;padding-bottom:4rem}body.glowmatch-page .hero-h1{font-size:clamp(2.8rem,11vw,4.2rem)}}

/* Homepage hero film: device-specific poster and stable video layer. */
body.page-home .hero-bg {
  background: #2E2339 url('hero-glowmatch-desktop-20260927.jpg') center top / cover no-repeat;
}
body.page-home .hero-bg video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  opacity: 0;
  transition: opacity .3s ease;
}
body.page-home .hero-bg video.is-ready { opacity: 1; }
body.page-home .hero-scroll-line { display: none; }
@media (max-width: 768px) {
  body.page-home .hero-bg {
    background-image: url('hero-glowmatch-mobile-20260927.jpg');
    background-position: center bottom;
    background-size: auto 118%;
  }
  body.page-home .hero-bg video {
    position: absolute;
    bottom: 0;
    height: 118%;
    object-position: center bottom;
  }
  body.page-home.glowmatch-page .hero-overlay {
    background: linear-gradient(to bottom, rgba(46,35,57,.15) 0%, rgba(46,35,57,.2) 27%, rgba(46,35,57,.83) 52%, rgba(46,35,57,.98) 100%) !important;
  }
  body.page-home.glowmatch-page .hero-overlay::after { background: none !important; }
}
@media (max-width: 600px) {
  body.page-home .hero { min-height: max(100svh, 760px); }
  body.page-home.glowmatch-page .hero-content {
    padding-top: 0;
    padding-bottom: 6.5rem;
  }
  body.page-home .hero-announce-pill,
  body.page-home .hero-eyebrow,
  body.page-home .hero-stats { display: none !important; }
  body.page-home.glowmatch-page .hero-h1 { font-size: clamp(2.5rem, 10vw, 3.7rem); }
  body.page-home.glowmatch-page .hero-sub { font-size: .9rem; line-height: 1.55; }
}
@media (max-width: 380px) {
  body.page-home.glowmatch-page .hero-h1 { font-size: 2.15rem; line-height: .95; }
}
@media (prefers-reduced-motion: reduce) {
  body.page-home .hero-bg video { display: none !important; }
}

/* 2026 lavender rebrand: quiet editorial surfaces, plum contrast, blush accents. */
body.glowmatch-page .nav {
  background: rgba(249,246,251,.93) !important;
  border-bottom-color: rgba(57,44,69,.1);
  box-shadow: 0 8px 32px rgba(57,44,69,.07) !important;
}
body.page-home.glowmatch-page .nav { background: rgba(249,246,251,.92) !important; border-bottom-color: rgba(57,44,69,.1) !important; box-shadow: 0 8px 32px rgba(57,44,69,.06) !important; backdrop-filter: blur(18px) !important; -webkit-backdrop-filter: blur(18px) !important; }
body.page-home.glowmatch-page .nav-logo-main { color: var(--charcoal) !important; }
body.page-home.glowmatch-page .nav-logo-sub { color: var(--gold-dark) !important; }
body.page-home.glowmatch-page .nav-link { color: #55435F !important; }
body.page-home.glowmatch-page .nav-link:hover,
body.page-home.glowmatch-page .nav-link.active { color: var(--charcoal) !important; background: rgba(229,183,199,.22) !important; }
body.page-home.glowmatch-page .nav-phone.nav-call-icon { color: var(--charcoal) !important; background: rgba(229,183,199,.24); border-color: rgba(57,44,69,.22); }
body.page-home.glowmatch-page .nav-burger span { background: var(--charcoal) !important; }
body.glowmatch-page .nav-link { color: #55435F !important; }
body.glowmatch-page .nav-link:hover,
body.glowmatch-page .nav-link.active { background: rgba(229,183,199,.22) !important; }
body.glowmatch-page .service-card,
body.glowmatch-page .glowmatch-guide-card { background: #FFFBFE !important; border-color: rgba(57,44,69,.11) !important; box-shadow: 0 18px 45px rgba(57,44,69,.06) !important; }
body.glowmatch-page .service-card:hover,
body.glowmatch-page .glowmatch-guide-card:hover { border-color: var(--rose) !important; box-shadow: 0 22px 50px rgba(57,44,69,.11) !important; }
.xerf-home-feature__inner { background: #F6EFF8; }
.xerf-home-feature__panel { background: #463750; }
.xerf-services-feature--showcase { background: #F1EBF5; }
.page-hero:not(.services-hero), .xerf-local-hero, .xerf-article-hero { background: linear-gradient(125deg,#51405E,#392C45); }
.xerf-page-hero { background: linear-gradient(125deg,#51405E,#392C45); }
.xerf-art { background: radial-gradient(circle at 50% 40%, #685371, #392C45 72%); border-color: rgba(210,179,130,.32); }

/* New model portrait: desktop copy stays left; mobile copy rests below her face. */
body.page-home.glowmatch-page .hero { min-height: max(720px, 100dvh); align-items: center; background: #F1EAF5; }
body.page-home .hero-bg { background: #EEE5F1 url('hero-glowmatch-desktop-lavender.webp') center center / cover no-repeat; }
body.page-home .hero-bg video { object-position: center center; }
body.page-home.glowmatch-page .hero-overlay {
  background: linear-gradient(90deg, #F2EAF5 0%, rgba(242,234,245,.97) 27%, rgba(242,234,245,.76) 46%, rgba(242,234,245,.06) 70%) !important;
}
body.page-home.glowmatch-page .hero-overlay::after { display: none; }
body.page-home.glowmatch-page .hero-content { width: min(59%, 860px); max-width: none; padding: 9rem 2rem 5rem var(--gutter); }
body.page-home.glowmatch-page .hero-h1 { color: var(--charcoal); font-size: clamp(3.1rem, 5.2vw, 5.35rem); max-width: 12ch; line-height: .98; }
body.page-home.glowmatch-page .hero-h1 em { color: #865F79 !important; }
body.page-home.glowmatch-page .hero-brand { color: #80633D; }
body.page-home.glowmatch-page .hero-sub { color: #55465D !important; font-size: 1rem; line-height: 1.65; max-width: 51ch; margin-bottom: 1.65rem; }
body.page-home.glowmatch-page .hero-eyebrow { color: var(--charcoal) !important; background: rgba(255,251,254,.66); border-color: rgba(57,44,69,.13); }
body.page-home.glowmatch-page .hero-eyebrow span { color: #584764; }
body.page-home.glowmatch-page .hero-stat-num { color: var(--charcoal) !important; }
body.page-home.glowmatch-page .hero-stat-label { color: #675970 !important; }
body.page-home.glowmatch-page .hero-stats { margin-top: 2.6rem; gap: 2.2rem; }
body.page-home.glowmatch-page .hero-announce-pill { background: rgba(255,251,254,.76) !important; border-color: rgba(57,44,69,.13) !important; backdrop-filter: none !important; }
body.page-home.glowmatch-page .hero-announce-pill span:last-child { color: var(--charcoal) !important; }
body.page-home.glowmatch-page .btn-gold { background: #D2B382 !important; color: #30243B !important; box-shadow: 0 12px 28px rgba(128,99,61,.16) !important; }
body.page-home.glowmatch-page .btn-gold:hover { background: #E1C79E !important; }
body.page-home.glowmatch-page .btn-outline-gold { border-color: rgba(57,44,69,.48) !important; color: var(--charcoal) !important; background: rgba(255,251,254,.56); }
body.page-home.glowmatch-page .btn-outline-gold:hover { background: rgba(255,251,254,.88) !important; }

@media (max-width: 1050px) and (min-width: 769px) {
  body.page-home.glowmatch-page .hero-content { width: 64%; padding-left: 3rem; }
  body.page-home.glowmatch-page .hero-h1 { font-size: clamp(3rem, 5vw, 4.1rem); }
}
@media (max-width: 768px) {
  body.page-home.glowmatch-page .hero { min-height: max(760px, 100dvh); align-items: flex-end; }
  body.page-home .hero-bg { top: var(--nav-h); height: calc(100% - var(--nav-h)); background-image: url('hero-glowmatch-mobile-lavender.webp'); background-size: cover; background-position: center center; }
  body.page-home .hero-bg video { position: static; height: 100%; object-position: center center; }
  body.page-home.glowmatch-page .hero-overlay {
    background: linear-gradient(to bottom, rgba(246,239,248,0) 0%, rgba(246,239,248,.06) 37%, rgba(246,239,248,.7) 53%, rgba(246,239,248,.97) 71%, #F6EFF8 100%) !important;
  }
  body.page-home.glowmatch-page .hero-content { width: 100%; padding: 0 1.5rem 7rem; }
  body.page-home.glowmatch-page .hero-h1 { font-size: clamp(2.65rem, 9.8vw, 4.2rem); max-width: 12ch; margin-bottom: .85rem; }
  body.page-home.glowmatch-page .hero-sub { font-size: .94rem; line-height: 1.55; margin-bottom: 1.2rem; }
  body.page-home.glowmatch-page .hero-btns { align-items: stretch; gap: .7rem; }
  body.page-home.glowmatch-page .hero-btns .btn { min-height: 48px; justify-content: center; }
}
@media (max-width: 600px) {
  body.page-home.glowmatch-page .hero-content { padding: 0 1.25rem 7rem; }
  body.page-home.glowmatch-page .hero-h1 { font-size: clamp(2.5rem, 10vw, 3.55rem); }
  body.page-home.glowmatch-page .hero-btns { flex-direction: column; }
  body.page-home.glowmatch-page .hero-btns .btn,
  body.page-home.glowmatch-page .hero-btns .btn-gold,
  body.page-home.glowmatch-page .hero-btns .btn-outline-gold { width: 100% !important; min-height: 48px; padding: .88rem 1rem !important; font-size: .69rem !important; }
}
@media (max-width: 380px) {
  body.page-home.glowmatch-page .hero-h1 { font-size: 2.3rem; }
}
@media (max-width: 600px) {
  .xerf-page-hero h1 { font-size: clamp(2.9rem, 10vw, 3.4rem); }
}
@media (max-width: 1024px) {
  body.glowmatch-page .sp-layout { grid-template-columns: minmax(0, 1fr) !important; }
  body.glowmatch-page .sp-layout > * { min-width: 0; }
}

/* Let the homepage photograph continue behind the navigation at the top. */
body.page-home.glowmatch-page .nav:not(.scrolled) {
  background: transparent !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.page-home .hero-bg video { transform: none; will-change: auto; }
@media (min-width: 769px) {
  body.page-home.glowmatch-page .nav-center {
    padding: .15rem .2rem;
    border-radius: var(--radius-pill);
    background: rgba(249,246,251,.72);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }
}
@media (max-width: 768px) {
  body.page-home .hero-bg { top: 0; height: 100%; }
}
