@import url("rs-photos-v2.css");
@import url("v4-overlays.css");
@import url("v4-nav-bar-toggle.css");

@media (prefers-reduced-motion: reduce) {
  html[data-wd-build="v4"] .idx *,
  html[data-wd-build="v4"] .idx *::before,
  html[data-wd-build="v4"] .idx *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ─── Page shell: light neutral (ND-style), not a dark frame around white bands ─ */
html[data-wd-build="v4"] body.wd-surface-v4.idx {
  background-color: var(--v4-paper-2);
  background-image:
    linear-gradient(rgb(0 0 0 / 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgb(0 0 0 / 0.045) 1px, transparent 1px);
  background-size: 40px 40px;
  background-attachment: fixed;
  color: var(--v4-ink-dark);
}

/* Fixed banner video is a V2-era decorative layer — remove sitewide; homepage hero uses its own inline video. */
html[data-wd-build="v4"] body.wd-surface-v4.idx .video-background {
  display: none !important;
}

html[data-wd-build="v4"] body.wd-surface-v4.idx main {
  /* pages.css / document.css still reference --idx-ink / --idx-muted for headings + prose */
  --idx-ink: var(--v4-ink-dark);
  --idx-muted: var(--v4-muted-dark);
  /* Hairlines on paper sections (global tokens are tuned for dark UI) */
  --idx-line: rgb(15 15 18 / 0.12);
  --idx-line-strong: rgb(15 15 18 / 0.22);
  text-shadow: none !important;
  contain: none;
}

/* ─── Nav: tall light bar, ND “established services” feel, brand mark yellow ─ */
html[data-wd-build="v4"] body.wd-surface-v4.idx .navbar:not(.scrolled) {
  margin: 0 !important;
  max-width: none !important;
  border-radius: 0 !important;
  border: none !important;
  border-bottom: 4px solid var(--idx-accent) !important;
  background: #f5f5f7 !important;
  box-shadow: 0 4px 24px rgb(0 0 0 / 0.12) !important;
  backdrop-filter: none !important;
}

html[data-wd-build="v4"] body.wd-surface-v4.idx .navbar.scrolled {
  margin: 0 !important;
  max-width: none !important;
  border-radius: 0 !important;
  border: none !important;
  border-bottom: 3px solid var(--idx-accent) !important;
  background: rgb(245 245 247 / 0.97) !important;
  box-shadow: 0 8px 28px rgb(0 0 0 / 0.15) !important;
}

html[data-wd-build="v4"] body.wd-surface-v4.idx .nav-container {
  max-width: min(90rem, 100%);
  height: clamp(58px, 8vh, 72px);
}

html[data-wd-build="v4"] body.wd-surface-v4.idx .nav-mark {
  color: var(--idx-accent-ink);
}

html[data-wd-build="v4"] body.wd-surface-v4.idx .nav-wordmark {
  color: var(--v4-ink-dark);
}

html[data-wd-build="v4"] body.wd-surface-v4.idx .navbar .nav-brand {
  color: var(--v4-ink-dark);
}

html[data-wd-build="v4"] body.wd-surface-v4.idx .nav-links {
  letter-spacing: 0.12em;
  font-size: clamp(0.7rem, 0.62rem + 0.2vw, 0.8rem);
  font-weight: 700;
  text-transform: uppercase;
  font-family: var(--v4-display);
}

html[data-wd-build="v4"] body.wd-surface-v4.idx .navbar .nav-links > a:not(.phone-link),
html[data-wd-build="v4"] body.wd-surface-v4.idx .navbar .nav-links a:not(.phone-link) {
  color: var(--v4-ink-dark) !important;
  padding: 0.4rem 0.5rem !important;
}

html[data-wd-build="v4"] body.wd-surface-v4.idx .navbar .nav-links > a:not(.phone-link):hover,
html[data-wd-build="v4"] body.wd-surface-v4.idx .navbar .nav-links > a:not(.phone-link):focus-visible,
html[data-wd-build="v4"] body.wd-surface-v4.idx .navbar .nav-links a:not(.phone-link):hover,
html[data-wd-build="v4"] body.wd-surface-v4.idx .navbar .nav-links a:not(.phone-link):focus-visible {
  background: var(--idx-accent) !important;
  color: var(--idx-accent-ink) !important;
}

html[data-wd-build="v4"] body.wd-surface-v4.idx .nav-links a::after {
  display: none;
}

html[data-wd-build="v4"] body.wd-surface-v4.idx .navbar .nav-links .nav-dd > summary {
  color: var(--v4-ink-dark) !important;
}

/* Light bar: phone reads as a compact chip like the rest of the UI (not a black slab). */
html[data-wd-build="v4"] body.wd-surface-v4.idx .nav-links .phone-link {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.15rem 0.4rem;
  margin-left: 0.35rem;
  padding: 0.45rem 0.95rem !important;
  border-radius: 2px;
  background: #fff;
  color: var(--v4-ink-dark) !important;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border: 1px solid #c8c8d0;
  border-left: 3px solid var(--idx-accent);
  box-shadow: 0 1px 5px rgb(0 0 0 / 0.06);
}

html[data-wd-build="v4"] body.wd-surface-v4.idx .nav-links .phone-link:hover,
html[data-wd-build="v4"] body.wd-surface-v4.idx .nav-links .phone-link:focus-visible {
  background: var(--idx-accent);
  color: var(--idx-accent-ink) !important;
  border-color: var(--idx-accent-ink);
  border-left-color: var(--idx-accent-ink);
  box-shadow: 0 2px 10px rgb(0 0 0 / 0.1);
}

html[data-wd-build="v4"] body.wd-surface-v4.idx .nav-links .phone-link:hover .phone-link-num,
html[data-wd-build="v4"] body.wd-surface-v4.idx .nav-links .phone-link:focus-visible .phone-link-num {
  color: var(--idx-accent-ink) !important;
}

html[data-wd-build="v4"] body.wd-surface-v4.idx .nav-links .phone-link:hover .phone-link-eyebrow,
html[data-wd-build="v4"] body.wd-surface-v4.idx .nav-links .phone-link:focus-visible .phone-link-eyebrow {
  color: rgb(0 0 0 / 0.55);
}

html[data-wd-build="v4"] body.wd-surface-v4.idx .nav-links .phone-link-eyebrow {
  color: var(--v4-muted-dark);
  font-size: 0.55rem;
}

html[data-wd-build="v4"] body.wd-surface-v4.idx .nav-links .phone-link-num {
  color: var(--v4-ink-dark) !important;
  font-family: var(--v4-display);
}

html[data-wd-build="v4"] body.wd-surface-v4.idx .nav-links .phone-link-sep {
  color: var(--v4-muted-dark);
  opacity: 0.75;
}

html[data-wd-build="v4"] body.wd-surface-v4.idx .nav-links .phone-link:hover .phone-link-sep,
html[data-wd-build="v4"] body.wd-surface-v4.idx .nav-links .phone-link:focus-visible .phone-link-sep {
  color: var(--idx-accent-ink);
  opacity: 0.45;
}

html[data-wd-build="v4"] body.wd-surface-v4.idx .mobile-menu-bar {
  background: var(--v4-ink-dark);
}

html[data-wd-build="v4"] body.wd-surface-v4.idx #main-content {
  padding-top: clamp(5.5rem, 10vh, 7rem);
  padding-bottom: max(2.5rem, env(safe-area-inset-bottom, 0px));
  padding-left: max(var(--idx-gutter), env(safe-area-inset-left, 0px));
  padding-right: max(var(--idx-gutter), env(safe-area-inset-right, 0px));
}

html[data-wd-build="v4"] body.wd-surface-v4.idx.idx-home #main-content {
  padding-top: 0;
}

