/* ============ Two-journey homepage ============ */
[data-j]{display:none!important}
body[data-journey="b2c"] [data-j~="b2c"],body[data-journey="b2b"] [data-j~="b2b"]{display:revert!important}
body[data-journey="b2c"] .flex[data-j~="b2c"],body[data-journey="b2b"] .flex[data-j~="b2b"]{display:flex!important}
body[data-journey="b2c"] .grid[data-j~="b2c"],body[data-journey="b2b"] .grid[data-j~="b2b"]{display:grid!important}

/* Header journey switch */
.jswitch{display:inline-flex;position:relative;background:var(--lav);border-radius:999px;padding:4px;margin-left:auto}
.jswitch button{all:unset;position:relative;z-index:1;cursor:pointer;padding:9px 16px;border-radius:999px;font-weight:700;font-size:14px;color:var(--ink-2);transition:color .25s;white-space:nowrap}
.jswitch button[aria-pressed="true"]{color:#fff}
.jswitch button:focus-visible{outline:3px solid var(--deep);outline-offset:2px}
.jswitch__ind{position:absolute;top:4px;bottom:4px;left:4px;border-radius:999px;background:var(--purple);transition:transform .4s cubic-bezier(.3,.7,.2,1),width .4s cubic-bezier(.3,.7,.2,1),background .4s}
body[data-journey="b2b"] .jswitch__ind{background:var(--ink)}
.hdr .nav{margin-left:8px}

/* ---------- Fork hero ---------- */
.fork{padding:clamp(40px,6vw,80px) 0 clamp(56px,7vw,96px);position:relative;overflow:hidden}
.fork__top{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.fork h1{font-size:clamp(46px,6.6vw,96px);letter-spacing:-.04em;margin:18px 0 22px}
.fork h1 span{color:var(--purple)}
.fork__q{margin:clamp(48px,6vw,80px) 0 22px;display:flex;align-items:center;gap:16px;font-family:var(--f-display);font-size:clamp(22px,2vw,28px);font-weight:500}
.fork__q::after{content:"";flex:1;height:1.5px;background:var(--line)}
.doors{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.door{all:unset;box-sizing:border-box;cursor:pointer;position:relative;display:flex;flex-direction:column;gap:14px;padding:clamp(64px,6vw,88px) clamp(24px,3vw,40px) clamp(28px,3vw,36px);border-radius:0 0 var(--r-lg) var(--r-lg);clip-path:polygon(0 52px,50% 0,100% 52px,100% 100%,0 100%);transition:transform .35s cubic-bezier(.3,.7,.2,1),background .35s,color .35s;min-height:330px}
.door--c{background:var(--lav);color:var(--ink)}
.door--b{background:#ECEAEE;color:var(--ink)}
.door::before{content:"";position:absolute;left:0;right:0;top:0;height:120px;background:repeating-linear-gradient(180deg,currentColor 0 5px,transparent 5px 13px);opacity:.07;clip-path:polygon(0 52px,50% 0,100% 52px,100% 100%,0 100%);mask-image:linear-gradient(#000,transparent)}
.door:hover{transform:translateY(-6px)}
.door:focus-visible{outline:none;box-shadow:inset 0 0 0 4px var(--deep)}
.door[aria-pressed="true"].door--c{background:var(--purple);color:#fff}
.door[aria-pressed="true"].door--b{background:var(--ink);color:#fff}
.door__who{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--purple)}
.door[aria-pressed="true"] .door__who{color:var(--lilac)}
.door__h{font-family:var(--f-display);font-weight:600;line-height:1.1;letter-spacing:-.02em;display:block;font-size:clamp(26px,2.6vw,38px)}
.door__p{display:block;font-size:16px;opacity:.82;max-width:40ch}
.door__go{margin-top:auto;display:inline-flex;align-items:center;gap:12px;font-weight:700;font-size:16px}
.door__go i{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;transition:transform .3s,background .3s}
.door--c .door__go i{background:var(--purple)}
.door[aria-pressed="true"] .door__go i{background:#fff;color:var(--ink)}
.door:hover .door__go i{transform:translateX(6px)}
.door__go svg{width:20px;height:20px}
.door__fig{position:absolute;right:clamp(16px,3vw,36px);bottom:clamp(20px,3vw,32px);font-family:var(--f-display);font-size:clamp(80px,9vw,140px);font-weight:700;line-height:.8;opacity:.07;letter-spacing:-.05em;pointer-events:none}
.door[aria-pressed="true"] .door__fig{opacity:.14}
.door__chk{position:absolute;top:66px;right:28px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:#fff;color:var(--ink);border-radius:999px;padding:5px 11px;opacity:0;transform:scale(.8);transition:all .3s}
.door[aria-pressed="true"] .door__chk{opacity:1;transform:none}

/* ---------- Journey tracker (sticky) ---------- */
.track{position:fixed;left:0;right:0;top:80px;z-index:45;background:#fff;border-bottom:1px solid var(--line);transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}
.track.show{opacity:1;transform:none;pointer-events:auto}
.track__in{display:flex;align-items:center;gap:20px;height:56px}
.track__lbl{font-size:13px;font-weight:700;white-space:nowrap;display:flex;align-items:center;gap:8px}
.track__lbl i{width:10px;height:10px;border-radius:50%;background:var(--purple)}
body[data-journey="b2b"] .track__lbl i{background:var(--ink)}
.track ol{list-style:none;margin:0;padding:0;display:flex;flex:1;position:relative;justify-content:space-between}
.track ol::before{content:"";position:absolute;left:8px;right:8px;top:50%;height:2px;background:var(--line);transform:translateY(-50%)}
.track__fill{position:absolute;left:8px;top:50%;height:2px;background:var(--purple);transform:translateY(-50%);width:0;transition:width .2s linear}
body[data-journey="b2b"] .track__fill{background:var(--ink)}
.track li{position:relative;z-index:1}
.track a{display:flex;align-items:center;gap:8px;text-decoration:none;background:#fff;padding:6px 10px;border-radius:999px;font-size:14px;font-weight:600;color:var(--ink-3);transition:color .2s,background .2s}
.track a b{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-size:11px;background:#fff;transition:all .25s}
.track a.done b{border-color:var(--purple);background:var(--purple);color:#fff}
.track a.cur{color:var(--ink)}
.track a.cur b{border-color:var(--purple);background:#fff;color:var(--purple);box-shadow:0 0 0 4px rgba(110,63,209,.15)}
body[data-journey="b2b"] .track a.done b{border-color:var(--ink);background:var(--ink)}
body[data-journey="b2b"] .track a.cur b{border-color:var(--ink);color:var(--ink);box-shadow:0 0 0 4px rgba(20,18,22,.1)}

/* ---------- Journey container ---------- */
.journey{animation:jIn .6s cubic-bezier(.3,.7,.2,1)}
@keyframes jIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.jsec{padding:clamp(72px,9vw,128px) 0;position:relative}
.jsec--lav{background:var(--lav)}
.jsec--ink{background:var(--ink);color:#fff}
.jsec--ink h2,.jsec--ink h3{color:#fff}
.stop{font-family:var(--f-display);font-size:14px;font-weight:600;color:var(--purple);display:flex;align-items:center;gap:10px;margin-bottom:14px}
.stop b{width:30px;height:30px;border-radius:50%;background:var(--purple);color:#fff;display:grid;place-items:center;font-size:13px}
.jsec--ink .stop{color:var(--lilac)}
.b2b .stop b{background:var(--ink)}
.b2b .jsec--ink .stop b{background:var(--purple)}
.b2b .stop{color:var(--ink-2)}
.b2b .jsec--ink .stop{color:var(--lilac)}

/* Journey intro banners */
.jintro{padding:clamp(56px,7vw,96px) 0;position:relative;overflow:hidden}
.jintro--c{background:var(--purple);color:#fff}
.jintro--b{background:var(--ink);color:#fff}
.jintro__in{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:end;position:relative}
.jintro h2{color:#fff;font-size:clamp(42px,6vw,88px);letter-spacing:-.04em}
.jintro p{color:rgba(255,255,255,.85);font-size:clamp(17px,1.4vw,20px)}
.jintro .eyebrow{color:var(--lilac)}
.jintro::after{content:"";position:absolute;right:-4%;bottom:-2px;width:min(620px,55vw);aspect-ratio:1.6;background:repeating-linear-gradient(180deg,rgba(255,255,255,.1) 0 9px,transparent 9px 21px);clip-path:polygon(0 42%,50% 0,100% 42%,100% 100%,0 100%)}
.jintro__switch{margin-top:20px;font-size:15px;color:rgba(255,255,255,.7)}
.jintro__switch button{all:unset;cursor:pointer;color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.jintro__switch button:focus-visible{outline:3px solid var(--lilac);outline-offset:3px}

/* ---------- Picker (Which sounds like you?) ---------- */
.picker{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(24px,4vw,56px);align-items:stretch}
.picker__opts{display:grid;gap:12px;align-content:start}
.pick{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:16px;background:#fff;border:1.5px solid var(--line);font-family:var(--f-display);font-size:19px;font-weight:500;transition:all .25s;min-height:64px}
.pick i{width:40px;height:40px;border-radius:12px;background:var(--lav);color:var(--purple);display:grid;place-items:center;flex-shrink:0;transition:all .25s;font-style:normal;font-size:14px;font-weight:600}
.pick:hover{border-color:var(--lilac);transform:translateX(4px)}
.pick[aria-checked="true"]{background:var(--purple);border-color:var(--purple);color:#fff}
.pick[aria-checked="true"] i{background:rgba(255,255,255,.18);color:#fff}
.pick:focus-visible{outline:3px solid var(--deep);outline-offset:2px}
.pick::after{content:"";margin-left:auto;width:10px;height:10px;border-right:2.5px solid currentColor;border-top:2.5px solid currentColor;transform:rotate(45deg);opacity:.35}
.b2b .pick[aria-checked="true"]{background:var(--ink);border-color:var(--ink)}
.b2b .pick i{background:#ECEAEE;color:var(--ink)}
.picker__out{position:relative;border-radius:var(--r-lg);background:#fff;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}
.picker__img{position:relative;height:clamp(220px,24vw,300px);background:var(--lav)}
.picker__img image-slot{position:absolute;inset:0;width:100%;height:100%}
.picker__body{padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:14px;flex:1}
.picker__body h3{font-size:clamp(24px,2.2vw,32px)}
.picker__body p{color:var(--ink-2)}
.picker__body .btn{align-self:flex-start;margin-top:auto}
.swap{animation:swap .45s cubic-bezier(.3,.7,.2,1)}
@keyframes swap{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- Approach / pillars ---------- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pillar{border-radius:var(--r-lg);padding:clamp(28px,3vw,40px);display:flex;flex-direction:column;gap:14px;min-height:280px;position:relative;overflow:hidden;transition:transform .3s}
.pillar:hover{transform:translateY(-4px)}
.pillar:nth-child(1){background:var(--purple);color:#fff}
.pillar:nth-child(2){background:var(--lav)}
.pillar:nth-child(3){background:var(--ink);color:#fff}
.pillar h3{font-size:clamp(22px,2vw,28px);color:inherit}
.pillar p{opacity:.85}
.pillar__big{font-family:var(--f-display);font-weight:700;font-size:64px;line-height:1;letter-spacing:-.04em;opacity:.18;margin-top:auto}
.pillar svg.ic{width:40px;height:40px}

/* ---------- Session dots in packages ---------- */
.dots{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:20px 0 4px;max-width:180px}
.dots i{aspect-ratio:1;border-radius:50%;background:var(--line);transition:background .25s,transform .25s}
.dots i.on{background:var(--purple)}
.pkg:hover .dots i.on{animation:pop .5s both}
@keyframes pop{40%{transform:scale(1.35)}100%{transform:none}}

/* ---------- Network diagram (B2B) ---------- */
.net{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.net__svg{width:100%;height:auto;max-width:520px;justify-self:center}
.net__svg .ln{stroke:var(--lilac);stroke-width:2;stroke-dasharray:6 8;animation:dash 1.6s linear infinite}
@keyframes dash{to{stroke-dashoffset:-28}}
.net__svg .nd circle{fill:#fff;stroke:var(--line);stroke-width:2}
.net__svg .nd text{font-family:var(--f-display);font-weight:600;font-size:17px;fill:var(--ink);text-anchor:middle}
.net__svg .nd.hub circle{fill:var(--purple);stroke:none}
.net__svg .nd.hub text{fill:#fff}
.net__list{display:grid;gap:4px}
.net__list>div{display:grid;grid-template-columns:48px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.14);align-items:start}
.net__list>div>div{display:block;min-width:0}
.net__list>div:first-child{border-top:1px solid rgba(255,255,255,.14)}
.net__list b{font-family:var(--f-display);color:var(--lilac);font-size:18px;line-height:1.3}
.net__list h3{font-size:21px;line-height:1.25;margin-bottom:8px}
.net__list p{color:rgba(255,255,255,.75);font-size:15.5px;line-height:1.6;max-width:46ch}

/* ---------- Steps (light variant) ---------- */
.lsteps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:s}
.lstep{background:#fff;border-radius:var(--r-lg);padding:32px 28px;position:relative;border:1.5px solid var(--line)}
.lstep__n{font-family:var(--f-display);font-size:56px;font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--purple);margin-bottom:22px}
.b2b .lstep__n{color:var(--ink)}
.lstep h3{font-size:22px;margin-bottom:8px}
.lstep p{color:var(--ink-3)}
.lstep:not(:last-child)::after{content:"";position:absolute;right:-20px;top:56px;width:20px;height:2px;background:var(--purple)}
.b2b .lstep:not(:last-child)::after{background:var(--ink)}

/* Future chips */
.horizon{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:28px;padding:22px 24px;border:1.5px dashed #c9b6f0;border-radius:var(--r-md)}
.horizon .tagf{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--purple);background:#fff;border:1px solid var(--lilac);border-radius:999px;padding:4px 10px}
.horizon b{font-family:var(--f-display);font-weight:600;margin-right:6px}
.horizon .chip{padding:7px 14px;border-radius:999px;background:var(--lav);font-weight:600;font-size:14px;color:var(--deep)}

/* Shared about compaction */
.brandsec{padding:clamp(72px,9vw,128px) 0;border-top:1px solid var(--line)}

@media (max-width:1100px){
  .jswitch button{padding:9px 12px;font-size:13px}
}
@media (max-width:960px){
  .fork__top,.jintro__in,.picker,.net{grid-template-columns:1fr}
  .doors{grid-template-columns:1fr}
  .door{min-height:280px}
  .pillars,.lsteps{grid-template-columns:1fr}
  .lstep:not(:last-child)::after{right:auto;left:56px;top:auto;bottom:-20px;width:2px;height:20px}
  .track__lbl{display:none}
  .track a span{display:none}
  .jswitch{margin-left:auto}
}
@media (max-width:640px){
  .hdr{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}
  .jswitch{position:fixed;left:50%;transform:translateX(-50%);bottom:80px;z-index:41;box-shadow:0 10px 30px -8px rgba(20,18,22,.35);background:#fff;margin:0}
  .track{top:68px}
  .track__in{height:50px}
}

/* ============ v4 additions ============ */
/* Larger text */
.tsize{all:unset;cursor:pointer;display:inline-flex;align-items:baseline;gap:1px;height:40px;padding:0 12px;border-radius:999px;border:1.5px solid var(--line);font-family:var(--f-display);font-weight:600;color:var(--ink-2);margin-left:10px}
.tsize span:first-child{font-size:13px}.tsize span:last-child{font-size:19px}
.tsize[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.tsize:focus-visible{outline:3px solid var(--purple);outline-offset:2px}
html.big{font-size:112.5%}
html.big body{font-size:19.5px}
html.big .lede{font-size:clamp(20px,1.7vw,23px)}
html.big .svc p,html.big .pkg__desc,html.big .pillar p,html.big .lstep p,html.big .acc__panel p,html.big .door__p,html.big .opt p{font-size:18px}

/* Compare */
.cmp{background:var(--ink);color:#fff;border-radius:28px;padding:clamp(28px,4vw,56px);position:relative;overflow:hidden}
.cmp::after{content:"";position:absolute;right:-40px;top:-20px;width:300px;height:180px;background:repeating-linear-gradient(180deg,rgba(183,156,242,.12) 0 6px,transparent 6px 15px);clip-path:polygon(0 100%,50% 0,100% 100%)}
.cmp__head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:32px;position:relative;z-index:1}
.cmp__head h2{color:#fff}
.cmp .stop{color:var(--lilac)}
.cmp__sw{display:inline-flex;background:rgba(255,255,255,.08);border-radius:999px;padding:5px;gap:4px}
.cmp__sw button{all:unset;cursor:pointer;padding:12px 20px;border-radius:999px;font-weight:700;font-size:15px;color:rgba(255,255,255,.75);transition:all .25s;min-height:20px}
.cmp__sw button[aria-pressed="true"]{background:#fff;color:var(--ink)}
.cmp__sw button[data-cmp="home"][aria-pressed="true"]{background:var(--purple);color:#fff}
.cmp__sw button:focus-visible{outline:3px solid var(--lilac);outline-offset:2px}
.cmp__rows{list-style:none;margin:0;padding:0;position:relative;z-index:1}
.cmp__rows li{display:grid;grid-template-columns:220px 1fr;gap:24px;padding:22px 0;border-top:1px solid rgba(255,255,255,.12);align-items:baseline}
.cmp__k{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lilac)}
.cmp__c,.cmp__h{grid-column:2;grid-row:1;font-family:var(--f-display);font-size:clamp(19px,1.8vw,24px);line-height:1.35;transition:opacity .35s,transform .35s}
.cmp__c{color:rgba(255,255,255,.55)}
.cmp__rows[data-mode="home"] .cmp__c,.cmp__rows[data-mode="clinic"] .cmp__h{opacity:0;transform:translateY(8px);pointer-events:none}
.cmp__rows li:nth-child(2) span{transition-delay:.05s}.cmp__rows li:nth-child(3) span{transition-delay:.1s}.cmp__rows li:nth-child(4) span{transition-delay:.15s}

/* B2B options */
.opts2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.opt{background:#fff;border-radius:var(--r-lg);padding:clamp(28px,3.4vw,44px);display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;border:1.5px solid #ddd3f3;transition:transform .3s}
.opt:hover{transform:translateY(-4px)}
.opt--b{background:var(--deep);color:#fff;border-color:var(--deep)}
.opt--b h3{color:#fff}
.opt__n{font-family:var(--f-display);font-size:88px;font-weight:700;line-height:.8;letter-spacing:-.05em;color:var(--lav);position:absolute;right:28px;top:24px}
.opt--b .opt__n{color:rgba(255,255,255,.1)}
.opt h3{font-size:clamp(24px,2.2vw,32px);max-width:14ch}
.opt p{color:var(--ink-2);max-width:44ch}
.opt--b p{color:rgba(255,255,255,.82)}
.opt__fit{padding:14px 16px;border-radius:12px;background:var(--lav);font-size:15px}
.opt__fit b{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--purple);margin-bottom:2px}
.opt--b .opt__fit{background:rgba(255,255,255,.08)}
.opt--b .opt__fit b{color:var(--lilac)}
.opt .btn{align-self:flex-start;margin-top:auto}

/* Therapist band */
.tband{background:var(--purple);color:#fff;padding:36px 0}
.tband__in{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.tband .eyebrow{color:var(--lilac)}
.tband__h{font-family:var(--f-display);font-size:clamp(20px,2vw,26px);max-width:40ch;margin-top:8px;line-height:1.3}

/* checkbox seg */
.seg input[type=checkbox]:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}

@media (max-width:960px){
  .opts2{grid-template-columns:1fr}
  .cmp__rows li{grid-template-columns:1fr;gap:6px}
  .cmp__c,.cmp__h{grid-column:1;grid-row:2}
  .tsize{display:none}
}
@media (max-width:640px){
  .cmp__sw{width:100%}.cmp__sw button{flex:1;text-align:center;padding:12px 8px;font-size:14px}
}

/* ============ v5 additions ============ */
/* Hero WA line */
.fork__wa{margin-top:22px;font-size:16px;color:var(--ink-3);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fork__wa a{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#137a3a;text-decoration:none;padding:8px 14px;border-radius:999px;background:#e8f7ee}
.fork__wa a:hover{background:#d5f0df}
.fork__wa svg{width:18px;height:18px}

/* Logo marquee */
.logos{margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.logos__in{display:flex;align-items:center;gap:28px;height:108px}
.logos__lbl{flex-shrink:0;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);max-width:90px;line-height:1.35}
.logos__track{flex:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.logos__row{display:flex;align-items:center;gap:56px;width:max-content;animation:marq 38s linear infinite}
.logos__track:hover .logos__row{animation-play-state:paused}
.logos__row img{height:52px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .3s,opacity .3s}
.logos__row img:hover{filter:none;opacity:1}
.logos__row img.dk{background:#141216;padding:6px 10px;border-radius:8px;height:56px}
@keyframes marq{to{transform:translateX(-50%)}}

/* Intro CTAs */
.jintro__ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.jintro__ctas svg{width:18px;height:18px}

/* Pyramid */
.pyr{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,4vw,64px);align-items:center}
.pyr__stack{display:flex;flex-direction:column;gap:8px;align-items:center;width:100%;max-width:600px;justify-self:center}
.pyr__lv{all:unset;box-sizing:border-box;cursor:pointer;position:relative;height:clamp(68px,7vw,88px);display:grid;place-items:center;color:var(--ink);font-family:var(--f-display);font-weight:600;font-size:clamp(16px,1.5vw,20px);transition:transform .35s cubic-bezier(.3,.7,.2,1),filter .3s;--bg:#e4dcf5}
.pyr__lv::before{content:"";position:absolute;inset:0;background:var(--bg);transition:background .35s}
.pyr__lv span{position:relative;display:flex;align-items:center;gap:10px;padding-top:var(--pt,0)}
.pyr__lv b{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.6);display:grid;place-items:center;font-size:13px}
.pyr__lv[data-lv="5"]{width:34%;--pt:22px;height:clamp(96px,9vw,118px)}
.pyr__lv[data-lv="5"]::before{clip-path:polygon(50% 0,100% 100%,0 100%)}
.pyr__lv[data-lv="4"]{width:52%}.pyr__lv[data-lv="3"]{width:68%}.pyr__lv[data-lv="2"]{width:84%}.pyr__lv[data-lv="1"]{width:100%}
.pyr__lv[data-lv="4"]::before{clip-path:polygon(12% 0,88% 0,100% 100%,0 100%)}
.pyr__lv[data-lv="3"]::before{clip-path:polygon(9% 0,91% 0,100% 100%,0 100%)}
.pyr__lv[data-lv="2"]::before{clip-path:polygon(7% 0,93% 0,100% 100%,0 100%)}
.pyr__lv[data-lv="1"]::before{clip-path:polygon(6% 0,94% 0,100% 100%,0 100%)}
.pyr__lv:hover{transform:scale(1.03)}
.pyr__lv.done{--bg:var(--lilac)}
.pyr__lv[aria-selected="true"]{--bg:var(--purple);color:#fff;transform:scale(1.05)}
.pyr__lv[aria-selected="true"] b{background:#fff;color:var(--purple)}
.pyr__lv:focus-visible{outline:none}
.pyr__lv:focus-visible span{outline:3px solid var(--deep);outline-offset:6px;border-radius:6px}
.pyr__card{background:#fff;border-radius:var(--r-lg);padding:clamp(28px,3.4vw,44px);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;min-height:360px}
.pyr__meter{display:flex;gap:6px}
.pyr__meter i{flex:1;height:6px;border-radius:3px;background:var(--line);transition:background .35s}
.pyr__meter i.on{background:var(--purple)}
.pyr__lvl{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--purple)}
.pyr__card h3{font-size:clamp(34px,3.4vw,48px);letter-spacing:-.03em}
.pyr__goal{font-family:var(--f-display);font-size:clamp(19px,1.6vw,22px);line-height:1.4}
.pyr__home{color:var(--ink-3);padding-top:14px;border-top:1px solid var(--line)}
.pyr__home b{color:var(--ink);display:block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}
.pyr__nav{display:flex;gap:10px;margin-top:auto;align-items:center}
.pyr__btn{all:unset;cursor:pointer;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-weight:700;font-size:18px}
.pyr__btn:hover{border-color:var(--purple);color:var(--purple)}
.pyr__btn:focus-visible{outline:3px solid var(--purple);outline-offset:2px}
.pyr__btn[disabled]{opacity:.35;pointer-events:none}
.ap3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:clamp(40px,5vw,64px);padding-top:clamp(28px,3vw,40px);border-top:1.5px solid #d9cdf3}
.ap3>div{display:flex;gap:16px;align-items:flex-start}
.ap3 .ic{width:44px;height:44px;flex-shrink:0;padding:10px;border-radius:12px;background:#fff;color:var(--purple)}
.ap3 h3{font-size:19px;margin-bottom:4px}
.ap3 p{font-size:15px;color:var(--ink-3)}
.mini-pyr{display:flex!important;flex-direction:column;align-items:flex-start;gap:4px;margin-top:16px;padding:0!important;border:0!important}
.mini-pyr i{display:block;white-space:nowrap;line-height:1.2;font-style:normal;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--purple);padding:4px 10px;border-radius:4px}
.mini-pyr i:nth-child(1){width:80px;background:var(--lilac);color:var(--ink)}.mini-pyr i:nth-child(2){width:110px;background:#9b78e6}.mini-pyr i:nth-child(3){width:140px}.mini-pyr i:nth-child(4){width:170px;background:#5b31b8}.mini-pyr i:nth-child(5){width:200px;background:var(--deep)}

/* Partner wall */
.pwall{padding:clamp(56px,6vw,88px) 0;border-bottom:1px solid var(--line)}
.pwall__head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.pwall__head h2{margin-top:10px}
.pwall__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);gap:12px}
.pwall__grid li{aspect-ratio:1.25;border:1.5px solid var(--line);border-radius:var(--r-md);display:grid;place-items:center;padding:16px;background:#fff;transition:border-color .25s,transform .25s}
.pwall__grid li:hover{border-color:var(--lilac);transform:translateY(-3px)}
.pwall__grid li.dk{background:var(--ink);border-color:var(--ink)}
.pwall__grid img{max-height:72px;max-width:100%;width:auto;object-fit:contain}

/* WA cards in enquiry aside */
.wa-cards{position:relative;z-index:1;display:grid;gap:10px;margin-top:auto}
.wa-cards__lbl{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lilac)}
.wa-card{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.1);text-decoration:none;color:#fff;transition:background .2s}
.wa-card:hover{background:rgba(255,255,255,.18)}
.wa-card i{width:40px;height:40px;border-radius:50%;background:#25D366;display:grid;place-items:center;flex-shrink:0}
.wa-card svg{width:22px;height:22px;color:#fff}
.wa-card span{display:flex;flex-direction:column;font-size:15px;line-height:1.3}
.wa-card b{font-family:var(--f-display);font-weight:600;font-size:16px}

/* Floating WA */
.wa-fab{position:fixed;right:20px;bottom:20px;z-index:44;display:flex;align-items:center;gap:10px;height:56px;padding:0 20px 0 16px;border-radius:999px;background:#25D366;color:#0b3d1f;font-weight:700;text-decoration:none;box-shadow:0 12px 30px -8px rgba(20,18,22,.35);transition:transform .2s}
.wa-fab:hover{transform:translateY(-2px)}
.wa-fab svg{width:26px;height:26px;color:#fff}
.wa-fab:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.mcta .btn svg{width:18px;height:18px}

/* footer 4 col */
.ftr__grid{grid-template-columns:1.4fr 1fr 1fr 1fr}

@media (max-width:1100px){.pwall__grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:960px){
  .pyr{grid-template-columns:1fr}
  .pyr__card{min-height:0}
  .ap3{grid-template-columns:1fr}
  .ftr__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .wa-fab{display:none}
  .logos__lbl{display:none}
  .logos__in{height:88px}
  .logos__row img{height:40px}
  .pwall__grid{grid-template-columns:repeat(2,1fr)}
  .pyr__lv{font-size:15px}
  .pyr__lv[data-lv="5"]{width:44%}.pyr__lv[data-lv="4"]{width:60%}.pyr__lv[data-lv="3"]{width:74%}.pyr__lv[data-lv="2"]{width:88%}
}
@media (prefers-reduced-motion:reduce){.logos__row{animation:none;flex-wrap:wrap;width:auto}}

/* ============ v5.1 — no overlapping decorative text ============ */
/* Door cards: watermark moved out of the text column */
.door__fig{display:none}
.door__who{display:flex;align-items:center;gap:10px}
.door__who::after{content:attr(data-tag);font-size:11px;letter-spacing:.1em;padding:3px 8px;border-radius:999px;border:1.5px solid currentColor;opacity:.8}
.door__chk{top:auto;bottom:clamp(28px,3vw,36px);right:clamp(24px,3vw,40px)}
/* Journey intros: roof stripes sit below the copy, never behind it */
.jintro{padding-bottom:clamp(110px,10vw,150px)}
.jintro::after{right:0;left:0;width:auto;height:72px;aspect-ratio:auto;bottom:0;background:repeating-linear-gradient(180deg,rgba(255,255,255,.1) 0 6px,transparent 6px 14px);clip-path:polygon(0 100%,0 60%,50% 0,100% 60%,100% 100%)}
.jintro__in{z-index:1}
/* Options: letter badge inline, not behind the heading */
.opt__n{position:static;font-size:15px;line-height:1;letter-spacing:0;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--lav);color:var(--deep)}
.opt--b .opt__n{background:rgba(255,255,255,.14);color:#fff}
.opt h3{max-width:none}
/* Pillar watermark words: keep clear of copy */
.pillar{min-height:0}
.pillar__big{margin-top:12px;font-size:44px}
/* Compare card stripes stay in the corner */
.cmp::after{z-index:0;opacity:.6}
/* Mobile: journey switch lives in the header row (no floating over content) */
@media (max-width:640px){
  .jswitch{position:static;transform:none;box-shadow:none;background:var(--lav);margin-left:auto;bottom:auto;left:auto}
  .jswitch button{padding:8px 11px;font-size:13px}
  .brand__word{display:none}
  .menu-btn{margin-left:8px;width:44px;height:44px}
}

/* v5.2 — Vision / Mission cards: text starts at the same height */
.about__body{grid-template-columns:1fr 1fr;align-items:stretch}
.about__body .vm__card{justify-content:flex-start!important;gap:24px}
.about__body .vm__card .vm__label{margin-bottom:4px}
.about__body .vm__card p{margin:0}
.about__body .vm__card--vision p,.about__body .vm__card--mission p.q{font-size:clamp(19px,1.6vw,22px);line-height:1.45}

/* v5.3 — portrait home-visit photo in patient picker */
[data-picker="c"] .picker__out{flex-direction:row}
[data-picker="c"] .picker__img{width:44%;height:auto;min-height:440px;flex-shrink:0}
@media (max-width:640px){
  [data-picker="c"] .picker__out{flex-direction:column}
  [data-picker="c"] .picker__img{width:100%;min-height:0;height:380px}
}

[data-picker="b"] .picker__img{height:clamp(260px,28vw,360px)}
