/* PMC Pilot v31 visual system.
   A restrained engineering palette, square geometry and predictable grid tracks.
   This file is intentionally loaded last so the older visual experiments remain
   available for rollback without leaking into the public release. */
:root {
  --pmc-ink: #142b45;
  --pmc-muted: #53697d;
  --pmc-line: #cbd7e2;
  --pmc-paper: #f3f6f8;
  --pmc-surface: #ffffff;
  --pmc-blue: #185aa6;
  --pmc-blue-strong: #0f3d78;
  --pmc-teal: #0a716f;
  --pmc-mint: #8ccfc5;
  --pmc-gold: #b8872c;
  --pmc-radius: 0;
}

body.pmc-unified,
body.pmc-unified * {
  border-radius: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}

body.pmc-unified {
  background: var(--pmc-paper) !important;
  color: var(--pmc-ink) !important;
  font-kerning: normal;
  text-rendering: optimizeLegibility;
}

body.pmc-unified :is(h1,h2,h3,h4,p,li,a,button,label,input,select,textarea,summary) {
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
}

body.pmc-unified .v2-top,
body.pmc-unified .preview {
  background: #102f51 !important;
  color: #f7fbff !important;
  border-bottom: 1px solid #31577c;
  letter-spacing: .01em;
}

body.pmc-unified .pmc-header {
  background: #fff !important;
  border-bottom: 2px solid #173d63 !important;
  padding-block: 22px 20px;
}

body.pmc-unified .pmc-brand {
  color: #142b45 !important;
  letter-spacing: -.035em;
}

body.pmc-unified .pmc-brand img {
  width: 44px;
  height: 44px;
  border: 1px solid #173d63;
}

body.pmc-unified .pmc-nav a {
  color: #203d5b !important;
  border-bottom: 2px solid transparent;
  font-weight: 560;
}
body.pmc-unified .pmc-nav a:hover,
body.pmc-unified .pmc-nav a:focus-visible,
body.pmc-unified .pmc-nav a[aria-current="page"] {
  color: #0f4f96 !important;
  border-bottom-color: #b8872c !important;
}

body.pmc-unified .pmc-language-trigger,
body.pmc-unified .pmc-header select {
  border: 1px solid #173d63 !important;
  background: #fff !important;
  color: #142b45 !important;
}

body.pmc-unified .v2-wrap,
body.pmc-unified .wrap {
  max-width: 1280px;
}

body.pmc-unified .v2-hero {
  background: #e8f0f5 !important;
  border-block: 1px solid #c4d2de;
  min-height: 360px;
}

body.pmc-unified .v2-hero h1 {
  color: #112d4b !important;
  letter-spacing: -.055em;
}

body.pmc-unified .v2-kicker {
  color: #0a716f !important;
  background: #d8eeea !important;
  border: 1px solid #8fc8bf !important;
  font-weight: 750;
  letter-spacing: .12em;
}

body.pmc-unified .v2-art,
body.pmc-unified .v2-art img,
body.pmc-unified .pmc-module-art,
body.pmc-unified .pmc-module-art img,
body.pmc-unified .learning-hero img,
body.pmc-unified .learning-topic-image {
  border: 1px solid #b5c6d4 !important;
  border-radius: 0 !important;
}
body.pmc-unified .v2-art img,
body.pmc-unified .pmc-module-art img,
body.pmc-unified .learning-hero img,
body.pmc-unified .learning-topic-image {
  display: block;
  object-fit: cover;
  filter: saturate(.92) contrast(1.03);
}
body.pmc-unified .v2-art figcaption,
body.pmc-unified .learning-hero figcaption { display: none !important; }

body.pmc-unified .v2-section { border-top-color: #c7d4df; }
body.pmc-unified :is(.v2-panel,.v2-card,.pmc-module-card,.pmc-journey-step,.learning-card,.guide-grid article,.learning-related>a,.pmc-output-preview) {
  background: #fff !important;
  border: 1px solid #cbd7e2 !important;
}

body.pmc-unified .v2-grid,
body.pmc-unified .pmc-task-group .v2-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  grid-auto-rows: 1fr;
  gap: 18px;
}
body.pmc-unified .v2-grid > :is(.v2-card,.pmc-module-card) {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 24px;
  border-top-width: 5px !important;
}

/* Six work areas remain easy to distinguish, but the accents are disciplined
   enough for a professional engineering product. */
