/* Partner detail page (Databricks / Fivetran / dbt Labs).
   All rules are namespaced under .pd- so they cannot collide with the
   shared navbar, footer or megamenu styles already loaded on the page. */

:root {
  --pd-red: #E01B1B;
  --pd-red-link: #E5484D;
  --pd-maroon: #8E1F20;
  --pd-amber: #F0A81C;
  --pd-gold: #E3B54A;
  --pd-ink: #10151F;
  --pd-body: #4A5568;
  --pd-dim: #8A94A6;
  --pd-line: #E6E9EF;
  --pd-soft: #FDECEC;
  --pd-soft-bd: #F7D2D2;
  --pd-dark: #131313;
  --pd-dark-2: #1E1B1C;
  --pd-dark-card: #0B0B0B;
  --pd-dark-line: #2C2C2C;
  --pd-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
}

.pd-section {
  position: relative;
  padding: 92px 0 92px 64px;
  background: #FFFFFF;
  font-family: "Spline Sans", sans-serif;
  overflow: hidden;
}
.pd-hero {
  background: linear-gradient(135deg, #FFFFFF 0%, #FBFCFE 45%, #EFF2F9 100%);
  padding-top: 132px; /* clears the fixed site navbar */
}
.pd-partnership { background: linear-gradient(180deg, #FFFFFF 0%, #FCFCFE 100%); }
.pd-industries { background: #FFFFFF; }
.pd-cta { background: linear-gradient(120deg, #F4F6FB 0%, #FBF7F8 55%, #EFF2F9 100%); }

.pd-inner {
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 64px;
}

/* ---------- left rail ---------- */
.pd-rail {
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 64px;
  border-right: 1px solid var(--pd-line);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 78px;
}
.pd-rail-text {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--pd-ink);
  white-space: nowrap;
}

/* ---------- shared typography ---------- */
.pd-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 8px 17px;
  border-radius: 999px;
  background: var(--pd-soft);
  border: 1px solid var(--pd-soft-bd);
  color: var(--pd-red);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 26px;
}
.pd-eyebrow-note {
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.01em;
  text-transform: none;
  font-size: 12.5px;
  color: var(--pd-red-link);
}
.pd-eyebrow-sep {
  width: 1px;
  height: 13px;
  background: var(--pd-soft-bd);
  display: inline-block;
}
.pd-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: currentColor;
  display: inline-block;
  flex: none;
}
.pd-dot-green { background: #22C55E; }
.pd-dot-grey  { background: #C6CBD4; }

.pd-h1 {
  font-family: Satoshi, "Spline Sans", sans-serif;
  font-size: 55px;
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--pd-ink);
  margin: 0 0 26px;
}
.pd-h2 {
  font-family: Satoshi, "Spline Sans", sans-serif;
  font-size: 42px;
  line-height: 1.16;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--pd-ink);
  margin: 0 0 18px;
  max-width: 800px;
}
.pd-h3 {
  font-family: Satoshi, "Spline Sans", sans-serif;
  font-size: 24px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--pd-ink);
  margin: 0 0 14px;
}
.pd-accent {
  color: var(--pd-maroon); /* fallback if background-clip:text is unsupported */
  background: linear-gradient(90deg, #E01B1B 0%, #A81A1C 48%, #7A1517 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .pd-accent { color: transparent; -webkit-text-fill-color: transparent; }
}
.pd-red { color: var(--pd-red); }

.pd-lead {
  font-size: 16.5px;
  line-height: 1.62;
  color: var(--pd-body);
  margin: 0;
  max-width: 62ch;
}
.pd-card-text {
  font-size: 15px;
  line-height: 1.62;
  color: var(--pd-body);
  margin: 0;
}
.pd-mono-red {
  font-family: var(--pd-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--pd-red);
  font-style: normal;
  text-transform: uppercase;
}
.pd-mono-dim {
  font-family: var(--pd-mono);
  font-size: 11.5px;
  letter-spacing: 0.08em;
  color: var(--pd-dim);
  font-style: normal;
  text-transform: uppercase;
}

.pd-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 11px;
  border-radius: 6px;
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.pd-chip-red { background: var(--pd-soft); border: 1px solid var(--pd-soft-bd); color: var(--pd-red); }
.pd-chip-soft { background: var(--pd-soft); color: var(--pd-red); }
.pd-chip-grey { background: #F3F5F9; border: 1px solid #E6E9EF; color: #6B7484; font-family: var(--pd-mono); }
.pd-chip-outline { background: transparent; border: 1px solid var(--pd-soft-bd); color: var(--pd-red); font-family: var(--pd-mono); border-radius: 4px; }

/* ---------- buttons ---------- */
.pd-btn {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  padding: 17px 27px;
  border-radius: 9px;
  background: var(--pd-red);
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 10px 22px -12px rgba(224, 27, 27, 0.65);
  transition: background 0.18s ease, transform 0.18s ease;
}
.pd-btn:hover { background: #C81616; transform: translateY(-1px); }
.pd-btn-ic { width: 18px; height: 18px; display: inline-flex; }
.pd-btn-ic svg { width: 100%; height: 100%; }

.pd-cta-row {
  display: flex;
  align-items: center;
  gap: 26px;
  flex-wrap: wrap;
  margin-top: 38px;
}
.pd-note {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 14.5px;
  color: var(--pd-body);
}
.pd-note-ic { width: 17px; height: 17px; color: #16A34A; display: inline-flex; }
.pd-note-ic svg { width: 100%; height: 100%; }

/* ---------- section 1 : hero ---------- */
.pd-hero-grid {
  display: grid;
  grid-template-columns: 1.458fr 1fr;
  gap: 66px;
  align-items: center;
  min-height: 560px;
}
.pd-bullets { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.pd-bullet {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 11px 14px;
  border: 1px solid var(--pd-line);
  border-radius: 9px;
  background: #FFFFFF;
  font-size: 13px;
  color: var(--pd-ink);
  font-weight: 500;
  white-space: nowrap;
}
.pd-bullet-ic { width: 16px; height: 16px; color: var(--pd-red); display: inline-flex; flex: none; }
.pd-bullet-ic svg { width: 100%; height: 100%; }

.pd-badgecard {
  background: #FFFFFF;
  border: 1px solid #EDEFF4;
  border-radius: 15px;
  padding: 26px 28px 28px;
  box-shadow: 0 26px 60px -34px rgba(16, 21, 31, 0.28);
}
.pd-badgecard-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--pd-line);
}
.pd-badgecard-label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--pd-ink);
}
.pd-badgecard-label .pd-dot { color: var(--pd-red); }

.pd-badge-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px 0 26px;
}
.pd-badge-svg { width: 242px; height: auto; display: block; }
.pd-badge-img img { width: 242px; height: auto; display: block; }

.pd-badgecard-foot { border-top: 1px solid var(--pd-line); padding-top: 18px; text-align: center; }
.pd-badgecard-title { font-size: 14.5px; font-weight: 700; color: var(--pd-ink); margin: 0 0 5px; }
.pd-badgecard-sub { font-size: 12.5px; line-height: 1.5; color: var(--pd-dim); margin: 0; }

/* ---------- shared split header ---------- */
.pd-head-split {
  display: grid;
  grid-template-columns: 2.1fr 1fr;
  gap: 56px;
  align-items: start;
  margin-bottom: 62px;
}
.pd-head-right { padding-top: 46px; }

/* ---------- section 2 : partnership ---------- */
.pd-partnership-top {
  display: grid;
  grid-template-columns: 2.6fr 1fr;
  gap: 72px;
  align-items: start;
  margin-bottom: 56px;
}
.pd-partnership-aside { display: flex; flex-direction: column; align-items: flex-end; gap: 20px; }
.pd-minicard {
  display: flex;
  align-items: center;
  gap: 13px;
  border: 1px solid var(--pd-line);
  border-radius: 11px;
  background: #FFFFFF;
  padding: 15px 19px;
  width: 100%;
}
.pd-minicard-ic {
  width: 34px; height: 34px;
  border-radius: 8px;
  background: var(--pd-soft);
  color: var(--pd-red);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.pd-minicard-ic svg { width: 19px; height: 19px; }
.pd-minicard-title { display: block; font-size: 14px; font-weight: 700; color: var(--pd-ink); }
.pd-minicard-sub { display: block; font-size: 12.5px; color: var(--pd-dim); font-style: normal; margin-top: 2px; }

.pd-panel {
  border: 1px solid var(--pd-line);
  border-radius: 14px;
  background: #FFFFFF;
  padding: 30px 34px 40px;
}
.pd-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--pd-line);
  flex-wrap: wrap;
}
.pd-panel-title {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--pd-ink);
}
.pd-panel-ic { width: 20px; height: 20px; color: var(--pd-red); display: inline-flex; }
.pd-panel-ic svg { width: 100%; height: 100%; }
.pd-panel-meta { display: inline-flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.pd-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--pd-mono);
  font-size: 11.5px;
  letter-spacing: 0.08em;
  color: var(--pd-dim);
  font-style: normal;
  text-transform: uppercase;
}
.pd-panel-body { padding-top: 40px; }

