/* Contact R1 contrast overlay — page-scoped. Dark field → light type. Light card → dark ink. */
html:has([data-page="contact-r1"]) {
  overflow-x: clip;
}

[data-page="contact-r1"] {
  --nvc-ink: #0a1628;
  --nvc-muted: #334155;
  --nvc-line: #e5eaf2;
  --nvc-accent: #2563eb;
  --nvc-navy: #0f2167;
  --nvc-ice: #f7f9fc;
  --nvc-on-dark: #f7f9fc;
  overflow-x: clip;
  max-width: 100%;
  color: var(--nvc-ink);
  background-color: var(--nvc-ice);
}

/* ── Dark hero field + light copy (do not paint AEO/board) ── */
html.nv-enterprise [data-page="contact-r1"] [data-hero-slug="contact"].site-hero-band,
html.nv-enterprise [data-page="contact-r1"] [data-hero-slug="contact"].hero-surface,
html.nv-enterprise [data-page="contact-r1"] [data-hero-slug="contact"] {
  background-color: #0b1a4a !important;
  background-image:
    radial-gradient(ellipse 72% 80% at 88% 8%, rgb(6 182 212 / 0.34), transparent 54%),
    radial-gradient(ellipse 58% 64% at 6% 92%, rgb(37 99 235 / 0.38), transparent 52%),
    linear-gradient(155deg, #0b1a4a 0%, #0f2167 40%, #16325c 70%, #0c4a6e 100%) !important;
  color: var(--nvc-on-dark);
}

html.nv-enterprise [data-page="contact-r1"] [data-hero-slug="contact"] > .absolute.inset-0 {
  display: none !important;
}

html.nv-enterprise [data-page="contact-r1"] [data-hero-slug="contact"]::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgb(125 211 252 / 0.12) 1px, transparent 1px),
    linear-gradient(90deg, rgb(125 211 252 / 0.12) 1px, transparent 1px);
  background-size: 40px 40px;
  mask-image: radial-gradient(ellipse 92% 78% at 50% 38%, #000 18%, transparent 78%);
}

html.nv-enterprise [data-page="contact-r1"] [data-hero-slug="contact"] #nvc-h1 {
  color: #f7f9fc !important;
}

html.nv-enterprise [data-page="contact-r1"] [data-hero-slug="contact"] .nvc-hero-grid > div > p.text-accent,
html.nv-enterprise [data-page="contact-r1"] [data-hero-slug="contact"] .nvc-hero-eyebrow {
  color: #7dd3fc !important;
}

html.nv-enterprise [data-page="contact-r1"] [data-hero-slug="contact"] .nvc-hero-grid > div > p.text-muted-foreground,
html.nv-enterprise [data-page="contact-r1"] [data-hero-slug="contact"] .nvc-hero-lede {
  color: rgb(247 249 252 / 0.88) !important;
}

html.nv-enterprise [data-page="contact-r1"] [data-hero-slug="contact"] nav,
html.nv-enterprise [data-page="contact-r1"] [data-hero-slug="contact"] nav a,
html.nv-enterprise [data-page="contact-r1"] [data-hero-slug="contact"] nav span {
  color: rgb(247 249 252 / 0.82) !important;
}

html.nv-enterprise [data-page="contact-r1"] [data-hero-slug="contact"] nav span.text-foreground {
  color: #f7f9fc !important;
}