body.pmc-unified .pmc-task-group[data-group="A"] :is(.pmc-module-card,.v2-card[data-group]), body.pmc-unified .v2-groups a:nth-child(1) {--group-color:#0a716f;--group-tint:#e4f2f0;}
body.pmc-unified .pmc-task-group[data-group="B"] :is(.pmc-module-card,.v2-card[data-group]), body.pmc-unified .v2-groups a:nth-child(2) {--group-color:#185aa6;--group-tint:#e8eef7;}
body.pmc-unified .pmc-task-group[data-group="C"] :is(.pmc-module-card,.v2-card[data-group]), body.pmc-unified .v2-groups a:nth-child(3) {--group-color:#9a6d1f;--group-tint:#f4eee1;}
body.pmc-unified .pmc-task-group[data-group="D"] :is(.pmc-module-card,.v2-card[data-group]), body.pmc-unified .v2-groups a:nth-child(4) {--group-color:#365b79;--group-tint:#e8eff4;}
body.pmc-unified .pmc-task-group[data-group="E"] :is(.pmc-module-card,.v2-card[data-group]), body.pmc-unified .v2-groups a:nth-child(5) {--group-color:#287982;--group-tint:#e5f1f1;}
body.pmc-unified .pmc-task-group[data-group="F"] :is(.pmc-module-card,.v2-card[data-group]), body.pmc-unified .v2-groups a:nth-child(6) {--group-color:#65546f;--group-tint:#eeeaf1;}
body.pmc-unified .pmc-task-group .pmc-module-card,
body.pmc-unified .v2-grid > .v2-card[data-group] {
  background: var(--group-tint) !important;
  border-top-color: var(--group-color) !important;
}
body.pmc-unified :is(.pmc-module-card,.v2-card) h3 { color: #173b5d !important; }
body.pmc-unified .pmc-module-card .pmc-group-tag,
body.pmc-unified .pmc-module-card .pmc-status { color: var(--group-color, #0a716f) !important; }
body.pmc-unified .pmc-module-icon { background: #fff !important; border: 1px solid var(--group-color) !important; }

body.pmc-unified .v2-groups {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}
body.pmc-unified .v2-groups a {
  min-height: 64px;
  background: var(--group-tint) !important;
  border: 1px solid var(--group-color) !important;
  border-top-width: 5px !important;
  color: #173b5d !important;
}

body.pmc-unified :is(.v2-button,.button,button) {
  border: 1px solid #173d63;
  font-weight: 700;
}
body.pmc-unified :is(.v2-button.primary,.button.primary,.v2 button.primary) {
  background: #185aa6 !important;
  border-color: #185aa6 !important;
  color: #fff !important;
}
body.pmc-unified :is(.v2-button.primary,.button.primary,.v2 button.primary):hover,
body.pmc-unified :is(.v2-button.primary,.button.primary,.v2 button.primary):focus-visible {
  background: #0f3d78 !important;
}

body.pmc-unified :is(.closing,.learning-banner,.store-highlight) {
  background: #173d63 !important;
  color: #fff !important;
  border: 1px solid #0e2a46 !important;
}
body.pmc-unified :is(.closing h1,.closing h2,.closing h3,.learning-banner h1,.learning-banner h2,.learning-banner h3,.store-highlight h1,.store-highlight h2,.store-highlight h3,.closing strong,.learning-banner strong,.store-highlight strong) { color: #fff !important; }
body.pmc-unified :is(.closing p,.closing li,.learning-banner p,.learning-banner li,.store-highlight p,.store-highlight li) { color: #edf5fc !important; }

body.pmc-unified .pmc-footer {
  max-width: none !important;
  margin-top: 42px;
  padding-inline: max(24px, calc((100vw - 1280px) / 2 + 24px));
  background: #102f51 !important;
  border-top: 4px solid #b8872c !important;
  color: #dce9f4 !important;
}
body.pmc-unified .pmc-footer a { color: #fff !important; }

body.pmc-unified .pmc-module-hero { background: #e8f0f5 !important; border-block: 1px solid #c4d2de; }
body.pmc-unified .pmc-module-aside { background: #fff !important; border-left: 1px solid #b5c6d4 !important; }
body.pmc-unified .pmc-information-list li { border-top-color: #d5e0e8 !important; }

@media (max-width: 1080px) {
  body.pmc-unified .v2-grid,
  body.pmc-unified .pmc-task-group .v2-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.pmc-unified .v2-groups { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  body.pmc-unified .v2-grid,
  body.pmc-unified .pmc-task-group .v2-grid { grid-template-columns: 1fr; grid-auto-rows: auto; }
  body.pmc-unified .v2-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.pmc-unified .v2-grid > :is(.v2-card,.pmc-module-card) { padding: 20px; }
  body.pmc-unified .pmc-footer { padding-inline: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  body.pmc-unified *, body.pmc-unified *::before, body.pmc-unified *::after { transition-duration: 0s !important; animation-duration: 0s !important; }
}