/* Full-width home column: idx-flow max-width would break v4 full-bleed math. */
html[data-wd-build="v4"] body.wd-surface-v4.idx.idx-home #main-content.idx-flow {
  max-width: none;
}

/* document.css `main > section:not(.hero)` adds 3rem gaps — idx-v4 blocks are not .hero. */
html[data-wd-build="v4"] body.wd-surface-v4.idx.idx-home main > section:first-child {
  margin-top: 0;
}

html[data-wd-build="v4"] body.wd-surface-v4.idx.idx-home main > section[class^="idx-v4-"] ~ section[class^="idx-v4-"] {
  margin-top: 0;
}

html[data-wd-build="v4"] body.wd-surface-v4.idx.idx-home main > section.idx-v4-ops + section {
  margin-top: clamp(2.5rem, 5vw, 3.5rem);
}

html[data-wd-build="v4"] .idx .nav-links .nav-dd-panel {
  background: #fff;
  border: 1px solid #ccc;
  border-top: 3px solid var(--idx-accent);
}

html[data-wd-build="v4"] .idx .nav-links .nav-dd-panel a {
  color: var(--v4-ink-dark) !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

html[data-wd-build="v4"] .idx .nav-links .nav-dd-panel a:hover,
html[data-wd-build="v4"] .idx .nav-links .nav-dd-panel a:focus-visible {
  background: var(--idx-accent) !important;
  color: var(--idx-accent-ink) !important;
}

/* ─── ND-style light content bands (shared home + inner feel) ─ */
html[data-wd-build="v4"] .idx .about,
html[data-wd-build="v4"] .idx .services,
html[data-wd-build="v4"] .idx .reviews,
html[data-wd-build="v4"] .idx .clients {
  background: var(--v4-paper);
  color: var(--v4-ink-dark);
  border-top: 1px solid #d0d0d8;
  border-bottom: 1px solid #d0d0d8;
  padding-top: clamp(2rem, 4vw, 2.75rem);
  padding-bottom: clamp(2rem, 4vw, 2.75rem);
  padding-left: var(--v4-section-inset);
  padding-right: var(--v4-section-inset);
  box-sizing: border-box;
}

html[data-wd-build="v4"] .idx .services {
  background: var(--v4-paper-2);
}

html[data-wd-build="v4"] .idx main > section .section-eyebrow {
  position: relative;
  font-family: var(--v4-display);
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--v4-ink-dark);
  border-top: 1px solid rgb(15 15 18 / 0.12);
  border-left: none;
  padding-left: 1rem;
  padding-top: 0.65rem;
  display: block;
  max-width: 42rem;
}