html.nv-enterprise [data-page="contact-r1"] [data-nvc-hero-cta="primary"] {
  background-color: #2563eb !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Light AEO on dark hero — dark ink. Specificity beats hero :is(h2,p). */
html.nv-enterprise [data-page="contact-r1"] [data-hero-slug="contact"] .nvc-aeo,
html.nv-enterprise [data-page="contact-r1"] .nvc-aeo {
  background-color: #ffffff !important;
  background-image: none !important;
  color: #0a1628 !important;
  border: 1px solid #e5eaf2;
  box-shadow: 0 12px 32px rgb(5 12 40 / 0.18);
}

html.nv-enterprise [data-page="contact-r1"] [data-hero-slug="contact"] .nvc-aeo h2,
html.nv-enterprise [data-page="contact-r1"] [data-hero-slug="contact"].site-hero-band.hero-surface .nvc-aeo h2,
html.nv-enterprise [data-page="contact-r1"] .nvc-aeo h2 {
  color: #0f2167 !important;
}

html.nv-enterprise [data-page="contact-r1"] [data-hero-slug="contact"] .nvc-aeo p,
html.nv-enterprise [data-page="contact-r1"] [data-hero-slug="contact"].site-hero-band.hero-surface .nvc-aeo p,
html.nv-enterprise [data-page="contact-r1"] .nvc-aeo p {
  color: #334155 !important;
}

html.nv-enterprise [data-page="contact-r1"] .nvc-hero-visual {
  display: block;
}

html.nv-enterprise [data-page="contact-r1"] .nvc-board {
  background-color: #ffffff !important;
  background-image: linear-gradient(180deg, #ffffff 0%, #eef6ff 100%) !important;
  color: #0a1628 !important;
}

/* ── Light body bands — dark ink ── */
html.nv-enterprise [data-page="contact-r1"] #nvc-form,
html.nv-enterprise [data-page="contact-r1"] #nvc-channels,
html.nv-enterprise [data-page="contact-r1"] #nvc-location,
html.nv-enterprise [data-page="contact-r1"] .mother-section-band:has(.nvc-faq) {
  background-color: #f7f9fc !important;
  color: #0a1628 !important;
}

html.nv-enterprise [data-page="contact-r1"] #nvc-form .mother-card,
html.nv-enterprise [data-page="contact-r1"] #nvc-form-heading,
html.nv-enterprise [data-page="contact-r1"] #nvc-channels-h,
html.nv-enterprise [data-page="contact-r1"] #nvc-location-h,
html.nv-enterprise [data-page="contact-r1"] #nvc-faq-h,
html.nv-enterprise [data-page="contact-r1"] #nvc-location address,
html.nv-enterprise [data-page="contact-r1"] .nvc-field label,
html.nv-enterprise [data-page="contact-r1"] .nvc-intent,
html.nv-enterprise [data-page="contact-r1"] .nvc-intent strong,
html.nv-enterprise [data-page="contact-r1"] .nvc-channel,
html.nv-enterprise [data-page="contact-r1"] .nvc-channel a,
html.nv-enterprise [data-page="contact-r1"] .nvc-faq button {
  color: #0a1628 !important;
}

html.nv-enterprise [data-page="contact-r1"] #nvc-form .text-muted-foreground,
html.nv-enterprise [data-page="contact-r1"] #nvc-channels .text-muted-foreground,
html.nv-enterprise [data-page="contact-r1"] #nvc-location .text-muted-foreground:not(.nvc-map *),
html.nv-enterprise [data-page="contact-r1"] .nvc-intent__desc,
html.nv-enterprise [data-page="contact-r1"] .nvc-channel small,
html.nv-enterprise [data-page="contact-r1"] .nvc-faq dd {
  color: #334155 !important;
}

html.nv-enterprise [data-page="contact-r1"] .nvc-intent,
html.nv-enterprise [data-page="contact-r1"] .nvc-channel,
html.nv-enterprise [data-page="contact-r1"] .nvc-faq .mother-card,
html.nv-enterprise [data-page="contact-r1"] .nvc-field input,
html.nv-enterprise [data-page="contact-r1"] .nvc-field select,
html.nv-enterprise [data-page="contact-r1"] .nvc-field textarea {
  background-color: #ffffff !important;
  color: #0a1628 !important;
}

html.nv-enterprise [data-page="contact-r1"] .nvc-intent strong {
  color: #0f2167 !important;
}

html.nv-enterprise [data-page="contact-r1"] .nvc-channel {
  border-inline-start: 4px solid #2563eb;
}

html.nv-enterprise [data-page="contact-r1"] .nvc-channel a,
html.nv-enterprise [data-page="contact-r1"] .nvc-channel button,
html.nv-enterprise [data-page="contact-r1"] #nvc-location a.text-accent {
  color: #1d4ed8 !important;
}

html.nv-enterprise [data-page="contact-r1"] .mother-btn-light {
  background-color: #ffffff !important;
  color: #0f2167 !important;
  -webkit-text-fill-color: #0f2167 !important;
  border: 1px solid #d0d7e2;
}

html.nv-enterprise [data-page="contact-r1"] .mother-btn-primary {
  background-color: #2563eb !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* ── Real OSM map + dark ink on white caption ── */
html.nv-enterprise [data-page="contact-r1"] .nvc-map,
html.nv-enterprise [data-page="contact-r1"] #nvc-location .nvc-map {
  position: relative !important;
  min-height: 340px !important;
  padding: 0 !important;
  overflow: hidden !important;
  background-color: #d7e3f0 !important;
  background-image: none !important;
  color: #0a1628 !important;
  border: 1px solid #d0d7e2 !important;
}

html.nv-enterprise [data-page="contact-r1"] .nvc-map-tiles {
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  grid-template-rows: repeat(3, 1fr) !important;
}

html.nv-enterprise [data-page="contact-r1"] .nvc-map-tiles img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

html.nv-enterprise [data-page="contact-r1"] .nvc-map-pin {
  position: absolute !important;
  width: 22px !important;
  height: 22px !important;
  margin-left: -11px !important;
  margin-top: -20px !important;
  background: #2563eb !important;
  border: 2px solid #ffffff !important;
  border-radius: 50% 50% 50% 0 !important;
  transform: rotate(-45deg) !important;
  box-shadow: 0 4px 10px rgb(15 33 103 / 0.35) !important;
}

html.nv-enterprise [data-page="contact-r1"] .nvc-map-attr {
  position: absolute !important;
  top: 0.65rem !important;
  right: 0.75rem !important;
  z-index: 2 !important;
  margin: 0 !important;
  padding: 0.2rem 0.45rem !important;
  border-radius: 0.35rem !important;
  background: rgb(255 255 255 / 0.88) !important;
  color: #334155 !important;
  -webkit-text-fill-color: #334155 !important;
  font-size: 0.68rem !important;
}

html.nv-enterprise [data-page="contact-r1"] .nvc-map:has(.nvc-map-tiles) > p:not(.nvc-map-attr) {
  display: none !important;
}

html.nv-enterprise [data-page="contact-r1"] .nvc-map-caption {
  position: absolute !important;
  left: 1rem !important;
  right: 1rem !important;
  bottom: 1rem !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background-color: #ffffff !important;
  background-image: none !important;
  color: #0a1628 !important;
  border-radius: 0.85rem !important;
  padding: 0.85rem 1rem !important;
  box-shadow: 0 8px 24px rgb(15 33 103 / 0.16) !important;
}

html.nv-enterprise [data-page="contact-r1"] #nvc-location .nvc-map-caption,
html.nv-enterprise [data-page="contact-r1"] #nvc-location .nvc-map-caption p,
html.nv-enterprise [data-page="contact-r1"] #nvc-location .nvc-map-caption .nvc-map-kicker,
html.nv-enterprise [data-page="contact-r1"] #nvc-location .nvc-map-caption .nvc-map-name,
html.nv-enterprise [data-page="contact-r1"] #nvc-location .nvc-map-caption .nvc-map-addr {
  color: #0a1628 !important;
  -webkit-text-fill-color: #0a1628 !important;
}

