/* V3 refinements of the existing components and purple visual identity. */
.masthead__row { max-width:1600px; gap:32px; }
.nav-desktop { flex:1; min-width:0; gap:26px; }
.nav-list { flex:1; justify-content:center; gap:20px; }
.header-cta { margin:0; }
@media (max-width:1439px) {
  .nav-desktop { display:none; }
  .nav-mobile { display:block; margin-left:auto; }
}
@media (min-width:1440px) {
  .nav-desktop { display:flex; }
  .nav-mobile { display:none; }
}
.v3-kpis { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; margin:32px 0; }
.v3-kpis .v2-metric { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:16px; min-height:184px; padding:28px 18px; border:1px solid var(--v2-line); border-radius:20px; background:var(--v2-wash,#f5faff); text-align:center; }
.v3-kpis .v2-metric > strong { display:flex; align-items:center; justify-content:center; min-height:64px; font-size:clamp(32px,3.8vw,56px); line-height:1.1; color:var(--v2-ink,#171440); }
.v3-kpis .v2-metric > span { display:block; margin:0; font-size:16px; }
.v3-kpis .v3-metric--rating .kpi-measure__stars { margin:0; width:180px; min-height:64px; }
.v2-rachel figure { margin:0; }
.v2-quotes > .wrap { position:relative; padding-inline:62px; }
.v2-quotes__controls { position:absolute; top:50%; inset-inline:0; margin:20px 0 0; justify-content:space-between; pointer-events:none; }
.v2-quotes__controls button { pointer-events:auto; flex:none; background:#fff; }
.v2-quotes__list > li { min-width:0; }
.v3-partners .logo-grid { display:grid; max-width:none; margin:0; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:130px; gap:18px; }
.v3-partners .logo-cell { width:auto; height:auto; }
.v3-partners .logo-cell img { max-height:88px; width:90%; object-fit:contain; }
.v3-partners [data-logo="the-francis-crick-institute"] { padding:6px; }
.v3-partners [data-logo="the-francis-crick-institute"] img { max-height:116px; height:116px; width:100%; }
@media (max-width:1000px) {
  .v3-kpis { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .v3-kpis .v2-metric { grid-column:span 2; }
  .v3-kpis .v2-metric:nth-child(-n+2) { grid-column:span 3; }
  .v3-partners .logo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .v3-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .v3-kpis .v2-metric,.v3-kpis .v2-metric:nth-child(-n+2) { grid-column:auto; min-height:158px; padding:20px 12px; gap:12px; }
  .v3-kpis .v2-metric:last-child { grid-column:1 / -1; }
  .v3-kpis .v2-metric > span { font-size:14px; }
  .v3-kpis .v2-metric > strong { min-height:48px; font-size:38px; }
  .v3-kpis .v3-metric--rating .kpi-measure__stars { min-height:48px; }
  .v2-quotes > .wrap { padding-inline:36px; }
  .v2-quotes__controls { margin-top:32px; }
  .v2-quotes__controls button { width:32px; height:40px; font-size:20px; }
  .v3-partners .logo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:116px; gap:12px; }
  .v3-partners .logo-cell img { max-height:84px; }
  .v3-partners [data-logo="the-francis-crick-institute"] img { max-height:104px; height:104px; }
  .carousel[data-carousel="trusts"][data-enhanced="true"] .logo-grid { grid-template-rows:repeat(3,184px); }
}

/* Full published resources use the current cards, typography and page shell. */
.v3-article-column { max-width:960px; }
.v3-resource-article .title { margin-block:24px; max-width:24ch; font-size:clamp(32px,4.2vw,60px); }
.v3-resource-article .v2-content-lead { max-width:68ch; margin-block:24px; }
.v3-resource-article .v2-article-hero { margin:36px 0 0; }
.v3-source-richtext { font-size:18px; line-height:1.65; }
.v3-source-richtext h2,.v3-source-richtext h3 { margin:48px 0 20px; font-weight:500; line-height:1.25; }
.v3-source-richtext h2 { font-size:clamp(28px,3vw,38px); }
.v3-source-richtext h3 { font-size:clamp(24px,2.5vw,32px); }
.v3-source-richtext h4 { margin:32px 0 16px; font-size:22px; }
.v3-source-richtext h5,.v3-source-richtext h6 { margin:12px 0 24px; font-size:16px; font-weight:500; }
.v3-source-richtext p { margin:0 0 24px; }
.v3-source-richtext ul,.v3-source-richtext ol { padding-left:28px; margin:24px 0; }
.v3-source-richtext li { margin:10px 0; }
.v3-source-richtext blockquote { margin:32px 0 16px; padding:20px 28px; border-left:4px solid #8b7ce8; background:#f1edff; border-radius:0 12px 12px 0; }
.v3-source-richtext figure { margin:36px 0; }
.v3-source-richtext figure img { width:100%; height:auto; border-radius:16px; }
.v3-source-richtext figcaption { margin-top:12px; font-size:14px; text-align:center; }
.v3-source-richtext [id^="release-"] { scroll-margin-top:100px; }
.v3-source-richtext > [id^="release-"] + [id^="release-"] { margin-top:80px; padding-top:40px; border-top:1px solid #dcd7f4; }
@media (max-width:600px) {
 .v3-source-richtext { font-size:17px; }
 .v3-source-richtext blockquote { padding:18px; }
 .v3-source-richtext figure { margin:28px 0; }
}

.v3-proven-results .v2-results { grid-template-columns:1.1fr 1fr; gap:96px; }
.v3-proven-results h2 { font-size:clamp(36px,4vw,56px); }
.v3-proven-results h2 + p { margin-top:32px; font-size:22px; line-height:1.5; color:#737380; }
.v3-proven-results .v2-footnotes { margin-top:18px; color:#8d8c97; }
.v3-proven-results .v2-metric { padding:32px 0; }
.v3-proven-results .v2-metric:first-child { padding-top:28px; }
.v3-proven-results .v2-metric:last-child { border-bottom:1px solid var(--v2-line); }
.v3-proven-results .v2-metric strong { font-size:clamp(74px,8vw,118px); font-weight:500; }
.v3-proven-results .v2-metric span { font-size:20px; color:#737380; }
.v3-service-experience { grid-template-columns:1.5fr 1fr; gap:56px; }
.v3-service-experience .v2-map { max-height:none; width:100%; }
.v3-service-experience .v2-split__copy > img { width:190px; max-width:55%; margin:0 0 28px; border-radius:0; }
@media (max-width:800px) {
 .v3-proven-results .v2-results,.v3-service-experience { grid-template-columns:1fr; gap:36px; }
 .v3-proven-results h2 + p { font-size:19px; margin-top:24px; }
 .v3-proven-results .v2-metric span { font-size:17px; }
 .v3-service-experience .v2-split__copy > img { width:150px; max-width:45%; }
}

.v3-ai-workflow { grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; }
.v3-ai-workflow .v2-card { position:relative; }
.v3-ai-workflow .v2-card:not(:last-child)::after { content:"→"; position:absolute; left:calc(100% + 5px); top:45%; color:#6d5ad7; font-size:28px; }
.v3-image-direction { border:1px dashed #9686df; border-radius:18px; padding:32px; background:#f1edff; color:#242048; }
.v3-image-direction__label { font-size:14px; font-weight:600; margin-bottom:18px; }
.v3-image-direction > p:last-child { font-size:16px; line-height:1.6; }
.v3-image-direction { text-align:left; height:auto; min-width:0; }
.v2-card__media:has(.v3-image-direction) { height:auto; background:transparent; overflow:visible; }
.v2-card__media .v3-image-direction { padding:24px; }
.v2-loop:has(.v3-image-direction) { align-items:stretch; }
.v2-loop__dashboard:has(.v3-image-direction) { padding:0; background:none; box-shadow:none; }
.v2-family-animations:has(.v3-image-direction) { grid-template-columns:1fr; max-width:none; }
.v2-family-animations__stills:has(.v3-image-direction) { grid-template-columns:1fr; }
.v2-person > .v3-image-direction { padding:22px; margin-bottom:22px; }
.v2-flow > li:has(.v3-image-direction) { display:flex; flex-direction:column; align-items:stretch; }
.v2-flow > li > .v3-image-direction { margin-bottom:24px; padding:20px; flex:1; }
.v2-content-hero > .wrap > .v3-image-direction { margin-top:40px; }
@media (max-width:900px) {
 .v3-ai-workflow { grid-template-columns:1fr; gap:40px; }
 .v3-ai-workflow .v2-card:not(:last-child)::after { content:"↓"; left:50%; top:calc(100% + 2px); transform:translateX(-50%); }
 .v3-image-direction { padding:24px; }
}

/* The named original screens remain distinct and receive usable space. */
.v2-flow { gap:30px; }
.v2-flow > li { padding:24px 18px; }
.v2-flow img { height:240px; margin-bottom:24px; }
.referral-oversight { text-align:center; }
#clinician-dashboard > .v2-split,#service-insights > .v2-split,#client-analytics > .v2-split { grid-template-columns:1fr; gap:36px; }
#clinician-dashboard .v2-split__copy,#service-insights .v2-split__copy,#client-analytics .v2-split__copy { max-width:860px; }
.v2-family-dashboard,.v2-family-dashboard-screen { width:100%; max-width:1040px; justify-self:center; margin:0; }
.v2-family-dashboard img,.v2-family-dashboard-screen { width:100%; height:auto; max-height:none; object-fit:contain; }
.v3-combined { align-items:stretch; grid-template-columns:1fr 1fr 1fr; gap:36px; }
.v3-combined > .v3-route-card { border:1px solid #ddd6f4; border-radius:20px; padding:28px 24px; background:#fff; text-align:left; }
.v3-combined > .v3-route-card--dashboard { background:#c5b2ff; text-align:center; display:flex; flex-direction:column; justify-content:space-between; }
.v3-route-badge { display:inline-block; padding:7px 16px; background:#c5b2ff; border-radius:24px; font-size:14px; font-weight:600; margin-bottom:22px; }
.v3-route-card--nhs .v3-route-badge { background:#211a42; color:#fff; }
.v3-combined h3 { font-size:22px; line-height:1.3; }
.v3-combined .v3-route-phone { float:right; width:76px; height:154px; margin:0 0 18px 12px; background:transparent; border-radius:0; object-fit:contain; }
.v3-combined .v3-route-phone--inset { width:106px; height:176px; margin-top:-16px; margin-right:-18px; }
.v3-route-detail { clear:both; padding-top:18px; margin-top:22px; border-top:1px solid #ddd6f4; }
.v3-route-detail p { margin-top:8px; }
.v3-route-card--dashboard > img { width:100%; height:auto; margin-top:24px; border-radius:10px; }
.v3-combined > div:first-child::after { right:-34px; }
.v3-combined > div:last-child::before { left:-34px; }
.v2-triangle { grid-auto-rows:1fr; }
.v2-tier { min-height:240px; height:100%; grid-template-columns:minmax(0,1fr) 183px; }
.v2-tier img { max-width:100%; max-height:190px; }
.v3-framework-reference { text-align:center; margin-top:32px; }
.v3-plan-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto auto auto repeat(6,auto) auto; column-gap:28px; }
.v3-plan-card { min-width:0; display:grid; grid-template-rows:subgrid; grid-row:span 10; padding:36px; border:1px solid #dcd6f4; border-radius:24px; background:#fff; }
.v3-plan-card--professional { border-color:#9380dc; background:#f5f1ff; }
.v3-plan-card > h3 { font-size:30px; line-height:1.2; margin:0 0 22px; }
.v3-plan-price { min-height:128px; }
.v3-plan-price .v2-pricing-total { font-size:clamp(40px,4.2vw,60px); line-height:1.1; margin:0 0 12px; }
.v3-plan-price #pricing-price-description { margin:0; font-size:16px; }
.v3-plan-calculator { padding:18px 0 32px; }
.v3-plan-calculator .v2-pricing-intervals { margin-bottom:28px; }
.v3-plan-calculator #pricing-annual-saving { min-height:38px; font-size:14px; }
.v3-plan-calculator .v2-pricing-stepper { width:100%; max-width:300px; }
.v3-plan-features { display:contents; }
.v3-plan-feature { display:flex; align-items:center; justify-content:space-between; gap:22px; min-height:76px; padding:18px 0; border-top:1px solid #ddd6f4; font-size:16px; }
.v3-plan-feature:first-child { font-weight:600; }
.v3-plan-feature dt { flex:1; }
.v3-plan-feature dd { margin:0; text-align:right; width:140px; flex:none; }
.v3-plan-feature dd > [aria-hidden] { font-size:26px; color:#5e44af; }
.v3-plan-action { padding-top:28px; }
.v3-plan-action > .btn { width:100%; height:auto; min-height:48px; padding:12px 20px; text-align:center; line-height:1.4; }
.v3-plan-action .v2-pricing-small { margin-top:14px; }
.v3-plan-action [aria-disabled="true"] { opacity:.55; cursor:default; }
#pricing-enterprise > span { display:block; margin:14px 0; }
#pricing-load-state { min-height:24px; }
#pricing-unavailable { margin-top:28px; padding:28px; border:1px solid #b5a8df; border-radius:16px; }
@media (max-width:800px) {
 .v3-plan-cards { grid-template-columns:1fr; grid-template-rows:none; gap:28px; }
 .v3-plan-card { grid-template-rows:none; grid-row:auto; padding:28px 24px; }
 .v3-plan-spacer { display:none; }
 .v3-plan-price { min-height:100px; }
 .v3-plan-feature { min-height:84px; gap:16px; font-size:15px; }
 .v3-plan-feature dd { width:112px; }
}
@media (max-width:1000px) {
 .v2-flow { grid-template-columns:1fr; max-width:680px; margin-inline:auto; gap:40px; }
 .v2-flow > li { display:grid; grid-template-columns:180px minmax(0,1fr); align-items:center; gap:0 24px; }
 .v2-flow img { grid-row:1 / 3; height:210px; margin:0; }
 .v2-flow > li:not(:last-child)::after { content:"↓"; display:block; top:auto; bottom:-35px; right:calc(50% - 8px); }
 .v3-combined { grid-template-columns:1fr; max-width:640px; margin-inline:auto; gap:44px; }
 .v3-combined > div:first-child::after { content:"↓"; top:auto; bottom:-39px; right:calc(50% - 10px); }
 .v3-combined > div:last-child::before { content:"↑"; top:-40px; left:calc(50% - 10px); }
 .v3-route-card--dashboard > img { max-width:520px; align-self:center; }
}
@media (max-width:600px) {
 .v2-flow > li { display:block; padding:24px; }
 .v2-flow img { height:250px; margin-bottom:24px; }
 .v2-tier,.v2-tier:nth-child(1),.v2-tier:nth-child(2) { width:100%; grid-template-columns:1fr; min-height:400px; }
 .v2-tier img { height:180px; width:auto; max-height:180px; }
 .v2-tier:first-child img { height:auto; width:183px; }
 .v3-combined > .v3-route-card { padding:24px; }
}

/* Add the launch-coverage summary without changing the retained V2 badge layout. */
.v3-standards-summary { display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:760px; margin:32px auto 0; padding:24px 28px; border:1px solid #dcd6f4; border-radius:20px; background:#f3f0ff; text-align:left; }
.v3-standards-summary h3 { margin:0; font-size:22px; line-height:1.3; }
.v3-standards-summary__markets { display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0; list-style:none; }
.v3-standards-summary__markets > li { min-width:58px; padding:8px 15px; border:1px solid #d6cfee; border-radius:999px; background:#fff; font-size:16px; font-weight:600; text-align:center; }
@media(max-width:600px) { .v3-standards-summary { flex-direction:column; justify-content:center; gap:18px; padding:24px 20px; text-align:center; } .v3-standards-summary__markets { justify-content:center; } }