/* Dual-tone rail: ink carries the yellow so it never sits alone on paper. */
html[data-wd-build="v4"] .idx main > section .section-eyebrow::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5rem;
  width: 6px;
  height: 1.45em;
  min-height: 1.75rem;
  border-radius: 2px;
  background: linear-gradient(
    180deg,
    var(--idx-accent) 0%,
    var(--idx-accent) 32%,
    var(--v4-ink-dark) 32%,
    var(--v4-ink-dark) 100%
  );
  box-shadow: 0 0 0 1px rgb(15 15 18 / 0.18);
}

html[data-wd-build="v4"] .idx .site-footer .section-eyebrow {
  color: var(--idx-accent);
  border-left: none;
  padding-left: 0;
  letter-spacing: 0.14em;
}

html[data-wd-build="v4"] .idx .idx-h2,
html[data-wd-build="v4"] .idx .page-hero h1 {
  font-family: var(--v4-display);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--v4-ink-dark);
}

html[data-wd-build="v4"] .idx .about-stats .stat {
  background: #fff;
  border: 1px solid #c8c8d0;
  border-radius: 0;
  box-shadow: 4px 4px 0 var(--idx-accent);
  padding: 1.15rem 1.35rem 1.25rem;
}

html[data-wd-build="v4"] .idx .about-stats .stat h3 {
  color: var(--v4-ink-dark);
  font-family: var(--v4-display);
}

html[data-wd-build="v4"] .idx .about-stats .stat p {
  color: var(--v4-muted-dark);
  font-size: 0.74rem;
  line-height: 1.35;
  letter-spacing: 0.05em;
  hyphens: auto;
  overflow-wrap: anywhere;
}

html[data-wd-build="v4"] .idx #about.about .faq-cta-p {
  margin-top: 1.75rem;
}