html.nv-enterprise [data-page="contact-r1"] .nvc-map-kicker {
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #0f2167 !important;
  -webkit-text-fill-color: #0f2167 !important;
}

html.nv-enterprise [data-page="contact-r1"] .nvc-map-addr {
  color: #334155 !important;
  -webkit-text-fill-color: #334155 !important;
}

/* ── Dark RFQ + light type; light button + dark ink ── */
html.nv-enterprise [data-page="contact-r1"] .nvc-cta {
  background-color: #0f2167 !important;
  background-image:
    radial-gradient(circle at 86% 18%, rgb(6 182 212 / 0.24), transparent 36%),
    linear-gradient(120deg, #0f2167 0%, #1e3a8a 55%, #0c4a6e 100%) !important;
  color: #f7f9fc !important;
}

html.nv-enterprise [data-page="contact-r1"] .nvc-cta h2,
html.nv-enterprise [data-page="contact-r1"] .nvc-cta p {
  color: #f7f9fc !important;
}

html.nv-enterprise [data-page="contact-r1"] .nvc-cta a,
html.nv-enterprise [data-page="contact-r1"] .nvc-cta a.bg-white {
  background-color: #ffffff !important;
  background-image: none !important;
  color: #0f2167 !important;
  -webkit-text-fill-color: #0f2167 !important;
}