.pd-flow {
  display: grid;
  grid-template-columns: 1fr auto 1.55fr auto 1fr;
  align-items: center;
}
.pd-flow-line { height: 1px; width: 42px; background: linear-gradient(90deg, #F3B0A6, #E9B85C); }
.pd-card {
  border: 1px solid var(--pd-line);
  border-radius: 13px;
  background: #FFFFFF;
  padding: 22px;
}
.pd-inputcard { box-shadow: 0 20px 40px -30px rgba(16, 21, 31, 0.35); }
.pd-inputcard-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.pd-inputcard-top .pd-dot { color: var(--pd-red); }
.pd-inputcard-logo { margin-bottom: 16px; }
.pd-inputcard-logo img { max-height: 26px; width: auto; }
.pd-card-title { font-family: Satoshi, sans-serif; font-size: 19px; font-weight: 700; color: var(--pd-ink); margin: 0 0 10px; }
.pd-inputcard-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--pd-line);
  margin-top: 18px;
  padding-top: 14px;
  font-family: var(--pd-mono);
  font-size: 11.5px;
}
.pd-inputcard-foot em { font-style: normal; color: var(--pd-dim); }
.pd-inputcard-foot b { color: var(--pd-ink); }

.pd-corecard { box-shadow: 0 30px 60px -34px rgba(16, 21, 31, 0.4); padding: 24px; }
.pd-corecard-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.pd-corecard-title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--pd-ink);
}
.pd-corecard-ic { width: 19px; height: 19px; color: var(--pd-red); display: inline-flex; }
.pd-corecard-ic svg { width: 100%; height: 100%; }