html[data-wd-build="v4"] .idx .services-grid .service-card,
html[data-wd-build="v4"] .idx .services-grid .service-card-link {
  background: #fff;
  border: 1px solid #c8c8d0;
  border-radius: 0;
  box-shadow: none;
  border-left: 4px solid var(--idx-accent);
  /* document.css uses padding-y only + hover padding-left: 0.35rem — restore real inset from yellow bar */
  padding: 1.2rem 1.45rem 1.25rem 1.4rem;
  box-sizing: border-box;
}

html[data-wd-build="v4"] .idx .services-grid .service-card:hover,
html[data-wd-build="v4"] .idx .services-grid .service-card-link:hover {
  border-color: #999;
  border-left-color: var(--idx-accent);
  transform: none;
  box-shadow: 6px 6px 0 rgb(0 0 0 / 0.08);
  padding: 1.2rem 1.45rem 1.25rem 1.55rem;
  background: rgb(255 242 0 / 0.06);
}

html[data-wd-build="v4"] .idx .services-grid .service-card h3 {
  color: var(--v4-ink-dark);
  font-family: var(--v4-display);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 1rem;
}

html[data-wd-build="v4"] .idx .services-grid .service-card p {
  color: var(--v4-muted-dark);
}

html[data-wd-build="v4"] .idx .service-cta-card {
  border: 2px dashed var(--v4-ink-dark);
  background: var(--v4-paper);
}

html[data-wd-build="v4"] .idx .services-grid .service-cta-card {
  padding: 1.2rem 1.45rem 1.3rem 1.4rem;
  box-sizing: border-box;
}

html[data-wd-build="v4"] .idx .services-grid .service-cta-card:hover {
  padding: 1.2rem 1.45rem 1.3rem 1.4rem;
  background: var(--v4-paper);
}

html[data-wd-build="v4"] .idx .review-card {
  background: #fff;
  border: 1px solid #c8c8d0;
  border-radius: 0;
  padding: 1.15rem 1.2rem 1.25rem;
  height: clamp(12.75rem, 32vh, 17rem);
  max-height: 18rem;
}

html[data-wd-build="v4"] .idx .review-card .review-text,
html[data-wd-build="v4"] .idx .review-card h4 {
  color: var(--v4-ink-dark);
}

html[data-wd-build="v4"] .idx .review-card .review-header {
  margin-bottom: 0.65rem;
}

html[data-wd-build="v4"] .idx .review-card .review-text {
  padding-top: 0.2rem;
  padding-bottom: 0.25rem;
}

html[data-wd-build="v4"] .idx .reviewer-initial {
  background: var(--idx-accent);
  color: var(--idx-accent-ink);
  font-family: var(--v4-display);
  font-weight: 700;
}

html[data-wd-build="v4"] .idx .clients .client-logo {
  filter: grayscale(1) contrast(1.1);
  opacity: 0.75;
  min-height: 5.35rem;
  height: 5.35rem;
  padding: 1rem 1.15rem;
  box-sizing: border-box;
  align-items: center;
}

html[data-wd-build="v4"] .idx .clients .client-logo img {
  max-height: calc(100% - 0.25rem);
}

html[data-wd-build="v4"] .idx .contact-cta-bar {
  background: var(--v4-ink-dark);
  color: var(--idx-ink);
  border: 3px solid var(--idx-accent);
  border-radius: 0;
}

html[data-wd-build="v4"] .idx .contact-cta-bar .idx-h2,
html[data-wd-build="v4"] .idx .contact-cta-bar p {
  color: var(--idx-ink);
}

html[data-wd-build="v4"] .idx .cta-primary,
html[data-wd-build="v4"] .idx .site-footer-action .cta-primary {
  background: var(--idx-accent);
  color: var(--idx-accent-ink) !important;
  border-radius: 0;
  font-family: var(--v4-display);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border: 2px solid var(--idx-accent-ink);
  box-shadow: 4px 4px 0 rgb(0 0 0 / 0.25);
}

html[data-wd-build="v4"] .idx .cta-primary:hover,
html[data-wd-build="v4"] .idx .site-footer-action .cta-primary:hover {
  filter: brightness(1.03);
  transform: translate(1px, 1px);
  box-shadow: 3px 3px 0 rgb(0 0 0 / 0.2);
}

