/* Public postings depth layer. Palette: the supplied finalized theme package. */
body.pst.pst-depth {
  --depth-blue: #1a55e3;
  --depth-hover: #1648c2;
  --depth-pressed: #123ba0;
  --depth-soft: #edf2ff;
  --depth-canvas: #f6f8fc;
  --depth-border: #e3e8f0;
  --depth-control: #7c899d;
  --depth-shadow: 0 2px 0 #dce3ee, 0 12px 30px #1720330d;
  --pst-cream: var(--depth-canvas);
  --pst-card: #fff;
  --pst-ink: #172033;
  --pst-muted: #58657a;
  --pst-line: var(--depth-border);
  --pst-focus: var(--depth-blue);
  background: var(--depth-canvas);
  color: var(--pst-ink);
  font-family: 'Segoe UI', system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  overflow-wrap: anywhere;
}
body.pst.pst-depth > main { padding-top: 28px; }
body.pst.pst-depth .pst-masthead {
  border-top-color: var(--depth-blue);
  border-bottom: 0;
  box-shadow: 0 5px 18px #1720330b;
}
body.pst.pst-depth .pst-masthead-inner { padding-block: 22px; gap: 18px; }
body.pst.pst-depth .pst-seal { width: 62px; height: 62px; filter: drop-shadow(0 4px 3px #17203320); }
body.pst.pst-depth .pst-kicker { color: var(--pst-muted); }
body.pst.pst-depth .pst-lgu { color: var(--pst-ink); }
body.pst.pst-depth .pst-navbar {
  background: var(--depth-blue);
  border-bottom: 4px solid var(--depth-pressed);
}
body.pst.pst-depth .pst-navbar .pst-wrap { gap: 7px; padding-block: 10px; }
body.pst.pst-depth .pst-navbar a {
  color: #fff;
  padding: 10px 15px;
  border-radius: 7px;
  border: 1px solid transparent;
  font-size: 14px;
  letter-spacing: .01em;
  text-transform: none;
  transition: background 180ms, box-shadow 180ms, transform 180ms;
}
body.pst.pst-depth .pst-navbar a:hover,
body.pst.pst-depth .pst-navbar a[aria-current=page] {
  color: #fff;
  background: var(--depth-pressed);
  box-shadow: inset 0 1px 0 #ffffff24, 0 3px 0 #123ba0;
}
body.pst.pst-depth .pst-navbar a.pst-direct-button {
  background: var(--depth-hover);
  border-color: #ffffff8c;
  box-shadow: 0 3px 0 var(--depth-pressed);
}
body.pst.pst-depth .pst-navbar :focus-visible { outline-color: #fff; }
body.pst.pst-depth .pst-motion-toggle {
  margin-left: auto;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 9px 13px;
  background: #fff;
  color: var(--depth-pressed);
  border: 1px solid var(--depth-control);
  border-radius: 7px;
  box-shadow: 0 3px 0 var(--depth-border);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.pst-motion-toggle::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #1a55e3; }
.pst-motion-toggle[aria-pressed=false]::before { background: #58657a; }
.pst-motion-toggle:disabled { cursor: default; color: #58657a !important; }
body.pst.pst-depth .pst-head {
  isolation: isolate;
  position: relative;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 20px 34px;
  padding: 36px;
  margin-bottom: 38px;
  background: #fff;
  border: 1px solid var(--depth-border);
  border-radius: 18px;
  box-shadow: 0 7px 0 #e3e8f0, 0 24px 48px #1720330c;
}
body.pst.pst-depth .pst-head::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  border-radius: 18px 18px 0 0;
  background: var(--depth-blue);
}
body.pst.pst-depth .pst-hero-copy { align-self: center; position: relative; z-index: 2; }
body.pst.pst-depth .pst-head h1 {
  color: var(--pst-ink);
  font-size: clamp(32px, 4.3vw, 56px);
  line-height: 1.1;
  letter-spacing: -.035em;
  text-wrap: balance;
  max-width: 640px;
}
body.pst.pst-depth .pst-eyebrow { color: var(--depth-pressed); font-size: 12px; letter-spacing: .08em; }
body.pst.pst-depth .pst-intro { color: var(--pst-muted); font-size: 17px; line-height: 1.7; }
body.pst.pst-depth .pst-hero-link {
  min-height: 44px;
  padding: 10px 16px;
  color: var(--depth-pressed);
  background: var(--depth-soft);
  border: 1px solid #c2cfec;
  border-radius: 7px;
  box-shadow: 0 4px 0 #d4def5;
  transition: transform 180ms, box-shadow 180ms;
}
body.pst.pst-depth .pst-hero-link:hover { transform: translateY(-2px); box-shadow: 0 6px 0 #d4def5; }
body.pst.pst-depth .pst-hero-art {
  height: 300px;
  margin: 10px 0;
  overflow: visible;
  perspective: 1000px;
  transform-style: preserve-3d;
  transform: rotateX(var(--stage-x, -5deg)) rotateY(var(--stage-y, -8deg));
  transition: transform 500ms ease-out;
  position: relative;
  z-index: 1;
}
body.pst.pst-depth .pst-art-orbit {
  inset: 38px 0 12px;
  border-color: #c2cfec;
  background: radial-gradient(ellipse, #edf2ff, #ffffff00 70%);
  transform: rotateX(28deg) rotateZ(-20deg) translateZ(-50px);
}
body.pst.pst-depth .pst-art-orbit::after { content: ''; position: absolute; inset: 18px; border: 1px dashed #c2cfec; border-radius: 50%; }
body.pst.pst-depth .pst-art-sheet {
  top: 24px;
  left: 55px;
  width: 202px;
  height: 248px;
  border-radius: 12px;
  border-color: #c2cfec;
  box-shadow: 3px 4px 0 #d4def5, 14px 22px 28px #17203322;
  transform-style: preserve-3d;
}
body.pst.pst-depth .pst-art-sheet-back { background: #1a55e3; transform: rotateZ(16deg) translate3d(26px, 2px, -35px); }
body.pst.pst-depth .pst-art-sheet-mid { background: #edf2ff; transform: rotateZ(5deg) translate3d(12px, 5px, 10px); }
body.pst.pst-depth .pst-art-sheet-front {
  background: #fff;
  padding: 20px;
  transform: rotateZ(-9deg) translateZ(55px);
  animation: pst-depth-float 7s ease-in-out infinite;
}
body.pst.pst-depth .pst-art-seal { display: inline-block; width: 38px; height: 38px; border: 0; vertical-align: middle; object-fit: contain; }
body.pst.pst-depth .pst-art-label { font-size: 9px; color: #58657a; }
body.pst.pst-depth .pst-art-sheet strong { color: #172033; font-size: 23px; }
body.pst.pst-depth .pst-art-sheet i { background: #d4def5; }
body.pst.pst-depth .pst-art-stamp { color: #123ba0; font-size: 8px; }
body.pst.pst-depth .pst-head .pst-filter {
  position: relative;
  z-index: 2;
  margin-top: 4px;
  padding: 20px;
  border-color: var(--depth-border);
  border-radius: 10px;
  background: var(--depth-canvas);
  box-shadow: inset 0 1px 0 #fff, 0 4px 0 #e3e8f0;
}
body.pst.pst-depth .pst-filter-field { font-size: 14px; }
body.pst.pst-depth input, body.pst.pst-depth select { border-color: var(--depth-control); color: #172033; }
body.pst.pst-depth button:not(.pst-motion-toggle):not(.pst-lightbox-close),
body.pst.pst-depth .pst-btn { background: var(--depth-blue); color: #fff; border-color: var(--depth-blue); box-shadow: 0 4px 0 var(--depth-pressed); transition: transform 180ms, background 180ms, box-shadow 180ms; }
body.pst.pst-depth .pst-btn:hover, body.pst.pst-depth .pst-filter button:hover { background: var(--depth-hover); color: #fff; transform: translateY(-2px); box-shadow: 0 6px 0 var(--depth-pressed); }
body.pst.pst-depth .pst-btn:active, body.pst.pst-depth .pst-filter button:active { transform: translateY(2px); box-shadow: 0 1px 0 var(--depth-pressed); }
body.pst.pst-depth .pst-btn-secondary { background: #fff; color: #123ba0; border-color: var(--depth-control); box-shadow: 0 3px 0 #e3e8f0; }
body.pst.pst-depth .pst-directory { align-items: start; gap: 28px; }
body.pst.pst-depth .pst-directory-nav {
  background: #fff;
  padding: 20px 14px;
  border: 1px solid var(--depth-border);
  border-radius: 10px;
  box-shadow: var(--depth-shadow);
}
body.pst.pst-depth .pst-directory-nav > p { font-size: 12px; margin-top: 0; }
body.pst.pst-depth .pst-directory-nav nav a { min-height: 44px; padding: 10px 12px; font-size: 14px; border: 1px solid transparent; color: #172033; }
body.pst.pst-depth .pst-directory-nav nav a[aria-current=page] { background: var(--depth-soft); color: var(--depth-pressed); border-color: #c2cfec; box-shadow: 0 3px 0 #d4def5; }
body.pst.pst-depth .pst-directory-nav nav a:hover { background: var(--depth-canvas); color: var(--depth-pressed); }
body.pst.pst-depth .pst-result-bar { font-size: 14px; border-bottom-width: 1px; }
body.pst.pst-depth .pst-result-bar strong { color: #172033; }
body.pst.pst-depth .pst-library-heading h2 { color: #172033; font-size: 28px; }
body.pst.pst-depth .pst-index-link { color: #123ba0; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
body.pst.pst-depth .pst-library-intro { font-size: 15px; }
body.pst.pst-depth .pst-project-grid { gap: 24px; align-items: start; padding-bottom: 36px; }
body.pst.pst-depth .pst-project {
  border: 1px solid var(--depth-border);
  border-top: 3px solid var(--depth-blue);
  border-radius: 12px;
  background: #fff;
  padding: 24px;
  box-shadow: 0 6px 0 #e3e8f0, 0 18px 32px #1720330c;
  transform: perspective(1200px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(var(--lift, 0px));
  transform-style: preserve-3d;
  transition: transform 230ms ease-out, box-shadow 230ms ease-out, border-color 230ms;
}
body.pst.pst-depth .pst-project:hover { --lift: -5px; box-shadow: 0 10px 0 #d4def5, 0 26px 42px #17203316; border-color: #a2b7e4; }
body.pst.pst-depth .pst-project:focus-within { outline: 2px solid #1a55e3; outline-offset: 4px; }
body.pst.pst-depth .pst-file-mark { width: 40px; height: 44px; background: var(--depth-soft); color: var(--depth-pressed); box-shadow: 3px 4px 0 #d4def5; transform: translateZ(12px); }
body.pst.pst-depth .pst-project-kind { color: #58657a; font-size: 12px; letter-spacing: .05em; }
body.pst.pst-depth .pst-project-number { color: #58657a; font-size: 22px; }
body.pst.pst-depth .pst-contract { color: #58657a; font-family: inherit; font-size: 14px; }
body.pst.pst-depth .pst-project h3 { font-size: 22px; }
body.pst.pst-depth .pst-project h3 a { color: #172033; }
body.pst.pst-depth .pst-project-title { color: #58657a; font-size: 14px; line-height: 1.65; }
body.pst.pst-depth .pst-project-details dt { color: #58657a; font-size: 14px; }
body.pst.pst-depth .pst-project-details dd { color: #172033; font-size: 16px; font-variant-numeric: tabular-nums; }
body.pst.pst-depth .pst-project-details div:first-child dd { color: #172033; font-size: clamp(23px, 2.2vw, 29px); }
body.pst.pst-depth .pst-project-deadline { font-size: 14px; line-height: 1.6; }
body.pst.pst-depth .pst-status { color: #087443; background: #e8faf2; width: fit-content; padding: 3px 8px; border-radius: 4px; }
body.pst.pst-depth .pst-status-past { color: #58657a; background: #f0f4fa; }
body.pst.pst-depth .pst-project-actions { align-items: stretch; flex-wrap: wrap; }
body.pst.pst-depth .pst-project-actions .pst-btn { font-size: 14px; min-height: 44px; }
body.pst.pst-depth .pst-word-link { color: #123ba0; font-size: 14px; min-height: 44px; display: inline-flex; align-items: center; }
body.pst.pst-depth .pst-amount-note { color: #805400; background: #fff7db; border-color: #d2b75d; font-size: 14px; }
body.pst.pst-depth .pst-empty, body.pst.pst-depth .pst-card { background: #fff; border: 1px solid var(--depth-border); border-radius: 10px; box-shadow: var(--depth-shadow); padding: 24px; margin-bottom: 22px; }
body.pst.pst-depth .pst-article { border-radius: 12px; box-shadow: var(--depth-shadow); }
body.pst.pst-depth .pst-footer { background: #f0f4fa; color: #58657a; border-top: 1px solid var(--depth-border); }
body.pst.pst-depth .pst-footer a { color: #123ba0; }
.pst-depth-particles { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; border-radius: inherit; }
.pst-depth-trail { position: fixed; inset: 0; z-index: 20; pointer-events: none; width: 100%; height: 100%; }
.pst-depth-enter { animation: pst-depth-enter 550ms ease-out both; }
@keyframes pst-depth-enter { from { transform: translateY(12px); } to { transform: translateY(0); } }
@keyframes pst-depth-float { 0%,100% { transform: rotateZ(-9deg) translate3d(0,0,55px); } 50% { transform: rotateZ(-6deg) translate3d(0,-10px,65px); } }
body.pst.pst-depth[data-motion=off] *, body.pst.pst-depth[data-motion=off] *::before, body.pst.pst-depth[data-motion=off] *::after { animation: none !important; transition: none !important; }
body.pst.pst-depth[data-motion=off] .pst-project { transform: none; }
body.pst.pst-depth[data-motion=off] .pst-depth-particles, body.pst.pst-depth[data-motion=off] .pst-depth-trail { display: none; }
body.pst.pst-depth[data-effects-suspended=true] .pst-art-sheet-front { animation-play-state: paused; }
@media(max-width: 1000px) {
  body.pst.pst-depth .pst-head { grid-template-columns: minmax(0,1fr) 260px; padding: 28px; gap: 20px; }
  body.pst.pst-depth .pst-art-sheet { left: 28px; }
  body.pst.pst-depth .pst-project { padding: 20px; }
  body.pst.pst-depth .pst-masthead-inner { flex-wrap: wrap; }
}
@media(max-width: 800px) {
  body.pst.pst-depth .pst-head { grid-template-columns: minmax(0,1fr); }
  body.pst.pst-depth .pst-hero-art { display: block; width: 270px; max-width: 100%; height: 270px; margin: 0 auto; grid-row: 3; }
  body.pst.pst-depth .pst-head .pst-filter { grid-row: 2; }
  body.pst.pst-depth .pst-art-sheet { width: 185px; height: 228px; left: 40px; top: 14px; }
  body.pst.pst-depth .pst-art-sheet strong { font-size: 21px; margin: 10px 0; }
  body.pst.pst-depth .pst-art-stamp { margin-top: 17px; }
  body.pst.pst-depth .pst-directory-nav { padding: 16px; }
  body.pst.pst-depth .pst-directory-nav nav a { flex: 0 0 auto; max-width: 230px; border: 1px solid var(--depth-border); }
  body.pst.pst-depth .pst-motion-toggle { margin-left: 0; }
}
@media(max-width: 540px) {
  body.pst.pst-depth > main { padding-top: 20px; }
  body.pst.pst-depth .pst-masthead-inner { display: grid; grid-template-columns: 52px minmax(0,1fr); padding-block: 16px; gap: 12px; }
  body.pst.pst-depth .pst-masthead-inner > div { flex: 1; min-width: 0; }
  body.pst.pst-depth .pst-seal { width: 52px; height: 52px; }
  body.pst.pst-depth .pst-lgu { font-size: 20px; }
  body.pst.pst-depth .pst-kicker { font-size: 12px; }
  body.pst.pst-depth .pst-motion-toggle { grid-column: 2; justify-self: start; margin-left: 0; }
  body.pst.pst-depth .pst-navbar .pst-wrap { gap: 5px; }
  body.pst.pst-depth .pst-navbar a { font-size: 13px; padding: 9px; line-height: 1.4; }
  body.pst.pst-depth .pst-head { padding: 22px 18px; gap: 20px; border-radius: 12px; }
  body.pst.pst-depth .pst-head h1 { font-size: 34px; }
  body.pst.pst-depth .pst-intro { font-size: 16px; }
  body.pst.pst-depth .pst-head .pst-filter { padding: 16px 12px; }
  body.pst.pst-depth .pst-filter select, body.pst.pst-depth .pst-filter input { width: 100%; }
  body.pst.pst-depth .pst-filter button { width: 100%; }
  body.pst.pst-depth .pst-project-grid { gap: 24px; }
  body.pst.pst-depth .pst-project { padding: 22px; }
}
@media(hover: none), (pointer: coarse) { body.pst.pst-depth .pst-project:hover { --lift: 0px; } }
@media(prefers-reduced-motion: reduce) {
  body.pst.pst-depth *, body.pst.pst-depth *::before, body.pst.pst-depth *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .pst-depth-particles, .pst-depth-trail { display: none !important; }
  body.pst.pst-depth .pst-project { transform: none !important; }
}
@media print {
  .pst-depth-particles, .pst-depth-trail, .pst-motion-toggle { display: none !important; }
  body.pst.pst-depth { background: #fff; color: #000; }
  body.pst.pst-depth *, body.pst.pst-depth *::before, body.pst.pst-depth *::after { box-shadow: none !important; text-shadow: none !important; animation: none !important; transform: none !important; }
}