.pd-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 18px; }
.pd-tile { border: 1px solid var(--pd-line); border-radius: 10px; padding: 15px; }
.pd-tile-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.pd-tile-ic {
  width: 30px; height: 30px;
  border-radius: 7px;
  background: var(--pd-soft);
  color: var(--pd-red);
  display: inline-flex; align-items: center; justify-content: center;
}
.pd-tile-ic svg { width: 17px; height: 17px; }
.pd-tile-label {
  font-family: var(--pd-mono);
  font-size: 9.5px;
  letter-spacing: 0.07em;
  color: var(--pd-dim);
  font-style: normal;
  text-transform: uppercase;
}
.pd-tile-main { display: flex; align-items: center; justify-content: space-between; }
.pd-tile-title { font-size: 15px; font-weight: 700; color: var(--pd-ink); }
.pd-tile-check { width: 15px; height: 15px; color: var(--pd-red); display: inline-flex; }
.pd-tile-check svg { width: 100%; height: 100%; }
.pd-tile-sub { display: block; font-size: 12.5px; color: var(--pd-dim); font-style: normal; margin-top: 3px; }

.pd-badgecard-dark { padding: 0; border: none; box-shadow: none; background: transparent; }
.pd-badgecard-dark .pd-badgecard-foot { border-top: none; }

