/* Healthcare page: "the patient corridor". Clinical white, ECG motif, wayfinding signs, token display.
   Premium light. Dark only in the OPD token display and the "Rx" header. */
.x-health{--hair:#e2e6ee;--soft:#f5f7fa;--h:#0d0f14;--body:#454b5c;--ok:#0f9d6b;--sp:clamp(84px,9vw,136px);color:var(--body)}
.x-health .in{max-width:1220px;padding:0 32px}
.x-health :is(h1,h2,h3){color:var(--h);font-weight:700;letter-spacing:-.03em}
.x-health .sec{padding:var(--sp) 0;position:relative}
.x-health .sec:nth-of-type(even){background:var(--soft)}
.x-health .sh{max-width:800px;margin-bottom:48px}
.x-health .sh h2{font-size:clamp(28px,3.2vw,44px);line-height:1.1;font-weight:800}
.x-health .sh .intro{font-size:18.5px;line-height:1.6;color:#5b6172}
.x-health .k{color:var(--blue)}
.x-health p{line-height:1.72}.x-health .sec p+p{margin-top:16px}
.x-health a{color:var(--blue);text-decoration-color:rgba(34,54,204,.35)}
.x-health .btn{border-radius:12px;padding:16px 26px}
.x-health .btn.gh{border:1px solid var(--hair);background:#fff;color:var(--h)}
.x-health .tick{margin-top:22px}.x-health .tick li{display:flex;gap:12px;margin-bottom:12px}.x-health .tick svg{flex:none;margin-top:4px;color:var(--ok)}
.x-health .note{font-size:14.5px;color:#7a8091;margin-top:18px}
.x-health .fg{border-radius:18px;border:1px solid var(--hair);box-shadow:0 1px 2px rgba(13,15,20,.04),0 28px 56px -34px rgba(13,15,20,.28);margin:0}
.x-health .fg figcaption{font-size:13.5px;color:#7a8091;border-color:var(--hair);background:#fff}
.x-health .tab{display:inline-block;font:700 12px var(--f1);letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
.x-health .cl{display:flex;gap:7px;align-items:center;font:700 12px var(--f1)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:12px}
.x-health :is(.opd-g,.tel-g,.sc-g,.rsk-g,.prc-g,.cst-g,.ch-g,.abd-g,.wwb-g) .sh h2{font-size:clamp(26px,2.6vw,40px);line-height:1.12}
.x-health :is(.opd-g,.tel-g,.sc-g,.rsk-g,.prc-g,.cst-g,.ch-g,.abd-g,.wwb-g) .sh{margin-bottom:26px}
.x-health .mx table,.x-health table{min-width:0}
/* ECG line */
.x-health .ecg{display:block;width:100%;height:46px;fill:none;stroke:var(--red);stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}
.x-health .ecg path{stroke-dasharray:100;stroke-dashoffset:100;animation:beat 2.6s linear infinite}
@keyframes beat{0%{stroke-dashoffset:100}55%{stroke-dashoffset:0}100%{stroke-dashoffset:-100}}
.x-health .ecg.s{height:22px;stroke:var(--blue);stroke-width:1.6;opacity:.55;margin-top:10px}

/* hero */
.x-health .hero{position:relative;padding:28px 0 96px;background:linear-gradient(180deg,#fff,#f5f7fa);overflow:hidden}
.x-health .hero:before{content:"";position:absolute;right:-120px;top:-120px;width:520px;height:520px;background:conic-gradient(from 0deg,transparent 0 25%,rgba(205,33,34,.06) 0 50%,transparent 0 75%,rgba(34,54,204,.06) 0);clip-path:polygon(38% 0,62% 0,62% 38%,100% 38%,100% 62%,62% 62%,62% 100%,38% 100%,38% 62%,0 62%,0 38%,38% 38%)}
.x-health .crumb{position:relative;display:flex;gap:8px;font-size:13.5px;color:#7a8091;margin-bottom:56px}.x-health .crumb a{color:#7a8091;text-decoration:none}.x-health .crumb b{color:var(--h)}.x-health .crumb i{font-style:normal;color:#b8bfcc}
.x-health .hg{position:relative;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:center}
.x-health .eb{display:inline-flex;align-items:center;gap:8px;font:600 13px var(--f1);color:var(--blue);background:#fff;border:1px solid var(--hair);padding:8px 14px;border-radius:10px;margin-bottom:26px;max-width:100%}
.x-health h1{font-size:clamp(34px,4vw,58px);line-height:1.06;letter-spacing:-.04em;font-weight:800}
.x-health h1 em{font-style:normal;color:var(--blue)}
.x-health .lead{font-size:19px;line-height:1.62;margin:24px 0;max-width:660px}
.x-health .pts{display:grid;gap:10px;margin-bottom:32px}.x-health .pts li{display:flex;gap:8px;align-items:center;font:600 14.5px var(--f1);color:var(--h)}.x-health .pts svg{color:var(--ok);flex:none}
/* token display */
.x-health .tv{position:relative;border-radius:24px;background:#0d0f14;color:#fff;padding:22px;box-shadow:0 0 0 10px #e9ecf2,0 60px 100px -50px rgba(13,15,20,.7)}
.x-health .tvh{display:flex;justify-content:space-between;align-items:center;font:600 13px var(--f1);color:#9aa1b2}.x-health .tvh span{display:flex;gap:8px;align-items:center}
.x-health .tvh em{display:flex;gap:6px;align-items:center;font-style:normal;color:#ff8a8a}.x-health .tvh em i{width:8px;height:8px;border-radius:50%;background:var(--red);animation:blk 1.2s infinite}
@keyframes blk{50%{opacity:.25}}
.x-health .now{text-align:center;padding:18px 0 4px}.x-health .now small{display:block;font:600 12px var(--f1);letter-spacing:.16em;text-transform:uppercase;color:#9aa1b2}
.x-health .tk{display:block;font:800 76px/1 var(--f1);letter-spacing:-.03em;margin:8px 0;font-variant-numeric:tabular-nums;transition:opacity .3s,transform .3s}
.x-health .tk.sw{opacity:0;transform:translateY(-10px)}
.x-health .rm{display:inline-block;padding:6px 14px;border-radius:999px;background:var(--blue);font:600 14px var(--f1)}
.x-health .tv .ecg{margin:12px 0 8px;stroke:#ff6b6b}
.x-health .nx{display:grid;gap:6px}.x-health .nx li{display:grid;grid-template-columns:64px 1fr auto;gap:10px;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.06);font-size:14px}
.x-health .nx b{font:700 14px var(--f1)}.x-health .nx span{color:#c3c8d5}.x-health .nx em{font-style:normal;color:#8fa0ff;font-size:13px}
.x-health .tvs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.x-health .tvs span{padding:10px;border-radius:12px;background:rgba(255,255,255,.06);font-size:12px;color:#9aa1b2;text-align:center}.x-health .tvs b{display:block;font:700 18px var(--f1);color:#fff}
.x-health .tvf{font-size:12px;color:#7d8496;margin-top:12px;text-align:center}

/* vitals stats */
.x-health .vit{padding:0 0 20px;background:#f5f7fa}
.x-health .vts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.x-health .vt{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;padding:20px 22px 14px;border-radius:18px;background:#fff;border:1px solid var(--hair)}
.x-health .vt>span{grid-row:span 2;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#eef0fd;color:var(--blue)}
.x-health .vt b{font:800 32px/1 var(--f1);letter-spacing:-.03em;color:var(--h)}.x-health .vt small{font-size:13.5px;color:#6b7182}.x-health .vt .ecg{grid-column:1/-1}
.x-health .vt:first-child b{color:var(--red)}

/* answer: prescription pad */
.x-health .ans{padding:var(--sp) 0;background:#fff}
.x-health .an-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:56px;align-items:center}
.x-health .an-t h2{font:600 16px var(--f2);letter-spacing:0;color:#7a8091;margin-bottom:14px}
.x-health .speak{font:500 clamp(21px,2.1vw,28px)/1.5 var(--f1);letter-spacing:-.015em;color:var(--h)}
.x-health .rx{border-radius:20px;background:#fff;border:1px solid var(--hair);overflow:hidden;box-shadow:0 40px 70px -46px rgba(34,54,204,.5)}
.x-health .rxh{display:flex;align-items:center;gap:14px;padding:16px 22px;background:var(--blue);color:#fff}.x-health .rxh b{font:800 30px/1 var(--f1);font-style:italic}.x-health .rxh span{font:600 13px var(--f1);letter-spacing:.12em;text-transform:uppercase}
.x-health .rx ul{padding:8px 22px}.x-health .rx li{padding:14px 0;border-bottom:1px dashed #d6dae3}.x-health .rx li:last-child{border:0}
.x-health .rx li span{display:block;font:600 12px var(--f1);color:#8a90a0;text-transform:uppercase;letter-spacing:.08em}.x-health .rx li b{display:block;font:600 15.5px var(--f1);color:var(--h);margin-top:3px}
.x-health .rxs{padding:12px 22px;border-top:1px solid var(--hair);font:italic 600 13px var(--f1)!important;color:#8a90a0;text-align:right}

/* what we build: terms */
.x-health .wwb-g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px;align-items:start;margin-bottom:48px}
.x-health .wwb-l{font:500 18px/1.6 var(--f1)!important;color:var(--h)}
.x-health .terms{display:grid;gap:8px}
.x-health .terms li{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:center;padding:14px 18px 14px 14px;border-radius:16px;background:#fff;border:1px solid var(--hair)}
.x-health .ab{display:grid;place-items:center;height:52px;border-radius:12px;background:var(--soft);font:800 16px var(--f1);color:var(--blue)}
.x-health .terms li:nth-child(even) .ab{color:var(--red);background:var(--blush)}
.x-health .terms b{display:flex;gap:6px;align-items:center;font:700 15.5px var(--f1);color:var(--h)}.x-health .terms b svg{color:#9aa1b2}.x-health .terms small{display:block;font-size:14.2px;line-height:1.5;color:#5b6172;margin-top:2px}

/* corridor */
.x-health .cor{position:relative;height:540vh;background:#fff}
.x-health .cor-s{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:linear-gradient(180deg,#f7f8fb 0,#fff 30%,#eef1f6 100%)}
.x-health .cor-h{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:48px;align-items:end;margin-bottom:34px;width:100%}
.x-health .cor-h h2{font-size:clamp(26px,2.8vw,40px);line-height:1.12;font-weight:800}.x-health .cor-h p{font-size:15.5px;color:#5b6172}
.x-health .hall{position:relative}
.x-health .track{display:flex;gap:22px;padding:0 max(32px,calc(50% - 578px));transform:translate3d(var(--x,0px),0,0);will-change:transform}
.x-health .room{flex:none;width:340px;padding:0 0 22px;border-radius:20px 20px 14px 14px;background:#fff;border:1px solid var(--hair);overflow:hidden;opacity:.5;transform:scale(.96);transition:opacity .35s,transform .35s,box-shadow .35s}
.x-health .room.on{opacity:1;transform:none;box-shadow:0 40px 70px -40px rgba(34,54,204,.55);border-color:#c8cff4}
.x-health .door{position:relative;height:160px;background:linear-gradient(180deg,#e9edf5,#dfe4ee);border-bottom:4px solid #cfd5e2;display:flex;align-items:flex-end;justify-content:space-between;padding:12px 16px}
.x-health .door:before{content:"";position:absolute;left:50%;top:18px;bottom:0;width:86px;margin-left:-43px;border-radius:8px 8px 0 0;background:linear-gradient(90deg,#fff,#eef1f7);border:1px solid #d3d9e5;border-bottom:0;transform-origin:left;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.x-health .room.on .door:before{transform:perspective(400px) rotateY(-58deg)}
.x-health .door:after{content:"";position:absolute;left:50%;top:18px;bottom:0;width:86px;margin-left:-43px;border-radius:8px 8px 0 0;background:radial-gradient(circle at 50% 60%,rgba(34,54,204,.25),transparent 70%);z-index:-0;opacity:0;transition:opacity .6s}
.x-health .room.on .door:after{opacity:1}
.x-health .no{position:relative;z-index:1;font:800 13px var(--f1);color:#8a90a0}
.x-health .sg{position:relative;z-index:1;display:flex;gap:6px;align-items:center;padding:6px 10px;border-radius:8px;background:var(--h);color:#fff;font:700 12.5px var(--f1)}
.x-health .room.on .sg{background:var(--blue)}
.x-health .room h3{font-size:21px;margin:18px 20px 8px}.x-health .room p{font-size:15.5px;line-height:1.55;margin:0 20px}
.x-health .floor{max-width:1156px;margin:34px auto 0;padding:0 32px}
.x-health .path{position:relative;display:flex;justify-content:space-between;height:46px}
.x-health .path:before{content:"";position:absolute;left:0;right:0;top:12px;height:3px;border-radius:3px;background:#dfe3ec}
.x-health .path:after{content:"";position:absolute;left:0;top:12px;height:3px;width:var(--pw,0%);border-radius:3px;background:linear-gradient(90deg,var(--blue),var(--red))}
.x-health .path i{position:relative;z-index:1;width:14px;height:14px;margin-top:6px;border-radius:50%;background:#fff;border:3px solid #c9cfdc;transition:.3s}
.x-health .path i.on{border-color:var(--blue)}
.x-health .path i b{position:absolute;top:22px;left:50%;transform:translateX(-50%);white-space:nowrap;font:600 12px var(--f1);color:#8a90a0}.x-health .path i.on b{color:var(--h)}
.x-health .pt{position:absolute;z-index:2;top:-8px;left:var(--pw,0%);width:42px;height:42px;margin-left:-21px;display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fff;box-shadow:0 0 0 6px rgba(205,33,34,.15),0 12px 20px -8px var(--red)}
.x-health .jx{background:#fff!important;padding-top:40px}
.x-health .jx-g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px;align-items:center}

/* opd */
.x-health .opd-g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px;align-items:start}
.x-health .opd-v .tick{padding:22px 24px;border-radius:18px;background:#fff;border:1px solid var(--hair)}

/* modules: patient file folders */
.x-health .mod-h{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:56px;align-items:center;margin-bottom:44px}.x-health .mod-h .sh{margin:0}
.x-health .fds{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 16px;padding-top:14px}
.x-health .fd{position:relative;padding:26px 24px 24px;border-radius:0 16px 16px 16px;background:#fff;border:1px solid var(--hair)}
.x-health .tab2{position:absolute;left:-1px;top:-28px;display:flex;gap:6px;align-items:center;height:28px;padding:0 14px;border-radius:10px 10px 0 0;background:#fff;border:1px solid var(--hair);border-bottom:0;font:700 12px var(--f1);color:var(--blue)}
.x-health .fd:nth-child(3n+2) .tab2{color:var(--red)}
.x-health .fd h3{font-size:18px;margin-bottom:8px}.x-health .fd p{font-size:15px;line-height:1.6}

/* who: wayfinding directory */
.x-health .dir{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.x-health .dir li{padding:6px;border-radius:18px;background:#fff;border:1px solid var(--hair)}
.x-health .sgn{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:13px;background:#0f2a6b;background:linear-gradient(90deg,#1a2f8f,var(--blue));color:#fff}
.x-health .dir li:nth-child(4n+2) .sgn,.x-health .dir li:nth-child(4n+3) .sgn{background:linear-gradient(90deg,#14161c,#2a2e38)}
.x-health .sgn span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.14)}.x-health .sgn b{font:700 15.5px var(--f1);flex:1}.x-health .sgn em{font-style:normal;font-size:20px;opacity:.7}
.x-health .dir p{margin:0!important;padding:12px 14px 4px;font-size:14.5px;line-height:1.55;color:var(--h)}.x-health .dir p+p{padding-top:4px;padding-bottom:12px}
.x-health .dir small{display:block;font:700 11px var(--f1);letter-spacing:.12em;text-transform:uppercase;color:#8a90a0;margin-bottom:2px}.x-health .dir p+p small{color:var(--blue)}

/* abdm */
.x-health .abd-g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px;align-items:start;margin-bottom:40px}
.x-health .cf{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:8px;padding:22px;border-radius:20px;background:#fff;border:1px solid var(--hair);margin-bottom:20px}
.x-health .cfn{text-align:center;padding:14px 10px;border-radius:14px;background:var(--soft)}.x-health .cfn span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--h);color:#fff}
.x-health .cfn.cfp{background:#eef0fd}.x-health .cfn.cfp span{background:var(--blue)}
.x-health .cfn b{display:block;font:800 16px var(--f1);color:var(--h);margin-top:8px}.x-health .cfn small{display:block;font-size:12.5px;line-height:1.4;color:#5b6172;margin-top:2px}
.x-health .cfa{display:flex;flex-direction:column;align-items:center;gap:6px;width:72px}.x-health .cfa i{position:relative;width:100%;height:2px;background:repeating-linear-gradient(90deg,var(--red) 0 6px,transparent 6px 10px);background-size:20px 2px;animation:dash 1s linear infinite}
.x-health .cfa i:after{content:"";position:absolute;right:-2px;top:-4px;border:5px solid transparent;border-left-color:var(--red)}
@keyframes dash{to{background-position:20px 0}}
.x-health .cfa em{font:600 10.5px var(--f1);font-style:normal;color:#8a90a0;text-align:center;line-height:1.3}
.x-health .ab-ss{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.x-health .ab-s{padding:28px;border-radius:20px;background:#fff;border:1px solid var(--hair);border-top:4px solid var(--blue)}.x-health .ab-s:nth-child(2){border-top-color:var(--red)}
.x-health .ab-s h3{font-size:19px;margin-bottom:10px}.x-health .ab-s p{font-size:15.5px}

/* telemedicine */
.x-health .tel-g{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:64px;align-items:start}
.x-health .tel-v{position:sticky;top:84px;max-width:400px}

/* security */
.x-health .sc-g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px;align-items:center}
.x-health .sts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
.x-health .sts li{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:14px;background:#fff;border:1px solid var(--hair);font-size:14.5px;line-height:1.5;color:var(--h)}
.x-health .sts span{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#e8f6ef;color:var(--ok)}

/* real work */
.x-health .rw-c{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:48px;align-items:center;padding:44px;border-radius:28px;background:#fff;border:1px solid var(--hair);box-shadow:0 50px 90px -60px rgba(34,54,204,.5)}
.x-health .rw-t h2{font-size:clamp(24px,2.4vw,34px);line-height:1.15;margin-bottom:16px}
.x-health .rw-v .tick{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.x-health .rw-v .tick li{margin:0;font-size:15px}

/* table */
.x-health .tw{overflow-x:auto;border-radius:20px;border:1px solid var(--hair);background:#fff}
.x-health .tt{width:100%;border-collapse:collapse;min-width:780px!important}.x-health .tt th,.x-health .tt td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--hair);font-size:15px}
.x-health .tt thead th{font:700 13px var(--f1);letter-spacing:.06em;text-transform:uppercase;color:#7a8091;background:var(--soft)}
.x-health .tt td:first-child{font-weight:600;color:var(--h)}.x-health .tt .hl{background:#eef0fd;color:var(--h);font-weight:600}.x-health .tt thead .hl{background:var(--blue);color:#fff}.x-health .tt tr:last-child td{border-bottom:0}
.x-health .bbn{display:flex;gap:12px;align-items:flex-start;margin-top:20px;padding:20px 24px;border-radius:16px;background:var(--blush);color:var(--h)}.x-health .bbn svg{flex:none;color:var(--red);margin-top:3px}

/* risks */
.x-health .rsk-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:56px;align-items:start}
.x-health .rsk-v{position:sticky;top:84px}
.x-health .als{display:grid;gap:10px}
.x-health .als li{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:20px 22px;border-radius:16px;background:#fff;border:1px solid var(--hair);border-left:4px solid var(--red)}
.x-health .al{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--blush);color:var(--red)}
.x-health .als b{display:block;font:700 17px var(--f1);color:var(--h);margin-bottom:4px}.x-health .als p{font-size:15.2px;line-height:1.6}

/* process: case sheet */
.x-health .prc-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:56px;align-items:start}
.x-health .prc-v{position:sticky;top:84px}
.x-health .cs{position:relative;display:grid;gap:0;border-radius:20px;background:#fff;border:1px solid var(--hair);overflow:hidden}
.x-health .cs li{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:20px 24px;border-bottom:1px solid var(--hair)}.x-health .cs li:last-child{border:0}
.x-health .pn{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:2px solid var(--blue);font:800 15px var(--f1);color:var(--blue)}
.x-health .cs li:nth-child(even) .pn{border-color:var(--red);color:var(--red)}
.x-health .cs h3{font-size:17.5px;margin-bottom:4px}.x-health .cs p{font-size:15px;line-height:1.6}

/* cost */
.x-health .cst-g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px;align-items:start}
.x-health .cbox{display:flex;gap:14px;margin-top:24px;padding:22px 24px;border-radius:18px;background:#eef0fd;color:var(--h)}.x-health .cbox svg{flex:none;color:var(--blue);margin-top:2px}
.x-health .cfs{display:grid;gap:8px}.x-health .cfs li{display:flex;gap:16px;align-items:center;padding:16px 20px;border-radius:14px;background:#fff;border:1px solid var(--hair);font-size:15.5px;color:var(--h)}
.x-health .cfs span{flex:none;font:800 20px var(--f1);color:transparent;-webkit-text-stroke:1.2px var(--blue)}

/* checklist */
.x-health .ch-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:56px;align-items:start}
.x-health .qs{display:grid;gap:8px;margin-bottom:20px}
.x-health .qs label{position:relative;display:flex;gap:14px;align-items:flex-start;padding:15px 18px;border-radius:14px;background:#fff;border:1px solid var(--hair);cursor:pointer}
.x-health .qs input{position:absolute;opacity:0}.x-health .cbx{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:7px;border:1.5px solid #b8bfcc;color:transparent;margin-top:2px;transition:.2s}
.x-health .qs input:checked+.cbx{background:var(--ok);border-color:var(--ok);color:#fff}.x-health .qs input:checked~.q{color:#9aa0ae;text-decoration:line-through}
.x-health .q{font-size:15.5px;line-height:1.5;color:var(--h);font-weight:500}
.x-health .ch-f{position:sticky;top:84px}

/* cities */
.x-health .cts{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:30px}
.x-health .cts li{padding:22px;border-radius:16px;background:#fff;border:1px solid var(--hair)}.x-health .cts li:first-child{background:var(--h);border-color:var(--h)}.x-health .cts li:first-child :is(h3,p){color:#fff}
.x-health .cts h3{display:flex;gap:8px;align-items:center;font-size:16.5px;margin-bottom:8px}.x-health .cts svg{color:var(--red)}.x-health .cts p{font-size:14.5px;line-height:1.55}

/* faq */
.x-health .fq-g{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:56px;align-items:start}.x-health .fq-g .sh{position:sticky;top:84px}
.x-health .ecg.big{height:60px;margin-top:20px}
.x-health .fqs{display:grid;gap:10px}
.x-health .fq{border-radius:16px;background:#fff;border:1px solid var(--hair)}
.x-health .fq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;cursor:pointer;list-style:none}.x-health .fq summary::-webkit-details-marker{display:none}
.x-health .fq h3{font-size:17px;line-height:1.4;letter-spacing:-.01em}
.x-health .fq i{flex:none;width:28px;height:28px;border-radius:8px;background:var(--blush);position:relative}.x-health .fq i:before,.x-health .fq i:after{content:"";position:absolute;left:8px;right:8px;top:13px;height:2px;background:var(--red)}.x-health .fq i:after{transform:rotate(90deg);transition:.25s}.x-health .fq[open] i:after{transform:none}
.x-health .fq[open]{border-color:#c8cff4}.x-health .fq p{padding:0 22px 22px;font-size:16px}

/* final */
.x-health .fin{padding:var(--sp) 0;background:#fff}
.x-health .fcard{position:relative;max-width:940px;margin:0 auto;text-align:center;padding:56px 48px;border-radius:32px;background:#fff;border:1px solid var(--hair);box-shadow:0 60px 100px -60px rgba(205,33,34,.4);overflow:hidden}
.x-health .ecg.fe{position:absolute;left:0;right:0;top:20px;height:60px;opacity:.25}
.x-health .fcard .k{justify-content:center}.x-health .fcard h2{font-size:clamp(28px,3.1vw,44px);line-height:1.1;font-weight:800}.x-health .fcard>p{margin:16px auto 28px;max-width:680px;font-size:17.5px}
.x-health .fcard .btns{justify-content:center}.x-health .addr{font-size:13.5px!important;color:#7a8091;margin:26px 0 0!important}

/* related */
.x-health .sbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.x-health .sb{display:grid;grid-template-columns:auto 1fr;column-gap:14px;padding:20px;border-radius:16px;background:#fff;border:1px solid var(--hair);text-decoration:none;transition:.25s}
.x-health .sb svg{grid-row:span 2;color:var(--blue);align-self:center}.x-health .sb b{font:600 15px var(--f1);color:var(--h)}.x-health .sb span{font-size:13.5px;color:#6b7182}.x-health .sb:hover{border-color:var(--blue)}
.x-health .more{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:30px}.x-health .more a{padding:9px 16px;border-radius:12px;background:#fff;border:1px solid var(--hair);color:var(--h);text-decoration:none;font:600 14px var(--f1)}

/* reveal */
.x-health .rv{opacity:0;transform:translateY(16px);transition:opacity .6s,transform .6s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0)*60ms)}.x-health .rv.vis{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.x-health .rv{opacity:1;transform:none;transition:none}.x-health .ecg path{animation:none;stroke-dashoffset:0}}

/* responsive */
@media (max-width:1100px){.x-health .cts{grid-template-columns:repeat(3,1fr)}.x-health .sbs,.x-health .vts{grid-template-columns:1fr 1fr}.x-health .fds{grid-template-columns:1fr 1fr}}
@media (max-width:900px){
 .x-health .in{padding:0 20px}
 .x-health :is(.hg,.an-g,.wwb-g,.cor-h,.jx-g,.opd-g,.mod-h,.abd-g,.tel-g,.sc-g,.rw-c,.rsk-g,.prc-g,.cst-g,.ch-g,.fq-g){grid-template-columns:minmax(0,1fr);gap:32px}
 .x-health :is(.tel-v,.rsk-v,.prc-v,.ch-f,.fq-g .sh){position:static}
 .x-health :is(.tel-v,.rsk-v,.prc-v,.ch-f){max-width:420px;margin:0 auto;width:100%}
 .x-health .dir,.x-health .ab-ss{grid-template-columns:1fr}.x-health .rw-c{padding:26px 20px}
 /* corridor becomes a swipe strip */
 .x-health .cor{height:auto}.x-health .cor-s{position:relative;height:auto;padding:var(--sp) 0 60px}
 .x-health .track{transform:none!important;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 20px 20px;scrollbar-width:none}.x-health .track::-webkit-scrollbar{display:none}
 .x-health .room{width:78vw;max-width:320px;scroll-snap-align:center;opacity:1;transform:none}.x-health .floor{display:none}
 .x-health .cf{grid-template-columns:1fr;justify-items:center}.x-health .cfa{width:auto;transform:rotate(90deg);height:40px;justify-content:center}.x-health .cfa em{transform:rotate(-90deg);white-space:nowrap}.x-health .cfn{width:100%}}
@media (max-width:640px){
 .x-health{font-size:16.5px}.x-health .tk{font-size:58px}.x-health .tv{padding:16px}.x-health .nx li{grid-template-columns:52px 1fr auto;font-size:13px}
 .x-health :is(.vts,.sbs,.fds,.cts,.sts,.rw-v .tick){grid-template-columns:1fr}.x-health .vt b{font-size:28px}
 .x-health .terms li{grid-template-columns:58px 1fr;gap:12px}.x-health .fcard{padding:40px 22px}.x-health .hero .btns .btn{width:100%}}

/* corridor rooms art: one scene + one motion per room (plays on the active room) */
.x-health .door:before,.x-health .door:after{display:none}
.x-health .door{background:linear-gradient(180deg,#f3f5fa,#e6eaf2)}
.x-health .ra{position:absolute;inset:6px 0 0;width:100%;height:calc(100% - 6px)}
.x-health .ra *{animation-play-state:paused;transform-box:fill-box}
.x-health .room.on .ra *{animation-play-state:running}
.x-health .room:not(.on) .ra{filter:saturate(.35);opacity:.75}
/* 01 calendar */
.x-health .b-ring{stroke-dasharray:100;stroke-dashoffset:100;animation:bDraw 3.2s ease-in-out infinite}
.x-health .b-tick{stroke-dasharray:100;stroke-dashoffset:100;animation:bTick 3.2s ease-in-out infinite}
.x-health .b-pop{transform-origin:left center;animation:bPop 3.2s cubic-bezier(.3,1.6,.5,1) infinite}
@keyframes bDraw{0%,10%{stroke-dashoffset:100}40%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:0;opacity:0}}
@keyframes bTick{0%,40%{stroke-dashoffset:100}60%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:0;opacity:0}}
@keyframes bPop{0%,55%{transform:scale(0);opacity:0}68%,90%{transform:scale(1);opacity:1}100%{transform:scale(.9);opacity:0}}
/* 02 search by mobile */
.x-health .r-lens{animation:rLens 3.6s ease-in-out infinite}
@keyframes rLens{0%{transform:translate(110px,66px)}30%{transform:translate(190px,66px)}55%,100%{transform:translate(150px,88px)}}
.x-health .r-row.r1{animation:rHit 3.6s ease infinite}
@keyframes rHit{0%,50%{fill:#dfe4ee}60%,92%{fill:#2236cc}100%{fill:#dfe4ee}}
.x-health .r-id{animation:rId 3.6s cubic-bezier(.2,.8,.2,1) infinite}
@keyframes rId{0%,58%{transform:translateX(30px);opacity:0}72%,94%{transform:none;opacity:1}100%{opacity:0}}
/* 03 token roll + queue moves up */
.x-health .t-roll{animation:tRoll 2.8s cubic-bezier(.7,0,.2,1) infinite}
@keyframes tRoll{0%,55%{transform:translateY(0)}75%,100%{transform:translateY(-40px)}}
.x-health .t-dot{animation:tStep 2.8s cubic-bezier(.7,0,.2,1) infinite}
.x-health .t-dot.d0{animation-name:tGo}
@keyframes tStep{0%,55%{transform:none}75%,100%{transform:translateX(-20px)}}
@keyframes tGo{0%,55%{transform:none;opacity:1}75%,100%{transform:translate(40px,-32px) scale(.4);opacity:0}}
/* 04 ECG + prescription writes */
.x-health .c-ecg{stroke-dasharray:100;stroke-dashoffset:100;animation:cEcg 2.4s linear infinite}
@keyframes cEcg{0%{stroke-dashoffset:100}60%{stroke-dashoffset:0}100%{stroke-dashoffset:-100}}
.x-health .c-ln{stroke-dasharray:100;stroke-dashoffset:100;animation:cLn 3.6s ease infinite}
.x-health .c-ln.l1{animation-delay:.5s}.x-health .c-ln.l2{animation-delay:1s}
@keyframes cLn{0%{stroke-dashoffset:100}30%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:0;opacity:0}}
.x-health .c-pen{animation:cPen 3.6s ease infinite}
@keyframes cPen{0%{transform:translate(110px,92px)}25%{transform:translate(190px,92px)}40%{transform:translate(172px,104px)}55%{transform:translate(154px,116px)}100%{transform:translate(110px,92px)}}
/* 05 tube fills, bubbles, barcode scan */
.x-health .l-liq{animation:lFill 3.4s ease-in-out infinite}
@keyframes lFill{0%,100%{transform:translateY(46px)}50%{transform:translateY(0)}}
.x-health .l-bub{animation:lBub 1.8s ease-in infinite}.x-health .l-bub.b1{animation-delay:.6s}.x-health .l-bub.b2{animation-delay:1.1s}
@keyframes lBub{0%{transform:translateY(0);opacity:0}20%{opacity:.9}100%{transform:translateY(-70px);opacity:0}}
.x-health .l-scan{animation:lScan 1.6s ease-in-out infinite alternate}
@keyframes lScan{from{transform:translateY(0)}to{transform:translateY(37px)}}
/* 06 capsule spin + blister pop */
.x-health .p-cap>g{transform-origin:center;animation:pSpin 4s cubic-bezier(.6,0,.3,1) infinite}
@keyframes pSpin{0%,20%{transform:rotate(0)}50%,70%{transform:rotate(180deg)}100%{transform:rotate(360deg)}}
.x-health .p-bl{transform-origin:center;animation:pPop 3s ease infinite}
.x-health .p-bl.q1{animation-delay:.3s}.x-health .p-bl.q2{animation-delay:.6s}.x-health .p-bl.q3{animation-delay:.9s}.x-health .p-bl.q4{animation-delay:1.2s}.x-health .p-bl.q5{animation-delay:1.5s}
@keyframes pPop{0%,10%{fill:#fff;transform:scale(1)}20%{transform:scale(1.25)}30%,80%{fill:#cd2122;transform:scale(1)}100%{fill:#fff}}
/* 07 receipt prints, stamp lands */
.x-health .b-paper{animation:bPrint 3.4s steps(18) infinite}
@keyframes bPrint{0%{transform:translateY(-96px)}60%,100%{transform:translateY(0)}}
.x-health .b-stamp{transform-origin:center;animation:bStamp 3.4s cubic-bezier(.3,1.5,.5,1) infinite}
@keyframes bStamp{0%,62%{transform:scale(2.2) rotate(-20deg);opacity:0}74%,94%{transform:scale(1) rotate(-12deg);opacity:1}100%{opacity:0}}
/* 08 bell rings, waves, message pops */
.x-health .f-bell>g{transform-origin:50% 0;animation:fRing 2.6s ease-in-out infinite}
@keyframes fRing{0%,40%,100%{transform:rotate(0)}5%{transform:rotate(16deg)}12%{transform:rotate(-14deg)}19%{transform:rotate(10deg)}26%{transform:rotate(-6deg)}33%{transform:rotate(3deg)}}
.x-health .f-wave{animation:fWave 2.6s ease-out infinite}.x-health .f-wave.w2{animation-delay:.15s}
@keyframes fWave{0%,4%{opacity:0;transform:translateX(-6px)}14%{opacity:1}40%,100%{opacity:0;transform:translateX(8px)}}
.x-health .f-msg{transform-origin:left bottom;animation:fMsg 2.6s cubic-bezier(.3,1.6,.5,1) infinite}
@keyframes fMsg{0%,20%{transform:scale(0);opacity:0}35%,90%{transform:scale(1);opacity:1}100%{opacity:0}}
.x-health .f-dot{transform-origin:center;animation:fDot 1.3s ease-in-out infinite}
@keyframes fDot{50%{transform:scale(1.5);opacity:.6}}
@media (max-width:900px){.x-health .ra *{animation-play-state:running}.x-health .room .ra{filter:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.x-health .ra *{animation:none!important}}
/* ===== review 2026-11-04 grid centring (no empty slot in the last row) */
@media (min-width:641px){.x-health .fds{display:flex;flex-wrap:wrap;justify-content:center;column-gap:16px;row-gap:26px}.x-health .fds>*{flex:0 1 calc((100% - 32px) / 3);min-width:0}}
@media (min-width:641px) and (max-width:900px){.x-health .fds>*{flex-basis:calc((100% - 16px) / 2)}}
@media (min-width:901px){.x-health .ab-ss>:last-child:nth-child(odd){grid-column:1/-1}}
