/* R22 additions: patient-led story and a small shared service directory. */
.r22-directory{position:relative;margin:0;padding:14px 4vw;display:flex;gap:24px;flex-wrap:wrap;border-top:1px solid #89919a40;border-bottom:1px solid #89919a40;font:500 13px/1.5 Manrope,"IBM Plex Sans Thai",sans-serif;background:#f0f1ed;color:#172535;z-index:5}
.r22-directory a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:inherit}.r22-directory a:hover{text-decoration:underline}.r22-directory .directory-title{margin-right:auto;align-self:center;letter-spacing:.08em;font-size:11px}.trio .r22-directory{background:#181b1d;color:#e6e8e5}.r22-directory a:focus-visible{outline:3px solid #c74439;outline-offset:4px}
.r22-story{--story-ink:#213e43;--story-accent:#a64832;background:#edf1ed;color:var(--story-ink);padding:clamp(32px,6vw,90px);margin:40px 0}.r22-story h3{font-size:clamp(29px,3.5vw,48px);line-height:1.13;letter-spacing:-.04em;margin:16px 0}.r22-story .story-head{display:flex;align-items:flex-start;justify-content:space-between;gap:32px}.r22-story .story-head p{max-width:430px;font-size:15px;line-height:1.7}.r22-story .story-label{font:500 11px/1.5 "IBM Plex Mono",monospace;letter-spacing:.08em}.story-stage{position:relative;display:grid;grid-template-columns:1.2fr 1fr;min-height:380px;background:#e1e8e3;border:1px solid #254c4930;border-radius:4px;overflow:hidden;margin:24px 0}.story-world{position:relative;min-width:0;display:grid;align-items:end;background:radial-gradient(ellipse at 15% 20%,#fff9e5,transparent 65%)}.story-world>svg{display:block;width:100%;height:auto;max-height:370px}.story-room{transition:opacity .8s,transform .8s;transform-origin:center}.story-room.hospital{opacity:.23;transform:translateY(8px)}.r22-story[data-beat="3"] .hospital,.r22-story[data-beat="4"] .hospital,.r22-story[data-beat="5"] .hospital{opacity:1;transform:none}.story-world .link-trace{stroke-dasharray:8 10;animation:story-transmit 3s linear infinite;opacity:0}.r22-story[data-beat="3"] .link-trace,.r22-story[data-beat="5"] .link-trace{opacity:1}.r22-story[data-beat="5"] .link-trace{animation-direction:reverse}.story-world .symptom{opacity:0;transform-origin:144px 187px}.r22-story[data-beat="0"] .symptom{opacity:.8;animation:story-pulse 2.5s ease-in-out infinite}.story-state{padding:32px;display:flex;flex-direction:column;justify-content:center;background:#f9faf6;border-left:1px solid #254c4930;min-width:0}.story-state h4{font-size:25px;line-height:1.25;margin:16px 0 10px;letter-spacing:-.025em}.story-state p{font-size:15px;line-height:1.7;margin:0}.story-state small{font-size:11px;line-height:1.6}.story-device{display:flex;align-items:center;gap:14px;padding:14px 0;margin-top:18px;border-top:1px solid #254c4928}.story-device img{width:80px;height:60px;object-fit:contain}.story-screen{background:#123b3e;color:#f5f9f4;padding:18px;margin-top:20px;border-radius:8px;min-height:125px;position:relative;overflow:hidden}.story-screen svg{display:block;width:100%;height:45px;margin:10px 0}.story-screen .ecg{stroke:#a8dfc7;stroke-width:2;fill:none;stroke-dasharray:800;stroke-dashoffset:0;animation:story-ecg 5s linear infinite}.story-screen strong{font-size:15px;line-height:1.5;display:block}.story-screen small{display:block;color:#d1ded8}.story-screen[data-alert="true"]{background:#493b29}.story-screen[data-alert="true"] strong{color:#ffe3a5}.story-screen .screen-tag{font:10px/1.5 "IBM Plex Mono",monospace;letter-spacing:.05em;color:#c2d5cd}.story-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:0;margin:22px 0;list-style:none}.story-steps button{background:transparent;color:inherit;border:0;border-top:2px solid #274b4d35;text-align:left;padding:12px 3px;min-height:70px;width:100%;cursor:pointer;font-family:inherit;font-size:12px;line-height:1.5;font-weight:500}.story-steps button b{display:block;font:11px/1.5 "IBM Plex Mono",monospace;margin-bottom:8px}.story-steps button[aria-pressed="true"]{border-color:var(--story-accent);color:var(--story-accent)}.story-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.story-controls button{border:1px solid #254c4960;border-radius:30px;padding:12px 20px;min-height:46px;background:#f9faf6;color:inherit;cursor:pointer}.story-controls #story-play{background:#213e43;color:white}.story-controls #story-next{margin-left:auto}.story-controls button:disabled{opacity:.4;cursor:default}.story-status{font-size:12px}.r22-story .story-disclosure{font-size:12px;line-height:1.8;max-width:940px;margin:22px 0 0}.r22-story :focus-visible{outline:3px solid #a64832;outline-offset:4px}.story-paused *,.motion-paused .r22-story *{animation-play-state:paused!important}
@keyframes story-transmit{to{stroke-dashoffset:-72}}@keyframes story-pulse{50%{transform:scale(1.12);opacity:.3}}@keyframes story-ecg{0%{stroke-dashoffset:800}75%,100%{stroke-dashoffset:0}}
html[lang="th"] .r22-story{letter-spacing:0;word-break:normal;overflow-wrap:normal}html[lang="th"] .r22-story h3{line-height:1.4;letter-spacing:0}.r22-th-word{white-space:nowrap}
@media(max-width:760px){.r22-directory{gap:8px 20px;padding:8px 5vw}.r22-directory .directory-title{display:none}.r22-story{padding:26px 18px}.r22-story .story-head{display:block}.story-stage{grid-template-columns:1fr}.story-world{min-height:210px}.story-world>svg{max-height:270px}.story-state{border-left:0;border-top:1px solid #254c4930;padding:24px;min-height:380px}.story-steps{grid-template-columns:repeat(3,1fr)}.story-controls{gap:8px}.story-controls button{padding:10px 14px}.story-status{width:100%;order:4}.r22-story .story-disclosure{font-size:12px}}
@media(prefers-reduced-motion:reduce){.r22-story *{animation:none!important;transition:none!important}}
.r22-menu{position:relative;font:500 13px/1.5 Manrope,"IBM Plex Sans Thai",sans-serif;z-index:30;flex-shrink:0}.r22-menu summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid currentColor;border-radius:22px}.r22-menu summary:after{content:'+'}.r22-menu[open] summary:after{content:'−'}.site-header .r22-menu nav,.r22-menu nav{position:absolute!important;inset:auto 0 auto auto!important;top:54px!important;display:flex!important;flex-direction:column!important;gap:0!important;width:230px!important;margin:0!important;padding:12px!important;border:1px solid #8b959b;background:#f4f3ed;color:#182b3e;box-shadow:0 12px 24px #14253720;z-index:40}.site-header .r22-menu nav a,.r22-menu nav a{min-height:48px!important;padding:12px!important;opacity:1!important;font-size:14px!important;border:0!important}.r22-menu nav a:hover{background:#e1e6df}.r22-menu summary:focus-visible{outline:3px solid #c74439;outline-offset:4px}
.site-header nav[aria-label="Departments"]>.r22-menu{margin-left:auto}.site-header nav[aria-label="Departments"]>.r22-menu summary{padding:0 10px;border-radius:3px}.header-actions>.r22-menu{width:auto!important;height:auto!important}.header-actions>.r22-menu summary{border-radius:3px;min-width:70px;width:auto!important;height:44px!important}.header-actions .r22-menu nav{display:flex!important}.header-actions .r22-menu nav a{width:100%!important;height:auto!important;border-radius:0!important}
@media(max-width:600px){.site-header nav[aria-label="Departments"]{column-gap:12px;row-gap:4px}.site-header nav[aria-label="Departments"]>.r22-menu summary{font-size:12px;padding:0 8px}.header-actions>.r22-menu{grid-column:3!important;grid-row:2!important}.header-actions #skip{grid-column:2!important}.header-actions{column-gap:10px!important}}
.r22-story .story-disclosure,.r22-story .story-state p,.r22-story .story-head p{font-size:16px;line-height:1.75}.r22-story .story-state small{font-family:Manrope,"IBM Plex Sans Thai",sans-serif}.r22-story .story-device a{text-decoration:underline;text-underline-offset:3px}.r22-story .story-device{align-items:flex-start}.r22-story .story-steps button{font-family:Manrope,"IBM Plex Sans Thai",sans-serif;font-size:14px;line-height:1.5}
.story-recording,.story-callback{opacity:0;transition:opacity .5s}.r22-story[data-beat="1"] .story-recording,.r22-story[data-beat="2"] .story-recording,.r22-story[data-beat="5"] .story-callback{opacity:1}
.story-world{align-items:center}.story-world>svg{max-height:470px}.story-paused .story-screen .ecg{animation:none;stroke-dashoffset:0}.site-header>nav>.r22-menu{margin-left:auto}.site-header>nav>.r22-menu summary{border-radius:3px}
@media(max-width:760px){body:has(#stage)>header{grid-template-columns:44px minmax(0,1fr) minmax(0,1fr);gap:5px 10px}body:has(#stage)>header .media-pause{grid-column:2;grid-row:1;padding:8px;white-space:nowrap}body:has(#stage)>header #view-toggle{grid-column:3;grid-row:1;padding:8px;justify-self:end;white-space:nowrap}body:has(#stage)>header #language{grid-column:1;grid-row:2}body:has(#stage)>header #skip{grid-column:2!important;grid-row:2;max-width:100%;font-size:12px!important;line-height:1.3;display:flex;align-items:center;min-height:44px}body:has(#stage)>header .r22-menu{grid-column:3!important;grid-row:2!important;justify-self:end}body:has(#stage)>header .r22-menu summary{min-height:44px;padding:0 8px;font-size:12px}}
.story-review-focus,.story-team-call{opacity:0;transition:opacity .5s}.r22-story[data-beat="4"] .story-review-focus,.r22-story[data-beat="5"] .story-team-call{opacity:1}.r22-story[data-beat="4"] .hospital{filter:drop-shadow(0 8px 8px #31584b25)}.story-controls{margin:20px 0 28px;scroll-margin-top:150px}.story-state{min-height:620px}.story-screen{min-height:185px}.story-state-symbol{padding:20px 0 8px;display:grid;grid-template-columns:44px 1fr;gap:2px 12px;align-items:center}.story-state-symbol>span{font:30px/1.5 Manrope,sans-serif;grid-row:1/3}.story-state-symbol>b{font-size:14px}.story-state-symbol>small{font-family:Manrope,"IBM Plex Sans Thai",sans-serif}.story-method{margin:15px 0 0}.story-method-crop{position:relative;aspect-ratio:376/225;overflow:hidden;border-radius:8px;background:white;max-width:280px;margin:auto}.story-method-crop img{position:absolute;top:-91.111%;left:0;width:100%;height:auto}.story-method figcaption{font:12px/1.6 Manrope,"IBM Plex Sans Thai",sans-serif;margin-top:10px;color:#d1ded8}.story-method[hidden],.story-state-symbol[hidden]{display:none}.r22-story .story-label,.r22-story .screen-tag{font-size:12px;line-height:1.6}html[lang="th"] .r22-story .story-label,html[lang="th"] .r22-story .screen-tag{font-family:"IBM Plex Sans Thai",sans-serif;letter-spacing:0}
@media(max-width:760px){.story-controls{position:sticky;top:116px;z-index:7;background:#edf1ed;padding:10px 0;border-bottom:1px solid #b9c9c2}.story-world{min-height:180px}.story-world>svg{max-height:240px}.story-state{min-height:610px;padding:22px}.story-stage{margin-top:0}.story-steps{margin-top:16px}.story-screen{min-height:165px}.story-method-crop{max-width:220px}}

@media(max-width:760px){.story-controls{top:var(--story-sticky-offset,120px);display:grid;grid-template-columns:1fr 1fr}.story-controls #story-play{grid-column:1/-1;grid-row:1}.story-controls #story-prev{grid-column:1;grid-row:2}.story-controls #story-next{grid-column:2;grid-row:2;margin-left:0}.story-status{grid-column:1/-1;grid-row:3}}

/* Final review: stable desktop panel, compact phone controls, readable manufacturer attribution. */
.r22-story .story-method figcaption{font-size:12px!important;line-height:1.6!important}.story-method-crop{max-width:220px}.story-state{min-height:700px}.story-status{position:relative;font-size:0}.story-status:before{content:attr(data-short);font-size:12px}.story-controls button:disabled{cursor:default}
@media(max-width:760px){.story-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.story-controls #story-prev{grid-column:1;grid-row:1}.story-controls #story-play{grid-column:2;grid-row:1}.story-controls #story-next{grid-column:3;grid-row:1}.story-controls button{font-size:13px;padding:10px 4px;min-height:44px;line-height:1.3}.story-status{grid-row:2}.story-state{min-height:0}}

.story-status{position:absolute;width:1px!important;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.story-status:before{content:none}.story-status-visual{font-size:12px}@media(max-width:760px){.story-status-visual{grid-column:1/-1;grid-row:2}}

.r22-story h4{text-wrap:balance}
