/* Primionics × Pilz body-page system
   Scope: <main class="pilz-page ..."> only.
   Do not use this stylesheet for the global site header/footer. */

.pilz-page {
  --pz-navy: #071f33;
  --pz-navy-2: #0d3452;
  --pz-navy-3: #102c43;
  --pz-red: #d9292f;
  --pz-red-dark: #b71e24;
  --pz-red-soft: #fff1f2;
  --pz-pilz: #ffd500;
  --pz-pilz-dark: #c9a900;
  --pz-ink: #111827;
  --pz-body: #46515f;
  --pz-muted: #66707c;
  --pz-line: #e3e8ed;
  --pz-line-strong: #cfd7de;
  --pz-soft: #f5f7f9;
  --pz-soft-2: #eef3f6;
  --pz-white: #ffffff;
  --pz-success: #16784b;
  --pz-shadow: 0 18px 50px rgba(7,31,51,.10);
  --pz-shadow-sm: 0 8px 24px rgba(7,31,51,.07);
  --pz-radius-xl: 28px;
  --pz-radius-lg: 20px;
  --pz-radius-md: 12px;
  --pz-max: 1180px;
  color: var(--pz-ink);
  background: var(--pz-white);
  font-family: Inter, "Segoe UI", Arial, Helvetica, sans-serif;
  line-height: 1.52;
}