html[data-wd-build="v4"] .idx .cta-button {
  border-radius: 0;
  border: 2px solid var(--v4-ink-dark);
  color: var(--v4-ink-dark);
  font-family: var(--v4-display);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 0.55rem 1.15rem;
  font-size: 0.78rem;
  font-weight: 700;
}

html[data-wd-build="v4"] .idx .services-grid .service-cta-card .cta-button {
  padding: 0.65rem 1.35rem;
}

html[data-wd-build="v4"] .idx .site-footer-action {
  background: var(--v4-ink-dark);
  border-bottom: 4px solid var(--idx-accent);
}

html[data-wd-build="v4"] .idx .site-footer-main {
  background: #0a0a0c;
}

html[data-wd-build="v4"] .idx .site-footer-legal {
  background: #060608;
}

html[data-wd-build="v4"] .idx section.hero.page-hero {
  background: var(--v4-paper);
  border-bottom: 4px solid var(--idx-accent);
}

/* Light paper sub-page hero: drop video-era text-shadow (was blurring phone + yellow title). */
html[data-wd-build="v4"] .idx section.hero.page-hero .hero-kicker,
html[data-wd-build="v4"] .idx section.hero.page-hero h1,
html[data-wd-build="v4"] .idx section.hero.page-hero .hero-lead,
html[data-wd-build="v4"] .idx section.hero.page-hero .hero-actions,
html[data-wd-build="v4"] .idx section.hero.page-hero .hero-trust,
html[data-wd-build="v4"] .idx section.hero.page-hero .hero-trust li,
html[data-wd-build="v4"] .idx section.hero.page-hero .idx-phone-inline,
html[data-wd-build="v4"] .idx section.hero.page-hero .hero-actions a {
  text-shadow: none !important;
}

html[data-wd-build="v4"] .idx section.hero.page-hero .container {
  padding-left: clamp(1.15rem, 4vw, 2.1rem);
  padding-right: clamp(1.15rem, 4vw, 2.1rem);
}

html[data-wd-build="v4"] .idx .page-hero h1 .page-hero-line {
  display: block;
  line-height: 1.14;
}

html[data-wd-build="v4"] .idx .page-hero h1 .page-hero-line + .page-hero-line {
  margin-top: 0.28rem;
}

