.vprp-approved-content {
  --vprp-ink: #0d1830;
  --vprp-muted: #526078;
  --vprp-navy: #080a29;
  --vprp-blue: #3361e1;
  --vprp-blue-dark: #173e9d;
  --vprp-paper: #f7f9fa;
  --vprp-line: #dce3ef;
  color: var(--vprp-ink);
  font-size: 17px;
  line-height: 1.62;
}
.vprp-approved-content *, .vprp-approved-content *::before, .vprp-approved-content *::after { box-sizing: border-box; }
.vprp-approved-content .section { padding: 78px 0; }
.vprp-approved-content .section--soft { background: var(--vprp-paper); }
.vprp-approved-content .section--dark { background: var(--vprp-navy); color: #fff; }
.vprp-approved-content .section--dark p, .vprp-approved-content .section--dark .muted { color: #c8d2e6; }
.vprp-approved-content .narrow { max-width: 820px; }
.vprp-approved-content .eyebrow { margin: 0 0 10px; color: var(--vprp-blue); font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.vprp-approved-content h2, .vprp-approved-content h3 { color: inherit; line-height: 1.18; }
.vprp-approved-content h2 { margin: 0 0 18px; font-size: clamp(32px, 4vw, 48px); }
.vprp-approved-content h3 { margin: 0 0 10px; font-size: 22px; }
.vprp-approved-content p { margin: 0 0 16px; }
.vprp-approved-content .lead { max-width: 820px; color: var(--vprp-muted); font-size: 20px; }
.vprp-approved-content .muted { color: var(--vprp-muted); }
.vprp-approved-content .small { font-size: 14px; }
.vprp-approved-content .trust-grid, .vprp-approved-content .card-grid { display: grid; gap: 20px; }
.vprp-approved-content .trust-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.vprp-approved-content .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vprp-approved-content .card-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vprp-approved-content .card, .vprp-approved-content .trust-card, .vprp-approved-content .tool-card { height: auto; border: 1px solid var(--vprp-line); border-radius: 12px; background: #fff; padding: 26px; box-shadow: 0 8px 24px rgba(13,24,48,.05); }
.vprp-approved-content .card-link { display: block; height: 100%; color: inherit; text-decoration: none; transition: transform .18s ease, border-color .18s ease; }
.vprp-approved-content .card-link:hover { color: inherit; border-color: #a9bce8; transform: translateY(-4px); }
.vprp-approved-content .trust-card { padding: 18px; }
.vprp-approved-content .trust-card strong { display: block; margin-bottom: 4px; color: var(--vprp-navy); font-size: 17px; }
.vprp-approved-content .check-list { margin: 22px 0 0; padding: 0; list-style: none; }
.vprp-approved-content .check-list li { position: relative; margin: 0 0 13px; padding-left: 29px; }
.vprp-approved-content .check-list li::before { content: "✓"; position: absolute; left: 0; color: #087f5b; font-weight: 900; }
.vprp-approved-content .split { display: grid; grid-template-columns: 1.05fr .95fr; gap: 48px; align-items: start; }
.vprp-approved-content .quote { margin: 0; border-left: 4px solid var(--vprp-blue); padding: 12px 0 12px 24px; color: var(--vprp-ink); font-size: 18px; }
.vprp-approved-content .quote cite { display: block; margin-top: 12px; color: var(--vprp-muted); font-size: 14px; font-style: normal; }
.vprp-approved-content .button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 8px; border: 1px solid transparent; border-radius: 7px; padding: 12px 20px; background: var(--vprp-blue); color: #fff; font-weight: 700; text-decoration: none; cursor: pointer; }
.vprp-approved-content .button:hover { background: var(--vprp-blue-dark); color: #fff; }
.vprp-approved-content .button--ghost { border-color: var(--vprp-line); background: #fff; color: var(--vprp-ink); }
.vprp-approved-content .button--light { background: #fff; color: var(--vprp-navy); }
.vprp-approved-content .button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.vprp-approved-content .cta-band { border-radius: 14px; padding: 46px; background: var(--vprp-navy); color: #fff; }
.vprp-approved-content .cta-band p { color: #c8d2e6; }
.vprp-approved-content .table-wrap { overflow-x: auto; border: 1px solid var(--vprp-line); border-radius: 10px; }
.vprp-approved-content table { width: 100%; min-width: 760px; border-collapse: collapse; }
.vprp-approved-content th, .vprp-approved-content td { padding: 14px 16px; border-bottom: 1px solid var(--vprp-line); text-align: left; vertical-align: top; }
.vprp-approved-content th { background: var(--vprp-navy); color: #fff; }
.vprp-approved-content .faq { border-top: 1px solid var(--vprp-line); }
.vprp-approved-content .faq details { border-bottom: 1px solid var(--vprp-line); padding: 18px 0; }
.vprp-approved-content .faq summary { cursor: pointer; font-weight: 700; }
.vprp-approved-content .faq details p { margin: 12px 0 0; color: var(--vprp-muted); }
.vprp-approved-content .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.vprp-approved-content .field--full { grid-column: 1 / -1; }
.vprp-approved-content .field label { display: block; margin: 0 0 6px; font-weight: 700; }
.vprp-approved-content .field input, .vprp-approved-content .field select, .vprp-approved-content .field textarea { width: 100%; min-height: 50px; border: 1px solid #bac6d8; border-radius: 8px; padding: 11px 13px; background: #fff; color: var(--vprp-ink); }
.vprp-approved-content .field textarea { min-height: 130px; resize: vertical; }
.vprp-approved-content .checkbox { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; font-size: 15px; }
.vprp-approved-content .checkbox input { width: 18px; height: 18px; margin-top: 4px; }
.vprp-approved-content .form-status { margin-top: 16px; padding: 12px 14px; border-radius: 8px; }
.vprp-approved-content .form-status:empty { display: none; }
.vprp-approved-content .form-status.is-error { background: #fff0f0; color: #9b1c1c; }
.vprp-approved-content .form-status.is-success { background: #eaf8f2; color: #075f45; }
.vprp-approved-content .tool-card { max-width: 900px; margin-top: 28px; }
.vprp-approved-content .tool-progress { height: 8px; overflow: hidden; border-radius: 99px; background: var(--vprp-line); }
.vprp-approved-content .tool-progress span { display: block; height: 100%; width: 0; background: var(--vprp-blue); transition: width .25s ease; }
.vprp-approved-content .tool-meta { display: flex; justify-content: space-between; gap: 18px; margin: 14px 0 22px; color: var(--vprp-muted); font-size: 14px; }
.vprp-approved-content .tool-options { display: grid; gap: 10px; }
.vprp-approved-content .tool-option { width: 100%; border: 1px solid #bac6d8; border-radius: 9px; padding: 14px 16px; background: #fff; color: var(--vprp-ink); text-align: left; cursor: pointer; }
.vprp-approved-content .tool-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 22px; }
.vprp-approved-content .result-bars { display: grid; gap: 13px; margin: 24px 0; }
.vprp-approved-content .result-bar__line { height: 10px; overflow: hidden; border-radius: 99px; background: var(--vprp-line); }
.vprp-approved-content .result-bar__line span { display: block; height: 100%; background: var(--vprp-blue); }
.vprp-approved-content .download-box { margin-top: 22px; padding: 18px; border: 1px solid #a9cbbd; border-radius: 10px; background: #effaf5; }
.vprp-approved-content .notice { padding: 16px 18px; border-left: 4px solid var(--vprp-blue); background: #eef4ff; }

/* The legacy counter was designed to overlap the old service grid by 140px.
   In the repositioned homepage it follows a complete CTA section, so it must
   remain in normal document flow. */
#services.vprp-approved-content + .counter-one { margin-top: 0; }
@media (max-width: 1050px) {
  .vprp-approved-content .trust-grid { grid-template-columns: repeat(3, 1fr); }
  .vprp-approved-content .card-grid--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 820px) {
  .vprp-approved-content .section { padding: 56px 0; }
  .vprp-approved-content .split, .vprp-approved-content .card-grid, .vprp-approved-content .card-grid--3 { grid-template-columns: 1fr; }
  .vprp-approved-content .cta-band { padding: 30px 24px; }
}
@media (max-width: 560px) {
  .vprp-approved-content .trust-grid, .vprp-approved-content .form-grid { grid-template-columns: 1fr; }
  .vprp-approved-content .field--full { grid-column: auto; }
  .vprp-approved-content .button-row .button { width: 100%; }
  .vprp-approved-content .tool-card, .vprp-approved-content .card { padding: 20px; }
}
