@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,700;1,400&display=swap');

/* ══════════════════════════════════════════════════
   JVB Decor — brand.css v4
   ══════════════════════════════════════════════════ */

:root {
  --gold: #B8943F; --gold-light: #D4AF6A; --gold-dark: #8B6914;
  --dark: #1a1a1a; --warm: #faf8f4; --text: #2d2d2d; --muted: #6b6b6b;
  --border: #e8e4dc; --radius: 8px;
  --heading: 'Playfair Display', Georgia, serif;
  --sans: 'DM Sans', system-ui, sans-serif;
  --z-color-primary: var(--gold); --z-color-primary-light: var(--gold-light);
  --z-color-primary-dark: var(--gold-dark); --z-color-primary-contrast: #fff;
  --z-font-heading: var(--heading); --z-font-body: var(--sans);
  --z-color-bg-surface: var(--warm); --color-gold: var(--gold); --color-dark: var(--dark);
}

/* Keyframes */
@keyframes fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
@keyframes slideRight { from{opacity:0;transform:translateX(40px)} to{opacity:1;transform:translateX(0)} }
@keyframes shimmer { 0%{background-position:-200% 0} 100%{background-position:200% 0} }
@keyframes pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.06)} }

/* Scroll animation base */
.anim-scroll { opacity:0; transform:translateY(20px); transition:opacity .5s ease,transform .5s ease; }
.anim-scroll.is-visible { opacity:1; transform:translateY(0); }

body { font-family:var(--sans); font-size:1rem; line-height:1.7; color:var(--text); }
h1,h2,h3,h4,h5,h6 { font-family:var(--heading); color:var(--dark); }
h2 { font-size:clamp(1.5rem,3vw,2.1rem); font-weight:700; }

/* Layout wrap */
.zenith-topbar__inner, .zenith-trust-stats__inner,
.zenith-intro__wrap, .zenith-why-choose__wrap, .zenith-how-it-works__wrap,
.zenith-services__wrap, .zenith-service-areas__wrap,
.zenith-faq__wrap, .zenith-blog-teaser__wrap, .zenith-cta-banner__wrap {
  max-width:1200px; margin:0 auto; padding:0 24px;
}

/* ═══════ 1. TOPBAR — sticky gold bar ═══════ */
.zenith-topbar {
  background:var(--gold); color:#fff; font-size:.78rem; font-weight:600;
  letter-spacing:.04em; text-align:center;
  position:sticky; top:0; z-index:200;
}
.zenith-topbar__inner { padding:9px 24px; }

/* ═══════ 2. HEADER (homepage custom) ═══════ */

/* Hide global header elements on homepage */
/* Hide old parent theme header globally — replaced by zenith-header-home */
.zenith-offer-bar { display:none !important; }
.zenith-top-bar { display:none !important; }
.zenith-header { display:none !important; }

/* Homepage header */
.zenith-header-home {
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 32px; background:#fff; border-bottom:1px solid #eee;
  position:sticky; top:36px; z-index:100;
  box-shadow:none; transition:box-shadow .3s;
}
.zenith-header-home.scrolled { box-shadow:0 2px 12px rgba(0,0,0,.08); }

/* Logo */
.zenith-header-home__logo a { text-decoration:none; display:flex; flex-direction:column; }
/* When the Customize > Site Identity logo is set, WP wraps it in
   .custom-logo-link > img.custom-logo. Constrain to header-bar height
   regardless of native dimensions (logo here is 2048x744 — would fill the
   viewport without this rule). */
.zenith-header-home__logo .custom-logo-link,
.zenith-header-home__logo .custom-logo-link img {
  display: block;
}
.zenith-header-home__logo img.custom-logo {
  height: 52px; width: auto;
  max-width: 280px; object-fit: contain;
}
.zenith-header-home__brand {
  font-family:var(--heading); font-weight:700; color:var(--gold);
  font-size:22px; line-height:1.2;
}
.zenith-header-home__tagline {
  font-size:11px; color:var(--muted); margin-top:1px; letter-spacing:.01em;
  font-family:var(--sans);
}

/* Nav center */
.zenith-header-home__nav {
  display:flex; gap:28px; align-items:center;
}
.zenith-header-home__nav a {
  font-size:14px; color:var(--text); text-decoration:none;
  font-weight:500; font-family:var(--sans); position:relative; padding-bottom:2px;
}
.zenith-header-home__nav a::after {
  content:''; position:absolute; bottom:0; left:0;
  width:0; height:1.5px; background:var(--gold); transition:width .25s ease;
}
.zenith-header-home__nav a:hover { color:var(--gold); }
.zenith-header-home__nav a:hover::after { width:100%; }

/* Actions right */
.zenith-header-home__actions { display:flex; align-items:center; gap:16px; }
.zenith-header-home__phone {
  color:var(--gold); font-weight:600; font-size:14px;
  text-decoration:none; font-family:var(--sans);
}
.zenith-header-home__phone:hover { text-decoration:underline; }
.zenith-header-home__btn {
  display:inline-flex; align-items:center; padding:10px 20px;
  background:var(--gold); color:#fff; border-radius:6px;
  font-size:13px; font-weight:600; font-family:var(--sans);
  text-decoration:none; transition:all .2s;
}
a.zenith-header-home__btn,
a.zenith-header-home__btn:link,
a.zenith-header-home__btn:visited,
a.zenith-header-home__btn:hover,
a.zenith-header-home__btn:focus,
a.zenith-header-home__btn:active {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-decoration:none !important;
  transition:background .2s,transform .2s !important;
}
a.zenith-header-home__btn:hover { background:var(--gold-dark); transform:translateY(-1px); }

/* ============================================
   SECTION: HERO — LOCKED ✅ 2026-04-07
   DO NOT MODIFY WITHOUT "unlock hero" instruction
   ============================================ */
