/* Four reviewed modules; preserve the homepage palette and native editable content. */
.kd-ops-detail { color: var(--kd-site-ink); font-size: 16px; line-height: 1.85; }
.kd-ops-detail > *, .kd-ops-detail .kd-category-shell > *,
.kd-ops-detail :is(.kd-ops-steps, .kd-ops-scenarios, .kd-ops-overview-grid, .kd-ops-cert-grid) > * { margin-block-start: 0; }
.kd-ops-detail > * { margin-block: 0; }
.kd-ops-detail .kd-category-hero-grid { grid-template-columns: minmax(0, 1.35fr) minmax(280px, .85fr); }
.kd-ops-detail .kd-category-hero .kd-category-title { color: #fff; }
.kd-ops-detail .kd-category-hero .kd-category-headline { font-size: clamp(24px, 2.5vw, 36px); margin-block: 14px 24px; color: #a5d8ff; line-height: 1.5; }
.kd-ops-detail .kd-category-hero .kd-category-lead { color: #e0edfb; }
.kd-ops-detail .kd-category-hero-links p { margin: 0; }
.kd-ops-detail .kd-category-hero-links a { color: #fff; }
.kd-ops-detail .kd-category-hero-links a:hover { color: #123c72; }
.kd-ops-detail .kd-ops-section { padding-block: clamp(40px, 5.5vw, 72px); }
.kd-ops-detail .kd-ops-section > .kd-category-shell > h2 { font-size: clamp(25px, 2.5vw, 32px); margin: 0 0 28px; color: var(--kd-site-ink); }
.kd-ops-detail .kd-ops-overview { background: #fff; }
.kd-ops-detail #detail-overview > .kd-category-shell { width: 100%; max-width: var(--kd-site-width); background: transparent; border: 0; border-radius: 0; padding: 0 max(var(--kd-site-gutter), env(safe-area-inset-left)) 0 max(var(--kd-site-gutter), env(safe-area-inset-right)); }
.kd-ops-detail .kd-ops-overview-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .85fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
.kd-ops-detail .kd-ops-overview-copy { min-width: 0; }
.kd-ops-detail .kd-ops-overview-copy > :is(.kd-content-section, .kd-detail-section) { margin: 0; padding: 0; border: 0; background: transparent; }
.kd-ops-detail .kd-ops-overview-copy .kd-category-shell { padding: 0; background: transparent; border: 0; }
.kd-ops-detail .kd-ops-overview-copy h2 { font-size: clamp(22px, 2vw, 27px); }
.kd-ops-detail .kd-ops-certificates { min-width: 0; width: 100%; padding: clamp(18px, 2vw, 28px); border: 1px solid #e0e8f1; border-radius: 12px; background: #f4f8fc; color: var(--kd-site-ink); }
.kd-ops-detail .kd-ops-cert-title { margin: 0 0 20px; color: #102d53; font-size: 19px; font-weight: 700; text-align: center; }
.kd-ops-detail .kd-ops-cert-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: start; }
.kd-ops-detail .kd-ops-certificate { min-width: 0; margin: 0; text-align: center; }
.kd-ops-detail .kd-ops-certificate .wp-block-image { margin: 0 0 12px; }
.kd-ops-detail .kd-ops-certificate .wp-block-image img { width: 100%; height: clamp(110px, 14vw, 180px); object-fit: contain; margin: 0 auto; }
.kd-ops-detail .kd-ops-certificate h3 { margin: 0 0 5px; font-size: 16px; }
.kd-ops-detail .kd-ops-certificate p { margin: 0; font-size: 13px; line-height: 1.6; color: #586b81; }
.kd-ops-detail .kd-ops-cert-caption { margin: 20px 0 0; color: #586b81; font-size: 13px; text-align: center; }
.kd-ops-detail .kd-ops-capabilities { background: var(--kd-site-tint); }
.kd-ops-detail .kd-ops-intro { margin-bottom: 28px; color: #586b81; }
.kd-ops-detail .kd-ops-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
.kd-ops-detail .kd-ops-step { min-width: 0; padding: 24px 20px; border: 1px solid #e0e8f1; border-radius: 12px; background: #fff; }
.kd-ops-detail .kd-ops-step .kd-ops-step-number { color: #3d82d0; font-size: 27px; font-weight: 700; line-height: 1; margin: 0 0 24px; }
.kd-ops-detail .kd-ops-step h3 { color: #102d53; font-size: 19px; line-height: 1.5; margin: 0 0 14px; }
.kd-ops-detail .kd-ops-step p:last-child { margin: 0; font-size: 15px; color: #586b81; }
.kd-ops-detail .kd-ops-scenario-section { background: var(--kd-site-banner); color: #fff; }
.kd-ops-detail .kd-ops-scenario-section > .kd-category-shell > h2 { color: #fff; }
.kd-ops-detail .kd-ops-scenarios { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.kd-ops-detail .kd-ops-scenario { min-width: 0; padding: 28px; border: 1px solid #c4deff3d; border-radius: 12px; background: #ffffff0e; }
.kd-ops-detail .kd-ops-scenario h3 { color: #fff; font-size: 21px; margin: 0 0 14px; }
.kd-ops-detail .kd-ops-scenario p { color: #e0edfb; margin: 0; }
.kd-ops-detail .kd-ops-source-content { margin-top: 28px; padding: 20px 0; border-top: 1px solid #d9e5f2; }
.kd-ops-detail .kd-ops-source-content .kd-category-shell { padding-inline: 0; }
.kd-ops-detail .kd-ops-source-content :is(.kd-detail-section, .kd-content-section) { padding-block: 20px; margin-block: 0; background: transparent; }
.kd-ops-detail .kd-ops-scenario-section .kd-ops-source-content { border-color: #c4deff3d; }
.kd-ops-detail .kd-ops-scenario-section .kd-ops-source-content :is(h2, h3, p, a, li) { color: #fff; }
.kd-ops-detail .kd-ops-scenario-section .kd-ops-source-content .kd-detail-card :is(h2, h3, p, a, li) { color: var(--kd-site-ink); }
.kd-ops-detail .kd-ops-preserved { padding-block: clamp(28px, 4vw, 48px); background: #fff; }
.kd-ops-detail .kd-ops-preserved:nth-child(even) { background: var(--kd-site-tint); }
.kd-ops-detail .kd-ops-preserved:has(> .kd-category-shell > .kd-product-band) { background: var(--kd-site-banner); color: #fff; }
.kd-ops-detail .kd-ops-preserved > .kd-category-shell > :is(.kd-content-section, .kd-detail-section) { padding-block: 0; margin: 0; background: transparent; }
.kd-ops-detail .kd-ops-preserved > .kd-category-shell > .kd-detail-section > .kd-category-shell { padding-inline: 0; }
.kd-ops-detail a:focus-visible { outline: 3px solid #3d82d0; outline-offset: 4px; }
@media (max-width: 1050px) {
  .kd-ops-detail .kd-ops-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .kd-ops-detail .kd-category-hero-grid, .kd-ops-detail .kd-ops-overview-grid { grid-template-columns: minmax(0, 1fr); }
  .kd-ops-detail .kd-ops-certificates { max-width: 560px; margin-inline: auto; }
}
@media (max-width: 700px) {
  .kd-ops-detail .kd-ops-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kd-ops-detail .kd-ops-scenarios { grid-template-columns: minmax(0, 1fr); }
  .kd-ops-detail .kd-ops-certificate .wp-block-image img { height: clamp(100px, 24vw, 160px); }
}
@media (max-width: 480px) {
  .kd-ops-detail .kd-ops-steps { grid-template-columns: minmax(0, 1fr); }
  .kd-ops-detail .kd-ops-step { padding: 24px; }
  .kd-ops-detail .kd-ops-cert-grid { gap: 8px; }
  .kd-ops-detail .kd-ops-certificates { padding: 18px 12px; }
  .kd-ops-detail .kd-ops-scenario { padding: 24px; }
}
/* Seven-module detail pages. The existing Banner and shared consultation are untouched. */
.kd-seven-detail .kd-seven-section {
  width: 100%;
  max-width: none;
  padding-block: clamp(40px, 5.5vw, 72px);
  margin-block: 0;
  background: #fff;
  color: #16233a;
  scroll-margin-top: 110px;
}
.kd-seven-detail .kd-seven-section,
.kd-seven-detail .kd-seven-section * { box-sizing: border-box; }
.kd-seven-detail .kd-seven-section > .kd-category-shell,
.kd-seven-detail #detail-overview.kd-seven-section > .kd-category-shell {
  width: 100%;
  max-width: var(--kd-site-width, 1200px);
  margin-inline: auto;
  padding: 0 max(var(--kd-site-gutter, 24px), env(safe-area-inset-right)) 0 max(var(--kd-site-gutter, 24px), env(safe-area-inset-left));
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.kd-seven-detail .kd-seven-section > .kd-category-shell > * {
  max-width: none;
  /* WordPress constrained groups otherwise force auto margins on grid items. */
  margin-inline: 0 !important;
}
.kd-seven-detail .kd-seven-section > .kd-category-shell > h2,
.kd-seven-detail #detail-overview.kd-seven-section > .kd-category-shell > h2 {
  margin: 0 0 clamp(26px, 3vw, 40px);
  color: #102d53;
  font-size: clamp(25px, 2.5vw, 34px);
  line-height: 1.4;
  text-align: center;
  text-wrap: balance;
}
.kd-seven-detail #detail-overview.kd-seven-section > .kd-category-shell > h2::before { content: none; }
.kd-seven-detail #detail-overview.kd-seven-section { padding-block: clamp(40px, 5.5vw, 72px); background: #fff; }
.kd-seven-detail #detail-capabilities.kd-seven-section,
.kd-seven-detail #detail-advantages.kd-seven-section { background: #f9fbfe; }
/* This is the homepage core-business matrix's actual background. */
.kd-seven-detail #detail-scenarios.kd-seven-section { background: #f4f8fc; color: #16233a; }
.kd-seven-detail #detail-scenarios.kd-seven-section :is(h2, h3) { color: #102d53; }
.kd-seven-detail #detail-scenarios.kd-seven-section :is(p, li) { color: #52647a; }
.kd-seven-detail .kd-seven-grid,
.kd-seven-detail .kd-seven-scenarios {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: clamp(18px, 2vw, 26px);
  align-items: stretch;
}
.kd-seven-detail .kd-seven-grid > *,
.kd-seven-detail .kd-seven-scenarios > *,
.kd-seven-detail .kd-seven-workflow > *,
.kd-seven-detail .kd-seven-reports > *,
.kd-seven-detail .kd-seven-overview-grid > * {
  min-width: 0;
  max-width: none;
  width: auto;
  margin: 0;
  margin-inline: 0 !important;
}
.kd-seven-detail .kd-seven-card {
  padding: clamp(20px, 2.5vw, 30px);
  background: #fff;
  border: 1px solid #dce7f3;
  border-radius: 10px;
  color: #16233a;
  overflow-wrap: anywhere;
}
.kd-seven-detail .kd-seven-card h3,
.kd-seven-detail .kd-seven-step h3 {
  margin: 0 0 12px;
  color: #102d53;
  font-size: clamp(18px, 1.65vw, 22px);
  line-height: 1.5;
}
.kd-seven-detail .kd-seven-card p,
.kd-seven-detail .kd-seven-step p { margin: 0 0 14px; color: #52647a; line-height: 1.8; }
.kd-seven-detail .kd-seven-card > :last-child,
.kd-seven-detail .kd-seven-step > :last-child { margin-bottom: 0; }
.kd-seven-detail .kd-seven-card :is(ul, ol) { padding-inline-start: 1.35em; margin-block: 0 14px; }
.kd-seven-detail .kd-seven-card li + li { margin-top: 8px; }
.kd-seven-detail .kd-seven-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(24px, 4vw, 48px);
}
.kd-seven-detail .kd-seven-overview-grid:has(> :only-child) { grid-template-columns: minmax(0, 1fr); }
.kd-seven-detail .kd-seven-overview-copy { color: #52647a; line-height: 1.9; overflow-wrap: anywhere; }
.kd-seven-detail .kd-seven-overview-copy > p { margin: 0 0 18px; }
.kd-seven-detail .kd-seven-overview-copy > :last-child { margin-bottom: 0; }
.kd-seven-detail .kd-seven-overview-grid > .kd-seven-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); }
.kd-seven-detail .kd-seven-overview-grid .kd-seven-card { padding: 22px; background: #f4f8fc; }
.kd-seven-detail .kd-seven-workflow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
}
.kd-seven-detail .kd-seven-step {
  padding: 24px 20px;
  border-top: 3px solid #3d82d0;
  border-inline-end: 1px solid #dce7f3;
  background: #fff;
  overflow-wrap: anywhere;
}
.kd-seven-detail .kd-seven-step:last-child { border-inline-end: 0; }
.kd-seven-detail .kd-seven-step .kd-seven-step-number {
  margin: 0 0 22px;
  color: #3d82d0;
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
}
.kd-seven-detail .kd-seven-step h3 { font-size: 19px; }
.kd-seven-detail .kd-seven-step > p:last-child { font-size: 15px; }
.kd-seven-detail .kd-seven-note { margin: 24px 0 0; color: #52647a; line-height: 1.85; }
.kd-seven-detail .kd-seven-section > .kd-category-shell > :is(.kd-seven-note, .kd-seven-overview-grid, .kd-seven-workflow) + :is(.kd-seven-grid, .kd-seven-scenarios, .kd-seven-reports) { margin-block-start: 24px; }
.kd-seven-detail .kd-seven-media { margin: 28px 0 0; }
.kd-seven-detail .kd-seven-overview-grid > .kd-seven-media { margin-block: 0; }
.kd-seven-detail .kd-seven-media .wp-block-image { margin: 0 auto; }
.kd-seven-detail .kd-seven-media img { display: block; max-width: 100%; height: auto; margin-inline: auto; }
.kd-seven-detail .kd-seven-reports {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}
.kd-seven-detail .kd-seven-reports .kd-sample-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  padding: 16px;
  border: 1px solid #dce7f3;
  border-radius: 10px;
  background: #fff;
}
.kd-seven-detail .kd-seven-reports .kd-sample-card > * { max-width: none; margin: 0; }
.kd-seven-detail .kd-seven-reports .kd-sample-thumb {
  display: grid;
  place-items: center;
  width: 100%;
  padding: 12px;
  background: #edf3fa;
  border-radius: 6px;
}
.kd-seven-detail .kd-seven-reports .kd-sample-thumb .wp-block-image {
  display: grid;
  place-items: center;
  width: 100%;
  height: 180px;
  margin: 0;
}
.kd-seven-detail .kd-seven-reports .kd-sample-thumb :is(a, .kd-image-open) {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
}
.kd-seven-detail .kd-seven-reports .kd-sample-thumb img { width: auto; height: auto; max-width: 100%; max-height: 180px; object-fit: contain; }
.kd-seven-detail .kd-seven-reports .kd-sample-card h3 { color: #102d53; font-size: 19px; line-height: 1.5; }
.kd-seven-detail .kd-seven-reports .kd-sample-card p { color: #52647a; font-size: 14px; line-height: 1.7; }
.kd-seven-detail .kd-seven-reports .kd-sample-card .kd-sample-action { margin-top: auto; }
.kd-seven-detail .kd-seven-reports .kd-sample-action a { display: inline-flex; align-items: center; min-height: 44px; }
.kd-seven-detail .kd-seven-section a:focus-visible { outline: 3px solid #3d82d0; outline-offset: 4px; }
@media (max-width: 1080px) {
  .kd-seven-detail .kd-seven-workflow { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 24px; }
  .kd-seven-detail .kd-seven-step:nth-child(3n) { border-inline-end: 0; }
  .kd-seven-detail .kd-seven-reports { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .kd-seven-detail .kd-seven-overview-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 700px) {
  .kd-seven-detail .kd-seven-section { scroll-margin-top: 90px; }
  .kd-seven-detail .kd-seven-workflow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kd-seven-detail .kd-seven-step:nth-child(3n) { border-inline-end: 1px solid #dce7f3; }
  .kd-seven-detail .kd-seven-step:nth-child(2n),
  .kd-seven-detail .kd-seven-step:last-child { border-inline-end: 0; }
}
@media (max-width: 480px) {
  .kd-seven-detail .kd-seven-workflow,
  .kd-seven-detail .kd-seven-reports { grid-template-columns: minmax(0, 1fr); }
  .kd-seven-detail .kd-seven-step { padding: 22px 20px; border-inline-end: 0; }
  .kd-seven-detail .kd-seven-step:nth-child(3n) { border-inline-end: 0; }
  .kd-seven-detail .kd-seven-step .kd-seven-step-number { margin-bottom: 16px; }
  .kd-seven-detail .kd-seven-reports .kd-sample-thumb .wp-block-image { height: 220px; }
  .kd-seven-detail .kd-seven-reports .kd-sample-thumb img { max-height: 220px; }
}

/* Approved vulnerability-scan overview layout, shared by the seven-module details. */
.kd-seven-detail #detail-overview.kd-seven-section > .kd-category-shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: min-content 1fr;
  column-gap: clamp(24px, 4vw, 48px);
  row-gap: 32px;
  align-items: start;
}
.kd-seven-detail #detail-overview.kd-seven-section > .kd-category-shell:has(> .kd-seven-overview-grid > .kd-seven-media) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.kd-seven-detail #detail-overview.kd-seven-section > .kd-category-shell > h2 {
  grid-column: 1;
  grid-row: 1;
  margin-block: 0;
  text-align: left;
}
.kd-seven-detail #detail-overview .kd-seven-overview-grid {
  display: contents;
}
.kd-seven-detail #detail-overview .kd-seven-overview-copy {
  grid-column: 1;
  grid-row: 2;
}
.kd-seven-detail #detail-overview .kd-seven-overview-grid > .kd-seven-media {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: start;
}
/* Pages without an original illustration use their own retained explanatory content. */
.kd-seven-detail #detail-overview .kd-seven-overview-grid > .kd-seven-overview-aside {
  display: grid;
  gap: 20px;
}
.kd-seven-detail #detail-overview .kd-seven-overview-aside > .kd-seven-card {
  margin: 0;
}
.kd-seven-detail #detail-overview .kd-seven-overview-copy > .kd-seven-card {
  margin-block-start: 24px;
}
.kd-seven-detail #detail-overview.kd-seven-section > .kd-category-shell > .kd-seven-grid {
  grid-column: 1 / -1;
  grid-row: 3;
  margin-block-start: 0;
}
.kd-seven-detail #detail-overview.kd-seven-section > .kd-category-shell > .kd-seven-anchor {
  position: absolute;
  top: 0;
}
@media (max-width: 820px) {
  .kd-seven-detail #detail-overview.kd-seven-section > .kd-category-shell,
  .kd-seven-detail #detail-overview.kd-seven-section > .kd-category-shell:has(> .kd-seven-overview-grid > .kd-seven-media) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    row-gap: 24px;
  }
  .kd-seven-detail #detail-overview .kd-seven-overview-grid > .kd-seven-media {
    grid-column: 1;
    grid-row: 3;
  }
  .kd-seven-detail #detail-overview.kd-seven-section > .kd-category-shell:has(> .kd-seven-overview-grid > .kd-seven-media) > .kd-seven-grid {
    grid-row: 4;
  }
}