.pilz-page *, .pilz-page *::before, .pilz-page *::after { box-sizing: border-box; }
.pilz-page a { color: inherit; text-decoration: none; }
.pilz-page img { display: block; max-width: 100%; }
.pilz-page .pz-wrap { width: min(var(--pz-max), calc(100% - 44px)); margin-inline: auto; }
.pilz-page .pz-section { padding: 76px 0; }
.pilz-page .pz-section--soft { background: var(--pz-soft); }
.pilz-page .pz-section--navy { background: var(--pz-navy); color: #fff; }
.pilz-page .pz-section--tight { padding: 54px 0; }

/* Breadcrumb / local context. Not the site menu. */
.pilz-page .pz-crumb { padding: 20px 0 0; font-size: 13px; color: #7b8590; }
.pilz-page .pz-crumb b { color: #34404c; }

/* Type */
.pilz-page .pz-eyebrow,
.pilz-page .pz-kicker {
  margin: 0 0 10px;
  color: var(--pz-red);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.pilz-page .pz-maker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  padding: 7px 11px;
  border: 1px solid #ffe08a;
  border-radius: 999px;
  background: #fff9d6;
  color: #675700;
  font-size: 12px;
  font-weight: 850;
}
.pilz-page .pz-maker::before { content: ""; width: 9px; height: 9px; border-radius: 2px; background: var(--pz-pilz); box-shadow: inset 0 0 0 1px #d4b300; }
.pilz-page h1,
.pilz-page h2,
.pilz-page h3,
.pilz-page h4 { color: var(--pz-navy); }
.pilz-page .pz-hero h1 {
  margin: 0 0 20px;
  font-size: clamp(42px, 5.1vw, 66px);
  line-height: 1.02;
  letter-spacing: -.045em;
}
.pilz-page .pz-hero__lead { max-width: 710px; margin: 0 0 26px; color: var(--pz-body); font-size: 19px; line-height: 1.55; }
.pilz-page .pz-head { max-width: 800px; margin-bottom: 34px; }
.pilz-page .pz-head h2,
.pilz-page .pz-section-title { margin: 8px 0 12px; font-size: clamp(31px, 3.1vw, 39px); line-height: 1.12; letter-spacing: -.03em; }
.pilz-page .pz-head p,
.pilz-page .pz-section-lead { max-width: 790px; margin: 0; color: var(--pz-muted); font-size: 16px; }

/* Buttons */
.pilz-page .pz-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.pilz-page .pz-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 12px 18px;
  border: 1px solid var(--pz-line-strong);
  border-radius: 10px;
  background: #fff;
  color: var(--pz-navy);
  font-size: 14px;
  font-weight: 850;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.pilz-page .pz-btn:hover { transform: translateY(-1px); box-shadow: var(--pz-shadow-sm); }
.pilz-page .pz-btn--primary { border-color: var(--pz-red); background: var(--pz-red); color: #fff; }
.pilz-page .pz-btn--primary:hover { background: var(--pz-red-dark); }
.pilz-page .pz-btn--pilz { border-color: #d8b600; background: var(--pz-pilz); color: #111; }
.pilz-page .pz-btn--dark { border-color: var(--pz-navy); background: var(--pz-navy); color: #fff; }

/* Hero */
.pilz-page .pz-hero {
  padding: 38px 0 62px;
  background: linear-gradient(120deg,#fff 0 62%,#f3f6f8 62%);
  border-bottom: 1px solid var(--pz-line);
}
.pilz-page .pz-hero__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 58px; align-items: center; }
.pilz-page .pz-hero__pills { display: flex; flex-wrap: wrap; gap: 9px; margin: 22px 0 28px; }
.pilz-page .pz-pill { padding: 8px 11px; border-radius: 999px; background: #eef3f7; color: #2c3e50; font-size: 12px; font-weight: 800; }
.pilz-page .pz-pill--pilz { background: #fff6b8; color: #5f5100; }
.pilz-page .pz-hero__facts { display: flex; flex-wrap: wrap; gap: 26px; margin-top: 28px; }
.pilz-page .pz-fact { min-width: 110px; }
.pilz-page .pz-fact b { display: block; color: var(--pz-navy); font-size: 20px; }
.pilz-page .pz-fact span { display: block; margin-top: 2px; color: #707b86; font-size: 11px; text-transform: uppercase; letter-spacing: .07em; }
.pilz-page .pz-hero__visual {
  position: relative;
  min-height: 440px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--pz-line);
  border-radius: var(--pz-radius-xl);
  background: linear-gradient(145deg,#f8fafb,#edf2f5);
  box-shadow: var(--pz-shadow);
}
.pilz-page .pz-hero__visual::before { content: ""; position: absolute; width: 310px; height: 310px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 42px rgba(255,255,255,.48); }
.pilz-page .pz-hero__visual img { position: relative; z-index: 1; width: min(88%, 620px); max-height: 405px; object-fit: contain; filter: drop-shadow(0 18px 22px rgba(0,0,0,.13)); }
.pilz-page .pz-hero__visual--application img { width: 100%; height: 100%; max-height: none; min-height: 440px; object-fit: cover; filter: none; }
.pilz-page .pz-image-badge { position: absolute; left: 20px; bottom: 20px; z-index: 2; max-width: calc(100% - 40px); padding: 11px 14px; border-radius: 10px; background: rgba(7,31,51,.92); color: #fff; font-size: 12px; }
.pilz-page .pz-image-badge b { display: block; font-size: 13px; }

/* Body-only anchor navigation */
.pilz-page .pz-anchorbar { border-bottom: 1px solid var(--pz-line); background: #fff; }
.pilz-page .pz-anchorbar__inner { display: flex; gap: 26px; overflow-x: auto; scrollbar-width: thin; }
.pilz-page .pz-anchorbar a { padding: 15px 0; color: #5a6571; font-size: 13px; font-weight: 850; white-space: nowrap; }
.pilz-page .pz-anchorbar a:hover { color: var(--pz-red); }

/* Key-data band */
.pilz-page .pz-statband { background: var(--pz-navy); color: #fff; }
.pilz-page .pz-stats { display: grid; grid-template-columns: repeat(4,1fr); }
.pilz-page .pz-stat { padding: 22px 26px; border-right: 1px solid rgba(255,255,255,.14); }
.pilz-page .pz-stat:last-child { border-right: 0; }
.pilz-page .pz-stat b { display: block; color: var(--pz-pilz); font-size: 24px; }
.pilz-page .pz-stat span { color: #d1dce5; font-size: 12px; }

/* Family/product cards */
.pilz-page .pz-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.pilz-page .pz-grid--2 { grid-template-columns: repeat(2,1fr); }
.pilz-page .pz-grid--4 { grid-template-columns: repeat(4,1fr); }
.pilz-page .pz-card {
  min-height: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--pz-line);
  border-radius: var(--pz-radius-lg);
  background: #fff;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.pilz-page .pz-card:hover { transform: translateY(-2px); border-color: #ccd5dd; box-shadow: var(--pz-shadow-sm); }
.pilz-page .pz-card__media { position: relative; height: 220px; display: flex; align-items: center; justify-content: center; overflow: hidden; border-bottom: 1px solid var(--pz-line); background: linear-gradient(145deg,#f5f7f8,#fff); }
.pilz-page .pz-card__media img { max-width: 90%; max-height: 90%; object-fit: contain; }
.pilz-page .pz-card__media--application img { width: 100%; height: 100%; max-width: none; max-height: none; object-fit: cover; }
.pilz-page .pz-card__flag { position: absolute; left: 14px; top: 14px; padding: 6px 9px; border-radius: 7px; background: var(--pz-pilz); color: #111; font-size: 10px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.pilz-page .pz-card__body { flex: 1; display: flex; flex-direction: column; padding: 23px; }
.pilz-page .pz-card__eyebrow { margin-bottom: 7px; color: var(--pz-red); font-size: 10px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.pilz-page .pz-card h3 { margin: 0 0 8px; font-size: 22px; line-height: 1.18; }
.pilz-page .pz-card p { margin: 0 0 15px; color: var(--pz-muted); font-size: 14px; }
.pilz-page .pz-card ul { margin: 0 0 18px; padding-left: 18px; color: #44505c; font-size: 13px; }
.pilz-page .pz-card li { margin: 6px 0; }
.pilz-page .pz-card__fit { margin-top: auto; padding-top: 14px; border-top: 1px solid #edf0f2; font-size: 12px; }
.pilz-page .pz-card__fit b { display: block; margin-bottom: 3px; color: var(--pz-navy); }
.pilz-page .pz-card__fit span { color: #68727d; }

/* Benefits / feature tiles */
.pilz-page .pz-features { display: grid; grid-template-columns: repeat(4,1fr); gap: 15px; }
.pilz-page .pz-feature { padding: 22px; border-left: 4px solid var(--pz-red); border-radius: 0 14px 14px 0; background: #fff; box-shadow: var(--pz-shadow-sm); }
.pilz-page .pz-feature--pilz { border-left-color: var(--pz-pilz); }
.pilz-page .pz-feature h3 { margin: 0 0 7px; font-size: 17px; }
.pilz-page .pz-feature p { margin: 0; color: var(--pz-muted); font-size: 13px; }

/* Application split section */
.pilz-page .pz-split { display: grid; grid-template-columns: 1fr 1fr; gap: 52px; align-items: center; }
.pilz-page .pz-application-media { min-height: 410px; overflow: hidden; display: flex; align-items: center; justify-content: center; border: 1px solid var(--pz-line); border-radius: 24px; background: #fff; }
.pilz-page .pz-application-media img { width: 100%; height: 100%; max-height: 440px; object-fit: contain; }
.pilz-page .pz-application-media--photo img { min-height: 410px; object-fit: cover; }
.pilz-page .pz-step { display: grid; grid-template-columns: 42px 1fr; gap: 13px; margin: 20px 0; }
.pilz-page .pz-step__num { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: var(--pz-navy); color: #fff; font-size: 12px; font-weight: 900; }
.pilz-page .pz-step h3 { margin: 0 0 4px; font-size: 16px; }
.pilz-page .pz-step p { margin: 0; color: var(--pz-muted); font-size: 14px; }

/* Comparison / selector tables */
.pilz-page .pz-table { overflow: hidden; border: 1px solid var(--pz-line); border-radius: 16px; background: #fff; }
.pilz-page .pz-table table { width: 100%; border-collapse: collapse; }
.pilz-page .pz-table th,
.pilz-page .pz-table td { padding: 14px 16px; border-bottom: 1px solid var(--pz-line); text-align: left; vertical-align: top; font-size: 13px; }
.pilz-page .pz-table thead th { background: var(--pz-navy); color: #fff; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; }
.pilz-page .pz-table tbody th { width: 28%; background: #fafbfc; color: #59636e; }
.pilz-page .pz-table tbody td { color: #273341; }
.pilz-page .pz-table tr:last-child th,
.pilz-page .pz-table tr:last-child td { border-bottom: 0; }
.pilz-page .pz-ok { color: var(--pz-success); font-weight: 850; }
.pilz-page .pz-note { margin-top: 15px; padding: 14px 16px; border: 1px solid #f0df9d; border-radius: 12px; background: #fff9df; color: #5f552f; font-size: 12px; }

/* Product detail spec layout */
.pilz-page .pz-spec-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 34px; align-items: start; }
.pilz-page .pz-spec-intro { padding: 32px; border-radius: 22px; background: var(--pz-navy); color: #fff; }
.pilz-page .pz-spec-intro h2 { margin: 0 0 14px; color: #fff; font-size: 30px; line-height: 1.12; }
.pilz-page .pz-spec-intro p { margin: 0; color: #cbd7e0; }
.pilz-page .pz-spec-intro .pz-kicker { color: #ff8d91; }
.pilz-page .pz-spec-intro__note { margin-top: 20px; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.18); color: #aebdca; font-size: 12px; }

/* Product model cards */
.pilz-page .pz-models { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.pilz-page .pz-model { padding: 24px; border: 1px solid var(--pz-line); border-radius: 18px; background: #fff; }
.pilz-page .pz-model__code { color: var(--pz-red); font-size: 11px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.pilz-page .pz-model h3 { margin: 7px 0 8px; font-size: 22px; }
.pilz-page .pz-model p { margin: 0 0 16px; color: var(--pz-muted); font-size: 13px; }
.pilz-page .pz-model dl { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 18px; margin: 0; }
.pilz-page .pz-model dt { color: #7a8490; font-size: 11px; }
.pilz-page .pz-model dd { margin: 0; text-align: right; color: #253442; font-size: 12px; font-weight: 850; }

/* Architecture / workflow cards */
.pilz-page .pz-workflow { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; }
.pilz-page .pz-workflow-card { padding: 22px; border: 1px solid var(--pz-line); border-radius: 16px; background: #fff; }
.pilz-page .pz-workflow-card small { display: inline-flex; min-width: 32px; height: 32px; align-items: center; justify-content: center; margin-bottom: 13px; border-radius: 50%; background: var(--pz-pilz); color: #111; font-weight: 900; }
.pilz-page .pz-workflow-card h3 { margin: 0 0 7px; font-size: 17px; }
.pilz-page .pz-workflow-card p { margin: 0; color: var(--pz-muted); font-size: 13px; }

/* Dark architecture band */
.pilz-page .pz-darkband { background: #101820; color: #fff; }
.pilz-page .pz-darkband__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 46px; align-items: center; }
.pilz-page .pz-darkband h2 { margin: 0 0 12px; color: #fff; font-size: 36px; line-height: 1.14; }
.pilz-page .pz-darkband p { color: #c8d1d8; }
.pilz-page .pz-checks { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pilz-page .pz-check { padding: 12px 14px; border: 1px solid #364553; border-radius: 9px; background: #182632; color: #e4ebf0; font-size: 13px; }
.pilz-page .pz-check::before { content: "✓"; margin-right: 8px; color: var(--pz-pilz); font-weight: 900; }

/* Industry cards */
.pilz-page .pz-industries { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.pilz-page .pz-industry { position: relative; min-height: 180px; overflow: hidden; padding: 27px; border-radius: 20px; background: var(--pz-navy); color: #fff; }
.pilz-page .pz-industry::after { content: ""; position: absolute; right: -25px; bottom: -35px; width: 130px; height: 130px; border: 28px solid rgba(255,255,255,.08); border-radius: 50%; }
.pilz-page .pz-industry small { color: #bdd0de; font-size: 10px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.pilz-page .pz-industry h3 { margin: 9px 0 7px; color: #fff; font-size: 21px; }
.pilz-page .pz-industry p { max-width: 88%; margin: 0; color: #d3dee6; font-size: 13px; }

/* Selection / requirement capture */
.pilz-page .pz-selection { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.pilz-page .pz-selection-card { padding: 25px; border: 1px solid var(--pz-line); border-radius: 18px; background: #fff; }
.pilz-page .pz-selection-card h3 { margin: 0 0 11px; font-size: 19px; }
.pilz-page .pz-selection-card ul { margin: 0; padding-left: 18px; color: var(--pz-muted); font-size: 13px; }
.pilz-page .pz-selection-card li { margin: 7px 0; }

/* Cross-portfolio route tiles */
.pilz-page .pz-routes { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.pilz-page .pz-route { padding: 21px; border: 1px solid var(--pz-line); border-radius: 16px; background: #fff; }
.pilz-page .pz-route small { color: var(--pz-red); font-size: 10px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.pilz-page .pz-route h3 { margin: 6px 0 8px; font-size: 19px; }
.pilz-page .pz-route p { margin: 0 0 13px; color: var(--pz-muted); font-size: 13px; }
.pilz-page .pz-route b { color: var(--pz-red); font-size: 12px; }

/* CTA: body-only, intended to sit above global site footer */
.pilz-page .pz-cta { padding: 54px 0 76px; }
.pilz-page .pz-cta__box { display: grid; grid-template-columns: 1.3fr .7fr; gap: 28px; align-items: center; padding: 42px; border-radius: 26px; background: linear-gradient(120deg,var(--pz-navy),var(--pz-navy-2)); color: #fff; }
.pilz-page .pz-cta h2 { margin: 0 0 10px; color: #fff; font-size: 34px; line-height: 1.14; }
.pilz-page .pz-cta p { max-width: 720px; margin: 0; color: #ccd8e1; }
.pilz-page .pz-cta__actions { display: flex; flex-direction: column; align-items: flex-end; gap: 9px; }
.pilz-page .pz-cta__actions small { color: #afc3d2; }

/* Manufacturer/source disclaimer */
.pilz-page .pz-sourcebox { margin-top: 24px; padding: 15px 17px; border: 1px solid #f0df9d; border-radius: 13px; background: #fff9df; color: #62572e; font-size: 11px; }

/* Status labels useful for legacy/current verification */
.pilz-page .pz-status { display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px; border-radius: 999px; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; }
.pilz-page .pz-status--current { background: #e8f7ef; color: #17633f; }
.pilz-page .pz-status--verify { background: #fff5c7; color: #6d5b00; }
.pilz-page .pz-status--legacy { background: #f1f3f5; color: #626d77; }

/* Mobile */
@media (max-width: 1000px) {
  .pilz-page .pz-hero__grid,
  .pilz-page .pz-split,
  .pilz-page .pz-spec-layout,
  .pilz-page .pz-darkband__grid,
  .pilz-page .pz-cta__box { grid-template-columns: 1fr; }
  .pilz-page .pz-grid { grid-template-columns: repeat(2,1fr); }
  .pilz-page .pz-grid--4 { grid-template-columns: repeat(2,1fr); }
  .pilz-page .pz-features { grid-template-columns: repeat(2,1fr); }
  .pilz-page .pz-workflow { grid-template-columns: repeat(2,1fr); }
  .pilz-page .pz-industries { grid-template-columns: repeat(2,1fr); }
  .pilz-page .pz-routes { grid-template-columns: repeat(2,1fr); }
  .pilz-page .pz-hero__visual { min-height: 390px; }
  .pilz-page .pz-cta__actions { align-items: flex-start; }
}

@media (max-width: 680px) {
  .pilz-page .pz-wrap { width: min(var(--pz-max), calc(100% - 26px)); }
  .pilz-page .pz-section { padding: 58px 0; }
  .pilz-page .pz-hero { padding: 28px 0 48px; }
  .pilz-page .pz-hero__grid { gap: 34px; }
  .pilz-page .pz-hero h1 { font-size: 41px; }
  .pilz-page .pz-hero__lead { font-size: 17px; }
  .pilz-page .pz-hero__visual { min-height: 330px; border-radius: 22px; }
  .pilz-page .pz-hero__visual--application img { min-height: 330px; }
  .pilz-page .pz-stats,
  .pilz-page .pz-grid,
  .pilz-page .pz-grid--2,
  .pilz-page .pz-grid--4,
  .pilz-page .pz-features,
  .pilz-page .pz-models,
  .pilz-page .pz-workflow,
  .pilz-page .pz-industries,
  .pilz-page .pz-selection,
  .pilz-page .pz-routes,
  .pilz-page .pz-checks { grid-template-columns: 1fr; }
  .pilz-page .pz-stat { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
  .pilz-page .pz-stat:last-child { border-bottom: 0; }
  .pilz-page .pz-table { overflow-x: auto; }
  .pilz-page .pz-table table { min-width: 650px; }
  .pilz-page .pz-cta__box { padding: 29px; }
  .pilz-page .pz-cta h2 { font-size: 29px; }
}

/* ---------------------------------------------------------------------------
   Site compatibility layer.
   css/homepage-palette.css enforces a light-background palette site-wide with
   !important on h1-h6, strong, p, li, dd and small. Without this block every
   dark surface in this stylesheet (spec panel, dark band, industry tiles and
   the CTA) renders its text at 1.0-1.9:1 - effectively invisible.
   !important is used here solely to counter that existing layer, and every
   selector stays scoped under .pilz-page.
   --------------------------------------------------------------------------- */
.pilz-page .pz-section--navy :is(h1,h2,h3,h4,strong){ color:#fff !important; }
.pilz-page .pz-section--navy :is(p,li,dd){ color:#ccd8e1 !important; }
.pilz-page .pz-section--navy small{ color:#aebdca !important; }

.pilz-page .pz-statband :is(h2,h3,strong){ color:#fff !important; }
.pilz-page .pz-statband :is(p,li){ color:#d1dce5 !important; }
.pilz-page .pz-stat b{ color:var(--pz-pilz) !important; }
.pilz-page .pz-stat span{ color:#d1dce5 !important; }

.pilz-page .pz-spec-intro :is(h1,h2,h3,h4,strong){ color:#fff !important; }
.pilz-page .pz-spec-intro p{ color:#cbd7e0 !important; }
.pilz-page .pz-spec-intro small{ color:#aebdca !important; }
.pilz-page .pz-spec-intro .pz-kicker{ color:#ff8d91 !important; }
.pilz-page .pz-spec-intro__note{ color:#aebdca !important; }

.pilz-page .pz-darkband :is(h1,h2,h3,h4,strong){ color:#fff !important; }
.pilz-page .pz-darkband :is(p,li,dd){ color:#c8d1d8 !important; }
.pilz-page .pz-darkband small{ color:#a9b8c4 !important; }
.pilz-page .pz-check{ color:#e4ebf0 !important; }

.pilz-page .pz-industry :is(h2,h3,h4,strong){ color:#fff !important; }
.pilz-page .pz-industry p{ color:#d3dee6 !important; }
.pilz-page .pz-industry small{ color:#c2d4e2 !important; }

.pilz-page .pz-cta__box :is(h1,h2,h3,strong){ color:#fff !important; }
.pilz-page .pz-cta__box :is(p,li){ color:#ccd8e1 !important; }
.pilz-page .pz-cta__actions small{ color:#c3d3e0 !important; }

.pilz-page .pz-image-badge,
.pilz-page .pz-image-badge b{ color:#fff !important; }

/* Buttons: the palette layer does not target <a>, but keep the intent explicit
   so a future palette rule cannot silently invert a primary call to action. */
.pilz-page .pz-btn--primary,
.pilz-page .pz-btn--dark{ color:#fff !important; }
.pilz-page .pz-btn--pilz{ color:#111 !important; }

/* Table headers sit on navy; th is not in the palette's forced list today. */
.pilz-page .pz-table thead th{ color:#fff !important; }

/* Hero fact labels shipped at #707b86 = 4.32:1 on white, just under WCAG AA.
   --pz-muted (#66707c) clears 4.5:1 while keeping the same visual weight. */
.pilz-page .pz-fact span{ color: var(--pz-muted); }

/* Workflow step numbers sit on the Pilz yellow badge. The palette layer's
   small{} override tinted them to 3.39:1; #111 on #ffd500 restores ~15:1. */
.pilz-page .pz-workflow-card small{ color:#111 !important; }
.pilz-page .pz-card__flag{ color:#111 !important; }
.pilz-page .pz-step__num{ color:#fff !important; }

/* Model-card term labels shipped at #7a8490 = 3.8:1 on white, under WCAG AA.
   --pz-muted (#66707c) clears 4.5:1 at the same visual weight. */
.pilz-page .pz-model dt{ color: var(--pz-muted); }

/* Navigation affordances added when the body pages were wired together:
   product-card click-through, area back-links and inline cross-links. */
.pilz-page .pz-card__go{ display:block; margin-top:12px; padding-top:12px; border-top:1px solid #edf0f2; color:var(--pz-red); font-size:12px; font-weight:850; }
.pilz-page a.pz-card:hover .pz-card__go{ color:var(--pz-red-dark); }
.pilz-page .pz-area-link{ margin:18px 0 0; }
.pilz-page .pz-area-link a{ color:#ffd866 !important; font-size:13px; font-weight:850; }
.pilz-page .pz-area-link a:hover{ text-decoration:underline; }
.pilz-page a.pz-inline{ color:#8a5a00; font-weight:850; text-decoration:underline; }
.pilz-page a.pz-inline:hover{ color:var(--pz-red-dark); }

/* Breadcrumb shipped at #7b8590 = 3.75:1 on white, under WCAG AA. The trail is
   now navigable, so the links also need to read as links. */
.pilz-page .pz-crumb{ color: var(--pz-muted); }
.pilz-page .pz-crumb a{ color: var(--pz-navy-2); font-weight: 700; }
.pilz-page .pz-crumb a:hover{ color: var(--pz-red); text-decoration: underline; }
