/* ============================================================
 * WOOLEY GLOBAL STYLESHEET - ROUND 9 CUMULATIVE
 * Version: v9-final | Generated: 2026-06-11
 *
 * KEY CHANGE FROM v8: deleted the broken Round 7 light-hero override
 * rule. Round 8 white-on-dark button styling now has no cascade competitor.
 * ============================================================ */

/* ===================================================================
 * WOOLEY WATER SEWER TRENCHLESS — GLOBAL STYLESHEET v2 (CONSOLIDATED)
 * Paste this into Elementor → Site Settings → Custom CSS
 * Covers every component class referenced in 64 page templates.
 * Generated from preview HTML <style> blocks + existing wooley-global.css.
 * =================================================================== */

:root {
  --primary-50: #EEF2F7;
  --primary-100: #D5DEE9;
  --primary-200: #ADBCD0;
  --primary-300: #7E94B5;
  --primary-400: #506C8E;
  --primary-500: #314D70;
  --primary-600: #1F3756;
  --primary-700: #182B45;
  --primary-800: #122035;
  --primary-900: #0A1525;
  --accent: #B8C940;
  --accent-deep: #94A12D;
  --success: #1F3756;
  --gold: #B8C940;
  --neutral-900: #16140F;
  --neutral-800: #26201A;
  --neutral-700: #3D2F23;
  --neutral-600: #5e4a3a;
  --neutral-500: #8A8076;
  --neutral-400: #A69B92;
  --neutral-300: #C8B89A;
  --neutral-200: #E2D9C4;
  --neutral-100: #F4F1E9;
  --neutral-50: #FAF6EE;
  --text-primary: var(--neutral-900);
  --text-secondary: var(--neutral-600);
  --text-muted: var(--neutral-500);
  --text-inverse: #FFF;
  --link: var(--primary-500);
  --link-hover: var(--primary-700);
  --surface-page: var(--neutral-50);
  --surface-card: #FFF;
  --surface-tint: var(--neutral-100);
  --surface-dark: var(--neutral-900);
  --border: var(--neutral-200);
  --border-strong: var(--neutral-300);
  --font-heading: 'Barlow Condensed',system-ui,sans-serif;
  --font-body: 'Barlow',system-ui,sans-serif;
  --radius-sm: 4px;
  --radius: 8px;
  --radius-lg: 12px;
  --radius-pill: 999px;
  --shadow-sm: 0 1px 2px rgba(22,20,15,.06);
  --shadow: 0 4px 12px rgba(22,20,15,.08);
  --shadow-lg: 0 12px 32px rgba(22,20,15,.12);
  --container: 1240px;
  --accent-amber: #B8C940;
  --bg-page: var(--neutral-50);
  --bg-section-warm: var(--neutral-100);
  --bg-section-cool: var(--primary-50);
  --bg-card: #FFFFFF;
  --bg-dark: var(--primary-700);
  --text-on-dark: #FFFFFF;
  --border-subtle: var(--neutral-200);
  --border-default: var(--neutral-300);
  --shadow-md: 0 4px 14px rgba(22,20,15,.08);
  --shadow-xl: 0 24px 60px rgba(22,20,15,.18);
  --accent-amber-soft: #FED7AA;
  --signal-success: #1F3756;
  --signal-warn: #B8C940;
  --signal-error: #DC2626;
  --text-on-dark-muted: rgba(255,255,255,0.78);
  --radius-md: 8px;
  --radius-xl: 24px;
  --space-xs: 8px;
  --space-sm: 16px;
  --space-md: 24px;
  --space-lg: 40px;
  --space-xl: 64px;
  --space-2xl: 96px;
}

/* === COMPONENTS (from preview HTML style blocks) === */

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  color: var(--text-primary);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "kern" 1, "tnum" 1; }
img, svg { max-width: 100%; display: block; }
a { color: var(--link); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; transition: color .2s ease; }
a:hover { color: var(--link-hover); }
button { font: inherit; cursor: pointer; border: 0; background: none; }
.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 20px; }
h1, h2, h3, h4 { font-family: var(--font-heading); font-weight: 700; line-height: 1.1; color: var(--text-primary); }
h1 { font-size: clamp(40px, 6vw, 68px); letter-spacing: -.01em; }
h2 { font-size: clamp(32px, 4.5vw, 48px); letter-spacing: -.005em; }
h3 { font-size: clamp(20px, 2vw, 24px); }
.eyebrow { font-family: var(--font-body); font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--primary-600); display: inline-block; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 24px;
  font-family: var(--font-body); font-size: 15px; font-weight: 600;
  letter-spacing: .04em;
  border-radius: var(--radius);
  text-decoration: none;
  cursor: pointer;
  transition: transform .15s ease, background .2s ease, box-shadow .2s ease, color .2s ease;
  white-space: nowrap; }
