
#contact-page::before, #contact-page::after { display: none; }
#contact-page { padding: 48px 24px 72px; }
#contact-page .contact-shell { max-width: 1080px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .9fr); grid-template-areas: "intro phone" "form phone" "form next"; grid-template-rows: auto auto 1fr; gap: 24px 48px; align-items: start; }
#contact-page .contact-intro { grid-area: intro; }
#contact-page .contact-intro h1 { font-size: clamp(32px, 3.4vw, 44px); line-height: 1.08; letter-spacing: -.025em; margin: 8px 0 16px; color: #102b33; }
#contact-page .contact-intro p:last-child { font-size: 16px; line-height: 1.6; margin: 0; color: #38515b; }
#contact-page .contact-phone { grid-area: phone; padding: 28px; background: #e9f3f5; border: 1px solid #b8d2d9; text-align: center; }
#contact-page .contact-phone h2 { font-size: 25px; line-height: 1.2; margin: 0 0 20px; color: #102b33; }
#contact-page .contact-phone a { display: block; width: fit-content; max-width: 100%; margin: 4px auto; padding: 6px 0; font-size: clamp(25px, 2.6vw, 32px); font-weight: 700; line-height: 1.25; color: #102b33; text-decoration: none; }
#contact-page .contact-phone a:hover { color: #006782; text-decoration: underline; }
#contact-page .contact-phone a:focus-visible { outline: 3px solid #006782; outline-offset: 4px; }
#contact-page .contact-phone span { display: block; font-size: 13px; color: #38515b; }
#contact-page .contact-phone .contact-phone__secondary { font-size: 23px; margin-top: 12px; }
#contact-page .contact-form-panel { grid-area: form; min-width: 0; }
#contact-page .contact-form-panel .form, #contact-page .contact-form-panel .form-card { margin: 0; padding: 28px; background: #fff; border: 1px solid #aec9d1; box-shadow: none; }
#contact-page .contact-form-panel label { font-size: 13px; line-height: 1.45; }
#contact-page .contact-form-panel input:not([type="checkbox"]):not([type="hidden"]), #contact-page .contact-form-panel select { min-height: 44px; }
#contact-page .contact-form-panel textarea { min-height: 140px; }
#contact-page .contact-form-panel .field__help, #contact-page .contact-form-panel small, #contact-page .form-note, #contact-page .form-notice, #contact-page .turnstile-block p { font-size: 12px; line-height: 1.55; color: #38515b; }
#contact-page .contact-form-panel .consent label, #contact-page .contact-form-panel .checkbox label { font-size: 12px; color: #38515b; }
#contact-page .contact-form-panel button[type="submit"] { width: 100%; }
#contact-page .contact-next { grid-area: next; padding: 24px; border: 1px solid #c9dadd; background: #f4f8f8; color: #102b33; }
#contact-page .contact-next h2 { font-size: 18px; margin: 0 0 14px; }
#contact-page .contact-next ol { padding-left: 20px; margin: 0; }
#contact-page .contact-next li { font-size: 14px; line-height: 1.6; margin-bottom: 10px; }
#contact-page .contact-next li:last-child { margin-bottom: 0; }
@media (max-width: 760px) {
 #contact-page::before, #contact-page::after { display: none; }
#contact-page { padding: 28px 16px 48px; }
 #contact-page .contact-shell { grid-template-columns: minmax(0, 1fr); grid-template-areas: "intro" "phone" "form" "next"; grid-template-rows: none; gap: 24px; max-width: 600px; }
 #contact-page .contact-phone { padding: 20px; }
 #contact-page .contact-phone h2 { font-size: 22px; margin-bottom: 10px; }
 #contact-page .contact-form-panel .form, #contact-page .contact-form-panel .form-card { padding: 20px 16px; }
}

/* ux-seo-audit-fixes v5 */
/* Cluster chip strip (Fix 2) */
/* Chip strip — styles attach via [data-ux-chip-strip] attribute selector so
   the <nav>'s class attribute can stay exactly `practice-nav` (required by
   existing regression tests). */