/* Yellow wordmark on paper: ink chip so brand yellow stays legible. */
html[data-wd-build="v4"] .idx .page-hero h1 em {
  display: inline-block;
  padding: 0.1em 0.4em 0.08em;
  margin: 0 0 0.1em 0;
  font-style: italic;
  color: var(--idx-accent);
  background: var(--v4-ink-dark);
  text-shadow: none !important;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

html[data-wd-build="v4"] .idx .page-hero .hero-kicker {
  margin-bottom: 1rem;
  color: var(--v4-muted-dark);
}

/* Horizontal segment of the same “chip” language as .section-eyebrow::before (90° = their 180°). */
html[data-wd-build="v4"] .idx .page-hero .hero-kicker::before {
  flex-shrink: 0;
  width: 2.75rem;
  height: 6px;
  border-radius: 2px;
  background: linear-gradient(
    90deg,
    var(--idx-accent) 0%,
    var(--idx-accent) 32%,
    var(--v4-ink-dark) 32%,
    var(--v4-ink-dark) 100%
  );
  box-shadow: 0 0 0 1px rgb(15 15 18 / 0.18);
}

html[data-wd-build="v4"] .idx .page-hero .hero-lead {
  line-height: 1.62;
  max-width: 42rem;
}

html[data-wd-build="v4"] .idx .page-hero .cta-primary {
  padding: 0.78rem 1.45rem;
}

html[data-wd-build="v4"] .idx .page-hero .idx-h1,
html[data-wd-build="v4"] .idx .page-hero h1 {
  color: var(--v4-ink-dark);
  line-height: 1.1;
  margin-bottom: 1rem;
}

html[data-wd-build="v4"] .idx .page-hero p,
html[data-wd-build="v4"] .idx .page-hero .idx-lead {
  color: var(--v4-muted-dark);
}

html[data-wd-build="v4"] .idx .page-hero .hero-lead {
  color: var(--v4-muted-dark);
}

html[data-wd-build="v4"] .idx .page-hero .hero-actions .idx-muted {
  color: var(--v4-muted-dark);
}

html[data-wd-build="v4"] .idx .page-hero .hero-trust li {
  background: rgb(255 255 255 / 0.92);
  border-color: #c8c8d0;
  color: var(--v4-muted-dark);
}

html[data-wd-build="v4"] .idx .rs-prose-photo img {
  border-radius: 0;
  border: 1px solid #c8c8d0;
}

html[data-wd-build="v4"] .idx .faq-cta-p a {
  box-shadow: 4px 4px 0 rgb(0 0 0 / 0.15);
}

html[data-wd-build="v4"] .idx .contact-cta.contact-cta-bar {
  background: #fff;
  border: 1px solid #c8c8d0;
  border-left: 4px solid var(--idx-accent);
  border-radius: 0;
  padding: 1.55rem var(--v4-section-inset) 1.65rem;
  box-sizing: border-box;
}

html[data-wd-build="v4"] .idx .contact-cta .idx-h2 {
  color: var(--v4-ink-dark);
}

html[data-wd-build="v4"] .idx .contact-cta p,
html[data-wd-build="v4"] .idx .contact-cta .idx-muted {
  color: var(--v4-muted-dark);
}

html[data-wd-build="v4"] .idx .contact-cta .idx-phone-inline {
  color: var(--v4-ink-dark);
  font-weight: 700;
}

/* Default contact CTA (pages.css dark glass) — v4 is always light shell */
html[data-wd-build="v4"] .idx .contact-cta:not(.contact-cta-bar) {
  background: #fff;
  border: 1px solid #c8c8d0;
}

html[data-wd-build="v4"] .idx .contact-cta:not(.contact-cta-bar) h2 {
  color: var(--v4-ink-dark);
}

html[data-wd-build="v4"] .idx .contact-cta:not(.contact-cta-bar) p,
html[data-wd-build="v4"] .idx .contact-cta:not(.contact-cta-bar) .idx-muted {
  color: var(--v4-muted-dark);
}

/* Carousel arrows outside reviews/clients (e.g. awards) — drop V2 dark circle */
html[data-wd-build="v4"] .idx .carousel-button {
  background: #fff;
  border-color: var(--v4-ink-dark);
  color: var(--v4-ink-dark);
}

html[data-wd-build="v4"] .idx .carousel-button:hover,
html[data-wd-build="v4"] .idx .carousel-button:focus-visible {
  background: var(--idx-accent);
  border-color: var(--idx-accent);
  color: var(--idx-accent-ink);
}

/* Legacy leadership grid cards (why-watchdog) — dark text, no V2 ink on paper */
html[data-wd-build="v4"] .idx .leadership-grid .service-card h3 {
  color: var(--v4-ink-dark);
}

html[data-wd-build="v4"] .idx .leadership-grid .service-card p {
  color: var(--v4-muted-dark);
}

/* ─── Reviews + clients carousels: gutter, padding, controls off the cards ─ */
html[data-wd-build="v4"] .idx .reviews-carousel,
html[data-wd-build="v4"] .idx .clients-carousel {
  gap: clamp(0.85rem, 2vw, 1.35rem);
  margin-top: 0.5rem;
  margin-bottom: 0.15rem;
}

html[data-wd-build="v4"] .idx .reviews-grid,
html[data-wd-build="v4"] .idx .clients-grid {
  padding: 0.7rem 0.6rem 0.9rem;
  gap: 1.15rem;
  scroll-padding-inline: 0.75rem;
}

html[data-wd-build="v4"] .idx .clients-grid {
  align-items: center;
}

html[data-wd-build="v4"] .idx .reviews .carousel-button,
html[data-wd-build="v4"] .idx .clients .carousel-button {
  flex-shrink: 0;
  align-self: center;
  position: relative;
  z-index: 1;
  margin-inline: 0.1rem;
  border-color: var(--v4-ink-dark);
  color: var(--v4-ink-dark);
  background: #fff;
  box-shadow: 0 2px 10px rgb(0 0 0 / 0.08);
}

html[data-wd-build="v4"] .idx .reviews .carousel-button:hover,
html[data-wd-build="v4"] .idx .reviews .carousel-button:focus-visible,
html[data-wd-build="v4"] .idx .clients .carousel-button:hover,
html[data-wd-build="v4"] .idx .clients .carousel-button:focus-visible {
  background: var(--idx-accent);
  border-color: var(--idx-accent);
  color: var(--idx-accent-ink);
}

/* ─── Sitewide: sub-pages + shared lists (v4 uses light surfaces everywhere) ─ */
html[data-wd-build="v4"] .idx main .container {
  padding-left: var(--v4-section-inset);
  padding-right: var(--v4-section-inset);
  box-sizing: border-box;
}

html[data-wd-build="v4"] .idx .services-grid.feature-grid .service-card {
  background: #fff;
  border: 1px solid #c8c8d0;
  border-radius: 0;
  padding: 1.2rem 1.35rem 1.35rem 1.25rem;
  box-sizing: border-box;
}

html[data-wd-build="v4"] .idx .services-grid.feature-grid .service-card:hover {
  padding: 1.2rem 1.4rem 1.35rem 1.35rem;
  background: rgb(255 242 0 / 0.07);
}

html[data-wd-build="v4"] .idx .services-grid.feature-grid .service-card h3 {
  color: var(--v4-ink-dark);
}

html[data-wd-build="v4"] .idx .services-grid.feature-grid .service-card p,
html[data-wd-build="v4"] .idx .services-grid.feature-grid .service-card .idx-muted {
  color: var(--v4-muted-dark);
}

html[data-wd-build="v4"] .idx .sectors-grid.sectors-bars .sector-block {
  padding: 1.05rem 1.35rem 1.1rem 1.3rem;
  background: #fff;
  border: 1px solid #c8c8d0;
  border-left: 4px solid var(--idx-accent);
  border-radius: 0;
}

html[data-wd-build="v4"] .idx .sectors-grid.sectors-bars .sector-block:hover {
  background: rgb(255 242 0 / 0.05);
}

html[data-wd-build="v4"] .idx .sectors-grid.sectors-bars .sector-block h3 {
  color: var(--v4-ink-dark);
}

html[data-wd-build="v4"] .idx .sectors-grid.sectors-bars .sector-block p,
html[data-wd-build="v4"] .idx .sectors-grid.sectors-bars .sector-block .idx-muted {
  color: var(--v4-muted-dark);
}

html[data-wd-build="v4"] .idx .leadership-card {
  padding: 1.15rem 1.25rem 1.2rem 1.35rem;
}

html[data-wd-build="v4"] .idx .leadership-card h3 {
  color: var(--v4-ink-dark);
}

html[data-wd-build="v4"] .idx .leadership-card p {
  color: var(--v4-muted-dark);
}

html[data-wd-build="v4"] .idx .awards-list.awards-badged li {
  padding: 1.05rem 1.2rem 1.05rem 1.3rem;
}

html[data-wd-build="v4"] .idx .feature-list li {
  padding: 0.85rem 1.2rem 0.85rem 1.65rem;
}

/* List rail + bullets: yellow never alone on paper — ink column + dark mark with yellow ring. */
html[data-wd-build="v4"] .idx main ul.feature-list {
  border-left: 5px solid var(--v4-ink-dark);
  padding-left: 0.55rem;
  margin-left: 0;
}

html[data-wd-build="v4"] .idx main ul.feature-list > li::before {
  top: calc(0.85rem + 0.34em);
  left: 0.08rem;
  width: 0.82rem;
  height: calc(0.82rem * 94.21 / 111.54);
  background-color: var(--v4-ink-dark);
  filter: drop-shadow(0 0 0 1px var(--idx-accent)) drop-shadow(0 0 2px rgb(0 0 0 / 0.22));
}

@supports (height: 1lh) {
  html[data-wd-build="v4"] .idx main ul.feature-list > li::before {
    top: calc(0.85rem + (1lh - (0.82rem * 94.21 / 111.54)) / 2);
  }
}

html[data-wd-build="v4"] .idx .faq-content.faq-content--split-photo,
html[data-wd-build="v4"] .idx .faq-content {
  gap: clamp(1rem, 3vw, 1.75rem);
}

/* ═══ Paper contrast: document.css `.idx main a:not(…×8)` beats naive v4 chips ═══ */

html[data-wd-build="v4"] body.wd-surface-v4.idx main a:not(.cta-primary):not(.submit-button):not(.service-card-link):not(.cta-button):not(.idx-v4-btn):not(.idx-v4-check__btn):not(.idx-v4-ops__cta):not(.idx-phone-inline):not(.idx-v4-hero__tel-link) {
  color: var(--v4-ink-dark);
  text-decoration-color: rgb(var(--idx-accent-rgb) / 0.42);
}

html[data-wd-build="v4"] body.wd-surface-v4.idx main a:not(.cta-primary):not(.submit-button):not(.service-card-link):not(.cta-button):not(.idx-v4-btn):not(.idx-v4-check__btn):not(.idx-v4-ops__cta):not(.idx-phone-inline):not(.idx-v4-hero__tel-link):hover {
  color: #14141a;
  text-decoration-color: var(--idx-accent-deep);
}

html[data-wd-build="v4"] body.wd-surface-v4.idx main .idx-prose a:not(.cta-primary):not(.cta-button) {
  color: var(--v4-ink-dark);
  text-decoration-color: rgb(var(--idx-accent-rgb) / 0.42);
}

html[data-wd-build="v4"] body.wd-surface-v4.idx main .idx-prose a:not(.cta-primary):not(.cta-button):hover {
  color: #14141a;
  text-decoration-color: var(--idx-accent-deep);
}

/* Why Watchdog leadership: role line was pure accent on paper */
html[data-wd-build="v4"] .idx .leadership-card .leader-role {
  color: var(--v4-muted-dark);
}

html[data-wd-build="v4"] .idx .leadership-card .leader-avatar {
  background: rgb(228 228 232);
  color: var(--v4-ink-dark);
}

/* Feature-grid cards (e.g. “Five things…”) — icon chip was yellow stroke on pale yellow */
html[data-wd-build="v4"] .idx .services-grid.feature-grid .service-card > .service-icon,
html[data-wd-build="v4"] .idx .services-grid.feature-grid .service-card > i {
  background: var(--idx-accent-tint);
  color: var(--v4-ink-dark);
  border: 1px solid rgb(15 15 18 / 0.1);
  box-sizing: border-box;
}

html[data-wd-build="v4"] .idx .services-grid.feature-grid .service-card:hover > .service-icon,
html[data-wd-build="v4"] .idx .services-grid.feature-grid .service-card:hover > i {
  background: rgb(255 242 0 / 0.22);
  color: var(--v4-ink-dark);
  border-color: rgb(15 15 18 / 0.14);
}

/* Contact page + any info-item block on paper */
html[data-wd-build="v4"] .idx .info-item .info-icon,
html[data-wd-build="v4"] .idx .info-item > i {
  color: var(--v4-ink-dark);
}

html[data-wd-build="v4"] .idx .info-item a:hover {
  color: #14141a;
  text-decoration-color: var(--idx-accent-deep);
}

/* “Next step” text buttons on paper (services index, etc.) */
html[data-wd-build="v4"] .idx .service-cta-card .cta-button {
  color: var(--v4-ink-dark);
  text-decoration-color: rgb(var(--idx-accent-rgb) / 0.45);
}

html[data-wd-build="v4"] .idx .service-cta-card .cta-button:hover {
  color: #14141a;
  text-decoration-color: var(--idx-accent-deep);
}

/* Homepage region tiles are block links with no underline — paper `main a` rule loads after v4-home. */
html[data-wd-build="v4"] body.wd-surface-v4.idx main a.idx-v4-region {
  color: inherit !important;
  text-decoration: none !important;
}
