/* ─────────────────────────────────────────────────────────────────
   Pipeline Defender page styles
   Complements assets/styles.css. Uses the same palette tokens.
   ───────────────────────────────────────────────────────────────── */

/* ───────── HERO ───────── */
.pd-hero {
  position: relative;
  min-height: 90vh;
  background: var(--dark);
  color: var(--on-dark);
  display: flex; align-items: center;
  padding: 140px 0 100px;
  overflow: hidden;
}
.pd-hero::before {
  content:''; position:absolute; inset:0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='70' height='121'%3E%3Cpath d='M35 2 L68 20 L68 56 L35 74 L2 56 L2 20 Z' fill='none' stroke='rgba(58,208,97,0.06)' stroke-width='1'/%3E%3Cpath d='M35 76 L68 94 L68 130 L35 148 L2 130 L2 94 Z' fill='none' stroke='rgba(58,208,97,0.06)' stroke-width='1'/%3E%3C/svg%3E");
  pointer-events: none;
}
.pd-hero::after {
  content:''; position:absolute; inset:0;
  background: radial-gradient(ellipse at 50% 50%, transparent 0%, rgba(21,32,24,0.85) 75%);
  pointer-events: none;
}
.pd-hero-grid {
  position: relative; z-index: 2;
  display: grid; grid-template-columns: 1.05fr 0.95fr;
  gap: 80px; align-items: center;
  max-width: 1180px; margin: 0 auto; padding: 0 32px; width: 100%;
}
.pd-hero-content { animation: fadeUp 0.7s ease 0.2s both; }
.pd-product-tag {
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--green); margin-bottom: 22px;
  display: flex; align-items: center; gap: 10px;
}
.pd-product-tag::before { content:''; width: 24px; height: 1px; background: var(--green); }
.pd-headline {
  font-family: var(--font-head); font-weight: 900;
  font-size: clamp(38px, 4.4vw, 54px); letter-spacing: 0.01em;
  line-height: 1.05; color: #fff; margin-bottom: 26px;
}
.pd-headline .accent { color: var(--green); }
.pd-subtitle {
  font-size: 19px; font-weight: 400;
  color: var(--on-dark-mid); max-width: 500px; line-height: 1.7;
  margin-bottom: 36px;
}
.pd-stats-row {
  display: flex; flex-wrap: wrap; gap: 40px; margin-bottom: 16px;
  padding: 24px 0; border-top: 1px solid rgba(255,255,255,0.08);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.pd-stats-footnote {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.04em;
  color: var(--on-dark-dim); line-height: 1.6; margin-bottom: 36px; max-width: 500px;
}
.pd-stats-footnote a { color: var(--on-dark-mid); text-decoration: underline; }
.pd-stat { display: flex; flex-direction: column; gap: 6px; }
.pd-stat-num {
  font-family: var(--font-head); font-weight: 900; font-size: 30px;
  color: var(--green); line-height: 1;
}
.pd-stat-label {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--on-dark-dim);
}
.pd-cta-row { display: flex; gap: 16px; align-items: center; }

.pd-hero-visual {
  position: relative; z-index: 2;
  display: flex; align-items: center; justify-content: center;
  animation: fadeIn 1s ease 0.4s both;
}
.pd-hero-visual svg { width: min(460px, 100%); height: auto; display: block; }

/* ───────── INTRO BRIDGE ───────── */
.pd-intro { background: var(--light-alt); padding: 64px 0; border-bottom: 1px solid var(--border-light-2); }
.pd-intro-text {
  font-family: var(--font-body); font-weight: 400; font-size: 21px;
  line-height: 1.6; color: var(--on-light); max-width: 820px;
  margin: 0 auto; text-align: center; padding: 0 32px;
}
.pd-intro-text .accent { color: var(--green-rich); font-weight: 600; }

