/*
 * Base presentation from the accepted :4173 reference, adapted to native blocks.
 * Component-specific adapters are loaded afterwards in migration.css.
 */
body.vh-wordpress { font-size: 18px; }
body.vh-wordpress .wp-block-heading { text-wrap: wrap; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #0a1426; }
::-webkit-scrollbar-thumb { background: #367588; border: 2px solid #367588; border-radius: 10px; }

/* core/button introduces a wrapper; only the anchor owns the visual box. */
.vh-page .wp-block-button.vh-button {
  display: inline-block; min-height: 0; padding: 0; border: 0; background: none;
  color: inherit; transform: none;
}
.vh-page .wp-block-button > .wp-block-button__link {
  min-height: 48px; padding: 12px 21px; border: 1px solid var(--vh-accent);
  border-radius: 7px; gap: 12px; line-height: 1.4; font-size: 16px;
  font-weight: 500; justify-content: center; text-decoration: none; filter: none;
}
.vh-page .wp-block-button.is-style-outline > .wp-block-button__link {
  border: 1px solid #5d7486; color: var(--vh-text); background: transparent;
}
.vh-page .wp-block-button.btn-secondary > .wp-block-button__link,
.vh-page .wp-block-button.btn-ghost > .wp-block-button__link { background: #102033; }
.vh-page .wp-block-button.vh-button-arrow > .wp-block-button__link::after { content: "↗"; }
.vh-page .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background: #a2e5e7; }
.vh-page .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #1b3346; }
@media(max-width:680px) {
  .vh-page .wp-block-button > .wp-block-button__link { font-size: 15px; padding: 12px 18px; }
}

/* Legacy content retains the original type scale, not the modern page scale. */
.vh-page .vh-legacy-content { padding-block: 0; color: #eaefef; line-height: 1.5; }
.vh-page .vh-legacy-content .heading { color: #eaefef; font-weight: 500; letter-spacing: normal; }
.vh-page .vh-legacy-content h2.heading { font-size: clamp(38px,2.75vw,48px); line-height: 1.25; }
.vh-page .vh-legacy-content h3.heading,
.vh-page .vh-legacy-content .heading.h3 { font-size: clamp(34px,2.3vw,40px); line-height: 1.25; }
.vh-page .vh-legacy-content .heading.h4 { font-size: clamp(28px,1.85vw,32px); line-height: 1.25; }
.vh-page .vh-legacy-content .heading.h5 { font-size: 24px; line-height: 1.5; }
.vh-page .vh-legacy-content .heading.h6 { font-size: 20px; line-height: 1.6; }
.vh-page .vh-legacy-content .text-wysiwyg { color: #bfc9d1; }
.vh-page .vh-legacy-content .paragraph { font-size: 18px; line-height: 1.44; }
.vh-page .vh-legacy-content .paragraph--s { font-size: 14px; line-height: 1.43; }
.vh-page .vh-legacy-content .paragraph--xs { font-size: 12px; line-height: 1.33; }
.vh-page .vh-legacy-content .text-secondary { color: #eaefef; }
.vh-page .vh-legacy-content .bg-primary-1,
.vh-page .vh-legacy-content .bg-surface-dark { background-color: #0c1a2b; }
.vh-page .vh-legacy-content .bg-surface-1 { background-color: #0d1a33; }
.vh-page .vh-legacy-content .bg-surface-dark-1 { background-color: #112140; }
.vh-page .vh-legacy-content [class~="bg-transparent!"] { background: transparent; }

/* Source section spacing is responsive, including non-section wrapper blocks. */
.vh-page .vh-legacy-content .is-style-small-padding,
.vh-page .vh-legacy-content .is-style-medium-padding,
.vh-page .vh-legacy-content .is-style-top-medium-and-bottom-small-padding,
.vh-page .vh-legacy-content .is-style-top-small-and-bottom-medium-padding { padding-block: 60px; }
@media(min-width:768px) {
  .vh-page .vh-legacy-content .is-style-medium-padding { padding-block: 80px; }
  .vh-page .vh-legacy-content .is-style-top-medium-and-bottom-small-padding { padding-top: 80px; }
  .vh-page .vh-legacy-content .is-style-top-small-and-bottom-medium-padding { padding-bottom: 80px; }
}
@media(min-width:992px) {
  .vh-page .vh-legacy-content .is-style-medium-padding { padding-block: 120px; }
  .vh-page .vh-legacy-content .is-style-top-medium-and-bottom-small-padding { padding-top: 120px; }
  .vh-page .vh-legacy-content .is-style-top-small-and-bottom-medium-padding { padding-bottom: 120px; }
}
.vh-page .vh-legacy-content .b--category-listing { padding-block: 0; }
.vh-page .vh-legacy-content .tile { border: 0; border-radius: 8px; background: #0d1a33; }
.vh-page .vh-legacy-content .tile__body { gap: 32px; }
.vh-page .vh-legacy-content .tile__content { gap: 16px; }
.vh-page .vh-legacy-content .tile__body [class~="@xl:h4"] { font-size: 18px; line-height: 1.44; }
.vh-page .vh-legacy-content .vh-blog-featured .tile__body [class~="@xl:h4"] { font-size: clamp(24px,2vw,32px); line-height: 1.3; }
.vh-page .vh-legacy-content .vh-blog-featured .tile__content { gap: 28px; }
.vh-page .vh-legacy-content .line-clamp-3,
.vh-page .vh-legacy-content .line-clamp-4 {
  display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden;
}
.vh-page .vh-legacy-content .line-clamp-3 { -webkit-line-clamp: 3; }
.vh-page .vh-legacy-content .line-clamp-4 { -webkit-line-clamp: 4; }
.vh-page .vh-legacy-content .pagination__page-number { text-align: center; }
.vh-page .vh-legacy-content .pagination__page-number a { display: grid; place-content: center; height: 100%; }
.vh-page .vh-legacy-content .pagination__page-number--current { background: #f0f0f0; color: #0a1426; }

/* Inline-only source divs become native paragraphs. Keep their original flow. */
body.vh-wordpress .vh-page p.vh-actions { margin: 28px 0 0; line-height: 1.65; }
body.vh-wordpress .vh-page .vh-text-link { line-height: 1.65; }
body.vh-wordpress .vh-page p.vh-proofline { line-height: 1.65; }
body.vh-wordpress .vh-page .vh-split > div > p { margin-top: 22px; }
body.vh-wordpress .vh-page .vh-area-summary .vh-lead { margin-bottom: 18px; }
body.vh-wordpress .vh-page .vh-split > div > p:last-child:not(.vh-text-link) { margin-bottom: 18px; }
body.vh-wordpress .vh-page .vh-model-row,
body.vh-wordpress .vh-page .vh-model-row > p,
body.vh-wordpress .vh-page .vh-model-index { line-height: 1.65; }
body.vh-wordpress .vh-page .wp-block-list.vh-list > li + li { margin-top: 0; }
body.vh-wordpress .vh-page .vh-faq .wp-block-details > p { margin-bottom: 26px; }
body.vh-wordpress .vh-page .vh-comparison-icon {
  display: block; width: 20px; height: 20px; flex: 0 0 20px;
  font-size: 0; line-height: 0; background: currentColor;
  mask-repeat: no-repeat; mask-position: center; mask-size: contain;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 2.5 2.5L16 9'/%3E%3C/svg%3E");
}
body.vh-wordpress .vh-page .vh-no .vh-comparison-icon {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m9 9 6 6m0-6-6 6'/%3E%3C/svg%3E");
}
.vh-page .vh-empty[hidden] { display: none !important; }

/* Preserve explicit reference type scales that generic native headings mask. */
body.vh-wordpress .vh-page .vh-legacy-content .b--category-listing h1.heading.h2:not(.vh-blog-title) {
  font-size: clamp(38px,2.75vw,48px); line-height: 1.25;
  letter-spacing: -.6px; margin-block: 0;
}
body.vh-wordpress .vh-page .vh-about-heading h2 {
  font-size: clamp(30px,2.6vw,42px); line-height: 1.15;
  font-weight: 500; letter-spacing: -.025em; color: #eaefef; text-wrap: balance;
}
body.vh-wordpress .vh-page .vh-person-copy h3 {
  font-size: clamp(26px,2.5vw,32px); line-height: 1.2;
  font-weight: 500; letter-spacing: -.02em; color: var(--vh-text);
}
body.vh-wordpress .vh-page .vh-scenario-heading h3 {
  font-size: clamp(25px,2.1vw,32px); line-height: 1.25;
  font-weight: 500; letter-spacing: -.02em; color: var(--vh-text);
}
body.vh-wordpress .vh-page .vh-legacy-content :is(.vh-audit-related,.vh-audit-sources) h2 {
  font-size: clamp(38px,2.75vw,48px); line-height: 1.25;
  font-weight: 400; letter-spacing: normal; color: #eaefef;
}
@media(max-width:680px) {
  body.vh-wordpress .vh-page .vh-about-heading h2 { font-size: 30px; }
  body.vh-wordpress .vh-page .vh-scenario-heading h3 { font-size: 26px; }
}