/* ---------- dark sections ---------- */
.pd-dark { background: var(--pd-dark); }
.pd-edge { background: var(--pd-dark-2); }
.pd-dark .pd-rail { border-right-color: var(--pd-dark-line); }
.pd-dark .pd-rail-text { color: #9AA0A6; }
.pd-dark .pd-h2 { color: #FFFFFF; }
.pd-dark .pd-h3 { color: #FFFFFF; }
.pd-dark .pd-lead { color: #9BA1A9; }
.pd-dark .pd-card-text { color: #9BA1A9; }
.pd-eyebrow-dark {
  background: rgba(224, 27, 27, 0.1);
  border-color: rgba(224, 27, 27, 0.42);
  color: #FF4D4D;
}

.pd-featurepills { display: flex; flex-direction: column; gap: 13px; }
.pd-featurepill {
  display: flex;
  align-items: center;
  gap: 14px;
  border: 1px solid var(--pd-dark-line);
  border-radius: 9px;
  background: var(--pd-dark-card);
  padding: 15px 18px;
}
.pd-featurepill-ic {
  width: 34px; height: 34px;
  border-radius: 8px;
  display: inline-flex; align-items: center; justify-content: center;
  flex: none;
}
.pd-featurepill-ic svg { width: 18px; height: 18px; }
.pd-ic-red { background: rgba(224, 27, 27, 0.14); color: #FF4D4D; }
.pd-ic-green { background: rgba(34, 197, 94, 0.14); color: #34D07F; }
.pd-featurepill b { display: block; font-size: 14px; font-weight: 700; color: #FFFFFF; }
.pd-featurepill em { display: block; font-size: 12.5px; color: #8B9199; font-style: normal; margin-top: 2px; }

.pd-panel-dark { background: transparent; border-color: var(--pd-dark-line); padding: 34px 38px 48px; }
.pd-panel-dark .pd-panel-head { border-bottom-color: var(--pd-dark-line); }
.pd-panel-dark .pd-panel-title { color: #E7E9EC; }
.pd-panel-num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 24px;
  border-radius: 6px;
  background: rgba(224, 27, 27, 0.14);
  color: #FF4D4D;
  font-family: var(--pd-mono);
  font-size: 11.5px;
  font-style: normal;
  margin-right: 12px;
}
.pd-panel-sep { color: #4A4A4A; font-style: normal; }

/* section 3 map */
.pd-map { display: flex; flex-direction: column; align-items: center; }
.pd-map-top { width: 58%; }
.pd-map-core { width: 46%; }
.pd-map-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 42px; width: 100%; }
.pd-map-connector-down { width: 1px; height: 38px; background: rgba(224, 27, 27, 0.55); }
.pd-map-branch { position: relative; width: 100%; height: 40px; }
.pd-map-branch span { position: absolute; background: rgba(224, 27, 27, 0.55); }
.pd-map-branch-stem { left: 50%; top: 0; width: 1px; height: 20px; }
.pd-map-branch-bar { left: 25%; right: 25%; top: 20px; height: 1px; }
.pd-map-branch-legL { left: 25%; top: 20px; width: 1px; height: 20px; }
.pd-map-branch-legR { right: 25%; top: 20px; width: 1px; height: 20px; }

.pd-node {
  border: 1px solid var(--pd-dark-line);
  border-radius: 4px;
  background: linear-gradient(160deg, #121011 0%, #0A0A0A 100%);
  padding: 22px 24px;
}
.pd-node-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.pd-node-head { display: inline-flex; align-items: flex-start; gap: 13px; }
.pd-node-ic {
  width: 34px; height: 34px;
  border-radius: 8px;
  background: rgba(224, 27, 27, 0.14);
  color: #FF4D4D;
  display: inline-flex; align-items: center; justify-content: center;
  flex: none;
}
.pd-node-ic svg { width: 18px; height: 18px; }
.pd-node-title {
  display: block;
  font-family: Satoshi, sans-serif;
  font-size: 20px; font-weight: 700;
  color: #FFFFFF;
  margin-top: 4px;
}
.pd-chip-node { background: rgba(224, 27, 27, 0.1); border: 1px solid rgba(224, 27, 27, 0.4); color: #FF6B6B; border-radius: 999px; }
.pd-node-text { font-size: 14.5px; line-height: 1.6; color: #9BA1A9; margin: 0 0 18px; }
.pd-node-foot {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  border-top: 1px solid var(--pd-dark-line);
  padding-top: 14px;
}
.pd-node-foot-left {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12.5px; color: #8B9199; font-style: normal;
}
.pd-node-foot-left .pd-dot { color: var(--pd-red); }
.pd-node-link {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12.5px; font-weight: 700;
  color: #FF4D4D;
  text-decoration: none;
}
.pd-node-link-ic { width: 12px; height: 12px; display: inline-flex; }
.pd-node-link-ic svg { width: 100%; height: 100%; }

.pd-corecore {
  border: 1px solid rgba(224, 27, 27, 0.34);
  border-radius: 4px;
  background: radial-gradient(120% 140% at 50% 0%, #2A0F10 0%, #140A0B 45%, #0B0709 100%);
  padding: 24px;
  text-align: center;
}
.pd-chip-core {
  background: rgba(224, 27, 27, 0.12);
  border: 1px solid rgba(224, 27, 27, 0.45);
  color: #FF6B6B;
  border-radius: 999px;
  font-family: var(--pd-mono);
  letter-spacing: 0.07em;
}
.pd-corecore-ic { width: 12px; height: 12px; display: inline-flex; }
.pd-corecore-ic svg { width: 100%; height: 100%; }
.pd-corecore-title {
  font-family: Satoshi, sans-serif;
  font-size: 23px; font-weight: 700;
  color: #FFFFFF;
  margin: 14px 0 6px;
}
.pd-corecore-sub { font-size: 13.5px; color: #9BA1A9; margin: 0 0 16px; }
.pd-chips { display: flex; flex-wrap: wrap; gap: 9px; justify-content: center; }
.pd-chip-ghost {
  border: 1px solid #3A3A3A;
  color: #C6CBD2;
  border-radius: 999px;
  background: transparent;
  font-size: 11.5px;
  padding: 5px 13px;
}

/* ---------- section 4 : challenges ---------- */
.pd-numpills { display: flex; flex-direction: column; gap: 12px; }
.pd-numpill {
  display: flex; align-items: center; gap: 15px;
  border: 1px solid var(--pd-line);
  border-radius: 8px;
  background: #FFFFFF;
  padding: 15px 18px;
}
.pd-numpill-num {
  width: 34px; height: 30px;
  border-radius: 6px;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--pd-mono);
  font-size: 13px; font-weight: 700;
  font-style: normal;
  flex: none;
}
.pd-numpill-red { background: var(--pd-soft); color: var(--pd-red); }
.pd-numpill-blue { background: #EAF1FE; color: #2563EB; }
.pd-numpill b { font-size: 14.5px; font-weight: 500; color: var(--pd-ink); }

.pd-alt { border-top: 1px solid var(--pd-line); }
.pd-alt-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  border-bottom: 1px solid var(--pd-line);
}
.pd-alt-fig { padding: 52px 46px; }
.pd-alt-text { padding: 52px 46px; border-left: 1px solid var(--pd-line); }
.pd-alt-row:nth-child(even) .pd-alt-fig { order: 2; border-left: 1px solid var(--pd-line); }
.pd-alt-row:nth-child(even) .pd-alt-text { order: 1; border-left: none; }

.pd-tag {
  display: inline-block;
  font-family: var(--pd-mono);
  font-size: 10.5px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--pd-red);
  background: var(--pd-soft);
  border: 1px solid var(--pd-soft-bd);
  border-radius: 4px;
  padding: 5px 10px;
  font-style: normal;
  margin-bottom: 22px;
}
.pd-alt-num { display: flex; align-items: baseline; gap: 11px; margin-bottom: 10px; }
.pd-alt-num b {
  font-family: Satoshi, sans-serif;
  font-size: 34px; font-weight: 800;
  color: var(--pd-red);
  line-height: 1;
}
.pd-alt-num em { font-family: var(--pd-mono); font-size: 12px; color: var(--pd-dim); font-style: normal; text-transform: uppercase; }

/* challenge illustrations */
.pd-fig {
  border: 1px solid var(--pd-line);
  border-radius: 10px;
  background: #FFFFFF;
  padding: 18px;
  box-shadow: 0 20px 42px -34px rgba(16, 21, 31, 0.4);
}
.pd-fig-img { padding: 0; overflow: hidden; }
.pd-fig-img img { width: 100%; height: auto; display: block; }
.pd-fig-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.pd-fig-title {
  display: inline-flex; align-items: center; gap: 9px;
  font-family: var(--pd-mono);
  font-size: 10.5px;
  letter-spacing: 0.07em;
  color: #5C6474;
  font-style: normal;
}
.pd-fig-ic { width: 15px; height: 15px; color: var(--pd-red); display: inline-flex; }
.pd-fig-ic svg { width: 100%; height: 100%; }
.pd-fig-converge { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; }
.pd-fig-stack { display: flex; flex-direction: column; gap: 9px; }
.pd-fig-row {
  display: flex; align-items: center; gap: 9px;
  border: 1px solid var(--pd-line);
  border-radius: 7px;
  padding: 9px 11px;
}
.pd-fig-row b { font-size: 12px; font-weight: 600; color: var(--pd-ink); flex: 1; }
.pd-fig-rowic { width: 15px; height: 15px; color: #6B7484; display: inline-flex; flex: none; }
.pd-fig-rowic svg { width: 100%; height: 100%; }
.pd-fig-merge {
  width: 34px; height: 34px;
  border-radius: 50%;
  background: var(--pd-soft);
  color: var(--pd-red);
  display: flex; align-items: center; justify-content: center;
}
.pd-fig-merge svg { width: 17px; height: 17px; }
.pd-fig-target { border: 1px solid var(--pd-line); border-radius: 9px; padding: 13px; }
.pd-fig-target-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.pd-fig-badge {
  width: 28px; height: 28px;
  border-radius: 7px;
  background: var(--pd-red);
  color: #FFFFFF;
  display: inline-flex; align-items: center; justify-content: center;
  flex: none;
}
.pd-fig-badge svg { width: 15px; height: 15px; }
.pd-fig-check { width: 14px; height: 14px; color: var(--pd-red); display: inline-flex; flex: none; }
.pd-fig-check svg { width: 100%; height: 100%; }
.pd-fig-kicker {
  display: block;
  font-family: var(--pd-mono);
  font-size: 9px;
  letter-spacing: 0.08em;
  color: var(--pd-dim);
  text-transform: uppercase;
  font-style: normal;
}
.pd-fig-name { display: block; font-size: 14px; font-weight: 700; color: var(--pd-ink); margin-top: 3px; }
.pd-fig-foot {
  display: flex; align-items: center; justify-content: space-between;
  border-top: 1px solid var(--pd-line);
  margin-top: 11px; padding-top: 9px;
  font-family: var(--pd-mono);
  font-size: 10px;
}
.pd-fig-foot em { color: var(--pd-dim); font-style: normal; }
.pd-fig-two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pd-fig-two-flat { margin-bottom: 12px; }
.pd-fig-pane { border: 1px solid var(--pd-line); border-radius: 9px; padding: 12px; }
.pd-fig-pane-hot { border-color: #F6D4D4; }
.pd-fig-pane-head {
  display: flex; align-items: center; justify-content: space-between;
  font-family: var(--pd-mono);
  font-size: 9.5px; letter-spacing: 0.07em;
  color: var(--pd-dim);
  margin-bottom: 10px;
}
.pd-fig-pane-head em { font-style: normal; }
.pd-fig-line {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  border: 1px solid var(--pd-line);
  border-radius: 6px;
  padding: 8px 10px;
  margin-bottom: 8px;
}
.pd-fig-line b { font-size: 11.5px; font-weight: 600; color: var(--pd-ink); }
.pd-fig-line em { font-family: var(--pd-mono); font-size: 9.5px; color: var(--pd-dim); font-style: normal; }
.pd-fig-line-hot { border-color: #F3C9C9; }
.pd-fig-sp { width: 13px; height: 13px; color: var(--pd-red); display: inline-flex; }
.pd-fig-sp svg { width: 100%; height: 100%; }
.pd-fig-pane-foot {
  display: flex; align-items: center; justify-content: space-between;
  border-top: 1px solid var(--pd-line);
  padding-top: 9px; margin-top: 10px;
  font-family: var(--pd-mono); font-size: 10px;
}
.pd-fig-pane-foot em { color: var(--pd-dim); font-style: normal; }
.pd-fig-gov { display: flex; flex-direction: column; gap: 12px; }
.pd-fig-govrow {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  border: 1px solid var(--pd-line);
  border-radius: 8px;
  padding: 11px 13px;
}
.pd-fig-govrow b { display: inline-flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 700; color: var(--pd-ink); }
.pd-fig-box { border: 1px solid #F3C9C9; border-radius: 8px; padding: 10px 12px; position: relative; }
.pd-fig-box b { display: block; font-size: 12px; margin-top: 3px; }
.pd-fig-box .pd-fig-check { position: absolute; right: 11px; bottom: 11px; }
.pd-fig-box-plain { border-color: var(--pd-line); text-align: center; padding: 13px; }
.pd-fig-box-plain b { font-size: 12.5px; color: var(--pd-ink); margin: 0; }
.pd-fig-pipe {
  display: flex; align-items: center; gap: 12px;
  border: 1px solid #F3C9C9;
  border-radius: 8px;
  padding: 12px 13px;
}
.pd-fig-pipe b { display: block; font-size: 12.5px; font-weight: 700; color: var(--pd-ink); }
.pd-fig-pipe em { display: block; font-size: 10.5px; color: var(--pd-dim); font-style: normal; margin-top: 2px; }
.pd-fig-pipe span { flex: 1; }
.pd-fig-gate {
  display: flex; align-items: center; justify-content: space-between;
  border: 1px solid var(--pd-line);
  border-radius: 8px;
  padding: 11px 13px;
  margin-bottom: 12px;
  font-size: 12px;
}
.pd-fig-gate em { color: var(--pd-body); font-style: normal; }
.pd-fig-gate b { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; }
.pd-fig-metric { border: 1px solid var(--pd-line); border-radius: 8px; padding: 13px; }
.pd-fig-metric-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 6px 0 12px; }
.pd-fig-figure { font-family: Satoshi, sans-serif; font-size: 27px; font-weight: 800; color: var(--pd-ink); }
.pd-fig-trend { width: 11px; height: 11px; display: inline-flex; }
.pd-fig-trend svg { width: 100%; height: 100%; }
.pd-fig-bar { display: block; height: 5px; border-radius: 3px; background: var(--pd-red); }

/* ---------- section 5 : industries ---------- */
.pd-sectortags { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.pd-sectortag { border: 1px solid var(--pd-line); border-radius: 7px; padding: 11px 13px; background: #FFFFFF; }
.pd-sectortag b { display: block; font-size: 13.5px; font-weight: 600; color: var(--pd-ink); }
.pd-sectortag em {
  display: block;
  font-family: var(--pd-mono);
  font-size: 9.5px; letter-spacing: 0.07em;
  color: var(--pd-dim);
  text-transform: uppercase;
  font-style: normal;
  margin-top: 3px;
}
/* Bento layout: alternating wide/narrow pairs rather than a uniform grid. */
.pd-grid2 {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  border: 1px solid var(--pd-line);
  border-radius: 4px;
  overflow: hidden;
}
.pd-sector { grid-column: span 6; }
.pd-sector:nth-child(4n+1) { grid-column: span 7; }
.pd-sector:nth-child(4n+2) { grid-column: span 5; }
.pd-sector:nth-child(4n+3) { grid-column: span 5; }
.pd-sector:nth-child(4n+4) { grid-column: span 7; }
.pd-sector {
  padding: 34px 36px 30px;
  border-right: 1px solid var(--pd-line);
  border-bottom: 1px solid var(--pd-line);
  display: flex;
  flex-direction: column;
}
.pd-sector:nth-child(even) { border-right: none; }
.pd-sector:nth-last-child(-n+2) { border-bottom: none; }
.pd-sector:nth-child(odd) { background: #FFFFFF; }
.pd-sector:nth-child(even) { background: #FCFCFD; }
.pd-sector-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 26px; }
.pd-sector-head { display: inline-flex; align-items: center; gap: 13px; }
.pd-sector-ic {
  width: 36px; height: 36px;
  border-radius: 9px;
  background: #F3F5F9;
  color: #48505F;
  display: inline-flex; align-items: center; justify-content: center;
  flex: none;
}
.pd-sector-ic svg { width: 19px; height: 19px; }
.pd-sector-head .pd-mono-dim b { color: var(--pd-ink); font-weight: 700; }
.pd-sector-title { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.pd-sector .pd-card-text { margin-bottom: 30px; }
.pd-sector-arrow { width: 17px; height: 17px; color: #7C97C4; display: inline-flex; flex: none; }
.pd-sector-arrow svg { width: 100%; height: 100%; }
.pd-sector-link {
  display: inline-flex; align-items: center; gap: 7px;
  margin-top: auto;
  padding-top: 22px;
  border-top: 1px solid var(--pd-line);
  width: 100%;
  font-size: 13.5px; font-weight: 600;
  color: var(--pd-red-link);
  text-decoration: none;
}
.pd-sector-link-ic { width: 12px; height: 12px; display: inline-flex; }
.pd-sector-link-ic svg { width: 100%; height: 100%; }

/* ---------- section 6 : competitive edge ---------- */
.pd-edgegrid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.pd-edgecard {
  border: 1px solid rgba(224, 27, 27, 0.3);
  border-radius: 4px;
  background: linear-gradient(150deg, #2A1214 0%, #1A0F10 55%, #140C0D 100%);
  padding: 28px 30px 32px;
}
.pd-edgecard-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 38px; }
.pd-edgecard-ic {
  width: 38px; height: 38px;
  border-radius: 9px;
  background: rgba(224, 27, 27, 0.18);
  color: #FF4D4D;
  display: inline-flex; align-items: center; justify-content: center;
  flex: none;
}
.pd-edgecard-ic svg { width: 20px; height: 20px; }

/* ---------- section 7 : cta + form ---------- */
.pd-cta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.pd-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 40px; padding-top: 40px; border-top: 1px solid var(--pd-line); }
.pd-stat {
  border: 1px solid var(--pd-line);
  border-radius: 10px;
  background: #FFFFFF;
  padding: 19px 12px;
  text-align: center;
}
.pd-stat-data { display: block; font-family: Satoshi, sans-serif; font-size: 30px; font-weight: 800; color: var(--pd-red); line-height: 1.1; }
.pd-stat-title { display: block; font-size: 12.5px; color: var(--pd-body); font-style: normal; margin-top: 5px; }

.pd-form {
  background: #FFFFFF;
  border-radius: 15px;
  padding: 36px 38px 38px;
  box-shadow: 0 34px 70px -40px rgba(16, 21, 31, 0.35);
}
.pd-form-title { font-family: Satoshi, sans-serif; font-size: 26px; font-weight: 700; color: var(--pd-ink); margin: 0 0 7px; }
.pd-form-sub { font-size: 13.5px; color: var(--pd-body); margin: 0 0 26px; }
.pd-field { margin-bottom: 17px; flex: 1; }
.pd-field-row { display: flex; gap: 15px; }
.pd-field label { display: block; font-size: 13px; font-weight: 600; color: var(--pd-ink); margin-bottom: 7px; }
.pd-field input,
.pd-field textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--pd-line);
  border-radius: 8px;
  background: #FAFBFD;
  padding: 13px 15px;
  font-family: "Spline Sans", sans-serif;
  font-size: 14.5px;
  color: var(--pd-ink);
  outline: none;
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
}
.pd-field textarea { resize: vertical; min-height: 92px; }
.pd-field input::placeholder,
.pd-field textarea::placeholder { color: #A9B0BD; }
.pd-field input:focus,
.pd-field textarea:focus { border-color: var(--pd-red); box-shadow: 0 0 0 3px rgba(224, 27, 27, 0.1); }
.pd-input-error { border-color: var(--pd-red) !important; }
.pd-error { display: none; font-size: 12px; color: var(--pd-red); margin-top: 5px; }
.pd-error.active { display: block; }
.pd-submit {
  width: 100%;
  display: inline-flex; align-items: center; justify-content: center; gap: 11px;
  border: none;
  border-radius: 9px;
  background: linear-gradient(90deg, #C81616 0%, #E82020 100%);
  color: #FFFFFF;
  font-family: "Spline Sans", sans-serif;
  font-size: 16.5px; font-weight: 700;
  padding: 17px 24px;
  margin-top: 9px;
  cursor: pointer;
  transition: filter 0.18s ease;
}
.pd-submit:hover { filter: brightness(1.06); }
.pd-submit:disabled { opacity: 0.65; cursor: not-allowed; }
.pd-submit-ic { width: 18px; height: 18px; display: inline-flex; }
.pd-submit-ic svg { width: 100%; height: 100%; }
.pd-form-status { font-size: 13px; color: var(--pd-body); margin: 12px 0 0; min-height: 18px; }
.pd-form-status-error { color: var(--pd-red); }

/* ---------- responsive ---------- */
@media (max-width: 1180px) {
  .pd-inner { padding: 0 40px; }
  .pd-hero-grid,
  .pd-head-split,
  .pd-partnership-top,
  .pd-cta-grid { grid-template-columns: 1fr; gap: 44px; }
  .pd-head-right { padding-top: 0; }
  .pd-partnership-aside { align-items: flex-start; }
  .pd-h1 { max-width: none; }
  .pd-h2 { max-width: none; }
  .pd-flow { grid-template-columns: 1fr; gap: 22px; }
  .pd-flow-line { width: 1px; height: 30px; justify-self: center; background: linear-gradient(180deg, #F3B0A6, #E9B85C); }
  .pd-map-top, .pd-map-core { width: 100%; }
  .pd-edgegrid { grid-template-columns: repeat(2, 1fr); }
  .pd-edgecard { grid-column: span 1 !important; }
}

@media (max-width: 860px) {
  .pd-section { padding: 60px 0 60px 44px; }
  .pd-hero { padding-top: 96px; }
  .pd-rail { width: 44px; padding-top: 54px; }
  .pd-inner { padding: 0 22px; }

  /* Chips and mono labels are nowrap by default, which pushes the
     min-content width of these flex rows past a 390px viewport. */
  .pd-chip, .pd-status, .pd-mono-dim, .pd-bullet { white-space: normal; }
  .pd-panel-head, .pd-panel-meta, .pd-node-top, .pd-node-foot,
  .pd-corecard-top, .pd-fig-head, .pd-edgecard-top, .pd-sector-top,
  .pd-inputcard-foot, .pd-fig-pane-head { flex-wrap: wrap; }
  .pd-panel, .pd-node, .pd-card, .pd-featurepill, .pd-numpill,
  .pd-minicard, .pd-sector, .pd-edgecard, .pd-fig { min-width: 0; }
  .pd-node-head, .pd-sector-head, .pd-minicard, .pd-featurepill { min-width: 0; }
  .pd-node-head > span, .pd-featurepill > span, .pd-minicard > span,
  .pd-fig-pipe span { min-width: 0; }
  .pd-node-title, .pd-h2, .pd-h3 { overflow-wrap: break-word; }
  .pd-h1 { font-size: 36px; }
  .pd-h2 { font-size: 29px; }
  .pd-h3 { font-size: 20px; }
  .pd-hero-grid { min-height: 0; }
  .pd-panel { padding: 22px 18px 28px; }
  .pd-panel-dark { padding: 22px 18px 30px; }
  .pd-tiles { grid-template-columns: 1fr; }
  .pd-alt-row { grid-template-columns: 1fr; }
  .pd-alt-fig, .pd-alt-text { padding: 34px 0; border-left: none !important; }
  .pd-alt-row:nth-child(even) .pd-alt-fig { order: 0; }
  .pd-alt-row:nth-child(even) .pd-alt-text { order: 0; }
  .pd-alt-row .pd-alt-fig { order: 0; }
  .pd-alt-row .pd-alt-text { order: 1; }
  .pd-grid2 { grid-template-columns: 1fr; }
  .pd-sector, .pd-sector:nth-child(4n+1), .pd-sector:nth-child(4n+2),
  .pd-sector:nth-child(4n+3), .pd-sector:nth-child(4n+4) { grid-column: span 1; }
  .pd-sector { border-right: none; padding: 26px 22px; }
  .pd-sector:nth-last-child(-n+2) { border-bottom: 1px solid var(--pd-line); }
  .pd-sector:last-child { border-bottom: none; }
  .pd-edgegrid { grid-template-columns: 1fr; }
  .pd-map-bottom { grid-template-columns: 1fr; gap: 22px; }
  .pd-map-branch { display: none; }
  .pd-sectortags { grid-template-columns: 1fr; }
  .pd-stats { grid-template-columns: 1fr; }
  .pd-field-row { flex-direction: column; gap: 0; }
  .pd-form { padding: 26px 22px 28px; }
  .pd-fig-converge { grid-template-columns: 1fr; }
  .pd-fig-merge { transform: rotate(90deg); margin: 0 auto; }
  .pd-fig-two { grid-template-columns: 1fr; }
  .pd-badge-svg, .pd-badge-img img { width: 196px; }
  .pd-cta-row { gap: 16px; }
}
