/* Shared navigation remains usable before the full desktop menu gets crowded. */
.vp-homepage .vp-nav-links { gap: clamp(14px, 1.7vw, 24px); }
.vp-homepage .vp-nav-links a { white-space: nowrap; }
@media (max-width: 1180px) {
  .vp-homepage .vp-nav-links { display: none !important; }
  .vp-homepage .vp-mobile-menu { display: block !important; }
}
.vp-homepage .vp-mobile-panel { max-width: calc(100vw - 48px); }
.vp-homepage .vp-mobile-panel a { min-height: 44px; }

/* Keep the Dutch mobile header inside the viewport when the translated CTA is wider. */
@media (max-width: 620px) {
  .vp-homepage .vp-nav {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 44px;
    gap: 8px;
  }
  .vp-homepage .vp-brand {
    min-width: 0;
    gap: 8px;
  }
  .vp-homepage .vp-brand-copy {
    min-width: 0;
  }
  .vp-homepage .vp-booking-mobile-cta {
    min-width: 0;
    padding-right: 9px !important;
    padding-left: 9px !important;
    font-size: .74rem;
  }
  .vp-homepage .vp-mobile-menu {
    width: 44px;
    min-width: 44px;
  }
}

/* The redesigned pages already provide their own header; avoid a second legacy header. */
body:has(.vp-homepage) #masthead,
body:has(.vp-homepage) .site-header,
body:has(#vp-screening) #masthead,
body:has(#vp-screening) .site-header {
  display: none !important;
}

.vp-homepage .vp-reflection { padding: 64px 0; background: #18364b; }
.vp-reflection .vp-reflection-grid { display: grid; grid-template-columns: minmax(200px, 300px) minmax(0, 1fr); align-items: center; gap: clamp(36px, 7vw, 100px); max-width: 1000px; }
.vp-reflection .vp-reflection-image { width: 100%; margin: 0; overflow: hidden; border: 1px solid rgba(244,239,231,.3); border-radius: 160px 160px 12px 12px; }
.vp-reflection-image img { display: block; width: 100%; height: auto; aspect-ratio: 4/5; object-fit: cover; }
.vp-reflection .vp-reflection-copy { text-align: center; }
.vp-reflection .vp-reflection-copy blockquote { margin: 0 auto 24px; color: #fbfaf7; font: italic 600 clamp(36px, 4.5vw, 60px)/1.12 "Cormorant Garamond", Georgia, serif; }
.vp-reflection .vp-reflection-copy p { margin: 0; color: #dedbd2; font-size: 14px; line-height: 1.6; letter-spacing: .12em; }
@media (max-width: 640px) {
  .vp-homepage .vp-reflection { padding: 44px 0; }
  .vp-reflection .vp-reflection-grid { grid-template-columns: 1fr; gap: 32px; }
  .vp-reflection .vp-reflection-image { max-width: 220px; margin: 0 auto; }
  .vp-reflection .vp-reflection-copy { text-align: center; }
}
.page-id-2452 #masthead, .page-id-2452 #colophon, .page-id-2452 .entry-header { display: none !important; }
.page-id-2452 #content > .ast-container, .page-id-2452 #primary, .page-id-2452 .ast-article-single { width: 100%; max-width: none; margin: 0; padding: 0; }
.vp-terms-page .vp-terms-layout { display: grid; grid-template-columns: 240px minmax(0, 740px); gap: clamp(40px, 6vw, 90px); padding-top: 76px; padding-bottom: 90px; align-items: start; }
.vp-terms-index { border-top: 2px solid #a65f48; padding-top: 24px; }
.vp-terms-index > p { color: #466d65; font-size: 14px; letter-spacing: .14em; font-weight: 700; }
.vp-terms-index ol { margin: 22px 0 0; padding-left: 22px; }
.vp-terms-index li { padding: 5px 0 5px 4px; font-size: 16px; line-height: 1.5; }
.vp-terms-index a { color: #18364b; text-decoration: none; }
.vp-terms-index a:hover { text-decoration: underline; }
.vp-terms-copy h1 { font-size: clamp(40px, 5vw, 64px); line-height: 1.05; margin: 0 0 48px; }
.vp-terms-copy h2 { font-size: clamp(28px, 3vw, 36px); line-height: 1.2; margin: 38px 0 16px; padding-top: 24px; border-top: 1px solid rgba(24,54,75,.15); scroll-margin-top: 40px; }
.vp-terms-copy p, .vp-terms-copy li { font-size: 17px; line-height: 1.8; }
.vp-terms-copy p { margin: 0 0 18px; }
.vp-terms-copy ol { margin: 20px 0; }
.vp-terms-copy a { color: #466d65; text-underline-offset: 3px; }
.vp-terms-copy { overflow-wrap: anywhere; }
@media (max-width: 800px) {
  .vp-terms-page .vp-terms-layout { grid-template-columns: 1fr; padding-top: 44px; padding-bottom: 60px; gap: 36px; }
  .vp-terms-index ol { columns: 2; column-gap: 30px; }
  .vp-terms-index li { break-inside: avoid; }
}
@media (max-width: 420px) { .vp-terms-index ol { columns: 1; } }
.vpap-lang-label { margin-left:6px; font-size:.78em; font-weight:700; letter-spacing:.08em; }

/* Readability pass: preserve the visual identity while improving body-text clarity. */
.vp-homepage { color:#263b44; }
.vp-homepage p,
.vp-homepage li { color:#304750; font-size:1rem; line-height:1.75; }
.vp-homepage .vp-hero .vp-lead { color:#304750; font-weight:450; line-height:1.72; }
.vp-homepage .vp-kicker,
.vp-homepage .vp-roman,
.vp-homepage .vp-duration { color:#3d625e; }
.vp-homepage .vp-nav-links a,
.vp-homepage .vp-mobile-panel a { color:#263f49!important; }
.vp-homepage .vp-nav-links .vp-lang,
.vp-homepage .vp-nav-links .vp-lang-option { color:#38615c!important; }
.vp-homepage a:not(.vp-btn):not(.vp-brand) { text-underline-offset:3px; }
.vp-homepage h1 { font-size:clamp(3rem,5.3vw,5.1rem); line-height:1.05; }
.vp-homepage h2,
.vp-homepage h3 { line-height:1.08; }
.vp-homepage p,
.vp-homepage li { color:#304750!important; font-size:1rem!important; line-height:1.75!important; }
.vp-homepage .vp-reflection .vp-reflection-copy p { color:#f0ece4!important; font-size:.95rem!important; line-height:1.65!important; }
.vp-homepage .vp-maxim p { color:rgba(255,255,255,.78)!important; font-size:.78rem!important; line-height:1.45!important; }
.vp-homepage .vp-facts { color:#f7f5ef; }
.vp-homepage .vp-btn,
.vp-homepage .vp-fact { color:#fff!important; }
.vp-homepage .vp-btn--ghost { color:var(--navy)!important; }
.vp-homepage .vp-cta p { color:rgba(255,255,255,.82)!important; }

/* Give the process illustration a clear role beside its introduction. */
@media (min-width: 921px) {
  .vp-homepage .vp-section--travertine > .vp-wrap {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);
    column-gap:clamp(46px,6vw,86px);
    align-items:center;
  }
  .vp-homepage .vp-section--travertine .vp-heading {
    grid-column:1;
    grid-row:1;
    margin-bottom:0;
  }
  .vp-homepage .vp-section--travertine .vp-ariadne-square {
    grid-column:2;
    grid-row:1;
    width:100%;
    max-width:500px;
    margin:0 0 0 auto;
    overflow:hidden;
    border:1px solid rgba(24,54,75,.14);
    border-radius:28px 28px 150px 150px;
    box-shadow:0 20px 48px rgba(24,54,75,.12);
  }
  .vp-homepage .vp-section--travertine .vp-ariadne-square img {
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:1;
    object-fit:cover;
  }
  .vp-homepage .vp-section--travertine .vp-journey {
    grid-column:1 / -1;
    grid-row:2;
    width:100%;
    margin-top:76px;
  }
}

/* Keep the self-checks template aligned with the shared practice header. */
#vp-screening { --navy:#18364b; --bronze:#678d84; --terracotta:#a65f48; }
#vp-screening .vp-nav-shell { position:relative; z-index:30; border-bottom:1px solid var(--line); background:rgba(251,250,247,.96); }
#vp-screening .vp-nav { display:flex; min-height:94px; align-items:center; justify-content:space-between; gap:30px; }
#vp-screening .vp-brand { display:flex; align-items:center; gap:13px; color:var(--navy)!important; text-decoration:none!important; }
#vp-screening .vp-brand-mark { width:45px; height:52px; flex:0 0 auto; }
#vp-screening .vp-brand-copy { display:grid; line-height:1; }
#vp-screening .vp-brand-copy strong { font-family:"Cormorant Garamond",Georgia,serif; font-size:1.27rem; letter-spacing:.015em; }
#vp-screening .vp-brand-copy span { margin-top:5px; color:#64747b; font-size:.68rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
#vp-screening .vp-nav-links { display:flex; align-items:center; gap:27px; }
#vp-screening .vp-nav-links>a { position:relative; padding:7px 0; color:#263f49!important; font-size:.88rem; font-weight:650; text-decoration:none!important; }
#vp-screening .vp-nav-links>a:not(.vp-nav-cta)::after { content:""; position:absolute; right:0; bottom:2px; left:0; height:1px; background:var(--terracotta); transform:scaleX(0); transition:transform .2s ease; }
#vp-screening .vp-nav-links>a:not(.vp-nav-cta):hover::after { transform:scaleX(1); }
#vp-screening .vp-nav-links .vp-lang { display:flex; align-items:center; gap:8px; padding-left:18px; border-left:1px solid var(--line); color:#38615c!important; letter-spacing:.08em; }
#vp-screening .vp-nav-links .vp-lang-option { display:inline-flex; align-items:center; gap:5px; padding:7px 0; color:#38615c!important; font-size:.8rem; letter-spacing:.08em; }
#vp-screening .vp-nav-links .vp-lang-option::after { display:none; }
#vp-screening .vp-nav-links .vp-nav-cta { padding:10px 17px!important; border:1px solid var(--navy); border-radius:999px; color:#fff!important; background:var(--navy); }
#vp-screening .vp-mobile-menu { display:none; position:relative; }
#vp-screening .vp-mobile-menu summary { display:grid; width:44px; height:44px; place-items:center; border-radius:50%; color:#fff; background:var(--bronze); cursor:pointer; list-style:none; }
#vp-screening .vp-mobile-menu summary::-webkit-details-marker { display:none; }
#vp-screening .vp-mobile-panel { position:absolute; top:53px; right:0; display:grid; width:250px; padding:17px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 18px 50px rgba(24,54,75,.17); }
#vp-screening .vp-mobile-panel a { padding:11px 10px; color:var(--navy)!important; font-weight:700; text-decoration:none!important; }
@media (max-width:1180px) { #vp-screening .vp-nav-links { display:none; } #vp-screening .vp-mobile-menu { display:block; } }

/* Make each self-check feel guided without changing its validated items or scoring. */
#vp-screening .vp-learn { margin:0 0 18px; padding:17px 20px; border:1px solid rgba(103,141,132,.28); border-radius:16px; background:#eef4f1; }
#vp-screening .vp-learn strong { display:block; color:#38615c; font-size:.76rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
#vp-screening .vp-learn p { margin:6px 0 0; color:#38515a; font-size:.95rem; line-height:1.6; }
#vp-screening .vp-warm-intro { margin:0 0 18px; color:#52636a; font-size:1rem; line-height:1.65; }
#vp-screening .vp-progress { display:flex; align-items:center; gap:14px; margin:0 0 26px; color:#38615c; font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
#vp-screening .vp-progress-label { min-width:122px; }
#vp-screening .vp-progress-track { display:block; width:min(220px,42vw); height:5px; overflow:hidden; border-radius:999px; background:rgba(103,141,132,.2); }
#vp-screening .vp-progress-track span { display:block; width:0; height:100%; border-radius:inherit; background:#678d84; transition:width .2s ease; }
#vp-screening .vp-result-label { display:block; margin-bottom:5px; color:#38615c; font-size:.73rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
@media (max-width:620px) {
  #vp-screening .vp-progress { align-items:flex-start; flex-direction:column; gap:8px; }
  #vp-screening .vp-progress-track { width:100%; }
}
.vp-terms-copy p,
.vp-terms-copy li { color:#304750; }
.vp-terms-copy a { color:#315f5a; }

/* Homepage visual refinement: calmer rhythm, clearer hierarchy, and gentler contrast. */
.vp-homepage .vp-hero {
  padding:72px 0 78px;
  background:linear-gradient(135deg,#fbfaf7 0%,#f1f5f2 100%);
}
.vp-homepage .vp-hero h1 {
  max-width:640px;
  font-size:clamp(2.9rem,4.8vw,4.65rem);
  line-height:1.04;
}
.vp-homepage .vp-hero .vp-lead {
  max-width:62ch;
  margin-top:20px;
}
.vp-homepage .vp-section { padding:92px 0; }
.vp-homepage .vp-heading { margin-bottom:36px; }
.vp-homepage .vp-heading h2,
.vp-homepage .vp-copy h2,
.vp-homepage .vp-about h2,
.vp-homepage .vp-cta h2 {
  font-size:clamp(2.35rem,4vw,3.65rem);
  line-height:1.08;
}
.vp-homepage .vp-heading p,
.vp-homepage .vp-copy > p,
.vp-homepage .vp-about-copy p,
.vp-homepage .vp-cta p { max-width:62ch; }
.vp-homepage .vp-section--mist { background:#f0f5f2; }
.vp-homepage .vp-section--travertine { background:#f7f2e9; }

/* Let the content lead while keeping the thread and labyrinth as quiet accents. */
.vp-homepage .vp-thread-hero { opacity:.16; }
.vp-homepage .vp-labyrinth { opacity:.08; }
.vp-homepage .vp-cta-labyrinth { opacity:.035; }
.vp-homepage .vp-cta-thread { opacity:.46; }

/* The filled action remains primary; outlined actions stay calm and readable. */
.vp-homepage .vp-btn--ghost {
  min-height:48px;
  padding:11px 19px;
  border-color:rgba(24,54,75,.55);
  color:#18364b!important;
  background:transparent;
  box-shadow:none;
}
.vp-homepage .vp-btn--ghost:hover {
  transform:translateY(-1px);
  border-color:#18364b;
  color:#18364b!important;
  background:rgba(24,54,75,.06);
  box-shadow:none;
}

/* A consistent, low-key treatment for the photographs and process artwork. */
.vp-homepage .vp-portrait img,
.vp-homepage .vp-image-card img,
.vp-homepage .vp-ariadne-square {
  border:1px solid rgba(24,54,75,.12);
  box-shadow:0 20px 48px rgba(24,54,75,.12);
}

/* Cards and credentials gain a small amount of life without becoming distracting. */
.vp-homepage .vp-card,
.vp-homepage .vp-credential {
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
@media (hover:hover) and (pointer:fine) {
  .vp-homepage .vp-card:hover,
  .vp-homepage .vp-credential:hover {
    transform:translateY(-4px);
    border-color:rgba(166,95,72,.32);
    box-shadow:0 16px 38px rgba(24,54,75,.10);
  }
}
.vp-homepage .vp-card::before { height:3px; }
.vp-homepage .vp-card-roman { color:rgba(24,54,75,.42); }
.vp-homepage .vp-journey {
  background:rgba(255,255,255,.72);
  box-shadow:0 12px 36px rgba(24,54,75,.045);
}
.vp-homepage .vp-step-medallion {
  background:#f7f2e9;
  box-shadow:0 4px 12px rgba(24,54,75,.06);
}
.vp-homepage .vp-step { transition:background .2s ease; }
@media (hover:hover) and (pointer:fine) {
  .vp-homepage .vp-step:hover { background:rgba(247,242,233,.42); }
}

@media (max-width:920px) {
  .vp-homepage .vp-hero { padding:56px 0 64px; }
  .vp-homepage .vp-section { padding:76px 0; }
  .vp-homepage .vp-heading { margin-bottom:30px; }
  .vp-homepage .vp-hero h1 { font-size:clamp(2.65rem,9vw,3.8rem); }
  .vp-homepage .vp-split,
  .vp-homepage .vp-about { gap:38px; }
  .vp-homepage .vp-cards { gap:16px; }
  .vp-homepage .vp-card { padding:27px 25px 29px; }
  .vp-homepage .vp-cta { padding:76px 0; }
  .vp-homepage .vp-thread-hero { opacity:.10; }
}
@media (max-width:560px) {
  .vp-homepage .vp-wrap { width:min(1180px,calc(100% - 40px)); }
  .vp-homepage .vp-section { padding:64px 0; }
  .vp-homepage .vp-hero { padding:48px 0 56px; }
  .vp-homepage .vp-hero h1 { font-size:2.65rem; }
  .vp-homepage .vp-hero .vp-lead { font-size:1rem; }
  .vp-homepage .vp-heading h2,
  .vp-homepage .vp-copy h2,
  .vp-homepage .vp-about h2,
  .vp-homepage .vp-cta h2 { font-size:2.55rem; }
  .vp-homepage .vp-portrait img,
  .vp-homepage .vp-image-card img { height:475px; }
  .vp-homepage .vp-btns { margin-top:25px; }
  .vp-homepage .vp-cta { padding:64px 0; }
}

/* Interior pages: carry the same visual language beyond the homepage. */
.vp-homepage .vp-inner-hero {
  padding:76px 0 70px;
  background:linear-gradient(135deg,#fbfaf7 0%,#f1f5f2 100%);
}
.vp-homepage .vp-inner-copy h1 {
  max-width:680px;
  font-size:clamp(2.85rem,5vw,4.7rem);
  line-height:1.04;
}
.vp-homepage .vp-inner-copy .vp-lead,
.vp-homepage .vp-inner-heading .vp-lead {
  max-width:62ch;
  line-height:1.75;
}
.vp-homepage .vp-inner-section {
  padding:86px 0;
  background:#fbfaf7;
}
.vp-homepage .vp-inner-section--mist { background:#f0f5f2; }
.vp-homepage .vp-inner-section--stone { background:#f7f2e9; }
.vp-homepage .vp-inner-heading {
  max-width:780px;
  margin-bottom:34px;
}
.vp-homepage .vp-inner-heading h2,
.vp-homepage .vp-closing h2 {
  font-size:clamp(2.35rem,4vw,3.65rem);
  line-height:1.08;
}
.vp-homepage .vp-inner-heading > p,
.vp-homepage .vp-inner-heading .vp-lead { color:#304750; }
.vp-homepage .vp-inner-actions { gap:12px; margin-top:25px; }
.vp-homepage .vp-inner-visual,
.vp-homepage .vp-inner-arch,
.vp-homepage .vp-threshold-frame,
.vp-homepage .vp-art-frame {
  filter:saturate(.92);
}

/* About page panels and credentials. */
.vp-homepage .vp-panel,
.vp-homepage .vp-credential {
  border:1px solid rgba(24,54,75,.12);
  background:rgba(255,255,255,.86);
  box-shadow:0 10px 28px rgba(24,54,75,.055);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.vp-homepage .vp-panel { border-radius:18px; }
.vp-homepage .vp-credentials { gap:14px; }
.vp-homepage .vp-credentials-aside { max-width:62ch; }
.vp-homepage .vp-two-col,
.vp-homepage .vp-three-col { gap:18px; }
.vp-homepage .vp-list { line-height:1.7; }
@media (hover:hover) and (pointer:fine) {
  .vp-homepage .vp-panel:hover,
  .vp-homepage .vp-credential:hover {
    transform:translateY(-3px);
    border-color:rgba(166,95,72,.3);
    box-shadow:0 16px 34px rgba(24,54,75,.09);
  }
}

/* Fees and practical information. */
.vp-homepage .vp-fee-grid,
.vp-homepage .vp-fact-grid { gap:18px; }
.vp-homepage .vp-fee-card,
.vp-homepage .vp-fact-box {
  border:1px solid rgba(24,54,75,.12);
  border-radius:20px;
  background:rgba(255,255,255,.88);
  box-shadow:0 12px 32px rgba(24,54,75,.065);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.vp-homepage .vp-fee-card { border-top:3px solid #a65f48; }
.vp-homepage .vp-fee-card p,
.vp-homepage .vp-fact-box p,
.vp-homepage .vp-faq p { max-width:62ch; }
.vp-homepage .vp-price { color:#18364b; }
@media (hover:hover) and (pointer:fine) {
  .vp-homepage .vp-fee-card:hover,
  .vp-homepage .vp-fact-box:hover {
    transform:translateY(-3px);
    border-color:rgba(166,95,72,.3);
    box-shadow:0 17px 38px rgba(24,54,75,.10);
  }
}

/* Contact page: make the form and supporting information easier to scan. */
.vp-homepage .vp-contact-grid { gap:28px; }
.vp-homepage .vp-contact-note,
.vp-homepage .vp-assurance-card,
.vp-homepage .vp-crisis-card,
.vp-homepage .vp-next-step {
  border:1px solid rgba(24,54,75,.12);
  box-shadow:0 10px 28px rgba(24,54,75,.055);
}
.vp-homepage .vp-contact-note,
.vp-homepage .vp-next-step { transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.vp-homepage .vp-form-intro { max-width:62ch; }
.vp-homepage #vp-form-mount input,
.vp-homepage #vp-form-mount select,
.vp-homepage #vp-form-mount textarea {
  min-height:50px;
  padding:12px 14px;
  border:1px solid rgba(24,54,75,.24);
  border-radius:12px;
  color:#263b44;
  background:#fff;
  box-shadow:none;
}
.vp-homepage #vp-form-mount textarea { min-height:150px; }
.vp-homepage #vp-form-mount input:focus,
.vp-homepage #vp-form-mount select:focus,
.vp-homepage #vp-form-mount textarea:focus {
  border-color:#678d84;
  outline:3px solid rgba(103,141,132,.2);
  outline-offset:1px;
}
.vp-homepage #vp-form-mount button[type="submit"] {
  min-height:50px;
  padding:12px 22px;
  border:1px solid #18364b;
  border-radius:999px;
  color:#fff;
  background:#18364b;
  font-weight:750;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.vp-homepage #vp-form-mount button[type="submit"]:hover {
  transform:translateY(-2px);
  background:#102a3d;
  box-shadow:0 12px 28px rgba(24,54,75,.18);
}
@media (hover:hover) and (pointer:fine) {
  .vp-homepage .vp-contact-note:hover,
  .vp-homepage .vp-next-step:hover {
    transform:translateY(-3px);
    border-color:rgba(166,95,72,.3);
    box-shadow:0 16px 34px rgba(24,54,75,.09);
  }
}

/* Terms page: make the long-form information feel lighter and easier to navigate. */
.vp-homepage .vp-terms-layout {
  padding-top:64px;
  padding-bottom:78px;
  gap:clamp(44px,6vw,80px);
}
.vp-homepage .vp-terms-index {
  padding:22px 20px 20px;
  border:1px solid rgba(24,54,75,.12);
  border-top:2px solid #a65f48;
  border-radius:0 0 16px 16px;
  background:rgba(255,255,255,.62);
  box-shadow:0 10px 26px rgba(24,54,75,.045);
}
.vp-homepage .vp-terms-copy { max-width:760px; }
.vp-homepage .vp-terms-copy h1 {
  margin-bottom:36px;
  font-size:clamp(2.85rem,5vw,4.55rem);
  line-height:1.05;
}
.vp-homepage .vp-terms-copy h2 {
  margin-top:42px;
  font-size:clamp(2rem,3.3vw,2.85rem);
  line-height:1.12;
}
.vp-homepage .vp-terms-copy p,
.vp-homepage .vp-terms-copy li {
  font-size:1rem;
  line-height:1.78;
}

/* Self-checks page: keep the guided experience calm and consistent with the practice. */
#vp-screening .vp-hero {
  padding:78px 0 72px;
  background:linear-gradient(135deg,#fbfaf7 0%,#f1f5f2 100%);
}
#vp-screening .vp-hero h1 {
  max-width:820px;
  font-size:clamp(2.85rem,5vw,4.7rem);
  line-height:1.04;
}
#vp-screening .vp-hero .vp-lead { max-width:62ch; line-height:1.75; }
#vp-screening .vp-section { padding:86px 0; }
#vp-screening .vp-tests { background:#f0f5f2; }
#vp-screening .vp-cards { gap:18px; margin-top:34px; }
#vp-screening .vp-card {
  min-height:320px;
  padding:30px;
  border:1px solid rgba(24,54,75,.12);
  border-radius:8px 8px 22px 22px;
  background:rgba(255,255,255,.9);
  box-shadow:0 12px 32px rgba(24,54,75,.065);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
#vp-screening .vp-card::before { height:3px; }
#vp-screening .vp-card h3 { font-size:clamp(1.45rem,2.2vw,1.9rem); line-height:1.1; }
#vp-screening .vp-card p { max-width:30ch; color:#52636a; line-height:1.7; }
@media (hover:hover) and (pointer:fine) {
  #vp-screening .vp-card:hover {
    transform:translateY(-4px);
    border-color:rgba(166,95,72,.3);
    box-shadow:0 17px 38px rgba(24,54,75,.10);
  }
}
#vp-screening .vp-test {
  margin:18px 0;
  overflow:hidden;
  border:1px solid rgba(24,54,75,.12);
  border-radius:18px;
  box-shadow:0 10px 28px rgba(24,54,75,.055);
}
#vp-screening .vp-test > summary {
  padding:20px 25px;
  color:#18364b;
  background:rgba(255,255,255,.78);
}
#vp-screening .vp-test[open] > summary { border-bottom:1px solid rgba(24,54,75,.1); background:#fff; }
#vp-screening .vp-test-body { padding:26px 28px 32px; background:#fff; }
#vp-screening .vp-option {
  border:1px solid rgba(24,54,75,.14);
  border-radius:12px;
  background:#fbfaf7;
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
#vp-screening .vp-option:hover { border-color:#678d84; background:#f0f5f2; }
#vp-screening .vp-button {
  min-height:50px;
  padding:12px 22px;
  border:1px solid #18364b;
  border-radius:999px;
  color:#fff;
  background:#18364b;
  font-weight:750;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
#vp-screening .vp-button:hover { transform:translateY(-2px); background:#102a3d; box-shadow:0 12px 28px rgba(24,54,75,.18); }
#vp-screening .vp-result { border-left:3px solid #678d84; background:#eef4f1; }
#vp-screening .vp-cta { padding:82px 0; background:#18364b; }
#vp-screening .vp-cta h2 { max-width:780px; font-size:clamp(2.35rem,4vw,3.65rem); line-height:1.08; }
#vp-screening .vp-cta p { max-width:62ch; color:rgba(255,255,255,.82); line-height:1.75; }

/* Keep copy in shared dark closing and call-to-action sections readable. */
body .vp-cta p,
body .vp-cta .vp-cta-inner p,
body .vp-closing,
body .vp-closing p,
body .vp-closing li { color:#eaf0f4!important; }
body .vp-closing h1,
body .vp-closing h2,
body .vp-closing h3 { color:#fff!important; }
body .vp-closing a:not(.vp-btn) { color:#fff!important; }

@media (max-width:920px) {
  .vp-homepage .vp-inner-hero { padding:60px 0 58px; }
  .vp-homepage .vp-inner-section { padding:72px 0; }
  .vp-homepage .vp-inner-copy h1 { font-size:clamp(2.65rem,9vw,3.8rem); }
  .vp-homepage .vp-inner-heading { margin-bottom:30px; }
  .vp-homepage .vp-fee-grid,
  .vp-homepage .vp-fact-grid { gap:16px; }
  .vp-homepage .vp-contact-grid { gap:22px; }
  #vp-screening .vp-hero { padding:60px 0 58px; }
  #vp-screening .vp-section { padding:72px 0; }
  #vp-screening .vp-hero h1 { font-size:clamp(2.65rem,9vw,3.8rem); }
  #vp-screening .vp-card { min-height:auto; }
}
@media (max-width:560px) {
  .vp-homepage .vp-inner-hero { padding:50px 0 52px; }
  .vp-homepage .vp-inner-section { padding:64px 0; }
  .vp-homepage .vp-inner-copy h1,
  #vp-screening .vp-hero h1 { font-size:2.65rem; }
  .vp-homepage .vp-inner-heading h2,
  .vp-homepage .vp-closing h2,
  #vp-screening .vp-cta h2 { font-size:2.55rem; }
  .vp-homepage .vp-terms-layout { padding-top:46px; padding-bottom:60px; }
  .vp-homepage .vp-terms-copy h1 { font-size:2.65rem; }
  .vp-homepage .vp-fee-card,
  .vp-homepage .vp-fact-box,
  .vp-homepage .vp-contact-note,
  .vp-homepage .vp-next-step { padding:24px; }
  #vp-screening .vp-hero { padding:50px 0 52px; }
  #vp-screening .vp-section { padding:64px 0; }
  #vp-screening .vp-card { padding:26px 24px 28px; }
  #vp-screening .vp-test-body { padding:22px 20px 26px; }
}