nav.practice-nav[data-ux-chip-strip] { border-top: 1px solid var(--color-border, #e6eaec); border-bottom: 1px solid var(--color-border, #e6eaec); background: var(--color-surface-alt, #f7fafb); }
nav.practice-nav[data-ux-chip-strip] .practice-nav__inner { display: flex; flex-wrap: wrap; gap: .4rem .5rem; align-items: center; padding: .75rem 1rem; max-width: 1180px; margin: 0 auto; }
nav.practice-nav[data-ux-chip-strip] a { display: inline-flex; align-items: center; padding: .375rem .75rem; border: 1px solid var(--color-border, #dcdcdc); border-radius: 999px; background: #fff; color: inherit; text-decoration: none; font-size: .8125rem; line-height: 1.2; white-space: nowrap; }
nav.practice-nav[data-ux-chip-strip] a:hover, nav.practice-nav[data-ux-chip-strip] a:focus { background: var(--color-surface-hover, #eef4f6); text-decoration: underline; }
nav.practice-nav[data-ux-chip-strip] .practice-nav__all { font-weight: 600; margin-left: auto; }

/* Related-services expansion (Fix 2) */
.related-focus--expanded { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: .5rem .75rem; list-style: none; padding: 0; margin: 0; }
.related-focus--cross { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: .5rem .75rem; margin-top: .75rem; list-style: none; padding: 0; }
.section-head--secondary { margin-top: 1.5rem; }

/* Inline conversion form (Fix 3) --------------------------------------- */
.ux-inline-cta { background: var(--color-surface-alt, #f7fafb); }
.ux-inline-cta .container--narrow { max-width: 1040px; }
.ux-inline-cta__panel {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  padding: 1.5rem;
  border: 1px solid var(--color-border, #dcdcdc);
  border-radius: 12px;
  background: #fff;
  align-items: start;
}
@media (min-width: 900px) {
  .ux-inline-cta__panel { grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); gap: 2.5rem; padding: 2rem; }
}

/* Left column: copy. Scoped typography so we don't inherit hero-scale H2. */
.ux-inline-cta__copy { min-width: 0; }
.ux-inline-cta__kicker { display: inline-block; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--color-accent, #007a99); margin: 0 0 .5rem; }
.ux-inline-cta__title {
  font-size: clamp(1.25rem, 1.05rem + 0.7vw, 1.625rem);
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 .625rem;
  color: inherit;
  letter-spacing: -0.005em;
  hyphens: manual;
  overflow-wrap: normal;
  word-break: normal;
}
.ux-inline-cta__intro { font-size: .9375rem; line-height: 1.5; margin: 0 0 .75rem; color: inherit; opacity: .9; }
.ux-inline-cta__proof { font-size: .8125rem; opacity: .7; margin: 0; line-height: 1.5; }
.ux-inline-cta__proof strong { font-weight: 600; }

/* Right column: form. Two-column at >=560px so name/org and email/phone pair. */
.ux-inline-cta__form { display: grid; grid-template-columns: 1fr; gap: .75rem; min-width: 0; }
@media (min-width: 560px) { .ux-inline-cta__form { grid-template-columns: 1fr 1fr; column-gap: .875rem; } }
.ux-inline-cta__field { display: flex; flex-direction: column; color: var(--color-muted, #4a5b60); min-width: 0; }
.ux-inline-cta__field--wide { grid-column: 1 / -1; }
.ux-inline-cta__label { display: block; font-size: .75rem; font-weight: 600; letter-spacing: .01em; text-transform: uppercase; line-height: 1.25; }
.ux-inline-cta__label .req { color: var(--color-accent, #007a99); margin-left: .125rem; }
.ux-inline-cta__label .req[hidden] { display: none; }
.ux-inline-cta__field input,
.ux-inline-cta__field textarea {
  margin-top: .3125rem;
  padding: .625rem .75rem;
  border: 1px solid var(--color-border, #cfd6d9);
  border-radius: 6px;
  font-size: .9375rem;
  font-weight: 400;
  text-transform: none;
  letter-spacing: normal;
  color: inherit;
  background: #fff;
  width: 100%;
  box-sizing: border-box;
  font-family: inherit;
  line-height: 1.4;
}
.ux-inline-cta__field textarea { resize: vertical; min-height: 3.5rem; }
.ux-inline-cta__field input:focus,
.ux-inline-cta__field textarea:focus { outline: 2px solid var(--color-accent, #007a99); outline-offset: 1px; border-color: transparent; }
.ux-inline-cta__field input::placeholder,
.ux-inline-cta__field textarea::placeholder { color: #7b8b90; opacity: 1; }

/* Honeypot: hidden from users, present in DOM for bots. */
.ux-inline-cta .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Consent checkbox */
.ux-inline-cta__consent {
  grid-column: 1 / -1;
  display: flex; gap: .5rem; align-items: flex-start;
  font-size: .8125rem; font-weight: 400; line-height: 1.4;
  color: var(--color-muted, #4a5b60);
  text-transform: none; letter-spacing: normal;
}
.ux-inline-cta__consent input[type=checkbox] {
  margin-top: .2rem; width: 1rem; height: 1rem; flex: 0 0 1rem;
  accent-color: var(--color-accent, #007a99);
}
.ux-inline-cta__consent label { font-weight: 400; color: inherit; cursor: pointer; }

/* Turnstile widget. In production the widget mounts asynchronously and
   fills the slot; before mount / when the API is blocked it stays empty.
   Reserve NO height so preview environments don't render a large empty
   band; on production the widget expands naturally when it mounts. */
.ux-inline-cta__turnstile { grid-column: 1 / -1; }
.ux-inline-cta__turnstile:empty,
.ux-inline-cta__turnstile .cf-turnstile:empty { margin: 0; padding: 0; }

.ux-inline-cta__actions {
  grid-column: 1 / -1;
  display: flex; flex-wrap: wrap; gap: .625rem; align-items: center;
  margin-top: .25rem;
}
.ux-inline-cta__submit {
  appearance: none; -webkit-appearance: none; border: 0;
  background: var(--color-accent, #007a99); color: #fff;
  padding: .6875rem 1.125rem; border-radius: 6px;
  font-size: .9375rem; font-weight: 600; line-height: 1.2;
  cursor: pointer; font-family: inherit;
}
.ux-inline-cta__submit:hover, .ux-inline-cta__submit:focus { background: var(--color-accent-hover, #005f77); outline: none; }
.ux-inline-cta__submit[disabled] { opacity: .6; cursor: progress; }
.ux-inline-cta__phone {
  display: inline-flex; align-items: center;
  padding: .625rem 1rem; border: 1px solid var(--color-border, #cfd6d9); border-radius: 6px;
  color: inherit; text-decoration: none;
  font-size: .9375rem; font-weight: 600; line-height: 1.2;
  background: #fff;
}
.ux-inline-cta__phone:hover, .ux-inline-cta__phone:focus { background: var(--color-surface-hover, #eef4f6); text-decoration: none; }
.ux-inline-cta__status {
  grid-column: 1 / -1;
  font-size: .875rem; margin: 0;
}
.ux-inline-cta__status:empty { display: none; }
.ux-inline-cta__status.form-status--success { color: #036f4d; }
.ux-inline-cta__status.form-status--error { color: #a1302b; }
.ux-inline-cta__note {
  grid-column: 1 / -1;
  font-size: .75rem; opacity: .7; margin: .25rem 0 0; line-height: 1.5;
  text-transform: none; font-weight: 400; letter-spacing: normal;
}
.ux-inline-cta__note a { color: inherit; text-decoration: underline; }

/* Email hub router cards (Fix 1) */
.email-router { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.email-router__card { padding: 1rem 1.125rem; border: 1px solid var(--color-border, #dcdcdc); border-radius: 10px; background: #fff; }
.email-router__card h3 { margin: 0 0 .375rem; font-size: 1.0625rem; }
.email-router__card h3 a { color: inherit; text-decoration: none; }
.email-router__card h3 a:hover { text-decoration: underline; }

/* Sticky right-rail mini-CTA (Fix 3 extension) ------------------------
   Fills the wasted right gutter of narrow-container prose sections on wide
   screens. Hidden on <1200px, where the full inline form at the bottom of
   the page is the sole conversion surface. The rail is a mini-CTA — the
   "Talk with an examiner" link jumps to and focuses the real form. */
.ux-inline-cta__rail { display: none; }
@media (min-width: 1200px) {
  .ux-inline-cta__rail {
    display: block;
    position: fixed;
    top: 96px;
    right: max(1.5rem, calc((100vw - 1120px) / 2 + 1.5rem));
    width: 260px;
    z-index: 30;
    pointer-events: none; /* container passes through, only child interactive */
  }
  .ux-inline-cta__rail-panel {
    pointer-events: auto;
    background: #fff;
    border: 1px solid var(--color-border, #dcdcdc);
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.06);
    padding: 1rem 1.125rem 1.125rem;
  }
  .ux-inline-cta__rail-kicker {
    margin: 0 0 .25rem;
    font-size: .6875rem; font-weight: 700; letter-spacing: .08em;
    text-transform: uppercase; color: var(--color-accent, #007a99);
  }
  .ux-inline-cta__rail-title {
    margin: 0 0 .5rem;
    font-size: 1.0625rem; font-weight: 700; line-height: 1.25;
    color: inherit; letter-spacing: -.005em;
  }
  .ux-inline-cta__rail-copy {
    margin: 0 0 .75rem;
    font-size: .8125rem; line-height: 1.45; color: var(--color-muted, #4a5b60);
  }
  .ux-inline-cta__rail-actions {
    display: grid; gap: .375rem;
  }
  .ux-inline-cta__rail-primary {
    display: inline-flex; align-items: center; justify-content: center;
    padding: .5625rem .75rem; border-radius: 6px;
    background: var(--color-accent, #007a99); color: #fff;
    font-size: .875rem; font-weight: 600; text-decoration: none;
    text-align: center; line-height: 1.2;
  }
  .ux-inline-cta__rail-primary:hover,
  .ux-inline-cta__rail-primary:focus { background: var(--color-accent-hover, #005f77); text-decoration: none; }
  .ux-inline-cta__rail-phone {
    display: inline-flex; align-items: center; justify-content: center;
    padding: .5rem .75rem; border-radius: 6px;
    border: 1px solid var(--color-border, #cfd6d9); background: #fff;
    color: inherit; text-decoration: none;
    font-size: .8125rem; font-weight: 600; line-height: 1.2;
  }
  .ux-inline-cta__rail-phone:hover,
  .ux-inline-cta__rail-phone:focus { background: var(--color-surface-hover, #eef4f6); text-decoration: none; }
  .ux-inline-cta__rail-proof {
    margin: .625rem 0 0;
    font-size: .6875rem; opacity: .65; text-align: center;
  }
}
@media (min-width: 1440px) {
  .ux-inline-cta__rail { right: max(2rem, calc((100vw - 1180px) / 2 + 1rem)); width: 280px; }
}
/* Hide the rail once the real form is on screen (IntersectionObserver toggles this class). */
.ux-inline-cta__rail--hidden { opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility 0s linear .2s; }
.ux-inline-cta__rail { transition: opacity .2s ease; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
html { scroll-behavior: smooth; }

/* Fix 3 companion: permanent FAQ sidecar CTA
   Docks a static, in-flow CTA card to the right of the FAQ list on ≥1024px
   viewports. Because it lives inside the FAQ section's own grid it CANNOT
   overlap any other section (unlike the removed sticky rail). Hidden below
   1024px — the mobile visitor still reaches the full inline form at the
   bottom of the page. */
.ux-faq-with-cta { display: grid; grid-template-columns: 1fr; gap: 1.25rem; align-items: start; }
.ux-faq-with-cta .faq { min-width: 0; }
.ux-faq-sidecar { display: none; }
@media (min-width: 1024px) {
  .ux-faq-with-cta { grid-template-columns: minmax(0, 1fr) 300px; gap: 1.75rem; }
  .ux-faq-sidecar { display: block; position: sticky; top: 96px; }
  .ux-faq-sidecar-panel {
    background: #fff;
    border: 1px solid var(--color-border, #dcdcdc);
    border-top: 3px solid var(--color-teal, var(--color-accent, #007a99));
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.06);
    padding: 1.125rem 1.25rem 1.25rem;
  }
  .ux-faq-sidecar-kicker {
    margin: 0 0 .375rem;
    font-size: .6875rem; font-weight: 700; letter-spacing: .08em;
    text-transform: uppercase; color: var(--color-teal, var(--color-accent, #007a99));
  }
  .ux-faq-sidecar-title {
    margin: 0 0 .625rem;
    font-size: 1.125rem; font-weight: 700; line-height: 1.25;
    color: inherit; letter-spacing: -.005em;
  }
  .ux-faq-sidecar-copy {
    margin: 0 0 .875rem;
    font-size: .875rem; line-height: 1.5; color: var(--color-muted, #4a5b60);
  }
  .ux-faq-sidecar-actions { display: grid; gap: .4375rem; }
  .ux-faq-sidecar-primary {
    display: inline-flex; align-items: center; justify-content: center;
    padding: .625rem .75rem; border-radius: 6px;
    background: var(--color-teal, var(--color-accent, #007a99)); color: #fff;
    font-size: .9375rem; font-weight: 600; text-decoration: none;
    text-align: center; line-height: 1.2;
  }
  .ux-faq-sidecar-primary:hover,
  .ux-faq-sidecar-primary:focus { background: var(--color-accent-hover, #005f77); text-decoration: none; }
  .ux-faq-sidecar-phone {
    display: inline-flex; align-items: center; justify-content: center;
    padding: .5rem .75rem; border-radius: 6px;
    border: 1px solid var(--color-border, #cfd6d9); background: #fff;
    color: inherit; text-decoration: none;
    font-size: .875rem; font-weight: 600; line-height: 1.2;
  }
  .ux-faq-sidecar-phone:hover,
  .ux-faq-sidecar-phone:focus { background: var(--color-surface-hover, #eef4f6); text-decoration: none; }
  .ux-faq-sidecar-proof {
    margin: .75rem 0 0;
    font-size: .75rem; opacity: .7; text-align: center;
  }
}

/* Industry routing grid (Fix 4) */
.industry-routing__grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 780px) { .industry-routing__grid { grid-template-columns: repeat(2, 1fr); } }
.industry-routing__group { padding: 1rem 1.125rem; border: 1px solid var(--color-border, #dcdcdc); border-radius: 10px; background: #fff; }
.industry-routing__group h3 { margin: 0 0 .375rem; font-size: 1.0625rem; }
.industry-routing__group ul { list-style: none; padding: 0; margin: .5rem 0 0; display: grid; gap: .25rem; }
.industry-routing__group li a { text-decoration: none; color: inherit; }
.industry-routing__group li a:hover { text-decoration: underline; }
/* ux-seo-audit-fixes-7 v1 */
/* Item 7a: Case-study "Services demonstrated" sidebar */
.ux-services-demonstrated { margin: 1.5rem auto 2rem; max-width: 1040px; padding: 1.125rem 1.375rem 1.25rem; background: var(--color-surface-alt, #f7fafb); border: 1px solid var(--color-border, #dcdcdc); border-left: 3px solid var(--color-teal, var(--color-accent, #007a99)); border-radius: 6px; }
.ux-services-demonstrated__kicker { margin: 0 0 .375rem; font-size: .6875rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--color-teal, var(--color-accent, #007a99)); }
.ux-services-demonstrated__title { margin: 0 0 .75rem; font-size: 1.125rem; font-weight: 700; line-height: 1.25; color: inherit; }
.ux-services-demonstrated__list { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: 1fr; gap: .375rem; }
@media (min-width: 700px) { .ux-services-demonstrated__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .375rem .875rem; } }
.ux-services-demonstrated__list a { display: inline-block; padding: .25rem 0; color: inherit; text-decoration: none; border-bottom: 1px solid transparent; font-size: .9375rem; line-height: 1.4; }
.ux-services-demonstrated__list a:hover, .ux-services-demonstrated__list a:focus { border-bottom-color: currentColor; }

/* Item 7b: Insight "Related services" + "Related insights" blocks */
.ux-related-services, .ux-related-insights { margin: 2rem auto 0; max-width: 720px; padding: 1.125rem 1.375rem 1.25rem; background: #fff; border: 1px solid var(--color-border, #dcdcdc); border-radius: 6px; }
.ux-related-services__kicker, .ux-related-insights__kicker { margin: 0 0 .375rem; font-size: .6875rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--color-teal, var(--color-accent, #007a99)); }
.ux-related-services__title, .ux-related-insights__title { margin: 0 0 .75rem; font-size: 1.0625rem; font-weight: 700; line-height: 1.3; color: inherit; }
.ux-related-services__list, .ux-related-insights__list { margin: 0; padding: 0; list-style: none; display: grid; gap: .375rem; }
.ux-related-services__list a, .ux-related-insights__list a { display: inline-block; padding: .25rem 0; color: inherit; text-decoration: none; border-bottom: 1px solid transparent; font-size: .9375rem; line-height: 1.4; }
.ux-related-services__list a:hover, .ux-related-services__list a:focus, .ux-related-insights__list a:hover, .ux-related-insights__list a:focus { border-bottom-color: currentColor; }

/* Item 7c: /insights/ hub grid + topic filter bar */
.ux-insights-hub { padding: 2rem 0 3rem; background: var(--color-surface-alt, #f7fafb); border-top: 1px solid var(--color-border, #e6eaec); }
.ux-insights-hub__head { max-width: 720px; margin: 0 0 1.25rem; }
.ux-insights-hub__intro { margin: .5rem 0 0; color: var(--color-muted, #4a5b60); font-size: .9375rem; line-height: 1.55; }
.ux-insights-hub__chips { display: flex; flex-wrap: wrap; gap: .375rem .5rem; margin: 0 0 1.5rem; padding: 0; }
.ux-insights-hub__chip { display: inline-flex; align-items: center; padding: .375rem .8125rem; border: 1px solid var(--color-border, #dcdcdc); border-radius: 999px; background: #fff; color: inherit; font-size: .8125rem; font-weight: 500; line-height: 1.2; cursor: pointer; }
.ux-insights-hub__chip:hover, .ux-insights-hub__chip:focus { background: var(--color-surface-hover, #eef4f6); }
.ux-insights-hub__chip.is-active { background: var(--color-teal, var(--color-accent, #007a99)); color: #fff; border-color: transparent; }
.ux-insights-hub__grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 720px) { .ux-insights-hub__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1080px) { .ux-insights-hub__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ux-insights-hub__card { display: flex; flex-direction: column; gap: .375rem; padding: 1rem 1.125rem 1.125rem; background: #fff; border: 1px solid var(--color-border, #dcdcdc); border-radius: 8px; color: inherit; text-decoration: none; transition: transform .12s ease, box-shadow .12s ease; }
.ux-insights-hub__card:hover, .ux-insights-hub__card:focus { transform: translateY(-1px); box-shadow: 0 2px 8px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.06); text-decoration: none; }
.ux-insights-hub__card-meta { margin: 0; font-size: .6875rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--color-teal, var(--color-accent, #007a99)); }
.ux-insights-hub__card-title { margin: 0; font-size: 1rem; font-weight: 700; line-height: 1.3; color: inherit; }
/* ux-seo-audit-fixes-r3 v1 */
/* B: Reviewed-on stamp */
.ux-r3-reviewed { margin: .5rem 0 1rem; padding: 0; font-size: .8125rem; color: var(--color-muted, #4a5b60); letter-spacing: .02em; }
.ux-r3-reviewed time { color: inherit; }
/* D: Generic-slug hub card grid */
.ux-r3-hub__grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 720px) { .ux-r3-hub__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1080px) { .ux-r3-hub__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ux-r3-hub__card { padding: 1.125rem 1.25rem 1.25rem; background: #fff; border: 1px solid var(--color-border, #dcdcdc); border-radius: 8px; }
.ux-r3-hub__card-title { margin: 0 0 .375rem; font-size: 1.0625rem; font-weight: 700; line-height: 1.3; }
.ux-r3-hub__card-title a { color: inherit; text-decoration: none; border-bottom: 1px solid transparent; }
.ux-r3-hub__card-title a:hover, .ux-r3-hub__card-title a:focus { border-bottom-color: currentColor; }
.ux-r3-hub__card-desc { margin: 0; font-size: .9375rem; line-height: 1.5; color: var(--color-muted, #4a5b60); }
/* E: Metro intersections grid */
.ux-r3-metro-intersections { padding: 2rem 0; background: var(--color-surface-alt, #f7fafb); border-top: 1px solid var(--color-border, #e6eaec); }
.ux-r3-metro-intersections__grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 720px) { .ux-r3-metro-intersections__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1080px) { .ux-r3-metro-intersections__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ux-r3-metro-intersections__card { padding: 1.125rem 1.25rem 1.25rem; background: #fff; border: 1px solid var(--color-border, #dcdcdc); border-radius: 8px; }
.ux-r3-metro-intersections__card-title { margin: 0 0 .375rem; font-size: 1.0625rem; font-weight: 700; line-height: 1.3; }
.ux-r3-metro-intersections__card-title a { color: inherit; text-decoration: none; border-bottom: 1px solid transparent; }
.ux-r3-metro-intersections__card-title a:hover, .ux-r3-metro-intersections__card-title a:focus { border-bottom-color: currentColor; }
.ux-r3-metro-intersections__card-desc { margin: 0; font-size: .9375rem; line-height: 1.5; color: var(--color-muted, #4a5b60); }

/* Fix jump-to-form anchor: the sticky site header covers the top of the
   #contact-request panel when a user clicks a "Get a free consultation"
   button that links to /contact/#contact-request. scroll-margin-top pushes
   the visible top down so the panel starts below the header. */
#contact-request { scroll-margin-top: calc(var(--header-h, 96px) + 24px); }
