/* V2 shared design. The original V1 stylesheet is retained as the base. */
:root { --v2-purple:#6352c9; --v2-ink:#191640; --v2-pale:#efedff; --v2-line:#d9d4f2; --v2-header:88px; }
html { scroll-padding-top:calc(var(--v2-header) + 24px); }
body { overflow-wrap:break-word; }
[hidden] { display:none !important; }
.masthead { position:sticky; top:0; z-index:100; background:rgba(248,250,255,.97); border-bottom:1px solid var(--v2-line); backdrop-filter:blur(14px); }
.masthead__row { min-height:var(--v2-header); }
.nav-mobile .nav-panel { max-height:calc(100dvh - var(--v2-header) - 20px); overflow:auto; overscroll-behavior:contain; }
.nav-disclosure[open] .nav-panel { box-shadow:0 16px 50px #19164018; }
.btn { white-space:normal; text-align:center; min-height:44px; }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid var(--v2-purple); outline-offset:5px; }
.site-footer a:focus-visible { outline-color:#fff; }
.v2-section { padding:88px 0; }
.v2-section--tint { background:var(--v2-pale); }
.v2-section--rule { border-top:1px solid var(--v2-line); }
.v2-heading { max-width:760px; margin:0 0 40px; }
.v2-heading h2,.v2-section h2 { font-size:clamp(28px,3.2vw,46px); line-height:1.12; letter-spacing:-.035em; }
.v2-heading p { margin-top:20px; }
.v2-section p { line-height:1.6; }
.v2-section h3 { font-size:24px; line-height:1.25; letter-spacing:-.02em; }
.v2-eyebrow { display:block; margin:0 0 20px; text-transform:uppercase; letter-spacing:.11em; font-size:12px; font-weight:600; color:var(--v2-purple); }
.v2-hero { text-align:center; padding:64px 0 80px; background:linear-gradient(180deg,#c2bafa 0%,#eeecff 60%,#f7faff 100%); }
.v2-hero h1 { max-width:970px; margin:0 auto 24px; font-size:clamp(38px,5.2vw,70px); line-height:1.06; letter-spacing:-.05em; }
.v2-hero .lede { max-width:650px; margin:0 auto 24px; }
.v2-hero .actions { margin-bottom:48px; }
.v2-hero img { max-width:100%; height:auto; }
.v2-hero__image { display:block; width:min(850px,100%); margin:36px auto 0; border-radius:20px; }
.v2-loop { display:grid; grid-template-columns:1fr 110px 1.35fr; gap:24px; align-items:center; max-width:940px; margin:48px auto 0; }
.v2-loop__phone { max-height:370px; margin:auto; object-fit:contain; }
.v2-loop__dashboard { padding:12px; border-radius:16px; background:#fff; box-shadow:0 22px 70px #4c388d20; }
.v2-loop__dashboard img { display:block; width:100%; }
.v2-loop__label { margin:12px 0 0; font-size:14px; font-weight:600; }
.v2-loop__arrows { color:var(--v2-purple); }
.v2-loop__arrows svg { width:100%; height:auto; }
.v2-split { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.v2-split > * { min-width:0; }
.v2-split img,.v2-split video { display:block; max-width:100%; height:auto; border-radius:18px; }
.v2-split__copy > * + * { margin-top:22px; }
.v2-rachel { padding:88px 0; background:#ece9ff; }
.v2-rachel blockquote { margin:30px 0 22px; padding:0; border:0; max-width:980px; }
.v2-rachel blockquote p { font-size:clamp(25px,3.2vw,42px); line-height:1.32; letter-spacing:-.025em; }
.v2-rachel strong { color:var(--v2-purple); font-weight:700; }
.v2-rachel figcaption { font-size:15px; line-height:1.6; }
.v2-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; margin-top:44px; }
.v2-metric { padding:24px 0; border-top:1px solid var(--v2-line); }
.v2-metric strong { display:block; font-size:clamp(48px,5.5vw,72px); font-weight:600; line-height:1.1; letter-spacing:-.045em; }
.v2-metric span { display:block; margin-top:12px; font-size:17px; }
.v2-measures { display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.v2-measures .v2-metric strong { color:var(--v2-purple); }
.v2-measures p { margin-top:20px; font-size:15px; max-width:480px; }
.v2-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.v2-card { display:flex; flex-direction:column; gap:20px; padding:34px; border:1px solid var(--v2-line); border-radius:20px; background:#fff; color:var(--v2-ink); }
a.v2-card { text-decoration:none; transition:transform .18s ease,box-shadow .18s ease; }
a.v2-card:hover { transform:translateY(-3px); box-shadow:0 14px 35px #4c388d12; }
.v2-card p { margin:0; }
.v2-card__link { margin-top:auto; padding-top:18px; font-weight:600; text-decoration:underline; text-underline-offset:5px; }
.v2-card--purple { background:var(--v2-ink); color:white; }
.v2-quotes__list { display:grid; grid-template-columns:1fr 1fr; gap:28px; list-style:none; padding:0; margin:0; }
.v2-quotes__list > li { min-width:0; }
.v2-quotes figure { display:flex; flex-direction:column; height:100%; margin:0; padding:30px; background:#fff; border:1px solid var(--v2-line); border-radius:16px; }
.v2-quotes blockquote { margin:0 0 26px; padding:0; border:0; }
.v2-quotes blockquote p { font-size:clamp(19px,1.8vw,24px); line-height:1.5; }
.v2-quotes figcaption { margin-top:auto; font-size:14px; line-height:1.55; }
.v2-quotes__controls { display:flex; justify-content:flex-end; gap:10px; margin-top:24px; }
.v2-quotes__controls button { width:48px; height:48px; border:1px solid var(--v2-purple); border-radius:50%; background:transparent; color:var(--v2-purple); cursor:pointer; font-size:24px; }
.v2-quotes__controls button[aria-disabled=true] { opacity:.4; cursor:default; }
.v2-support__tables { display:grid; grid-template-columns:minmax(0,1fr); gap:56px; }
.v2-support table { width:100%; border-collapse:collapse; font-size:16px; }
.v2-support caption { font-size:24px; font-weight:600; text-align:left; margin:0 0 22px; }
.v2-support th,.v2-support td { padding:16px 10px; border-bottom:1px solid var(--v2-line); text-align:left; vertical-align:top; }
.v2-support thead { background:#e4e0fc; }
.v2-support th:first-child { padding-left:14px; }
.v2-support td { line-height:1.5; }
.v2-support .stage { display:inline-flex; gap:7px; align-items:center; white-space:nowrap; }
.v2-support .stage::before { content:""; width:10px; height:10px; border-radius:50%; background:#0061b8; flex:none; }
.v2-support .stage--testing::before { background:#8b82c1; }
.v2-footnotes { margin-top:30px; max-width:960px; font-size:13px; line-height:1.65; }
.v2-footnotes p + p { margin-top:12px; }
.v2-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; margin:40px 0; list-style:none; padding:0; }
.v2-flow > li { position:relative; min-width:0; padding:24px; border:1px solid var(--v2-line); background:#fff; border-radius:16px; }
.v2-flow > li:not(:last-child)::after { content:"→"; position:absolute; right:-24px; top:45%; color:var(--v2-purple); font-size:24px; }
.v2-flow img { width:100%; height:160px; object-fit:contain; margin-bottom:22px; }
.v2-flow h3 { font-size:19px; }
.v2-flow p { font-size:14px; margin-top:14px; }
.v2-triangle { display:flex; flex-direction:column; gap:18px; align-items:center; margin-top:40px; }
.v2-tier { display:grid; grid-template-columns:1fr 130px; align-items:center; gap:26px; padding:28px 34px; background:#e8e3ff; border-radius:16px; width:100%; }
.v2-tier:nth-child(1) { width:70%; background:#d5caf8; }
.v2-tier:nth-child(2) { width:85%; background:#e0d8fb; }
.v2-tier img { max-height:140px; margin:auto; object-fit:contain; }
.v2-tier p { margin-top:12px; }
.v2-combined { display:grid; grid-template-columns:1fr 1.2fr 1fr; gap:28px; align-items:center; margin-top:40px; }
.v2-combined > div { min-width:0; text-align:center; }
.v2-combined img { width:100%; height:auto; background:white; border-radius:12px; }
.v2-combined ul { padding-left:20px; text-align:left; margin-top:20px; }
.v2-combined li { margin-top:12px; line-height:1.5; }
.v2-combined h3 { margin-bottom:18px; }
.v2-feature video { width:100%; box-shadow:0 14px 45px #30255915; }
.v2-feature:nth-of-type(even) .v2-split__copy { order:2; }
.v2-feature:nth-of-type(even) .v2-feature__media { order:1; }
.v2-feature__media { min-width:0; }
.v2-feature__media p { margin-top:12px; font-size:13px; }
.faq { border:0; border-radius:0; background:transparent; }
.faq__row { border-bottom:1px solid var(--v2-line); }
.faq__row summary { padding:26px 44px 26px 0; font-size:20px; list-style:none; }
.faq__row summary::-webkit-details-marker { display:none; }
.faq__row summary::after { content:"+"; border:0; transform:none; color:var(--v2-purple); font-size:30px; width:auto; height:auto; right:4px; }
.faq__row[open] summary::after { content:"−"; transform:none; }
.faq__answer { padding:0 44px 26px 0; max-width:950px; }
.standards__list { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:24px 34px; padding:0; }
.standard { width:150px; min-height:100px; border:0; background:transparent; }
.standard img { max-width:140px; max-height:78px; object-fit:contain; }
.standard__text { font-size:13px; }
.carousel__range { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap; border:0; }
.carousel[data-enhanced=true] .logo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(2,110px); gap:18px; }
.logo-cell { min-width:0; background:#fff; border-radius:12px; padding:16px; }
.logo-cell img { width:100%; height:76px; max-height:76px; object-fit:contain; filter:none; }
.logo-cell[data-logo=health-innovation-east-midlands] { padding:6px; }
.logo-cell[data-logo=health-innovation-east-midlands] img { height:94px; max-height:94px; }
.logo-cell.nhs-wordmark { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:0; padding:18px; text-align:left; color:#005eb8; background:transparent; border:0; border-radius:0; font-family:Arial,Helvetica,sans-serif; }
.nhs-wordmark .nhs-wordmark__mark { flex:none; width:60px; height:24px; max-height:24px; background:#fff; margin:0 0 5px; }
.nhs-wordmark__name { color:#212b32; font-size:18px; line-height:1.15; font-weight:700; letter-spacing:0; }
.nhs-wordmark__type { color:#005eb8; font-size:18px; line-height:1.15; font-weight:700; }
.v2-clients { padding-top:0; }
.carousel[data-carousel="trusts"][data-enhanced="true"] .logo-grid { grid-template-rows:repeat(2,160px); }
.v2-card--purple .v2-eyebrow { color:#c6befe; }
.referral-oversight { text-align:center; max-width:820px; margin:30px auto 0; }
.v2-logos .collections { gap:56px; }
.v2-logos .carousel__heading { margin-bottom:25px; }
.v2-logos .carousel__stage { min-height:0; }
.v2-family-signpost { text-align:center; padding:80px 0; background:#e5dfff; }
.v2-family-signpost p { max-width:650px; margin:22px auto 28px; }
.v2-map { max-height:520px; object-fit:contain; width:100%; }
.v2-results { display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; }
.v2-results .v2-metric:first-child { padding-top:0; }
.v2-results .v2-metric strong { font-size:clamp(60px,7vw,100px); }
.v2-anchor { scroll-margin-top:110px; }
@media(max-width:900px) {
 .v2-section,.v2-rachel { padding:64px 0; }
 .v2-split,.v2-support__tables,.v2-results { grid-template-columns:1fr; gap:36px; }
 .v2-cards { gap:16px; }
 .v2-card { padding:24px; }
 .v2-flow { grid-template-columns:1fr 1fr; }
 .v2-flow > li:nth-child(2)::after { display:none; }
 .v2-feature:nth-of-type(even) .v2-split__copy,.v2-feature:nth-of-type(even) .v2-feature__media { order:initial; }
 .v2-tier:nth-child(1) { width:85%; }
 .v2-tier:nth-child(2) { width:93%; }
}
@media(max-width:600px) {
 :root { --v2-header:72px; }
 .v2-hero { padding:42px 0 56px; }
 .v2-hero h1 { font-size:39px; }
 .v2-hero .actions { margin-bottom:30px; }
 .v2-loop { grid-template-columns:.85fr 1fr; gap:18px; margin-top:32px; }
 .v2-loop__arrows { display:none; }
 .v2-loop__phone { max-height:230px; }
 .v2-loop__dashboard { padding:7px; }
 .v2-loop__label { font-size:12px; }
 .v2-cards,.v2-measures,.v2-quotes__list,.v2-flow,.v2-combined { grid-template-columns:1fr; }
 .v2-metrics { grid-template-columns:1fr; gap:0; }
 .v2-metric { padding:22px 0; }
 .v2-metric strong { font-size:58px; }
 .v2-quotes figure { padding:24px; }
 .v2-quotes blockquote p { font-size:20px; }
 .v2-flow > li:not(:last-child)::after { content:"↓"; display:block; top:auto; bottom:-26px; right:calc(50% - 7px); }
 .v2-flow img { height:180px; }
 .v2-tier,.v2-tier:nth-child(1),.v2-tier:nth-child(2) { width:100%; grid-template-columns:1fr; padding:24px; }
 .v2-tier img { max-height:170px; }
 .v2-support th,.v2-support td { padding:12px 5px; font-size:12px; }
 .v2-support caption { font-size:21px; }
 .v2-support .stage { white-space:normal; }
 .v2-combined { gap:40px; }
 .v2-combined > div { text-align:left; }
 .v2-combined img { margin-bottom:16px; }
 .carousel[data-enhanced=true] .logo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(4,92px); gap:12px; }
 .logo-cell { padding:10px; }
 .logo-cell img { height:68px; max-height:68px; }
 .logo-cell[data-logo=health-innovation-east-midlands] img { height:78px; max-height:78px; }
 .faq__row summary { font-size:18px; }
 .v2-heading h2,.v2-section h2 { font-size:32px; }
 .standard { width:115px; }
 .standard img { max-width:110px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }

/* Original artwork sits in consistent image areas; captions stay separate. */
.v2-card__media { display:flex; align-items:center; justify-content:center; width:100%; height:190px; margin:0 0 24px; background:var(--v2-pale, #f3f2ff); border-radius:12px; overflow:hidden; }
.v2-card__media img { display:block; width:100%; height:100%; object-fit:contain; padding:12px; }
.v2-nhs-backed { display:flex; align-items:center; justify-content:center; gap:20px; margin:40px auto 0; max-width:570px; font-size:16px; }
.v2-nhs-backed img { display:block; width:140px; height:auto; }
.standard[data-standard="ukca-class-i"] img { width:74px; max-height:84px; object-fit:contain; }
.standard[data-standard="nhs-dtac"] img { width:88px; max-height:42px; }
.standard[data-standard="nhs-dtac"] .standard__text { font-size:13px; margin-top:8px; }
.logo-cell[data-logo="grow-digital-health-midlands"] img { width:100%; height:90px; max-height:90px; object-fit:contain; }
@media(max-width:600px) {
 .carousel[data-carousel="trusts"][data-enhanced="true"] .logo-grid { grid-template-rows:repeat(4,184px); }
 .logo-cell.nhs-wordmark { padding:12px; }
 .nhs-wordmark__name,.nhs-wordmark__type { font-size:16px; line-height:1.15; }
 .v2-nhs-backed { flex-direction:column; text-align:center; gap:12px; }
}

.v2-legacy-anchor { display:block; width:0; height:0; scroll-margin-top:110px; }
.v2-combined > div { position:relative; }
.v2-combined > div:first-child::after { content:"→"; position:absolute; right:-29px; top:45%; color:var(--v2-purple); font-size:32px; }
.v2-combined > div:last-child::before { content:"←"; position:absolute; left:-29px; top:45%; color:var(--v2-purple); font-size:32px; }
@media(max-width:900px) {
 .v2-combined > div:first-child::after { content:"↓"; top:auto; bottom:-34px; right:calc(50% - 10px); }
 .v2-combined > div:last-child::before { content:"↑"; top:-35px; left:calc(50% - 10px); }
}

/* Owner C10: keep clear space between the three header groups. */
.masthead__row { max-width:1480px; gap:48px; }
.nav-desktop { flex:1; justify-content:space-between; gap:40px; }
.nav-list { gap:24px; }
.header-cta { gap:14px; flex:none; }
.nav-link,.nav-disclosure > summary { min-height:44px; }
@media (min-width:1280px) and (max-width:1359px) {
 .nav-desktop { display:none; }
 .nav-mobile { display:block; }
}
@media (max-width:600px) {
 .masthead__row { gap:20px; }
 .wordmark img { width:164px; height:auto; }
 .nav-mobile .actions { display:grid; gap:14px; }
}

/* Retain the original V1 rating artwork beside the numeric result. */
.v2-metric .kpi-measure__stars { width:232px; max-width:100%; height:auto; margin:8px 0 10px; }