/* Split layout — JVB default. Scoped so overlay layouts can override. */
.zenith-hero--split {
  display: grid !important;
  grid-template-columns: 55% 45% !important;
  min-height: 60vh !important;
  width: 100% !important;
}
.zenith-hero--split .zenith-hero__left {
  background: #faf8f4 !important;
  padding: 64px 56px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  text-align: left !important;
  min-height: 60vh !important;
}
.zenith-hero__rating { display:flex; gap:8px; font-size:.76rem; font-weight:600; color:var(--muted) !important; letter-spacing:.06em; text-transform:uppercase; justify-content:flex-start !important; align-items:center !important; margin-bottom:16px !important; }
.zenith-hero__stars { color:var(--gold); }
.zenith-hero__headline { font-size:clamp(2.2rem,4.5vw,3.8rem); font-weight:700; line-height:1.08; letter-spacing:-.02em; color:#1a1a1a !important; margin-bottom:16px; }
.zenith-hero__headline strong,.zenith-hero__headline em,.zenith-hero__headline b { color:var(--gold); font-style:normal; }
.zenith-hero__sub { font-family:var(--sans); font-size:1.02rem; color:#6b6b6b !important; line-height:1.6; margin-bottom:32px; text-align:left !important; max-width:480px !important; }
.zenith-hero__cta { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:24px; justify-content:flex-start !important; }
.zenith-hero__badge { text-align:left !important; }

/* Hero services line */
.zenith-hero__services-line { font-family:var(--sans); text-transform:uppercase; letter-spacing:.12em; }

/* Hero trust pills */
.zenith-hero__trust-pills { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:20px; }
.zenith-hero__trust-pill {
  display:inline-flex; align-items:center; gap:6px;
  padding:8px 16px; border-radius:24px; font-family:var(--sans);
  font-size:.78rem; color:var(--text); background:#fff;
  border:1px solid var(--border); text-decoration:none; transition:all .2s;
}
a.zenith-hero__trust-pill:hover { border-color:var(--gold); background:rgba(0,0,0,.02); }
a.zenith-hero__trust-pill, a.zenith-hero__trust-pill:hover { color:var(--text) !important; -webkit-text-fill-color:var(--text) !important; text-decoration:none !important; }
.zenith-hero__trust-pill-icon { font-size:.95rem; color:var(--gold); }

.zenith-hero__btn {
  display:inline-flex; align-items:center; justify-content:center;
  padding:14px 28px; font-size:.88rem; font-weight:600; font-family:var(--sans);
  border-radius:6px; border:2px solid transparent; text-decoration:none; transition:background .2s,border-color .2s,transform .2s;
}
.zenith-hero__btn--gold { background:var(--gold); border-color:var(--gold); color:#fff; }
.zenith-hero__btn--gold:hover { background:#8B6F2E; border-color:#8B6F2E; transform:translateY(-2px); }
.zenith-hero__btn--gold:hover *,
.zenith-hero__btn--gold:hover { color:#ffffff !important; -webkit-text-fill-color:#ffffff !important; }
.zenith-hero__left a.zenith-hero__btn--gold:hover { color:#ffffff !important; -webkit-text-fill-color:#ffffff !important; text-decoration:none !important; }
.zenith-hero__btn--dark { background:transparent; border-color:var(--dark); color:var(--dark); }
.zenith-hero__btn--dark:hover { background:var(--dark); color:#fff; transform:translateY(-2px); }
.zenith-hero__left a.zenith-hero__btn--gold,
.zenith-hero__left a.zenith-hero__btn--gold:link,
.zenith-hero__left a.zenith-hero__btn--gold:visited,
.zenith-hero__left a.zenith-hero__btn--gold:hover,
.zenith-hero__left a.zenith-hero__btn--gold:focus,
.zenith-hero__left a.zenith-hero__btn--gold:active {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  transition:background .2s,border-color .2s,transform .2s !important;
}
/* Hide mobile-only elements on desktop */
.zenith-hero__mobile-img { display:none; }
.zenith-map-section__mobile-ctas { display:none; }
.zenith-map-section__nap-card { display:none; }
/* offer badge and licensed badge removed from hero — trust bar handles these */
/* Split layout right panel (image side) */
.zenith-hero--split .zenith-hero__right {
  background: linear-gradient(135deg, #2d2a22, #1a1a1a);
  min-height: 60vh !important;
  overflow: hidden !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.zenith-hero--split .zenith-hero__bg-img {
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; display:block;
  z-index:1;
}
.zenith-hero--split .zenith-hero__right::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(45,42,34,0.35), rgba(26,26,26,0.55));
  pointer-events:none; z-index:2;
}
.zenith-hero__placeholder {
  display:flex; align-items:center; justify-content:center;
  height:100%; padding:40px; position:relative; z-index:1;
}
.zenith-hero__placeholder p {
  color:rgba(255,255,255,.3); font-size:13px; text-align:center;
}
/* Kill overlays on DESKTOP only — mobile may use pseudo for overlay */
@media(min-width:769px){
  .zenith-hero::before,
  .zenith-hero::after { display:none !important; }
  .zenith-hero__left::before,
  .zenith-hero__left::after { display:none !important; }
}

/* Removed section.zenith-hero div.zenith-hero__left override — was causing conflicts */

/* ============================================
   END SECTION: HERO
   ============================================ */

/* ============================================
   SECTION: OFFER BAR / TRUST — LOCKED ✅ 2026-04-07
   DO NOT MODIFY WITHOUT "unlock trust" instruction
   ============================================ */
.zenith-trust-stats { background:#fff; border-bottom:1px solid rgba(184,148,63,.15); padding:36px 0; }
.zenith-trust-stats__inner { display:flex; justify-content:center; gap:64px; flex-wrap:wrap; }
.zenith-trust-stats__item { text-align:center; }
.zenith-trust-stats__number { display:block; font-family:var(--heading); font-size:2rem; font-weight:700; color:var(--gold); line-height:1; transition:transform .2s; }
.zenith-trust-stats__item:hover .zenith-trust-stats__number { transform:scale(1.1); }
.zenith-trust-stats__label { display:block; font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; color:#aaa; font-weight:500; margin-top:6px; }

/* ============================================
   END SECTION: OFFER BAR / TRUST
   ============================================ */

/* ═══════ 5. INTRO ═══════ */
.zenith-intro { padding:80px 0; text-align:center; }
.zenith-intro__heading { font-family:var(--heading); font-size:1.6rem; color:var(--dark); margin-bottom:20px; font-weight:700; }
.zenith-intro__lead { max-width:660px; margin:0 auto 20px; font-family:var(--heading); font-size:1.2rem; font-style:italic; color:#555; line-height:1.8; }
.zenith-intro__body { max-width:660px; margin:0 auto 16px; font-family:var(--sans); font-size:.95rem; color:var(--muted); line-height:1.7; }
.zenith-intro__directions { max-width:660px; margin:0 auto; font-size:.88rem; color:#aaa; }

/* Intro with image — side-by-side layout */
.zenith-intro--with-image { text-align:left; }
.zenith-intro--with-image .zenith-intro__wrap {
  max-width:1100px; margin:0 auto; padding:0 28px;
  display:grid; grid-template-columns:380px 1fr; gap:48px; align-items:center;
}
.zenith-intro--with-image .zenith-intro__media {
  border-radius:var(--radius); overflow:hidden; aspect-ratio:1/1;
  box-shadow:0 10px 40px rgba(0,0,0,.08);
}
.zenith-intro--with-image .zenith-intro__media img {
  width:100%; height:100%; object-fit:cover; display:block;
}
.zenith-intro--with-image .zenith-intro__content { text-align:left; }
.zenith-intro--with-image .zenith-intro__lead,
.zenith-intro--with-image .zenith-intro__body,
.zenith-intro--with-image .zenith-intro__directions {
  max-width:none; margin-left:0; margin-right:0;
}
@media(max-width:768px){
  .zenith-intro--with-image .zenith-intro__wrap { grid-template-columns:1fr; gap:28px; padding:0 20px; }
  .zenith-intro--with-image .zenith-intro__media { max-width:320px; margin:0 auto; aspect-ratio:1/1; }
  .zenith-intro--with-image .zenith-intro__content { text-align:center; }
  .zenith-intro--with-image .zenith-intro__lead,
  .zenith-intro--with-image .zenith-intro__body,
  .zenith-intro--with-image .zenith-intro__directions { margin-left:auto; margin-right:auto; }
}

/* ============================================
   SECTION: WHY CHOOSE — LOCKED ✅ 2026-04-07
   DO NOT MODIFY WITHOUT "unlock why choose" instruction
   ============================================ */
.zenith-why-choose { background:var(--warm); padding:80px 0; }
.zenith-why-choose__heading { text-align:center; font-family:'DM Sans',sans-serif !important; font-style:normal !important; font-weight:600 !important; letter-spacing:-0.02em !important; margin-bottom:40px; }
.zenith-why-choose__grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; max-width:920px; margin:0 auto; }
.zenith-why-choose__card {
  background:#fff; border:1px solid var(--border); border-left:4px solid var(--gold);
  border-radius:0 var(--radius) var(--radius) 0; padding:24px;
  font-size:.92rem; line-height:1.6; color:var(--text); transition:transform .25s;
}
.zenith-why-choose__card:hover { transform:translateX(6px); }

/* ============================================
   END SECTION: WHY CHOOSE
   ============================================ */

/* ============================================
   SECTION: HOW JVB WORKS — LOCKED ✅ 2026-04-07
   DO NOT MODIFY WITHOUT "unlock how it works" instruction
   ============================================ */
.zenith-how-it-works { background:#fff; padding:80px 0; text-align:center; }
.zenith-how-it-works__heading { margin-bottom:48px; }
.zenith-how-it-works__grid { display:flex; justify-content:center; align-items:flex-start; gap:0; max-width:900px; margin:0 auto; position:relative; }
.zenith-how-it-works__step { flex:1; position:relative; padding:0 20px; }
.zenith-how-it-works__num {
  display:inline-flex; align-items:center; justify-content:center;
  width:60px; height:60px; border-radius:50%;
  background:var(--gold); color:#fff;
  font-family:var(--heading); font-size:1.4rem; font-weight:700;
  margin-bottom:16px; transition:transform .2s, box-shadow .2s; position:relative; z-index:2;
}
.zenith-how-it-works__step:hover .zenith-how-it-works__num { transform:scale(1.1); box-shadow:0 4px 20px rgba(184,148,63,.35); }
.zenith-how-it-works__connector {
  position:absolute; top:30px; left:calc(50% + 30px); width:calc(100% - 60px);
  height:2px; background:var(--border); z-index:1;
}
.zenith-how-it-works__step:last-child .zenith-how-it-works__connector { display:none; }
.zenith-how-it-works__title { font-size:1.05rem; font-weight:600; margin-bottom:6px; }
.zenith-how-it-works__desc { font-size:.86rem; color:var(--muted); line-height:1.5; max-width:240px; margin:0 auto; }

/* ============================================
   END SECTION: HOW JVB WORKS
   ============================================ */

/* ============================================
   SECTION: SERVICES GRID — LOCKED ✅ 2026-04-07
   DO NOT MODIFY WITHOUT "unlock services" instruction
   ============================================ */
.zenith-services { background:var(--warm); padding:80px 0; }
.zenith-services__heading { text-align:center; margin-bottom:40px; }
.zenith-services__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.zenith-services__card { background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 1px 6px rgba(0,0,0,.04); transition:box-shadow .3s,transform .3s; }
.zenith-services__card:hover { box-shadow:0 10px 28px rgba(0,0,0,.09); transform:translateY(-5px); }
img.zenith-services__card-img { width:100%; height:200px; object-fit:cover; display:block; }
.zenith-services__img-wrap { height:180px; overflow:hidden; }
.zenith-services__img-wrap--dark { background:linear-gradient(135deg,var(--dark),#2c2c2c); }
.zenith-services__img { width:100%; height:100%; object-fit:cover; display:block; }
.zenith-services__body { padding:20px 24px 24px; }
.zenith-services__title { font-size:1.05rem; font-weight:600; margin-bottom:6px; }
.zenith-services__desc { font-size:.84rem; color:var(--muted); margin-bottom:12px; line-height:1.5; }
.zenith-services__link { font-size:.82rem; font-weight:600; color:var(--gold); text-decoration:none; display:inline-flex; align-items:center; gap:4px; }
.zenith-services__link:hover { gap:8px; }
.zenith-services__arrow { transition:margin-left .2s; }

/* ============================================
   END SECTION: SERVICES GRID
   ============================================ */

/* ============================================
   SECTION: SERVICE AREAS — LOCKED ✅ 2026-04-07
   DO NOT MODIFY WITHOUT "unlock service areas" instruction
   ============================================ */
.zenith-service-areas { background:var(--warm); padding:64px 0; text-align:center; }
.zenith-service-areas__heading { margin-bottom:32px; }
.zenith-service-areas__pills { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom:20px; }
.zenith-service-areas__pill {
  display:inline-block; background:#fff; border:1.5px solid var(--gold); color:var(--gold);
  font-size:.82rem; font-weight:600; padding:8px 20px; border-radius:24px;
  text-decoration:none; transition:all .2s;
}
.zenith-service-areas__pill:hover { background:var(--gold); color:#fff; transform:translateY(-3px); }
.zenith-service-areas__badge { font-size:.72rem; color:#aaa; text-transform:uppercase; letter-spacing:.06em; }

/* ============================================
   END SECTION: SERVICE AREAS
   ============================================ */

/* ============================================
   SECTION: REVIEWS — LOCKED ✅ 2026-04-07
   DO NOT MODIFY WITHOUT "unlock reviews" instruction
   ============================================ */
.zenith-reviews { display:block !important; padding:80px 24px; background:#fff; }

.zenith-reviews__row1 { text-align:center; margin-bottom:40px; }
.zenith-reviews__eyebrow { font-family:var(--sans); font-size:12px; letter-spacing:.15em; text-transform:uppercase; color:var(--gold); margin-bottom:8px; }
.zenith-reviews__heading { font-family:var(--heading); font-size:38px; color:#1a1a1a; margin:0; line-height:1.2; }

/* row2 removed — rating info is inside google-card now */

.zenith-reviews__row3 { display:grid; grid-template-columns:1fr 1fr 1fr 48px; gap:24px; max-width:1200px; margin:0 auto; align-items:stretch; }

.zenith-reviews__google-card {
  border:1px solid rgba(184,148,63,0.25); border-radius:12px;
  padding:32px 24px; text-align:center; background:#fff;
  height:100%; display:flex; flex-direction:column; justify-content:center;
}
.zenith-reviews__badge-logo { margin-bottom:12px; }
.zenith-reviews__badge-logo svg { width:40px; height:40px; }
.zenith-reviews__badge-rating { font-family:var(--heading); font-size:48px; color:var(--gold); line-height:1; }
.zenith-reviews__badge-stars { font-size:20px; color:var(--gold); margin:8px 0; }
.zenith-reviews__badge-count { font-size:13px; color:#888; margin-bottom:16px; }
.zenith-reviews__badge-link { display:inline-block; font-size:13px; color:var(--gold); text-decoration:underline; }

/* Arrow column */
.zenith-reviews__arrow-col { display:flex; align-items:center; justify-content:center; align-self:stretch; }
.zenith-reviews__next-btn {
  width:44px; height:44px; border-radius:50%;
  border:1px solid var(--gold); background:transparent; color:var(--gold);
  font-size:24px; cursor:pointer; line-height:1; transition:all .2s;
}
.zenith-reviews__next-btn:hover { background:var(--gold); color:#fff; }
.zenith-reviews__card {
  background:#fff; border:1px solid rgba(184,148,63,0.2); border-radius:12px;
  padding:32px; position:relative; margin:0;
  height:100%; display:flex; flex-direction:column; justify-content:center;
}
.zenith-reviews__card::before {
  content:'\201C'; font-family:var(--heading);
  font-size:40px; color:var(--gold); opacity:.25;
  position:absolute; top:12px; left:22px; line-height:1;
}
.zenith-reviews__card-stars { color:var(--gold); font-size:16px; letter-spacing:1px; margin-bottom:14px; padding-top:24px; }
.zenith-reviews__card-text { font-size:15px; line-height:1.7; color:var(--dark); font-style:italic; margin-bottom:18px; }
.zenith-reviews__card-author { font-weight:700; color:var(--dark); font-variant-caps:small-caps; letter-spacing:.04em; font-size:13px; }
.zenith-reviews__card-source { display:block; color:var(--muted); font-size:12px; margin-top:2px; }


/* ============================================
   END SECTION: REVIEWS
   ============================================ */

/* ═══════ 11. FAQ ═══════ */
.zenith-faq { background:var(--warm); padding:80px 0; }
.zenith-faq__heading { text-align:center; margin-bottom:40px; }
.zenith-faq__list { max-width:720px; margin:0 auto; }
.zenith-faq__item { border-bottom:1px solid var(--border); }
.zenith-faq__item:first-child { border-top:1px solid var(--border); }
.zenith-faq__q {
  width:100%; background:none; border:none; cursor:pointer;
  display:flex; justify-content:space-between; align-items:center; gap:16px;
  padding:20px 0; font-family:var(--sans); font-size:.95rem; font-weight:600;
  color:var(--dark); text-align:left; transition:color .2s;
}
.zenith-faq__q:hover { color:var(--gold); }
.zenith-faq__q::after { content:'+'; font-size:1.4rem; color:var(--gold); flex-shrink:0; font-weight:400; transition:transform .3s; }
.zenith-faq__item.is-open .zenith-faq__q::after { content:'\00D7'; transform:rotate(0deg); }
.zenith-faq__a { max-height:0; overflow:hidden; transition:max-height .4s ease; }
.zenith-faq__a p { font-size:.92rem; color:var(--muted); line-height:1.7; padding-bottom:20px; }
.zenith-faq__item.is-open .zenith-faq__a { max-height:400px; }

/* ============================================
   END SECTION: FAQ
   ============================================ */

/* ============================================
   SECTION: BLOG — LOCKED ✅ 2026-04-07
   DO NOT MODIFY WITHOUT "unlock blog" instruction
   ============================================ */
.zenith-blog-teaser { background:#fff; padding:80px 0; }
.zenith-blog-teaser__heading { text-align:center; margin-bottom:40px; }
.zenith-blog-teaser__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; max-width:1200px; margin:0 auto; }
.zenith-blog-teaser__card {
  display:block; text-decoration:none; color:var(--text); background:#fff;
  border-radius:12px; overflow:hidden; box-shadow:0 1px 6px rgba(0,0,0,.04);
  transition:transform .3s,box-shadow .3s;
}
.zenith-blog-teaser__card:hover { transform:translateY(-4px); box-shadow:0 8px 24px rgba(0,0,0,.08); }
.zenith-blog-teaser__img { height:220px; overflow:hidden; background:var(--warm); }
.zenith-blog-teaser__img img { width:100%; height:100%; object-fit:cover; display:block; }
.zenith-blog-teaser__cat { display:inline-block; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.1em; color:var(--gold); margin:16px 20px 8px; }
.zenith-blog-teaser__title { font-family:var(--heading); font-size:18px; font-weight:600; padding:0 20px; margin-bottom:8px; color:var(--dark); }
.zenith-blog-teaser__link { font-size:13px; font-weight:600; color:var(--gold); padding:0 20px 20px; display:block; }

/* ============================================
   END SECTION: BLOG
   ============================================ */

/* ============================================
   SECTION: MAP / NAP — LOCKED ✅ 2026-04-07
   DO NOT MODIFY WITHOUT "unlock map" instruction
   ============================================ */
.zenith-map-section { background:var(--warm); }
.zenith-map-section { background: var(--warm); }
.zenith-map-section__split { display:grid !important; grid-template-columns:1fr 1fr !important; min-height:360px !important; }
.zenith-map-section__map {
  background: #e8e0d0;
  min-height: 480px;
}
.zenith-map-section__map iframe { width:100%; height:100%; min-height:480px; border:0; display:block; }
.zenith-map-section__details { padding:60px 48px; display:flex; flex-direction:column; justify-content:center; }
.zenith-map-section__heading { margin-bottom:16px; }
.zenith-map-section__directions { font-size:.9rem; color:var(--muted); margin-bottom:24px; }
.zenith-map-section__nap {
  background:#fff; border:1px solid var(--border); border-left:4px solid var(--gold);
  border-radius:var(--radius); padding:28px 32px; font-style:normal; line-height:1.8;
  font-size:.9rem; color:var(--text); box-shadow:0 1px 6px rgba(0,0,0,.03);
}
.zenith-map-section__nap strong { font-family:var(--heading); font-size:1.05rem; color:var(--dark); }
.zenith-map-section__nap a { color:var(--gold); font-weight:600; text-decoration:none; }

/* ============================================
   END SECTION: MAP / NAP
   ============================================ */

/* ============================================
   SECTION: CTA BANNER — LOCKED ✅ 2026-04-07
   DO NOT MODIFY WITHOUT "unlock cta banner" instruction
   ============================================ */
.zenith-cta-banner { background:var(--gold); padding:96px 24px; text-align:center; }
.zenith-cta-banner__wrap { max-width:800px; margin:0 auto; }
.zenith-cta-banner__eyebrow { font-family:var(--sans); font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.75); margin-bottom:16px; }
.zenith-cta-banner__headline { font-family:'Playfair Display',Georgia,serif !important; font-style:normal !important; font-weight:700 !important; font-size:42px; color:#fff; line-height:1.2; margin-bottom:16px; }
.zenith-cta-banner__sub { font-family:var(--sans); font-size:16px; color:rgba(255,255,255,.85); margin-bottom:36px; line-height:1.6; }
.zenith-cta-banner__btns { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-bottom:32px; }
.zenith-cta-banner__btn { padding:16px 32px; border-radius:4px; font-family:var(--sans); font-size:15px; font-weight:600; text-decoration:none; transition:all .2s; display:inline-flex; align-items:center; }
.zenith-cta-banner__btn--primary { background:#fff; color:var(--gold); }
.zenith-cta-banner__btn--primary:hover { background:#1a1a1a; color:#fff; }
.zenith-cta-banner__btn--outline { background:transparent; color:#fff; border:2px solid #fff; }
.zenith-cta-banner__btn--outline:hover { background:#fff; color:var(--gold); }
.zenith-cta-banner__trust { font-size:13px; color:rgba(255,255,255,.75); letter-spacing:.05em; }

/* ============================================
   END SECTION: CTA BANNER
   ============================================ */

/* ═══════ ABOUT PAGE — Premium v3 ═══════ */
.za { padding-top:0; }
.za h2 { font-family:var(--heading); font-size:clamp(1.6rem,3.5vw,2.4rem); color:var(--dark); margin-bottom:20px; line-height:1.2; }

/* ── Shared: eyebrow label ── */
.za-eyebrow { display:block; font-family:var(--sans); font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:14px; font-weight:700; }
.za-eyebrow--light { color:rgba(255,255,255,.7); }

/* ── 1. HERO ── */
.za-hero {
  background:var(--dark) center/cover no-repeat; position:relative;
  min-height:60vh; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:64px 24px 56px;
}
.za-hero__inner { max-width:760px; position:relative; z-index:1; }
.za-hero__eyebrow { display:flex; align-items:center; justify-content:center; gap:16px; font-family:var(--sans); font-size:.72rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); margin-bottom:24px; }
.za-hero__line { display:inline-block; width:40px; height:1px; background:var(--gold); opacity:.5; }
.za-hero h1 { font-family:var(--heading); font-size:clamp(2.2rem,5.5vw,3.6rem); color:#fff; line-height:1.15; margin-bottom:24px; letter-spacing:-.01em; }
.za-hero__intro { font-size:1.08rem; color:rgba(255,255,255,.75); line-height:1.85; max-width:620px; margin:0 auto; }
.za-hero__badge { margin-top:32px; display:inline-flex; align-items:center; gap:10px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); border-radius:40px; padding:10px 24px; font-size:.85rem; color:rgba(255,255,255,.65); }
.za-hero__stars { color:var(--gold); font-size:1rem; letter-spacing:2px; }
.za-hero__scroll-hint { position:absolute; bottom:28px; left:50%; transform:translateX(-50%); font-size:1.6rem; color:rgba(255,255,255,.2); animation:za-bounce 2s infinite; }
@keyframes za-bounce { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(8px)} }

/* Hero — no image: gold background with animated orbs */
.za-hero--no-img { background:linear-gradient(160deg, #B8943F 0%, #8B6F2E 40%, #A3812F 70%, #D4AF6A 100%); overflow:hidden; }
.za-hero--no-img .za-hero__eyebrow { color:#fff; }
.za-hero--no-img .za-hero__line { background:rgba(255,255,255,.4); }
.za-hero--no-img .za-hero__badge { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.2); }
.za-hero--no-img .za-hero__stars { color:#fff; }

/* Floating orbs */
.za-hero__orb {
  position:absolute; border-radius:50%; opacity:.08; pointer-events:none;
  background:radial-gradient(circle, #fff 0%, transparent 70%);
}
.za-hero__orb--1 { width:400px; height:400px; top:-80px; right:-100px; animation:za-float1 8s ease-in-out infinite; }
.za-hero__orb--2 { width:300px; height:300px; bottom:-60px; left:-80px; animation:za-float2 10s ease-in-out infinite; }
.za-hero__orb--3 { width:200px; height:200px; top:40%; left:60%; animation:za-float3 12s ease-in-out infinite; }
@keyframes za-float1 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(-30px,20px)} }
@keyframes za-float2 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(20px,-25px)} }
@keyframes za-float3 { 0%,100%{transform:translate(0,0) scale(1)} 50%{transform:translate(-15px,15px) scale(1.1)} }

/* Diagonal glow line */
.za-hero__glow {
  position:absolute; top:0; left:-50%; width:200%; height:100%;
  background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,.04) 45%, rgba(255,255,255,.08) 50%, rgba(255,255,255,.04) 55%, transparent 70%);
  animation:za-glow-sweep 6s ease-in-out infinite;
  pointer-events:none;
}
@keyframes za-glow-sweep { 0%{transform:translateX(-30%)} 50%{transform:translateX(30%)} 100%{transform:translateX(-30%)} }

/* ── STATS BAR ── */
.za-stats { background:var(--warm); border-bottom:1px solid var(--border); }
.za-stats__inner { max-width:960px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); }
.za-stats__item { padding:36px 20px; text-align:center; position:relative; }
.za-stats__item:not(:last-child)::after { content:''; position:absolute; right:0; top:25%; height:50%; width:1px; background:var(--border); }
.za-stats__number { display:block; font-family:var(--heading); font-size:clamp(1.6rem,3vw,2.2rem); color:var(--gold); font-weight:700; line-height:1; margin-bottom:6px; }
.za-stats__label { font-family:var(--sans); font-size:.75rem; color:var(--muted); letter-spacing:.05em; }

/* ── GEO / PROSE (centered text sections) ── */
.za-prose { padding:72px 0; background:#fff; }
.za-prose--center { text-align:center; }
.za-prose__inner { max-width:700px; margin:0 auto; padding:0 28px; }
.za-prose__text { font-size:1rem; color:var(--text); line-height:1.9; }
.za-prose__text--italic { font-style:italic; font-size:1.05rem; color:var(--muted); }
.za-prose__text p { margin-bottom:16px; }

/* ── SPLIT SECTIONS (image + text) ── */
.za-split { background:#fff; }
.za-split__grid { display:grid; grid-template-columns:1fr 1fr; min-height:540px; }
.za-split__media { padding:48px; display:flex; align-items:center; justify-content:center; background:var(--warm); }
.za-split__img-wrap { position:relative; width:100%; max-width:480px; }
.za-split__img-wrap img { width:100%; height:auto; border-radius:10px; display:block; box-shadow:0 20px 60px rgba(0,0,0,.1); }
.za-split__img-accent { position:absolute; top:16px; left:16px; right:-16px; bottom:-16px; border:2px solid var(--gold); border-radius:10px; z-index:-1; opacity:.4; }
.za-split__body { padding:64px 56px; display:flex; flex-direction:column; justify-content:center; }
.za-split__body--full { grid-column:1/-1; max-width:700px; margin:0 auto; padding:64px 28px; }
.za-split__text { font-size:.95rem; color:var(--text); line-height:1.85; }
.za-split__text p { margin-bottom:14px; }
.za-split--reverse .za-split__grid { direction:rtl; }
.za-split--reverse .za-split__body,
.za-split--reverse .za-split__media { direction:ltr; }

/* ── FEATURE (full-width centered block with left accent) ── */
.za-feature { padding:80px 0; background:var(--warm); position:relative; }
.za-feature--warm { background:#fff; }
.za-feature__inner { max-width:680px; margin:0 auto; padding:0 28px 0 52px; position:relative; }
.za-feature__accent { position:absolute; left:28px; top:0; bottom:0; width:3px; background:var(--gold); border-radius:2px; }
.za-feature__text { font-size:.95rem; color:var(--text); line-height:1.85; }
.za-feature__text p { margin-bottom:14px; }

/* ── GALLERY ── */
.za-gallery { display:grid; grid-template-columns:1fr 1fr; }
.za-gallery img { width:100%; height:340px; object-fit:cover; display:block; }

/* ── TRUST — Gold background ── */
.za-trust { background:var(--gold); padding:88px 0; }
.za-trust__inner { max-width:920px; margin:0 auto; padding:0 28px; text-align:center; }
.za-trust h2 { color:#fff; margin-bottom:16px; }
.za-trust__nap { font-size:.95rem; color:#fff; line-height:1.8; margin-bottom:36px; }
.za-trust__nap a { color:#fff; font-weight:700; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.4); }
.za-trust__nap a:hover { border-color:#fff; }
.za-trust__text { font-size:.95rem; color:#fff !important; line-height:1.8; margin-bottom:36px; }
.za-trust__text p,
.za-trust__text span,
.za-trust__text li,
.za-trust__text strong { color:#fff !important; }
.za-trust__text p { margin-bottom:14px; }

.za-trust__cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); gap:14px; margin-bottom:36px; }
.za-trust__card {
  background:rgba(255,255,255,.12); backdrop-filter:blur(4px);
  border:1px solid rgba(255,255,255,.18); border-radius:10px;
  padding:28px 16px; display:flex; flex-direction:column; align-items:center; gap:6px;
  transition:background .2s, transform .2s;
}
.za-trust__card:hover { background:rgba(255,255,255,.2); transform:translateY(-3px); }
.za-trust__card strong { font-family:var(--heading); font-size:.95rem; color:#fff; }
.za-trust__card span { font-size:.78rem; color:#fff; }
.za-trust__card a { font-size:.78rem; color:#fff; text-decoration:none; border-bottom:1px dotted rgba(255,255,255,.4); }

.za-trust__badges { margin-bottom:32px; }
.za-trust__badges h3 { font-family:var(--sans); font-size:.72rem; color:#fff; text-transform:uppercase; letter-spacing:.15em; margin-bottom:14px; }
.za-trust__badge-row { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.za-trust__badge { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); padding:8px 20px; border-radius:24px; font-size:.8rem; color:#fff; }
.za-trust__badge a { color:#fff; text-decoration:none; }

.za-trust__links { display:flex; gap:20px; flex-wrap:wrap; justify-content:center; margin-top:32px; padding-top:28px; border-top:1px solid rgba(255,255,255,.18); }
.za-trust__links a { color:#fff; font-weight:600; font-size:.85rem; text-decoration:none; padding:8px 16px; border:1px solid rgba(255,255,255,.2); border-radius:6px; transition:all .2s; }
.za-trust__links a:hover { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.4); }

/* ── TEAM ── */
.za-team { background:var(--warm); overflow:hidden; }
.za-team__grid { display:grid; grid-template-columns:1fr 1fr; min-height:560px; }
.za-team__photo { overflow:hidden; position:relative; }
.za-team__photo img { width:100%; height:100%; object-fit:cover; display:block; }
.za-team__body { padding:64px 56px; display:flex; flex-direction:column; justify-content:center; }
.za-team__body--full { grid-column:1/-1; max-width:700px; margin:0 auto; padding:64px 28px; }
.za-team__name { font-family:var(--heading); font-size:1.5rem; color:var(--dark); margin-bottom:2px; margin-top:16px; }
.za-team__title { display:inline-block; font-size:.8rem; color:var(--gold); font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-bottom:20px; padding-bottom:16px; border-bottom:2px solid var(--gold); }
.za-team__bio { font-size:.95rem; color:var(--text); line-height:1.85; }
.za-team__bio p { margin-bottom:14px; }
.za-team__general { font-size:.95rem; color:var(--muted); line-height:1.85; margin-top:24px; padding-top:20px; border-top:1px solid var(--border); }
.za-team__general p { margin-bottom:14px; }

/* ── CTA ── */
.za-cta { background:var(--gold); text-align:center; padding:80px 24px; position:relative; overflow:hidden; }
.za-cta::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent); }
.za-cta__inner { max-width:580px; margin:0 auto; position:relative; z-index:1; }
.za-cta__text { color:rgba(255,255,255,.9); font-size:1.08rem; line-height:1.75; margin-bottom:36px; }
.za-cta__buttons { display:flex; justify-content:center; gap:16px; flex-wrap:wrap; }
.za-cta__btn {
  display:inline-flex; align-items:center; justify-content:center;
  padding:16px 36px; border-radius:6px; font-family:var(--sans);
  font-size:.9rem; font-weight:700; text-decoration:none; transition:all .25s; letter-spacing:.02em;
}
.za-cta__btn--white { background:#fff; color:var(--gold); box-shadow:0 4px 20px rgba(0,0,0,.1); }
.za-cta__btn--white:hover { background:var(--dark); color:#fff; transform:translateY(-3px); box-shadow:0 8px 30px rgba(0,0,0,.2); }
.za-cta__btn--outline { background:transparent; color:#fff; border:2px solid rgba(255,255,255,.35); }
.za-cta__btn--outline:hover { border-color:#fff; background:rgba(255,255,255,.08); transform:translateY(-3px); }
a.za-cta__btn--white, a.za-cta__btn--white:hover,
a.za-cta__btn--outline, a.za-cta__btn--outline:hover { -webkit-text-fill-color:inherit; text-decoration:none; }

/* ── MOBILE ── */
@media(max-width:768px){
  .za-hero { min-height:50vh; padding:56px 20px 48px; }
  .za-hero h1 { font-size:clamp(1.7rem,7vw,2.4rem); }
  .za-hero__line { width:24px; }
  .za-hero__scroll-hint { display:none; }
  .za-stats__inner { grid-template-columns:1fr 1fr; }
  .za-stats__item { padding:28px 16px; }
  .za-stats__item:nth-child(2)::after { display:none; }
  .za-prose { padding:52px 0; }
  .za-split__grid { grid-template-columns:1fr !important; direction:ltr !important; }
  .za-split__media { padding:32px 24px; }
  .za-split__img-accent { display:none; }
  .za-split__body { padding:40px 24px; }
  .za-feature { padding:56px 0; }
  .za-feature__inner { padding-left:40px; }
  .za-feature__accent { left:16px; }
  .za-gallery { grid-template-columns:1fr; gap:4px; }
  .za-gallery img { height:260px; }
  .za-gallery img:first-child { margin-bottom:0; }
  .za-gallery img:last-child { display:none; }
  .za-trust { padding:60px 0; }
  .za-trust__cards { grid-template-columns:1fr 1fr; }
  .za-team__grid { grid-template-columns:1fr !important; }
  .za-team__photo { height:320px; }
  .za-team__photo img { height:320px; }
  .za-team__body { padding:40px 24px; text-align:center; }
  .za-team__title { margin-left:auto; margin-right:auto; }
  .za-cta { padding:60px 20px; }
  .za-cta__buttons { flex-direction:column; align-items:center; }
  .za-cta__btn { width:100%; max-width:320px; }
}
@media(max-width:480px){
  .za-stats__inner { grid-template-columns:1fr 1fr; }
  .za-stats__item:nth-child(odd)::after { display:block; }
  .za-stats__item:nth-child(even)::after { display:none; }
  .za-trust__cards { grid-template-columns:1fr; }
}

/* ═══════ SERVICES HUB PAGE ═══════ */
.zh { padding-top:0; }
.zh h2 { font-family:var(--heading); font-size:clamp(1.5rem,3.5vw,2.2rem); color:var(--dark); margin-bottom:20px; line-height:1.2; }

/* Shared containers */
.zh-narrow { max-width:760px; margin:0 auto; padding:0 28px; }
.zh-wide { max-width:1100px; margin:0 auto; padding:0 28px; }

/* Eyebrow */
.zh-eyebrow { display:block; font-family:var(--sans); font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:14px; font-weight:700; }
.zh-eyebrow--light { color:rgba(255,255,255,.7); }

/* Buttons */
.zh-btn { display:inline-flex; align-items:center; justify-content:center; padding:15px 32px; border-radius:6px; font-family:var(--sans); font-size:.9rem; font-weight:700; text-decoration:none; transition:all .25s; letter-spacing:.02em; }
.zh-btn--white { background:#fff; color:var(--gold); box-shadow:0 4px 20px rgba(0,0,0,.1); }
.zh-btn--white:hover { background:var(--dark); color:#fff; transform:translateY(-3px); }
.zh-btn--outline { background:transparent; color:#fff; border:2px solid rgba(255,255,255,.35); }
.zh-btn--outline:hover { border-color:#fff; background:rgba(255,255,255,.08); transform:translateY(-3px); }
.zh-btn--outline-light { background:transparent; color:#fff; border:2px solid rgba(255,255,255,.35); }
.zh-btn--outline-light:hover { border-color:#fff; background:rgba(255,255,255,.1); }
.zh-btn--gold { background:var(--gold); color:#fff; }
.zh-btn--gold:hover { background:var(--gold-dark); transform:translateY(-3px); }
a.zh-btn--gold,
a.zh-btn--gold:link,
a.zh-btn--gold:visited,
a.zh-btn--gold:hover,
a.zh-btn--gold:focus,
a.zh-btn--gold:active { color:#fff !important; -webkit-text-fill-color:#fff !important; text-decoration:none !important; }
a.zh-btn, a.zh-btn:hover { -webkit-text-fill-color:inherit; text-decoration:none; }

/* ── Breadcrumb ── */
.zh-breadcrumb { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }
.zh-breadcrumb ol { list-style:none; display:flex; gap:8px; margin:0; padding:0; max-width:1100px; margin:0 auto; }
.zh-breadcrumb li::before { content:'›'; margin-right:8px; color:var(--border); }
.zh-breadcrumb li:first-child::before { display:none; }
.zh-breadcrumb a { color:var(--gold); text-decoration:none; }
.zh-breadcrumb a:hover { text-decoration:underline; }

/* ── Hero — Split 70/30 ── */
.zh-hero--split {
  display:grid; grid-template-columns:60% 40%; min-height:60vh; width:100%;
}
.zh-hero__left {
  background:var(--warm); padding:56px 56px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center;
}
.zh-hero__eyebrow { display:flex; align-items:center; justify-content:center; gap:12px; font-family:var(--sans); font-size:.72rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; }
.zh-hero__line { display:inline-block; width:32px; height:1px; background:var(--gold); opacity:.5; }
.zh-hero h1 { font-family:var(--heading); font-size:clamp(2rem,4.5vw,3rem); color:var(--dark); line-height:1.15; margin-bottom:20px; }
.zh-hero__text { font-size:1rem; color:var(--muted); line-height:1.85; max-width:600px; margin-bottom:28px; }
.zh-hero__cta { display:flex; justify-content:center; gap:14px; flex-wrap:wrap; }
.zh-hero__right {
  overflow:hidden; position:relative;
  background:linear-gradient(135deg,#2d2a22,#1a1a1a);
  min-height:60vh;
}
/* img is absolutely positioned so its natural aspect ratio doesn't inflate
   the grid row. Portrait images (e.g. wall-panels at 945x1382) were
   pushing the row to ~1130px before this; now the row stays at 60vh and
   object-fit:cover crops the image to fill. */
.zh-hero__right img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.zh-hero__right-placeholder { position:absolute; inset:0; width:100%; height:100%; background:linear-gradient(135deg,var(--gold),var(--gold-dark)); }

/* Hero buttons on warm bg */
.zh-btn--outline-dark { background:transparent; color:var(--dark); border:2px solid var(--dark); }
.zh-btn--outline-dark:hover { background:var(--dark); color:#fff; transform:translateY(-3px); }
a.zh-btn--outline-dark,
a.zh-btn--outline-dark:link,
a.zh-btn--outline-dark:visited { color:var(--dark) !important; -webkit-text-fill-color:var(--dark) !important; text-decoration:none !important; }
a.zh-btn--outline-dark:hover,
a.zh-btn--outline-dark:focus,
a.zh-btn--outline-dark:active { color:#fff !important; -webkit-text-fill-color:#fff !important; text-decoration:none !important; }

/* ── Trust Bar ── */
.zh-trust-bar { background:var(--warm); border-bottom:1px solid var(--border); }
.zh-trust-bar__inner { max-width:1000px; margin:0 auto; display:flex; flex-wrap:wrap; justify-content:center; }
.zh-trust-bar__item { flex:0 0 200px; padding:28px 16px; text-align:center; position:relative; }
.zh-trust-bar__item:not(:last-child)::after { content:''; position:absolute; right:0; top:25%; height:50%; width:1px; background:var(--border); }
.zh-trust-bar__val { display:block; font-family:var(--heading); font-size:1.3rem; color:var(--gold); font-weight:700; line-height:1; margin-bottom:4px; }
.zh-trust-bar__label { font-family:var(--sans); font-size:.72rem; color:var(--muted); letter-spacing:.03em; }

/* ── Intro ── */
.zh-intro { padding:72px 0; background:#fff; text-align:center; }
.zh-intro__text { font-size:1rem; color:var(--text); line-height:1.9; text-align:center; }
.zh-intro__text p { margin-bottom:16px; }

/* Split variant — used by silo-hub template (image + text side by side). */
.zh-intro--split { text-align:center; }
.zh-intro--split .zh-intro__grid {
  max-width:1100px; margin:0 auto; padding:0 28px;
  display:grid; grid-template-columns:42% 1fr; gap:48px;
  align-items:center;
}
.zh-intro--split .zh-intro__media { position:relative; }
.zh-intro--split .zh-intro__media img {
  width:100%; height:auto; display:block; border-radius:10px;
  aspect-ratio:4/3; object-fit:cover;
  box-shadow:0 20px 60px rgba(0,0,0,.12);
}
.zh-intro--split .zh-intro__media::after {
  content:''; position:absolute; top:16px; left:16px; right:-16px; bottom:-16px;
  border:2px solid var(--gold); border-radius:10px; z-index:-1; opacity:.4;
}
.zh-intro--split .zh-intro__body { text-align:center; }
.zh-intro--split .zh-intro__body h2 { margin-bottom:16px; }
.zh-intro--split .zh-intro__text { text-align:center; font-size:1rem; line-height:1.8; }
.zh-intro--split .zh-intro__text p { margin-bottom:14px; }

/* ── Services Grid ── */
.zh-services { padding:80px 0; background:var(--warm); }
.zh-services__heading { text-align:center; margin-bottom:40px; }
.zh-services__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.zh-services__grid[data-count="1"] { grid-template-columns:1fr; max-width:500px; margin:0 auto; }
.zh-svc-card { background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 2px 12px rgba(0,0,0,.04); transition:box-shadow .3s,transform .3s; }
.zh-svc-card:hover { box-shadow:0 12px 36px rgba(0,0,0,.1); transform:translateY(-5px); }
.zh-svc-card__img img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.zh-svc-card__body { padding:24px; }
.zh-svc-card__body h3 { font-family:var(--heading); font-size:1.1rem; color:var(--dark); margin-bottom:8px; }
.zh-svc-card__body p { font-size:.88rem; color:var(--muted); line-height:1.7; margin-bottom:12px; }
.zh-svc-card__link { font-family:var(--sans); font-size:.85rem; color:var(--gold); font-weight:600; text-decoration:none; }
.zh-svc-card__link:hover { text-decoration:underline; }

/* ── Process ── */
.zh-process { padding:72px 0; background:#fff; }
.zh-process__steps { list-style:none; padding:0; margin:32px 0 0; counter-reset:none; }
.zh-process__step { display:flex; gap:24px; align-items:flex-start; padding:28px 0; border-bottom:1px solid var(--border); }
.zh-process__step:last-child { border-bottom:none; }
.zh-process__num { flex-shrink:0; width:48px; height:48px; border-radius:50%; background:var(--gold); color:#fff; font-family:var(--heading); font-size:1.2rem; font-weight:700; display:flex; align-items:center; justify-content:center; }
.zh-process__content h3 { font-family:var(--heading); font-size:1.05rem; color:var(--dark); margin-bottom:6px; }
.zh-process__content p { font-size:.9rem; color:var(--muted); line-height:1.7; }

/* ── Why Choose ── */
.zh-why { padding:72px 0; background:var(--warm); }
.zh-why h2 { text-align:center; }
.zh-why__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:32px; }
.zh-why__card { background:#fff; padding:32px 28px; border-radius:10px; border-left:4px solid var(--gold); display:flex; flex-direction:column; box-sizing:border-box; }
.zh-why__card--with-img { padding:0; overflow:hidden; }
.zh-why__card--with-img .zh-why__card-body { padding:24px 28px 28px; }
.zh-why__card h3 { font-family:var(--heading); font-size:1rem; color:var(--dark); margin-bottom:8px; }
.zh-why__card p { font-size:.9rem; color:var(--muted); line-height:1.7; }

/* Product Models variant — name + optional 1-line tagline, no description body */
.zh-why__card--model .zh-why__card-body { padding-top:18px; padding-bottom:22px; }
.zh-why__card--model h3 { font-size:1.15rem; margin-bottom:4px; }
.zh-why__card-tagline {
  font-size:.85rem; color:var(--muted); line-height:1.5;
  margin:0; letter-spacing:.01em;
  display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical;
  overflow:hidden; text-overflow:ellipsis;
}

/* Product Models — pricing row */
.zh-why__card-pricing {
  display:flex; flex-wrap:wrap; align-items:baseline;
  gap:10px; margin-top:14px;
}
.zh-why__card-price {
  font-family:var(--sans);
  font-weight:600; color:var(--dark);
  font-size:1.05rem; line-height:1.2;
}
.zh-why__card-price--old {
  text-decoration:line-through;
  color:var(--muted);
  font-weight:500;
  font-size:.9rem;
}
.zh-why__card-price--sale {
  color:var(--gold);
  font-weight:700;
  font-size:1.2rem;
}
.zh-why__card-discount-badge {
  background:var(--gold); color:#fff;
  padding:3px 10px; border-radius:4px;
  font-size:.7rem; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase;
  line-height:1.4;
}

/* Product Models — "Buy Now" call CTA */
.zh-why__card-cta {
  display:inline-flex;
  align-items:center; justify-content:center;
  width:100%; box-sizing:border-box;
  margin-top:16px;
  padding:12px 20px;
  background:var(--gold); color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border-radius:6px;
  font-family:var(--sans);
  font-size:.95rem; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase;
  text-decoration:none !important;
  transition:background .2s, transform .2s;
}
.zh-why__card-cta:hover,
.zh-why__card-cta:focus {
  background:var(--gold-dark);
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-decoration:none !important;
  transform:translateY(-1px);
}

/* ── Type-card image: stage + thumbnail strip below ── */
.zh-why__card-img { background:var(--warm); display:flex; flex-direction:column; }
.zh-why__card-stage { position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--warm); }
.zh-why__card-img-slide {
	position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
	opacity:0; transition:opacity .25s ease; pointer-events:none;
}
.zh-why__card-img-slide.is-active { opacity:1; pointer-events:auto; }
.zh-why__card-thumbs {
	display:flex; gap:8px; padding:14px 16px; background:#fafafa;
	border-top:1px solid var(--border, #eee);
	overflow-x:auto; scrollbar-width:thin;
}
.zh-why__card-thumb {
	flex-shrink:0; width:64px; height:48px; padding:0;
	border:2px solid transparent; border-radius:6px; overflow:hidden;
	cursor:pointer; background:transparent; opacity:.75;
	transition:border-color .2s ease, opacity .2s ease;
}
.zh-why__card-thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.zh-why__card-thumb:hover { opacity:1; }
.zh-why__card-thumb.is-active { opacity:1; border-color:var(--gold); }

/* ── Color variation cards (photo on top, name below — like product list) ── */
.zh-why__card-colors { margin-top:18px; }
.zh-why__card-colors-label {
	display:block; font-size:.78rem; color:var(--muted);
	text-transform:uppercase; letter-spacing:.06em; margin-bottom:12px; font-weight:600;
}
.zh-why__card-colors-grid {
	display:grid; grid-template-columns:repeat(auto-fill, minmax(82px, 1fr)); gap:14px;
}
.zh-color-card { display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; }
.zh-color-card__photo {
	display:block; width:100%; aspect-ratio:1/1; padding:0;
	border:2px solid transparent; border-radius:8px; overflow:hidden;
	cursor:zoom-in; background:transparent;
	transition:border-color .2s ease, transform .15s ease, box-shadow .2s ease;
}
.zh-color-card__photo:hover { border-color:var(--gold); transform:translateY(-2px); box-shadow:0 6px 14px rgba(184,148,63,.18); }
.zh-color-card__photo img { display:block; width:100%; height:100%; object-fit:cover; }
.zh-color-card__swatch {
	display:block; width:100%; aspect-ratio:1/1; border-radius:8px;
	border:1px solid rgba(0,0,0,.08); box-shadow:0 1px 3px rgba(0,0,0,.06);
}
.zh-color-card__name {
	font-family:var(--heading); font-size:.9rem; font-weight:700;
	color:var(--gold); line-height:1.3;
}

/* ── Lightbox ── */
.zh-lightbox {
	position:fixed; inset:0; background:rgba(0,0,0,.88); z-index:99999;
	display:flex; align-items:center; justify-content:center; padding:24px;
	opacity:0; visibility:hidden; transition:opacity .25s ease, visibility .25s ease;
}
.zh-lightbox.is-open { opacity:1; visibility:visible; }
.zh-lightbox__img {
	max-width:min(95vw,1400px); max-height:90vh; object-fit:contain;
	box-shadow:0 25px 80px rgba(0,0,0,.5); border-radius:8px; background:#fff;
}
.zh-lightbox__close {
	position:absolute; top:24px; right:24px; width:44px; height:44px;
	background:#fff; border:0; border-radius:50%; font-size:1.6rem; line-height:1;
	cursor:pointer; box-shadow:0 4px 14px rgba(0,0,0,.25); color:var(--dark);
	transition:transform .15s ease;
}
.zh-lightbox__close:hover { transform:scale(1.08); }
[data-zenith-lightbox] { cursor:zoom-in; }

/* ── Hero carousel ── */
.zh-carousel { position:relative; width:100%; height:100%; min-height:320px; }
.zh-carousel__main { position:relative; width:100%; height:100%; min-height:320px; overflow:hidden; }
.zh-carousel__slide {
	position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
	opacity:0; transition:opacity .35s ease; pointer-events:none;
}
.zh-carousel__slide.is-active { opacity:1; pointer-events:auto; }
.zh-carousel__thumbs {
	position:absolute; left:50%; bottom:14px; transform:translateX(-50%);
	display:flex; gap:8px; padding:8px 12px;
	background:rgba(0,0,0,.5); border-radius:8px; backdrop-filter:blur(6px); max-width:90%; overflow-x:auto;
}
.zh-carousel__thumb {
	flex-shrink:0; width:54px; height:42px; padding:0; border:2px solid transparent;
	border-radius:4px; overflow:hidden; cursor:pointer; background:transparent;
	transition:border-color .2s ease, opacity .2s ease; opacity:.7;
}
.zh-carousel__thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.zh-carousel__thumb:hover { opacity:1; }
.zh-carousel__thumb.is-active { opacity:1; border-color:var(--gold); }

/* ── Service Areas ── */
.zh-areas { padding:72px 0; background:#fff; text-align:left; }
.zh-areas__text { font-size:.95rem; color:var(--text); line-height:1.85; text-align:left; }
.zh-areas__text p { margin-bottom:14px; }

/* ── FAQ ── */
.zh-faq { padding:72px 0; background:var(--warm); }
.zh-faq h2 { text-align:center; }
.zh-faq__list { margin-top:24px; }
.zh-faq__item { border-bottom:1px solid var(--border); }
.zh-faq__q { width:100%; text-align:left; background:none; border:none; padding:20px 40px 20px 0; font-family:var(--heading); font-size:1rem; color:var(--dark); cursor:pointer; position:relative; font-weight:600; }
.zh-faq__q::after { content:'+'; position:absolute; right:0; top:50%; transform:translateY(-50%); font-size:1.4rem; color:var(--gold); transition:transform .2s; }
.zh-faq__item.is-open .zh-faq__q::after { content:'−'; }
.zh-faq__a { max-height:0; overflow:hidden; transition:max-height .3s ease; }
.zh-faq__item.is-open .zh-faq__a { max-height:300px; }
.zh-faq__a p { padding:0 0 20px; font-size:.9rem; color:var(--muted); line-height:1.8; }

/* ── Benefits (child silo) ── */
.zh-benefits { padding:72px 0; background:var(--warm); }
.zh-benefits__inner { max-width:1200px; margin:0 auto; padding:0 28px; }
.zh-benefits__heading {
	font-family:var(--heading);
	font-size:clamp(1.5rem,3.2vw,2.1rem);
	color:var(--dark);
	text-align:center;
	margin:0 0 48px;
	line-height:1.25;
}
.zh-benefits__grid {
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	gap:24px;
}
.zh-benefits__item {
	display:flex;
	align-items:flex-start;
	gap:24px;
	background:#fff;
	padding:32px;
	border:1px solid var(--border);
	border-radius:10px;
	box-shadow:0 4px 18px rgba(0,0,0,.04);
	transition:transform .2s ease, box-shadow .2s ease;
}
.zh-benefits__item:hover { transform:translateY(-3px); box-shadow:0 10px 28px rgba(184,148,63,.12); border-color:var(--gold); }
.zh-benefits__item--full { grid-column:1 / -1; }
.zh-benefits__num {
	flex-shrink:0;
	font-family:var(--heading);
	font-size:2.4rem;
	font-weight:700;
	color:var(--gold);
	line-height:1;
	letter-spacing:-1px;
	min-width:48px;
}
.zh-benefits__content { flex:1; min-width:0; }
.zh-benefits__content h3 {
	font-family:var(--heading);
	font-size:1.15rem;
	color:var(--dark);
	margin:0 0 10px;
	line-height:1.35;
}
.zh-benefits__content p {
	font-size:.95rem;
	color:var(--muted);
	line-height:1.75;
	margin:0;
}

/* ── Cost (child silo) ── */
.zh-cost { padding:72px 0; background:var(--warm); }
.zh-cost h2 { text-align:center; }
.zh-cost__text { font-size:.95rem; color:var(--text); line-height:1.85; text-align:center; max-width:700px; margin:0 auto; }
.zh-cost__text p { margin-bottom:14px; }
/* Split variant — image + body */
.zh-cost--split .zh-cost__grid {
	max-width:1200px; margin:0 auto; padding:0 28px;
	display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;
}
.zh-cost--split .zh-cost__media {
	position:relative; aspect-ratio:4/3;
	border-radius:12px; overflow:hidden;
	box-shadow:0 10px 30px rgba(0,0,0,.08);
}
.zh-cost--split .zh-cost__media img { width:100%; height:100%; object-fit:cover; display:block; }
.zh-cost--split .zh-cost__body h2 {
	text-align:left;
	font-family:var(--heading);
	font-size:clamp(1.5rem,3vw,2rem);
	color:var(--dark);
	margin:0 0 20px;
	line-height:1.25;
}
.zh-cost--split .zh-cost__text { text-align:left; max-width:none; margin:0; }

/* ── Reviews (child silo) ── */
.zh-reviews { padding:72px 0; background:#fff; }
.zh-reviews h2 { text-align:center; }
.zh-reviews__intro { text-align:center; font-size:.95rem; color:var(--muted); margin-bottom:32px; }
.zh-reviews__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; margin-bottom:24px; }
.zh-reviews__card { background:var(--warm); padding:28px 24px; border-radius:10px; margin:0; border:none; border-left:4px solid var(--gold); }
.zh-reviews__stars { color:var(--gold); font-size:1rem; margin-bottom:12px; letter-spacing:2px; }
.zh-reviews__card p { font-size:.9rem; color:var(--text); line-height:1.7; font-style:italic; margin-bottom:12px; }
.zh-reviews__card cite { font-size:.82rem; color:var(--muted); font-style:normal; font-weight:600; }
.zh-reviews__gbp { display:block; text-align:center; color:var(--gold); font-weight:600; font-size:.9rem; text-decoration:none; }
.zh-reviews__gbp:hover { text-decoration:underline; }

/* ── Service Area + Map (child silo) ── */
.zh-area { padding:72px 0; background:var(--warm); }
.zh-area__grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; }
.zh-area__text-col h2 { margin-bottom:16px; }
.zh-area__text { font-size:.95rem; color:var(--text); line-height:1.85; }
.zh-area__text p { margin-bottom:14px; }
.zh-area__map { border-radius:10px; overflow:hidden; box-shadow:0 4px 20px rgba(0,0,0,.08); }
.zh-area__map iframe { width:100%; height:350px; display:block; border:0; }

/* ── Gallery (child silo) ── */
.zh-gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); }
.zh-gallery img { width:100%; height:300px; object-fit:cover; display:block; }

/* ── Related Services (child silo) ── */
.zh-related { padding:56px 0; background:#fff; text-align:center; }
.zh-related h2 { margin-bottom:16px; }
.zh-related__text { font-size:.95rem; color:var(--text); line-height:1.85; }
.zh-related__text a { color:var(--gold); font-weight:600; text-decoration:none; }
.zh-related__text a:hover { text-decoration:underline; }

/* ── CTA ── */
.zh-cta { background:var(--gold); text-align:center; padding:80px 24px; position:relative; overflow:hidden; }
.zh-cta::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent); }
.zh-cta__inner { max-width:600px; margin:0 auto; position:relative; z-index:1; }
.zh-cta h2 { color:#fff; margin-bottom:16px; }
.zh-cta__text { color:rgba(255,255,255,.9); font-size:1.05rem; line-height:1.75; margin-bottom:36px; }
.zh-cta__buttons { display:flex; justify-content:center; gap:16px; flex-wrap:wrap; }

/* ── Services Hub Mobile ── */
@media(max-width:768px){
  .zh-hero--split { grid-template-columns:1fr !important; }
  .zh-hero__left { padding:48px 24px; }
  .zh-hero h1 { font-size:clamp(1.7rem,7vw,2.4rem); }
  .zh-hero__line { width:20px; }
  .zh-hero__right { height:260px; }
  .zh-hero__right img { height:260px; }
  .zh-hero__cta { flex-direction:column; align-items:stretch; }
  .zh-hero__cta .zh-btn { width:100%; text-align:center; justify-content:center; }
  .zh-trust-bar__item { flex:0 0 50%; padding:20px 12px; }
  .zh-trust-bar__item:nth-child(2n)::after { display:none; }
  .zh-intro { padding:52px 0; }
  .zh-intro--split .zh-intro__grid { grid-template-columns:1fr; gap:28px; padding:0 24px; }
  .zh-intro--split .zh-intro__media::after { display:none; }
  .zh-services { padding:56px 0; }
  .zh-services__grid { grid-template-columns:1fr; }
  .zh-process { padding:52px 0; }
  .zh-why { padding:52px 0; }
  .zh-why__grid { grid-template-columns:1fr; }
  .zh-why__card-stage { aspect-ratio:16/9; }
  .zh-why__card-thumb { width:54px; height:42px; }
  .zh-why__card-colors-grid { grid-template-columns:repeat(auto-fill, minmax(72px, 1fr)); gap:12px; }
  .zh-lightbox__close { top:14px; right:14px; width:38px; height:38px; }
  .zh-areas { padding:52px 0; }
  .zh-benefits { padding:52px 0; }
  .zh-benefits__inner { padding:0 20px; }
  .zh-benefits__heading { margin-bottom:32px; }
  .zh-benefits__grid { grid-template-columns:1fr; gap:16px; }
  .zh-benefits__item { padding:24px; gap:16px; }
  .zh-benefits__num { font-size:1.8rem; min-width:auto; }
  .zh-benefits__content h3 { font-size:1.05rem; }
  .zh-cost { padding:52px 0; }
  .zh-cost--split .zh-cost__grid { grid-template-columns:1fr; gap:24px; padding:0 20px; }
  .zh-cost--split .zh-cost__media { aspect-ratio:16/9; }
  .zh-cost--split .zh-cost__body h2 { font-size:1.4rem; }
  .zh-reviews { padding:52px 0; }
  .zh-reviews__grid { grid-template-columns:1fr; }
  .zh-area { padding:52px 0; }
  .zh-area__grid { grid-template-columns:1fr; }
  .zh-area__map iframe { height:280px; }
  .zh-gallery { grid-template-columns:1fr; }
  .zh-gallery img { height:240px; }
  .zh-related { padding:44px 0; }
  .zh-faq { padding:52px 0; }
  .zh-cta { padding:60px 20px; }
  .zh-cta__buttons { flex-direction:column; align-items:center; }
  .zh-cta__buttons .zh-btn { width:100%; max-width:320px; }
}
@media(max-width:480px){
  .zh-trust-bar__inner { grid-template-columns:1fr 1fr; }
}

/* ═══════ CONTACT PAGE ═══════ */

/* Hero */
.zh-contact-hero { padding:56px 0 40px; background:var(--warm); text-align:center; }
.zh-contact-hero .zh-eyebrow { color:var(--gold); }
.zh-contact-hero h1 { font-family:var(--heading); font-size:clamp(2rem,4.5vw,3rem); color:var(--dark); margin-bottom:20px; line-height:1.2; }
.zh-contact-hero__intro { font-size:1.05rem; color:var(--text); line-height:1.85; max-width:680px; margin:0 auto; }

/* Contact form section */
.zh-contact-form { padding:64px 0; background:#fff; }
.zh-contact-form__inner { max-width:1100px; margin:0 auto; padding:0 28px; display:grid; grid-template-columns:1fr 1.2fr; gap:48px; align-items:start; }
.zh-contact-form__left h2 { font-family:var(--heading); font-size:clamp(1.4rem,3vw,1.8rem); color:var(--dark); margin-bottom:14px; }
.zh-contact-form__left p { font-size:.95rem; color:var(--muted); line-height:1.75; margin-bottom:24px; }
.zh-contact-form__call-btn {
	display:inline-flex; align-items:center; gap:12px;
	background:var(--gold); color:#fff; padding:18px 32px;
	border-radius:8px; font-family:var(--sans); font-size:1.1rem; font-weight:700;
	text-decoration:none; transition:all .2s; box-shadow:0 4px 18px rgba(184,148,63,.25);
}
.zh-contact-form__call-btn:hover { background:var(--gold-dark); transform:translateY(-3px); }
a.zh-contact-form__call-btn,
a.zh-contact-form__call-btn:link,
a.zh-contact-form__call-btn:visited,
a.zh-contact-form__call-btn:hover,
a.zh-contact-form__call-btn:focus,
a.zh-contact-form__call-btn:active { color:#fff !important; -webkit-text-fill-color:#fff !important; text-decoration:none !important; }
.zh-contact-form__call-icon { font-size:1.3rem; }
.zh-contact-form__directions-btn {
	display:inline-flex; align-items:center; gap:12px;
	background:var(--dark); color:#fff; padding:18px 32px;
	border-radius:8px; font-family:var(--sans); font-size:1.1rem; font-weight:700;
	text-decoration:none; transition:all .2s; margin-top:12px;
}
.zh-contact-form__directions-btn:hover { background:var(--gold); transform:translateY(-3px); }
a.zh-contact-form__directions-btn,
a.zh-contact-form__directions-btn:link,
a.zh-contact-form__directions-btn:visited,
a.zh-contact-form__directions-btn:hover,
a.zh-contact-form__directions-btn:focus,
a.zh-contact-form__directions-btn:active { color:#fff !important; -webkit-text-fill-color:#fff !important; text-decoration:none !important; }
.zh-contact-form__directions-icon { font-size:1.3rem; }
.zh-contact-form__email-link { margin-top:16px; font-size:.95rem; }
.zh-contact-form__email-link a { color:var(--gold); text-decoration:none; font-weight:600; }
.zh-contact-form__email-link a:hover { text-decoration:underline; }

/* Form */
.zh-contact-form__form { background:var(--warm); padding:32px; border-radius:10px; }
.zh-contact-form__form label { display:block; margin-bottom:18px; }
.zh-contact-form__form label span { display:block; font-family:var(--sans); font-size:.85rem; color:var(--dark); font-weight:600; margin-bottom:6px; }
.zh-contact-form__form label em { font-style:normal; color:var(--muted); font-weight:400; }
.zh-contact-form__form input,
.zh-contact-form__form textarea {
	width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:6px;
	font-family:var(--sans); font-size:.95rem; color:var(--dark); background:#fff;
	box-sizing:border-box;
}
.zh-contact-form__form input:focus,
.zh-contact-form__form textarea:focus { outline:none; border-color:var(--gold); }
.zh-contact-form__form textarea { resize:vertical; }
.zh-contact-form__submit {
	width:100%; padding:15px; background:var(--dark); color:#fff;
	border:none; border-radius:6px; font-family:var(--sans); font-size:.95rem;
	font-weight:700; cursor:pointer; transition:all .2s; letter-spacing:.02em;
}
.zh-contact-form__submit:hover { background:var(--gold); transform:translateY(-2px); }

/* A2P compliance — split name row + consent checkboxes */
.zh-contact-form__row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.zh-contact-form__row label { margin-bottom:18px; }
.zh-contact-form__form label em { color:var(--gold); font-style:normal; font-weight:700; }
.zh-contact-form__consent {
	display:flex; align-items:flex-start; gap:10px; margin-bottom:16px;
	padding:14px 16px; background:#fff; border:1px solid var(--border); border-radius:6px;
	font-size:.78rem; line-height:1.55; color:var(--muted);
}
.zh-contact-form__consent input[type="checkbox"] {
	width:auto; margin:2px 0 0 0; flex-shrink:0; cursor:pointer;
	accent-color:var(--gold);
}
.zh-contact-form__consent span { flex:1; }
.zh-contact-form__legal {
	text-align:center; margin-top:16px; font-size:.82rem; color:var(--muted);
}
.zh-contact-form__legal a { color:var(--gold); text-decoration:none; font-weight:600; }
.zh-contact-form__legal a:hover { text-decoration:underline; }
.zh-contact-form__notice { padding:14px 18px; border-radius:6px; margin-bottom:18px; font-size:.9rem; }
.zh-contact-form__notice--success { background:#e6f4ea; color:#1e7e34; border:1px solid #c3e6cb; }
.zh-contact-form__notice--error { background:#fce4e4; color:#a02929; border:1px solid #f5c6cb; }

/* Location section — balanced 2-col layout, photo as hero of visual card, map below */
.zh-contact-location { padding:80px 0; background:var(--warm); }
.zh-contact-location__inner { max-width:1180px; margin:0 auto; padding:0 28px; display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:stretch; }

/* Left column — details */
.zh-contact-location__details { display:flex; flex-direction:column; gap:24px; }
.zh-contact-location__details h2 { font-family:var(--heading); font-size:clamp(1.6rem,3vw,2rem); color:var(--dark); margin:0 0 4px; line-height:1.2; }

.zh-contact-location__nap { font-style:normal; font-size:.95rem; line-height:1.6; color:var(--text); display:flex; flex-direction:column; gap:10px; margin:0; padding:20px 22px; background:#fff; border:1px solid var(--border); border-radius:12px; }
.zh-contact-location__nap strong { font-family:var(--heading); font-size:1.18rem; color:var(--dark); margin:0; font-weight:700; line-height:1.2; }
.zh-contact-location__addr { font-size:.95rem; color:var(--text); line-height:1.55; }
.zh-contact-location__nap a { color:var(--gold); font-weight:600; text-decoration:none; }
.zh-contact-location__nap a:hover { color:var(--gold-dark); }
.zh-contact-location__link { display:inline-flex; align-items:center; gap:8px; font-size:.96rem; line-height:1.3; }
.zh-contact-location__link svg { color:var(--gold); flex-shrink:0; }
.zh-contact-location__directions { display:inline-flex; align-items:center; gap:8px; align-self:flex-start; padding:9px 16px; background:var(--gold); color:#fff !important; border-radius:8px; font-weight:700; font-size:.92rem; margin-top:4px; transition:background 0.15s ease, transform 0.15s ease; text-decoration:none !important; }
.zh-contact-location__directions:hover { background:var(--gold-dark); transform:translateY(-1px); }
.zh-contact-location__directions svg { color:#fff; flex-shrink:0; }

.zh-contact-location__hours { background:#fff; border:1px solid var(--border); border-radius:12px; padding:20px 22px; }
.zh-contact-location__hours h3 { font-family:var(--sans); font-size:.78rem; color:var(--muted); text-transform:uppercase; letter-spacing:.14em; margin:0 0 14px; font-weight:700; }
.zh-contact-location__hours ul { list-style:none; padding:0; margin:0; }
.zh-contact-location__hours li { display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding:10px 0; border-bottom:1px solid var(--border); font-size:.94rem; color:var(--muted); }
.zh-contact-location__hours li:last-child { border-bottom:none; padding-bottom:0; }
.zh-contact-location__hours li:first-child { padding-top:0; }
.zh-contact-location__hours li span:first-child { font-weight:500; }
.zh-contact-location__hours li span:last-child { color:var(--dark); font-weight:700; font-variant-numeric:tabular-nums; }

.zh-contact-location__plan { background:transparent; padding:0; }
.zh-contact-location__plan h3 { font-family:var(--heading); font-size:1.1rem; color:var(--dark); margin:0 0 8px; font-weight:700; }
.zh-contact-location__plan p { font-size:.94rem; line-height:1.65; color:var(--muted); margin:0; }

/* Right column — visual stack: photo + map as one cohesive card */
.zh-contact-location__visual { display:flex; flex-direction:column; gap:14px; }
.zh-contact-location__photo { border-radius:14px; overflow:hidden; box-shadow:0 12px 36px rgba(26,26,26,.10); aspect-ratio:16/10; background:#fff; flex-shrink:0; }
.zh-contact-location__photo img { width:100%; height:100%; object-fit:cover; display:block; }
.zh-contact-location__map { border-radius:14px; overflow:hidden; box-shadow:0 12px 36px rgba(26,26,26,.10); flex-grow:1; min-height:300px; background:#fff; }
.zh-contact-location__map iframe { width:100%; height:100%; min-height:300px; display:block; border:0; }

/* Service area */
.zh-contact-area { padding:64px 0; background:#fff; text-align:center; }
.zh-contact-area h2 { font-family:var(--heading); font-size:clamp(1.4rem,3vw,1.8rem); color:var(--dark); margin-bottom:16px; }
.zh-contact-area p { font-size:.95rem; color:var(--text); line-height:1.85; max-width:700px; margin:0 auto; }

/* Contact — hero with background image (when contact_hero_image is set) */
.zh-contact-hero--has-image {
	position: relative;
	background: linear-gradient(135deg, #1a1a1a 0%, #3a2a14 100%);
	color: #fff;
	padding: 64px 0;
	overflow: hidden;
}
.zh-contact-hero--has-image .zh-contact-hero__bg {
	position: absolute; inset: 0;
	background-size: cover; background-position: center;
	opacity: 0.22;
	z-index: 0;
}
.zh-contact-hero--has-image::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(135deg, rgba(15,15,15,0.92) 0%, rgba(30,20,8,0.85) 100%);
	z-index: 1;
}
.zh-contact-hero--has-image .zh-contact-hero__inner { position: relative; z-index: 2; }
.zh-contact-hero--has-image .zh-eyebrow { color: var(--gold-light); }
.zh-contact-hero--has-image h1 { color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,0.4); }
.zh-contact-hero--has-image .zh-contact-hero__intro { color: #f0ebe0; }

/* SPLIT — 50/50 text left, form right (was missing entirely) */
.zh-contact-hero--split .zh-contact-hero__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 32px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: start;
	text-align: left;
}
.zh-contact-hero--split .zh-contact-hero__copy { text-align: left; }
.zh-contact-hero--split .zh-contact-hero__copy h1 {
	text-align: left;
	font-size: clamp(1.8rem, 3.2vw, 2.4rem);
	margin-bottom: 18px;
	line-height: 1.15;
}
.zh-contact-hero--split .zh-contact-hero__intro {
	max-width: none;
	margin: 0 0 24px;
	font-size: 1rem;
	line-height: 1.7;
}
.zh-contact-hero--split .zh-contact-hero__phone-cta {
	display: inline-flex; align-items: center; gap: 10px;
	background: var(--gold); color: #fff !important;
	padding: 14px 26px; border-radius: 8px;
	font-family: var(--sans); font-weight: 700; font-size: 1rem;
	letter-spacing: .02em; text-decoration: none;
	transition: background .2s, transform .2s;
	margin-bottom: 14px;
}
.zh-contact-hero--split .zh-contact-hero__phone-cta:hover { background: var(--gold-dark); transform: translateY(-1px); }
.zh-contact-hero--split .zh-contact-hero__email { margin: 8px 0 0; color: #f0ebe0; }
.zh-contact-hero--split .zh-contact-hero__email a { color: var(--gold-light); text-decoration: underline; }

/* SPLIT — form right column rendered as a solid white card so it reads
   against the dark hero background. */
.zh-contact-hero--split .zh-contact-hero__form-wrap {
	background: #fff;
	border-radius: 12px;
	padding: 28px;
	box-shadow: 0 20px 60px rgba(0,0,0,0.25);
}
.zh-contact-hero--split .zh-contact-form__notice {
	padding: 12px 14px; border-radius: 6px; margin-bottom: 14px;
	font-size: .9rem;
}
.zh-contact-hero--split .zh-contact-form__notice--success { background: #e7f5e9; color: #1f5a26; }
.zh-contact-hero--split .zh-contact-form__notice--error { background: #fde8e8; color: #7a1b1b; }
.zh-contact-hero--split .zh-contact-form__form { display: flex; flex-direction: column; gap: 14px; }
.zh-contact-hero--split .zh-contact-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.zh-contact-hero--split .zh-contact-form__form label {
	display: flex; flex-direction: column; gap: 4px;
	font-size: .82rem; color: var(--dark); font-weight: 600;
}
.zh-contact-hero--split .zh-contact-form__form label em { color: #c0392b; font-style: normal; }
.zh-contact-hero--split .zh-contact-form__form input[type=text],
.zh-contact-hero--split .zh-contact-form__form input[type=tel],
.zh-contact-hero--split .zh-contact-form__form input[type=email] {
	padding: 10px 12px; border: 1px solid var(--border); border-radius: 6px;
	font-family: var(--sans); font-size: .95rem; color: var(--dark);
	background: #fff; transition: border-color .15s;
}
.zh-contact-hero--split .zh-contact-form__form input:focus { outline: none; border-color: var(--gold); }
.zh-contact-hero--split .zh-contact-form__consent {
	flex-direction: row !important; align-items: flex-start; gap: 8px;
	font-size: .72rem; color: var(--muted); font-weight: 400; line-height: 1.5;
}
.zh-contact-hero--split .zh-contact-form__consent input[type=checkbox] { margin-top: 3px; flex-shrink: 0; }
.zh-contact-hero--split .zh-contact-form__submit {
	background: var(--gold); color: #fff; border: none;
	padding: 14px 24px; border-radius: 8px; font-family: var(--sans);
	font-size: 1rem; font-weight: 700; letter-spacing: .03em;
	cursor: pointer; transition: background .2s, transform .2s;
	margin-top: 6px;
}
.zh-contact-hero--split .zh-contact-form__submit:hover { background: var(--gold-dark); transform: translateY(-1px); }
.zh-contact-hero--split .zh-contact-form__legal { font-size: .7rem; color: var(--muted); text-align: center; margin: 4px 0 0; }
.zh-contact-hero--split .zh-contact-form__legal a { color: var(--muted); }
.zh-contact-hero--split .zh-contact-form__embed iframe {
	width: 100%; min-height: 540px; height: auto; border: none;
	border-radius: 6px; display: block; background: #fff;
}

/* SPLIT mobile — stack vertically */
@media(max-width:900px) {
	.zh-contact-hero--split .zh-contact-hero__inner {
		grid-template-columns: 1fr;
		gap: 36px;
		padding: 0 20px;
	}
	.zh-contact-hero--split .zh-contact-hero__copy,
	.zh-contact-hero--split .zh-contact-hero__copy h1 { text-align: center; }
	.zh-contact-hero--split .zh-contact-hero__phone-cta { display: flex; justify-content: center; }
}

/* Contact — trust / credentials bar */
.zh-contact-trust {
	background: var(--warm);
	border-bottom: 1px solid var(--border);
	padding: 28px 24px;
}
.zh-contact-trust__inner {
	max-width: 1200px; margin: 0 auto;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 16px; text-align: center;
}
.zh-contact-trust__item { display: flex; flex-direction: column; gap: 4px; }
.zh-contact-trust__item strong {
	font-family: var(--heading); font-size: 1.18rem;
	color: var(--gold-dark); font-weight: 700;
}
.zh-contact-trust__item span { font-size: 0.78rem; color: var(--muted); letter-spacing: 0.02em; }

/* Contact — owner card (in form left column when contact_owner_image is set) */
.zh-contact-owner {
	display: flex; align-items: center; gap: 16px;
	background: var(--warm);
	border: 1px solid var(--border);
	border-radius: 12px;
	padding: 16px 18px;
	margin-bottom: 28px;
}
.zh-contact-owner__photo {
	flex-shrink: 0;
	width: 72px; height: 72px;
	border-radius: 50%;
	overflow: hidden;
	border: 2px solid var(--gold);
}
.zh-contact-owner__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.zh-contact-owner__meta { display: flex; flex-direction: column; gap: 2px; }
.zh-contact-owner__meta strong {
	font-family: var(--heading); font-size: 1.15rem;
	color: var(--dark); font-weight: 700; line-height: 1.2;
}
.zh-contact-owner__meta span { font-size: 0.85rem; color: var(--muted); }

/* Connect section */
.zh-contact-connect { padding:64px 0; background:var(--gold); text-align:center; }
.zh-contact-connect h2 { font-family:var(--heading); font-size:clamp(1.4rem,3vw,1.8rem); color:#fff; margin-bottom:16px; }
.zh-contact-connect p { font-size:1rem; color:#fff; line-height:1.85; max-width:700px; margin:0 auto; }
.zh-contact-connect a { color:#fff; font-weight:700; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.5); }
.zh-contact-connect a:hover { border-color:#fff; }

/* Contact mobile */
@media(max-width:768px){
	.zh-contact-hero { padding:56px 0 44px; }
	.zh-contact-hero--has-image { padding:80px 20px 64px; }
	.zh-contact-form { padding:48px 0; }
	.zh-contact-form__inner { grid-template-columns:1fr; gap:40px; padding:0 20px; }
	.zh-contact-form__row { grid-template-columns:1fr; }
	.zh-contact-form__call-btn { width:100%; justify-content:center; }
	.zh-contact-form__directions-btn { width:100%; justify-content:center; }
	.zh-contact-form__form { padding:24px; }
	.zh-contact-location { padding:52px 0; }
	.zh-contact-location__inner { grid-template-columns:1fr; gap:32px; padding:0 20px; }
	.zh-contact-location__map iframe { height:300px; }
	.zh-contact-area { padding:48px 0; }
	.zh-contact-connect { padding:48px 0; }
	.zh-contact-trust__inner { grid-template-columns:repeat(2, 1fr); text-align:left; }
	.zh-contact-owner { flex-direction:row; }
}

/* ═══════ 15. FOOTER — legacy 3-col rules removed 2026-05-25.
   The 4-column grid + warm-dark palette lives at the bottom of this file
   in the "FOOTER — JVB main 4-column grid styles" block. The legacy
   `.zenith-footer .z-container { grid-template-columns:1fr 1fr 1fr }` rule
   was overriding the new grid on specificity and forcing the 4th column
   (Areas We Serve) to wrap onto a second row. ═══════ */

/* ═══════ MOBILE COMPONENTS (hidden on desktop) ═══════ */
.zenith-mobile-menu-toggle { display:none; background:none; border:none; font-size:26px; color:#1a1a1a; cursor:pointer; padding:4px; line-height:1; }
.zenith-header-home__phone-bar { display:none; }
.zenith-header-home__row1 { display:contents; } /* On desktop, row1 children flow into parent flex */

/* Mobile nav overlay */
.zenith-mobile-nav {
  position:fixed; top:0; left:0; right:0; bottom:0; background:#fff;
  z-index:2000; display:flex; flex-direction:column; padding:0;
  transform:translateX(-100%); transition:transform .3s ease;
}
.zenith-mobile-nav.active { transform:translateX(0); }
.zenith-mobile-nav__header {
  display:flex; justify-content:space-between; align-items:center;
  padding:20px 24px; border-bottom:1px solid rgba(0,0,0,.08);
}
.zenith-mobile-nav__header .zenith-header-home__brand {
  font-family:var(--heading); font-weight:700; color:var(--gold); font-size:20px;
}
.zenith-mobile-nav__close { background:none; border:none; font-size:24px; cursor:pointer; color:#1a1a1a; }
.zenith-mobile-nav__links {
  flex:1; display:flex; flex-direction:column; padding:24px;
}
.zenith-mobile-nav__links a {
  font-family:var(--sans); font-size:20px; color:#1a1a1a; text-decoration:none;
  padding:16px 0; border-bottom:1px solid rgba(0,0,0,.06);
}
.zenith-mobile-nav__links a:hover { color:var(--gold); }
.zenith-mobile-nav__cta {
  display:block; background:var(--gold); color:#fff; text-align:center;
  padding:20px; font-size:16px; font-weight:600; text-decoration:none;
  margin:24px; border-radius:4px;
}
.zenith-mobile-nav__overlay {
  display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:1999;
}

/* ═══════ MOBILE ═══════ */
@media(max-width:768px){

  /* Topbar — NOT fixed, scrolls away */
  .zenith-topbar {
    position:relative !important; top:auto !important;
    width:100%; box-sizing:border-box;
    padding:8px 16px; text-align:center; font-size:12px;
    white-space:normal; line-height:1.4; overflow:visible;
  }
  .zenith-topbar__inner {
    white-space:normal; flex-wrap:wrap; text-align:center;
    justify-content:center; font-size:12px;
  }

  /* HEADER — fixed, row1 (logo + hamburger) + phone bar */
  .zenith-header-home {
    position:fixed; top:0; left:0; right:0; z-index:1000;
    padding:0; flex-direction:column;
  }
  .zenith-header-home__row1 {
    display:flex; justify-content:space-between; align-items:center;
    padding:10px 8px; background:#fff; border-bottom:none;
    width:100%; box-sizing:border-box;
  }
  .zenith-header-home__logo { text-align:left; padding-left:0; margin-left:2px; }
  .zenith-header-home__logo a { justify-content:flex-start; }
  .zenith-header-home__logo img.custom-logo { height: 40px; max-width: 180px; }
  .zenith-mobile-menu-toggle { padding-right:0; margin-right:2px; }
  .zenith-header-home__nav { display:none !important; }
  /* Mobile: logo + Call Now + hamburger all on row1 (one line).
     Hide the separate phone-bar; show only the phone link in __actions
     (Get Free Quote button is hidden to keep the row compact). */
  .zenith-header-home__actions {
    display:flex !important; align-items:center; gap:0; margin-right:8px;
  }
  .zenith-header-home__actions .zenith-header-home__btn { display:none !important; }
  .zenith-header-home__phone {
    display:inline-flex; align-items:center;
    background:var(--gold); color:#fff !important;
    padding:8px 14px; border-radius:6px;
    font-size:13px; font-weight:700; letter-spacing:.02em;
    text-decoration:none; white-space:nowrap;
  }
  .zenith-header-home__phone:hover { text-decoration:none; }
  .zenith-header-home__phone-bar { display:none !important; }
  .zenith-mobile-menu-toggle { display:block; }

  /* Push content below fixed header (row1 only — call bar collapsed into row1) */
  .home-page { padding-top:72px !important; }

  /* Topbar handled above — scrolls away */

  /* Global header (non-homepage) */
  .zenith-header__nav { display:none; }
  .zenith-header__cta { display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
  .zenith-header__phone-number { font-size:13px; }
  .zenith-header__quote-btn { font-size:13px; padding:10px 16px; }

  /* Hero — split layout mobile (JVB default) */
  .zenith-hero--split {
    grid-template-columns:1fr !important;
    min-height:auto !important;
    width:100% !important;
  }
  .zenith-hero--split .zenith-hero__right { display:none !important; }
  .zenith-hero--split .zenith-hero__left {
    background:#faf8f4 !important;
    min-height:auto !important;
    padding:32px 24px !important;
    text-align:center !important;
  }
  .zenith-hero .anim-fade {
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
  .zenith-hero__headline,
  .zenith-hero__headline strong,
  .zenith-hero__headline em { color:#1a1a1a !important; }
  .zenith-hero__headline { text-align:center !important; width:100% !important; }
  .zenith-hero__sub { color:#3a3a3a !important; text-align:center !important; max-width:100% !important; }
  .zenith-hero__rating { color:#3a3a3a !important; width:100% !important; flex-direction:column !important; align-items:center !important; gap:4px !important; }
  .zenith-hero__rating span { color:#3a3a3a !important; }
  .zenith-hero__rating span:first-child { color:#B8943F !important; }
  .zenith-hero__badge { color:#3a3a3a !important; }
  .zenith-hero__trust-pills { justify-content:center; gap:8px; }
  .zenith-hero__trust-pill { font-size:.72rem; padding:6px 12px; }
  .zenith-hero__services-line { font-size:12px !important; }
  /* Mobile image */
  .zenith-hero__mobile-img {
    display:block !important;
    width:100vw !important;
    position:relative !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    margin:24px 0 -32px 0 !important;
    height:260px !important;
    object-fit:cover !important;
  }
  .zenith-hero__btn {
    text-align:center !important;
    justify-content:center !important;
    width:100% !important;
  }

  /* Trust stats */
  .zenith-trust-stats__inner { grid-template-columns:1fr 1fr; gap:24px; }
  .zenith-trust-stats__number { font-size:1.5rem; }

  /* Intro */
  .zenith-intro { padding:48px 24px; }

  /* Why choose */
  .zenith-why-choose__grid { grid-template-columns:1fr; }

  /* How it works */
  .zenith-how-it-works__grid { flex-direction:column; gap:32px; }
  .zenith-how-it-works__connector { display:none; }
  .zenith-how-it-works__wrap,
  .zenith-how-it-works__grid,
  .zenith-how-it-works__step,
  .zenith-how-it-works__title,
  .zenith-how-it-works__desc {
    text-align:center !important;
    align-items:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* Services */
  .zenith-services__grid { grid-template-columns:1fr; }
  .zenith-services__card-img { height:200px; }

  /* Service areas */
  .zenith-service-areas__wrap { padding:48px 24px; }

  /* Reviews */
  .zenith-reviews { padding:48px 24px; }
  .zenith-reviews__heading { font-size:26px; }
  .zenith-reviews__row3 { grid-template-columns:1fr !important; }
  .zenith-reviews__google-card { margin-bottom:8px; }

  /* Blog teaser */
  .zenith-blog-teaser__grid { grid-template-columns:1fr; }

  /* ── VISIT SECTION – MOBILE 3-ROW STACK ── */
  .zenith-map-section__split {
    display:flex !important; flex-direction:column !important;
    min-height:auto !important; grid-template-columns:unset !important;
  }
  /* ROW 1 — Heading + directions */
  .zenith-map-section__details {
    order:1 !important; width:100% !important;
    padding:28px 24px 20px !important; text-align:center !important; box-sizing:border-box !important;
  }
  .zenith-map-section__heading { font-size:24px !important; margin-bottom:10px !important; line-height:1.3 !important; }
  .zenith-map-section__directions { font-size:15px !important; color:#555 !important; line-height:1.6 !important; margin-bottom:0 !important; }
  /* Hide NAP + old CTAs in row 1 — shown in nap-card (row 3) */
  .zenith-map-section__nap,
  .zenith-map-section__mobile-ctas { display:none !important; }
  /* ROW 2 — Map embed full width */
  .zenith-map-section__map {
    order:2 !important; display:block !important; width:95% !important; min-height:260px !important; margin:0 auto !important;
  }
  .zenith-map-section__map iframe { width:100% !important; height:260px !important; min-height:260px !important; border:0 !important; display:block !important; }
  /* ROW 3 — NAP details card */
  .zenith-map-section__nap-card {
    order:3 !important; display:flex !important; flex-direction:column !important;
    align-items:center !important; gap:6px !important; width:100% !important;
    background:#f5f0e8 !important; padding:24px !important; text-align:center !important;
    font-size:15px !important; color:#3a3a3a !important; line-height:1.7 !important;
    box-sizing:border-box !important; font-style:normal !important;
  }
  .zenith-map-section__nap-card a { color:#B8943F !important; text-decoration:none !important; font-weight:600 !important; }
  .zenith-map-section__mobile-call {
    display:block !important; width:100% !important; margin-top:16px !important;
    padding:15px !important; background:#B8943F !important; color:#fff !important;
    font-size:16px !important; font-weight:700 !important; text-align:center !important;
    text-decoration:none !important; border-radius:6px !important; box-sizing:border-box !important;
  }
  .zenith-map-section__mobile-directions {
    display:block !important; width:100% !important; margin-top:10px !important;
    padding:14px !important; background:transparent !important; color:#1a1a1a !important;
    font-size:15px !important; font-weight:600 !important; text-align:center !important;
    text-decoration:none !important; border:2px solid #1a1a1a !important;
    border-radius:6px !important; box-sizing:border-box !important;
  }
  .zenith-map-section__mobile-call,
  .zenith-map-section__mobile-call:link,
  .zenith-map-section__mobile-call:visited,
  .zenith-map-section__mobile-call:hover,
  .zenith-map-section__mobile-call:focus,
  .zenith-map-section__mobile-call:active {
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    transition:background .2s,border-color .2s,transform .2s !important;
  }

  /* CTA banner */
  .zenith-cta-banner { padding:64px 24px; }
  .zenith-cta-banner__headline { font-size:28px; }
  .zenith-cta-banner__btns { flex-direction:column; align-items:center; }
  .zenith-cta-banner__btn { width:100%; max-width:320px; text-align:center !important; justify-content:center !important; }

  /* Footer mobile collapse now handled in the JVB main 4-column block at
     bottom of file (breakpoints 960px → 2-col, 560px → 1-col). */
}

@media(max-width:480px){
  .zenith-hero__headline { font-size:28px !important; }
  .zenith-trust-stats__inner { grid-template-columns:1fr 1fr; }
  .zenith-reviews__row3 { grid-template-columns:1fr !important; }
}

/* Force correct display on reviews section */
section.zenith-reviews { display:block !important; }
.zenith-reviews__row1 { display:block; }
.zenith-reviews__row3 { display:grid !important; align-items:stretch !important; }

/* ════════════════════════════════════════════════════════════════════
 * AREAS WE SERVE — JVB regional authority page (.zh-aws-*)
 * Ported from zenith-wm-home with JVB gold/warm palette adaptations.
 * Hero gradient is warm dark (not WM blue), accent shadows are
 * gold-tinted, and the "federal" red accents are unused on JVB.
 * ════════════════════════════════════════════════════════════════════ */
.zh-aws { color: var(--text); font-family: var(--sans); background: #fff; }
.zh-aws * { box-sizing: border-box; }

/* Breadcrumb hidden per JVB preference. Kept in DOM (aria-label still set)
   so screen readers + Google still see the page path for navigation/SEO. */
.zh-aws-breadcrumb { display: none; }

/* HERO — warm dark gradient matches JVB contact page; subtle radial light */
.zh-aws-hero {
  position: relative;
  background: linear-gradient(135deg, #1a1a1a 0%, #3a2a14 100%);
  color: #fff;
  padding: 96px 24px 104px;
  overflow: hidden;
}
.zh-aws-hero__bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  opacity: 0.30;
  z-index: 0;
}
.zh-aws-hero--has-image::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(26,26,26,0.78) 0%, rgba(58,42,20,0.68) 100%);
  z-index: 1;
}
.zh-aws-hero::before {
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(circle at 20% 25%, rgba(212,175,106,0.10), transparent 55%);
  pointer-events: none; z-index: 2;
}
.zh-aws-hero__inner { max-width: 920px; margin: 0 auto; position: relative; text-align: center; z-index: 3; }
.zh-aws-eyebrow {
  display: inline-block;
  font-family: var(--sans);
  font-size: 0.82rem; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-light) !important;
  font-weight: 600; margin-bottom: 18px;
}
.zh-aws-hero h1 {
  font-family: var(--heading); font-weight: 700;
  font-size: clamp(2.2rem, 5vw, 3.6rem);
  line-height: 1.08; margin: 0 0 24px; color: #fff;
  text-shadow: 0 2px 16px rgba(0,0,0,0.35);
}
.zh-aws-hero__lead,
.zh-aws-hero p.zh-aws-hero__lead {
  font-size: clamp(1.05rem, 1.4vw, 1.18rem);
  line-height: 1.7; color: #f4efdf !important;
  font-weight: 400;
  max-width: 760px; margin: 0 auto 32px;
}
.zh-aws-hero__cta { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

.zh-aws-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 26px; border-radius: 8px;
  font-family: var(--sans); font-weight: 600; font-size: 0.95rem;
  text-decoration: none; border: 2px solid transparent;
  transition: transform 0.15s, background 0.15s, color 0.15s, border-color 0.15s;
  cursor: pointer;
}
.zh-aws-btn--primary { background: var(--gold); color: #fff !important; border-color: var(--gold); }
.zh-aws-btn--primary:hover { background: var(--gold-dark); border-color: var(--gold-dark); transform: translateY(-1px); }
.zh-aws-btn--ghost { background: rgba(255,255,255,0.10); color: #fff !important; border-color: rgba(255,255,255,0.55); font-weight: 600; }
.zh-aws-btn--ghost:hover { background: #fff; color: var(--gold-dark) !important; border-color: #fff; }
.zh-aws-btn--lg { padding: 18px 32px; font-size: 1rem; }

/* SHARED — section typography */
.zh-aws h2 {
  font-family: var(--heading); font-weight: 700;
  font-size: clamp(1.7rem, 3vw, 2.3rem);
  line-height: 1.18; color: var(--dark);
  margin: 0 0 20px; letter-spacing: -0.01em;
}
.zh-aws h3 {
  font-family: var(--heading); font-weight: 700;
  font-size: 1.35rem; color: var(--gold-dark);
  margin: 0 0 10px; line-height: 1.25;
}
.zh-aws p { font-size: 1rem; line-height: 1.72; color: var(--text); margin: 0 0 16px; }
.zh-aws p:last-child { margin-bottom: 0; }
.zh-aws a { color: var(--gold); text-decoration: underline; text-underline-offset: 2px; }
.zh-aws a:hover { color: var(--gold-dark); }

/* SPLIT SECTIONS — image + text side-by-side */
.zh-aws-split { padding: 80px 24px; background: #fff; }
.zh-aws-split--alt { background: var(--warm); }
.zh-aws-split__inner {
  max-width: 1200px; margin: 0 auto;
  display: grid; gap: 56px; align-items: center;
  grid-template-columns: 1fr 1fr;
}
.zh-aws-split.no-image .zh-aws-split__inner { grid-template-columns: 1fr; max-width: 880px; }
.zh-aws-split--right .zh-aws-split__text { order: 1; }
.zh-aws-split--right .zh-aws-split__media { order: 2; }
.zh-aws-split--left  .zh-aws-split__text { order: 2; }
.zh-aws-split--left  .zh-aws-split__media { order: 1; }
.zh-aws-split__text h2 { margin-bottom: 18px; }
.zh-aws-split__body p { margin-bottom: 16px; font-size: 1.02rem; }
.zh-aws-split__media {
  border-radius: 14px; overflow: hidden;
  box-shadow: 0 24px 60px rgba(26, 26, 26, 0.14);
  position: relative;
}
.zh-aws-split__media::after {
  content: ''; position: absolute;
  top: 18px; left: 18px; right: -18px; bottom: -18px;
  border: 2px solid var(--gold); border-radius: 14px;
  z-index: -1; opacity: 0.4;
}
.zh-aws-split__media img {
  display: block; width: 100%; height: 100%;
  object-fit: cover; aspect-ratio: 4 / 3;
}

/* AREAS — regional groups + town cards (centerpiece) */
.zh-aws-areas { padding: 88px 24px; background: var(--warm); }
.zh-aws-areas__inner { max-width: 1200px; margin: 0 auto; }
.zh-aws-areas__head {
  text-align: center; max-width: 720px;
  margin: 0 auto 56px;
}
.zh-aws-areas__head h2 { margin: 0 0 14px; }
.zh-aws-areas__head p { color: var(--muted); font-size: 1.02rem; margin: 0; }

.zh-aws-region {
  margin-bottom: 56px;
  padding-top: 36px;
  border-top: 1px solid var(--border);
}
.zh-aws-region:first-of-type { border-top: none; padding-top: 0; }
.zh-aws-region:last-child { margin-bottom: 0; }
.zh-aws-region__head { margin-bottom: 28px; }
.zh-aws-region__tag {
  display: inline-block;
  font-family: var(--sans); font-size: 0.72rem;
  font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--gold-dark);
  background: rgba(184, 148, 63, 0.10);
  border: 1px solid rgba(184, 148, 63, 0.22);
  padding: 6px 12px; border-radius: 999px;
  margin-bottom: 14px;
}
.zh-aws-region__title {
  font-family: var(--heading); font-weight: 700;
  font-size: clamp(1.4rem, 2vw, 1.75rem);
  color: var(--dark); margin: 0 0 8px;
  line-height: 1.22;
}
.zh-aws-region__lead {
  font-size: 0.98rem; color: var(--muted);
  margin: 0; max-width: 760px; line-height: 1.6;
}
.zh-aws-region__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 22px;
}
.zh-aws-region__grid--wide { grid-template-columns: 1fr; }

/* Town card */
.zh-aws-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  position: relative; overflow: hidden;
  transition: transform 0.18s, box-shadow 0.18s, border-color 0.18s;
  display: flex; flex-direction: column;
}
.zh-aws-card::before {
  content: ''; position: absolute;
  top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--gold) 0%, var(--gold-light) 100%);
  opacity: 0.85; z-index: 1;
}
.zh-aws-card--has-image::before { display: none; }
.zh-aws-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(184, 148, 63, 0.16);
  border-color: rgba(184, 148, 63, 0.40);
}
.zh-aws-card__media {
  position: relative;
  aspect-ratio: 16 / 10;
  background: var(--warm);
  overflow: hidden;
}
.zh-aws-card__media img {
  display: block; width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.3s;
}
.zh-aws-card:hover .zh-aws-card__media img { transform: scale(1.04); }
.zh-aws-card__body {
  padding: 24px 24px 22px;
  display: flex; flex-direction: column; gap: 4px;
}
.zh-aws-card h4 {
  font-family: var(--heading); font-weight: 700;
  font-size: 1.32rem; color: var(--dark);
  margin: 4px 0 4px; line-height: 1.2;
}
.zh-aws-card__meta {
  font-family: var(--sans); font-size: 0.78rem;
  font-weight: 600; letter-spacing: 0.04em;
  color: var(--gold); text-transform: uppercase;
  margin: 0 0 12px; line-height: 1.3;
}
.zh-aws-card__text { font-size: 0.95rem; line-height: 1.62; color: var(--text); }
.zh-aws-card__text p { font-size: 0.95rem; line-height: 1.62; margin-bottom: 12px; }
.zh-aws-card__badge {
  position: absolute; top: 14px; right: 14px;
  font-family: var(--sans); font-size: 0.68rem;
  font-weight: 700; letter-spacing: 0.10em; text-transform: uppercase;
  color: #fff; background: var(--gold);
  padding: 5px 11px; border-radius: 999px; z-index: 3;
  box-shadow: 0 2px 8px rgba(26, 26, 26, 0.20);
}
.zh-aws-card--home::before {
  background: linear-gradient(90deg, var(--gold-dark) 0%, var(--gold) 100%);
  height: 4px;
}
.zh-aws-card--home {
  border-color: rgba(184, 148, 63, 0.40);
  background: linear-gradient(180deg, #fffaf0 0%, #fff 70%);
}
.zh-aws-card--wide .zh-aws-card__body { padding: 32px 32px 28px; }

/* EXPECT block — split layout when image, centered when not */
.zh-aws-expect { padding: 80px 24px; background: #fff; }
.zh-aws-expect__inner {
  max-width: 1200px; margin: 0 auto;
  display: grid; gap: 56px; align-items: center;
}
.zh-aws-expect.has-image .zh-aws-expect__inner { grid-template-columns: 1fr 1fr; }
.zh-aws-expect:not(.has-image) .zh-aws-expect__inner { max-width: 880px; text-align: center; }
.zh-aws-expect__media {
  border-radius: 14px; overflow: hidden;
  box-shadow: 0 24px 60px rgba(26, 26, 26, 0.14);
}
.zh-aws-expect__media img { display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 3; }
.zh-aws-expect__body p { font-size: 1.02rem; margin-bottom: 16px; }

/* SERVICES — product category links */
.zh-aws-services { padding: 80px 24px; background: var(--warm); }
.zh-aws-services__inner { max-width: 1100px; margin: 0 auto; }
.zh-aws-services__head { text-align: center; max-width: 720px; margin: 0 auto 40px; }
.zh-aws-services__head h2 { margin: 0 0 14px; }
.zh-aws-services__head p { color: var(--muted); margin: 0; }
.zh-aws-services__grid {
  list-style: none; padding: 0; margin: 0;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px;
}
.zh-aws-services__grid li { margin: 0; }
.zh-aws-services__grid a {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px;
  background: #fff; border: 1px solid var(--border); border-radius: 12px;
  padding: 22px 24px;
  font-family: var(--heading); font-weight: 700;
  font-size: 1.04rem; color: var(--dark);
  text-decoration: none;
  transition: border-color 0.15s, transform 0.15s, color 0.15s, box-shadow 0.15s;
}
.zh-aws-services__grid a:hover {
  border-color: var(--gold); color: var(--gold-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(184, 148, 63, 0.14);
}
.zh-aws-services__grid svg { color: var(--gold); flex-shrink: 0; }

/* FINAL CTA — warm dark gradient matching JVB hero */
.zh-aws-final-cta {
  background: linear-gradient(135deg, #1a1a1a 0%, #3a2a14 100%);
  color: #fff; padding: 80px 24px;
  position: relative; overflow: hidden;
}
.zh-aws-final-cta::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(circle at 80% 20%, rgba(212,175,106,0.10), transparent 50%);
  pointer-events: none;
}
.zh-aws-final-cta__inner { max-width: 880px; margin: 0 auto; text-align: center; position: relative; }
.zh-aws-final-cta h2 {
  font-family: var(--heading); font-weight: 700;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  color: #fff; margin: 0 0 16px;
}
.zh-aws-final-cta p {
  font-size: 1.05rem; line-height: 1.65;
  color: #f4efdf; margin: 0 0 32px;
}
.zh-aws-final-cta__nap {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
  margin-bottom: 36px; padding: 24px 20px;
  background: rgba(255,255,255,0.06); border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.10);
}
.zh-aws-final-cta__nap > div { text-align: left; min-width: 0; }
.zh-aws-final-cta__nap span {
  display: block; font-size: 0.7rem; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-light); margin-bottom: 6px;
}
.zh-aws-final-cta__nap a, .zh-aws-final-cta__nap address {
  color: #fff; text-decoration: none; font-style: normal;
  font-weight: 600; font-size: 0.92rem; line-height: 1.45;
  overflow-wrap: anywhere; word-break: normal;
}
.zh-aws-final-cta__nap a:hover { color: var(--gold-light); text-decoration: underline; }

/* RESPONSIVE */
@media (max-width: 960px) {
  .zh-aws-split__inner,
  .zh-aws-expect.has-image .zh-aws-expect__inner { grid-template-columns: 1fr; gap: 36px; }
  .zh-aws-split--left .zh-aws-split__media,
  .zh-aws-split--right .zh-aws-split__media { order: 1; }
  .zh-aws-split--left .zh-aws-split__text,
  .zh-aws-split--right .zh-aws-split__text { order: 2; }
  .zh-aws-split__media::after { display: none; }
  .zh-aws-final-cta__nap { grid-template-columns: 1fr; }
  .zh-aws-region__grid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
}
@media (max-width: 640px) {
  .zh-aws-hero { padding: 64px 20px 72px; }
  .zh-aws-split, .zh-aws-areas, .zh-aws-expect, .zh-aws-services, .zh-aws-final-cta { padding: 56px 18px; }
  .zh-aws-areas__head { margin-bottom: 36px; }
  .zh-aws-region { margin-bottom: 40px; padding-top: 28px; }
  .zh-aws-region__grid { grid-template-columns: 1fr; gap: 14px; }
  .zh-aws-card__body { padding: 20px 20px 20px; }
  .zh-aws-card--wide .zh-aws-card__body { padding: 22px 22px 22px; }
  .zh-aws-services__grid { grid-template-columns: 1fr; }
}

/* ════════════════════════════════════════════════════════════════════
 * FOOTER — JVB additions (trust strip + Get Directions)
 * ════════════════════════════════════════════════════════════════════ */
.zenith-footer__trust-strip {
  background: var(--warm);
  border-bottom: 1px solid var(--border);
  padding: 14px 0;
}
.zenith-footer__trust-inner {
  display: flex; flex-wrap: wrap; gap: 16px;
  align-items: center; justify-content: space-between;
}
.zenith-footer__trust-rating { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.zenith-footer__trust-stars { color: var(--gold); font-size: 1.1rem; letter-spacing: 1px; }
.zenith-footer__trust-rating strong {
  font-family: var(--heading); font-size: 1.1rem;
  color: var(--dark); font-weight: 700;
}
.zenith-footer__trust-count { font-size: 0.85rem; color: var(--muted); }
.zenith-footer__trust-count a { color: var(--gold-dark); text-decoration: underline; text-underline-offset: 2px; }
.zenith-footer__trust-count a:hover { color: var(--gold); }
.zenith-footer__trust-cta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.zenith-footer__trust-cta-text { font-size: 0.92rem; color: var(--dark); }
.zenith-footer__trust-cta-link {
  font-family: var(--sans); font-weight: 700;
  color: var(--gold-dark) !important;
  text-decoration: none; font-size: 0.92rem;
  border-bottom: 1px solid currentColor;
  padding-bottom: 1px;
  transition: color 0.15s;
}
.zenith-footer__trust-cta-link:hover { color: var(--gold) !important; }

.zenith-footer__directions {
  margin: 8px 0 0; font-size: 0.85rem;
}
.zenith-footer__directions a {
  color: var(--gold-light) !important;
  text-decoration: none; font-weight: 600;
  border-bottom: 1px solid rgba(212, 175, 106, 0.4);
  padding-bottom: 1px;
  transition: color 0.15s, border-color 0.15s;
}
.zenith-footer__directions a:hover {
  color: #fff !important;
  border-bottom-color: #fff;
}

@media (max-width: 720px) {
  .zenith-footer__trust-inner {
    flex-direction: column; gap: 8px; text-align: center;
  }
  .zenith-footer__trust-rating,
  .zenith-footer__trust-cta { justify-content: center; }
}

/* ════════════════════════════════════════════════════════════════════
 * JVB MAP EMBED — service-areas + about-us
 * ════════════════════════════════════════════════════════════════════ */
.zh-aws-map, .zh-about-map { padding: 64px 24px; background: var(--warm); border-top: 1px solid var(--border); }
.zh-aws-map__inner, .zh-about-map__inner { max-width: 1100px; margin: 0 auto; }
.zh-aws-map__head, .zh-about-map__head { text-align: center; margin-bottom: 32px; }
.zh-aws-map__head h2, .zh-about-map__head h2 {
  font-family: var(--heading); font-weight: 700;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  color: var(--dark); margin: 0 0 8px;
}
.zh-aws-map__head p, .zh-about-map__head p {
  font-size: 0.98rem; color: var(--muted); margin: 0;
}
.zh-aws-map__embed, .zh-about-map__embed {
  border-radius: 14px; overflow: hidden;
  box-shadow: 0 16px 40px rgba(26,26,26,0.10);
  border: 1px solid var(--border); background: #fff;
}
.zh-aws-map__embed iframe, .zh-about-map__embed iframe {
  display: block; width: 100%; height: 420px; border: 0;
}
@media (max-width: 720px) {
  .zh-aws-map, .zh-about-map { padding: 48px 18px; }
  .zh-aws-map__embed iframe, .zh-about-map__embed iframe { height: 320px; }
}

/* ════════════════════════════════════════════════════════════════════
 * FOOTER — JVB main 4-column grid styles
 * Ported from zenith-wm-home with JVB warm-dark palette (instead of WM's
 * cool gray). Identity column is widest (1.4fr) to fit the NAP block.
 * ════════════════════════════════════════════════════════════════════ */
.zenith-footer { background: linear-gradient(180deg, #1a1a1a 0%, #221912 100%); color: rgba(255,255,255,.82); position: relative; }
.zenith-footer__accent { height: 4px; background: linear-gradient(90deg, var(--gold) 0%, var(--gold-light) 100%); }
.zenith-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 48px;
  padding: 64px 28px 48px;
  max-width: 1240px;
  margin: 0 auto;
  box-sizing: border-box;
}
.zenith-footer a { color: rgba(255,255,255,.82); text-decoration: none; transition: color .15s; }
.zenith-footer a:hover { color: var(--gold-light); }
.zenith-footer__col { min-width: 0; }

/* Identity column */
.zenith-footer__business-name {
  font-family: var(--heading); color: var(--gold-light);
  font-size: 1.35rem; font-weight: 700;
  margin: 0 0 6px; letter-spacing: -.01em;
}
.zenith-footer__tagline {
  font-size: .875rem; color: rgba(255,255,255,.6);
  margin: 0 0 18px; line-height: 1.5;
}
.zenith-footer__address { font-style: normal; line-height: 1.6; margin: 0 0 8px; font-size: .92rem; }
.zenith-footer__phone { margin: 14px 0 6px; }
.zenith-footer__phone a {
  color: var(--gold-light); font-weight: 600; font-size: 1.05rem;
}
.zenith-footer__phone a:hover { color: #fff; }
.zenith-footer__email { margin: 0; font-size: .92rem; }
.zenith-footer__license { margin: 14px 0 0; font-size: .82rem; color: rgba(255,255,255,.55); }

/* Section headings (Hours / Services / Areas We Serve) */
.zenith-footer__heading {
  font-family: var(--heading); color: #fff;
  font-size: .92rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .10em;
  margin: 0 0 18px; padding: 0 0 12px;
  border-bottom: 1px solid rgba(184,148,63,.22);
}
.zenith-footer__heading a { color: #fff; }
.zenith-footer__heading a:hover { color: var(--gold-light); }

/* Hours column */
.zenith-footer__hours-list {
  list-style: none; padding: 0; margin: 0 0 16px;
  font-size: .92rem; line-height: 1.85;
}
.zenith-footer__hours-list li { display: flex; gap: 8px; }
.zenith-footer__hours-cta {
  font-size: .82rem; color: rgba(255,255,255,.55); margin: 0;
  line-height: 1.5; padding-top: 12px;
  border-top: 1px dashed rgba(255,255,255,.10);
}

/* Link lists (services + areas) */
.zenith-footer__link-list {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 8px;
  font-size: .92rem;
}
.zenith-footer__link-list a {
  display: inline-block; padding: 2px 0;
  border-bottom: 1px solid transparent;
  color: rgba(255,255,255,.78);
}
.zenith-footer__link-list a:hover {
  color: var(--gold-light);
  border-bottom-color: var(--gold-light);
}
.zenith-footer__link-list li { color: rgba(255,255,255,.78); }

/* Sub-footer (Social · Legal · Copyright) */
.zenith-footer__sub {
  background: #14100a;
  border-top: 1px solid rgba(255,255,255,.06);
  padding: 18px 0;
}
.zenith-footer__sub-inner {
  display: flex; flex-wrap: wrap;
  align-items: center; justify-content: space-between;
  gap: 14px 24px; font-size: .82rem;
  padding: 0 28px; max-width: 1240px; margin: 0 auto;
  box-sizing: border-box;
}
.zenith-footer__social {
  display: flex; gap: 18px; align-items: center; flex-wrap: wrap; order: 1;
}
.zenith-footer__social a { color: rgba(255,255,255,.7); font-weight: 500; }
.zenith-footer__social a:hover { color: var(--gold-light); }
.zenith-footer__legal { display: flex; gap: 18px; flex-wrap: wrap; order: 2; }
.zenith-footer__legal a { color: rgba(255,255,255,.6); }
.zenith-footer__legal a:hover { color: #fff; }
.zenith-footer__copyright {
  color: rgba(255,255,255,.5); text-align: right;
  order: 3; flex: 1 1 auto;
}
.zenith-footer__copyright p { margin: 0; }
.zenith-footer__credit { font-size: .76rem; margin-top: 2px !important; }
.zenith-footer__credit a { color: rgba(255,255,255,.42); }
.zenith-footer__credit a:hover { color: var(--gold-light); }

/* Responsive — collapse 4-col → 2-col → 1-col */
@media (max-width: 960px) {
  .zenith-footer__grid { grid-template-columns: 1fr 1fr; gap: 36px; padding: 48px 20px 32px; }
  .zenith-footer__sub-inner { flex-direction: column; align-items: flex-start; }
  .zenith-footer__copyright { text-align: left; }
}
@media (max-width: 560px) {
  .zenith-footer__grid { grid-template-columns: 1fr; gap: 32px; padding: 40px 18px 28px; }
  .zenith-footer__sub-inner { padding: 0 18px; }
  .zenith-footer__heading { font-size: .85rem; }
}

/* Footer logo — the Site Identity logo is gold-on-white. On the dark
   footer background, light-mode display works because the gold is bright
   enough; we just constrain dimensions and add hover dim. */
.zenith-footer__logo { display: inline-block; margin: 0 0 18px; }
.zenith-footer__logo-img {
  display: block;
  height: 64px; width: auto;
  max-width: 240px;
  object-fit: contain;
  transition: opacity .15s;
}
.zenith-footer__logo:hover .zenith-footer__logo-img { opacity: .85; }
@media (max-width: 560px) {
  .zenith-footer__logo-img { height: 52px; max-width: 200px; }
}