.btn-primary { background: var(--primary-600); color: var(--text-inverse); box-shadow: var(--shadow-sm); }
.btn-primary:hover { background: var(--primary-700); color: var(--text-inverse); transform: translateY(-1px); box-shadow: var(--shadow); }
.btn-secondary { background: transparent; color: var(--primary-600); border: 1.5px solid var(--primary-600); }
.btn-secondary:hover { background: var(--primary-600); color: var(--text-inverse); }
.btn-ghost-on-dark { color: var(--text-inverse); border: 1.5px solid rgba(255,255,255,.4); background: transparent; }
.btn-ghost-on-dark:hover { background: var(--text-inverse); color: var(--neutral-900, #16140F); border-color: var(--text-inverse); }
.btn-lg { padding: 18px 32px; font-size: 16px; }
.btn-arrow::after { content: "→"; transition: transform .2s ease; }
.btn:hover .btn-arrow::after,
.btn-arrow:hover::after { transform: translateX(3px); }
.microbar { background: var(--neutral-900); color: var(--neutral-50);
  padding: 8px 0;
  font-size: 13px; }
.microbar .container { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.microbar a { color: var(--neutral-50); text-decoration: none; font-weight: 600; }
.microbar a:hover { color: var(--primary-300); }
.microbar__left { display: flex; gap: 16px; align-items: center; opacity: .85; }
.microbar__divider { width: 1px; height: 12px; background: rgba(255,255,255,.2); }
.nav { position: sticky; top: 0; z-index: 50;
  background: var(--surface-page);
  border-bottom: 1px solid var(--border);
  transition: box-shadow .2s ease, padding .2s ease; }
.nav.is-scrolled { box-shadow: var(--shadow-sm); }
.nav__inner { display: flex; align-items: center; justify-content: space-between; padding: 16px 0; gap: 24px; }
.nav__logo { display: flex; align-items: center; gap: 8px; text-decoration: none; }
.nav__logo-mark { width: 40px; height: 40px;
  background: var(--primary-600);
  border-radius: var(--radius-sm);
  display: grid; place-items: center;
  color: var(--text-inverse);
  font-family: var(--font-heading);
  font-weight: 800; font-size: 22px; }
.nav__logo-text { font-family: var(--font-heading); font-weight: 700; font-size: 22px;
  color: var(--text-primary); line-height: 1; }
.nav__logo-text small { display: block; font-size: 9px; font-weight: 500; letter-spacing: .2em; color: var(--text-muted); margin-top: 2px; }
.nav__menu { display: flex; gap: 28px; list-style: none; }
.nav__menu a { color: var(--text-primary); text-decoration: none; font-weight: 500; font-size: 15px; padding: 8px 0; border-bottom: 2px solid transparent; transition: border-color .2s; }
.nav__menu a:hover { border-bottom-color: var(--primary-600); color: var(--primary-700); }
.nav__cta { display: flex; gap: 12px; align-items: center; }
.nav__phone { display: flex; align-items: center; gap: 6px; color: var(--text-primary); text-decoration: none; font-weight: 600; font-size: 15px; }
.nav__phone svg { color: var(--primary-600); }
.nav__phone:hover { color: var(--primary-700); }
.nav__hamburger { display: none; }
.hero { padding: 64px 0 48px; }
.hero__grid { display: grid; gap: 48px;
  grid-template-columns: 1fr;
  align-items: center; }
.hero__eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.hero__pulse { width: 8px; height: 8px; border-radius: 50%;
  background: var(--success);
  box-shadow: 0 0 0 0 rgba(22,163,74,.6);
  animation: pulse 2s infinite; }
.hero h1 { margin-bottom: 20px; }
.hero h1 em { color: var(--primary-600); font-style: italic; font-weight: 700; }
.hero__sub { font-size: 19px; color: var(--text-secondary); margin-bottom: 28px; max-width: 520px; line-height: 1.55; }
.hero__pills { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; }
.pill { display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 14px;
  background: var(--surface-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  font-size: 13px; font-weight: 600;
  color: var(--text-primary); }
.pill svg { color: var(--primary-600); }
.hero__cta { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 24px; }
.hero__cta-note { font-size: 13px; color: var(--text-muted); display: flex; align-items: center; gap: 6px; }
.hero__cta-note svg { color: var(--success); }
.hero__visual { position: relative; }
.before-after { position: relative;
  aspect-ratio: 4/5;
  max-width: 480px;
  margin-left: auto;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  background: var(--neutral-300);
  user-select: none; }
.before-after__img { position: absolute; inset: 0;
  width: 100%; height: 100%;
  display: grid; place-items: center;
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--text-inverse);
  letter-spacing: .04em; }
.before-after__before { background: linear-gradient(135deg, #5e4a3a, #2a2218); }
.before-after__after { background: linear-gradient(135deg, var(--primary-700), var(--primary-900));
  clip-path: inset(0 0 0 var(--split, 50%)); }
.before-after__label { position: absolute; top: 16px;
  font-family: var(--font-body); font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 700;
  background: rgba(0,0,0,.5); color: white;
  padding: 6px 10px; border-radius: var(--radius-sm);
  backdrop-filter: blur(4px); }
.before-after__label--before { left: 16px; }
.before-after__label--after { right: 16px; }
.before-after__caption { position: absolute; bottom: 16px; left: 16px; right: 16px;
  font-family: var(--font-heading); font-weight: 600;
  font-size: 24px; line-height: 1.2;
  color: white;
  text-shadow: 0 2px 8px rgba(0,0,0,.6); }
.before-after__handle { position: absolute; top: 0; bottom: 0;
  width: 3px; background: white;
  left: var(--split, 50%); transform: translateX(-50%);
  cursor: ew-resize;
  box-shadow: 0 0 16px rgba(0,0,0,.4); }
.before-after__handle::after { content: "⇄";
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 44px; height: 44px;
  background: white; border-radius: 50%;
  display: grid; place-items: center;
  color: var(--primary-700); font-size: 18px; font-weight: 800;
  box-shadow: var(--shadow); }
.hero__floating-card { position: absolute; bottom: -24px; left: -24px;
  background: white; padding: 20px 24px;
  border-radius: var(--radius);
  box-shadow: var(--shadow-lg);
  display: flex; gap: 12px; align-items: center;
  max-width: 240px; }
.hero__floating-card__icon { width: 40px; height: 40px; border-radius: 50%;
  background: var(--primary-50);
  display: grid; place-items: center;
  color: var(--primary-700);
  flex-shrink: 0; }
.hero__floating-card__title { font-family: var(--font-heading); font-size: 22px; font-weight: 700; line-height: 1; }
.hero__floating-card__sub { font-size: 12px; color: var(--text-muted); margin-top: 2px; }
.trust-strip { background: var(--surface-card);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 40px 0;
  margin-top: 32px; }
.trust-strip__inner { display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  align-items: center; }
.trust-strip__rating { text-align: center; }
.trust-strip__stars { color: var(--gold); font-size: 24px; letter-spacing: 4px; line-height: 1; margin-bottom: 8px; }
.trust-strip__rating-num { font-family: var(--font-heading); font-size: 48px; font-weight: 800; line-height: 1; color: var(--text-primary); }
.trust-strip__rating-label { font-size: 13px; color: var(--text-muted); font-weight: 500; margin-top: 4px; }
.trust-strip__rating-label strong { color: var(--text-primary); font-weight: 700; }
.trust-strip__quotes { display: grid;
  grid-template-columns: 1fr;
  gap: 16px; }
.quote-tile { background: var(--surface-page);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 16px; }
.quote-tile__stars { color: var(--gold); letter-spacing: 2px; font-size: 13px; margin-bottom: 6px; }
.quote-tile__text { font-size: 14px; line-height: 1.5; margin-bottom: 8px; }
.quote-tile__attrib { font-size: 12px; color: var(--text-muted); font-weight: 500; }
.quote-tile__attrib strong { color: var(--text-primary); font-weight: 700; }
section.surface-tint { background: var(--surface-tint); }
section.surface-dark { background: var(--surface-dark); color: var(--text-inverse); }
section.surface-dark h1, section.surface-dark h2, section.surface-dark h3 { color: var(--text-inverse); }
.section-pad { padding: 80px 0; }
.section-head { text-align: center; max-width: 700px; margin: 0 auto 48px; }
.section-head .eyebrow { margin-bottom: 12px; }
.section-head h2 { margin-bottom: 16px; }
.section-head p { color: var(--text-secondary); font-size: 18px; }
.pricing-grid { display: grid;
  grid-template-columns: 1fr;
  gap: 16px; }
.pricing-tile { background: var(--surface-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 28px 24px;
  display: flex; flex-direction: column;
  position: relative;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.pricing-tile:hover { transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: var(--primary-300); }
.pricing-tile.is-popular { border: 2px solid var(--primary-600);
  background: linear-gradient(180deg, white, var(--primary-50)); }
.pricing-tile__badge { position: absolute; top: -10px; left: 50%; transform: translateX(-50%);
  background: var(--primary-600); color: white;
  font-size: 11px; font-weight: 700; letter-spacing: .14em;
  padding: 4px 12px; border-radius: var(--radius-pill);
  text-transform: uppercase; }
.pricing-tile__icon { width: 56px; height: 56px;
  background: var(--primary-50); color: var(--primary-700);
  border-radius: var(--radius);
  display: grid; place-items: center;
  margin-bottom: 16px; }
.pricing-tile__name { font-family: var(--font-heading); font-size: 22px; font-weight: 700; margin-bottom: 4px; }
.pricing-tile__price { font-family: var(--font-heading); font-size: 32px; font-weight: 800; color: var(--primary-700);
  line-height: 1; margin-bottom: 4px; }
.pricing-tile__price small { font-size: 12px; font-weight: 600; color: var(--text-muted); letter-spacing: .04em; text-transform: uppercase; display: block; margin-top: 4px; }
.pricing-tile__includes { list-style: none; margin: 16px 0 24px; padding: 0; }
.pricing-tile__includes li { font-size: 14px; line-height: 1.5; padding: 6px 0 6px 24px;
  position: relative;
  border-top: 1px solid var(--border); }
.pricing-tile__includes li:first-child { border-top: 0; }
.pricing-tile__includes li::before { content: "✓"; position: absolute; left: 0; top: 6px;
  color: var(--success); font-weight: 700; }
.pricing-tile__cta { margin-top: auto; }
.pricing-tile__cta a { display: flex; align-items: center; justify-content: space-between;
  text-decoration: none; color: var(--primary-700); font-weight: 700; font-size: 14px;
  letter-spacing: .04em; text-transform: uppercase;
  padding-top: 12px; border-top: 1px solid var(--border);
  transition: color .2s; }
.pricing-tile__cta a:hover { color: var(--primary-900); }
.process { display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  position: relative; }
.process::before { display: none; }
.step { position: relative; z-index: 1;
  text-align: center; }
.step__num { width: 64px; height: 64px;
  margin: 0 auto 16px;
  background: var(--surface-card);
  border: 2px solid var(--primary-600);
  border-radius: 50%;
  display: grid; place-items: center;
  font-family: var(--font-heading);
  font-size: 26px; font-weight: 800;
  color: var(--primary-700);
  box-shadow: var(--shadow-sm); }
.step h3 { font-size: 18px; margin-bottom: 8px; }
.step p { font-size: 14px; color: var(--text-secondary); line-height: 1.5; }
.area-grid { display: grid; gap: 32px; grid-template-columns: 1fr; }
.area-map { background: linear-gradient(135deg, var(--primary-100), var(--primary-50));
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  aspect-ratio: 5/4;
  position: relative;
  overflow: hidden;
  display: grid; place-items: center; }
.area-map svg { width: 100%; height: 100%; }
.area-map__pin { position: absolute;
  width: 16px; height: 16px;
  background: var(--primary-600);
  border-radius: 50%;
  border: 3px solid white;
  box-shadow: 0 2px 8px rgba(31,78,61,.4); }
.area-map__pin::after { content: ""; position: absolute; inset: -4px;
  border: 2px solid var(--primary-600); border-radius: 50%;
  opacity: 0;
  animation: pin-pulse 2s infinite; }
.area-map__hq { width: 24px; height: 24px;
  background: var(--accent);
  z-index: 2; }
.area-cities { display: grid; gap: 12px; max-width: 480px; margin: 0 auto; width: 100%; }
@media (min-width: 900px) { .area-cities { margin: 0; max-width: none; } }
.area-cities__title { font-family: var(--font-heading); font-size: 22px; font-weight: 700; margin-bottom: 4px; }
.area-cities__sub { color: var(--text-secondary); font-size: 15px; margin-bottom: 24px; }
.area-cities__list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; list-style: none; }
.area-cities__list li { display: flex; align-items: center; justify-content: space-between;
  padding: 10px 14px;
  background: var(--surface-card); border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 14px; }
.area-cities__list li:hover { border-color: var(--primary-300); }
.area-cities__list li strong { color: var(--text-primary); font-weight: 600; }
.area-cities__list li span { font-size: 12px; color: var(--text-muted); font-weight: 500; }
.area-cities__note { font-size: 13px; color: var(--text-muted); margin-top: 16px; padding: 12px 16px; background: var(--surface-card); border-radius: var(--radius-sm); border: 1px dashed var(--border-strong); }
.testimonials { display: grid; gap: 24px;
  grid-template-columns: 1fr; }
.testimonial-card { background: var(--surface-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 32px;
  position: relative;
  display: flex; flex-direction: column; }
.testimonial-card::before { content: "“";
  position: absolute; top: -12px; left: 24px;
  font-family: var(--font-heading);
  font-size: 80px; line-height: 1;
  color: var(--primary-200);
  font-weight: 800; }
.testimonial-card__stars { color: var(--gold); letter-spacing: 3px; font-size: 16px; margin-bottom: 12px; }
.testimonial-card__quote { font-size: 16px; line-height: 1.6; margin-bottom: 24px; color: var(--text-primary); flex: 1; }
.testimonial-card__quote strong { color: var(--primary-700); font-weight: 700; }
.testimonial-card__attrib { display: flex; gap: 12px; align-items: center; padding-top: 20px; border-top: 1px solid var(--border); }
.testimonial-card__avatar { width: 48px; height: 48px; border-radius: 50%;
  background: var(--primary-100); color: var(--primary-700);
  display: grid; place-items: center;
  font-family: var(--font-heading); font-weight: 800; font-size: 18px;
  flex-shrink: 0; }
.testimonial-card__name { font-weight: 700; font-size: 14px; }
.testimonial-card__detail { font-size: 12px; color: var(--text-muted); margin-top: 2px; }
.founder { display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  align-items: center;
  background: var(--surface-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 32px;
  box-shadow: var(--shadow);
  max-width: 1000px;
  margin: 0 auto; }
.founder__photo { aspect-ratio: 4/5;
  background: linear-gradient(135deg, var(--primary-700), var(--primary-900));
  border-radius: var(--radius);
  display: grid; place-items: center;
  color: white;
  font-family: var(--font-heading); font-weight: 700;
  letter-spacing: .04em;
  position: relative;
  overflow: hidden; }
.founder__photo::after { content: "image: heath wooley · owner";
  position: absolute; bottom: 12px; left: 12px;
  font-size: 9px; letter-spacing: .12em; text-transform: uppercase;
  opacity: .5;
  font-weight: 500; }
.founder__quote { font-family: var(--font-heading);
  font-size: clamp(20px, 2.4vw, 28px);
  font-style: italic;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 20px;
  color: var(--text-primary); }
.founder__sig { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
.founder__sig-name { font-family: var(--font-heading); font-weight: 700; font-size: 20px; }
.founder__sig-role { font-size: 13px; color: var(--text-muted); letter-spacing: .04em; text-transform: uppercase; }
.faq-grid { max-width: 800px;
  margin: 0 auto; }
.faq-item { border-bottom: 1px solid var(--border); }
.faq-item summary { list-style: none;
  cursor: pointer;
  padding: 20px 0;
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  font-family: var(--font-heading); font-size: 20px; font-weight: 600;
  color: var(--text-primary);
  transition: color .2s; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:hover { color: var(--primary-700); }
.faq-item__icon { flex-shrink: 0;
  width: 32px; height: 32px;
  background: var(--primary-50);
  border-radius: 50%;
  display: grid; place-items: center;
  color: var(--primary-700);
  font-size: 18px; font-weight: 700;
  transition: transform .25s ease, background .2s ease; }
.faq-item[open] .faq-item__icon { transform: rotate(45deg); background: var(--primary-600); color: white; }
.faq-item__answer { padding-bottom: 24px; font-size: 16px; line-height: 1.65; color: var(--text-secondary); max-width: 720px; }
.faq-item__answer p { margin-bottom: 12px; }
.faq-item__answer p:last-child { margin-bottom: 0; }
.faq-item__answer strong { color: var(--text-primary); font-weight: 700; }
.urgency { background: var(--surface-dark);
  position: relative;
  overflow: hidden; }
.urgency::before { content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(circle at 20% 30%, rgba(31,78,61,.4) 0, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(31,78,61,.3) 0, transparent 50%);
  opacity: .8; }
.urgency .container { position: relative; z-index: 1; text-align: center; }
.urgency__badge { display: inline-flex; align-items: center; gap: 8px;
  background: rgba(217,119,6,.15);
  border: 1px solid rgba(217,119,6,.4);
  color: #B8C940;
  padding: 8px 16px;
  border-radius: var(--radius-pill);
  font-size: 13px; font-weight: 600;
  letter-spacing: .04em;
  margin-bottom: 24px; }
.urgency__badge svg { animation: pulse-amber 1.4s infinite; }
.urgency h2 { color: white; max-width: 800px; margin: 0 auto 20px; }
.urgency h2 em { color: #B8C940; font-style: italic; }
.urgency__sub { font-size: 19px; color: rgba(255,255,255,.85); max-width: 640px; margin: 0 auto 40px; line-height: 1.5; }
.urgency__cta { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.urgency__reassurance { margin-top: 24px; font-size: 13px; color: rgba(255,255,255,.6); display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; }
.urgency__reassurance span { display: flex; align-items: center; gap: 6px; }
.urgency__reassurance svg { color: var(--primary-300); }
.footer { background: var(--neutral-900);
  color: rgba(255,255,255,.7);
  padding: 64px 0 24px; }
.footer__grid { display: grid; gap: 48px;
  grid-template-columns: 1fr; }
.footer__brand-mark { display: flex; align-items: center; gap: 8px;
  margin-bottom: 16px; }
.footer__brand-mark .nav__logo-mark { background: var(--primary-500); }
.footer__brand-mark .nav__logo-text { color: white; }
.footer__brand-mark .nav__logo-text small { color: rgba(255,255,255,.5); }
.footer__about { font-size: 14px; line-height: 1.6; color: rgba(255,255,255,.5); max-width: 320px; }
.footer__col h4 { color: white; font-size: 14px; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 16px; }
.footer__col ul { list-style: none; }
.footer__col li { margin-bottom: 8px; }
.footer__col a { color: rgba(255,255,255,.7); text-decoration: none; font-size: 14px; }
.footer__col a:hover { color: var(--primary-300); }
.footer__nap { font-size: 14px; line-height: 1.6; }
.footer__nap strong { color: white; display: block; margin-bottom: 4px; font-weight: 700; }
.footer__bottom { margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.1);
  display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap;
  font-size: 13px;
  color: rgba(255,255,255,.5); }
.mobile-cta { position: fixed; bottom: 0; left: 0; right: 0;
  z-index: 100;
  display: none;
  padding: 12px;
  background: rgba(22,20,15,.95);
  backdrop-filter: blur(8px);
  border-top: 1px solid rgba(255,255,255,.1);
  box-shadow: 0 -4px 12px rgba(0,0,0,.2); }
.mobile-cta__inner { display: grid; grid-template-columns: auto 1fr; gap: 8px; }
.mobile-cta a { display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 16px;
  border-radius: var(--radius);
  text-decoration: none;
  font-weight: 700;
  letter-spacing: .04em;
  font-size: 14px; }
.mobile-cta__phone { background: white; color: var(--text-primary);
  width: 56px; }
.mobile-cta__quote { background: var(--primary-500); color: white; }
.reveal { opacity: 0; transform: translateY(20px); transition: opacity .8s ease, transform .8s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
/* removed: bad CSS-aggregation orphan */
.stat { text-align: center;
  padding: 16px; }
.stat__num { font-family: var(--font-heading); font-size: clamp(40px, 5vw, 56px); font-weight: 800; color: var(--primary-700); line-height: 1; }
.stat__label { font-size: 12px; color: var(--text-muted); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; margin-top: 8px; }
.icon { width: 16px; height: 16px; flex-shrink: 0; }
.icon-lg { width: 24px; height: 24px; }
.nav-inner { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0; flex-wrap:nowrap; }
.nav-links { display:flex; align-items:center; gap:0; list-style:none; margin:0; padding:0; }
.nav-links > li { position:relative; }
.nav-links > li > a { display:inline-flex; align-items:center; gap:6px; padding:14px 12px; color:var(--neutral-700); font-family:'Barlow Condensed', system-ui, sans-serif; font-weight:600; font-size:15px; text-transform:uppercase; letter-spacing:1px; text-decoration:none; }
.nav-links > li > a:hover { color:var(--primary-600); }
.nav-links > li.has-children > a::after { content:"▾"; font-size:11px; opacity:0.7; margin-left:2px; }
.nav-dropdown { position:absolute; top:100%; left:0; min-width:280px; background:#FFF; border-top:3px solid var(--primary-600); box-shadow:0 12px 32px rgba(22,20,15,.12); padding:8px 0; opacity:0; visibility:hidden; transform:translateY(-8px); transition:all .18s ease; list-style:none; margin:0; z-index:10; }
.nav-links > li.has-children:hover .nav-dropdown,
.nav-links > li.has-children:focus-within .nav-dropdown { opacity:1; visibility:visible; transform:translateY(0); }
.nav-dropdown li a { display:block; padding:10px 20px; color:var(--neutral-700); font-family:'Barlow Condensed', system-ui, sans-serif; font-weight:600; font-size:14px; text-transform:uppercase; letter-spacing:1px; text-decoration:none; border-left:3px solid transparent; }
.nav-dropdown li a:hover { color:var(--primary-700); background:var(--neutral-50); border-left-color:var(--primary-500); }
.nav-mobile-toggle { display:none; background:none; border:0; padding:8px 12px; color:var(--neutral-900); font-size:22px; cursor:pointer; }
.site-footer { background:var(--neutral-900,#16140F);color:rgba(255,255,255,0.78);padding:64px 0 24px;font-size:14px; }
.site-footer .container { max-width:1200px;margin:0 auto;padding:0 24px; }
.footer-grid { display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px; }
.site-footer h4 { color:#FFF;margin-bottom:16px;font-size:14px;letter-spacing:2px;text-transform:uppercase; }
.site-footer ul { list-style:none;padding:0;margin:0; }
.site-footer ul li { margin-bottom:8px; }
.site-footer a { color:rgba(255,255,255,0.78);text-decoration:none; }
.site-footer a:hover { color:#FFF; }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.12);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:12px;color:rgba(255,255,255,0.56); }
.pricing-tile__name a { color: inherit;
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0 1.5px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: background-size .25s ease, color .2s ease; }
.pricing-tile__name a:hover { color: var(--primary-700);
  background-size: 100% 1.5px; }
.pricing__lineup { text-align: center;
  margin-top: 40px;
  font-size: 14px;
  color: var(--text-muted);
  line-height: 2; }
.pricing__lineup-label { display: inline-block;
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--text-secondary);
  margin-right: 12px; }
.pricing__lineup a { display: inline-block;
  padding: 6px 14px;
  margin: 4px 4px;
  background: var(--surface-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  color: var(--primary-700);
  font-weight: 600;
  text-decoration: none;
  font-size: 13px;
  transition: border-color .2s, color .2s, background .2s; }
.pricing__lineup a:hover { border-color: var(--primary-600);
  background: var(--primary-50);
  color: var(--primary-900); }
.resources-grid { display: grid;
  grid-template-columns: 1fr;
  gap: 20px; }
.resource-card { background: var(--surface-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 28px;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  position: relative;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.resource-card:hover { transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: var(--primary-300); }
.resource-card__tag { display: inline-block;
  align-self: flex-start;
  background: var(--primary-50);
  color: var(--primary-700);
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  margin-bottom: 16px; }
.resource-card__title { font-family: var(--font-heading);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 10px;
  color: var(--text-primary); }
.resource-card__desc { font-size: 14px;
  line-height: 1.55;
  color: var(--text-secondary);
  margin-bottom: 20px;
  flex: 1; }
.resource-card__cta { font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--primary-700);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-top: 16px;
  border-top: 1px solid var(--border); }
.resource-card:hover .resource-card__cta { color: var(--primary-900); }
.resource-card__cta::after { content: "→"; transition: transform .2s ease; }
.resource-card:hover .resource-card__cta::after { transform: translateX(4px); }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { font-family:'Barlow', system-ui, sans-serif; font-size:17px; line-height:1.65; color:var(--text-primary); background:var(--bg-page); }
.container { max-width:var(--container); margin:0 auto; padding:0 24px; }
h1,h2,h3,h4 { font-family:'Barlow Condensed', system-ui, sans-serif; line-height:1.1; letter-spacing:-0.01em; color:var(--text-primary); }
h1 { font-size:clamp(38px, 5.4vw, 76px); font-weight:800; text-transform:uppercase; }
h2 { font-size:clamp(30px, 3.8vw, 52px); font-weight:700; text-transform:uppercase; }
h3 { font-size:clamp(20px, 2.2vw, 28px); font-weight:700; }
h4 { font-size:clamp(17px, 1.6vw, 21px); font-weight:600; }
p { margin-bottom:1em; }
p strong { font-weight:700; color:var(--text-primary); }
p em { font-style:italic; color:var(--neutral-700); }
a { color:var(--primary-400); text-decoration:underline; text-underline-offset:3px; transition:color .15s; }
a:hover { color:var(--primary-600); }
.eyebrow { font-family:'Barlow Condensed', system-ui, sans-serif; font-size:13px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--primary-500); }
.btn { display:inline-flex; align-items:center; gap:10px; padding:16px 28px; border-radius:0; font-family:'Barlow Condensed', system-ui, sans-serif; font-size:16px; font-weight:700; letter-spacing:2px; text-transform:uppercase; text-decoration:none; transition:all .18s ease; border:2px solid transparent; cursor:pointer; line-height:1; }
.btn-primary { background:var(--primary-600); color:#FFF; border-color:var(--primary-600); }
.btn-primary:hover { background:var(--primary-700); color:#FFF; transform:translateY(-2px); box-shadow:var(--shadow-md); }
.btn-amber { background:var(--accent-amber); color:#FFF; border-color:var(--accent-amber); }
.btn-amber:hover { background:#94A12D; color:#FFF; transform:translateY(-2px); box-shadow:var(--shadow-md); }
.btn-large { padding:20px 36px; font-size:18px; }
.btn-on-dark { background:#FFFFFF; color:var(--primary-700); border-color:#FFFFFF; }
.btn-on-dark:hover { background:transparent; color:#FFFFFF; }
.btn-on-dark-outline { background:transparent; color:#FFFFFF; border-color:#FFFFFF; }
.btn-on-dark-outline:hover { background:#FFFFFF; color:var(--primary-700); }
.trust-bar { background:var(--primary-700); color:#FFF; font-size:13px; font-family:'Barlow Condensed'; letter-spacing:2px; text-transform:uppercase; padding:10px 0; text-align:center; font-weight:600; }
.trust-bar i { color:var(--primary-200); margin:0 8px; }
.nav { position:sticky; top:0; z-index:100; background:rgba(255,255,255,0.96); backdrop-filter:blur(8px); border-bottom:1px solid var(--border-subtle); transition:box-shadow .2s; }
.nav.scrolled { box-shadow:var(--shadow-md); }
.nav-logo { display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--neutral-900); font-family:'Barlow Condensed'; font-weight:800; font-size:22px; letter-spacing:1px; text-transform:uppercase; }
.nav-logo img { height: 56px; width:auto; }
.nav-links > li > a { display:inline-flex; align-items:center; gap:6px; padding:14px 12px; color:var(--neutral-700); font-family:'Barlow Condensed'; font-weight:600; font-size:15px; text-transform:uppercase; letter-spacing:1px; text-decoration:none; }
.nav-dropdown { position:absolute; top:100%; left:0; min-width:280px; background:#FFF; border-top:3px solid var(--primary-600); box-shadow:var(--shadow-lg); padding:8px 0; opacity:0; visibility:hidden; transform:translateY(-8px); transition:all .18s ease; list-style:none; margin:0; z-index:10; }
.nav-dropdown li a { display:block; padding:10px 20px; color:var(--neutral-700); font-family:'Barlow Condensed'; font-weight:600; font-size:14px; text-transform:uppercase; letter-spacing:1px; text-decoration:none; border-left:3px solid transparent; }
header.hero { position:relative; min-height:88vh; background:var(--neutral-900); color:#FFF; overflow:hidden; }
.hero-bg { position:absolute; inset:0; z-index:0; }
.hero-bg img { width:100%; height:100%; object-fit:cover; opacity:0.55; }
.hero-bg::after { content:""; position:absolute; inset:0; background:linear-gradient(135deg, rgba(22,60,47,0.85) 0%, rgba(15,45,36,0.7) 50%, rgba(22,20,15,0.78) 100%); }
.hero-inner { position:relative; z-index:1; padding:96px 0 80px; }
.hero-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:64px; align-items:center; }
.hero-tagline { display:inline-flex; align-items:center; gap:8px; padding:8px 16px; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.18); font-family:'Barlow Condensed'; font-size:13px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:#FFF; margin-bottom:20px; }
.hero-tagline i { color:var(--primary-200); }
header.hero h1 { color:#FFF; margin-bottom:20px; }
.hero-sub { font-size:18px; line-height:1.65; color:rgba(255,255,255,0.86); margin-bottom:28px; max-width:640px; }
.hero-sub strong { color:#FFF; font-weight:700; }
.hero-pills { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:32px; }
.hero-pill { display:inline-flex; align-items:center; gap:8px; padding:8px 14px; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.22); font-family:'Barlow Condensed'; font-size:13px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:#FFF; }
.hero-pill i { color:var(--primary-200); }
.hero-cta { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:24px; }
.hero-meta { color:rgba(255,255,255,0.72); font-size:14px; }
.hero-meta i { color:var(--primary-200); }
.hero-card { background:#FFF; color:var(--neutral-900); padding:32px; box-shadow:var(--shadow-xl); position:relative; }
.hero-card::before { content:""; position:absolute; left:0; top:0; bottom:0; width:6px; background:var(--accent-amber); }
.hero-card-eyebrow { font-family:'Barlow Condensed'; font-size:13px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--accent-amber); margin-bottom:8px; display:flex; align-items:center; gap:8px; }
.hero-card h3 { margin-bottom:12px; font-size:24px; }
.hero-card p { font-size:15px; line-height:1.6; color:var(--neutral-700); margin-bottom:16px; }
.hero-card-row { display:flex; align-items:center; gap:12px; padding:10px 0; border-top:1px solid var(--border-subtle); font-size:14px; }
.hero-card-row:first-of-type { border-top:none; }
.hero-card-row i { color:var(--primary-600); width:20px; }
.hero-card-row strong { color:var(--neutral-900); }
section.stats { background:var(--primary-700); color:#FFF; padding:48px 0; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center; }
.stat-num { font-family:'Barlow Condensed'; font-size:64px; font-weight:800; color:var(--primary-200); line-height:1; }
.stat-num .stat-suffix { font-size:0.5em; }
.stat-label { font-family:'Barlow Condensed'; font-size:13px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,0.78); margin-top:8px; }
section { padding:80px 0; }
.section-warm { background:var(--bg-section-warm); }
.section-cool { background:var(--bg-section-cool); }
.section-dark { background:var(--bg-dark); color:var(--text-on-dark); }
.section-dark h2, .section-dark h3, .section-dark h4 { color:#FFF; }
.section-dark p { color:rgba(255,255,255,0.86); }
.section-header { text-align:center; max-width:780px; margin:0 auto 56px; }
.section-header .eyebrow { display:block; margin-bottom:12px; }
.section-header p { color:var(--text-secondary); font-size:18px; margin-top:16px; }
.two-col { display:grid; grid-template-columns:1.2fr 1fr; gap:64px; align-items:start; }
.image-card { background:#FFF; padding:8px; box-shadow:var(--shadow-md); }
.image-card img { display:block; width:100%; height:auto; }
.image-card-caption { padding:14px 16px; font-size:13px; color:var(--text-muted); font-style:italic; }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:32px; }
.svc-card { background:#FFF; padding:32px 28px; border:1px solid var(--border-subtle); transition:all .2s; position:relative; display:flex; flex-direction:column; }
.svc-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--primary-300); }
.svc-card .svc-icon { font-size:36px; color:var(--primary-600); margin-bottom:18px; }
.svc-card h3 { margin-bottom:8px; font-size:22px; font-family:'Barlow Condensed'; font-weight:700; }
.svc-card .svc-failure { font-size:14px; color:var(--text-muted); font-style:italic; margin-bottom:16px; flex-grow:1; }
.svc-card .svc-link { display:inline-flex; align-items:center; gap:6px; font-family:'Barlow Condensed'; font-size:14px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--primary-600); text-decoration:none; }
.svc-card .svc-link:hover { color:var(--primary-700); gap:10px; }
.svc-card .svc-badge { position:absolute; top:16px; right:16px; padding:4px 10px; font-family:'Barlow Condensed'; font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; }
.svc-badge-local { background:var(--primary-100); color:var(--primary-700); }
.svc-badge-hub { background:var(--neutral-200); color:var(--neutral-700); }
.entity-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px 32px; }
.entity-row { padding:14px 0; border-bottom:1px solid var(--border-subtle); display:flex; align-items:flex-start; gap:14px; }
.entity-row i { color:var(--primary-500); margin-top:5px; flex-shrink:0; }
.entity-row .entity-body { flex:1; }
.entity-row .entity-name { display:block; font-family:'Barlow Condensed'; font-size:19px; font-weight:700; color:var(--neutral-900); line-height:1.25; }
.entity-row .entity-desc { display:block; font-size:14px; color:var(--neutral-700); margin-top:2px; line-height:1.5; }
.proximity-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:24px; }
.prox-stat { padding:16px; background:#FFF; border-left:4px solid var(--primary-500); }
.prox-stat .prox-num { font-family:'Barlow Condensed'; font-size:28px; font-weight:800; color:var(--primary-600); line-height:1; }
.prox-stat .prox-label { font-family:'Barlow Condensed'; font-size:12px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-muted); margin-top:4px; }
.faq { max-width:880px; margin:0 auto; }
.faq-item { border-bottom:1px solid var(--border-subtle); }
.faq-item summary { padding:24px 8px; font-family:'Barlow Condensed'; font-size:21px; font-weight:700; cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:16px; color:var(--neutral-900); }
.faq-item summary::after { content:"+"; font-size:32px; font-weight:300; color:var(--primary-500); flex-shrink:0; transition:transform .2s; }
.faq-item[open] summary::after { transform:rotate(45deg); }
.faq-item summary:hover { color:var(--primary-600); }
.faq-item-body { padding:0 8px 24px; font-size:16px; line-height:1.7; color:var(--neutral-700); }
.faq-item-body strong { color:var(--neutral-900); font-weight:700; }
.cta-banner { background:linear-gradient(135deg, var(--primary-700) 0%, var(--primary-800) 100%); color:#FFF; padding:80px 0; }
.cta-banner-inner { display:grid; grid-template-columns:1.5fr 1fr; gap:48px; align-items:center; }
.cta-banner h2 { color:#FFF; margin-bottom:16px; }
.cta-banner p { color:rgba(255,255,255,0.86); font-size:18px; margin-bottom:0; }
.cta-banner-actions { display:flex; flex-direction:column; gap:14px; align-items:flex-start; }
.cta-banner-actions .cta-phone { font-family:'Barlow Condensed'; font-size:36px; font-weight:800; color:#FFF; text-decoration:none; line-height:1; display:flex; align-items:center; gap:10px; }
.cta-banner-actions .cta-phone i { color:var(--primary-200); font-size:32px; }
.site-footer { background:var(--neutral-900); color:rgba(255,255,255,0.78); padding:64px 0 24px; font-size:14px; }
.site-footer h4 { color:#FFF; margin-bottom:16px; font-size:14px; letter-spacing:2px; }
.site-footer ul { list-style:none; }
.mobile-cta { display:none; position:fixed; bottom:0; left:0; right:0; background:var(--primary-700); color:#FFF; padding:12px 16px; z-index:200; box-shadow:0 -8px 24px rgba(0,0,0,0.18); }
.mobile-cta-inner { display:flex; gap:8px; align-items:center; justify-content:space-between; max-width:600px; margin:0 auto; }
.mobile-cta a { flex:1; display:flex; align-items:center; justify-content:center; gap:8px; padding:12px; font-family:'Barlow Condensed'; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; font-size:14px; text-decoration:none; }
.mobile-cta .mc-call { background:#FFF; color:var(--primary-700); }
.mobile-cta .mc-quote { background:var(--accent-amber); color:#FFF; }
.milestone-timeline { max-width:880px; margin:0 auto; position:relative; padding:8px 0 16px; }
.milestone-timeline::before { content:""; position:absolute; left:96px; top:24px; bottom:24px; width:2px; background:linear-gradient(180deg, var(--primary-500) 0%, var(--primary-200) 100%); }
.milestone-item { display:grid; grid-template-columns:80px 1fr; gap:56px; margin-bottom:28px; align-items:start; position:relative; }
.milestone-item:last-child { margin-bottom:0; }
.milestone-year { font-family:'Barlow Condensed', sans-serif; font-size:30px; font-weight:800; color:var(--primary-700); text-align:right; padding-top:14px; line-height:1; letter-spacing:0.5px; position:relative; }
.milestone-year::after { content:""; position:absolute; right:-23px; top:20px; width:14px; height:14px; border-radius:50%; background:var(--primary-600); border:3px solid #FFF; box-shadow:0 0 0 2px var(--primary-300); z-index:1; }
.milestone-item--current .milestone-year { color:var(--accent-amber); }
.milestone-item--current .milestone-year::after { background:var(--accent-amber); box-shadow:0 0 0 2px rgba(217,119,6,0.3), 0 0 0 7px rgba(217,119,6,0.12); }
.milestone-body { background:#FFF; border:1px solid var(--border-subtle); border-left:4px solid var(--primary-500); padding:20px 26px; box-shadow:0 1px 3px rgba(0,0,0,0.04); }
.milestone-item--current .milestone-body { border-left-color:var(--accent-amber); background:linear-gradient(180deg, #FFFBF5 0%, #FFF 100%); }
.milestone-body h3 { font-family:'Barlow Condensed', sans-serif; font-size:21px; font-weight:700; margin:0 0 8px; color:var(--neutral-900); line-height:1.25; }
.milestone-body p { font-size:15px; line-height:1.6; color:var(--neutral-700); margin:0; }
.community-involvement { max-width:880px; margin:56px auto 0; padding:28px 32px; background:var(--bg-section-warm, #FAF7EE); border-left:4px solid var(--primary-500); }
.community-involvement h3 { font-family:'Barlow Condensed', sans-serif; font-size:22px; font-weight:700; margin:0 0 10px; color:var(--neutral-900); }
.community-involvement h3 i { color:var(--primary-600); margin-right:8px; }
.community-involvement p { font-size:15px; line-height:1.6; color:var(--neutral-700); margin:0; }
.verify-card { margin-top:32px; padding:32px 36px; background:linear-gradient(135deg, var(--primary-50, #F2F7F4) 0%, #FFF 100%); border:1px solid var(--border-subtle); border-left:4px solid var(--primary-600); }
.verify-card__eyebrow { font-family:'Barlow Condensed', sans-serif; font-size:13px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--primary-700); margin-bottom:14px; display:flex; align-items:center; gap:10px; }
.verify-card__eyebrow i { color:var(--accent-amber); font-size:16px; }
.verify-card__lede { font-family:'Barlow Condensed', sans-serif; font-size:22px; font-weight:600; line-height:1.4; color:var(--neutral-900); margin:0 0 24px; }
.verify-card__actions { display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.btn-on-light-outline { background:#FFF; color:var(--primary-700); border:2px solid var(--primary-600); }
.btn-on-light-outline:hover { background:var(--primary-600); color:#FFF; }
.cred-groups { display:grid; grid-template-columns:1fr 1fr; gap:36px 56px; }
.cred-group h3 { font-family:'Barlow Condensed', sans-serif; font-size:22px; font-weight:700; margin:0 0 14px; padding-bottom:10px; border-bottom:2px solid var(--primary-300); color:var(--neutral-900); display:flex; align-items:center; gap:10px; }
.cred-group h3::before { content:""; display:inline-block; width:8px; height:8px; background:var(--primary-600); border-radius:50%; flex-shrink:0; }
.cred-group .problem-list { margin:0; padding:0; list-style:none; }
.cred-group .problem-list li { position:relative; padding:8px 0 8px 22px; font-size:15px; line-height:1.55; color:var(--neutral-800); border-bottom:1px solid var(--border-subtle); }
.cred-group .problem-list li:last-child { border-bottom:none; }
.cred-group .problem-list li::before { content:"✓"; position:absolute; left:0; top:8px; color:var(--primary-600); font-weight:700; }
.cred-group .problem-list a { color:var(--primary-700); font-weight:600; }
.cred-group .problem-list a:hover { color:var(--primary-800); }
.cost-table-caption { font-family:'Barlow Condensed', system-ui, sans-serif; font-size:14px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-secondary); margin-top:24px; margin-bottom:14px; }
.cost-table { width:100%; border-collapse:collapse; background:#FFF; box-shadow:var(--shadow-sm); }
.cost-table thead th { background:linear-gradient(135deg, var(--primary-700) 0%, var(--primary-600) 100%); color:#FFF; padding:16px 18px; font-family:'Barlow Condensed', system-ui, sans-serif; font-size:14px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; text-align:left; }
.cost-table tbody td { padding:14px 18px; border-bottom:1px solid var(--border-subtle); font-size:15px; vertical-align:top; font-variant-numeric:tabular-nums; }
.cost-table tbody tr:nth-child(even) td { background:var(--neutral-50); }
.cost-table tbody tr:last-child td { border-bottom:none; }
.cost-table tbody td:first-child { font-weight:700; color:var(--primary-700); }
.cost-table.month-table tbody td:first-child { font-family:'Barlow Condensed', system-ui, sans-serif; font-size:18px; letter-spacing:0.5px; text-transform:uppercase; }
.property-cards { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:20px; margin-top:16px; }
.property-card { background:#FFF; border:1px solid var(--border-subtle); border-left:4px solid var(--primary-500); padding:24px 22px; box-shadow:var(--shadow-sm); transition:box-shadow .18s ease, transform .18s ease; }
.property-card:hover { box-shadow:var(--shadow-md); transform:translateY(-2px); }
.property-card-icon { width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; background:var(--primary-50); color:var(--primary-600); border-radius:50%; margin-bottom:14px; font-size:18px; }
.property-card h4 { font-size:18px; margin-bottom:8px; color:var(--neutral-900); line-height:1.25; }
.property-card p { font-size:14.5px; color:var(--neutral-700); line-height:1.55; margin:0; }
.property-card a { color:var(--primary-600); }
.problem-list { list-style:none; padding:0; }
.problem-list li { padding:14px 0 14px 36px; border-bottom:1px solid var(--border-subtle); position:relative; font-size:16px; line-height:1.5; }
.problem-list li::before { content:"\f058 "; font-family:'Font Awesome 6 Free'; font-weight:900; color:var(--primary-500); position:absolute; left:0; top:14px; font-size:18px; }
.warning-callout { background:linear-gradient(135deg, var(--primary-700) 0%, var(--primary-800) 100%); color:#FFF; padding:24px 28px; margin:24px auto; max-width:920px; box-shadow:var(--shadow-md); border-left:6px solid var(--accent-amber); }
.warning-callout h4 { color:#FFF; font-family:'Barlow Condensed', system-ui, sans-serif; font-size:17px; letter-spacing:1.2px; text-transform:uppercase; margin-bottom:8px; }
.warning-callout p { color:rgba(255,255,255,0.92); font-size:15.5px; line-height:1.65; margin:0; }
.refs-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:16px; max-width:920px; margin:0 auto; }
.ref-card { background:#FFF; padding:18px 20px; border-left:3px solid var(--primary-500); box-shadow:var(--shadow-sm); }
.ref-card-label { font-family:'Barlow Condensed', system-ui, sans-serif; font-size:12px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-muted); margin-bottom:4px; }
.ref-card a { font-family:'Barlow Condensed', system-ui, sans-serif; font-size:17px; font-weight:700; color:var(--primary-700); text-decoration:none; line-height:1.3; }
.ref-card a:hover { color:var(--primary-500); text-decoration:underline; }
.ref-card a i { margin-left:4px; font-size:13px; opacity:0.7; }
.section-header h2 { margin-bottom:0; }
.section-header h2 + p { margin-top:16px; }
.nav-inner { display:flex; align-items:center; justify-content:space-between; padding:14px 0; }
.nav-links { display:flex; gap:24px; align-items:center; }
.nav-links a { color:var(--neutral-700); font-family:'Barlow Condensed'; font-weight:600; font-size:15px; text-transform:uppercase; letter-spacing:1px; text-decoration:none; }
.nav-links a:hover { color:var(--primary-600); }
.hero h1 .hero-sub-h1 { color:var(--primary-200); display:block; font-size:0.6em; font-weight:700; letter-spacing:2px; margin-top:8px; }
section { padding:96px 0; }
.section-dark .section-header p { color:rgba(255,255,255,0.86); }
.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:32px; }
.process-card { background:#FFF; padding:32px 28px; border:1px solid var(--border-subtle); position:relative; }
.process-card .process-num { font-family:'Barlow Condensed'; font-size:64px; font-weight:800; color:var(--primary-200); line-height:1; margin-bottom:12px; }
.process-card h4 { margin-bottom:8px; font-size:21px; }
.process-card p { font-size:15px; color:var(--neutral-700); margin:0; line-height:1.6; }
.cost-table-caption { font-family:'Barlow Condensed'; font-size:14px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-secondary); margin-top:24px; margin-bottom:14px; }
.cost-table thead th { background:linear-gradient(135deg, var(--primary-700) 0%, var(--primary-600) 100%); color:#FFF; padding:16px 18px; font-family:'Barlow Condensed'; font-size:14px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; text-align:left; }
.nav-links a { color:var(--neutral-700); font-family:'Barlow Condensed'; font-weight:600; font-size:15px; text-transform:uppercase; letter-spacing:1px; text-decoration:none; padding:0 12px; }
.section-dark a { color:var(--primary-200); text-decoration:underline; text-underline-offset:3px; }
.section-dark a:hover { color:#FFF; }
.project-table-wrap { margin-top:32px; }
.project-table { width:100%; border-collapse:separate; border-spacing:0; background:#FFF; box-shadow:0 4px 24px rgba(22,20,15,0.08); }
.project-table thead th { background:var(--primary-700); color:#FFF; font-family:'Barlow Condensed', sans-serif; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; font-weight:700; padding:14px 18px; text-align:left; }
.project-table tbody td { padding:18px 20px; vertical-align:top; font-size:14.5px; line-height:1.55; color:var(--neutral-800); border-bottom:1px solid var(--border-subtle); }
.project-table tbody tr:last-child td { border-bottom:0; }
.project-table tbody tr:nth-child(even) td { background:rgba(241,246,241,0.35); }
.project-table tbody td:first-child { width:26%; font-family:'Barlow Condensed', sans-serif; }
.project-table tbody td:nth-child(2) { width:22%; color:var(--text-secondary); font-style:italic; font-size:14px; }
.project-table tbody td:nth-child(3) { width:52%; }
.project-table tbody td strong { color:var(--neutral-900); font-weight:700; font-size:16px; display:block; }
.project-table__addr { display:block; font-family:'Barlow', sans-serif; font-style:normal; font-weight:500; font-size:13px; color:var(--text-muted); margin-top:2px; letter-spacing:0; text-transform:none; }
.lsp-cost-wrap { max-width:920px; margin:0 auto; }
.lsp-cost-table { width:100%; border-collapse:separate; border-spacing:0; background:#FFF; box-shadow:0 4px 24px rgba(22,20,15,0.08); }
.lsp-cost-table thead th { background:var(--primary-700); color:#FFF; font-family:'Barlow Condensed', sans-serif; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; font-weight:700; padding:14px 18px; text-align:left; }
.lsp-cost-table tbody td { padding:18px 20px; vertical-align:middle; font-size:15px; line-height:1.5; color:var(--neutral-800); border-bottom:1px solid var(--border-subtle); }
.lsp-cost-table tbody tr:last-child td { border-bottom:0; }
.lsp-cost-table tbody tr:nth-child(even) td { background:rgba(241,246,241,0.35); }
.lsp-cost-table tbody td:first-child { width:36%; font-family:'Barlow Condensed', sans-serif; }
.lsp-cost-table tbody td:nth-child(2) { width:28%; color:var(--primary-700); font-family:'Barlow Condensed', sans-serif; }
.lsp-cost-table tbody td:nth-child(3) { width:36%; color:var(--text-secondary); font-style:italic; font-size:14px; }
.lsp-cost-table tbody td strong { color:var(--neutral-900); font-weight:700; font-size:16px; }
.lsp-cost-table__sub { display:block; font-family:'Barlow', sans-serif; font-style:normal; font-weight:500; font-size:13px; color:var(--text-muted); margin-top:2px; letter-spacing:0; text-transform:none; }
* { box-sizing:border-box; margin:0; padding:0; }
/* REMOVED: bad 404-page body rule that was making everything flex-center */
.stub { max-width:640px; text-align:center; }
.eyebrow { font-size:13px; font-weight:700; color:#1F3756; letter-spacing:3px; text-transform:uppercase; margin-bottom:16px; }
h1 { font-size:48px; font-weight:800; text-transform:uppercase; letter-spacing:-1px; margin-bottom:14px; }
p { color:#5e4a3a; font-size:17px; margin-bottom:8px; line-height:1.55; }
.notice { background:#B8C940; color:#FFF; padding:14px 24px; display:inline-block; margin:24px 0; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; font-size:13px; }
.actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:24px; }
.actions a { padding:14px 28px; background:#1F3756; color:#FFF; text-decoration:none; font-weight:700; letter-spacing:2px; text-transform:uppercase; font-size:13px; }
.actions a.secondary { background:transparent; border:2px solid #1F3756; color:#1F3756; }
.feature-list { list-style:none; padding:0; margin-top:8px; }
.feature-list li { position:relative; padding:14px 0 14px 40px; border-bottom:1px solid var(--border-subtle); font-size:16.5px; line-height:1.6; color:var(--neutral-800); }
.feature-list li::before { content:"\f00c "; font-family:'Font Awesome 6 Free'; font-weight:900; color:#fff; background:var(--primary-500); width:24px; height:24px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:11px; position:absolute; left:0; top:14px; }
.feature-list li:last-child { border-bottom:none; }
.feature-list li strong { color:var(--neutral-900); }
.warning-callout { background:linear-gradient(135deg, var(--primary-700) 0%, var(--primary-800) 100%); color:#FFF; padding:24px 28px; margin:28px auto 0; max-width:920px; box-shadow:var(--shadow-md); border-left:6px solid var(--accent-amber); }
.warning-callout a { color:#FFF; text-decoration:underline; }
.refs-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:16px; max-width:980px; margin:0 auto; }
.roi-table { width:100%; border-collapse:separate; border-spacing:0; background:transparent; margin-top:16px; }
.roi-table thead th { background:linear-gradient(135deg, var(--primary-700) 0%, var(--primary-600) 100%); color:#FFF; padding:18px 18px; font-family:'Barlow Condensed', system-ui, sans-serif; font-size:13px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; text-align:left; border:0; }
.roi-table thead th:first-child { border-top-left-radius:4px; }
.roi-table thead th:last-child { border-top-right-radius:4px; text-align:right; }
.roi-table thead th.num { text-align:right; }
.roi-table tbody tr { background:#FFF; box-shadow:var(--shadow-sm); transition:transform .15s ease, box-shadow .15s ease; }
.roi-table tbody tr:hover { transform:translateY(-1px); box-shadow:var(--shadow-md); }
.roi-table tbody td { padding:18px 18px; border-bottom:1px solid var(--border-subtle); font-size:15px; vertical-align:middle; font-variant-numeric:tabular-nums; }
.roi-table tbody td.num { text-align:right; font-weight:600; color:var(--neutral-800); }
.roi-table tbody td.scenario { font-family:'Barlow Condensed', system-ui, sans-serif; font-weight:700; font-size:17px; letter-spacing:0.3px; }
.roi-table tbody td.scenario .roi-badge { display:inline-block; margin-left:8px; padding:3px 9px; font-family:'Barlow Condensed', system-ui, sans-serif; font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; vertical-align:middle; border-radius:2px; }
.roi-badge.best { background:var(--primary-600); color:#FFF; }
.roi-badge.worst { background:var(--accent-amber); color:#FFF; }
.roi-table tbody td.eff-yr { font-family:'Barlow Condensed', system-ui, sans-serif; font-size:22px; font-weight:800; color:var(--primary-700); text-align:right; }
.roi-table tbody tr.row-best { background:#EEF2F7; box-shadow:0 1px 2px rgba(31,78,61,.12), inset 4px 0 0 var(--primary-600); }
.roi-table tbody tr.row-best td.scenario { color:var(--primary-700); }
.roi-table tbody tr.row-best td.eff-yr { color:var(--primary-600); }
.roi-table tbody tr.row-worst { background:#F0F4D9; box-shadow:0 1px 2px rgba(217,119,6,.12), inset 4px 0 0 var(--accent-amber); }
.roi-table tbody tr.row-worst td.eff-yr { color:var(--accent-amber); }
.roi-table tbody tr:last-child td:first-child { border-bottom-left-radius:4px; }
.roi-table tbody tr:last-child td:last-child { border-bottom-right-radius:4px; }
.roi-key { display:flex; flex-wrap:wrap; gap:18px; margin-top:18px; font-family:'Barlow Condensed', system-ui, sans-serif; font-size:13px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--neutral-700); }
.roi-key .key-dot { display:inline-block; width:14px; height:14px; vertical-align:middle; margin-right:6px; border-radius:2px; }
.roi-key .key-best { background:var(--primary-600); }
.roi-key .key-worst { background:var(--accent-amber); }
.data-table { width:100%; border-collapse:separate; border-spacing:0 8px; background:transparent; margin-top:8px; }
.data-table thead th { background:linear-gradient(135deg, var(--primary-700) 0%, var(--primary-600) 100%); color:#FFF; padding:16px 18px; font-family:'Barlow Condensed', system-ui, sans-serif; font-size:13px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; text-align:left; border:0; }
.data-table thead th.num { text-align:right; }
.data-table thead th.center { text-align:center; }
.data-table thead th:first-child { border-top-left-radius:4px; border-bottom-left-radius:4px; }
.data-table thead th:last-child { border-top-right-radius:4px; border-bottom-right-radius:4px; }
.data-table tbody tr { background:#FFF; box-shadow:var(--shadow-sm); transition:transform .15s ease, box-shadow .15s ease; }
.data-table tbody tr:hover { transform:translateY(-1px); box-shadow:var(--shadow-md); }
.data-table tbody td { padding:16px 18px; font-size:15px; vertical-align:middle; font-variant-numeric:tabular-nums; }
.data-table tbody td.num { text-align:right; font-family:'Barlow Condensed', system-ui, sans-serif; font-size:17px; font-weight:700; letter-spacing:0.3px; color:var(--neutral-800); }
.data-table tbody td.label { font-family:'Barlow Condensed', system-ui, sans-serif; font-weight:700; font-size:17px; letter-spacing:0.3px; color:var(--primary-700); }
.data-table tbody td.center { text-align:center; }
.data-table tbody tr.row-highlight { background:#EEF2F7; box-shadow:0 1px 2px rgba(31,78,61,.16), inset 4px 0 0 var(--primary-600); }
.data-table tbody tr.row-highlight td.label { color:var(--primary-700); }
.featured-pill { display:inline-block; margin-left:8px; padding:3px 9px; font-family:'Barlow Condensed', system-ui, sans-serif; font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; vertical-align:middle; border-radius:2px; background:var(--accent-amber); color:#FFF; }
.adj-badge { display:inline-block; padding:6px 14px; font-family:'Barlow Condensed', system-ui, sans-serif; font-size:14px; font-weight:700; letter-spacing:0.5px; border-radius:3px; font-variant-numeric:tabular-nums; min-width:96px; text-align:center; }
.adj-badge.premium { background:#F0F4D9; color:#6B7A1B; border:1px solid #C8D275; }
.adj-badge.baseline { background:var(--neutral-100); color:var(--neutral-700); border:1px solid var(--neutral-300); }
.adj-badge.savings { background:#EEF2F7; color:var(--primary-700); border:1px solid #ADBCD0; }
.contact-channels { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:start; }
.contact-table { width:100%; border-collapse:collapse; background:#FFF; box-shadow:var(--shadow-sm); }
.contact-table th, .contact-table td { padding:14px 18px; text-align:left; vertical-align:top; border-bottom:1px solid var(--border-subtle); font-size:15px; line-height:1.5; }
.contact-table tr:last-child th, .contact-table tr:last-child td { border-bottom:0; }
.contact-table th { width:42%; font-family:'Barlow Condensed', sans-serif; font-weight:700; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; color:var(--primary-700); white-space:nowrap; background:var(--primary-50); }
.contact-table th i { color:var(--primary-600); margin-right:8px; width:14px; }
.contact-table td { color:var(--neutral-800); }
.contact-table td a { color:var(--primary-700); font-weight:600; }
.contact-table td a:hover { color:var(--primary-800); }
.contact-table__note { color:var(--text-muted); font-size:14px; }
.map-embed { background:#FFF; padding:20px; box-shadow:var(--shadow-sm); }
.map-embed__title { font-family:'Barlow Condensed', sans-serif; font-size:18px; font-weight:700; margin:0 0 14px; color:var(--neutral-900); display:flex; align-items:center; gap:10px; }
.map-embed__title i { color:var(--primary-600); }
.map-embed__frame { position:relative; width:100%; aspect-ratio:4/3; background:var(--primary-50); margin-bottom:12px; overflow:hidden; }
.map-embed__frame iframe { display:block; width:100%; height:100%; border:0; }
.map-embed__caption { font-size:13px; color:var(--text-muted); margin:0; line-height:1.5; }
.cost-table { width:100%; border-collapse:collapse; background:#FFF; box-shadow:var(--shadow-sm); margin-top:24px; }
.cost-table tbody td:nth-child(2) { font-family:'Barlow Condensed'; font-weight:700; color:var(--neutral-900); }
.warning-callout { background:linear-gradient(135deg, var(--primary-700) 0%, var(--primary-800) 100%); color:#FFF; padding:24px 28px; margin:28px auto 0; max-width:980px; box-shadow:var(--shadow-md); border-left:6px solid var(--accent-amber); }
.warning-callout-amber { background:linear-gradient(135deg, #DC2828 0%, #9A1A1A 100%); border-left-color:#FFF; }
.data-table tbody td a { color:var(--primary-600); }
.data-table-dark thead th { background:linear-gradient(135deg, var(--primary-800) 0%, var(--primary-900) 100%); }
.data-table-dark tbody tr { background:rgba(255,255,255,0.06); box-shadow:none; border:1px solid rgba(255,255,255,0.10); }
.data-table-dark tbody tr:hover { background:rgba(255,255,255,0.10); }
.data-table-dark tbody td { color:rgba(255,255,255,0.86); }
.data-table-dark tbody td.label { color:#FFF; }
.data-table-dark tbody td.num { color:#FFF; }
.adj-badge { display:inline-block; padding:6px 14px; font-family:'Barlow Condensed', system-ui, sans-serif; font-size:13px; font-weight:700; letter-spacing:0.5px; border-radius:3px; font-variant-numeric:tabular-nums; min-width:96px; text-align:center; }
.compare-table thead th { background:linear-gradient(135deg, var(--primary-700) 0%, var(--primary-600) 100%); }
.compare-table thead th.col-cipp { background:linear-gradient(135deg, var(--primary-600) 0%, var(--primary-500) 100%); }
.compare-table thead th.col-burst { background:linear-gradient(135deg, #94A12D 0%, var(--accent-amber) 100%); }
.compare-table tbody td.col-cipp { color:var(--primary-700); font-family:'Barlow', sans-serif; font-weight:500; font-size:15px; }
.compare-table tbody td.col-burst { color:#6B7A1B; font-family:'Barlow', sans-serif; font-weight:500; font-size:15px; }
.decision-tree { display:flex; flex-direction:column; gap:14px; max-width:920px; margin:24px auto 0; }
.decision-step { background:#FFF; border:1px solid var(--border-subtle); border-left:4px solid var(--primary-500); padding:18px 22px; box-shadow:var(--shadow-sm); transition:transform .15s ease, box-shadow .15s ease; }
.decision-step:hover { box-shadow:var(--shadow-md); transform:translateY(-1px); }
.decision-step .step-num { display:inline-block; min-width:36px; height:36px; line-height:34px; text-align:center; background:var(--primary-600); color:#FFF; font-family:'Barlow Condensed', system-ui, sans-serif; font-weight:700; font-size:14px; letter-spacing:1px; border-radius:50%; margin-right:14px; vertical-align:middle; }
.decision-step .step-q { font-size:16px; line-height:1.6; color:var(--neutral-800); display:inline; }
.decision-step .step-q strong { color:var(--neutral-900); }
.decision-step .branch { display:flex; gap:12px; margin-top:10px; flex-wrap:wrap; align-items:center; padding-left:50px; }
.decision-step .branch-yes { background:#F0F4D9; color:#6B7A1B; border:1px solid #C8D275; padding:6px 14px; font-family:'Barlow Condensed', system-ui, sans-serif; font-size:13px; font-weight:700; letter-spacing:0.5px; border-radius:3px; }
.decision-step .branch-no { background:#EEF2F7; color:var(--primary-700); border:1px solid #ADBCD0; padding:6px 14px; font-family:'Barlow Condensed', system-ui, sans-serif; font-size:13px; font-weight:700; letter-spacing:0.5px; border-radius:3px; }
.decision-step .branch i { margin-right:6px; }
.decision-step.final { border-left-color:var(--primary-600); background:#EEF2F7; }
.decision-step.final .step-num { background:var(--primary-700); }
.dual-list { display:grid; grid-template-columns:repeat(auto-fit, minmax(360px, 1fr)); gap:24px; max-width:1080px; margin:0 auto; }
.dual-list-card { background:#FFF; padding:28px 26px; box-shadow:var(--shadow-sm); border-top:5px solid var(--primary-500); }
.dual-list-card.burst { border-top-color:var(--accent-amber); }
.dual-list-card h3 { font-size:22px; margin-bottom:14px; color:var(--primary-700); display:flex; align-items:center; gap:10px; }
.dual-list-card.burst h3 { color:#6B7A1B; }
.dual-list-card h3 i { font-size:18px; }
.dual-list-card .feature-list li { font-size:15.5px; }
.dual-list-card .feature-list li::before { background:var(--primary-500); }
.dual-list-card.burst .feature-list li::before { background:var(--accent-amber); }
.myth-card { background:#FFF; border-left:4px solid var(--accent-amber); padding:24px 26px; box-shadow:var(--shadow-sm); margin-bottom:18px; }
.myth-card h3 { font-size:20px; margin-bottom:10px; color:var(--neutral-900); display:flex; align-items:center; gap:10px; }
.myth-card h3 i { color:var(--accent-amber); }
.myth-card p { font-size:15.5px; line-height:1.65; color:var(--neutral-700); margin:0; }
.tier-table-wrap { margin-top:32px; }
.tier-table { width:100%; border-collapse:collapse; background:#FFF; box-shadow:var(--shadow-sm); }
.tier-table thead th { background:var(--primary-700); color:#FFF; font-family:'Barlow Condensed', sans-serif; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; font-weight:700; padding:14px 18px; text-align:left; }
.tier-table tbody td { padding:14px 18px; vertical-align:middle; font-size:15px; line-height:1.5; color:var(--neutral-800); border-bottom:1px solid var(--border-subtle); }
.tier-table tbody tr:last-child td { border-bottom:0; }
.tier-table tbody tr:nth-child(even) { background:var(--primary-50); }
.tier-table tbody td:first-child { width:38%; }
.tier-table tbody td:nth-child(2) { width:32%; color:var(--text-secondary); }
.tier-table tbody td:nth-child(3) { width:30%; }
.tier-table a { color:var(--primary-700); font-family:'Barlow Condensed', sans-serif; font-weight:700; letter-spacing:0.5px; text-decoration:none; display:inline-flex; align-items:center; gap:6px; }
.tier-table a:hover { color:var(--primary-800); gap:10px; }
.tier-table__planned { color:var(--text-muted); font-style:italic; font-size:14px; }
.tier-table__note { font-weight:400; font-size:13px; color:var(--text-muted); margin-left:6px; }
.svc-image { max-width:920px; margin:24px auto 0; background:#FFF; padding:8px; box-shadow:var(--shadow-md); }
.svc-image img { display:block; width:100%; height:auto; }
.svc-image-caption { padding:14px 16px; font-size:13px; color:var(--text-muted); font-style:italic; text-align:center; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:1080px; margin:0 auto; }
.service-card { background:#FFF; padding:28px 24px; border:1px solid var(--border-subtle); border-top:4px solid var(--primary-500); transition:transform .15s,box-shadow .15s,border-top-color .15s; display:flex; flex-direction:column; gap:12px; text-decoration:none; color:inherit; }
.service-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); border-top-color:var(--accent-amber); color:inherit; }
.service-card-icon { width:48px; height:48px; background:var(--primary-50); color:var(--primary-700); border-radius:50%; display:grid; place-items:center; font-size:20px; flex-shrink:0; }
.service-card-title { font-family:'Barlow Condensed', system-ui, sans-serif; font-size:22px; font-weight:700; color:var(--neutral-900); line-height:1.2; }
.service-card-body { font-size:14px; line-height:1.55; color:var(--neutral-700); margin:0; flex:1; }
.service-card-link { font-family:'Barlow Condensed', system-ui, sans-serif; font-size:13px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--primary-600); margin-top:8px; }
.service-card:hover .service-card-link { color:var(--primary-700); }
body { font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--text-primary);background:var(--surface-page);-webkit-font-smoothing:antialiased;font-feature-settings:"kern" 1,"tnum" 1 }
img,svg { max-width:100%;display:block }
h1,h2,h3,h4 { font-family:var(--font-heading);font-weight:700;line-height:1.1;color:var(--text-primary) }
h1 { font-size:clamp(36px,5.5vw,60px);letter-spacing:-.01em;line-height:1.05 }
h2 { font-size:clamp(28px,4vw,42px);letter-spacing:-.005em;line-height:1.1 }
h3 { font-size:clamp(20px,2vw,24px) }
.btn { display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;font-family:var(--font-body);font-size:15px;font-weight:600;letter-spacing:.04em;border-radius:var(--radius);text-decoration:none;cursor:pointer;transition:transform .15s,background .2s,box-shadow .2s,color .2s;white-space:nowrap }
.btn-arrow::after { content:"→";transition:transform .2s }
.btn:hover .btn-arrow::after { transform:translateX(3px) }
.nav { position:sticky;top:0;z-index:50;background:var(--surface-page);border-bottom:1px solid var(--border);transition:box-shadow .2s }
.nav__menu a { color:var(--text-primary);text-decoration:none;font-weight:500;font-size:15px;padding:8px 0;border-bottom:2px solid transparent }
.nav__menu a.is-active,.nav__menu a:hover { border-bottom-color:var(--primary-600);color:var(--primary-700) }
.nav__phone i { color:var(--primary-600) }
.nav__hamburger { display:none;width:44px;height:44px;background:var(--primary-600);color:var(--text-inverse);border-radius:var(--radius-sm);place-items:center }
.breadcrumb { padding:16px 0;border-bottom:1px solid var(--border);font-size:13px;color:var(--text-muted) }
.breadcrumb a { color:var(--text-secondary);text-decoration:none }
.breadcrumb a:hover { color:var(--primary-600) }
.breadcrumb .sep { margin:0 8px;color:var(--neutral-300) }
.breadcrumb .current { color:var(--primary-700);font-weight:600 }
.service-hero { position:relative;padding:64px 0 48px;overflow:hidden }
.service-hero__grid { display:grid;gap:48px;grid-template-columns:1fr;align-items:center }
.service-hero h1 { margin-bottom:20px }
.service-hero h1 em { color:var(--primary-600);font-style:italic;font-weight:700 }
.service-hero__sub { font-size:18px;color:var(--text-secondary);margin-bottom:28px;max-width:560px;line-height:1.6 }
.service-hero__sub strong { color:var(--text-primary);font-weight:700 }
.service-hero__cta { display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:32px }
.service-hero__quick-facts { display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:24px;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm) }
.qf { text-align:center }
.qf__num { font-family:var(--font-heading);font-size:28px;font-weight:800;color:var(--primary-700);line-height:1 }
.qf__label { font-size:11px;color:var(--text-muted);font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-top:4px }
.service-hero__image-wrap { aspect-ratio:4/3;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);position:relative }
.service-hero__image-wrap img { width:100%;height:100%;object-fit:cover }
.service-hero__floating { position:absolute;bottom:-16px;left:-16px;background:var(--surface-card);padding:16px 20px;border-radius:var(--radius);box-shadow:var(--shadow);display:flex;align-items:center;gap:12px;max-width:240px }
.service-hero__floating-icon { width:40px;height:40px;background:var(--primary-50);border-radius:50%;display:grid;place-items:center;color:var(--primary-700);flex-shrink:0 }
.service-hero__floating-title { font-family:var(--font-heading);font-size:18px;font-weight:700;line-height:1 }
.service-hero__floating-sub { font-size:11px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.08em;margin-top:2px }
section.surface-dark h1,section.surface-dark h2,section.surface-dark h3 { color:var(--text-inverse) }
.section-pad { padding:64px 0 }
.section-head { max-width:760px;margin:0 auto 40px }
.section-head.center { text-align:center }
.section-head .eyebrow { margin-bottom:8px }
.section-head h2 { margin-bottom:12px }
.section-head p { color:var(--text-secondary);font-size:17px;line-height:1.65 }
.what-is { display:grid;gap:32px;grid-template-columns:1fr;align-items:center;max-width:1080px;margin:0 auto }
.what-is__body p { font-size:17px;line-height:1.7;color:var(--text-secondary);margin-bottom:16px }
.what-is__body p:first-of-type::first-letter { font-family:var(--font-heading);font-size:3.5em;line-height:.85;font-weight:800;float:left;margin:.05em .12em 0 0;color:var(--primary-600) }
.what-is__body strong { color:var(--text-primary);font-weight:700 }
.what-is__diagram { aspect-ratio:1/1;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-card);box-shadow:var(--shadow);border:1px solid var(--border) }
.what-is__diagram img { width:100%;height:100%;object-fit:cover }
.indicators { display:grid;gap:16px;grid-template-columns:1fr;max-width:980px;margin:0 auto }
.indicator { display:flex;gap:16px;padding:20px;background:var(--surface-card);border:1px solid var(--border);border-left:3px solid var(--primary-600);border-radius:var(--radius);transition:transform .15s,box-shadow .15s }
.indicator:hover { transform:translateY(-1px);box-shadow:var(--shadow) }
.indicator__icon { flex-shrink:0;width:40px;height:40px;background:var(--primary-50);color:var(--primary-700);border-radius:var(--radius-sm);display:grid;place-items:center;font-size:18px }
.indicator p { font-size:15px;line-height:1.5;color:var(--text-primary);margin:0 }
.indicator p strong { color:var(--primary-700) }
.process-timeline { position:relative;max-width:920px;margin:0 auto;display:grid;gap:0;grid-template-columns:1fr }
.process-step { display:grid;grid-template-columns:auto 1fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--border);position:relative }
.process-step:last-child { border-bottom:0 }
.process-step__num { flex-shrink:0;width:56px;height:56px;background:var(--primary-600);color:#fff;border-radius:50%;display:grid;place-items:center;font-family:var(--font-heading);font-size:22px;font-weight:800;box-shadow:0 0 0 4px var(--primary-50);position:relative;z-index:1 }
.process-step__num::before { content:"";position:absolute;top:56px;left:50%;width:2px;height:100%;background:var(--primary-200);transform:translateX(-50%);z-index:-1 }
.process-step:last-child .process-step__num::before { display:none }
.process-step__body h3 { font-size:20px;margin-bottom:6px;color:var(--text-primary) }
.process-step__body p { font-size:15px;line-height:1.6;color:var(--text-secondary);margin:0 }
.process-step__media { width:120px;flex-shrink:0;border-radius:var(--radius);overflow:hidden;display:none }
.pricing-grid { display:grid;gap:16px;grid-template-columns:1fr;max-width:1080px;margin:0 auto }
.pricing-card { background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;position:relative;transition:transform .25s,box-shadow .25s,border-color .25s }
.pricing-card:hover { transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary-300) }
.pricing-card.is-popular { border:2px solid var(--primary-600);background:linear-gradient(180deg,#fff,var(--primary-50)) }
.pricing-card__badge { position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--primary-600);color:#fff;font-size:10px;font-weight:700;letter-spacing:.14em;padding:3px 10px;border-radius:var(--radius-pill);text-transform:uppercase }
.pricing-card__diam { font-family:var(--font-heading);font-size:18px;font-weight:700;margin-bottom:8px }
.pricing-card__price { font-family:var(--font-heading);font-size:24px;font-weight:800;color:var(--primary-700);line-height:1;margin-bottom:4px }
.pricing-card__price-sub { font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;font-weight:600 }
.pricing-card__total { font-size:14px;color:var(--text-primary);font-weight:600;margin-bottom:8px }
.pricing-card__app { font-size:12px;color:var(--text-secondary);font-style:italic;line-height:1.4 }
.cost-factors { margin-top:32px;padding:24px;background:var(--surface-tint);border-radius:var(--radius);font-size:14px;line-height:1.6;color:var(--text-secondary);max-width:1080px;margin-left:auto;margin-right:auto }
.cost-factors strong { color:var(--text-primary) }
.cost-preview { background:linear-gradient(135deg,var(--primary-700),var(--primary-900));color:var(--text-inverse);border-radius:var(--radius-lg);padding:0;overflow:hidden;box-shadow:var(--shadow-lg);display:grid;grid-template-columns:1fr;gap:0;align-items:center;max-width:1080px;margin:48px auto 0 }
.cost-preview__content { padding:40px }
.cost-preview__eyebrow { font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--primary-300);font-weight:700;margin-bottom:12px }
.cost-preview h3 { font-family:var(--font-heading);font-size:28px;font-weight:700;color:#fff;margin-bottom:12px;line-height:1.15 }
.cost-preview p { font-size:15px;color:rgba(255,255,255,.8);margin-bottom:24px;line-height:1.6 }
.cost-preview .btn { background:var(--primary-300);color:var(--primary-900);font-weight:700 }
.cost-preview .btn:hover { background:#fff;color:var(--primary-900) }
.cost-preview__image { aspect-ratio:8/5;background:rgba(255,255,255,.05) }
.cost-preview__image img { width:100%;height:100%;object-fit:cover }
.diff-list { max-width:920px;margin:0 auto;display:grid;gap:0 }
.diff-item { display:grid;grid-template-columns:auto 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--border);align-items:start }
.diff-item:last-child { border-bottom:0 }
.diff-item__icon { width:44px;height:44px;background:var(--primary-50);color:var(--primary-700);border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:20px }
.diff-item p { font-size:16px;line-height:1.6;color:var(--text-primary);margin:0 }
.diff-item p strong { color:var(--primary-700);font-weight:700 }
.what-if { background:linear-gradient(135deg,#94A12D,#6B7A1B);color:#fff;padding:48px;border-radius:var(--radius-lg);max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:24px;align-items:center }
.what-if__icon { width:64px;height:64px;background:rgba(217,119,6,.2);border:2px solid #B8C940;color:#B8C940;border-radius:50%;display:grid;place-items:center;font-size:28px;flex-shrink:0;margin:0 auto }
.what-if h3 { font-family:var(--font-heading);font-size:24px;font-weight:700;color:#B8C940;margin-bottom:8px }
.what-if p { font-size:15px;line-height:1.6;color:rgba(255,255,255,.85) }
.what-if p strong { color:#B8C940 }
.city-grid { display:grid;gap:8px;grid-template-columns:repeat(2,1fr);max-width:980px;margin:0 auto }
.city-card { padding:14px 16px;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:left;text-decoration:none;color:var(--text-primary);transition:border-color .15s,transform .15s }
.city-card:hover { border-color:var(--primary-600);transform:translateY(-1px) }
.city-card strong { font-weight:700;display:block;font-size:15px }
.city-card span { font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em }
.faq-item__icon { flex-shrink:0;width:32px;height:32px;background:var(--primary-50);border-radius:50%;display:grid;place-items:center;color:var(--primary-700);font-size:14px;font-weight:700;transition:transform .25s,background .2s }
.faq-item[open] .faq-item__icon { transform:rotate(45deg);background:var(--primary-600);color:#fff }
.related-grid { display:grid;gap:16px;grid-template-columns:1fr }
.related-card { background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;text-decoration:none;color:var(--text-primary);transition:border-color .2s,transform .2s,box-shadow .2s;display:block }
.related-card:hover { border-color:var(--primary-300);transform:translateY(-2px);box-shadow:var(--shadow) }
.related-card__eyebrow { font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--primary-600);font-weight:700;margin-bottom:8px }
.related-card h4 { font-family:var(--font-heading);font-size:18px;font-weight:700;margin-bottom:6px }
.related-card p { font-size:13px;color:var(--text-secondary);line-height:1.5 }
.urgency::before { content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(31,78,61,.4) 0,transparent 50%),radial-gradient(circle at 80% 70%,rgba(31,78,61,.3) 0,transparent 50%);opacity:.8 }
.urgency__badge { display:inline-flex;align-items:center;gap:8px;background:rgba(217,119,6,.15);border:1px solid rgba(217,119,6,.4);color:#B8C940;padding:8px 16px;border-radius:var(--radius-pill);font-size:13px;font-weight:600;margin-bottom:24px }
.urgency h2 { color:#fff;max-width:800px;margin:0 auto 20px }
.urgency__sub { font-size:18px;color:rgba(255,255,255,.85);max-width:640px;margin:0 auto 40px;line-height:1.5 }
.footer__col h4 { color:#fff;font-size:14px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px }
.footer__nap strong { color:#fff;display:block;margin-bottom:4px;font-weight:700 }
.mobile-cta { position:fixed;bottom:0;left:0;right:0;z-index:100;display:none;padding:12px;background:rgba(22,20,15,.95);backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.1) }
.mobile-cta a { display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;border-radius:var(--radius);text-decoration:none;font-weight:700;font-size:14px }
.mobile-cta__phone { background:#fff;color:var(--text-primary);width:56px }
.mobile-cta__quote { background:var(--primary-500);color:#fff }
.reveal { opacity:0;transform:translateY(20px);transition:opacity .8s,transform .8s }
.property-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:32px; }
.prop-card { background:#FFF; padding:28px 24px; border:1px solid var(--border-subtle); border-left:4px solid var(--primary-500); transition:transform .15s,box-shadow .15s,border-left-color .15s; display:flex; flex-direction:column; gap:14px; }
.prop-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); border-left-color:var(--accent-amber); }
.prop-card-icon { width:48px; height:48px; background:var(--primary-50); color:var(--primary-700); border-radius:50%; display:grid; place-items:center; font-size:20px; flex-shrink:0; }
.prop-card-title { font-family:'Barlow Condensed', system-ui, sans-serif; font-size:20px; font-weight:700; color:var(--neutral-900); line-height:1.2; }
.prop-card-body { font-size:15px; line-height:1.55; color:var(--neutral-700); margin:0; }
.process-timeline { max-width:920px; margin:32px auto 0; position:relative; }
.process-timeline::before { content:""; position:absolute; left:28px; top:18px; bottom:18px; width:2px; background:var(--primary-200); }
.process-step { display:grid; grid-template-columns:60px 1fr; gap:24px; padding:16px 0; align-items:flex-start; position:relative; }
.process-step-num { width:60px; height:60px; background:var(--primary-600); color:#FFF; font-family:'Barlow Condensed', system-ui, sans-serif; font-weight:800; font-size:24px; border-radius:50%; display:grid; place-items:center; box-shadow:0 0 0 6px var(--bg-page); position:relative; z-index:1; flex-shrink:0; }
.process-step-body { padding-top:8px; }
.process-step-body h3 { font-family:'Barlow Condensed', system-ui, sans-serif; font-size:22px; font-weight:700; color:var(--neutral-900); margin-bottom:6px; line-height:1.2; text-transform:none; letter-spacing:0; }
.process-step-body p { font-size:16px; line-height:1.65; color:var(--neutral-700); margin:0; }
section.section-cool .process-timeline::before { background:var(--primary-300); }
section.section-cool .process-step-num { box-shadow:0 0 0 6px var(--bg-section-cool); }
.feature-list { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; max-width:980px; margin:32px auto 0; }
.feature-item { background:#FFF; padding:20px 22px; border:1px solid var(--border-subtle); display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:flex-start; transition:border-color .15s,transform .15s; }
.feature-item:hover { border-color:var(--primary-300); transform:translateY(-1px); }
.feature-item .feature-check { width:36px; height:36px; background:var(--primary-600); color:#FFF; border-radius:50%; display:grid; place-items:center; font-size:14px; flex-shrink:0; }
.feature-item p { font-size:15px; line-height:1.55; color:var(--neutral-800); margin:0; }
.feature-item p strong { color:var(--primary-700); }
.warning-callout { max-width:920px; margin:0 auto; background:linear-gradient(135deg, #94A12D 0%, #6B7A1B 100%); color:#FFF; padding:36px 40px; display:grid; grid-template-columns:auto 1fr; gap:28px; align-items:flex-start; box-shadow:var(--shadow-lg); }
.warning-callout-icon { width:56px; height:56px; background:rgba(217,119,6,0.2); border:2px solid #B8C940; color:#B8C940; border-radius:50%; display:grid; place-items:center; font-size:24px; flex-shrink:0; }
.warning-callout p { color:rgba(255,255,255,0.92); font-size:16px; line-height:1.7; margin:0; }
.warning-callout p strong { color:#B8C940; font-weight:700; }
.warning-callout-title { color:#B8C940; font-family:'Barlow Condensed', system-ui, sans-serif; font-size:22px; font-weight:700; letter-spacing:1px; text-transform:uppercase; margin-bottom:10px; display:block; }
.cost-table th { background:var(--primary-700); color:#FFF; font-family:'Barlow Condensed', system-ui, sans-serif; font-size:14px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; padding:14px 18px; text-align:left; }
.cost-table td { padding:14px 18px; border-bottom:1px solid var(--border-subtle); font-size:15px; vertical-align:top; }
.cost-table tr:last-child td { border-bottom:none; }
.cost-table td:nth-child(2) { font-family:'Barlow Condensed', system-ui, sans-serif; font-weight:700; color:var(--primary-700); white-space:nowrap; }
.city-chips { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; max-width:920px; margin-left:auto; margin-right:auto; justify-content:center; }
.city-chip { display:inline-flex; align-items:center; gap:8px; padding:10px 18px; background:#FFF; border:1.5px solid var(--primary-300); color:var(--primary-700); font-family:'Barlow Condensed', system-ui, sans-serif; font-size:14px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; transition:all .15s; }
.city-chip:hover { background:var(--primary-600); border-color:var(--primary-600); color:#FFF; transform:translateY(-1px); box-shadow:var(--shadow-sm); }
.city-chip i { color:var(--primary-500); font-size:12px; }
.city-chip:hover i { color:rgba(255,255,255,0.9); }
.process-timeline-v2 { max-width:920px; margin:32px auto 0; position:relative; }
.process-timeline-v2::before { content:""; position:absolute; left:28px; top:18px; bottom:18px; width:2px; background:var(--primary-300); }
.process-timeline-v2 .process-step { display:grid; grid-template-columns:60px 1fr; gap:24px; padding:16px 0; align-items:flex-start; position:relative; }
.process-timeline-v2 .process-step-num { width:60px; height:60px; background:var(--primary-600); color:#FFF; font-family:'Barlow Condensed', system-ui, sans-serif; font-weight:800; font-size:24px; border-radius:50%; display:grid; place-items:center; box-shadow:0 0 0 6px var(--bg-section-cool); position:relative; z-index:1; flex-shrink:0; }
.process-timeline-v2 .process-step-body { padding-top:8px; }
.process-timeline-v2 .process-step-body h3 { font-family:'Barlow Condensed', system-ui, sans-serif; font-size:22px; font-weight:700; color:var(--neutral-900); margin-bottom:6px; line-height:1.2; text-transform:none; letter-spacing:0; }
.process-timeline-v2 .process-step-body p { font-size:16px; line-height:1.65; color:var(--neutral-700); margin:0; }
.warning-callout { background:linear-gradient(135deg, var(--primary-700) 0%, var(--primary-800) 100%); color:#FFF; padding:32px 36px; margin:28px auto; max-width:920px; box-shadow:var(--shadow-lg); border-left:6px solid var(--accent-amber); }
.warning-callout p { color:rgba(255,255,255,0.92); font-size:16.5px; line-height:1.7; }
.warning-callout p strong { color:#FFF; }
.warning-callout a:hover { color:var(--primary-200); }
.city-chips { display:flex; flex-wrap:wrap; gap:10px; max-width:920px; margin:24px auto 0; justify-content:center; }
.city-chip { display:inline-flex; align-items:center; gap:8px; padding:10px 18px; background:#FFF; border:1px solid var(--border-default); color:var(--primary-700); font-family:'Barlow Condensed', system-ui, sans-serif; font-size:14px; font-weight:600; text-transform:uppercase; letter-spacing:1.2px; text-decoration:none; transition:all .15s ease; }
.city-chip:hover { background:var(--primary-600); color:#FFF; border-color:var(--primary-600); }
.city-chip i { color:var(--primary-500); font-size:13px; }
.city-chip:hover i { color:#FFF; }
.method-cards { display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); gap:20px; margin-top:32px; }
.method-card { background:#FFF; border:1px solid var(--border-subtle); padding:28px 24px; text-decoration:none; color:var(--neutral-900); transition:all .18s ease; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; }
.method-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-3px); border-color:var(--primary-400); }
.method-card-icon { width:52px; height:52px; display:inline-flex; align-items:center; justify-content:center; background:var(--primary-600); color:#FFF; margin-bottom:16px; font-size:22px; }
.method-card h4 { font-size:20px; margin-bottom:6px; color:var(--neutral-900); }
.method-card .method-card-when { font-size:13px; font-family:'Barlow Condensed', system-ui, sans-serif; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--primary-500); margin-bottom:12px; }
.method-card p { font-size:14.5px; line-height:1.55; color:var(--neutral-700); margin:0 0 14px; flex-grow:1; }
.method-card-cta { font-family:'Barlow Condensed', system-ui, sans-serif; font-size:14px; font-weight:700; color:var(--primary-600); text-transform:uppercase; letter-spacing:1px; }
.method-card-cta i { margin-left:6px; font-size:12px; }
.city-chip.tier2 { background:transparent; color:var(--neutral-700); border-color:var(--neutral-300); }
.city-chip.tier2:hover { background:var(--neutral-700); color:#FFF; border-color:var(--neutral-700); }
.adj-badge.critical { background:#5C1F1F; color:#FFE3E3; border:1px solid #802B2B; }
.feature-list.x-list li::before { content:"\f00d "; background:var(--accent-amber); }
.dual-list-card.warn { border-top-color:var(--accent-amber); }
.dual-list-card.warn h3 { color:#6B7A1B; }
.data-table tbody td { padding:14px 18px; font-size:15px; vertical-align:middle; font-variant-numeric:tabular-nums; }
.data-table tbody td.label { font-family:'Barlow Condensed', system-ui, sans-serif; font-weight:700; font-size:16px; letter-spacing:0.3px; color:var(--primary-700); }
.data-table tbody td.idx { font-family:'Barlow Condensed', system-ui, sans-serif; font-weight:800; font-size:20px; color:var(--primary-500); width:54px; text-align:center; }
.severity-badge { display:inline-block; padding:5px 12px; font-family:'Barlow Condensed', system-ui, sans-serif; font-size:12.5px; font-weight:700; letter-spacing:1px; text-transform:uppercase; border-radius:3px; min-width:90px; text-align:center; }
.severity-low { background:#EEF2F7; color:var(--primary-700); border:1px solid #ADBCD0; }
.severity-medium { background:#F0F4D9; color:#6B7A1B; border:1px solid #C8D275; }
.severity-high { background:#F7E6E6; color:#8B1A1A; border:1px solid #D8A0A0; }
.severity-critical { background:#5C1F1F; color:#FFE3E3; border:1px solid #802B2B; }
.checklist-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:10px; max-width:1040px; margin:24px auto 0; }
.checklist-item { display:flex; align-items:flex-start; gap:12px; background:#FFF; border:1px solid var(--border-subtle); padding:12px 16px; box-shadow:var(--shadow-sm); transition:background .15s ease; cursor:pointer; }
.checklist-item:hover { background:var(--primary-50); border-color:var(--primary-200); }
.checklist-item input[type="checkbox"] { appearance:none; -webkit-appearance:none; min-width:22px; width:22px; height:22px; border:2px solid var(--neutral-300); margin-top:2px; cursor:pointer; position:relative; flex-shrink:0; transition:all .15s ease; }
.checklist-item input[type="checkbox"]:checked { background:var(--primary-600); border-color:var(--primary-600); }
.checklist-item input[type="checkbox"]:checked::after { content:""; position:absolute; left:6px; top:1px; width:6px; height:12px; border:solid #FFF; border-width:0 2px 2px 0; transform:rotate(45deg); }
.checklist-item input[type="checkbox"]:checked + label { text-decoration:line-through; color:var(--text-muted); }
.checklist-item label { font-size:15px; line-height:1.45; color:var(--neutral-800); cursor:pointer; flex:1; }
a { color:var(--link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;transition:color .2s }
h1,h2,h3,h4 { font-family:var(--font-heading);font-weight:700;line-height:1.1 }
h1 { font-size:clamp(36px,5vw,56px);letter-spacing:-.01em;line-height:1.05 }
h2 { font-size:clamp(28px,4vw,42px);letter-spacing:-.005em;margin-bottom:16px }
h3 { font-size:clamp(20px,2vw,24px);margin-bottom:8px }
.btn { display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;font-size:15px;font-weight:600;letter-spacing:.04em;border-radius:var(--radius);text-decoration:none;cursor:pointer;transition:all .2s;white-space:nowrap }
.btn-primary { background:var(--primary-600);color:#fff }
.btn-primary:hover { background:var(--primary-700);transform:translateY(-1px);box-shadow:var(--shadow) }
.btn-secondary:hover { background:var(--primary-600);color:#fff }
.btn-ghost-on-dark { color:#fff;border:1.5px solid rgba(255,255,255,.4) }
.btn-ghost-on-dark:hover { background:rgba(255,255,255,.1) }
.nav__logo-mark { width:40px;height:40px;background:var(--primary-600);border-radius:4px;display:grid;place-items:center;color:#fff;font-family:var(--font-heading);font-weight:800;font-size:22px }
.cg-hero { padding:48px 0;background:linear-gradient(135deg,var(--primary-700),var(--primary-900));color:#fff;position:relative;overflow:hidden }
.cg-hero::before { content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(31,78,61,.5) 0,transparent 60%),radial-gradient(circle at 80% 70%,rgba(31,78,61,.3) 0,transparent 60%);opacity:.6;pointer-events:none }
.cg-hero .container { position:relative;z-index:1 }
.cg-hero__updated { display:inline-flex;align-items:center;gap:8px;background:rgba(217,119,6,.18);border:1px solid rgba(217,119,6,.4);color:#B8C940;padding:6px 14px;border-radius:var(--radius-pill);font-size:12px;font-weight:700;letter-spacing:.06em;margin-bottom:24px }
.cg-hero__updated i { font-size:8px }
.cg-hero h1 { color:#fff;max-width:900px;margin-bottom:20px }
.cg-hero h1 em { color:#B8C940;font-style:italic }
.cg-hero__sub { font-size:18px;color:rgba(255,255,255,.85);max-width:780px;margin-bottom:24px;line-height:1.6 }
.cg-hero__sub strong { color:#fff;font-weight:700 }
.cg-hero__sub a { color:var(--primary-300) }
.cg-hero__cta { display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:32px }
.cg-facts { display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.08);border-radius:var(--radius);overflow:hidden;margin-top:32px;border:1px solid rgba(255,255,255,.12) }
.cg-fact { background:linear-gradient(135deg,var(--primary-800),var(--primary-900));padding:20px 16px;text-align:center }
.cg-fact__num { font-family:var(--font-heading);font-size:28px;font-weight:800;color:#fff;line-height:1;letter-spacing:-.01em }
.cg-fact__num em { color:#B8C940;font-style:italic;font-weight:600 }
.cg-fact__label { font-size:11px;color:rgba(255,255,255,.7);font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-top:6px }
section.surface-dark { background:var(--surface-dark);color:#fff }
.cg-table-wrap { max-width:1080px;margin:0 auto;overflow-x:auto;-webkit-overflow-scrolling:touch }
.cg-table-caption { font-size:13px;color:var(--text-muted);font-style:italic;margin-bottom:12px;text-align:center }
.cg-table-caption strong { font-style:normal;color:var(--primary-600);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700 }
.cg-table { width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1 }
.cg-table thead th { background:linear-gradient(180deg,var(--primary-700),var(--primary-800));color:#fff;font-family:var(--font-heading);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:18px 20px;text-align:left;white-space:nowrap }
.cg-table tbody td { padding:18px 20px;border-bottom:1px solid var(--border);font-size:15px;line-height:1.5;color:var(--text-primary);vertical-align:top }
.cg-table tbody tr:last-child td { border-bottom:0 }
.cg-table tbody td:first-child { font-weight:700;color:var(--primary-700) }
.cg-table tbody tr:nth-child(even) { background:rgba(31,78,61,.025) }
.cg-table tbody tr:hover { background:var(--primary-50);transition:background .15s }
.cg-table .price { font-family:var(--font-heading);font-weight:700;color:var(--primary-700);font-size:16px;white-space:nowrap }
.cg-table .badge-best { background:var(--success);color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:var(--radius-pill);letter-spacing:.08em;text-transform:uppercase;display:inline-block }
.cg-table .check { color:var(--success);font-weight:700 }
.cg-table .x { color:var(--neutral-400) }
.method-cards { display:grid;gap:16px;grid-template-columns:1fr;max-width:1080px;margin:0 auto }
.method-card { background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative }
.method-card:hover { transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--primary-300) }
.method-card.is-best { border:2px solid var(--primary-600);background:linear-gradient(180deg,#fff,var(--primary-50)) }
.method-card__badge { position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--success);color:#fff;font-size:10px;font-weight:700;padding:3px 10px;border-radius:var(--radius-pill);letter-spacing:.14em;text-transform:uppercase }
.method-card__name { font-family:var(--font-heading);font-size:20px;font-weight:700;margin-bottom:8px }
.method-card__price { font-family:var(--font-heading);font-size:30px;font-weight:800;color:var(--primary-700);line-height:1;margin-bottom:4px }
.method-card__price-sub { font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-bottom:16px }
.method-card__total { font-size:14px;color:var(--text-primary);font-weight:600;padding:8px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border) }
.method-card__rows { padding:12px 0 16px;flex:1 }
.method-card__row { font-size:13px;line-height:1.5;padding:6px 0;color:var(--text-secondary) }
.method-card__row strong { color:var(--text-primary);font-weight:700 }
.variables { max-width:920px;margin:0 auto;display:grid;gap:0 }
.variable { display:grid;grid-template-columns:auto 1fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--border);align-items:start }
.variable:last-child { border-bottom:0 }
.variable__num { flex-shrink:0;width:48px;height:48px;background:var(--primary-50);color:var(--primary-700);border-radius:50%;display:grid;place-items:center;font-family:var(--font-heading);font-size:22px;font-weight:800 }
.variable h3 { margin-bottom:6px;color:var(--text-primary) }
.variable p { font-size:15px;line-height:1.65;color:var(--text-secondary);margin:0 }
.variable p strong { color:var(--text-primary);font-weight:700 }
.financing { background:linear-gradient(135deg,var(--primary-50),#fff);border:2px solid var(--primary-300);border-radius:var(--radius-lg);padding:40px;max-width:920px;margin:0 auto;display:grid;gap:24px;grid-template-columns:1fr;align-items:center }
.financing__icon { width:64px;height:64px;background:var(--primary-600);color:#fff;border-radius:50%;display:grid;place-items:center;font-size:24px;flex-shrink:0;margin:0 auto }
.financing h3 { font-size:22px;margin-bottom:6px;color:var(--primary-700) }
.financing p { font-size:15px;line-height:1.6;color:var(--text-secondary) }
.financing p strong { color:var(--primary-700);font-weight:700 }
.financing__example { background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;margin-top:12px;font-family:var(--font-heading);font-size:18px;font-weight:600;color:var(--primary-700) }
.faq-item summary { list-style:none;cursor:pointer;padding:20px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:var(--font-heading);font-size:18px;font-weight:600;color:var(--text-primary);transition:color .2s }
.faq-item__icon { flex-shrink:0;width:32px;height:32px;background:var(--primary-50);border-radius:50%;display:grid;place-items:center;color:var(--primary-700);font-size:14px;font-weight:700;transition:all .25s }
.faq-item__answer { padding-bottom:24px;font-size:15px;line-height:1.65;color:var(--text-secondary);max-width:720px }
.faq-item__answer p { margin-bottom:10px }
.refs { max-width:900px;margin:0 auto;display:grid;gap:8px;grid-template-columns:1fr }
.ref-item { display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;line-height:1.5 }
.ref-item:hover { border-color:var(--primary-300) }
.ref-item i { color:var(--primary-600);margin-top:3px;flex-shrink:0 }
.ref-item a { font-weight:600;color:var(--primary-700) }
.ref-item__meta { font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600;display:block;margin-top:4px }
.urgency::before { content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(31,78,61,.4) 0,transparent 50%);opacity:.8 }
.urgency__sub { font-size:18px;color:rgba(255,255,255,.85);max-width:640px;margin:0 auto 40px }
.footer__nap strong { color:#fff;display:block;margin-bottom:4px }
.mobile-cta { position:fixed;bottom:0;left:0;right:0;z-index:100;display:none;padding:12px;background:rgba(22,20,15,.95);backdrop-filter:blur(8px) }
.orangeburg-callout { display:flex; gap:18px; max-width:980px; margin:32px auto 0; padding:24px 28px; background:linear-gradient(135deg, rgba(217,119,6,0.10), rgba(217,119,6,0.04)); border:1px solid rgba(217,119,6,0.25); border-left:5px solid #B8C940; border-radius:4px; }
.orangeburg-callout__icon { flex-shrink:0; width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; background:#B8C940; color:#FFF; border-radius:50%; font-size:18px; }
.orangeburg-callout__body h3 { font-family:'Barlow Condensed', system-ui, sans-serif; font-size:20px; margin:0 0 8px; color:#6B7A1B; letter-spacing:0.3px; }
.orangeburg-callout__body p { margin:0; font-size:15.5px; line-height:1.6; color:var(--neutral-800,#26201A); }
.orangeburg-callout__body p strong { color:var(--neutral-900,#16140F); }
.orangeburg-callout__body a { color:#6B7A1B; font-weight:600; }
.btn-secondary { background:transparent; color:var(--primary-700); border-color:var(--primary-700); }
.btn-secondary:hover { background:var(--primary-700); color:#FFF; }
.nav-cta { display:flex; gap:12px; align-items:center; }
.hero-tagline { display:inline-flex; align-items:center; gap:8px; padding:8px 16px; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.18); border-radius:0; font-family:'Barlow Condensed'; font-size:13px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:#FFF; margin-bottom:20px; }
.hero h1 .hero-city { color:var(--primary-200); display:block; font-size:0.6em; font-weight:700; letter-spacing:2px; margin-top:8px; }
.hero-card { background:#FFFFFF; color:var(--neutral-900); padding:32px; box-shadow:var(--shadow-xl); position:relative; }
.market { display:grid; grid-template-columns:1.2fr 1fr; gap:64px; align-items:start; }
.market-text p { font-size:17px; }
.market-belts { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:24px; }
.belt-card { background:#FFF; border-left:4px solid var(--primary-500); padding:20px; }
.belt-card .belt-vintage { font-family:'Barlow Condensed'; font-size:14px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--primary-500); }
.belt-card h4 { margin:6px 0 8px; }
.belt-card p { font-size:14px; color:var(--neutral-700); margin:0; }
.belt-card.belt-2 { border-left-color:var(--accent-amber); }
.belt-card.belt-2 .belt-vintage { color:var(--accent-amber); }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.svc-card h3 { margin-bottom:8px; font-size:22px; }
.svc-card .svc-badge-local { background:var(--primary-100); color:var(--primary-700); }
.svc-card .svc-badge-hub { background:var(--neutral-200); color:var(--neutral-700); }
.proximity { display:grid; grid-template-columns:1fr 1.2fr; gap:48px; align-items:center; }
.prox-stat .prox-num { font-family:'Barlow Condensed'; font-size:32px; font-weight:800; color:var(--primary-600); line-height:1; }
.permits-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:40px; }
.permit-card { background:#FFF; padding:28px; border-top:6px solid var(--primary-500); }
.permit-card h4 { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.permit-card h4 i { color:var(--primary-500); }
.permit-card .permit-zip { font-family:'Barlow Condensed'; font-size:14px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--accent-amber); margin-bottom:12px; display:block; }
.permit-card p { font-size:15px; margin-bottom:10px; }
.permit-card .permit-meta { display:flex; flex-wrap:wrap; gap:12px; margin-top:14px; }
.permit-meta-item { display:inline-flex; align-items:center; gap:6px; padding:6px 12px; background:var(--neutral-100); font-family:'Barlow Condensed'; font-size:13px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--neutral-700); }
.projects-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; }
.project-card { background:#FFF; box-shadow:var(--shadow-sm); transition:all .2s; }
.project-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.project-card img { display:block; width:100%; height:240px; object-fit:cover; }
.project-card .project-body { padding:24px; }
.project-card .project-tag { display:inline-block; padding:4px 10px; background:var(--primary-100); color:var(--primary-700); font-family:'Barlow Condensed'; font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:8px; }
.project-card h4 { margin-bottom:8px; }
.project-card p { font-size:14px; color:var(--neutral-700); margin:0; }
.projects-table { width:100%; border-collapse:collapse; background:#FFF; box-shadow:var(--shadow-sm); margin-top:16px; }
.projects-table caption { caption-side:top; padding-bottom:14px; font-family:'Barlow Condensed'; font-size:14px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-secondary); text-align:left; }
.projects-table thead th { background:var(--primary-700); color:#FFF; padding:14px 16px; font-family:'Barlow Condensed'; font-size:14px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; text-align:left; }
.projects-table tbody td { padding:14px 16px; border-bottom:1px solid var(--border-subtle); font-size:15px; vertical-align:top; }
.projects-table tbody tr:nth-child(even) td { background:var(--neutral-50); }
.projects-table tbody tr:last-child td { border-bottom:none; }
.projects-table tbody td:first-child { font-weight:700; color:var(--primary-700); }
.cta-banner-actions .cta-zip { font-family:'Barlow Condensed'; font-size:13px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,0.72); }
.cost-table th { background:var(--primary-700); color:#FFF; font-family:'Barlow Condensed'; font-size:14px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; padding:14px 18px; text-align:left; }
.cost-table td:nth-child(2) { font-family:'Barlow Condensed'; font-weight:700; color:var(--primary-700); white-space:nowrap; }
.compare-wrap { max-width:1080px; margin:32px auto 0; }
.compare-table { width:100%; border-collapse:separate; border-spacing:0; background:#FFF; box-shadow:0 6px 32px rgba(22,20,15,0.08); overflow:hidden; }
.compare-table thead th { padding:22px 24px; font-family:'Barlow Condensed', sans-serif; font-size:14px; font-weight:700; letter-spacing:2px; text-transform:uppercase; text-align:left; line-height:1.3; }
.compare-table thead th.compare-attr-head { background:var(--neutral-900); color:rgba(255,255,255,0.85); width:24%; }
.compare-table thead th.compare-wooley-head { background:var(--primary-700); color:#FFF; width:38%; border-bottom:3px solid var(--accent-amber); position:relative; }
.compare-table thead th.compare-wooley-head i { color:var(--accent-amber); margin-right:8px; }
.compare-table thead th.compare-typical-head { background:var(--neutral-200); color:var(--neutral-700); width:38%; }
.compare-table tbody td { padding:18px 24px; vertical-align:middle; font-size:15px; line-height:1.55; border-bottom:1px solid var(--border-subtle); }
.compare-table tbody tr:last-child td { border-bottom:0; }
.compare-table tbody tr:nth-child(even) td { background:rgba(241,246,241,0.35); }
.compare-table .compare-attr { font-family:'Barlow Condensed', sans-serif; font-weight:700; font-size:15px; color:var(--neutral-900); text-transform:uppercase; letter-spacing:0.6px; background:#FAF7EE !important; }
.compare-table .compare-wooley { color:var(--neutral-900); font-weight:500; padding-left:48px !important; position:relative; background:rgba(241,246,241,0.6) !important; border-left:1px solid var(--primary-200); border-right:1px solid var(--primary-200); }
.compare-table .compare-wooley::before { content:""; position:absolute; left:18px; top:50%; transform:translateY(-50%); width:22px; height:22px; background:var(--primary-600); border-radius:50%; display:flex; align-items:center; justify-content:center; }
.compare-table .compare-wooley::after { content:"✓"; position:absolute; left:18px; top:50%; transform:translate(0, -50%); width:22px; height:22px; line-height:22px; text-align:center; color:#FFF; font-weight:800; font-size:13px; }
.compare-table .compare-wooley strong { color:var(--primary-700); font-weight:700; }
.compare-table tbody tr:last-child .compare-wooley { border-bottom:1px solid var(--primary-200); }
.compare-table .compare-typical { color:var(--text-secondary); font-size:14px; padding-left:48px !important; position:relative; }
.compare-table .compare-typical::before { content:""; position:absolute; left:18px; top:50%; transform:translateY(-50%); width:22px; height:22px; background:var(--neutral-200); border-radius:50%; }
.compare-table .compare-typical::after { content:"—"; position:absolute; left:18px; top:50%; transform:translate(0, -50%); width:22px; height:22px; line-height:22px; text-align:center; color:var(--neutral-500); font-weight:800; font-size:14px; }
.vs-table-wrap { max-width:1100px; margin:32px auto 0; }
.vs-table { width:100%; border-collapse:separate; border-spacing:0 8px; background:transparent; }
.vs-table thead th { padding:18px 22px; font-family:'Barlow Condensed', system-ui, sans-serif; font-size:14px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; text-align:left; vertical-align:middle; }
.vs-table thead th.vs-th-attr { background:linear-gradient(135deg, var(--neutral-800,#2A2620) 0%, var(--neutral-900,#16140F) 100%); color:rgba(255,255,255,0.92); border-top-left-radius:6px; border-bottom-left-radius:6px; width:22%; }
.vs-table thead th.vs-th-wooley { background:linear-gradient(135deg, var(--primary-600,#1F3756) 0%, var(--primary-700,#182B45) 100%); color:#FFF; width:39%; position:relative; box-shadow:0 0 0 2px var(--accent,#B8C940) inset; }
.vs-table thead th.vs-th-wooley::before { content:"Best in market"; position:absolute; top:-10px; right:18px; padding:4px 12px; background:var(--accent,#B8C940); color:#FFF; font-size:11px; font-family:'Barlow Condensed', sans-serif; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; border-radius:3px; line-height:1.4; }
.vs-table thead th.vs-th-wooley { padding-top:24px; }
.vs-th-wooley__star { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; background:var(--accent,#B8C940); color:#FFF; border-radius:50%; margin-right:10px; font-size:12px; vertical-align:middle; }
.vs-table thead th.vs-th-typical { background:linear-gradient(135deg, var(--neutral-200,#E5E1D7) 0%, var(--neutral-300,#C4BCA8) 100%); color:var(--neutral-800,#2A2620); border-top-right-radius:6px; border-bottom-right-radius:6px; width:39%; }
.vs-table tbody tr { background:#FFF; box-shadow:0 1px 2px rgba(22,20,15,0.06); transition:transform .15s ease, box-shadow .15s ease; }
.vs-table tbody tr:hover { transform:translateY(-1px); box-shadow:0 4px 14px rgba(22,20,15,0.10); }
.vs-table tbody td { padding:18px 22px; font-size:15.5px; line-height:1.55; vertical-align:middle; }
.vs-table tbody td.vs-attr { background:linear-gradient(135deg, var(--neutral-900,#16140F) 0%, var(--neutral-800,#2A2620) 100%); color:#FFF; font-family:'Barlow Condensed', system-ui, sans-serif; font-weight:700; font-size:15.5px; letter-spacing:0.5px; border-top-left-radius:4px; border-bottom-left-radius:4px; }
.vs-table tbody td.vs-wooley { background:linear-gradient(135deg, #EEF2F7 0%, #EEF2F7 100%); color:var(--primary-800,#122035); border-left:4px solid var(--primary-600,#1F3756); position:relative; padding-left:50px; font-weight:500; }
.vs-table tbody td.vs-wooley::before { content:"\f00c "; font-family:"Font Awesome 6 Free"; font-weight:900; position:absolute; left:18px; top:50%; transform:translateY(-50%); width:22px; height:22px; background:var(--primary-600,#1F3756); color:#FFF; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; box-shadow:0 1px 3px rgba(31,78,61,0.3); }
.vs-table tbody td.vs-wooley strong { color:var(--primary-700,#182B45); font-weight:700; }
.vs-table tbody td.vs-typical { background:#FFF; color:var(--neutral-700,#443E33); position:relative; padding-left:50px; border-top-right-radius:4px; border-bottom-right-radius:4px; }
.vs-table tbody td.vs-typical::before { content:"\f00d "; font-family:"Font Awesome 6 Free"; font-weight:900; position:absolute; left:18px; top:50%; transform:translateY(-50%); width:22px; height:22px; background:var(--neutral-300,#C4BCA8); color:var(--neutral-700,#443E33); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; }
.vs-table-key { display:flex; flex-wrap:wrap; gap:24px; margin-top:18px; justify-content:center; font-family:'Barlow Condensed', system-ui, sans-serif; font-size:13px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--neutral-700,#443E33); }
.vs-table-key__dot { display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; border-radius:50%; margin-right:8px; vertical-align:middle; font-size:9px; color:#FFF; font-family:"Font Awesome 6 Free"; font-weight:900; }
.vs-table-key__dot.is-yes { background:var(--primary-600,#1F3756); }
.vs-table-key__dot.is-no { background:var(--neutral-300,#C4BCA8); color:var(--neutral-700,#443E33); }

/* === SUPPLEMENTAL FROM HANDOFF wooley-global.css === */

.btn-amber:hover { background:#B5610B; color:#FFF; transform:translateY(-2px); box-shadow:var(--shadow-md); }
.nav-logo img { height:44px; width:auto; }
.pricing-tile__name a { color:inherit; text-decoration:none; background-image:linear-gradient(currentColor,currentColor); background-size:0 1.5px; background-repeat:no-repeat; background-position:0 100%; transition:background-size .25s ease, color .2s ease; }
.compare-table .compare-wooley::before { content:""; position:absolute; left:18px; top:50%; transform:translateY(-50%); width:22px; height:22px; background:var(--primary-600); border-radius:50%; }

/* === RESPONSIVE BREAKPOINTS / AT-RULES === */

@media (max-width: 1024px) {
  .nav__menu, .nav__phone { display: none; }
  .nav__hamburger {
    display: grid; place-items: center;
    width: 44px; height: 44px;
    background: var(--primary-600); color: var(--text-inverse);
    border-radius: var(--radius-sm);
  }
}
@media (min-width: 900px) { .hero { padding: 80px 0 64px; } }
@media (min-width: 900px) {
  .hero__grid { grid-template-columns: 1.15fr 1fr; gap: 64px; }
}
@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(22,163,74,.4); }
  70% { box-shadow: 0 0 0 8px rgba(22,163,74,0); }
  100% { box-shadow: 0 0 0 0 rgba(22,163,74,0); }
}
@media (max-width: 900px) {
  .before-after { margin: 0 auto; }
  .hero__floating-card { left: 50%; transform: translateX(-50%); bottom: -32px; }
}
@media (min-width: 900px) {
  .trust-strip__inner { grid-template-columns: auto 1fr; gap: 64px; }
}
@media (min-width: 900px) { .trust-strip__rating { text-align: left; } }
@media (min-width: 700px) { .trust-strip__quotes { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 900px) { .section-pad { padding: 120px 0; } }
@media (min-width: 700px) { .pricing-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .pricing-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 700px) { .process { grid-template-columns: repeat(4, 1fr); gap: 16px; } }
@media (min-width: 700px) {
  .process::before {
    content: "";
    display: block;
    position: absolute;
    top: 32px; left: 12.5%; right: 12.5%;
    height: 2px;
    background: repeating-linear-gradient(to right, var(--primary-300) 0 6px, transparent 6px 14px);
    z-index: 0;
  }
}
@media (min-width: 900px) { .area-grid { grid-template-columns: 1.2fr 1fr; gap: 48px; } }
@keyframes pin-pulse {
  0% { transform: scale(.8); opacity: .8; }
  100% { transform: scale(2.4); opacity: 0; }
}
@media (min-width: 700px) { .testimonials { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 800px) {
  .founder { grid-template-columns: 240px 1fr; padding: 48px; gap: 48px; }
}
@keyframes pulse-amber {
  50% { opacity: .5; }
}
@media (min-width: 800px) { .footer__grid { grid-template-columns: 2fr 1fr 1fr 1.5fr; gap: 48px; } }
@media (max-width: 720px) {
  .mobile-cta { display: block; }
  body { padding-bottom: 80px; }
}
@media (min-width: 700px) { /* removed: bad CSS-aggregation orphan */ }
@media (max-width:1180px) {
  .nav-cta span, .nav-cta { padding-left:14px; padding-right:14px; font-size:14px; }
}
@media (max-width:1100px) {
  .nav-links { display:none; position:absolute; top:100%; left:0; right:0; background:#FFF; border-top:1px solid var(--border-subtle); box-shadow:0 4px 14px rgba(22,20,15,.08); flex-direction:column; align-items:stretch; padding:8px 0; max-height:80vh; overflow-y:auto; }
  .nav.is-open .nav-links { display:flex; }
  .nav-mobile-toggle { display:inline-flex; }
  .nav-links > li > a { padding:14px 24px; }
  .nav-dropdown { position:static; box-shadow:none; border-top:0; border-left:3px solid var(--primary-100); padding:0 0 8px 24px; opacity:1; visibility:visible; transform:none; min-width:0; }
  .nav-links > li.has-children > a::after { margin-left:auto; }
}
@media (max-width:600px) {
  .nav-cta { padding:10px 14px; font-size:13px; }
  .nav-logo { font-size:18px; }
  .nav-logo img { height: 44px; }
}
@media (max-width:980px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:640px){.footer-grid{grid-template-columns:1fr;}}
@media (min-width: 700px) { .resources-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .resources-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width:1100px) {
  .nav-links { display:none; position:absolute; top:100%; left:0; right:0; background:#FFF; border-top:1px solid var(--border-subtle); box-shadow:var(--shadow-md); flex-direction:column; align-items:stretch; padding:8px 0; max-height:80vh; overflow-y:auto; }
  .nav.is-open .nav-links { display:flex; }
  .nav-mobile-toggle { display:inline-flex; }
  .nav-links > li > a { padding:14px 24px; }
  .nav-dropdown { position:static; box-shadow:none; border-top:0; padding:0 0 8px 16px; opacity:1; visibility:visible; transform:none; min-width:0; }
}
@media (max-width:1024px) { .hero-grid { grid-template-columns:1fr; gap:32px; } }
@media (max-width:768px) { /* removed: bad CSS-aggregation orphan */ }
@media (max-width:900px) { .two-col { grid-template-columns:1fr; } }
@media (max-width:1024px) { .services-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { .services-grid { grid-template-columns:1fr; } }
@media (max-width:768px) { .entity-grid { grid-template-columns:1fr; } }
@media (max-width:900px) { .cta-banner-inner { grid-template-columns:1fr; text-align:center; } }
@media (max-width:900px) { .cta-banner-actions { align-items:center; } }
@media (max-width:900px) { .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:600px) { .footer-grid { grid-template-columns:1fr; } }
@media (max-width:720px) { .mobile-cta { display:block; } body { padding-bottom:80px; } }
@media print { .nav, .mobile-cta, .cta-banner { display:none !important; } .hero { min-height:auto; } body { font-size:11pt; } }
@media (max-width:700px) { .milestone-timeline::before { left:24px; } }
@media (max-width:700px) { .milestone-item { grid-template-columns:48px 1fr; gap:32px; } }
@media (max-width:700px) { .milestone-year { font-size:22px; text-align:left; padding-top:12px; } .milestone-year::after { right:auto; left:-32px; top:18px; } }
@media (max-width:760px) { .cred-groups { grid-template-columns:1fr; gap:28px; } }
@media (max-width:900px) { .nav-links { display:none; } }
@media (max-width:1024px) { .process-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { .process-grid { grid-template-columns:1fr; } }
@media print { .nav, .mobile-cta, .cta-banner, .hero-cta { display:none !important; } .hero { min-height:auto; } body { font-size:11pt; } }
@media (max-width:760px) {
  .project-table thead { display:none; }
  .project-table, .project-table tbody, .project-table tr { display:block; width:100%; }
  .project-table tbody td { display:block; width:100% !important; padding:8px 18px !important; border:0 !important; }
  .project-table tbody tr { padding:14px 0; border-bottom:2px solid var(--primary-300); background:#FFF !important; }
  .project-table tbody tr:last-child { border-bottom:0; }
  .project-table tbody td:first-child { padding-top:14px !important; }
  .project-table tbody td:nth-child(3) { padding-bottom:14px !important; }
}
@media (max-width:740px) {
  .lsp-cost-table thead { display:none; }
  .lsp-cost-table, .lsp-cost-table tbody, .lsp-cost-table tr { display:block; width:100%; }
  .lsp-cost-table tbody td { display:block; width:100% !important; padding:8px 18px !important; border:0 !important; background:transparent !important; }
  .lsp-cost-table tbody tr { padding:14px 0; border-bottom:2px solid var(--primary-300); }
  .lsp-cost-table tbody tr:last-child { border-bottom:0; }
  .lsp-cost-table tbody td:first-child { padding-top:14px !important; }
  .lsp-cost-table tbody td:nth-child(3) { padding-bottom:14px !important; }
}
@media (max-width:680px) {
  .roi-table thead { display:none; }
  .roi-table tbody tr { display:block; margin-bottom:12px; padding:14px 16px; box-shadow:var(--shadow-sm); }
  .roi-table tbody td { display:flex; justify-content:space-between; align-items:center; padding:8px 0; border-bottom:1px solid var(--border-subtle); font-size:14px; text-align:left; }
  .roi-table tbody td.num, .roi-table tbody td.eff-yr { text-align:right; }
  .roi-table tbody td:last-child { border-bottom:none; }
  .roi-table tbody td::before { content:attr(data-label); font-family:'Barlow Condensed', system-ui, sans-serif; font-weight:600; font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--text-muted); }
  .roi-table tbody td.scenario::before { display:none; }
}
@media (max-width:680px) {
  .data-table thead { display:none; }
  .data-table { border-spacing:0 12px; }
  .data-table tbody tr { display:block; padding:12px 16px; }
  .data-table tbody td { display:flex; justify-content:space-between; align-items:center; padding:8px 0; border-bottom:1px solid var(--border-subtle); font-size:14px; text-align:left; }
  .data-table tbody td.num { text-align:right; }
  .data-table tbody td:last-child { border-bottom:none; }
  .data-table tbody td::before { content:attr(data-label); font-family:'Barlow Condensed', system-ui, sans-serif; font-weight:600; font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--text-muted); }
  .data-table tbody td.label::before { display:none; }
}
@media (max-width:920px) { .contact-channels { grid-template-columns:1fr; gap:24px; } }
@media (max-width:620px) { .contact-table th, .contact-table td { display:block; width:100%; } .contact-table th { white-space:normal; padding-bottom:6px; } .contact-table td { padding-top:6px; padding-bottom:18px; } }
@media (max-width:680px) {
  .data-table thead { display:none; }
  .data-table { border-spacing:0 12px; }
  .data-table tbody tr { display:block; padding:12px 16px; }
  .data-table tbody td { display:flex; justify-content:space-between; align-items:center; padding:8px 0; border-bottom:1px solid var(--border-subtle); font-size:14px; text-align:left; }
  .data-table tbody td.num, .data-table tbody td.center { text-align:right; }
  .data-table tbody td:last-child { border-bottom:none; }
  .data-table tbody td::before { content:attr(data-label); font-family:'Barlow Condensed', system-ui, sans-serif; font-weight:600; font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--text-muted); }
  .data-table tbody td.label::before { display:none; }
}
@media (max-width:720px) {
  .tier-table thead { display:none; }
  .tier-table, .tier-table tbody, .tier-table tr, .tier-table td { display:block; width:100%; }
  .tier-table tbody td { border-bottom:0; padding:6px 18px; }
  .tier-table tbody tr { padding:14px 0; border-bottom:1px solid var(--border-subtle); }
  .tier-table tbody tr:last-child { border-bottom:0; }
  .tier-table tbody td:first-child { padding-top:14px; font-weight:700; }
  .tier-table tbody td:nth-child(3) { padding-bottom:14px; }
}
@media (max-width:900px) { .service-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px) { .service-grid { grid-template-columns:1fr; } }
@media (max-width:1024px){.nav__menu,.nav__phone{display:none}.nav__hamburger{display:grid}}
@media (min-width:900px){.service-hero{padding:80px 0 64px}}
@media (min-width:900px){.service-hero__grid{grid-template-columns:1.1fr 1fr;gap:64px}}
@media (min-width:600px){.service-hero__quick-facts{grid-template-columns:repeat(4,1fr)}}
@media (min-width:900px){.section-pad{padding:96px 0}}
@media (min-width:800px){.what-is{grid-template-columns:1.2fr 1fr;gap:64px}}
@media (min-width:700px){.indicators{grid-template-columns:repeat(2,1fr)}}
@media (min-width:900px){.process-step{grid-template-columns:auto 1fr 240px;gap:32px}.process-step__media{display:block;width:auto;aspect-ratio:4/3}.process-step__media img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius)}}
@media (min-width:700px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.pricing-grid{grid-template-columns:repeat(4,1fr)}}
@media (min-width:800px){.cost-preview{grid-template-columns:1fr 1fr}}
@media (min-width:800px){.what-if{grid-template-columns:auto 1fr;gap:32px}}
@media (min-width:700px){.city-grid{grid-template-columns:repeat(4,1fr)}}
@media (min-width:700px){.related-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:800px){.footer__grid{grid-template-columns:2fr 1fr 1fr 1.5fr;gap:48px}}
@media (max-width:720px){.mobile-cta{display:block}body{padding-bottom:80px}}
@media (max-width:900px) { .property-cards { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px) { .property-cards { grid-template-columns:1fr; } }
@media (max-width:768px) { .feature-list { grid-template-columns:1fr; } }
@media (max-width:600px) { .warning-callout { grid-template-columns:1fr; padding:28px 24px; gap:16px; } }
@media (max-width:680px) {
  .data-table thead { display:none; }
  .data-table { border-spacing:0 12px; }
  .data-table tbody tr { display:block; padding:12px 16px; }
  .data-table tbody td { display:flex; justify-content:space-between; align-items:center; padding:8px 0; border-bottom:1px solid var(--border-subtle); font-size:14px; text-align:left; }
  .data-table tbody td.num, .data-table tbody td.center { text-align:right; }
  .data-table tbody td:last-child { border-bottom:none; }
  .data-table tbody td::before { content:attr(data-label); font-family:'Barlow Condensed', system-ui, sans-serif; font-weight:600; font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--text-muted); }
  .data-table tbody td.label::before, .data-table tbody td.idx::before { display:none; }
  .data-table tbody td.idx { width:auto; text-align:left; }
}
@media (max-width:1024px){.nav__menu,.nav__phone{display:none}}
@media (min-width:700px){.cg-facts{grid-template-columns:repeat(4,1fr)}}
@media (max-width:768px){.cg-table{min-width:600px;font-size:14px}.cg-table thead th,.cg-table tbody td{padding:14px 12px}}
@media (min-width:700px){.method-cards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.method-cards{grid-template-columns:repeat(4,1fr)}}
@media (min-width:800px){.financing{grid-template-columns:auto 1fr;gap:32px}}
@media (min-width:700px){.refs{grid-template-columns:repeat(2,1fr)}}
@media (min-width:800px){.footer__grid{grid-template-columns:2fr 1fr 1fr 1.5fr}}
@media (max-width:680px) { .orangeburg-callout { flex-direction:column; gap:12px; } }
@media (max-width:900px) { .market { grid-template-columns:1fr; } }
@media (max-width:600px) { .market-belts { grid-template-columns:1fr; } }
@media (max-width:900px) { .proximity { grid-template-columns:1fr; } }
@media (max-width:768px) { .permits-grid { grid-template-columns:1fr; } }
@media (max-width:1024px) { .projects-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:600px) { .projects-grid { grid-template-columns:1fr; } }
@media print {
  .nav, .mobile-cta, .cta-banner, .hero-cta, .nav-cta { display:none !important; }
  .hero { min-height:auto; }
  body { font-size:11pt; }
}
@media (max-width:740px) {
  .compare-table thead { display:none; }
  .compare-table, .compare-table tbody { display:block; width:100%; }
  .compare-table tbody tr { display:block; padding:14px 0; border-bottom:2px solid var(--primary-300); }
  .compare-table tbody tr:last-child { border-bottom:0; }
  .compare-table tbody td { display:block; width:100% !important; padding:10px 18px !important; border:0 !important; background:transparent !important; }
  .compare-table tbody td::before { content:attr(data-label); display:block; font-family:'Barlow Condensed', sans-serif; font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-muted); margin-bottom:4px; }
  .compare-table .compare-attr { background:transparent !important; padding-bottom:8px !important; }
  .compare-table .compare-attr::before { color:var(--neutral-900); }
  .compare-table .compare-wooley { background:rgba(241,246,241,0.5) !important; padding-left:48px !important; }
  .compare-table .compare-wooley::before { top:38px; transform:none; }
  .compare-table .compare-wooley::after { top:38px; transform:none; }
  .compare-table .compare-wooley::before { content:""; }
  .compare-table .compare-typical { padding-left:48px !important; }
  .compare-table .compare-typical::before { top:38px; transform:none; }
  .compare-table .compare-typical::after { top:38px; transform:none; }
}
@media (max-width:780px) {
  .vs-table thead { display:none; }
  .vs-table { border-spacing:0; }
  .vs-table tbody tr { display:block; margin-bottom:18px; padding:14px 16px; border-radius:6px; }
  .vs-table tbody td { display:block; padding:12px 0 12px 36px; border:0; border-radius:0 !important; font-size:14.5px; }
  .vs-table tbody td.vs-attr { background:transparent !important; color:var(--neutral-900,#16140F); padding-left:0; padding-bottom:8px; font-size:13px; letter-spacing:1px; text-transform:uppercase; border-bottom:1px solid var(--neutral-200,#E5E1D7); margin-bottom:6px; }
  .vs-table tbody td.vs-wooley { background:transparent !important; border-left:0; padding-left:36px; }
  .vs-table tbody td.vs-typical { padding-left:36px; }
  .vs-table tbody td.vs-wooley::before { left:0; top:14px; transform:none; }
  .vs-table tbody td.vs-typical::before { left:0; top:14px; transform:none; }
}
@media (min-width:700px) { .resources-grid { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1000px) { .resources-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:740px) {
  .compare-table thead { display:none; }
  .compare-table, .compare-table tbody { display:block; width:100%; }
  .compare-table tbody tr { display:block; padding:14px 0; border-bottom:2px solid var(--primary-300); }
  .compare-table tbody tr:last-child { border-bottom:0; }
  .compare-table tbody td { display:block; width:100% !important; padding:10px 18px !important; border:0 !important; background:transparent !important; }
  .compare-table tbody td::before { content:attr(data-label); display:block; font-family:'Barlow Condensed', sans-serif; font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-muted); margin-bottom:4px; }
  .compare-table .compare-attr { background:transparent !important; padding-bottom:8px !important; }
  .compare-table .compare-attr::before { color:var(--neutral-900); }
  .compare-table .compare-wooley { background:rgba(241,246,241,0.5) !important; padding-left:48px !important; }
  .compare-table .compare-wooley::before { top:38px; transform:none; }
  .compare-table .compare-wooley::after { top:38px; transform:none; }
  .compare-table .compare-typical { padding-left:48px !important; }
  .compare-table .compare-typical::before { top:38px; transform:none; }
  .compare-table .compare-typical::after { top:38px; transform:none; }
}


/* =====================================================================
   WAVE 1.6 CSS PATCH — fixes layered onto wooley-global-v2.css
   ===================================================================== */

/* BUG 2 fix: stats-grid mobile override only at small screens */
@media (max-width: 768px) {
  .stats-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

/* BUG 1 fix: links inside hero need contrast against dark background */
section.hero a:not(.btn):not(.hero-pill):not(.hero-tagline),
header.hero a:not(.btn):not(.hero-pill):not(.hero-tagline),
.hero a:not(.btn):not(.hero-pill):not(.hero-tagline),
.hero-sub a,
.hero p a {
  color: var(--accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  font-weight: 600;
}
section.hero a:not(.btn):hover,
header.hero a:not(.btn):hover,
.hero a:not(.btn):hover {
  color: #FFFFFF;
  text-decoration-color: var(--accent);
}

/* Also apply to surface-dark sections (urgency, stats, etc.) */
section.surface-dark a:not(.btn),
.urgency a:not(.btn),
.stats a:not(.btn) {
  color: var(--accent);
  text-decoration: underline;
  font-weight: 600;
}


/* =====================================================================
   WAVE 1.6 — Three homepage display fixes (May 19)
   ===================================================================== */

/* REMOVED: white override on stats numbers — original design has navy-on-dark */

/* FIX 2: Homepage .stats div needs to be a grid (4-col desktop, 2-col mobile)
   Scoped via parent so canal-winchester's <section class="stats"> isn't affected */
.container > .stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  text-align: center;
}
@media (min-width: 900px) {
  .container > .stats {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* FIX 3: FAQ shows double icons. Hide the inline span; keep the ::after pseudo
   which has the [open] rotation animation. */
.faq-item summary .faq-item__icon {
  display: none;
}


/* ==================================================================
   WOOLEY QA EDITS (May 26 2026) — applied per 'Wooley - QA edits.docx'
   ================================================================== */

/* Item 1 — Microbar: keep on one line on desktop, scale on mobile */
.wooley-microbar-row,
.wooley-microbar,
section.wooley-microbar {
  white-space: nowrap;
}
.wooley-microbar-row .mb-text,
body section.wooley-microbar .mb-text {
  white-space: nowrap !important;
}
@media (max-width:768px) {
  .wooley-microbar-row .mb-text { font-size: 10px !important; white-space: normal !important; }
}

/* Item 2 — Hero h1 overflow fix (text gets cut off on mobile) */
header.hero h1,
.hero h1,
.cg-hero h1 {
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
  hyphens: auto !important;
  max-width: 100% !important;
}
@media (max-width:768px) {
  header.hero h1,
  .hero h1 {
    font-size: clamp(24px, 6.5vw, 36px) !important;
    line-height: 1.1 !important;
    padding: 0 4px !important;
  }
}

/* Item 3 — City pill: prevent label/badge overlap */
.city-list li,
.cities-we-serve li,
.hero-pill,
.city-pill {
  gap: 12px !important;
  align-items: center !important;
}
.city-list li span,
.cities-we-serve li span,
.city-pill span {
  flex-shrink: 0 !important;
  white-space: nowrap !important;
}

/* Item 4 — Cities-we-serve grid: centered on mobile */
@media (max-width:768px) {
  .cities-we-serve,
  .city-list,
  ul.city-list {
    justify-content: center !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .cities-we-serve li,
  .city-list li {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Item 5 — Heath Wooley founder card overflow fix */
.founder-card,
.founder__visual,
.about-founder,
.meet-the-owner {
  max-width: 100% !important;
  overflow: hidden !important;
}
.founder-card img,
.founder__visual img,
.meet-the-owner img {
  max-width: 100% !important;
  height: auto !important;
}
@media (max-width:768px) {
  .founder-card,
  .founder__visual,
  .about-founder,
  .meet-the-owner {
    padding: 16px !important;
  }
}

/* Item 7 — Powered by Efficiency Boss footer image: larger on mobile */
@media (max-width:768px) {
  footer img[alt*="Efficiency Boss" i],
  footer img[alt*="Powered by" i],
  .footer-eb-logo {
    width: 180px !important;
    max-width: 180px !important;
    height: auto !important;
  }
}

/* ==================================================================
   WOOLEY — FOUNDER PHOTO IMG MODE (May 26 2026 — Heath portrait wired)
   ================================================================== */
.founder__photo.has-image {
  background: transparent !important;
  color: transparent !important;
}
.founder__photo.has-image::after {
  display: none !important;
  content: "" !important;
}
.founder__photo.has-image img {
  display: block !important;
}


/* ============================================================
   QA EDITS v2 (2026-05-28) — additions
   ============================================================ */

/* EDIT 3 — Meet The Owner mobile overflow fix */
@media (max-width: 720px) {
  .founder { padding: 24px 16px !important; gap: 24px; }
  .founder__photo { max-width: 200px; margin: 0 auto; }
  .founder__quote { font-size: 17px; line-height: 1.55; }
  .founder .btn { width: 100%; max-width: 320px; }
  .founder__cta { flex-direction: column; align-items: stretch; gap: 12px; }
}

/* EDIT 6 — Schedule Diagnostic nav CTA button */
.nav-cta { list-style: none; }
.nav-cta a.btn {
  background: var(--accent, #A8C734);
  color: var(--neutral-900, #16140F) !important;
  padding: 10px 20px;
  border-radius: 6px;
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.nav-cta a.btn:hover {
  background: var(--accent-hover, #8FA72A);
  color: var(--neutral-900, #16140F) !important;
}
@media (max-width: 900px) {
  .nav-cta { display: block; margin-top: 8px; }
}


/* ============================================================
   QA EDITS v2 — ROUND 2 (2026-05-28)
   Sitewide fixes spanning multiple page types
   ============================================================ */

/* EDITS 7, 10, 14, 16, 23, 24, 28 — sitewide mobile section padding
   "On mobile, this section needs padding on both sides.
    The text is too close to the edge of the screen." */
@media (max-width: 768px) {
  .container,
  section > .container,
  header.hero > .container,
  header.hero .hero-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  /* Hero content row should also respect this on mobile */
  .hero-inner, .hero-grid { padding-left: 0; padding-right: 0; }
  /* Section-level wrappers without .container */
  .section-pad > *:not(.container),
  section > .section-header {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* EDITS 9, 19, 29 — Dark-section heading contrast (sitewide)
   Headers on dark navy backgrounds were rendering as dark navy.
   Force white on every dark-section variant we know about. */
body section.surface-dark h2,
body section.surface-dark h2 *,
body section.surface-dark h3,
body section.surface-dark .section-header h2,
body section.surface-dark .section-header h3,
body section.section-dark h2,
body section.section-dark h2 *,
body section[class*="surface-dark"] h2,
body section[class*="surface-dark"] h2 *,
body section.urgency h2,
body section.urgency h2 *,
body section.cta-banner h2,
body section.cta-banner h2 *,
body section.community-ties h2,
body section.risks-inaction h2,
body section[id*="track-record"] h2,
body section[id*="defer"] h2,
body section[id*="not-included"] h2,
body section[id*="not-included"] h3 {
  color: #FFFFFF !important;
}
body section.surface-dark h2 em,
body section.urgency h2 em,
body section.cta-banner h2 em,
body section.section-dark h2 em {
  color: var(--accent, #A8C734) !important;
  font-style: normal;
}

/* EDITS 30, 31 — Resource cost table: text overflowing on right edge */
.cost-table td,
.cost-table th,
table.cost-table td,
table.cost-table th {
  padding-right: 24px !important;
  word-break: break-word;
  overflow-wrap: break-word;
}
@media (max-width: 768px) {
  .cost-table, .pricing-table, table.cost-tier-table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
  .cost-table td, .cost-table th { white-space: normal; }
}

/* EDIT 32 — Resource page columns overlap (city adjustment cards) */
.city-adjustment, .adjustment-grid, [class*="adjustment-grid"] {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px;
}
@media (min-width: 700px) {
  .city-adjustment, .adjustment-grid, [class*="adjustment-grid"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px;
  }
}

/* EDIT 11 — Location Hub: large empty space between sections */
.section-pad + .section-pad,
section.section-pad + section.section-pad {
  padding-top: 48px;
}
@media (max-width: 768px) {
  .section-pad { padding-top: 48px; padding-bottom: 48px; }
}

/* EDIT 12 — Location Hub: mobile map squished */
@media (max-width: 768px) {
  .proximity-grid,
  .from-our-facility,
  [class*="proximity"] .two-col,
  [class*="our-facility"] {
    grid-template-columns: 1fr !important;
    gap: 24px;
  }
  .proximity-grid iframe,
  .from-our-facility iframe,
  [class*="our-facility"] iframe,
  .map-embed iframe {
    width: 100% !important;
    min-height: 280px;
    aspect-ratio: 4/3;
  }
}

/* EDIT 15 — LSP hero CTA section cut off on right */
@media (max-width: 768px) {
  .hero-inner, .hero-grid {
    max-width: 100% !important;
    overflow: hidden;
  }
  .hero h1, .hero .hero-sub {
    word-wrap: break-word;
    overflow-wrap: break-word;
    max-width: 100%;
  }
  .hero-cta {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100%;
  }
  .hero-cta .btn {
    width: 100% !important;
    text-align: center;
    justify-content: center;
  }
  .hero-meta {
    word-wrap: break-word;
    max-width: 100%;
  }
}

/* EDIT 21 — Service Hub: button hover color inconsistency
   Some location buttons hover dark navy, others hover white outlined.
   Unify: all should hover to the same primary color treatment. */
.area-buttons a.btn,
.area-grid a.btn,
.service-area-pills a,
.location-pill {
  transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease;
}
.area-buttons a.btn:hover,
.area-grid a.btn:hover,
.service-area-pills a:hover,
.location-pill:hover {
  background: var(--primary-700, #1F3756) !important;
  color: #FFFFFF !important;
  border-color: var(--primary-700, #1F3756) !important;
}

/* EDIT 22 — Service Hub layout: image too small, text squished
   The "WHAT IS X" 2-col block on mobile gets cramped because the
   image card stays alongside the text. Stack on mobile, give image
   reasonable width on desktop. */
@media (max-width: 900px) {
  .what-is-block,
  [class*="what-is"],
  section[id*="what-is"] .two-col,
  section[id*="what-is"] > div > div {
    display: block !important;
  }
  section[id*="what-is"] .image-card,
  section[id*="what-is"] [class*="image-card"],
  section[id*="what-is"] img {
    width: 100% !important;
    max-width: 100% !important;
    margin: 24px 0 !important;
  }
}

/* EDIT 26, 27 — Contact page form/section over screen */
@media (max-width: 768px) {
  form, .contact-form, [class*="contact"] form {
    width: 100% !important;
    box-sizing: border-box;
    padding-left: 0;
    padding-right: 0;
  }
  .contact-form input, .contact-form textarea,
  form input, form textarea, form select {
    width: 100% !important;
    box-sizing: border-box;
    max-width: 100%;
  }
}

/* EDIT 6 — About page timeline cards cut off mobile */
@media (max-width: 768px) {
  .timeline, .timeline-grid, [class*="timeline"] {
    padding-left: 0;
    padding-right: 0;
  }
  .timeline-item, .timeline-card, [class*="timeline-card"], [class*="timeline-item"] {
    margin-right: 8px;
    max-width: calc(100% - 32px);
    box-sizing: border-box;
  }
}


/* ============================================================
   QA v2 ROUND 3 (2026-06-02) — STRONG OVERRIDES
   QA team reported 50% of round 2 fixes were overridden by
   Elementor cascade. This round uses max specificity + !important
   on every rule.
   ============================================================ */

/* === MOBILE BASELINE: ALL containers get proper padding === */
@media (max-width: 768px) {
  body .container,
  body section .container,
  body header.hero .container,
  body header .hero-inner,
  body section > div.container,
  body section .section-pad,
  body .nav-inner {
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
  }

  /* prevent any horizontal scroll site-wide */
  body, html { overflow-x: hidden !important; }
}

/* === TRUST BAR / MICROBAR — text wrapping on mobile === */
@media (max-width: 768px) {
  body .trust-bar,
  body div.trust-bar {
    flex-wrap: wrap !important;
    text-align: center !important;
    justify-content: center !important;
    gap: 4px 12px !important;
    padding: 8px 12px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  body .trust-bar > * {
    white-space: nowrap !important;
  }
}

/* === EDIT 2 (RETRY) — Tier 1 city boxes centered on mobile === */
@media (max-width: 899px) {
  body section .area-cities,
  body .area-cities {
    max-width: 360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    text-align: center !important;
  }
  body section .area-cities__list,
  body .area-cities__list {
    grid-template-columns: repeat(2, 1fr) !important;
    justify-content: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* === EDIT 3 (RETRY) — Meet The Owner mobile fits within viewport === */
@media (max-width: 768px) {
  body section.founder,
  body .founder,
  body section .founder {
    padding: 20px 14px !important;
    gap: 18px !important;
    grid-template-columns: 1fr !important;
    max-width: calc(100vw - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
  body .founder__photo {
    max-width: 200px !important;
    margin: 0 auto !important;
  }
  body .founder__quote,
  body .founder p {
    font-size: 15px !important;
    line-height: 1.5 !important;
    padding: 0 !important;
  }
  body .founder .btn,
  body .founder a.btn,
  body section.founder .btn {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    text-align: center !important;
    justify-content: center !important;
    font-size: 13px !important;
    white-space: normal !important;
    padding: 12px 16px !important;
  }
  body .founder__cta,
  body .founder .btn-row {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
  }
}

/* === EDIT 4 (RETRY) — Phone CTA hover: high-contrast inversion === */
.btn-ghost-on-dark:hover,
a.btn-ghost-on-dark:hover,
.btn.btn-ghost-on-dark:hover,
body .btn-ghost-on-dark:hover {
  background: #FFFFFF !important;
  color: #16140F !important;
  border-color: #FFFFFF !important;
}
.btn-ghost-on-dark:hover *,
.btn-ghost-on-dark:hover svg,
.btn-ghost-on-dark:hover i {
  color: #16140F !important;
  fill: #16140F !important;
  stroke: #16140F !important;
}

/* Also fix btn-on-dark-outline (sister class) hover */
.btn-on-dark-outline:hover,
a.btn-on-dark-outline:hover {
  background: #FFFFFF !important;
  color: #16140F !important;
  border-color: #FFFFFF !important;
}
.btn-on-dark-outline:hover * {
  color: #16140F !important;
}

/* === EDIT 6 (RETRY) — About timeline mobile (cards cut off right) === */
@media (max-width: 768px) {
  body .timeline,
  body .timeline-grid,
  body [class*="timeline"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }
  body .timeline-item,
  body .timeline-card,
  body [class*="timeline-card"],
  body [class*="timeline-item"] {
    margin-right: 12px !important;
    margin-left: 0 !important;
    max-width: calc(100% - 24px) !important;
    box-sizing: border-box !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
}

/* === EDIT 11 (RETRY) — Reduce empty space between consecutive sections === */
@media (max-width: 768px) {
  body section + section,
  body section.section-pad + section.section-pad,
  body section + section.section-pad {
    margin-top: 0 !important;
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
  /* Specifically: location-hub market-context → services-we-provide gap */
  body section[id*="services-in"],
  body section[id*="market-context"],
  body section[id*="sec-services"] {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
}

/* === EDIT 12 (RETRY) — Mobile map not squished === */
@media (max-width: 900px) {
  body .proximity-grid,
  body .from-our-facility,
  body [class*="proximity"] .two-col,
  body [class*="our-facility"],
  body section[id*="proximity"] > .container > div,
  body section[id*="facility"] > .container > div {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  body [class*="our-facility"] iframe,
  body .proximity-grid iframe,
  body section[id*="proximity"] iframe,
  body section[id*="facility"] iframe,
  body iframe[src*="google.com/maps"] {
    width: 100% !important;
    min-width: 100% !important;
    min-height: 280px !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    display: block !important;
  }
  body [class*="our-facility"] .image-wrap,
  body [class*="our-facility"] .map-wrap,
  body section[id*="facility"] [class*="map"] {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* === EDIT 15 (RETRY) — LSP hero CTA section not cut on right === */
@media (max-width: 768px) {
  body header.hero,
  body header.hero .hero-inner,
  body header.hero .hero-grid {
    max-width: 100vw !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
  body header.hero h1,
  body .hero h1 {
    font-size: clamp(22px, 6vw, 36px) !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    max-width: 100% !important;
    padding-right: 8px !important;
  }
  body .hero .hero-sub,
  body .hero p.hero-sub,
  body .hero p {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    max-width: 100% !important;
  }
  body .hero-cta,
  body .hero .hero-cta {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 10px !important;
  }
  body .hero-cta .btn,
  body .hero .hero-cta a.btn,
  body .hero-cta a {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }
  body .hero-meta {
    max-width: 100% !important;
    word-wrap: break-word !important;
  }
}

/* === NEW: Service cards 3-col grid → 1-col on mobile === */
/* Beats inline style="grid-template-columns:repeat(3,1fr)" */
@media (max-width: 768px) {
  body .services-grid,
  body div.services-grid,
  body [class*="services-grid"],
  body [style*="grid-template-columns:repeat(3"],
  body [style*="grid-template-columns: repeat(3"],
  body [style*="grid-template-columns:repeat(2"],
  body [style*="grid-template-columns: repeat(2"] {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}
@media (min-width: 481px) and (max-width: 768px) {
  body .services-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* === EDIT 19/20 (RETRY) — Dark-section H2 AND body text contrast === */
body section.surface-dark h2,
body section.surface-dark h2 *,
body section.surface-dark h3,
body section.surface-dark h4,
body section.surface-dark .section-header h2,
body section.surface-dark .section-header span,
body section.section-dark h2,
body section.section-dark h2 *,
body section[class*="surface-dark"] h2,
body section[class*="surface-dark"] h2 *,
body section[class*="surface-dark"] h3,
body section[class*="surface-dark"] p,
body section.urgency h2,
body section.urgency h2 *,
body section.urgency p,
body section.cta-banner h2,
body section.cta-banner h2 *,
body section.cta-banner p,
body section.community-ties h2,
body section.community-ties h2 *,
body section.community-ties p,
body section.risks-inaction h2,
body section.risks-inaction h2 *,
body section.risks-inaction p,
body section.risks-inaction li,
body section[id*="track-record"] h2,
body section[id*="track-record"] p,
body section[id*="defer"] h2,
body section[id*="defer"] p,
body section[id*="defer"] li,
body section[id*="not-included"] h2,
body section[id*="not-included"] h3,
body section[id*="not-included"] p {
  color: #FFFFFF !important;
}

/* Body text on dark sections should be readable (slightly muted off-white) */
body section.surface-dark p,
body section.section-dark p,
body section[class*="surface-dark"] p,
body section.urgency p,
body section.community-ties p,
body section.risks-inaction p,
body section[id*="defer"] p,
body section[id*="not-included"] p {
  color: rgba(255, 255, 255, 0.92) !important;
}

/* Links inside dark sections — accent color */
body section.surface-dark a,
body section[class*="surface-dark"] a,
body section.risks-inaction a,
body section[id*="defer"] a {
  color: #A8C734 !important;
  text-decoration: underline !important;
}

/* === EDIT 21 (RETRY) — Service-area button hover uniform === */
.area-buttons a.btn,
.area-buttons .btn,
.service-area-pills a,
.location-pill,
.area-grid a.btn,
body .area-buttons a.btn,
body .service-area-pills a {
  transition: all 150ms ease !important;
  background: #FFFFFF !important;
  color: #1F3756 !important;
  border: 1px solid #1F3756 !important;
}
.area-buttons a.btn:hover,
.area-buttons .btn:hover,
.service-area-pills a:hover,
.location-pill:hover,
.area-grid a.btn:hover,
body .area-buttons a.btn:hover,
body .service-area-pills a:hover {
  background: #1F3756 !important;
  color: #FFFFFF !important;
  border-color: #1F3756 !important;
}
.area-buttons a.btn:hover *,
.service-area-pills a:hover *,
body .area-buttons a.btn:hover svg,
body .area-buttons a.btn:hover i {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
}

/* === EDIT 22 (RETRY) — "WHAT IS X" 2-col layout stacks on mobile === */
@media (max-width: 900px) {
  body section[id*="what-is"] .two-col,
  body section[id*="what-is"] > .container > div,
  body section[id*="what-is"] [class*="two-col"],
  body .what-is-block,
  body [class*="what-is"] {
    display: block !important;
    grid-template-columns: 1fr !important;
  }
  body section[id*="what-is"] .image-card,
  body section[id*="what-is"] [class*="image-card"],
  body section[id*="what-is"] img,
  body section[id*="what-is"] figure {
    width: 100% !important;
    max-width: 100% !important;
    margin: 24px 0 !important;
    float: none !important;
  }
}

/* === EDITS 26, 27 (RETRY) — Contact form + Direct Line section overflow === */
@media (max-width: 768px) {
  body form,
  body .contact-form,
  body [class*="contact-form"],
  body section[id*="contact"] form,
  body section[id*="form"] form {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body form input,
  body form textarea,
  body form select,
  body .contact-form input,
  body .contact-form textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  body form button,
  body form .btn,
  body .contact-form .btn {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  /* Contact "Direct Line" card section */
  body section[id*="direct-line"],
  body .direct-line-card,
  body [class*="direct-line"],
  body section[id*="contact"] .contact-card,
  body section[id*="reach-us"] {
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    overflow: hidden !important;
  }
  body section[id*="direct-line"] *,
  body [class*="direct-line"] * {
    max-width: 100% !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
}

/* === EDITS 30, 31 (RETRY) — Cost table on mobile === */
@media (max-width: 768px) {
  body .cost-table,
  body table.cost-table,
  body .pricing-table,
  body table {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    white-space: normal !important;
  }
  body .cost-table thead th,
  body .cost-table tbody td,
  body table th,
  body table td {
    padding: 10px 12px !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
    white-space: normal !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
  }
  body .cost-table thead th {
    font-size: 11px !important;
    letter-spacing: 0.5px !important;
  }
  /* Force NO wrapping on header words — let them shrink instead */
  body .cost-table thead th {
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
  }
}



/* === EDIT 32 (RETRY) — City adjustment columns no longer overlap === */
@media (max-width: 700px) {
  body .city-adjustment,
  body .adjustment-grid,
  body [class*="adjustment-grid"],
  body [class*="city-adjustment"] {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  body [class*="adjustment"] .driver,
  body [class*="adjustment"] [class*="driver"] {
    display: block !important;
    width: 100% !important;
    word-wrap: break-word !important;
    margin-top: 8px !important;
  }
}

/* === GENERAL: prevent any inline-styled column counts on mobile === */
@media (max-width: 768px) {
  body [style*="grid-template-columns"]:not(.area-cities__list) {
    grid-template-columns: 1fr !important;
  }
  body [style*="display:flex"][style*="gap"] {
    flex-wrap: wrap !important;
  }
}


/* ============================================================
   QA v2 ROUND 4 (2026-06-03) — surgical final-mile fixes
   (DEEP REVISED 2026-06-06: stacked-card table treatment REMOVED;
    tables now use horizontal scroll handled by Round 5/6 instead)
   ============================================================ */

/* ---- FIX 2: Trenchless service cards FORCE 1-col on mobile ---- */
@media (max-width: 768px) {
  body div.services-grid,
  body .services-grid,
  body [style*="grid-template-columns:repeat(3"],
  body [style*="grid-template-columns:repeat(2"],
  body [style*="grid-template-columns: repeat(3"],
  body [style*="grid-template-columns: repeat(2"],
  body [style*="grid-template-columns:repeat(4"],
  body [style*="grid-template-columns: repeat(4"] {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  body .svc-card,
  body .service-card,
  body article.svc-card,
  body article.service-card {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 24px 20px !important;
    margin: 0 !important;
  }
  body .services-grid > article,
  body .services-grid > div,
  body div.services-grid > * {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* ---- FIX 5: About timeline — bullets visible + line BEHIND text on mobile ---- */
@media (max-width: 700px) {
  body .milestone-timeline {
    padding-left: 32px !important;
    position: relative !important;
  }
  body .milestone-timeline::before {
    left: 14px !important;
    top: 12px !important;
    bottom: 12px !important;
    width: 2px !important;
    z-index: 0 !important;
  }
  body .milestone-item {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    margin-left: 16px !important;
    margin-bottom: 24px !important;
    padding-left: 16px !important;
    position: relative !important;
    z-index: 1 !important;
  }
  body .milestone-year {
    text-align: left !important;
    padding: 0 0 8px 0 !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #1F3756 !important;
    position: relative !important;
    z-index: 2 !important;
  }
  body .milestone-year::after {
    left: -26px !important;
    right: auto !important;
    top: 4px !important;
    width: 14px !important;
    height: 14px !important;
    z-index: 2 !important;
    background: #1F3756 !important;
    border: 3px solid #FFFFFF !important;
    box-shadow: 0 0 0 2px #1F3756 !important;
  }
  body .milestone-body {
    background: #FFFFFF !important;
    border-left-width: 3px !important;
    padding: 16px 18px !important;
    position: relative !important;
    z-index: 1 !important;
    margin: 0 !important;
  }
  body .milestone-item:last-child {
    margin-bottom: 0 !important;
  }
}

/* ============================================================
   QA v2 ROUND 5 (2026-06-05) — Loom-feedback corrections
   ============================================================ */

/* ---- FIX 2: REVERT mobile-stacked-cards TABLE treatment → horizontal scroll ----
   Reason: QA team wants real tables with horizontal swipe on mobile,
   not the stacked-card transform we applied in Round 3 + 4.
*/

/* Override the Round 3 + Round 4 stacked-card rules. Tables stay tables. */
@media (max-width: 768px) {
  body table.cost-table,
  body table.data-table,
  body table.cg-table,
  body table.pricing-table,
  body table.alt-table,
  body table.compare-table,
  body table.vs-table,
  body .cg-table-wrap table,
  body .cost-table-wrap table,
  body .table-wrap table,
  body table {
    display: table !important;
    width: auto !important;
    min-width: 600px !important;
    table-layout: auto !important;
    background: #FFFFFF !important;
    border: 1px solid #E5E0D5 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body table thead,
  body table tbody {
    display: table-row-group !important;
    width: auto !important;
  }
  body table thead {
    display: table-header-group !important;
  }
  body table tr {
    display: table-row !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body table th,
  body table td {
    display: table-cell !important;
    width: auto !important;
    padding: 12px 14px !important;
    text-align: left !important;
    vertical-align: top !important;
    border: none !important;
    border-bottom: 1px solid #F4F1E8 !important;
    background: transparent !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
  }
  /* Long-text columns CAN wrap */
  body table td[data-label*="Driver"],
  body table td[data-label*="Notes"],
  body table td[data-label*="Description"],
  body table td[data-label*="Typical"],
  body table td[data-label*="When"] {
    white-space: normal !important;
    min-width: 220px !important;
  }
  /* HIDE the ::before label prefix from Round 4 — not needed for real tables */
  body table tbody td[data-label]::before {
    content: none !important;
    display: none !important;
  }
  body table th {
    background: #1F3756 !important;
    color: #FFFFFF !important;
    font-family: 'Barlow Condensed', sans-serif !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
  }
  /* Highlight row */
  body table tr.row-highlight,
  body table tr.best-pick {
    background: #EEF2F7 !important;
    border-left: 4px solid #1F3756 !important;
    box-shadow: none !important;
  }
  /* Wrapper enables horizontal scroll */
  body .cg-table-wrap,
  body .cost-table-wrap,
  body .table-wrap,
  body .data-table-wrap,
  body .pricing-table-wrap,
  body .alt-table-wrap,
  body table.cost-table:not(.table-wrap-applied),
  body table.data-table:not(.table-wrap-applied),
  body table.cg-table:not(.table-wrap-applied) {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    margin: 16px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
  }
  /* Visual hint: a thin shadow at right edge to signal scroll */
  body .cg-table-wrap::after,
  body .cost-table-wrap::after,
  body .table-wrap::after {
    content: "← swipe →" !important;
    display: block !important;
    text-align: center !important;
    font-size: 11px !important;
    color: #8E8B85 !important;
    padding: 6px 0 !important;
    font-family: 'Barlow Condensed', sans-serif !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
  }
}

/* Wrap tables automatically with overflow container — for tables without an explicit .table-wrap parent */
@media (max-width: 768px) {
  body table.cost-table,
  body table.data-table,
  body table.cg-table,
  body table.pricing-table,
  body table.alt-table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* ---- FIX 3: Hero background — cover + center-center (defensive) ---- */
body .hero,
body header.hero,
body section.hero {
  position: relative !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
body .hero .hero-bg,
body header.hero .hero-bg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}
body .hero .hero-bg img,
body header.hero .hero-bg img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

/* ---- FIX 4: Hero H1 mobile overflow → smaller + wrap ---- */
@media (max-width: 600px) {
  body .hero h1,
  body header.hero h1,
  body section.hero h1 {
    font-size: clamp(28px, 7.5vw, 38px) !important;
    line-height: 1.15 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    max-width: 100% !important;
  }
  body .hero .container,
  body header.hero .container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  body .hero-inner {
    padding: 56px 0 48px !important;
  }
}

/* ---- FIX 5: Inner-page section padding → reduce on mobile so text fits ---- */
@media (max-width: 600px) {
  body section .container,
  body main .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  body section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* Two-col layouts collapse */
  body .two-col,
  body .hero-grid,
  body .section-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  /* Text containers shouldn't have huge max-width restrictions on mobile */
  body section [style*="max-width:920px"],
  body section [style*="max-width: 920px"],
  body section [style*="max-width:820px"],
  body section [style*="max-width: 820px"] {
    max-width: 100% !important;
  }
}

/* ---- FIX 7: Google Maps iframes (now sitewide after SVG→iframe swap) ---- */
body iframe[src*="google.com/maps"] {
  display: block !important;
  width: 100% !important;
  min-height: 350px !important;
  border: 0 !important;
}
@media (max-width: 600px) {
  body iframe[src*="google.com/maps"] {
    min-height: 280px !important;
  }
}

/* ---- FIX 8: Button hover color regression (btn-ghost-on-dark, btn-on-dark-outline) ---- */
body .btn-ghost-on-dark,
body a.btn-ghost-on-dark,
body .btn.btn-ghost-on-dark {
  background: transparent !important;
  color: #FFFFFF !important;
  border: 1.5px solid rgba(255,255,255,0.55) !important;
  transition: background 200ms ease, color 200ms ease, border-color 200ms ease !important;
}
body .btn-ghost-on-dark:hover,
body a.btn-ghost-on-dark:hover,
body .btn.btn-ghost-on-dark:hover,
body .btn-ghost-on-dark:focus,
body a.btn-ghost-on-dark:focus {
  background: #FFFFFF !important;
  color: #16140F !important;
  border-color: #FFFFFF !important;
}
body .btn-ghost-on-dark:hover *,
body .btn-ghost-on-dark:hover svg,
body .btn-ghost-on-dark:hover i {
  color: #16140F !important;
  fill: #16140F !important;
}

body .btn-on-dark-outline,
body a.btn-on-dark-outline {
  background: transparent !important;
  color: #FFFFFF !important;
  border: 1.5px solid rgba(255,255,255,0.55) !important;
  transition: background 200ms ease, color 200ms ease, border-color 200ms ease !important;
}
body .btn-on-dark-outline:hover,
body a.btn-on-dark-outline:hover,
body .btn-on-dark-outline:focus {
  background: #FFFFFF !important;
  color: #16140F !important;
  border-color: #FFFFFF !important;
}
body .btn-on-dark-outline:hover *,
body .btn-on-dark-outline:hover i,
body .btn-on-dark-outline:hover svg {
  color: #16140F !important;
  fill: #16140F !important;
}

/* ---- FIX 9: Dark-section text colors on Resource pages ---- */
body section.urgency,
body section.urgency *,
body section.cta-banner,
body section.cta-banner *,
body section[id*="urgency"],
body section[id*="cta"],
body section.surface-dark,
body section.surface-dark p,
body section.surface-dark li {
  color: #FFFFFF !important;
}
body section.urgency h1,
body section.urgency h2,
body section.urgency h3,
body section.cta-banner h1,
body section.cta-banner h2,
body section.cta-banner h3,
body section.surface-dark h1,
body section.surface-dark h2,
body section.surface-dark h3 {
  color: #FFFFFF !important;
}
body section.urgency a:not(.btn),
body section.cta-banner a:not(.btn) {
  color: #B8C940 !important;
  text-decoration: underline !important;
}

/* ---- BONUS: Override the Round 4 padding-bottom forcing on row TR (now stacked-cards reverted) ---- */
@media (max-width: 768px) {
  body table tr,
  body .cost-table tr,
  body .data-table tr,
  body .cg-table tr {
    padding: 0 !important;
    margin: 0 !important;
  }
}


/* ============================================================
   QA v2 ROUND 6 (2026-06-06) — cascade surgery + new issues
   ============================================================ */

/* ---- FIX A: Tables on mobile must be tables with horizontal scroll
   (Round 4 stacked-card transform DELETED. This is the new canonical rule.) ---- */
@media (max-width: 768px) {
  /* Wrap every table in scrollable overflow container */
  html body table.cost-table,
  html body table.data-table,
  html body table.cg-table,
  html body table.pricing-table,
  html body table.alt-table,
  html body table.compare-table,
  html body table.vs-table,
  html body .cost-table-wrap table,
  html body .cg-table-wrap table,
  html body .table-wrap table,
  html body section table,
  html body main table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 16px 0 !important;
    padding-bottom: 8px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    /* Show a scrollbar so users know it's scrollable */
    scrollbar-width: thin !important;
    scrollbar-color: #1F3756 #F4F1E8 !important;
  }
  html body table.cost-table::-webkit-scrollbar,
  html body table.data-table::-webkit-scrollbar,
  html body table.cg-table::-webkit-scrollbar,
  html body section table::-webkit-scrollbar {
    height: 8px !important;
    display: block !important;
  }
  html body table.cost-table::-webkit-scrollbar-thumb,
  html body table.data-table::-webkit-scrollbar-thumb,
  html body table.cg-table::-webkit-scrollbar-thumb,
  html body section table::-webkit-scrollbar-thumb {
    background: #1F3756 !important;
    border-radius: 4px !important;
  }
  html body table.cost-table::-webkit-scrollbar-track,
  html body table.data-table::-webkit-scrollbar-track,
  html body table.cg-table::-webkit-scrollbar-track,
  html body section table::-webkit-scrollbar-track {
    background: #F4F1E8 !important;
  }
  /* The inner content must be a normal table (NOT block) */
  html body table.cost-table > *,
  html body table.data-table > *,
  html body table.cg-table > *,
  html body section table > * {
    display: revert !important;
  }
  html body table.cost-table thead,
  html body table.data-table thead,
  html body table.cg-table thead,
  html body section table thead {
    display: table-header-group !important;
  }
  html body table.cost-table tbody,
  html body table.data-table tbody,
  html body table.cg-table tbody,
  html body section table tbody {
    display: table-row-group !important;
  }
  html body table.cost-table tr,
  html body table.data-table tr,
  html body table.cg-table tr,
  html body section table tr,
  html body .cost-table-wrap table tr,
  html body .cg-table-wrap table tr {
    display: table-row !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  html body table.cost-table th,
  html body table.cost-table td,
  html body table.data-table th,
  html body table.data-table td,
  html body table.cg-table th,
  html body table.cg-table td,
  html body section table th,
  html body section table td {
    display: table-cell !important;
    width: auto !important;
    padding: 12px 14px !important;
    text-align: left !important;
    vertical-align: top !important;
    border: none !important;
    border-bottom: 1px solid #F4F1E8 !important;
    background: transparent !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
  }
  /* Long descriptive columns allowed to wrap */
  html body table td[data-label*="Driver"],
  html body table td[data-label*="Notes"],
  html body table td[data-label*="Description"],
  html body table td[data-label*="Typical"],
  html body table td[data-label*="When"],
  html body table td[data-label*="Detail"] {
    white-space: normal !important;
    min-width: 220px !important;
  }
  /* HIDE the data-label ::before that Round 4 added */
  html body table tbody td[data-label]::before,
  html body section table tbody td[data-label]::before {
    content: none !important;
    display: none !important;
  }
  html body table.cost-table thead th,
  html body table.data-table thead th,
  html body table.cg-table thead th,
  html body section table thead th {
    background: #1F3756 !important;
    color: #FFFFFF !important;
    font-family: 'Barlow Condensed', sans-serif !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }
  /* Highlight rows */
  html body table tr.row-highlight,
  html body table tr.best-pick {
    background: #EEF2F7 !important;
  }
  html body table tr.row-highlight td:first-child,
  html body table tr.best-pick td:first-child {
    border-left: 4px solid #1F3756 !important;
  }
}

/* ---- FIX B: About hero phone-number underline (Shafin: "no line under phone number") ---- */
html body .hero a[href^="tel:"],
html body header.hero a[href^="tel:"],
html body .hero-card a[href^="tel:"] {
  text-decoration: underline !important;
  text-decoration-color: rgba(255,255,255,0.5) !important;
  text-underline-offset: 3px !important;
  color: #FFFFFF !important;
}

/* ---- FIX C: Contact form submit button — remove border on normal state (only border on hover) ---- */
html body form button[type="submit"],
html body form input[type="submit"],
html body .contact-form button[type="submit"],
html body button.submit-btn,
html body .form-submit {
  border: none !important;
  outline: none !important;
}
html body form button[type="submit"]:hover,
html body .contact-form button[type="submit"]:hover,
html body button.submit-btn:hover {
  border: 1px solid rgba(255,255,255,0.5) !important;
  outline: none !important;
}

/* ---- FIX D: Contact page mobile — content must fit screen ---- */
@media (max-width: 600px) {
  html body section.contact-form-section,
  html body section.contact-section,
  html body section[id*="contact"],
  html body section[id*="form"] {
    padding: 32px 0 !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  html body section.contact-form-section .container,
  html body section.contact-section .container,
  html body section[id*="contact"] .container,
  html body section[id*="form"] .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  html body .contact-form,
  html body form,
  html body .form-grid {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    grid-template-columns: 1fr !important;
  }
  html body .form-row,
  html body .form-group {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  html body input,
  html body textarea,
  html body select {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* ---- FIX E: Resource page dark-section text — RE-tighten color rules ---- */
html body section.urgency,
html body section.urgency p,
html body section.urgency li,
html body section.urgency span,
html body section.cta-banner,
html body section.cta-banner p,
html body section.cta-banner li,
html body section.cta-banner span,
html body section[class*="urgency"],
html body section[class*="cta"],
html body section.surface-dark,
html body section.surface-dark p,
html body section.surface-dark li,
html body section.surface-dark span {
  color: #FFFFFF !important;
}
html body section.urgency h1,
html body section.urgency h2,
html body section.urgency h3,
html body section.urgency h4,
html body section.cta-banner h1,
html body section.cta-banner h2,
html body section.cta-banner h3,
html body section.cta-banner h4,
html body section.surface-dark h1,
html body section.surface-dark h2,
html body section.surface-dark h3,
html body section.surface-dark h4 {
  color: #FFFFFF !important;
}

/* ---- FIX F: Service hub grid — 2x2 on tablet, 4-col on desktop ---- */
@media (min-width: 768px) and (max-width: 1024px) {
  html body .services-grid,
  html body div.services-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
}

/* ---- FIX G: Bonus — make sure escape-rendered codes from any remaining CSS are killed ---- */
/* If any tbody td[data-label]::before survived, force it off */
html body table tbody td[data-label]::before,
html body section table tbody td[data-label]::before,
html body main table tbody td[data-label]::before {
  content: none !important;
  display: none !important;
}


/* ============================================================
   QA v2 ROUND 7 (2026-06-08) — Zoom meeting fixes
   ============================================================ */

/* Round 9: Round 7 light-hero override DELETED. */

/* ---- D · Remove underline from hero phone CTAs (Round 6 added it wrongly) ---- */
html body .hero a[href^="tel:"],
html body header.hero a[href^="tel:"],
html body .hero-cta a[href^="tel:"],
html body .hero-card a[href^="tel:"],
html body section.cta-banner a[href^="tel:"],
html body section.urgency a[href^="tel:"] {
  text-decoration: none !important;
}
/* But KEEP underline on inline body-text phone numbers (in paragraphs) */
html body section .container p a[href^="tel:"],
html body main p a[href^="tel:"] {
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

/* ---- C1 · Stats grid 2x2 on mobile (not 1-col) ---- */
@media (max-width: 768px) {
  html body .proximity-stats,
  html body div.proximity-stats,
  html body [class*="proximity-stats"],
  html body .stats-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
}
@media (max-width: 380px) {
  /* Very narrow mobile — allow 1-col fallback */
  html body .proximity-stats,
  html body .stats-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ---- C3 · Tables horizontal scroll — add right padding so last col is visible ---- */
@media (max-width: 768px) {
  html body table.cost-table,
  html body table.data-table,
  html body table.cg-table,
  html body table.pricing-table,
  html body section table {
    padding-right: 24px !important;
  }
  /* Add a phantom spacer cell at the end to give breathing room when scrolled */
  html body table.cost-table th:last-child,
  html body table.cost-table td:last-child,
  html body table.data-table th:last-child,
  html body table.data-table td:last-child,
  html body section table th:last-child,
  html body section table td:last-child {
    padding-right: 24px !important;
  }
}

/* ---- C4 · Map iframe sizing on mobile: 340x300 max ---- */
@media (max-width: 600px) {
  html body iframe[src*="google.com/maps/embed"] {
    max-width: 340px !important;
    height: 300px !important;
    min-height: 300px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
  }
}

/* ---- C2 · Hero H1 mobile more aggressive shrink ---- */
@media (max-width: 480px) {
  html body .hero h1,
  html body header.hero h1,
  html body section.hero h1 {
    font-size: clamp(22px, 6vw, 32px) !important;
    line-height: 1.1 !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    hyphens: auto !important;
  }
}

/* ---- E3 · Dollar ranges no-wrap to prevent awkward line breaks ---- */
html body strong,
html body .num,
html body .price,
html body .stat-num {
  /* white-space nowrap for any dollar value pattern */
}
/* Use a more targeted approach: wrap $X-$Y in <span class="nowrap"> in content,
   OR use this rule to find $XXX-$XXX and treat them as inline-block-ish */
html body p,
html body li,
html body td {
  /* hint browsers to keep currency ranges together */
}

/* ---- C5 · Trenchless audience cards: 2x2 grid (not 3+1) ---- */
@media (min-width: 768px) {
  html body .audience-grid,
  html body div.audience-grid,
  html body section .audience-grid,
  html body div[class*="audience-grid"],
  html body [style*="grid-template-columns: repeat(3,"] .audience-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
}
@media (min-width: 1024px) {
  /* On very wide screens, allow 4-col single row as alternative */
  /* But default is 2x2 above */
}

/* ---- E4 · Outbound citation cards: center when only 2 cards on bottom row ---- */
html body .ref-grid:has(> .ref-card:nth-child(5):last-child),
html body .citation-grid:has(> .ref-card:nth-child(5):last-child) {
  /* 5 cards: 3 on top, 2 centered on bottom */
}
html body .ref-grid,
html body section .ref-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
  justify-content: center !important;
}
/* The 4th and 5th cards (when there are 5) auto-center via the grid auto-place */
@media (max-width: 600px) {
  html body .ref-grid,
  html body section .ref-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ---- E3-alt · CTA banner dark section text white (re-enforce after Round 6 broke it) ---- */
html body section.urgency,
html body section.urgency *,
html body section.cta-banner,
html body section.cta-banner *,
html body section.surface-dark,
html body section.surface-dark *,
html body section[id*="defer"],
html body section[id*="defer"] * {
  color: #FFFFFF !important;
}
html body section.urgency h1,
html body section.urgency h2,
html body section.urgency h3,
html body section.cta-banner h1,
html body section.cta-banner h2,
html body section.cta-banner h3,
html body section.surface-dark h1,
html body section.surface-dark h2,
html body section.surface-dark h3,
html body section[id*="defer"] h2 {
  color: #FFFFFF !important;
}
html body section.urgency strong,
html body section.cta-banner strong,
html body section.surface-dark strong,
html body section[id*="defer"] strong {
  color: #FFFFFF !important;
  white-space: nowrap !important;
}

/* ---- Bonus · Microbar text overflow on mobile (truncate cleanly) ---- */
@media (max-width: 480px) {
  html body .microbar span,
  html body .microbar-row span {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    max-width: 70vw !important;
  }
}

/* ---- Bonus · Hero CTA button fit on mobile ---- */
@media (max-width: 480px) {
  html body .hero-cta {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    align-items: stretch !important;
  }
  html body .hero-cta .btn {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }
}


/* ============================================================
   QA v2 ROUND 8 (2026-06-11) — Revert wrong Round-7 button logic
   ============================================================
   Round 7 added "light hero detection" that forced .btn-on-dark-outline
   to navy when the hero element's class didn't literally contain "dark".
   But heroes have dark photo backgrounds even when the class is just "hero".
   Result: navy-text-on-navy-background → invisible buttons.

   This block FORCES .btn-on-dark-outline and .btn-ghost-on-dark to always
   be white-on-dark with a strong visible border, regardless of any
   "smart" parent-class detection. Maximum specificity wins.
   ============================================================ */

/* ---- A · Force white-on-dark for hero ghost buttons (the visible fix) ---- */
html body .btn-on-dark-outline,
html body a.btn-on-dark-outline,
html body .btn.btn-on-dark-outline,
html body header.hero .btn-on-dark-outline,
html body header.hero a.btn-on-dark-outline,
html body .hero .btn-on-dark-outline,
html body .hero a.btn-on-dark-outline,
html body section.cta-banner .btn-on-dark-outline,
html body section.urgency .btn-on-dark-outline,
html body .btn-ghost-on-dark,
html body a.btn-ghost-on-dark,
html body .btn.btn-ghost-on-dark,
html body header.hero .btn-ghost-on-dark,
html body header.hero a.btn-ghost-on-dark,
html body .hero .btn-ghost-on-dark,
html body section.cta-banner .btn-ghost-on-dark,
html body section.urgency .btn-ghost-on-dark {
  color: #FFFFFF !important;
  border: 2px solid #FFFFFF !important;
  background: transparent !important;
  text-decoration: none !important;
}

html body .btn-on-dark-outline *,
html body .btn-on-dark-outline i,
html body .btn-on-dark-outline svg,
html body .btn-ghost-on-dark *,
html body .btn-ghost-on-dark i,
html body .btn-ghost-on-dark svg {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
}

/* Hover: flip to white background with navy text */
html body .btn-on-dark-outline:hover,
html body a.btn-on-dark-outline:hover,
html body .btn.btn-on-dark-outline:hover,
html body .btn-on-dark-outline:focus,
html body header.hero .btn-on-dark-outline:hover,
html body .hero .btn-on-dark-outline:hover,
html body section.cta-banner .btn-on-dark-outline:hover,
html body section.urgency .btn-on-dark-outline:hover,
html body .btn-ghost-on-dark:hover,
html body a.btn-ghost-on-dark:hover,
html body .btn-ghost-on-dark:focus {
  background: #FFFFFF !important;
  color: #1F3756 !important;
  border-color: #FFFFFF !important;
}

html body .btn-on-dark-outline:hover *,
html body .btn-on-dark-outline:hover i,
html body .btn-on-dark-outline:hover svg,
html body .btn-ghost-on-dark:hover *,
html body .btn-ghost-on-dark:hover i,
html body .btn-ghost-on-dark:hover svg {
  color: #1F3756 !important;
  fill: #1F3756 !important;
}
