/* Healthcare Practice · page refine v3 (2026-10-26) · prefix hpx- · replaces healthcare-practice.css on this page.
   Rhythm: white hero → dark photo band → cream → white → white → gradient → cream → charcoal → white FAQ → shared CTA.
   Avoid-AI-look rules: solid backgrounds (no washes, glows or glass), thin borders, short neutral shadows, radii under 24px, no hover lifts.
   v3: one-message hero (photo + one listing), patient path as side steps beside a stable stage (PP-EXIST-FT layout),
   illustrative before/after side by side with numbered linked rows (PP-EXIST-VG). No defensive captions; Example tags stay.
   Realistic platform UI with official marks (Simple Icons, CC0), Lucide icons. Every mock carries an Example tag. */
main.hpx{--hpx-ink:#17171b;--hpx-soft:#6b6964;--hpx-line:#e8e3dc;--hpx-cream:#F5F3F0;--hpx-peach:#fdf1e6;--hpx-blush:#fbeef0;--hpx-char:#1a1719;--hpx-pink:#E84274;--hpx-pink-ink:#c72d5c;--hpx-green:#1d7a46;--hpx-blue:#1a73e8;
 --hpx-grad:linear-gradient(135deg,#F59700 0%,#EC625F 50%,#E84274 100%);--hpx-ease:cubic-bezier(.32,.72,0,1);
 --hpx-shadow:0 1px 2px rgba(0,0,0,.06),0 10px 24px -18px rgba(0,0,0,.22);background:#fff;color:#232323}
.hp-skip{position:absolute;left:16px;top:-60px;z-index:1000;padding:10px 14px;border-radius:8px;background:#17171b;color:#fff;font-weight:600;text-decoration:none}
.hp-skip:focus{top:16px}
main.hpx section{position:relative}
main.hpx p{max-width:none}
main.hpx ul,main.hpx ol{margin:0;padding:0;list-style:none}
main.hpx [id]{scroll-margin-top:120px}
main.hpx h3{margin:0}
main.hpx blockquote{margin:0}
main.hpx :where(.hpx-hero-art,.hpx-pack,.hpx-ui,.hpx-checks,.hpx-who-g,.hpx-svc-g,.hpx-flow,.hpx-rules-l,.hpx-vg,.hpx-steps,.hpx-report,.hpx-demo) p{margin:0}
main.hpx>section:not(.pp-final-cta){padding:clamp(72px,9vw,124px) 0}
.hpx-hero-g>*,.hpx-choose-g>*,.hpx-faq-g>*,.hpx-head>*,.hpx-p-pane>*,.hpx-rules-g>*,.hpx-work-g>*{min-width:0}
.hpx-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;color:var(--hpx-ink);text-decoration:none}
.hpx-link:hover{color:var(--hpx-pink-ink)}
.hpx-link svg{width:14px;height:14px;transition:transform .25s var(--hpx-ease)}
.hpx-link:hover svg{transform:translateY(2px)}
.hpx-tag{position:absolute;right:12px;top:12px;font:600 10px/1 'Outfit',sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:5px 8px;border-radius:99px;background:#2b2b2e;color:#fff;z-index:3}
.hpx-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:end;margin-bottom:44px}
.hpx-head h2{margin:0;max-width:18ch}
main.hpx .hpx-head>p{margin:0;color:var(--hpx-soft);font-size:1.08rem;line-height:1.6;max-width:40ch}
.hpx-bg{position:absolute;inset:0;z-index:-2}.hpx-bg img{width:100%;height:100%;object-fit:cover;display:block}
.hpx-photo{isolation:isolate;overflow:hidden}
.hpx-photo::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
.hpx-logo{width:20px;height:20px;fill:currentColor;flex:none;display:block}
.hpx-logo-c{fill:var(--b)}
.hpx-logo-xs{width:13px;height:13px}
.hpx-stars{color:#f5a623;letter-spacing:1px;font-size:.85rem}
.hpx-stars.sm{font-size:.72rem;letter-spacing:0}
.hpx-si{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:12px;background:var(--hpx-blush);color:var(--hpx-pink-ink)}
.hpx-search{display:flex;align-items:center;gap:8px;flex:1;min-width:0;height:40px;padding:0 14px;border-radius:99px;background:#f1f3f4;font-size:.88rem;color:var(--hpx-ink)}
.hpx-search span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hpx-search svg{width:16px;height:16px;color:#5f6368;flex:none}
.hpx-dots{display:flex;gap:5px}.hpx-dots i{width:8px;height:8px;border-radius:50%;background:#d6d1ca}
.hpx-btn-s{position:relative;display:block;text-align:center;font-weight:700;font-size:.9rem;padding:12px 0;border-radius:99px;background:var(--hpx-ink);color:#fff}
.hpx-btn-o{display:block;text-align:center;font-weight:600;font-size:.86rem;padding:10px 0;border-radius:99px;box-shadow:inset 0 0 0 1px var(--hpx-line);color:var(--hpx-ink)}
.pp-icon{flex:none}
/* cursor + tap ring: shows the one action a patient takes in each mock */
.hpx-cur{position:absolute;right:-6px;bottom:-14px;z-index:4;width:24px;height:24px;color:#17171b;pointer-events:none}
.hpx-cur svg{width:24px;height:24px;fill:#17171b;stroke:#fff;stroke-width:1.5;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}
.hpx-cur::before{content:"";position:absolute;left:-8px;top:-8px;width:20px;height:20px;border-radius:50%;box-shadow:0 0 0 2px rgba(255,255,255,.95),0 0 0 4px rgba(23,23,27,.35);animation:hpx-tap 2.4s var(--hpx-ease) infinite}
@keyframes hpx-tap{0%,60%{transform:scale(.6);opacity:0}70%{opacity:1}100%{transform:scale(1.25);opacity:0}}

/* 01 hero · white */
.hpx-hero{background:#fff;overflow:hidden}
main.hpx>.hpx-hero{padding:clamp(40px,6vw,84px) 0 clamp(64px,8vw,104px)}
.hpx-hero-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:48px;align-items:center}
.hpx-hero h1{font-size:clamp(2.6rem,5.2vw,4.8rem);line-height:1;letter-spacing:-.02em;max-width:11ch}
main.hpx .hpx-hero-copy>p:not(.eyebrow){max-width:40ch;color:var(--hpx-soft);font-size:1.12rem;line-height:1.6;margin-top:22px}
.hpx-hero-copy .btn-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:28px}
main.hpx .hpx-hero .btn-dark{background:var(--hpx-ink);color:#fff;border:1px solid var(--hpx-ink)}
main.hpx .hpx-hero .btn-dark:hover{background:var(--hpx-pink);border-color:var(--hpx-pink);color:#17171b}
.hpx-hero h1 .hero-accent{display:block;color:var(--hpx-pink-ink)}
.hpx-hero-art{position:relative;margin:0;padding:0 0 56px 0}
.hpx-hero-ph{margin-left:clamp(40px,8vw,120px)}
.hpx-hero-photo{display:block;width:100%;height:clamp(420px,42vw,600px)!important;object-fit:cover;border-radius:16px}
.hpx-hero-art .hpx-gbp{position:absolute;left:0;bottom:0;width:min(300px,62%);z-index:2}
.hpx-gbp{position:relative;background:#fff;border-radius:14px;padding:10px 12px 14px;box-shadow:var(--hpx-shadow),0 0 0 1px rgba(23,23,27,.06)}
.hpx-gbp .hpx-tag{top:18px;right:20px}
.hpx-gbp-pic{display:block;height:96px;border-radius:10px;overflow:hidden;margin-bottom:10px}
.hpx-gbp-pic img{width:100%;height:100%;object-fit:cover;display:block}
.hpx-gbp-top{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;color:#5f6368;padding:0 0 6px}
.hpx-gbp-top .hpx-logo{width:16px;height:16px}
.hpx-gbp-name{display:block;font-size:1.12rem}
.hpx-rate{font-size:.85rem;font-weight:600;margin-top:2px!important}
.hpx-rate span:last-child{color:var(--hpx-soft);font-weight:500}
.hpx-open{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--hpx-soft);margin-top:2px!important}
.hpx-open i{width:7px;height:7px;border-radius:50%;background:var(--hpx-green)}
.hpx-gbp-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}
.hpx-gbp-btns span{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.74rem;font-weight:600;padding:9px 0;border-radius:12px;background:#eef3fd;color:var(--hpx-blue)}
.hpx-gbp-btns svg{width:16px;height:16px}
.hpx-gbp-btns .on{background:var(--hpx-blue);color:#fff}
.hpx-gbp-btns .hpx-cur{right:2px;bottom:-12px}

/* 02 how patients choose · dark photo band */
.hpx-choose{background:var(--hpx-char);color:#fff}
.hpx-choose::after{background:linear-gradient(90deg,rgba(20,20,20,.96) 0%,rgba(20,20,20,.9) 52%,rgba(20,20,20,.76) 100%)}
.hpx-choose .eyebrow,.hpx-work .eyebrow{color:#ffc09a!important;border-color:rgba(245,151,0,.5)!important;background:rgba(255,255,255,.05)!important}
.hpx-choose-g{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:72px;align-items:center}
.hpx-choose h2{color:#fff;margin:0;max-width:15ch}
main.hpx .hpx-choose-copy>p:not(.eyebrow){color:rgba(255,255,255,.78);font-size:1.08rem;line-height:1.6;margin-top:16px;max-width:44ch}
.hpx-pack{position:relative;background:#fff;color:var(--hpx-ink);border-radius:16px;padding:18px;box-shadow:0 10px 24px -18px rgba(0,0,0,.3)}
.hpx-pack-top{display:flex;align-items:center;gap:10px;padding-right:78px}
.hpx-pack-top .hpx-logo{width:22px;height:22px}
.hpx-pack ol{display:grid;gap:8px;margin-top:14px!important}
.hpx-pack li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;background:#f7f6f3;color:#5d5b57}
.hpx-pack li>span:nth-child(2){display:grid;gap:2px}
.hpx-pack li small{font-size:.8rem;color:var(--hpx-soft)}
.hpx-pack li em{position:relative;display:inline-flex;align-items:center;gap:5px;font-style:normal;font-size:.78rem;font-weight:600;padding:6px 10px;border-radius:99px;background:#ecebe7;color:#6e6c66;white-space:nowrap}
.hpx-pack li em svg{width:13px;height:13px}
.hpx-pack li.pick{background:#fff;color:var(--hpx-ink);box-shadow:0 0 0 2px var(--hpx-ink)}
.hpx-pack li.pick em{background:var(--hpx-blue);color:#fff}
.hpx-pack li.pick .hpx-cur svg{width:24px;height:24px}
.hpx-pack li.pick .hpx-cur{right:-16px;bottom:-18px}
.hpx-pin{color:#9a968f}.hpx-pin svg{width:18px;height:18px}
.pick .hpx-pin{color:#ea4335}
.hpx-pack-note{margin-top:12px!important;font-size:.84rem;color:var(--hpx-soft)}

/* 03 the patient's path · cream, stepper tabs */
.hpx-path{background:var(--hpx-cream)}
.hpx-path-g{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:20px;align-items:stretch}
.hpx-tabs{display:grid;gap:10px;align-content:start}
.hpx-tabs button{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:center;min-height:76px;padding:14px 18px;border:0;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px var(--hpx-line);font:inherit;text-align:left;color:var(--hpx-ink);cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.hpx-tabs button:hover:not([aria-selected=true]){box-shadow:inset 0 0 0 1px var(--hpx-ink)}
.hpx-tn{font:600 .86rem/1 'Outfit',sans-serif;color:var(--hpx-soft);letter-spacing:.04em}
.hpx-tt{display:grid;gap:3px}
.hpx-tt b{font-size:1.2rem;font-weight:600}
.hpx-tt small{font-size:.9rem;color:var(--hpx-soft)}
.hpx-tabs button[aria-selected=true]{background:var(--hpx-ink);color:#fff;box-shadow:none}
.hpx-tabs button[aria-selected=true] .hpx-tn{color:#fff}
.hpx-tabs button[aria-selected=true] small{color:#ff9cbb}
.hpx-tabs button:focus-visible{outline:2px solid var(--hpx-pink);outline-offset:2px}
.hpx-p-stage{background:#fff;border-radius:16px;box-shadow:inset 0 0 0 1px var(--hpx-line)}
.hpx-p-pane{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:40px;align-items:center;padding:clamp(24px,3.4vw,44px);min-height:520px}
.hpx-p-pane[hidden]{display:none}
.hpx-p-pane:not([hidden]) .hpx-p-ui{animation:hpx-in .45s var(--hpx-ease) both}
.hpx-p-pane:not([hidden]) .hpx-p-copy{animation:hpx-in .45s var(--hpx-ease) .07s both}
@keyframes hpx-in{from{opacity:0}to{opacity:1}}
.hpx-p-n{font-size:.85rem;font-weight:600;color:var(--hpx-pink-ink)}
.hpx-p-copy h3{font-size:clamp(1.4rem,2.1vw,1.9rem);line-height:1.15;letter-spacing:-.01em;max-width:16ch}
main.hpx .hpx-p-copy>p:not(.hpx-p-n){color:var(--hpx-soft);line-height:1.6;margin-top:14px;max-width:40ch;font-size:1.04rem}
.hpx-checks{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px!important}
.hpx-checks li{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:99px;background:var(--hpx-cream);font-weight:600;font-size:.86rem;color:var(--hpx-ink)}
.hpx-checks svg{width:15px;height:15px;color:var(--hpx-green)}
.hpx-p-ui{display:flex;justify-content:center}
.hpx-ui{position:relative;width:min(380px,100%);background:#fff;border-radius:14px;padding:16px;box-shadow:0 0 0 1px rgba(23,23,27,.08),0 10px 24px -18px rgba(0,0,0,.22)}
.hpx-find .hpx-pack-top{padding-right:72px}
.hpx-map{position:relative;height:150px;margin-top:12px;border-radius:12px;background:#e8eae6;background-image:linear-gradient(#fff 3px,transparent 3px),linear-gradient(90deg,#fff 3px,transparent 3px),linear-gradient(28deg,transparent 48%,#cfe3c8 48%,#cfe3c8 60%,transparent 60%);background-size:56px 44px,56px 44px,100% 100%}
.hpx-map i{position:absolute;width:14px;height:14px;border-radius:50% 50% 50% 0;transform:translate(-50%,-100%) rotate(-45deg);background:#9a968f}
.hpx-map i.you{width:24px;height:24px;background:#ea4335;box-shadow:0 0 0 4px rgba(255,255,255,.9)}
.hpx-find-r{display:grid;gap:3px;margin-top:12px;padding:12px 14px;border-radius:12px;box-shadow:0 0 0 1px #ece9e3}
.hpx-find-r small{font-size:.8rem;color:var(--hpx-soft)}
.hpx-cats{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px!important}
.hpx-cats span{font-size:.76rem;font-weight:600;padding:5px 9px;border-radius:8px;background:#eef3fd;color:var(--hpx-blue)}
.hpx-loc{display:flex;align-items:center;gap:5px;margin-top:6px!important;font-size:.8rem;color:var(--hpx-soft)}
.hpx-loc svg{width:13px;height:13px}
.hpx-page{padding:0;overflow:hidden}
.hpx-page .hpx-tag{top:8px}
.hpx-url{display:flex;align-items:center;gap:12px;padding:10px 90px 10px 14px;background:#f1efeb;font-size:.78rem;color:var(--hpx-soft)}
.hpx-url>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hpx-page-img img{display:block;width:100%;height:120px;object-fit:cover}
.hpx-page-b{display:grid;gap:4px;padding:16px 18px 18px}
.hpx-page-b>small{font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--hpx-pink-ink)}
.hpx-page-h{font-size:1.5rem;line-height:1.1}
.hpx-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.8rem;color:var(--hpx-soft);margin:4px 0 6px!important}
.hpx-meta>span{display:inline-flex;align-items:center;gap:5px}
.hpx-meta svg{width:13px;height:13px}
.hpx-acc li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 8px;padding:10px 0;border-top:1px solid #f0ece6;font-size:.92rem}
.hpx-acc li svg{width:14px;height:14px;color:var(--hpx-soft)}
.hpx-acc li small{grid-column:1/-1;font-size:.82rem;color:var(--hpx-soft)}
.hpx-page .hpx-btn-s{margin-top:10px}
.hpx-trust{display:grid;gap:12px}
.hpx-prov{display:flex;align-items:center;gap:14px;padding-right:72px}
.hpx-prov-img{width:84px!important;height:96px!important;object-fit:cover;border-radius:10px;flex:none}
.hpx-prov>span{display:grid;gap:2px}
.hpx-prov b{font-size:1.1rem}
.hpx-prov small{font-size:.84rem;color:var(--hpx-soft)}
.hpx-prov em{display:flex;align-items:center;gap:5px;font-style:normal;font-size:.8rem;color:var(--hpx-green);font-weight:600}
.hpx-prov em svg{width:13px;height:13px}
.hpx-rev{padding:12px 14px;border-radius:12px;background:var(--hpx-cream);display:grid;gap:6px}
main.hpx .hpx-rev p{font-size:.86rem;line-height:1.45}
.hpx-rev p:first-child{display:flex;align-items:center;gap:6px}
.hpx-rev-reply{padding-left:10px;border-left:2px solid var(--hpx-pink);color:var(--hpx-soft)}
.hpx-rev-reply b{color:var(--hpx-ink);margin-right:6px}
.hpx-phone{width:min(290px,100%);padding:10px;border-radius:36px;background:#17171b}
.hpx-phone .hpx-tag{right:22px;top:24px;background:#f1f1f1;color:#17171b}
.hpx-phone-in{position:relative;background:#fff;border-radius:27px;padding:34px 16px 18px;display:grid;gap:6px}
.hpx-notch{position:absolute;left:50%;top:10px;width:84px;height:20px;margin-left:-42px;border-radius:12px;background:#17171b}
.hpx-phone-in small{font-size:.75rem;color:var(--hpx-soft)}
.hpx-phone-in>b{font-size:1.2rem}
.hpx-phone-in>p{font-size:.85rem;color:var(--hpx-soft)}
.hpx-days,.hpx-times{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}
.hpx-days span{display:grid;text-align:center;font-size:.72rem;font-weight:600;padding:8px 0;border-radius:10px;background:var(--hpx-cream);color:var(--hpx-soft)}
.hpx-days i{font-style:normal;font-size:1rem;color:var(--hpx-ink)}
.hpx-times span{text-align:center;font-size:.82rem;font-weight:600;padding:10px 0;border-radius:10px;background:var(--hpx-cream)}
.hpx-days .on,.hpx-times .on,.hpx-days .on i{background:var(--hpx-ink);color:#fff}
.hpx-phone-btn{position:relative;margin-top:12px;text-align:center;font-weight:700;padding:13px 0;border-radius:99px;background:var(--hpx-pink);color:#17171b}
.hpx-phone-btn .hpx-cur{right:26px;bottom:-10px}

/* 04 practices · white, question cards: type tiles + photo tiles */
.hpx-who{background:#fff}
.hpx-who-g{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px}
.hpx-who-g>li{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:var(--hpx-cream);transition:box-shadow .25s}
.hpx-who-g>li:hover{box-shadow:0 0 0 1px var(--hpx-ink)}
.hpx-w-b{display:flex;flex:1;flex-direction:column;justify-content:space-between;gap:24px;padding:22px 24px 24px}
.hpx-w-acu{grid-row:span 2;background:var(--hpx-char)!important;color:#fff}
.hpx-w-chiro{background:var(--hpx-peach)!important}
.hpx-w-eye{background:var(--hpx-blush)!important}
.hpx-w-ph{background:#fff!important;box-shadow:0 0 0 1px var(--hpx-line)}
.hpx-w-img{height:150px;overflow:hidden}
.hpx-w-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--hpx-ease)}
.hpx-who-g>li:hover .hpx-w-img img{transform:scale(1.03)}
.hpx-w-ph .hpx-w-b{gap:12px;padding-top:18px}
.hpx-w-t{display:flex;align-items:center;gap:10px;font-size:.84rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--hpx-ink)}
.hpx-w-t svg{width:20px;height:20px;color:var(--hpx-pink-ink)}
.hpx-who-g blockquote{font:600 clamp(1.3rem,2vw,1.75rem)/1.18 'Outfit',sans-serif;letter-spacing:-.01em;color:var(--hpx-ink);max-width:17ch}
.hpx-who-g blockquote::before{content:"“";display:block;font-size:2.4em;line-height:.6;height:.42em;color:var(--hpx-pink)}
.hpx-w-ph blockquote::before{display:none}
.hpx-w-acu .hpx-w-t{color:#fff}.hpx-w-acu .hpx-w-t svg{color:#ffc09a}
.hpx-w-acu blockquote{color:#fff;font-size:clamp(1.9rem,3.4vw,3.1rem)!important;max-width:11ch}
.hpx-w-acu .hpx-w-b{min-height:420px}

/* 05 how we help · white, numbered index */
.hpx-svc{background:#fff;padding-top:0!important}
.hpx-svc-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;border-top:1px solid var(--hpx-line)}
.hpx-svc-g li{border-bottom:1px solid var(--hpx-line)}
.hpx-svc-g li.hpx-svc-ga{border-bottom:0}
.hpx-svc-g a{display:grid;grid-template-columns:36px 44px minmax(0,1fr) 20px;gap:16px;align-items:center;padding:20px 4px;color:var(--hpx-ink);text-decoration:none;transition:color .2s,background .2s}
.hpx-svc-g li:not(.hpx-svc-ga) a:hover{background:var(--hpx-cream)}
.hpx-svc-g a:hover h3{color:var(--hpx-pink-ink)}
.hpx-svc-g a>span:last-child svg{transition:transform .25s var(--hpx-ease)}
.hpx-svc-g a:hover>span:last-child svg{transform:translate(2px,-2px)}
.hpx-sn{font-size:.85rem;font-weight:600;color:#a09c95}
.hpx-st{display:grid;gap:2px}
.hpx-svc-g h3{font-size:1.15rem;line-height:1.25;transition:color .2s}
.hpx-svc-g p{font-size:.9rem;color:var(--hpx-soft)}
.hpx-svc-g a>span:last-child{color:var(--hpx-pink-ink)}
.hpx-svc-g a>span:last-child svg{width:18px;height:18px}
.hpx-svc-ga a{margin:10px 0;padding:18px 16px;border-radius:14px;background:var(--hpx-ink);color:#fff}
.hpx-svc-ga .hpx-sn{color:#ffc09a}
.hpx-svc-ga .hpx-si{background:var(--hpx-pink);color:#17171b}
.hpx-svc-ga p{color:rgba(255,255,255,.75)}
.hpx-svc-ga a:hover h3{color:#ffc09a}
.hpx-svc-ga a>span:last-child{color:#ffc09a}

/* 06 healthcare-ready · gradient: approval flow (left, on the orange end) + copy and rules (right, on the pink end) */
.hpx-rules{background:linear-gradient(rgba(0,0,0,.48),rgba(0,0,0,.48)),var(--hpx-grad);color:#fff;overflow:hidden}
.hpx-rules-g{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:72px;align-items:center}
.hpx-rules h2{color:#fff;margin:0;max-width:15ch}
.hpx-rules .eyebrow{color:#fff!important;border-color:rgba(255,255,255,.7)!important;background:rgba(255,255,255,.14)!important}
main.hpx .hpx-rules-copy>p:not(.eyebrow):not(.hpx-rules-note){color:#fff;font-size:1.08rem;line-height:1.6;margin-top:16px;max-width:42ch}
.hpx-rules-l{margin-top:28px!important;border-top:1px solid rgba(255,255,255,.45)}
.hpx-rules-l li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;align-items:start;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.45)}
.hpx-ri{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#fff;color:var(--hpx-pink-ink)}
.hpx-ri svg{width:20px;height:20px}
.hpx-rules-l li>span:last-child{display:grid;gap:3px}
.hpx-rules-l b{font-size:1.1rem;color:#fff}
.hpx-rules-l small{font-size:.95rem;line-height:1.45;color:#fff}
main.hpx .hpx-rules-note{margin-top:18px!important;font-size:.88rem;color:#fff;font-weight:500}
.hpx-flow{position:relative;background:#fff;color:var(--hpx-ink);border-radius:16px;padding:18px 18px 16px;box-shadow:0 18px 40px -28px rgba(0,0,0,.45)}
.hpx-flow-h{display:flex;align-items:center;gap:8px;padding:0 80px 12px 0;border-bottom:1px solid #f0ece6;font-size:.95rem}
.hpx-flow-h svg{width:18px;height:18px;color:var(--hpx-pink-ink)}
.hpx-flow-h span{margin-left:auto;font-size:.8rem;color:var(--hpx-soft)}
.hpx-flow ol{position:relative;display:grid;gap:12px;margin-top:14px!important}
.hpx-flow ol::before{content:"";position:absolute;left:13px;top:16px;bottom:20px;border-left:2px dashed #e1dbd3}
.hpx-flow li{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start}
.hpx-fn{position:relative;z-index:1;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px #e1dbd3;font-size:.8rem;font-weight:700;color:var(--hpx-soft)}
.hpx-fn.on{background:var(--hpx-green);box-shadow:none;color:#fff}.hpx-fn svg{width:14px;height:14px}
.hpx-fc{display:grid;gap:6px;padding:12px 14px;border-radius:12px;background:var(--hpx-cream)}
.hpx-fc small{display:flex;align-items:center;gap:5px;font-size:.74rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--hpx-soft)}
.hpx-fc small svg{width:12px;height:12px}
main.hpx .hpx-fc p{font-size:.9rem;line-height:1.45}
.hpx-fr{display:flex;align-items:center;gap:6px}
.hpx-li-2 .hpx-fc{background:#fff}
.hpx-flow li:nth-child(2) .hpx-fc{background:#fff;box-shadow:0 0 0 1.5px var(--hpx-ink)}
.hpx-flags{display:flex;flex-wrap:wrap;gap:6px}
main.hpx .hpx-flags span{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:99px;background:#e6f4ea;color:var(--hpx-green);font-size:.74rem;font-weight:600}
.hpx-flags svg{width:12px;height:12px}
.hpx-fc-ok{background:#e6f4ea}
.hpx-ok{display:flex;align-items:center;gap:10px}
.hpx-ok>span:nth-child(2){display:grid;flex:1}
.hpx-ok small{text-transform:none;letter-spacing:0;font-weight:500}
.hpx-ok>svg{width:20px;height:20px;color:var(--hpx-green)}
.hpx-av{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--hpx-ink);color:#fff;font-weight:700;font-size:.82rem;flex:none}
.hpx-ads{display:flex;align-items:center;gap:10px;margin-top:12px!important;padding:12px 14px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--hpx-line)}
.hpx-ads>span{display:grid;flex:1;min-width:0}
.hpx-ads b{font-size:.88rem}
.hpx-ads small{font-size:.78rem;color:var(--hpx-soft)}
.hpx-ads em{display:inline-flex;align-items:center;gap:4px;font-style:normal;font-size:.76rem;font-weight:700;padding:5px 9px;border-radius:99px;background:#e6f4ea;color:var(--hpx-green)}
.hpx-ads em svg{width:12px;height:12px}

/* 07 before / after · cream: illustrative side by side, numbered rows linked to marks on both listings (PP-EXIST-VG) */
.hpx-ba-sec{background:var(--hpx-cream)}
.hpx-vg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,1fr);gap:clamp(16px,3vw,40px);align-items:start;padding:clamp(20px,3.4vw,44px);border-radius:16px;background:#ebe7e1}
.hpx-vg-sw{display:none}
.hpx-vg-lab{font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--hpx-soft);margin:0 0 12px!important}
.hpx-vg-after .hpx-vg-lab{color:var(--hpx-pink-ink)}
.hpx-ba-gbp{position:relative;background:#fff;border-radius:14px;padding:10px 12px 14px;box-shadow:var(--hpx-shadow),0 0 0 1px rgba(23,23,27,.06)}
.hpx-ba-gbp>.hpx-tag{top:-34px;right:0}
.hpx-ba-pic{height:150px;margin-bottom:10px}
.hpx-ba-none{display:grid;place-content:center;justify-items:center;gap:6px;background:#ece9e4;color:#8f8a83;font-size:.8rem;font-weight:600}
.hpx-ba-none svg{width:24px;height:24px}
.hpx-warn{color:#b3261e!important}.hpx-warn svg{width:13px;height:13px}
.hpx-ba-off span{background:#f1efeb!important;color:#8f8a83!important}
.hpx-ba-svc{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.hpx-ba-svc span{font-size:.74rem;font-weight:600;padding:5px 9px;border-radius:99px;background:var(--hpx-cream)}
.hpx-vg-ph{display:grid;grid-template-columns:auto 56px 56px;gap:8px;align-items:center;margin-top:12px!important;padding-top:10px;border-top:1px solid #f0ece6}
.hpx-vg-ph small{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--hpx-soft);margin-right:6px}
.hpx-vg-ph img{width:56px!important;height:44px!important;object-fit:cover;border-radius:8px}
.hpx-vg-ph span{display:grid;place-items:center;height:44px;border-radius:8px;background:var(--hpx-cream);font-size:.8rem;font-weight:600;color:var(--hpx-soft)}
/* numbered marks: a thin outline + number on the part of each listing a row talks about */
.hpx-mk{position:relative;display:block;border-radius:10px;box-shadow:0 0 0 1.5px var(--hpx-pink);margin-top:8px;transition:box-shadow .2s,opacity .2s}
.hpx-mk>i{position:absolute;right:-8px;top:-8px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--hpx-pink);color:#fff;font:700 .7rem/1 'Outfit',sans-serif;font-style:normal;z-index:2}
.hpx-mk .hpx-gbp-btns,.hpx-mk .hpx-gbp-pic{margin:0}
.hpx-mk .hpx-open{padding:4px 6px}
.hpx-mk .hpx-ba-svc{padding:0 6px 6px}
.hpx-mk[data-m="1"]{margin-top:0;margin-bottom:10px}
.hpx-vg[data-on] .hpx-mk{box-shadow:0 0 0 1.5px transparent}.hpx-vg[data-on] .hpx-mk>i{opacity:.25}
.hpx-vg[data-on="1"] .hpx-mk[data-m="1"],.hpx-vg[data-on="2"] .hpx-mk[data-m="2"],.hpx-vg[data-on="3"] .hpx-mk[data-m="3"]{box-shadow:0 0 0 2.5px var(--hpx-pink)}
.hpx-vg[data-on="1"] .hpx-mk[data-m="1"]>i,.hpx-vg[data-on="2"] .hpx-mk[data-m="2"]>i,.hpx-vg[data-on="3"] .hpx-mk[data-m="3"]>i{opacity:1}
.hpx-vg-rows{display:grid;gap:10px;align-self:center}
.hpx-vg-rows button{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start;width:100%;padding:16px;border:0;border-radius:12px;background:#fff;font:inherit;text-align:left;color:var(--hpx-ink);cursor:pointer;box-shadow:inset 0 0 0 1px transparent;transition:box-shadow .2s}
.hpx-vg-rows button:hover,.hpx-vg-rows button[aria-pressed=true]{box-shadow:inset 0 0 0 1.5px var(--hpx-ink)}
.hpx-vg-rows button:focus-visible{outline:2px solid var(--hpx-pink);outline-offset:2px}
.hpx-vg-n{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--hpx-pink);color:#fff;font-weight:700;font-size:.85rem}
.hpx-vg-rows button>span:last-child{display:grid;gap:4px}
.hpx-vg-rows b{font-size:1.08rem;font-weight:600}
.hpx-vg-rows small{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:.9rem;color:var(--hpx-ink)}
.hpx-vg-rows s{color:#8f8a83}
.hpx-vg-rows svg{width:14px;height:14px;color:var(--hpx-pink-ink)}

/* 08 how we work · charcoal */
.hpx-work{background:var(--hpx-char);color:#fff}
.hpx-work h2{color:#fff}
main.hpx .hpx-work .hpx-head>p{color:rgba(255,255,255,.72)}
.hpx-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.hpx-steps li{position:relative;display:grid;gap:8px;align-content:start;padding-top:26px;border-top:1px solid rgba(255,255,255,.22)}
.hpx-step-n{position:absolute;top:-17px;left:0;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--hpx-char);box-shadow:inset 0 0 0 1.5px #ffc09a;color:#ffc09a;font-weight:600;font-size:.9rem}
.hpx-steps li:first-child .hpx-step-n{background:var(--hpx-pink);box-shadow:none;color:#17171b}
.hpx-steps h3{color:#fff;font-size:1.2rem}
.hpx-steps p{color:rgba(255,255,255,.7);font-size:.94rem;line-height:1.5}
.hpx-work-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:52px}
.hpx-report{position:relative;display:grid;gap:12px;align-content:start;padding:20px;border-radius:16px;background:#fff;color:var(--hpx-ink)}
.hpx-report-h{display:flex;align-items:center;gap:8px;font-weight:600;padding:0 80px 12px 0;border-bottom:1px solid #f0ece6}
.hpx-report-h svg{width:18px;height:18px;color:var(--hpx-pink-ink)}
.hpx-report ul{display:grid;gap:4px}
.hpx-report li{display:grid;grid-template-columns:170px minmax(0,1fr);gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid #f3efea;font-size:.92rem}
.hpx-report li>span{display:flex;align-items:center;gap:8px}
.hpx-report li>span svg{width:14px;height:14px;color:var(--hpx-soft)}
.hpx-spark{width:100%;height:40px;fill:none;stroke:var(--hpx-pink);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.hpx-spark polyline{vector-effect:non-scaling-stroke}
.hpx-next{display:grid;gap:6px;padding:14px 16px;border-radius:12px;background:var(--hpx-cream);font-size:.9rem}
main.hpx .hpx-next p{font-size:.9rem;line-height:1.4;display:flex;align-items:center;gap:6px}
.hpx-next svg{width:14px;height:14px;color:var(--hpx-green)}
.hpx-demo{display:grid;grid-template-rows:auto 1fr auto;border-radius:16px;overflow:hidden;background:#fff;color:var(--hpx-ink);text-decoration:none}
.hpx-demo>.hpx-dots{padding:10px 14px;background:#f1efeb}
.hpx-demo img{width:100%;height:100%;min-height:0;aspect-ratio:720/500;object-fit:cover;object-position:top left;display:block}
.hpx-demo-b{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px}
.hpx-demo-b>span:first-child{display:grid;gap:6px}
.hpx-demo-b em{justify-self:start;font-style:normal;font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:99px;background:var(--hpx-cream)}
.hpx-demo-b>span:last-child{color:var(--hpx-pink-ink)}
.hpx-demo-b>span:last-child svg{width:18px;height:18px;transition:transform .25s var(--hpx-ease)}
.hpx-demo:hover b{color:var(--hpx-pink-ink)}
.hpx-demo:hover .hpx-demo-b>span:last-child svg{transform:translate(2px,-2px)}
.hpx-own{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:28px!important;color:rgba(255,255,255,.8);font-size:.95rem}
.hpx-own>svg{width:18px;height:18px;color:#ffc09a}
.hpx-own b{color:#fff;margin-right:4px}
.hpx-own span{padding:6px 12px;border-radius:99px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);font-size:.86rem}

/* 09 faq · white */
.hpx-faq{background:#fff}
.hpx-faq-g{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px}
.hpx-faq-g h2{margin:0}
.hpx-faq details{border-bottom:1px solid var(--hpx-line)}
.hpx-faq details:first-child{border-top:1px solid var(--hpx-line)}
.hpx-faq summary{display:flex;justify-content:space-between;gap:16px;padding:20px 0;cursor:pointer;list-style:none;font-weight:600;font-size:1.04rem;color:var(--hpx-ink)}
.hpx-faq summary:hover{color:var(--hpx-pink-ink)}
.hpx-faq summary::-webkit-details-marker{display:none}
.hpx-faq summary::after{content:"+";color:var(--hpx-pink);font-size:1.3rem;line-height:1;transition:transform .2s;flex:none}
.hpx-faq details[open] summary::after{transform:rotate(45deg)}
main.hpx .hpx-faq details p{margin:0 0 20px;color:var(--hpx-soft);line-height:1.65;padding-right:32px}

@media (max-width:1100px){
 .hpx-path-g{grid-template-columns:minmax(0,260px) minmax(0,1fr)}
 .hpx-p-pane{grid-template-columns:1fr;gap:28px;min-height:0}
 .hpx-vg{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .hpx-vg-rows{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(3,minmax(0,1fr))}
 .hpx-who-g{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hpx-w-acu{grid-row:auto;grid-column:1/-1}
 .hpx-w-acu .hpx-w-b{min-height:0}
 .hpx-w-acu blockquote{max-width:20ch}
 .hpx-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:44px}
 .hpx-rules-g{gap:40px}
}
@media (max-width:900px){
 .hpx-hero-ph{margin-left:0}
 .hpx-hero-photo{height:420px!important}
 .hpx-hero-art{padding-bottom:0}
 .hpx-hero-art .hpx-gbp{position:relative;left:auto;bottom:auto;width:min(300px,84%);margin:-150px 0 0 14px}
 .hpx-path-g{grid-template-columns:1fr}
 .hpx-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .hpx-tabs button{min-height:56px;padding:10px 12px;grid-template-columns:24px minmax(0,1fr);gap:8px}
 .hpx-tt small{display:none}
 .hpx-tt b{font-size:1.02rem}
 .hpx-vg{grid-template-columns:1fr;padding:16px}
 .hpx-vg-rows{grid-row:auto;grid-template-columns:1fr}
 .hpx-vg.is-js .hpx-vg-sw{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;border-radius:99px;background:#fff}
 .hpx-vg-sw button{min-height:44px;border:0;border-radius:99px;background:transparent;font:600 .95rem 'Outfit',sans-serif;color:var(--hpx-ink);cursor:pointer}
 .hpx-vg-sw button[aria-pressed=true]{background:var(--hpx-ink);color:#fff}
 .hpx-vg-sw button:focus-visible{outline:2px solid var(--hpx-pink);outline-offset:2px}
 .hpx-vg.is-js[data-view=after] .hpx-vg-before,.hpx-vg.is-js[data-view=before] .hpx-vg-after{display:none}
 .hpx-vg-card{order:1}.hpx-vg-rows{order:2}
 .hpx-head,.hpx-hero-g,.hpx-choose-g,.hpx-p-pane,.hpx-rules-g,.hpx-work-g,.hpx-faq-g{grid-template-columns:1fr;gap:28px}
 .hpx-head{margin-bottom:28px}
 .hpx-p-pane{min-height:0}
 .hpx-rules-copy{order:-1}
 .hpx-svc-g{grid-template-columns:1fr}
}
@media (max-width:600px){
 .hpx-hero-photo{height:340px!important}
 .hpx-hero-art .hpx-gbp{margin-top:-120px}
 .hpx-who-g{grid-template-columns:1fr}
 .hpx-w-b{gap:16px}
 .hpx-steps{grid-template-columns:1fr}
 .hpx-pack-top,.hpx-find .hpx-pack-top{padding-right:0;margin-top:26px}
 .hpx-pack li{grid-template-columns:auto minmax(0,1fr)}.hpx-pack li em{grid-column:2;justify-self:start}
 .hpx-svc-g a{grid-template-columns:28px 40px minmax(0,1fr) 18px;gap:12px}
 .hpx-svc-g .hpx-si{width:40px;height:40px}
 .hpx-flow{padding:14px 12px}
 .hpx-flow-h{padding-right:0;margin-top:22px}
 .hpx-report li{grid-template-columns:minmax(0,1fr) 96px}
 .hpx-prov{padding-right:0;margin-top:20px}
 main.hpx .hpx-faq details p{padding-right:0}
}
@media (max-width:360px){
 .hpx-hero-art .hpx-gbp{width:78%}
}
@media (prefers-reduced-motion:reduce){
 main.hpx *,main.hpx *::before,main.hpx *::after{animation:none!important;transition:none!important}
}