/* ───────── THREATS / 3-CARD GRIDS ───────── */
.pd-threats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.pd-threat-card {
  background: var(--light-alt);
  border: 1px solid var(--border-light);
  padding: 36px 32px; border-radius: 8px;
  transition: all 0.25s ease;
  position: relative; overflow: hidden;
}
.pd-threat-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background: var(--green-rich); transform: scaleX(0); transform-origin: left;
  transition: transform 0.35s ease;
}
.pd-threat-card:hover {
  border-color: rgba(13,138,37,0.35); transform: translateY(-2px);
  box-shadow: 0 14px 40px rgba(13,20,16,0.06);
}
.pd-threat-card:hover::before { transform: scaleX(1); }
.pd-threat-icon {
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.2em;
  color: var(--green-rich); display: block; margin-bottom: 18px;
}
.pd-threat-name {
  font-family: var(--font-head); font-weight: 700; font-size: 19px;
  letter-spacing: 0.02em; color: var(--on-light); margin-bottom: 12px;
  line-height: 1.25;
}
.pd-threat-desc {
  font-size: 16px; color: var(--on-light-mid); line-height: 1.65;
  margin-bottom: 22px;
}
.pd-threat-signals { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.pd-threat-signals li {
  font-size: 14px; color: var(--on-light-mid);
  display: flex; align-items: flex-start; gap: 10px; line-height: 1.55;
}
.pd-threat-signals li::before {
  content:''; flex-shrink: 0; margin-top: 7px;
  width: 6px; height: 6px; background: var(--green-rich);
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}

/* ───────── PIPELINE / PROCESS STEPS (dark) ───────── */
.pd-pipeline {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
  position: relative;
}
.pd-pipeline--3col { grid-template-columns: repeat(3, 1fr); }
.pd-pipe-step {
  background: var(--dark-2);
  border: 1px solid var(--border-dark);
  border-radius: 8px;
  padding: 28px 26px;
  transition: all 0.25s ease;
}
.pd-pipe-step:hover {
  transform: translateY(-2px); border-color: rgba(58,208,97,0.4);
  box-shadow: 0 12px 32px rgba(0,0,0,0.4);
}
.pd-pipe-num {
  width: 42px; height: 42px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(58,208,97,0.12); color: var(--green);
  font-family: var(--font-mono); font-size: 14px; font-weight: 500;
  border-radius: 6px; margin-bottom: 18px;
  letter-spacing: 0.04em;
}
.pd-pipe-num--warn-red    { background: rgba(232,65,65,0.15); color: #ff7878; }
.pd-pipe-num--warn-orange { background: rgba(255,150,0,0.15); color: #ffb84d; }
.pd-pipe-num--warn-yellow { background: rgba(255,210,0,0.15); color: #ffd95c; }
.pd-pipe-title {
  font-family: var(--font-head); font-weight: 700; font-size: 17px;
  letter-spacing: 0.02em; color: #fff; margin-bottom: 10px;
}
.pd-pipe-desc { font-size: 15px; color: var(--on-dark-mid); line-height: 1.65; }

/* Pipeline on light section */
.section-light .pd-pipe-step,
.section-warm  .pd-pipe-step,
.section-white .pd-pipe-step {
  background: var(--light-alt); border-color: var(--border-light-2);
}
.section-light .pd-pipe-step:hover,
.section-warm  .pd-pipe-step:hover,
.section-white .pd-pipe-step:hover {
  border-color: rgba(13,138,37,0.25); box-shadow: 0 12px 32px rgba(13,20,16,0.06);
}
.section-light .pd-pipe-num,
.section-warm  .pd-pipe-num,
.section-white .pd-pipe-num { background: var(--green-soft); color: var(--green-rich); }
.section-light .pd-pipe-title,
.section-warm  .pd-pipe-title,
.section-white .pd-pipe-title { color: var(--on-light); }
.section-light .pd-pipe-desc,
.section-warm  .pd-pipe-desc,
.section-white .pd-pipe-desc { color: var(--on-light-mid); }

/* ───────── DETECTION RULES (light) ───────── */
.pd-rules-content {
  display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start;
}

.pd-severity-group {
  background: var(--light-alt);
  border: 1px solid var(--border-light-2);
  border-radius: 8px;
  padding: 24px 26px;
  margin-bottom: 16px;
  border-left: 3px solid;
}
.pd-severity-label {
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.18em;
  text-transform: uppercase; margin-bottom: 6px;
  display: flex; align-items: center; gap: 10px;
}
.pd-severity-label::before { content:''; width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.pd-severity-impact {
  font-size: 15px; color: var(--on-light-mid); line-height: 1.55;
  margin-bottom: 14px;
}
.pd-sev-critical { border-left-color: #d63838; }
.pd-sev-critical .pd-severity-label { color: #b52a2a; }
.pd-sev-critical .pd-severity-label::before { background: #d63838; }
.pd-sev-high     { border-left-color: #e67500; }
.pd-sev-high .pd-severity-label { color: #b85d00; }
.pd-sev-high .pd-severity-label::before { background: #e67500; }
.pd-sev-medium   { border-left-color: #c89400; }
.pd-sev-medium .pd-severity-label { color: #946d00; }
.pd-sev-medium .pd-severity-label::before { background: #c89400; }
.pd-sev-low      { border-left-color: var(--on-light-dim); }
.pd-sev-low .pd-severity-label { color: var(--on-light-dim); }
.pd-sev-low .pd-severity-label::before { background: var(--on-light-dim); }

.pd-rule-list { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.pd-rule-list li {
  font-family: var(--font-mono); font-size: 13px; color: var(--on-light-mid);
  padding-left: 16px; position: relative; line-height: 1.55;
  letter-spacing: 0.02em;
}
.pd-rule-list li::before {
  content: '›'; position: absolute; left: 0;
  color: var(--green-rich); font-weight: 600;
}

.pd-pattern-cards { display: grid; gap: 10px; }
.pd-pattern-card {
  background: var(--light-alt);
  border: 1px solid var(--border-light-2);
  border-radius: 6px;
  padding: 16px 20px;
  transition: border-color 0.25s ease;
}
.pd-pattern-card:hover { border-color: rgba(13,138,37,0.25); }
.pd-pattern-name {
  font-family: var(--font-head); font-weight: 700; font-size: 14px;
  letter-spacing: 0.03em; color: var(--on-light); margin-bottom: 4px;
}
.pd-pattern-desc { font-size: 14px; color: var(--on-light-mid); line-height: 1.55; }

.pd-rules-subhead {
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--green-rich);
  margin: 28px 0 14px; display: flex; align-items: center; gap: 10px;
}
.pd-rules-subhead::before { content:''; width: 18px; height: 1px; background: var(--green-rich); opacity: 0.6; }
.pd-rules-subhead:first-child { margin-top: 0; }
.pd-rules-subdesc { font-size: 15px; color: var(--on-light-mid); line-height: 1.65; margin-bottom: 14px; }
.pd-rules-availability {
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.05em;
  color: var(--on-light-dim); line-height: 1.6; margin-bottom: 14px;
}

/* ───────── USER ROLES (light) ───────── */
.pd-roles-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.pd-role-card {
  background: var(--light-alt);
  border: 1px solid var(--border-light);
  border-radius: 8px;
  padding: 36px 32px;
  display: flex; flex-direction: column; gap: 22px;
  transition: all 0.25s ease;
  position: relative; overflow: hidden;
}
.pd-role-card::before {
  content:''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: var(--green-rich);
  transform: scaleX(0); transform-origin: left;
  transition: transform 0.35s ease;
}
.pd-role-card:hover {
  border-color: rgba(13,138,37,0.35); transform: translateY(-2px);
  box-shadow: 0 14px 40px rgba(13,20,16,0.06);
}
.pd-role-card:hover::before { transform: scaleX(1); }

.pd-role-tier {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.2em;
  text-transform: uppercase;
  display: flex; align-items: center; gap: 10px;
  color: var(--on-light-dim);
}
.pd-role-tier::before {
  content:''; width: 8px; height: 8px; border-radius: 50%;
  background: var(--on-light-dim);
  flex-shrink: 0;
}
.pd-role-card--analyst .pd-role-tier { color: var(--green-rich); }
.pd-role-card--analyst .pd-role-tier::before { background: var(--green-rich); }
.pd-role-card--admin   .pd-role-tier { color: var(--green-rich); }
.pd-role-card--admin   .pd-role-tier::before {
  background: var(--green-rich);
  box-shadow: 0 0 0 3px var(--green-soft);
}

.pd-role-name {
  font-family: var(--font-head); font-weight: 700; font-size: 26px;
  letter-spacing: 0.02em; color: var(--on-light); line-height: 1.1;
}

.pd-role-access {
  font-size: 15px; color: var(--on-light-mid); line-height: 1.55;
  border-left: 2px solid rgba(13,138,37,0.30);
  padding-left: 14px;
  font-style: italic;
}

.pd-role-section { display: flex; flex-direction: column; gap: 10px; }
.pd-role-section-label {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--green-rich);
  display: flex; align-items: center; gap: 10px;
}
.pd-role-section-label::before {
  content:''; width: 16px; height: 1px; background: var(--green-rich); opacity: 0.6;
}

.pd-role-list { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.pd-role-list li {
  font-size: 14px; color: var(--on-light-mid); line-height: 1.55;
  display: flex; align-items: flex-start; gap: 10px;
}
.pd-role-list li::before {
  content:''; flex-shrink: 0; margin-top: 7px;
  width: 6px; height: 6px; background: var(--green-rich);
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}

.pd-role-audience {
  font-size: 14px; color: var(--on-light-mid); line-height: 1.6;
}

.pd-role-callout {
  margin: 56px auto 0;
  max-width: 760px;
  background: var(--light);
  border: 1px solid var(--border-light-2);
  border-left: 3px solid var(--green-rich);
  border-radius: 6px;
  padding: 22px 28px;
  text-align: left;
}
.pd-role-callout-label {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--green-rich); margin-bottom: 8px;
  display: flex; align-items: center; gap: 10px;
}
.pd-role-callout-label::before {
  content:''; width: 16px; height: 1px; background: var(--green-rich); opacity: 0.6;
}
.pd-role-callout-text { font-size: 15px; color: var(--on-light-mid); line-height: 1.65; }
.pd-role-callout-text strong { color: var(--on-light); font-weight: 600; }

/* Full-matrix disclosure */
.pd-role-matrix-disclosure { margin: 24px auto 0; max-width: 880px; }
.pd-role-matrix-toggle {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--green-rich);
  cursor: pointer; padding: 14px 24px;
  border: 1px solid var(--border-light-2); border-radius: 6px;
  background: var(--light-alt); transition: all 0.2s ease;
  list-style: none; user-select: none;
}
.pd-role-matrix-toggle::-webkit-details-marker { display: none; }
.pd-role-matrix-toggle::marker { display: none; content: ''; }
.pd-role-matrix-toggle:hover { background: var(--green-soft); border-color: rgba(13,138,37,0.30); }
.pd-role-matrix-toggle-arrow { display: inline-block; transition: transform 0.25s ease; font-family: var(--font-body); font-size: 14px; }
.pd-role-matrix-disclosure[open] .pd-role-matrix-toggle-arrow { transform: rotate(90deg); }
.pd-role-matrix-disclosure[open] .pd-role-matrix-toggle-text::after { content: ' (collapse)'; opacity: 0.6; }

.pd-role-matrix-wrap {
  margin-top: 16px;
  background: var(--light-alt);
  border: 1px solid var(--border-light-2);
  border-radius: 8px;
  overflow: hidden; overflow-x: auto;
}
.pd-role-matrix { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 640px; }
.pd-role-matrix thead th {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--on-light-mid); font-weight: 500;
  text-align: left; padding: 14px 18px;
  border-bottom: 1px solid var(--border-light); background: var(--light);
}
.pd-role-matrix thead th:not(:first-child) { text-align: center; width: 92px; }
.pd-role-matrix tbody td {
  padding: 12px 18px;
  border-bottom: 1px solid var(--border-light-2);
  color: var(--on-light); vertical-align: middle;
}
.pd-role-matrix tbody td:not(:first-child) { text-align: center; }
.pd-role-matrix tbody tr:last-child td { border-bottom: none; }
.pd-role-matrix tbody tr:hover td:first-child { color: var(--on-light); }
.pd-role-matrix tbody tr:hover { background: rgba(13,138,37,0.025); }
.pd-role-matrix-yes { color: var(--green-rich); font-weight: 700; font-size: 17px; line-height: 1; }
.pd-role-matrix-no  { color: var(--on-light-dim); font-size: 16px; opacity: 0.5; }
.pd-role-matrix-section td {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.20em;
  text-transform: uppercase; color: var(--green-rich);
  background: var(--green-soft); font-weight: 500;
  padding: 10px 18px !important;
}

/* ───────── PRICING (dark) ───────── */
.pd-pricing-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
  max-width: 1140px; margin: 0 auto;
}
.pd-plan {
  background: var(--dark-2);
  border: 1px solid var(--border-dark);
  border-radius: 10px;
  padding: 36px 28px;
  position: relative;
  transition: all 0.25s ease;
}
.pd-plan:hover { border-color: rgba(58,208,97,0.4); transform: translateY(-2px); }
.pd-plan-featured {
  border-color: var(--green);
  box-shadow: 0 0 0 1px var(--green), 0 14px 40px var(--green-glow);
}
.pd-plan-featured:hover { transform: translateY(-2px); }
.pd-plan-badge {
  position: absolute; top: -12px; left: 24px;
  background: var(--green); color: var(--dark);
  font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em;
  text-transform: uppercase; padding: 5px 12px; border-radius: 100px;
  font-weight: 600;
}
.pd-plan-name {
  font-family: var(--font-head); font-weight: 700; font-size: 22px;
  letter-spacing: 0.02em; color: #fff; margin-bottom: 6px;
}
.pd-plan-desc {
  font-size: 16px; color: var(--on-dark-mid); line-height: 1.65;
  margin: 12px 0 24px;
}
.pd-plan-includes {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--green); margin: 0 0 14px;
  display: flex; align-items: center; gap: 10px;
}
.pd-plan-includes::before { content:''; width: 18px; height: 1px; background: var(--green); opacity: 0.6; }
.pd-plan-features { list-style: none; display: flex; flex-direction: column; gap: 9px; }
.pd-plan-features li {
  font-size: 14px; color: var(--on-dark);
  display: flex; align-items: flex-start; gap: 10px; line-height: 1.5;
}
.pd-plan-features li::before {
  content:''; flex-shrink: 0; width: 16px; height: 16px; margin-top: 2px;
  background: rgba(58,208,97,0.15); border: 1px solid var(--green); border-radius: 3px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.5 8.5l3 3 6-6.5' stroke='%233ad061' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: center; background-size: 12px;
}
.pd-plan-note {
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.06em;
  color: var(--on-dark-dim); margin-top: 24px; line-height: 1.6;
  border-left: 2px solid var(--border-dark); padding-left: 12px;
}
.pd-plan-platforms {
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.04em;
  color: var(--on-dark-mid); line-height: 1.6; margin-top: 24px;
  padding-top: 16px; border-top: 1px solid var(--border-dark);
}
.pd-plan-platforms strong { color: var(--green); font-weight: 600; }

/* Platform × tier matrix */
.pd-tier-matrix-wrap { max-width: 920px; margin: 56px auto 0; overflow-x: auto; }
.pd-tier-matrix { width: 100%; border-collapse: collapse; font-size: 14px; }
.pd-tier-matrix th, .pd-tier-matrix td {
  padding: 12px 16px; text-align: left;
  border-bottom: 1px solid var(--border-dark);
}
.pd-tier-matrix thead th {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--on-dark-dim);
}
.pd-tier-matrix td { color: var(--on-dark); }
.pd-tier-matrix td:first-child { font-weight: 600; color: #fff; }
.pd-tier-matrix .yes { color: var(--green); }
.pd-tier-matrix .no { color: var(--on-dark-dim); }
.pd-tier-matrix-caption {
  font-family: var(--font-mono); font-size: 12px; color: var(--on-dark-dim);
  margin-top: 16px; text-align: center; line-height: 1.6;
}

/* ───────── CTA / WAITLIST (light) ───────── */
.pd-cta-box {
  background: var(--light-alt);
  border: 1px solid var(--border-light);
  border-radius: 10px;
  padding: 56px 48px;
  text-align: center;
  max-width: 620px; margin: 0 auto;
  box-shadow: 0 14px 40px rgba(13,20,16,0.05);
}
.pd-cta-box .eyebrow { justify-content: center; }
.pd-cta-box h2 {
  font-family: var(--font-head); font-weight: 900;
  font-size: clamp(28px, 3vw, 38px); letter-spacing: 0.02em;
  color: var(--on-light); margin-bottom: 16px; line-height: 1.1;
}
.pd-cta-box h2 .accent { color: var(--green-rich); }
.pd-cta-box p {
  font-size: 17px; color: var(--on-light-mid); line-height: 1.65;
  max-width: 480px; margin: 0 auto 32px;
}

.pd-waitlist-form { display: flex; flex-direction: column; gap: 14px; max-width: 420px; margin: 0 auto; text-align: left; }
.pd-form-group { display: flex; flex-direction: column; gap: 6px; }
.pd-form-group label {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--on-light-dim);
}
.pd-form-group input,
.pd-form-group select {
  background: var(--light); border: 1px solid var(--border-light);
  color: var(--on-light); font-family: var(--font-body);
  font-size: 16px; padding: 12px 14px; border-radius: 5px;
  outline: none; transition: border-color 0.2s ease;
}
.pd-form-group input::placeholder { color: var(--on-light-dim); }
.pd-form-group input:focus,
.pd-form-group select:focus { border-color: var(--green-rich); background: #fff; }
.pd-waitlist-msg {
  display: none; text-align: center; margin-top: 10px;
  font-family: var(--font-mono); font-size: 13px; letter-spacing: 0.06em;
}
.pd-waitlist-msg.success { color: var(--green-rich); }
.pd-waitlist-msg.error { color: #c43838; }

.pd-for-ats {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--on-light-dim);
  display: flex; align-items: center; justify-content: center; gap: 12px;
  margin-top: 40px;
}
.pd-for-ats::before, .pd-for-ats::after {
  content:''; width: 24px; height: 1px; background: var(--border-light);
}

.pd-section-tiernote {
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--green-rich); margin-top: 14px;
}

/* ───────── RESPONSIVE ───────── */
@media (max-width: 1100px) {
  .pd-pricing-grid { grid-template-columns: 1fr; max-width: 560px; }
}
@media (max-width: 960px) {
  .pd-hero-grid { grid-template-columns: 1fr; gap: 48px; }
  .pd-hero-visual { display: none; }
  .pd-threats-grid { grid-template-columns: 1fr; }
  .pd-pipeline,
  .pd-pipeline--3col { grid-template-columns: 1fr 1fr; }
  .pd-rules-content { grid-template-columns: 1fr; gap: 48px; }
  .pd-roles-grid { grid-template-columns: 1fr; }
  .pd-pricing-grid { grid-template-columns: 1fr; }
  .pd-stats-row { flex-wrap: wrap; gap: 24px; }
  .pd-cta-box { padding: 40px 28px; }
  .pd-cta-row { flex-direction: column; align-items: stretch; }
}
@media (max-width: 600px) {
  .pd-pipeline,
  .pd-pipeline--3col { grid-template-columns: 1fr; }
  .pd-intro-text { font-size: 18px; }
}
