*{box-sizing:border-box}html{background:#02040a;scrollbar-width:thin;scrollbar-color:#45516b #02040a}body{margin:0;font-family:Thaiway,Arial,sans-serif;color:#f2f4f9}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #ffdb9a;outline-offset:6px}#space,#world,#stage,#cloud-wipe{position:fixed;inset:0}#space{background:radial-gradient(ellipse at 64% 54%,#111629 0%,#040711 40%,#020309 80%)}#world{pointer-events:none;z-index:1}#cloud-wipe{z-index:5;pointer-events:none;background:radial-gradient(ellipse at 65% 40%,#b5c6d8,#607088 40%,#121b2d 90%);opacity:0}header{position:fixed;z-index:15;top:4vh;left:5vw;right:5vw;display:flex;justify-content:space-between;align-items:center}#home{display:flex;gap:13px;align-items:center;font-size:16px;letter-spacing:.2em}#home img{width:40px;height:40px}#skip{font-size:12px;color:#c8d0df}#stage{z-index:4;pointer-events:none;overflow:hidden}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;letter-spacing:-.045em}em{font-style:normal;color:#a9c5ee}p{font-size:16px;line-height:1.65;color:#98a7be}.eyebrow{font:9px monospace;letter-spacing:.24em;color:#c8ad82}.greeting{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;visibility:hidden}.greeting h1{font-size:clamp(110px,15vw,260px);line-height:1.15;letter-spacing:-.07em;text-shadow:0 0 90px #91abcc30}.greeting h1 span{color:#a5c2e9}.greeting h2{font-size:clamp(65px,8vw,155px);line-height:1.04;margin:25px 0}.greeting p{color:#bcc7d8;font-size:14px;margin-top:12px}.scroll-cue{position:absolute;bottom:19vh;display:flex;gap:25px;font:9px monospace;letter-spacing:.25em;color:#8e9bb3}.scroll-cue span{color:#e4c994}.greeting .eyebrow{margin-bottom:10px}.entrance #hello h1{animation:hello-in 1.5s cubic-bezier(.15,.65,.2,1) both}@keyframes hello-in{from{opacity:0;transform:translateY(30px);filter:blur(15px)}to{opacity:1;transform:none;filter:blur(0)}}.chapter{position:absolute;left:6vw;top:27vh;width:34vw;visibility:hidden}.chapter h2{font-size:clamp(42px,4.4vw,90px);line-height:1.08;margin:25px 0}.chapter p{font-size:clamp(13px,1.15vw,19px)}.chapter small{font:9px monospace;letter-spacing:.1em;color:#7889a2;line-height:1.8;display:block;margin-top:24px}#region-list{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:28px;max-width:310px}#region-list span{font-size:10px;color:#5a6b85;border-bottom:1px solid #243044;padding-bottom:6px}#region-list .lit{color:#ffe0a6;border-color:#d4ab67}.orbit-progress{display:flex;align-items:center;gap:15px;max-width:290px;margin-top:26px;font:10px monospace;color:#a1b3ce}.orbit-progress i{height:1px;background:#273349;flex:1}.orbit-progress b{height:1px;background:#e6c491;display:block}#geo-labels{position:absolute;inset:0;pointer-events:none}.geo-label{position:absolute;font:9px monospace;letter-spacing:.08em;color:#f6dfb6;padding:5px 8px;background:#050811be;border-left:1px solid #bd965c;text-shadow:0 2px 5px black;white-space:nowrap}.geo-label.thailand{color:white;border-color:white}#thailand-flat{position:absolute;left:49vw;width:39vw;height:76vh;top:12vh;visibility:hidden}#thailand-flat svg{width:100%;height:100%;overflow:visible}#year{font-size:clamp(70px,8vw,170px);line-height:1.15;margin:15px 0 5px;letter-spacing:-.06em}#timeline{top:25vh;width:35vw}#timeline h2{font-size:clamp(25px,2.7vw,54px);margin:10px 0 20px}#timeline small{max-width:400px;font-size:9px;color:#9da9bc;letter-spacing:.03em}#history-path{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.layer-key{display:flex;flex-direction:column;gap:15px;margin-top:35px}.layer-key span{font:9px monospace;color:#b6a080;display:flex;gap:20px}.layer-key b{font:11px Thaiway,sans-serif;color:#b4c3d7}.layer-key span:nth-child(2){color:#a6c6ed}.layer-key span:nth-child(3){color:#dd7584}#art-note{position:absolute;bottom:15vh;right:7vw;font:8px monospace;letter-spacing:.14em;color:#647693;visibility:hidden}#portals{position:absolute;inset:15vh 6vw 13vh;visibility:hidden}#portals>.eyebrow{text-align:center}#portals>h2{text-align:center;font-size:clamp(30px,3.4vw,66px);margin:13px 0 30px}.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;height:calc(100% - 103px)}.portal{position:relative;border:1px solid #ffffff24;border-radius:4px;overflow:hidden;display:block;background:linear-gradient(145deg,#1a2232,#070b13 75%);box-shadow:0 25px 60px #0008;pointer-events:auto;transition:border-color .2s,box-shadow .2s}.portal:hover{border-color:#ffffff75;box-shadow:0 30px 65px #000c}.heritage{background:radial-gradient(ellipse at 80% 0,#36202e,#0c1120 70%)}.healthcare{background:radial-gradient(ellipse at 80% 0,#454b52,#131820 75%)}.software{background:radial-gradient(ellipse at 80% 0,#302432,#0d1019 70%)}.card-top{padding:25px;display:flex;align-items:center;justify-content:space-between}.card-top img{width:35px;height:35px}.card-top span{font:8px monospace;letter-spacing:.13em;color:#a5b0c2}.card-copy{position:absolute;bottom:25px;left:25px;right:25px}.card-copy h3{font-size:clamp(26px,2.4vw,46px);line-height:1.05;margin-bottom:12px}.card-copy p{font-size:10px;color:#a4afc2}.card-copy>span{font:8px monospace;letter-spacing:.13em;display:block;border-top:1px solid #ffffff20;padding-top:15px;margin-top:20px;color:#bbc9df}.card-copy b{float:right;font:18px Arial}.portal-art{position:absolute;inset:12% 0 auto;height:40%;pointer-events:none}.network{display:flex;justify-content:center;align-items:center;transform:rotate(-20deg)}.network i{width:45px;height:45px;border:1px solid #b0576b;transform:rotate(45deg);margin:-5px;background:linear-gradient(140deg,#dc496b22,#8ba5ed05);box-shadow:0 0 25px #d7536120}.network i:nth-child(odd){margin-top:40px}.care svg{width:100%;height:100%;fill:none;stroke:#d5e4ef;stroke-width:1}.care circle{opacity:.2}.care path{stroke-width:2}.intelligence{display:flex;align-items:center;justify-content:center}.intelligence>div{position:absolute;width:150px;height:80px;border:1px solid #90647b;transform:rotate(-20deg) skew(20deg);box-shadow:7px 13px #0c111c,7px 13px 0 1px #58617b,14px 26px #0c111c,14px 26px 0 1px #414d68}.intelligence>img{width:60px;height:60px;z-index:1}#scroll-space{height:1500vh}#review{position:fixed;z-index:40;bottom:0;inset-inline:0;min-height:47px;background:#040810f2;backdrop-filter:blur(16px);border-top:1px solid #222e40;display:flex;align-items:center;gap:16px;padding:10px 3vw}#review>span{font:8px monospace;color:#5f738d;letter-spacing:.1em}#review nav{display:flex;gap:4px}#review button{border:0;background:transparent;font-size:10px;padding:6px;color:#8e9fb9}#review button:hover{color:white}#review label{flex:1;display:flex;align-items:center;gap:12px;font:10px monospace;color:#a7b6cc}#scrub{width:100%;height:2px;accent-color:#e3bf87}#progress-label{min-width:30px}#color-cover{position:fixed;inset:0;z-index:70;pointer-events:none;visibility:hidden}#destination{position:fixed;inset:0;z-index:60;padding:5vh 6vw;background:#101a30;overflow:auto}#destination[hidden]{display:none}#destination #back{font-size:12px;color:#cbd4e3}.destination-body{max-width:1050px;margin:10vh auto}.destination-body>img{display:block;width:70px;height:70px;margin:35px 0}.destination-body h1{font-size:clamp(52px,7vw,110px);max-width:850px;line-height:1.05;margin-bottom:30px}.destination-body p{max-width:650px;color:#d0d6df;font-size:18px}.destination-services{display:flex;gap:30px;flex-wrap:wrap;margin:45px 0 60px}.destination-services span{border-top:1px solid #ffffff40;padding-top:15px;font-size:12px;min-width:170px}.destination-body small{font:10px monospace;color:#b1bdcf}dialog{max-width:650px;width:88vw;max-height:85vh;border:1px solid #43516b;background:#101725;color:#e5ecf9;padding:40px;border-radius:8px;line-height:1.7}dialog::backdrop{background:#000b;backdrop-filter:blur(15px)}dialog h2{font-size:32px;margin-bottom:25px}dialog p{font-size:13px;margin:15px 0}dialog a{font-size:12px;color:#e2c89f}#notes-close{position:absolute;right:15px;top:10px;background:none;border:0;font-size:23px}.capture #review{display:none}body:has(dialog[open]),body.destination-open{overflow:hidden}.destination-open #review{display:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:760px){header{top:22px}#home{font-size:13px}#home img{width:30px;height:30px}#skip{font-size:10px}.greeting h1{font-size:29vw}.greeting h2{font-size:15vw}.greeting p{font-size:11px}.greeting .eyebrow{font-size:7px}.chapter{left:7vw;top:17vh;width:85vw}.chapter h2{font-size:10vw;margin:15px 0}.chapter p{font-size:12px}.chapter .eyebrow{font-size:7px}#partners p{display:none}#region-list{max-width:90%;margin-top:15px;gap:8px 12px}.orbit-progress{margin-top:14px;max-width:240px}.chapter small{margin-top:14px;font-size:8px}#partners small{display:none}#geo-labels .geo-label{font-size:7px;padding:3px}#arrival{top:19vh}#thailand-flat{top:35vh;left:28vw;width:45vw;height:50vh}#timeline{top:16vh;width:85vw}#year{font-size:18vw;margin-top:12px}#timeline h2{font-size:7vw;max-width:85%;margin-bottom:12px}#timeline p{max-width:80%}#timeline small{max-width:85%;font-size:8px}#core{top:17vh}#core h2{font-size:9vw}.layer-key{display:none}#art-note{bottom:14vh;right:7vw;font-size:6px}#history-path{width:150%;left:-25%}#portals{inset:14vh 6vw 14vh;overflow:auto;pointer-events:auto}#portals>h2{font-size:7vw;margin-bottom:22px}.portal-grid{height:auto;display:grid;grid-template-columns:1fr;gap:14px}.portal{min-height:290px}.card-top{padding:20px}.card-copy{bottom:20px;left:20px;right:20px}.card-copy h3{font-size:28px}.portal-art{left:48%;top:25%;height:42%}.network i{width:25px;height:25px}.intelligence>div{width:80px;height:45px}.intelligence>img{width:40px}.card-copy>span{margin-top:15px}#review{flex-wrap:wrap;gap:5px;padding:7px 3vw}#review>span{display:none}#review nav{width:100%;justify-content:space-between}#review button{font-size:9px;padding:4px}#review label{min-width:70%}.destination-body{margin-top:7vh}.destination-body p{font-size:15px}.destination-body small{line-height:1.6;display:block}}

/* R4: editorial artwork and restrained smoked-glass controls. */
header{top:24px;left:4vw;right:4vw;padding:12px 18px;border:1px solid #cde2ff35;border-top-color:#e2f1ff60;border-radius:40px;background:linear-gradient(115deg,#d3e7ff12,#101a30a6);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 8px 30px #0003}
.header-actions{display:flex;gap:20px;align-items:center}#view-toggle{font-size:12px;min-height:44px;padding:7px 14px;border:1px solid #d4e5ff38;background:#101a30a6;border-radius:22px}#skip{display:flex;align-items:center;min-height:44px}#home img{width:32px;height:32px}#home{font-size:14px}
#art-field{position:absolute;inset:10vh 0 7vh 0;pointer-events:none;z-index:-1}#art-field img{position:absolute;width:100%;height:100%;object-fit:contain;opacity:0;will-change:opacity,transform}
#art-field:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#02040aff 0%,#02040ae6 15%,#02040a60 32%,transparent 48%);pointer-events:none}
#timeline{top:25vh;width:30vw}#timeline h2{font-size:clamp(28px,2.8vw,54px)}#timeline p{font-size:15px}#timeline small{font-size:11px;line-height:1.6}#year{font-size:clamp(60px,7vw,140px)}.chapter .eyebrow{font-size:10px}.chapter p{font-size:16px}.chapter small{font-size:10px}#art-note{font-size:9px;bottom:12vh}
#history-path{z-index:2}.chapter{z-index:3}#core{width:31vw;top:27vh}#core h2{font-size:clamp(40px,4vw,76px)}.layer-key span{font-size:11px}.layer-key b{font-size:13px}
#portals{inset:20vh 5vw 13vh}.portal-grid{gap:20px}.portal{border-radius:22px;border:1px solid #dcecff4a;border-top-color:#ecf6ff7a;background:linear-gradient(135deg,#d4e8ff1d,#162439bb);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 #fff2,0 20px 50px #0004}
.portal:hover{border-color:#ebf6ffa3;box-shadow:0 22px 55px #0006,inset 0 1px #fff6}.card-top span{font-size:10px}.card-copy p{font-size:13px}.card-copy>span{font-size:10px;min-height:44px;display:block}.portal-art{opacity:.8}.network i{border-color:#dcecff90;background:linear-gradient(145deg,#e4f3ff45,#a2bdd810);border-radius:7px;box-shadow:inset 0 1px #fff5,0 8px 18px #0005}.intelligence>div{border-color:#d9eaff7d;background:#d8eaff16;border-radius:12px}.card-top img{width:38px;height:38px}
#review{gap:8px}#review button{min-height:34px}#notes-open{white-space:nowrap}
#simple-story{display:none}body.simple #world,body.simple #space,body.simple #stage,body.simple #cloud-wipe,body.simple #review,body.simple #scroll-space{display:none!important}
body.simple{background:#070d17}body.simple #simple-story{display:block;max-width:1250px;margin:auto;padding:160px 6vw 80px}#simple-story h1{font-size:clamp(48px,6vw,90px);line-height:1.1;margin:25px 0}#simple-story h2{font-size:clamp(30px,3vw,50px);line-height:1.1;margin:18px 0}#simple-story p{max-width:680px}#simple-network{margin:90px 0}.simple-chapter{display:grid;grid-template-columns:1fr 1.4fr;align-items:center;gap:20px;padding:45px 0;border-top:1px solid #b6d3ee20}.simple-chapter img,#simple-core img{width:100%;border-radius:14px}.simple-links{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.simple-links a{padding:24px;background:#152235;border:1px solid #aecdea40;border-radius:14px;font-size:16px;min-height:70px}.simple-note{margin-top:50px;font-size:13px}#simple-portals,#simple-history,#simple-core,#simple-network{scroll-margin-top:125px}
@media(max-width:760px){header{left:4vw;right:4vw;top:14px;padding:5px 10px}#home span{display:none}.header-actions{gap:8px}#view-toggle{font-size:11px;padding:5px 10px}#skip{font-size:11px}#art-field{inset:37vh -26vw 14vh -30vw}#art-field:after{background:none}#timeline{top:17vh;width:86vw}#timeline h2{font-size:7vw;max-width:95%}#timeline p{font-size:13px;max-width:95%}#timeline small{font-size:10px;max-width:100%;margin-top:8px}#year{font-size:15vw}#core{width:86vw;top:19vh}#core h2{font-size:9vw;margin:15px 0}#core p{font-size:14px}#art-note{font-size:7px;bottom:15vh}#portals{inset:16vh 5vw 14vh}#portals>h2{font-size:7vw}.portal{min-height:300px}.card-copy p{font-size:13px}.card-copy h3{font-size:30px}.card-top span{font-size:10px}#review nav{gap:0}#review button{font-size:9px;min-height:30px}#simple-story .simple-chapter{grid-template-columns:1fr;gap:10px}.simple-links{grid-template-columns:1fr}.simple-chapter img{margin-top:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
#art-field{mask-image:linear-gradient(to bottom,transparent,black 12%,black 88%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,black 12%,black 88%,transparent)}
@media(max-width:760px){#art-field{inset:40vh 0 15vh -20vw}}
#art-field{mask-image:none;-webkit-mask-image:none}
#art-field img{mix-blend-mode:screen}
#art-field{z-index:0}
#portals,.greeting,#thailand-flat,#geo-labels{z-index:3}

header:not(:has(.r22-menu[open])){clip-path:inset(0 round 40px)}
#arrival{top:21vh;width:37vw}#arrival h2{font-size:clamp(36px,3.5vw,65px);margin:18px 0}#arrival p{font-size:15px}
#cooperation{margin-top:22px;visibility:hidden;pointer-events:auto}#cooperation h3{font-size:16px;letter-spacing:0;margin-bottom:9px;color:#eef3fb}
#location-list{display:grid;grid-template-columns:1fr 1fr;column-gap:15px;max-width:500px}#location-list button{display:flex;align-items:center;text-align:left;gap:9px;min-height:44px;padding:5px 0;background:none;border:0;border-bottom:1px solid #c5d5ef24;font-size:12px;color:#c0cbdc}
#location-list button span{display:grid;place-items:center;flex:0 0 23px;height:23px;border:1px solid #d0ad7380;border-radius:50%;color:#efcf97;font:10px monospace}
#location-list button:hover,#location-list button[aria-pressed=true]{color:white}#location-list button[aria-pressed=true] span{background:#f0d097;color:#101a30}
#cooperation small{font-size:9px;margin-top:12px;letter-spacing:.03em;color:#93a5bd}
.cooperation-pin .pin-leader{fill:none;stroke:#d5b77d;stroke-width:1.8}.pin-halo{fill:#efcc8624}.pin-dot{fill:#ffe1a3}.pin-badge{fill:#101a30;stroke:#e5c386;stroke-width:1.8}.cooperation-pin text{fill:#fff0ce;font:22px Arial,sans-serif}.cooperation-pin.selected .pin-badge{fill:#f0d097;stroke:white;stroke-width:3}.cooperation-pin.selected text{fill:#101a30}.cooperation-pin.selected .pin-dot{fill:white}
#simple-cooperation{margin:60px 0}#simple-locations{display:grid;grid-template-columns:repeat(2,1fr);gap:13px 25px;padding-left:24px;color:#c0cbdc}
@media(max-width:760px){#arrival{top:14vh;left:5vw;width:90vw}#arrival h2{font-size:8vw;line-height:1.05;margin:12px 0}#arrival p{font-size:12px;line-height:1.4}#cooperation{margin-top:15px;width:47vw}#cooperation h3{font-size:12px;line-height:1.3}#location-list{grid-template-columns:1fr;gap:0}#location-list button{font-size:11px;gap:5px;min-height:39px}#location-list button span{flex-basis:20px;height:20px;font-size:9px}#cooperation small{font-size:8px;max-width:150px;line-height:1.5;margin-top:10px}#thailand-flat{top:31vh;left:49vw;width:50vw;height:51vh}#simple-locations{grid-template-columns:1fr}}
@media(max-width:760px){#arrival{top:12vh}#arrival h2{font-size:7vw}#arrival p{font-size:11px}#cooperation{margin-top:8px}#location-list button{min-height:44px}#thailand-flat{left:48.5vw;width:49vw}}

/* R4.2: geographic dot highlights, with a quiet unnumbered list. */
#cooperation{pointer-events:none;margin-top:28px}#cooperation h3{font-size:18px;margin-bottom:10px}
#cooperation .connection-intro{font-size:14px;line-height:1.6;color:#9eafc6}
#location-list{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:1fr 1.2fr;gap:12px 22px;max-width:450px}
#location-list li{font-size:14px;line-height:1.55;color:#d6e0ed;font-weight:400}
#simple-locations{list-style:none;padding:0}
#thailand-flat{left:47vw;width:44vw;height:79vh;top:10vh}
@media(max-width:760px){#cooperation{margin-top:22px;width:45vw}#cooperation h3{font-size:14px;line-height:1.4}#cooperation .connection-intro{font-size:12px}#location-list{grid-template-columns:1fr;gap:10px;margin-top:18px}#location-list li{font-size:12px;line-height:1.45}#thailand-flat{left:47vw;width:51vw;top:31vh;height:52vh}}

/* Thirteen locations fit without obscuring the geography. */
#location-list{gap:9px 22px;margin-top:17px}
@media(max-width:760px){#cooperation{margin-top:16px}#location-list{gap:7px;margin-top:14px}#location-list li{font-size:12px;line-height:1.35}}

/* Integrated review */
#scroll-space{height:2200vh}.simple-art{width:100%;height:auto}#language{background:none;border:0;color:inherit;cursor:pointer;padding:10px;font:inherit;font-size:12px}.portal.heritage{background:#101a30}.portal.healthcare{background:#e8e8e3;color:#24272b}.portal.healthcare p,.portal.healthcare .card-top span{color:#4f5356}.portal.healthcare .card-top img{filter:brightness(.15)}.portal.healthcare .care svg{stroke:#24272b}.portal.software{background:#141416;background-image:radial-gradient(#ffffff22 1px,transparent 1px);background-size:9px 9px}.portal.software .intelligence img{filter:brightness(0) invert(1)}.portal.software .card-copy{font-family:monospace}.portal-art.network{background:none;opacity:.9}.portal-art.network i{display:none}#timeline h2{font-size:clamp(28px,3.2vw,55px)}#timeline p{font-size:clamp(14px,1.25vw,20px)}#timeline small{line-height:1.5}html[lang=th] #timeline h2{font-size:clamp(26px,2.8vw,46px);line-height:1.3}
@media(max-width:760px){#scroll-space{height:2300vh}#timeline h2{font-size:7vw}#timeline p{font-size:13px}.portal-grid{overflow-y:auto;max-height:60vh}.portal{min-height:280px}header .header-actions{gap:0}#review>span{display:none}#language{padding:7px}}

#art-field .history-illustration{position:absolute;width:100%;height:100%;object-fit:contain;opacity:0;will-change:opacity,transform}.geo-label{display:none}.portal-art.network{transform:none;inset:16% 0 auto;height:37%;background-position:76% 54%;background-size:160% auto}.portal .card-top{position:relative;z-index:2}.portal.healthcare .card-copy>span{color:#24272b}.portal.heritage .card-top span{background:#101a30cc;padding:3px}@media(max-width:760px){.portal-art.network{inset:20% 0 auto 42%;height:43%;background-size:220% auto}}

@media(max-width:760px){.portal-art.network{left:64%;top:27%;height:32%;opacity:.65}.portal .card-copy{z-index:2}}

/* R2: tactile editorial images, restrained cinematic layers and a working guide. */
.ambient-film{display:block;width:100%;height:100%;object-fit:cover;background-size:cover}
.editorial{display:grid;grid-template-columns:1.15fr 1fr;gap:7vw;align-items:center}.editorial-image{overflow:hidden}.editorial-image img{width:100%;height:auto;aspect-ratio:1.17;object-fit:cover;transition:transform 1.5s cubic-bezier(.2,.7,.2,1)}.editorial-image:hover img{transform:scale(1.025)}.editorial-copy h2{font-size:clamp(34px,4vw,64px)}.editorial-copy p{color:#656a70;line-height:1.8}.editorial-meta{font:10px/1.8 'IBM Plex Mono',monospace;border-top:1px solid var(--line);padding-top:22px;margin-top:35px;letter-spacing:.05em}.aftercare{background:#e9eae5;grid-template-columns:1fr 1.15fr}.heritage-hero .hero-art{width:100%;right:0;opacity:1;object-position:center}.technical-art img{object-position:center;aspect-ratio:1.15}.heritage-hero:after{background:linear-gradient(90deg,#060d18ed 3%,#060d18aa 36%,#060d1810 72%)}
.health-image .ambient-film{position:absolute;inset:0;object-position:90%}.health-image{background:#dedcd2}.health-image:after{inset:65% 0 0;background:linear-gradient(transparent,#24272bbf)}.allies img{object-position:43%;aspect-ratio:1.2}.connected-detail{background:#f6f5f0}.healthcare .editorial h2{font-family:Georgia,'IBM Plex Sans Thai',serif}.community-photo{margin:0 0 65px;position:relative}.community-photo img{width:100%;height:auto;max-height:610px;object-fit:cover}.community-photo figcaption{font:12px/1.8 'IBM Plex Mono','IBM Plex Sans Thai',monospace;margin-top:16px;color:#5d645e}.care-flow article:before{box-shadow:0 0 0 6px #de142a0d}.media-pause{position:fixed;right:18px;bottom:18px;z-index:30;background:#151516df;border:1px solid #ffffff45;color:#fff;padding:10px 15px;border-radius:30px;font:10px/1.5 monospace;min-height:44px;backdrop-filter:blur(15px)}.media-paused *{animation-play-state:paused!important}.reveal-ready{opacity:0;transform:translateY(30px);transition:opacity .85s ease,transform .85s cubic-bezier(.15,.75,.25,1)}.revealed{opacity:1;transform:none}
/* TRIO uses the exact C1 silhouette at two scales. */
.trio-title h1{font-size:clamp(120px,20vw,285px)}#trio-guide.intro-hidden{opacity:0;visibility:hidden;pointer-events:none}#trio-guide{transition:opacity .3s ease}body.trio .guide-c1{animation:none!important}
.trio-title h1 span{animation:cursor-blink 1.3s steps(2,end) infinite}@keyframes cursor-blink{50%{opacity:.15}}.character-stage{position:relative;background:#141416}.character-stage:before,.character-stage:after{content:'+';position:absolute;top:-10px;color:#de142a;font:16px monospace}.character-stage:before{left:-5px}.character-stage:after{right:-5px}.hero-state{flex:1;padding:16px 10px;font:9px monospace;color:#9f9f9a;white-space:nowrap}.hero-state b{color:#e9586a;font-weight:400}.icon-controls a{padding:14px 8px;font:10px/1.5 monospace;min-height:44px}.icon-controls button{color:#c0c0b8}.trio .trio-intro .label{color:#e55c6d}.project-jumps{display:flex;flex-wrap:wrap;border-top:1px solid var(--line);gap:30px;padding-top:30px}.project-jumps a{font-size:11px;padding:12px 0;min-height:44px}.project-jumps a:hover{color:#ed6a7b}.selected-work{padding-bottom:70px}.project-heading{display:grid;grid-template-columns:80px 1fr 190px;gap:30px;align-items:start;margin-bottom:60px}.project-number{font-size:40px;color:#e64e62;letter-spacing:-.08em}.project-heading h2{font-size:clamp(32px,4.5vw,70px);margin-bottom:25px}.project-heading p{font-size:13px;line-height:1.9;color:#a9a9a2;max-width:550px}.demo-label{font-size:9px;color:#9a9a95;text-align:right;line-height:1.9;padding-top:10px}.project-layout{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:stretch}.project-layout figure{margin:0;align-self:center}.project-layout figure img{width:100%;height:auto;aspect-ratio:1.35;object-fit:cover;border:1px solid #ffffff16}.project-layout figcaption{font-size:9px;color:#93938e;padding-top:15px;line-height:1.7}.demo-console{background:#1b1b1e;border:1px solid #ffffff30;box-shadow:0 20px 80px #0002}.console-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:9px;color:#b7b7af;padding:17px 20px;border-bottom:1px solid #ffffff25}.console-bar>span:last-child{font-size:8px;color:#ef6d7d}.demo-inner{padding:30px}.demo-inner label{display:block;font-size:12px;margin-bottom:15px}.demo-inner select{width:100%;padding:14px 12px;background:#242428;border:1px solid #555;color:#efeee7;font:12px monospace;border-radius:0;min-height:48px}.handover-track{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:30px 0}.handover-track>span{font-size:10px;line-height:2;border-top:2px solid #555;padding-top:15px;color:#979792;transition:color .3s,border-color .3s}.handover-track>span.active{border-color:#ed4b62;color:#fff}.demo-response{font-size:13px;line-height:1.9;min-height:120px;color:#c6c6be;margin:20px 0}.demo-response b{display:block;color:#f0f0e8;font-size:17px;font-weight:400;margin-bottom:10px}.terminal-button{background:#e7e7df;color:#141414;border:1px solid #e7e7df;padding:13px 16px;font:11px/1.6 'IBM Plex Mono','IBM Plex Sans Thai',monospace;min-height:46px;cursor:pointer}.terminal-button:hover{background:#de142a;border-color:#de142a;color:white}.quiet-button{background:none;border:0;color:#aaa99f;font:10px monospace;min-height:46px;padding:12px 15px}.signal-path{position:relative;display:flex;justify-content:space-between;margin:25px 20px 18px;height:25px;align-items:center}.signal-path:before{content:'';height:1px;background:#57575d;position:absolute;left:0;right:0}.signal-path i{width:12px;height:12px;border:1px solid #7b7b80;background:#222226;z-index:1;border-radius:50%}.signal-path i.active{background:#ef5a6e;border-color:#ef5a6e;box-shadow:0 0 20px #ec335766}.signal-path b{position:absolute;left:0;top:8px;width:8px;height:8px;background:white;box-shadow:0 0 12px #ffbac5;border-radius:50%;animation:signal-run 4s cubic-bezier(.4,0,.2,1) infinite}@keyframes signal-run{0%{left:0;opacity:0}10%{opacity:1}85%{opacity:1}100%{left:100%;opacity:0}}.signal-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.signal-steps button{font:10px/2 monospace;min-height:62px;background:none;border:1px solid transparent;color:#94948f;padding:8px 3px}.signal-steps button[aria-pressed=true]{border-color:#ec5268;color:#f3f1e9;background:#ffffff04}.demo-inner>small{font-size:9px;color:#888a87;line-height:1.8;display:block}.ops-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:55px;padding:45px}.floorplan{display:grid;grid-template-columns:1fr 1.3fr;grid-template-rows:135px 40px 160px;gap:13px;transform:perspective(900px) rotateX(12deg);border:1px solid #ffffff30;padding:15px;background:radial-gradient(#ffffff20 .5px,transparent .5px);background-size:10px 10px}.zone{position:relative;background:#252529b0;border:1px solid #68686a;color:#c6c6c0;text-align:left;display:flex;flex-direction:column;gap:15px;justify-content:center;padding:20px;transition:background .3s,border-color .3s,transform .3s}.zone[aria-pressed=true]{border-color:#ff6377;background:#53232bc0;transform:translateY(-4px);box-shadow:0 8px 25px #0004}.zone small{font:9px monospace;color:#a19f9b}.zone b{font-size:12px;font-weight:400}.zone-2,.zone-3{grid-row:3}.floor-corridor{grid-row:2;grid-column:1/3;font-size:8px;color:#7d7d77;display:flex;align-items:center;justify-content:center}.asset-dot{width:6px;height:6px;border-radius:50%;background:#f16c7d;position:absolute;right:15px;bottom:15px;box-shadow:0 0 0 5px #f16c7d18}.ops-detail{align-self:center}.ops-toggle{display:flex;gap:10px;margin-bottom:35px}.ops-toggle button{border:1px solid #58585c;background:none;padding:12px 18px;font:11px monospace;min-height:44px}.ops-toggle button[aria-pressed=true]{background:#e7e7df;color:#171719}.ops-detail h3{font-size:26px;margin-bottom:18px}.ops-detail p{font-size:12px;color:#b3b3ad;line-height:1.9}.ops-detail .next-action{border-left:2px solid #de142a;padding-left:18px;color:#eeeee5}.trio footer{padding-bottom:145px}
#trio-guide{position:fixed;z-index:35;left:50%;bottom:20px;transform:translateX(-50%);width:min(660px,calc(100% - 32px));display:flex;gap:19px;align-items:center;padding:18px 22px;background:#1c1c20ee;border:1px solid #ffffff30;border-radius:12px;box-shadow:0 12px 50px #0005;backdrop-filter:blur(20px)}.guide-c1{width:40px;height:40px;flex-shrink:0;animation:c1-think 3s ease-in-out infinite}body[data-trio=working] .guide-c1{animation:c1-work 2.5s linear infinite}@keyframes c1-think{50%{transform:scale(.93);opacity:.72}}@keyframes c1-work{to{transform:rotate(360deg)}}.guide-label{font:8px monospace;color:#a5a59f;letter-spacing:.12em}.guide-label b{font-weight:400;color:#f27182}.guide-copy{flex:1}.guide-copy p{font-size:11px;line-height:1.6;margin:5px 0 0;color:#dcddd4;max-width:none}#guide-minimize{border:0;background:none;color:#aaa;font-size:20px;width:36px;min-height:44px}#trio-guide.minimized{left:auto;right:20px;transform:none;width:auto;padding:12px;gap:8px}#trio-guide.minimized .guide-copy{display:none}.trio.media-paused .guide-c1{animation-play-state:paused!important}
/* Landing: film lives behind the accurate native globe, and never replaces map geometry. */
#art-field{opacity:0}#core-illustration{opacity:0;position:absolute;inset:0;width:100%;height:100%}#core-illustration video{mask-image:linear-gradient(90deg,transparent,black 12%,black 86%,transparent 96%);transform:scale(.96)}.trio{scroll-padding-bottom:130px}.site-header button{min-height:44px;min-width:44px}
#space-film{position:fixed;inset:0;z-index:0;pointer-events:none;background:#030711}#space-film video{object-fit:cover;opacity:.86}body.simple #space-film{display:none}#core-illustration video{object-fit:contain;width:100%;height:100%}#core-illustration{overflow:visible}#art-field{translate:0 var(--ambient-shift,0px)}.portal-art.network{background:none!important;display:flex;align-items:center;justify-content:center;gap:15px;padding:15px;transform:perspective(600px) rotateX(15deg)!important}.portal-art.network i{display:block!important;width:32px;height:80px;background:linear-gradient(135deg,#d3e6ff26,#d3e6ff08);border:1px solid #aec0d077;border-radius:5px;box-shadow:inset 0 1px #ffffff70;animation:network-rise 5s ease-in-out infinite}.portal-art.network i:nth-child(2){height:110px;animation-delay:-1s}.portal-art.network i:nth-child(3){height:140px;animation-delay:-2s}.portal-art.network i:nth-child(4){height:95px;animation-delay:-3s}.portal-art.network i:nth-child(5){height:65px;animation-delay:-4s}@keyframes network-rise{50%{transform:translateY(-9px);border-color:#e2b579}}.care svg path{stroke-dasharray:550;stroke-dashoffset:0;animation:care-trace 5s ease-in-out infinite}@keyframes care-trace{0%,12%{stroke-dashoffset:550}65%,100%{stroke-dashoffset:0}}.intelligence>img{animation:c1-work 14s linear infinite}#traveller-glow{animation:light-breathe 2s ease-in-out infinite}@keyframes light-breathe{50%{opacity:.15}}body:has(#stage) .media-pause{bottom:73px;right:25px}
@media(max-width:900px){.project-heading{grid-template-columns:55px 1fr}.demo-label{grid-column:2;text-align:left;padding:0}.project-layout{gap:22px}.demo-inner{padding:22px}.ops-grid{gap:30px;padding:28px}.project-number{font-size:30px}.hero-state{font-size:8px}}
@media(max-width:620px){.editorial,.aftercare,.project-layout,.ops-grid{grid-template-columns:1fr;gap:35px}.editorial-copy{order:0}.editorial-image{order:1}.editorial-image img{aspect-ratio:1.25}.heritage-hero .hero-art{top:auto;bottom:0;width:100%;right:0;height:58%;object-position:70%}.heritage-hero:after{background:linear-gradient(#070f1d 15%,#070f1def 38%,#070f1d20 75%,#070f1d55)}.health-image .ambient-film{object-position:90%}.health-image{height:380px}.community-photo{margin-bottom:40px}.project-heading{gap:16px;margin-bottom:32px;grid-template-columns:35px 1fr}.project-heading h2{font-size:31px}.project-heading p{font-size:12px}.project-number{font-size:23px}.project-jumps{gap:15px}.project-jumps a{font-size:9px}.project-layout figure img{aspect-ratio:1.7}.demo-label{font-size:8px}.demo-inner{padding:22px}.demo-response{min-height:110px}.ops-grid{padding:20px}.floorplan{grid-template-rows:110px 25px 125px;gap:8px;padding:10px}.zone{padding:13px}.zone b{font-size:11px}.ops-toggle{margin-bottom:25px}.trio-title{margin-top:20px}.trio-title h1{font-size:27vw}.trio-intro h2{font-size:30px}.terminal-hero-grid{gap:30px}.trio-hero{padding-bottom:40px}#trio-guide{bottom:12px;gap:12px;padding:12px 14px;width:calc(100% - 24px)}.guide-c1{width:30px;height:30px}.guide-copy p{font-size:10px}.guide-label{font-size:7px}.guide-copy p{max-height:48px;overflow:auto}.media-pause{right:12px;bottom:12px;font-size:9px}body:has(#stage) .media-pause{bottom:94px;right:12px}.portal-art.network{gap:7px}.portal-art.network i{max-width:16px}.trio footer{padding-bottom:145px}}
@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1;transform:none}.ambient-film{object-fit:cover}#art-field{translate:none}*,*:before,*:after{animation:none!important;transition:none!important}.floorplan{transform:none}}

@media(max-width:620px){html[lang=th] .heritage-hero h1{font-size:42px}}
@keyframes trio-resolve{from{opacity:.1;filter:blur(8px);transform:translateY(12px)}to{opacity:1;filter:blur(0);transform:none}}.trio-intro h2,.character-stage{animation:trio-resolve 1.2s cubic-bezier(.15,.7,.2,1) both}

.demo-scenario{font-size:9px;line-height:1.8;color:#e66d7f;margin-top:16px}
#core-illustration video{height:auto;max-height:100%;aspect-ratio:16/9;position:absolute;top:50%;left:0;transform:translateY(-50%) scale(.96);mask-image:linear-gradient(90deg,transparent,black 12%,black 86%,transparent 96%),linear-gradient(transparent,black 6%,black 94%,transparent);mask-composite:intersect}
@media(min-width:900px) and (max-height:800px){.terminal-hero-grid{padding:20px 0}#character-icon{height:245px;aspect-ratio:auto;object-fit:contain}.trio-title h1{font-size:19vw}.trio-intro h2{font-size:32px}}

/* R3: editorial separation, authentic assets, continuous terminal language. */
body[data-chapter=timeline] #art-field{inset:12vh 0 16vh 31vw;animation:none;translate:none}
body[data-chapter=timeline] #art-field:after{background:linear-gradient(90deg,#02040a 0%,transparent 24%)}
#timeline{width:33vw;top:24vh;background:linear-gradient(90deg,#030710f5 75%,#03071000);padding:20px 25px 24px 0}
#timeline h2{font-size:clamp(26px,2.8vw,52px);text-wrap:balance;line-height:1.16}
#timeline p{font-size:16px;line-height:1.7;color:#d6e0ec}#timeline small{font-size:12px;line-height:1.7;color:#b7c9dd}
#year{color:#f3ddb4}#art-note{display:none!important}
.pc-cable-light{stroke-dasharray:22 160;animation:cable-flow 4s linear infinite;opacity:.7}@keyframes cable-flow{to{stroke-dashoffset:-182}}
.timeline-c1{transform-box:fill-box;transform-origin:center;animation:timeline-trio 10s linear infinite}@keyframes timeline-trio{to{transform:rotate(360deg)}}
.portal[data-portal=heritage]{background:linear-gradient(145deg,#132b4a,#091525);border-color:#6786a055}
.portal[data-portal=healthcare]{background:#e9e9e0;color:#24272b;border-color:#e9e9e0}.portal[data-portal=healthcare] p,.portal[data-portal=healthcare] .card-top{color:#525d61}.portal[data-portal=healthcare] .card-top img{filter:brightness(.18)}
.portal[data-portal=software]{background:#141416;border-color:#a8a8a644;background-image:radial-gradient(#ffffff14 .7px,transparent .7px);background-size:9px 9px}
.portal .card-copy h3{letter-spacing:-.04em}.portal[data-portal=software] .card-copy{font-family:monospace}.portal[data-portal=healthcare] .ecg{filter:grayscale(1)}
.hero-art{object-fit:cover}.heritage-hero .hero-art{object-position:center 44%;opacity:.85}
.logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#9cabb338;border:1px solid #9cabb338;margin:35px 0}
.partner-logo{background:#f4f4ee;min-height:150px;padding:28px 22px 18px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:20px}
.partner-logo img{width:150px;max-width:100%;height:60px;object-fit:contain}.partner-logo span{font:10px monospace;color:#687078;letter-spacing:.06em}
.partner-logo.reverse-logo{background:#243a30}.partner-logo.reverse-logo span{color:#ddd}.additional-partner{font:18px monospace;margin:20px 0;color:inherit}
.oem-section{display:grid;grid-template-columns:1.3fr 1fr;gap:9vw;background:#0b1930;color:#edf0f4}.oem-section p{color:#b7c6da;line-height:1.8}.oem-section .pill{background:#e5edf4;color:#14233b;border:0;padding:16px 24px;border-radius:30px}
.oem-steps{align-self:center;border-top:1px solid #b2c9e344}.oem-steps>span{display:block;padding:28px 0;border-bottom:1px solid #b2c9e344;font:16px/1.6 monospace}
.product-reference{object-fit:contain!important;background:#fff!important;padding:28px}.allies .product-reference{width:100%;height:auto;aspect-ratio:1.2}
.connected-detail .editorial-image{background:#fff}.connected-detail .product-reference{aspect-ratio:1.25}.community-photo img{max-height:610px;object-position:center}
.health-image:after{display:none}.health-image{min-height:580px;background:#dddcd3;overflow:hidden}
.care-orbit{height:100%;min-height:580px;position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 42%,#f9f7ec,#d2d5cf);color:#343e3f}
.care-orbit-grid{position:absolute;inset:0;background-image:radial-gradient(#63767133 1px,transparent 1px);background-size:14px 14px;mask-image:linear-gradient(transparent,#000 20%,#000 80%,transparent)}
.care-orbit-ring{position:absolute;left:15%;top:14%;width:70%;aspect-ratio:1;border:1px solid #667c7440;border-radius:50%}.ring-two{inset:25% auto auto 25%;width:50%}
.ring-one:before{content:'';position:absolute;inset:-2px;border:2px solid transparent;border-top-color:#657c70;border-radius:50%;animation:care-orbit 18s linear infinite}@keyframes care-orbit{to{transform:rotate(360deg)}}
.care-center{position:absolute;left:50%;top:35%;transform:translate(-50%,-50%);width:45%;text-align:center;display:grid;gap:12px}.care-center>span{font:60px Georgia;color:#6e8477}.care-center b{font:26px/1.2 Georgia}.care-center small{font:9px monospace;letter-spacing:.2em}
.care-orbit-node{position:absolute;padding:11px 18px;border:1px solid #6b847647;border-radius:25px;background:#f5f5efd9;box-shadow:0 8px 22px #37443a0b;font:11px monospace;animation:node-breathe 6s ease-in-out infinite}.node-person{left:8%;top:36%}.node-team{right:7%;top:24%;animation-delay:2s}.node-hospital{right:12%;top:53%;animation-delay:4s}@keyframes node-breathe{50%{box-shadow:0 0 0 8px #8da59314}}
.care-orbit-device{position:absolute;left:24%;bottom:5%;width:52%;text-align:center}.care-orbit-device img{height:210px;width:100%;object-fit:contain;mix-blend-mode:multiply}.care-orbit-device small{font:10px/1.6 monospace;color:#626e68}
.office-section{display:grid;grid-template-columns:1.1fr 1fr;gap:10vw;background:#e7e9e5;color:#1e2c36}.office-section p{line-height:1.8}.office-section a{display:inline-block;min-height:44px;text-decoration:underline;text-underline-offset:6px}.office-card{padding:40px;display:flex;flex-direction:column;justify-content:space-between;gap:30px;border:1px solid #73838d55;background:radial-gradient(#76858e2b 1px,transparent 1px);background-size:12px 12px}.office-card>span{font:10px monospace}.office-card>b{font-size:32px;line-height:1.2;font-weight:500}
.site-header nav{gap:22px}.site-header nav a{min-height:44px;display:flex;align-items:center}
body.trio{background:#131315;background-image:radial-gradient(#ffffff0d .7px,transparent .7px);background-size:9px 9px}
.trio h2,.trio h3{font-family:'IBM Plex Mono','IBM Plex Sans Thai',monospace;letter-spacing:-.045em}.trio h2{font-size:clamp(32px,3.8vw,58px)}.trio p{font-family:'IBM Plex Mono','IBM Plex Sans Thai',monospace;font-size:14px}
.trio .section{background:transparent}.trio .project{position:relative;border-top:1px solid #ffffff22}.trio .project:before{content:attr(data-terminal-path);position:absolute;top:24px;left:6vw;color:#d86475;font:10px monospace}.trio .project:after{content:'+';position:absolute;top:-12px;right:6vw;color:#e8546c;font:20px monospace}
.trio .project-layout{gap:35px}.trio .project-layout figure{position:relative;border:1px solid #ffffff20;background:#19191c}.trio .project-layout figure:before{content:'SOURCE / HARDWARE';font:9px monospace;color:#aaa;position:absolute;left:14px;top:14px;z-index:1}.trio .project-layout figure img{filter:grayscale(.9);mix-blend-mode:screen;opacity:.8;object-fit:contain;background:#f3f3ec}
.trio .project-layout figure img[src*="e600"]{mix-blend-mode:normal;opacity:1;max-height:500px}.trio .demo-console{border-color:#626266;background:#151519;box-shadow:0 0 30px #0002}
.trio .logo-grid{border-color:#ffffff30}.trio .partner-logo{background:#eceee8}.trio .office-section{background:#19191d;color:#eaeae2}.trio .office-card{border-color:#ddd3}.trio .office-address{color:#c1c1bd}
.mc-tabs{display:flex;border-bottom:1px solid #ffffff25}.mc-tabs button{flex:1;min-height:44px;border:0;border-right:1px solid #fff2;background:transparent;color:#aaa;font:11px monospace}.mc-tabs button[aria-pressed=true]{color:#ef7180;background:#ffffff09}
.mc-overview{padding:24px}.mc-overview .label{font-size:9px;margin-bottom:15px}.mc-row{display:grid;grid-template-columns:1.6fr 1fr .8fr;gap:10px;padding:14px 0;border-top:1px solid #ffffff15;font:10px/1.5 monospace}.mc-row b{font-weight:400;color:#becdbd;text-align:right}
.io-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;border:1px solid #ffffff25;margin-top:50px}.io-grid article{padding:35px;border-right:1px solid #ffffff25;position:relative}.io-grid h3{font-size:24px;margin-top:35px}.io-grid small{font:10px monospace;color:#e46c7c}.io-center img{width:42px;height:42px}.io-center{background:#ffffff05}.io-center:after{content:'→';position:absolute;right:-12px;top:40%;font:24px monospace;color:#e76274}.io-grid article:last-child{border:0}
.health-dashboard{border:1px solid #5f5f64;background:#121215;font-family:'IBM Plex Mono','IBM Plex Sans Thai',monospace}.geo-breadcrumb{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:12px 22px;border-bottom:1px solid #ffffff25}.geo-breadcrumb button{background:none;border:0;color:#b6b6b3;font:11px monospace;min-height:44px;padding:5px 8px}.geo-breadcrumb button[aria-current]{color:#ec7484}.dashboard-grid{display:grid;grid-template-columns:32% 68%}.dashboard-map{padding:20px;border-right:1px solid #ffffff25;background:#19191d}.thai-map{position:relative;height:380px;max-width:245px;margin:auto}.thai-map>img{height:100%;width:100%;object-fit:fill;opacity:.65;filter:grayscale(1)}#map-cities{position:absolute;inset:0}#map-cities button{position:absolute;border:0;background:none;color:#e9e9de;padding:0;transform:translate(-12px,-12px);display:flex;align-items:center;gap:7px;min-height:44px;font:9px monospace;white-space:nowrap}#map-cities i{width:9px;height:9px;background:#e2556c;border-radius:50%;box-shadow:0 0 0 5px #ed5a7420;flex-shrink:0}#map-cities .selected i{background:#fff0c9;box-shadow:0 0 0 7px #eed89b25}#map-cities .selected span{color:#f3dbaf}
#geo-options{border-top:1px solid #ffffff25;margin-top:15px;padding-top:20px}#geo-options .label{font-size:9px;margin-bottom:12px}#geo-options button{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;background:none;border:0;border-bottom:1px solid #fff2;color:#e3e3df;text-align:left;min-height:48px;font:11px/1.5 monospace}#geo-options button:hover{color:#e97485}#geo-options p{font-size:11px;color:#aaa}
.dashboard-detail{padding:25px}.dash-title{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:55px}.dash-title h3{font-size:22px;margin:0}.mock-badge{font:8px monospace;color:#edaf7a;border:1px solid #edaf7a55;padding:6px;white-space:nowrap}.dashboard-filters{display:flex;flex-wrap:wrap;gap:15px;margin:25px 0}.dashboard-filters label{font:10px monospace;display:grid;gap:8px;flex:1}.dashboard-filters select,.dashboard-filters button{min-height:44px;background:#202024;color:#eee;border:1px solid #666;padding:8px 12px;font:11px monospace}.dashboard-filters button{align-self:end}.health-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.health-kpis article{border:1px solid #ffffff25;padding:20px 15px;background:#ffffff03;display:grid;gap:12px}.health-kpis strong{font-size:32px;font-weight:400;line-height:1}.health-kpis article:last-child strong{color:#f29380}.health-kpis span{font:10px/1.5 monospace;color:#bfbfbc}.dash-panels{display:grid;grid-template-columns:1.2fr 1fr;gap:25px;margin-top:35px}.dash-panels h4{font:12px monospace;font-weight:400;color:#ddd;margin:0 0 25px}.measure-head{display:flex;justify-content:space-between;font:8px monospace;color:#969699;margin-bottom:10px}.measure-row{display:grid;grid-template-columns:1fr 35px;gap:8px;padding:11px 0;border-bottom:1px solid #ffffff13;font:10px monospace}.measure-row>b{font-size:9px;font-weight:400;grid-column:2;grid-row:1/3;text-align:right;line-height:1.8}.measure-row em{display:block;color:#f29380;font-style:normal}.measure-track{height:3px;background:#ffffff15}.measure-track i{display:block;height:100%;background:#9eadbc}.group-row{display:grid;grid-template-columns:1fr auto;gap:6px;border-top:1px solid #ffffff18;padding:10px 0;font:11px monospace}.group-row b{color:#e6caa3;font-weight:400}.group-row small{grid-column:1/3;font-size:8px;color:#939394}.health-action{border-left:2px solid #de697a;padding:5px 0 5px 12px;margin-top:22px}.health-action small{font-size:8px;color:#d46a7c}.health-action p{font-size:11px;line-height:1.7;margin:12px 0}.health-action span{font-size:9px;color:#979797}.dashboard-note{font-size:9px!important;line-height:1.8;color:#929295;margin-top:25px}
@media(max-width:900px){.logo-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:30% 70%}.dash-panels{grid-template-columns:1fr}.health-kpis strong{font-size:25px}.health-kpis article{padding:14px 10px}.dashboard-detail{padding:18px}}
@media(max-width:760px){body[data-chapter=timeline] #art-field{inset:45vh -5vw 15vh 0}#timeline{top:14vh;width:89vw;padding:14px 0 20px;background:linear-gradient(#030710,#030710f5 90%,transparent)}#timeline h2{font-size:27px;margin:8px 0 10px}#timeline p{font-size:13px;line-height:1.6;margin-bottom:10px}#timeline small{font-size:10px}body[data-chapter=timeline] #art-field:after{background:none}#year{font-size:55px!important}.site-header{gap:10px;padding:0 4vw;flex-wrap:wrap;height:auto;min-height:95px;padding-top:14px;padding-bottom:10px}.site-header nav{order:3;justify-content:space-between;width:100%;gap:10px}.site-header nav a{font-size:11px}.site-header .brand{max-width:72%}.site-header #language{min-width:44px}.logo-grid{grid-template-columns:repeat(2,1fr)}.partner-logo{min-height:125px;padding:22px 15px 15px}.partner-logo img{height:45px}.oem-section,.office-section,.io-grid{grid-template-columns:1fr}.oem-section{gap:40px}.office-section{gap:35px}.io-grid article{border-right:0;border-bottom:1px solid #fff2}.io-center:after{display:none}.health-image,.care-orbit{min-height:530px}.care-orbit-device img{height:170px}.care-center b{font-size:23px}.care-orbit-node{font-size:9px;padding:9px 12px}.dashboard-grid{grid-template-columns:1fr}.dashboard-map{border-right:0;border-bottom:1px solid #fff3;display:grid;grid-template-columns:1fr 1fr;gap:14px}.thai-map{height:285px;width:175px;max-width:100%}#geo-options{margin-top:0}#geo-options button{font-size:10px}.dashboard-detail{padding:20px 14px}.dash-title h3{font-size:20px}.health-kpis{gap:7px}.health-kpis strong{font-size:23px}.health-kpis span{font-size:9px}.dash-panels{grid-template-columns:1fr}.geo-breadcrumb{padding:10px}.dashboard-filters{gap:10px}.dashboard-filters label{min-width:70px}.office-card{padding:28px}.trio .section{padding-top:75px;padding-bottom:75px}.trio .project-heading{padding-top:15px}.trio .project-layout figure img{aspect-ratio:1.3}.mc-row{font-size:9px}.mc-overview{padding:18px}.portal[data-portal=healthcare] .card-copy{z-index:4}}
@media(prefers-reduced-motion:reduce){.pc-cable-light,.timeline-c1,.care-orbit-ring:before,.care-orbit-node{animation:none!important}}
.care-orbit-path{bottom:11%;left:15%;width:70%;font:11px monospace}.care-orbit-path i{padding:0 22px;color:#788e80}.care-orbit-path p{font:17px Georgia;margin-top:25px}.package-link{display:block;padding:12px 25px;background:#e6e8e1;color:#394840;font:12px monospace;text-align:right;text-decoration:underline;text-underline-offset:4px}
.trio .mc-workflow-visual:before{display:none!important}.mc-system{width:100%;height:100%;min-height:480px;background:radial-gradient(#ffffff12 .7px,transparent .7px);background-size:8px 8px;color:#d7dad2}.mc-system-top{display:flex;justify-content:space-between;border-bottom:1px solid #fff2;padding:20px;font:10px monospace}.mc-system-top i{color:#d96978}.mc-system-body{padding:35px}.mc-system-body>small{font:10px monospace;color:#91958e}.mc-system-body h3{font-size:30px;margin:25px 0 35px;line-height:1.3}.mc-system-line{display:grid;grid-template-columns:35px 1fr 25px;gap:12px;border-top:1px solid #fff2;padding:21px 0;font:12px/1.6 monospace}.mc-system-line b{color:#dd7080;font-weight:400}.mc-system-line small{font-size:10px;color:#91958e}.mc-system-line i{color:#abc1aa}.mc-signal{height:2px;background:#fff1;margin:30px 0 15px;overflow:hidden}.mc-signal span{display:block;height:100%;width:30%;background:linear-gradient(90deg,transparent,#e66c7e,transparent);animation:mc-signal 5s ease-in-out infinite}@keyframes mc-signal{from{transform:translateX(-110%)}to{transform:translateX(440%)}}
.measure-row,.measure-row>b,.group-row small,.dashboard-note,.health-action span{font-size:11px!important}.measure-head,.mock-badge,.health-action small{font-size:10px}.media-paused .pc-cable-light,.media-paused .timeline-c1,.media-paused .care-orbit-ring:before,.media-paused .care-orbit-node,.media-paused .mc-signal span{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.mc-signal span{animation:none}}
#map-cities button{width:20px;height:20px;min-height:20px;transform:translate(-10px,-10px);justify-content:center}#map-cities button span{position:absolute;left:22px;top:4px;pointer-events:none}#map-cities button[data-city=bangkok] span{top:-10px}#map-cities button[data-city=chonburi] span{top:7px}#map-cities button:focus-visible{outline:2px solid #fff;outline-offset:5px}

/* R4: official source marks and a distinct actual hardware photograph. */
.partner-logo.verified-logo{text-decoration:none;transition:box-shadow .2s ease}.partner-logo.verified-logo:hover{box-shadow:inset 0 0 0 2px #879caa}.partner-logo.aim-logo{background:#17212c}.partner-logo.aim-logo span{color:#d4dce4}.partner-logo.entech-logo{background:#182832}.partner-logo.entech-logo span{color:#d4dce4}.partner-logo.entech-logo img{width:190px;height:65px}.partner-logo span{font-size:11px;line-height:1.5;text-align:center}
.trio .project-layout .e600-kit-figure{align-self:start;background:#17171a;padding:45px 18px 0}.trio .project-layout .e600-kit-figure:before{content:'E600 / HARDWARE KIT';color:#c0c4c0;font-size:10px}.trio .project-layout figure img[src*="e600-kit"]{filter:none;mix-blend-mode:normal;opacity:1;background:none;height:auto;max-height:none;aspect-ratio:945/708;object-fit:contain}.e600-kit-figure figcaption{padding:22px 0!important;font-size:10px}
:focus-visible{outline:2px solid #cc9363;outline-offset:4px}.trio :focus-visible{outline-color:#f18d9b}.healthcare :focus-visible{outline-color:#415c4d}.site-header~main{scroll-margin-top:120px}.project,.office-section,[role=tabpanel]{scroll-margin-top:120px}.dashboard-grid :focus-visible{scroll-margin-block:100px}.health-dashboard #geo-title:focus-visible{outline-offset:8px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.reveal-ready{opacity:1!important;transform:none!important;filter:none!important}.partner-logo.verified-logo{transition:none}}

/* R4: reverse artwork must keep its dark carrier within TRIO. */
.trio .partner-logo.reverse-logo{background:#182832}.trio .partner-logo.reverse-logo span{color:#d4dce4}

/* R4.2: exact KMITL package artwork, separate from the orange-band colour study. */
.trio .project-layout .kmitl-package-figure{padding:24px;background:#171c24;overflow:hidden}.package-console-label{font:11px/1.5 monospace;color:#e7b48e;margin-bottom:22px;letter-spacing:.08em}.kmitl-package-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:22px 26px 28px;background:#e9edf0;align-items:start}.trio .project-layout .kmitl-package-pair img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;filter:none;mix-blend-mode:normal;box-shadow:8px 12px 18px #13203922}.trio .project-layout .kmitl-package-figure figcaption{position:static;padding:22px 0 0;color:#c0c1bc;font:10px/1.5 monospace}#e600 .product-reference{object-fit:contain;object-position:center;background:#fff;padding:22px} @media(max-width:760px){.trio .project-layout .kmitl-package-figure{padding:16px}.kmitl-package-pair{gap:16px;padding:22px 18px}}

/* R11: one clinical journey, multiple real products. */
.care-explorer{padding-top:30px;scroll-margin-top:90px}.care-explorer-heading{padding:15px 6vw 30px;display:flex;align-items:center;justify-content:space-between;gap:25px}.care-explorer-heading .label{font-size:10px;color:#cda7a8}.care-explorer-heading p{font-size:13px;color:#d7c9cb;margin:0}
#stage-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:0 6vw;gap:1px}#stage-nav button{border:1px solid #69505e;border-radius:7px 7px 0 0;background:#30232d;color:#cbbec6;padding:19px 16px;min-height:95px;text-align:left;cursor:pointer;font:13px/1.4 'Manrope','IBM Plex Sans Thai',sans-serif;transition:background .2s,color .2s}#stage-nav small{display:block;font:10px 'IBM Plex Mono',monospace;margin-bottom:14px;color:#c08d8b}#stage-nav [aria-pressed=true]{background:#f3f0e7;color:#3b3538;border-color:#f3f0e7}#stage-nav button:hover{background:#64434d;color:white}
.care-catalog{background:#f3f0e7;color:#353033;padding:55px 6vw 30px;scroll-margin-top:80px}.catalog-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:7vw;align-items:end;margin-bottom:35px}.catalog-heading .label{font-size:10px;color:#8a625d}.catalog-heading h2{font:clamp(32px,3.8vw,55px)/1.12 Georgia,'IBM Plex Sans Thai',serif;letter-spacing:-.035em;max-width:640px;margin:20px 0 0}.catalog-heading>p{font-size:14px;line-height:1.9;color:#706569;max-width:470px;margin:0}
#product-choices{display:flex;gap:12px;margin-bottom:32px;flex-wrap:wrap}#product-choices button{flex:1;min-width:220px;max-width:500px;display:flex;align-items:center;gap:15px;padding:15px;background:#faf8f2;border:1px solid #d4c7c1;border-radius:6px;text-align:left;color:#655a5e;cursor:pointer;transition:box-shadow .2s,border-color .2s;min-height:104px}#product-choices img{width:58px;height:65px;object-fit:contain;mix-blend-mode:multiply}#product-choices strong{display:block;font-size:13px;font-weight:600}#product-choices small{display:block;font-size:10px;line-height:1.6;margin-top:7px}#product-choices b{font-size:13px;font-weight:400;margin-left:auto;color:#9a7470}#product-choices [aria-pressed=true]{border-color:#674049;box-shadow:inset 0 0 0 1px #674049;background:#eee5dc;color:#3e2f36}#product-choices button:hover{border-color:#674049;box-shadow:0 6px 20px #62434b10}
#workflow-tabs{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #bcb0a9;border-radius:6px 6px 0 0;overflow:hidden}#workflow-tabs button{display:flex;align-items:center;gap:20px;padding:22px;background:#e8e1d9;color:#716462;border:0;border-right:1px solid #bcb0a9;text-align:left;min-height:74px;cursor:pointer;font-size:13px}#workflow-tabs button:last-child{border-right:0}#workflow-tabs small{font:10px 'IBM Plex Mono',monospace}#workflow-tabs [aria-selected=true]{background:#543740;color:#fff2e8}#workflow-tabs button:hover{box-shadow:inset 0 -3px #a47573}
.care-workflow{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);border:1px solid #bcb0a9;border-top:0;background:#faf8f2;min-height:560px}.care-stage-visual{position:relative;min-height:560px;background:#e8e4dc;isolation:isolate;overflow:hidden}.care-stage-visual [hidden]{display:none!important}.care-stage-visual>figure{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;padding:50px 40px 70px;background:radial-gradient(ellipse at 40% 40%,#faf6e9,#e1d9cf)}#care-device-image{position:relative;max-height:420px;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 16px 25px #6c555518);border-radius:5px;z-index:1}#care-device.in-use{padding:0;background:#d4c7b8}#care-device.in-use img{max-height:none;width:100%;height:100%;object-fit:cover;object-position:50% 54%;filter:none;border-radius:0}#care-device figcaption{position:absolute;bottom:0;left:0;right:0;padding:18px 24px;font:9px/1.7 'IBM Plex Mono',monospace;color:#695650;letter-spacing:.05em;z-index:2;background:#eee6d9e8}#care-device.in-use figcaption{background:#211e23c7;color:#eee4dc}.device-orbit{position:absolute;width:87%;aspect-ratio:1;border:1px solid #b7a39955;border-radius:50%;transform:rotateX(35deg);z-index:0}.device-orbit:after{content:'';position:absolute;inset:-20px;border:1px dashed #b7a39933;border-radius:50%}
.care-stage-copy{padding:45px 40px;display:flex;flex-direction:column;justify-content:center}.care-stage-copy>.label{font-size:10px;color:#9b726b;margin-bottom:22px}.care-stage-copy h3{font:38px/1.15 Georgia,'IBM Plex Sans Thai',serif;letter-spacing:-.03em;margin:0 0 20px}.care-stage-copy>p{font-size:14px;line-height:1.85;color:#706369}.care-current-product{border-top:1px solid #d9cbc3;border-bottom:1px solid #d9cbc3;display:flex;align-items:center;gap:24px;padding:20px 0;margin-top:15px}.care-current-product img{width:85px;height:85px;object-fit:contain;mix-blend-mode:multiply}.care-current-product strong{display:block;font-size:14px}.care-current-product small{display:block;font-size:11px;line-height:1.6;color:#7f6a69;margin-top:6px}.care-current-product button{background:none;border:0;border-bottom:1px solid #bca6a0;padding:10px 0;color:#674049;font-size:11px;min-height:44px;cursor:pointer}.care-stage-copy .clinician-note{font-size:11px;line-height:1.8;min-height:unset;margin:24px 0}.care-stage-copy #care-forward{align-self:flex-start;border:1px solid #b9a59c;border-radius:3px;padding:13px 18px;min-height:46px;background:transparent;color:#68464a;font-size:12px;cursor:pointer}.care-stage-copy #care-forward:hover{background:#efe1d6}
.care-review{height:100%;min-height:560px;padding:30px 38px;display:flex;flex-direction:column;align-items:center;background:radial-gradient(ellipse at top,#f3e7d8,#ddd5cb)}.review-top{display:flex;justify-content:space-between;gap:15px;width:100%;font:9px/1.5 'IBM Plex Mono',monospace;color:#796464}.review-top i{height:6px;width:6px;border-radius:50%;background:#9b766b;margin:3px}.care-review .doctor-avatar{margin:32px 0 18px}.care-review h3{font:34px/1.15 Georgia,'IBM Plex Sans Thai',serif;margin:0 0 25px}.care-review .review-record{max-width:400px}.care-review .review-checks{max-width:400px}.care-plan{height:100%;min-height:560px;padding:45px 40px;display:flex;flex-direction:column;justify-content:center;background:#dfe5d9;color:#384a3d}.care-plan>.label{font-size:9px;color:#74816e;margin-bottom:22px}.care-plan h3{font:37px/1.12 Georgia,'IBM Plex Sans Thai',serif;letter-spacing:-.035em;margin-bottom:30px}.plan-line{border-top:1px solid #b6c2ac;padding:20px 0;display:flex;gap:22px;font-size:14px}.plan-line b{font:10px 'IBM Plex Mono',monospace;padding-top:4px;color:#819078}.plan-line small{display:block;font-size:11px;line-height:1.7;color:#687261;margin-top:7px}.plan-foot{margin-top:12px;font:10px 'IBM Plex Mono',monospace;color:#778773}
#care-handover{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #c5b6aa;border-top:0}#care-handover span{padding:20px;border-right:1px solid #c5b6aa;font-size:12px;color:#8d7c76;position:relative;overflow:hidden}#care-handover span:last-child{border-right:0}#care-handover small{font:9px 'IBM Plex Mono',monospace;margin-right:15px}#care-handover .passed{background:#e9ded3;color:#62444a}#care-handover .passed:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:#b88a7c;transform-origin:left;animation:handover-in .6s ease-out}.catalog-note{font-size:11px;line-height:1.8;color:#81736c;margin:22px 0 0;max-width:850px}.care-stage-visual>*:not([hidden]){animation:care-arrival .4s ease-out}.care-explorer button:focus-visible{outline:3px solid #ac7550;outline-offset:4px;z-index:5;position:relative}@keyframes care-arrival{from{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes handover-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* Preserve the original red symbol and blue lettering; department palettes remain intact. */
header #home img,.site-header .brand img,.card-top img{filter:none!important;mix-blend-mode:normal!important;opacity:1!important}.card-top img{background:#f8f6ef;border-radius:50%;padding:5px}.site-header .brand img{background:#f8f6ef;border-radius:50%;padding:3px}header #home img{background:#f8f6ef;border-radius:50%;padding:3px}
.character-stage{position:relative}#brand-evolution{position:absolute;inset:0 0 65px;z-index:2;display:flex;align-items:center;justify-content:center;background:#141416;flex-direction:column;opacity:1;transition:opacity .6s;pointer-events:none}#brand-evolution svg{width:64%;height:83%;overflow:visible}#brand-phase{font:9px/1.6 'IBM Plex Mono',monospace;letter-spacing:.15em;color:#c59d9e;text-align:center}#brand-evolution.complete{opacity:0}.character-stage .icon-controls{position:relative;z-index:3;flex-wrap:wrap;gap:12px}.icon-controls #replay-brand{border:1px solid #61313b;border-radius:3px;padding:9px 11px;color:#e98a98;min-height:44px;background:#23191e}.icon-controls button:focus-visible{outline:2px solid #ef6179;outline-offset:4px}
@media(min-width:1700px){.care-explorer{max-width:1800px;margin:auto}}
@media(max-width:1000px){#stage-nav{padding:0 4vw}#stage-nav button{padding:15px 10px;font-size:12px}.care-catalog{padding:40px 4vw 25px}.care-stage-copy{padding:32px 26px}.care-stage-copy h3{font-size:32px}.care-review{padding:30px 25px}.catalog-heading{gap:4vw}.care-plan{padding:35px 27px}#workflow-tabs button{padding:19px 14px;gap:12px}}
@media(max-width:760px){.care-explorer-heading{display:block;padding:20px 5vw 24px}.care-explorer-heading p{font-size:12px;margin-top:14px;line-height:1.7}#stage-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0 5vw 25px}#stage-nav button{border-radius:4px;min-height:88px;padding:14px;font-size:12px}#stage-nav small{margin-bottom:10px}.care-catalog{padding:35px 5vw 25px}.catalog-heading{grid-template-columns:1fr;gap:20px}.catalog-heading h2{font-size:37px;line-height:1.17}.catalog-heading>p{font-size:13px;line-height:1.8}#product-choices{gap:9px;margin-bottom:25px}#product-choices button{flex-basis:100%;max-width:none;min-height:90px;padding:12px 16px}#product-choices img{width:50px;height:53px}#product-choices small{margin-top:4px;font-size:11px}#workflow-tabs button{display:block;padding:15px 10px;min-height:85px;font-size:11px;line-height:1.5}#workflow-tabs small{display:block;margin-bottom:8px}.care-workflow{grid-template-columns:1fr}.care-stage-visual{min-height:425px}.care-stage-visual>figure{padding:35px 25px 58px}#care-device-image{max-height:320px}#care-device figcaption{font-size:8px;padding:15px 18px}.care-stage-copy{padding:30px 25px}.care-stage-copy>p{font-size:13px}.care-stage-copy h3{font-size:34px}.care-review,.care-plan{min-height:425px;padding:26px}.care-review .doctor-avatar{width:85px;height:85px;margin:20px 0 16px}.care-review h3{font-size:30px;margin-bottom:18px}.care-review .review-checks{font-size:11px;margin:18px 0 0;gap:7px}.care-plan h3{font-size:32px}.plan-line{padding:17px 0}.care-plan>.label{margin-bottom:18px}#care-handover span{padding:15px 11px;font-size:10px;line-height:1.6}#care-handover small{display:block;margin:0 0 8px}.catalog-note{font-size:10px}.care-explorer-heading .label{font-size:9px}#brand-evolution{bottom:100px}#brand-phase{font-size:8px}.icon-controls #replay-brand{font-size:9px}.site-header .brand img{padding:2px}}
@media(prefers-reduced-motion:reduce){.care-explorer *,#brand-evolution{animation:none!important;transition:none!important}}.media-paused .care-explorer *{animation-play-state:paused!important}
.portal.software .intelligence img{filter:none!important;opacity:1!important}

@font-face{font-family:Thaiway;src:url(assets/fonts/local-latin.woff2);font-display:swap}@font-face{font-family:LocalThai;src:url(assets/fonts/local-thai.woff2);font-display:swap}
/* R18: visitor-facing typography, document-flow destinations and readable controls. */
:root{--body-size:16px}html{scroll-padding-top:120px}body{font-family:Manrope,'IBM Plex Sans Thai',Arial,sans-serif}
p,li{font-size:max(var(--body-size),1em)!important;line-height:1.65!important}
button,a,input,textarea,select{touch-action:manipulation}button,a.button,.text-link{min-height:44px}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a57236;outline-offset:4px}
header #home img,.site-header .brand img{width:48px;height:48px;flex-shrink:0}.site-header .brand{gap:12px}.site-header .brand small{font-size:11px}
.r18-primary{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 20px;border:1px solid currentColor;background:#e9edf1;color:#13283c;border-radius:4px;font:600 14px/1.5 inherit;cursor:pointer;margin-top:22px;pointer-events:auto}
.healthcare .r18-primary{background:#263f35;color:#fff}.trio .r18-primary{background:#d91c37;color:#fff;border-color:#d91c37}
.hero-copy>.button,.trio-intro>.text-link,.office-start{margin-right:15px}.office-start{display:inline-flex;margin-top:24px;margin-left:18px}
.hello-context{max-width:560px;margin:22px 24px 0;color:#dae2ef!important}.greeting .r18-primary{font-size:14px}.greeting h1{font-size:clamp(90px,12vw,180px)}.scroll-cue{bottom:11vh}
#scroll-space{height:1100vh}#stage{bottom:auto;height:100dvh}.greeting{pointer-events:none}
#portals{position:relative!important;inset:auto!important;z-index:6;padding:80px 5vw 55px;background:#060b14;min-height:820px;overflow:visible!important;pointer-events:auto;visibility:visible!important;opacity:1!important;scroll-margin-top:100px}
#portals .portal-grid{height:auto;max-height:none;overflow:visible;grid-template-columns:repeat(3,minmax(0,1fr))}
#portals .portal{height:460px;min-height:0;transform:none!important;opacity:1!important}.card-copy p{font-size:16px!important}.card-copy>span{font-size:12px}
body.simple>#portals{display:none}#timeline{background:none!important;padding:0;width:32vw;top:23vh}#timeline p{color:#e2e9f3!important}#timeline small{font-size:14px;color:#d1dced}
body[data-chapter=timeline] #art-field{inset:16vh 0 12vh 36vw}#art-field:after{background:linear-gradient(90deg,#02040a,transparent 20%)!important}
#partners #region-list span{color:#b7c6dc}#partners #region-list .lit{color:#ffe0a6}#cooperation{margin-top:20px}#location-list{gap:5px 20px;margin-top:10px}
#core p,#arrival p{color:#d0dceb}#core{width:37vw}.layer-key b{font-size:15px}
.brief-help,.brief-contact,#brief-status{font-size:16px!important;line-height:1.6}.brief-contact a{text-decoration:underline}#brief{z-index:1000;background:#f4f3ec;color:#182a32;width:min(660px,94vw);max-height:90dvh;padding:36px;overflow:auto;border:1px solid #9ca7a8}#brief p{color:#374b52}#brief h2{font-size:34px}#brief textarea{display:block;width:100%;font:16px/1.6 inherit;padding:12px;border:1px solid #78888d;background:#fff;color:#182a32;border-radius:5px;resize:vertical}#brief label{display:block;margin:20px 0;color:#182a32}#brief .button{background:#142b3c;color:#fff;padding:14px 20px;border:0;border-radius:4px}#brief-output{white-space:pre-wrap;overflow-wrap:anywhere;background:#e1e7e5;color:#21342e;padding:16px;font:15px/1.7 monospace}#brief .close{position:absolute;right:10px;top:8px;min-width:44px;background:none;color:#182a32;border:0;font-size:28px}#brief .label{color:#425d5d}
#trio-guide{position:relative!important;inset:auto!important;margin:24px 6vw 40px;width:auto!important;max-width:none;transform:none!important;opacity:1!important;display:flex!important}#trio-guide.intro-hidden{visibility:visible!important}#trio-guide.minimized #guide-message{display:block!important}#guide-minimize{display:none}.trio #guide-message{max-width:900px}
.trio .project-layout figure:before{content:none}.trio .terminal-top{color:#d1d1d3}.media-pause{bottom:16px;right:16px;font-size:12px;background:#16212d;color:#fff;border:1px solid #a7b8c7}.trio .media-pause{display:none}
.editorial-copy p,.section p{max-width:72ch}html[lang=th] h1,html[lang=th] h2,html[lang=th] h3{word-break:normal;overflow-wrap:normal;text-wrap:balance;letter-spacing:0!important;line-height:1.4}
.portal .card-top span,.label,.eyebrow{line-height:1.5}.site-header nav{flex-wrap:wrap}.hero-copy .label{color:#405447}
@media(max-width:1000px){#portals{min-height:0}.portal-grid{gap:12px}#portals .portal{height:430px}.card-copy{left:20px;right:20px}.card-copy h3{font-size:30px}}
@media(max-width:760px){
 :root{--body-size:15px}.site-header{position:relative!important;top:auto;min-height:106px}.site-header .brand img{width:44px;height:44px}.site-header nav{gap:8px}.site-header nav a{font-size:12px}.site-header .brand small{font-size:10px}header #home img{width:40px;height:40px}header{padding:6px 10px;top:10px}.header-actions{gap:4px}#skip{max-width:100px;text-align:center;font-size:11px}#view-toggle{font-size:11px;padding:4px 7px}#language{min-width:42px;padding:4px}
 #portals{padding:70px 5vw 90px;scroll-margin-top:80px}#portals .portal-grid{grid-template-columns:1fr;max-height:none;overflow:visible;gap:18px}#portals .portal{height:300px}.card-copy p{font-size:15px!important}.card-copy h3{font-size:29px}#portals>h2{font-size:30px;line-height:1.3}
 #hello h1{font-size:28vw}.hello-context{max-width:310px;margin-top:16px}.greeting .eyebrow{font-size:10px;letter-spacing:.14em}.scroll-cue{bottom:8vh}.greeting h2{font-size:13vw}.greeting p{max-width:310px}.greeting .r18-primary{margin-top:18px}
 #timeline{top:14vh;left:5vw;width:90vw;padding:0!important}#timeline h2{font-size:27px;max-width:100%;margin:6px 0 12px}#timeline p{max-width:100%;line-height:1.55!important}#timeline small{font-size:12px;margin-top:10px}#year{font-size:48px!important;margin:10px 0 2px}body[data-chapter=timeline] #art-field{inset:54vh -8vw 7vh -8vw}#history-path{opacity:.4!important}
 #arrival{left:5vw;top:13vh;width:90vw}#arrival h2{font-size:28px}#cooperation{width:90vw;margin-top:14px}#cooperation h3{font-size:16px}#cooperation .connection-intro{display:none}#location-list{grid-template-columns:1fr 1.1fr;gap:4px 8px;max-width:100%;background:#050b16dd;padding:12px;border-radius:6px}#location-list li{font-size:15px!important}
 #partners{top:16vh}#region-list{gap:6px 10px}#region-list span{font-size:11px}#core{top:16vh;width:90vw}#core h2{font-size:34px}#core p{max-width:90%}.layer-key{display:none}
 #brief{padding:28px 20px}#brief h2{font-size:29px}#brief textarea{min-height:90px}#brief label{margin:14px 0}.office-start{margin-left:0}.office-hero{padding-top:34px!important}.health-hero{padding-top:0!important}.trio-hero{padding-top:34px!important}.trio-title h1{font-size:24vw!important}.trio-title{gap:20px}.trio-title p{font-size:17px!important}.trio-hero .terminal-top{font-size:10px}.terminal-hero-grid{gap:25px!important}.trio-intro h2{font-size:28px}.health-hero .hero-copy{padding-top:38px!important}.health-hero h1{font-size:46px!important}.office-hero h1{font-size:44px!important}
 #trio-guide{margin:18px 5vw 30px}.office-room-strip{max-width:100%}.media-pause{bottom:10px;right:10px;min-height:40px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

html[lang=th] body{font-family:LocalThai,Arial,sans-serif}#trio-guide .guide-copy{display:block!important}#trio-guide .guide-copy p{max-height:none;overflow:visible}body:has(#stage) .media-pause{bottom:16px}
/* Own final verification: legible footnotes and a complete mobile introduction. */
p.r10-disclosure,p.geo-attribution,p.dashboard-note{font-size:var(--body-size)!important;line-height:1.65!important}
.trio-manifesto h2,.trio-manifesto h2 em{color:#d9dcd7!important;opacity:1!important}
@media(max-width:760px){
 .trio-hero .terminal-hero-grid{display:flex;flex-direction:column;align-items:stretch;padding-top:15px}
 .trio-hero .trio-intro{order:-1}.trio-intro h2{margin:10px 0!important;font-size:26px!important}.trio-intro p{margin:10px 0!important}.trio-intro .r18-primary{margin-top:12px}.trio-intro .text-link{display:none}
 .trio-title h1{margin:8px 0 14px!important;font-size:21vw!important}.trio-hero{padding-top:18px!important}.trio-title>p{font-size:15px!important}
 html[lang=th] #year{font-size:36px!important}
}
/* Final visual review: protect the core copy and give tablet cards room to breathe. */
@media(max-width:760px){body[data-chapter=core] #art-field{inset:56vh -8vw 5vh -8vw}}
@media(min-width:761px) and (max-width:900px){
 #timeline{top:16vh;left:6vw;width:88vw}#timeline h2{font-size:36px;max-width:90%}#timeline p{max-width:70ch}#year{font-size:48px!important}
 body[data-chapter=timeline] #art-field{inset:48vh 0 8vh 0}#history-path{opacity:.45!important}
 #core{top:16vh;width:88vw}#core p{max-width:80%}.layer-key{display:none}body[data-chapter=core] #art-field{inset:46vh 0 5vh 0}
 #portals .portal-grid{grid-template-columns:1fr;max-width:650px;margin:0 auto;gap:20px}#portals .portal{height:320px}.card-copy h3{font-size:34px}
 html[lang=th] #year{font-size:42px!important;white-space:nowrap}
}
@media(max-width:900px){html[lang=th] .contact-section h2{font-size:32px!important;line-height:1.45}}

/* R19: deliberate reading hierarchy and controls that occupy their own space. */
:root{--reading-size:16px;--nav-offset:112px}
#portals{scroll-margin-top:0}
html{scroll-padding-top:var(--nav-offset)}
[hidden]{display:none!important}
button,input,select,textarea,a{scroll-margin-top:var(--nav-offset)}
input:focus-visible,summary:focus-visible{outline:3px solid #a57236;outline-offset:4px}
.r19-tools{display:flex;align-items:center;gap:10px;flex-shrink:0}
header .media-pause,header .r19-pause{position:static!important;inset:auto!important;transform:none!important;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;width:auto!important;height:auto!important;padding:8px 14px;border:1px solid #9ba9b8;border-radius:24px;background:transparent;color:inherit;font-family:inherit;font-size:13px;font-weight:500;line-height:1.4;white-space:nowrap}
.site-header{height:auto;min-height:92px;gap:22px}.site-header nav{gap:24px}.site-header nav a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.site-header .r19-tools #language{width:44px;min-width:44px;height:44px}
.header-actions{gap:12px}#skip,#view-toggle,#language{font-size:14px!important;min-height:44px}#skip{max-width:none;text-align:center}#home{min-width:44px;min-height:44px}
html[lang=th] #year{font-size:clamp(30px,3.4vw,58px)!important;white-space:nowrap;line-height:1.3}
#timeline small,#milestone-detail{font-size:var(--reading-size)!important;line-height:1.6;display:block;max-width:40ch}
#timeline p{line-height:1.6!important}#timeline{width:33vw}
#brief{color:#182a32}#brief :is(p,label,textarea,.brief-contact a){color:#263c44!important;font-size:var(--reading-size)!important;line-height:1.6!important}
#brief .brief-contact a{display:inline-block;min-height:44px;padding:8px 0;text-decoration:underline;text-underline-offset:4px}
#brief .button{font-size:16px!important;min-height:48px}#brief .label{color:#425d5d}#brief form label{font-size:16px}#brief textarea{font-family:inherit;font-size:16px;line-height:1.6}
/* Text colours are authored, not repaired after paint. */
.heritage .partners p.fine,.healthcare .care-story .section-heading p,.healthcare .care-catalog .catalog-note{color:#263632!important}
.section :is(.fine,figcaption,.editorial-meta),.office-room-copy,.care-step-summary,.path-footnote{font-size:var(--reading-size)!important;line-height:1.6}
.healthcare .health-hero .hero-copy p{color:#405548}
.trio .terminal-top,.trio .label{color:#b9bfbc}.trio .contact-section .label{color:#fff}
.trio .case-body p,.trio .section-heading p,.trio .service-grid p{color:#c9ccc9}
/* A shared lighting treatment lets the existing artwork sit inside the starfield. */
.history-illustration{mask-image:linear-gradient(90deg,transparent,#000 10%,#000 93%,transparent),linear-gradient(0deg,transparent,#000 11%,#000 92%,transparent);mask-composite:intersect;filter:drop-shadow(0 24px 40px #0005)}
#art-field:after{pointer-events:none}#core-illustration{overflow:hidden;mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,#000 42%,transparent 100%)}
.core-scan{position:absolute;left:14%;right:10%;top:var(--core-level,73%);height:1px;background:linear-gradient(90deg,transparent,#f1d4a3,transparent);box-shadow:0 0 24px 4px #d9b77924;transition:top .8s cubic-bezier(.22,.6,.3,1);pointer-events:none}
#core>p,#core>.layer-key{display:none}.r19-core-step{margin-top:24px;border-top:1px solid #bca07355;padding-top:20px}.r19-core-step small{color:#e8c998;font:14px/1.5 monospace}.r19-core-step h3{font-size:clamp(24px,2.4vw,36px);margin:12px 0;line-height:1.2;color:#f0eee8;letter-spacing:-.03em}.r19-core-step p{color:#d4dfed!important;max-width:40ch}
.r19-core-nav{pointer-events:auto;display:flex;gap:10px;margin-top:24px}.r19-core-nav button{background:transparent;color:#bdcbdc;border:1px solid #6b7b91;border-radius:50%;width:44px;height:44px;min-width:44px;transition:background .2s,color .2s}.r19-core-nav button[aria-pressed=true]{background:#edd5af;color:#122034;border-color:#edd5af}
.r19-service-path{background:#0b1c32;color:#eaf0f5;padding:38px 4vw 46px}.r19-service-path>div{max-width:1500px;margin:auto}.r19-service-path h2{font-size:28px;margin:0 0 24px;letter-spacing:-.03em}.r19-path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.r19-path-grid button{position:relative;text-align:left;border:1px solid #4a5e73;background:#132a43;color:#eaf0f5;border-radius:5px;padding:24px;min-height:180px;transition:background .25s,transform .25s}.r19-path-grid button:hover{background:#1b3855;transform:translateY(-3px)}.r19-path-grid small{color:#b6cce0;font-size:14px}.r19-path-grid strong{display:block;font-size:22px;font-weight:500;margin:13px 0}.r19-path-grid span{display:block;font-size:16px;line-height:1.6;color:#d1dce5}.r19-path-grid em{display:block;font-size:14px;font-style:normal;margin-top:20px;text-decoration:underline;text-underline-offset:5px}
.r19-room-purpose{border-left:2px solid #a77b44;padding:12px 16px;margin-top:22px;background:#edf1f3}.r19-room-purpose small{display:block;font-size:13px;letter-spacing:.04em;color:#4a606e}.r19-room-purpose p{margin:7px 0 0;color:#263c4c!important}
.r19-finder{padding:52px 6vw;background:#e4e9df;color:#263e31;border-top:1px solid #b9c6b5;border-bottom:1px solid #b9c6b5}.r19-finder-head{display:flex;justify-content:space-between;gap:36px;align-items:baseline}.r19-finder h2{font-size:34px;letter-spacing:-.04em;margin:0 0 16px}.r19-finder-head p{max-width:48ch;color:#405548}.r19-finder-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.r19-finder-tabs button{border:1px solid #718574;border-radius:30px;padding:12px 20px;background:transparent;font-size:15px;color:#263e31;min-height:46px}.r19-finder-tabs button[aria-pressed=true]{background:#2b4939;color:#fff;border-color:#2b4939}
.r19-finder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.r19-finder-grid button{padding:20px;border:1px solid #bac7b7;border-radius:6px;text-align:left;background:#f7f8f1;color:#263e31;min-height:116px;transition:border-color .2s,background .2s}.r19-finder-grid button:hover{background:white;border-color:#52715a}.r19-finder-grid strong{display:block;font-weight:600;font-size:18px;margin-bottom:7px}.r19-finder-grid span{font-size:var(--reading-size);line-height:1.6;color:#415c49}.r19-finder-stage{display:flex;align-items:center;gap:15px;margin:16px 0 20px;flex-wrap:wrap}.r19-finder-stage label{font-size:15px}.r19-finder-stage select{font:inherit;padding:12px;border:1px solid #718574;background:#f7f8f1;color:#263e31;border-radius:4px;max-width:100%;min-height:44px}.r19-finder-note{margin:18px 0 0;font-size:var(--reading-size)!important}
/* TRIO accompanies each project in document flow. No overlay over the dashboard. */
#trio-guide{display:none!important}.r19-guide{display:grid;grid-template-columns:52px 1fr;gap:20px;margin:0 0 38px;padding:22px 0 24px;border-top:1px solid #6a4047;border-bottom:1px solid #47494a;max-width:1100px}.r19-guide img{width:42px;height:42px;align-self:center;animation:r19-breathe 3.8s ease-in-out infinite}.r19-guide-label{display:flex;gap:18px;align-items:center;font-size:13px;color:#e4a2aa;letter-spacing:.04em}.r19-guide p{font-size:16px!important;color:#d6ded8!important;margin:10px 0 12px;max-width:64ch}.r19-guide a{font-size:14px;color:#e8ede9;text-decoration:underline;text-underline-offset:5px;display:inline-flex;align-items:center;min-height:44px}.r19-guide [data-r19-state]{font-size:12px;color:#c9d5ce}.r19-guide [data-r19-state]:before{content:'·';margin-right:8px;color:#ee5368}
body[data-trio=working] .r19-guide img{animation:r19-orbit 2.4s linear infinite}body[data-trio=working] .r19-guide [data-r19-state]:before{content:'●'}
.trio .project{padding-top:65px;padding-bottom:75px}.trio .project-layout{align-items:start}.trio .project-intro{position:relative}.trio .project-jumps{gap:12px}.trio .project-jumps a{min-height:44px;padding:12px 14px;font-size:14px;border:1px solid #666b69}.trio :is(#handover-response,#signal-response){min-height:128px}.r19-demo-output{padding:12px 0;font-size:14px;color:#bdc9c3}
@keyframes r19-breathe{50%{transform:scale(.94);opacity:.8}}@keyframes r19-orbit{to{transform:rotate(360deg)}}
body.media-paused .r19-guide img{animation-play-state:paused}
@media(min-width:901px){.site-header{padding-left:4vw;padding-right:4vw}.site-header .brand{margin-right:auto}.site-header nav{margin:0}.header-actions .media-pause{font-size:13px}#core h2{font-size:clamp(34px,4vw,62px)}}
@media(max-width:1100px){.site-header{flex-wrap:wrap;padding-top:14px;padding-bottom:14px}.site-header nav{order:3;width:100%;justify-content:space-between}.r19-tools{margin-left:auto}.r19-finder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 :root{--reading-size:15px;--nav-offset:145px}
 .site-header{padding:14px 5vw;min-height:0;gap:12px}.site-header .brand{flex:1}.site-header .brand small{font-size:10px}.site-header nav{gap:12px;flex-wrap:wrap}.site-header nav a{font-size:13px;min-height:44px}.r19-tools{gap:8px}.site-header .r19-tools .media-pause,.site-header .r19-tools .r19-pause{font-size:12px;padding:8px 10px}
 body:has(#stage)>header{top:8px;left:4vw;right:4vw;width:auto;border-radius:20px;padding:8px 12px;display:grid;grid-template-columns:44px 1fr;gap:5px 12px}
 .header-actions{display:contents}#language{grid-column:1;grid-row:2;padding:4px;width:44px}#view-toggle{grid-column:2;grid-row:1;justify-self:end;max-width:none;padding:7px 12px;font-size:13px!important}#skip{grid-column:2;grid-row:2;justify-self:start;max-width:none;text-align:left;font-size:14px!important;padding:6px 8px}body:has(#stage) header .media-pause{grid-column:1/-1;justify-self:end;min-height:36px;padding:5px 12px;font-size:12px}
 body:has(#stage)>header #home{grid-column:1;grid-row:1}#hello .eyebrow{margin-top:42px}
 #timeline{top:175px;width:90vw}html[lang=th] #year{font-size:clamp(28px,8vw,40px)!important}#timeline h2{font-size:26px;margin:8px 0}#timeline p{font-size:15px!important;line-height:1.5!important;margin-bottom:8px}#timeline small{font-size:15px!important;line-height:1.45}
 body[data-chapter=timeline] #art-field{inset:58vh -8vw 6vh}#partners,#arrival,#core{top:175px}#partners h2{font-size:32px}#region-list{gap:5px 9px}#region-list span{font-size:13px}#arrival h2{font-size:27px}
 #core h2{font-size:31px;margin-bottom:10px}.r19-core-step{margin-top:12px;padding-top:12px}.r19-core-step h3{font-size:23px;margin:8px 0}.r19-core-step p{font-size:15px!important;line-height:1.5!important;margin-bottom:10px}.r19-core-nav{gap:10px;margin-top:12px}.r19-core-nav button{width:44px;height:44px}body[data-chapter=core] #art-field{inset:62vh -8vw 4vh}
 .r19-service-path{padding:30px 5vw}.r19-service-path h2{font-size:25px}.r19-path-grid{grid-template-columns:1fr;gap:12px}.r19-path-grid button{padding:20px;min-height:0}.r19-path-grid strong{font-size:21px;margin:8px 0}.r19-path-grid span{font-size:15px}.r19-path-grid em{margin-top:12px}
 .r19-finder{padding:36px 5vw}.r19-finder-head{display:block}.r19-finder h2{font-size:29px}.r19-finder-tabs{gap:8px}.r19-finder-tabs button{padding:10px 14px;font-size:14px}.r19-finder-grid{grid-template-columns:1fr}.r19-finder-grid button{min-height:96px;padding:17px}.r19-finder-head p{margin-bottom:12px}
 .r19-guide{grid-template-columns:36px 1fr;gap:14px;margin-bottom:28px;padding:20px 0}.r19-guide img{width:32px;height:32px}.r19-guide-label{flex-wrap:wrap;gap:6px 14px}.r19-guide p{font-size:15px!important}.trio .project{padding-top:42px;padding-bottom:45px}.trio .project-jumps{display:grid;grid-template-columns:1fr}
 #brief{padding:30px 20px;max-height:90dvh}#brief h2{font-size:28px}#brief .brief-contact a{font-size:15px!important}
}
@media(max-height:720px) and (max-width:760px){body:has(#stage)>header .media-pause{grid-column:2;grid-row:1;justify-self:start}#view-toggle{font-size:13px!important;max-width:125px}#partners,#arrival,#timeline,#core{top:140px}#hello .eyebrow{margin-top:0}body[data-chapter=timeline] #art-field{inset:64vh -8vw 4vh}body[data-chapter=core] #art-field{inset:69vh -8vw 3vh}.r19-core-step p{margin-bottom:4px}.r19-core-nav{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.r19-guide img{animation:none}.core-scan{transition:none}.r19-path-grid button:hover{transform:none}}

.r19-path-grid strong span{font:inherit;color:inherit}
/* Explanatory UI text uses the same reading scale as paragraphs. */
.office-photo-preferences>span,.living-note small,#hospital-live-copy,
.story-product figcaption span,.story-product figcaption small,.story-caveat,
.vitals-products>div,.heart-clinical>span,.heart-clinical>span span,
#product-choices small,#care-device.scenario figcaption,.care-product-meta,
.mc-system-line small,.demo-inner>small,.health-action>span{
 font-size:var(--reading-size)!important;line-height:1.6!important
}
.demo-inner>small{display:block;margin-top:18px;color:#bfc8c0}
.mc-system-line small{color:#bfc8c0}.health-action>span{color:#bfc8c0}
.story-caveat{color:#425747}.office-photo-preferences{align-items:start;gap:12px}

/* Independent-review refinements: legible wayfinding and an active core layer. */
.scroll-cue{font-size:13px!important;line-height:1.5!important;letter-spacing:.13em!important;color:#e2e9f3!important;background:#081321e8;border:1px solid #64758b70;border-radius:24px;padding:9px 16px;display:inline-flex;align-items:center;min-height:40px}
.card-copy>span{font-size:var(--reading-size)!important;letter-spacing:.07em!important;line-height:1.5}
.r19-finder-return{display:block;width:fit-content;margin:0 0 24px;padding:10px 0;min-height:44px;color:#315846!important;font-size:var(--reading-size);line-height:1.5;text-decoration:underline;text-underline-offset:5px}
#core-illustration .ambient-film{transform:translateY(-50%) scale(1.06);transform-origin:50% var(--core-origin,88%);transition:transform-origin 1.1s cubic-bezier(.22,.6,.3,1)}
.core-layer-light{position:absolute;inset:0;z-index:1;pointer-events:none;transition:background-position 1.1s cubic-bezier(.22,.6,.3,1);background-image:linear-gradient(0deg,#020812bb,#02081288 40%,transparent 45%,transparent 55%,#02081288 60%,#020812bb);background-size:100% 300%;background-position:50% 38.5%}
#core-illustration[data-layer="1"] .core-layer-light{background-position:50% 51%}
#core-illustration[data-layer="2"] .core-layer-light{background-position:50% 63.5%}
.core-scan{z-index:2}
@media(max-width:760px){
 body:has(#stage){--nav-offset:122px}
 body:has(#stage)>header .media-pause{grid-column:2;grid-row:1;justify-self:start;min-height:44px}
 #view-toggle{font-size:13px!important;max-width:125px}
 #partners,#arrival,#timeline,#core{top:140px}
 #hello .eyebrow{margin-top:0}
}
@media(prefers-reduced-motion:reduce){#core-illustration .ambient-film{transform:translateY(-50%) scale(.96);transition:none}.core-layer-light{transition:none}}
body.media-paused #core-illustration .ambient-film{transition:none}

body.media-paused .core-layer-light{transition:none}

@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url("assets/fonts/Manrope-Variable.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/IBMPlexMono-Regular.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/IBMPlexMono-Medium.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans Thai";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/IBMPlexSansThai-Regular.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans Thai";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/IBMPlexSansThai-Medium.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans Thai";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/IBMPlexSansThai-SemiBold.woff2") format("woff2")}

/* R20: fixes from the measured skills audit; established identities preserved. */
#brief{overscroll-behavior:contain;scrollbar-gutter:stable}
#brief .brief-field-error{display:block;margin:7px 0 0;color:#82352e;font-size:1rem;line-height:1.5}
#brief textarea[aria-invalid="true"]{border-color:#82352e;border-width:2px}
#brief-form[aria-busy="true"] button[type="submit"]{cursor:progress;opacity:.72}
#brief-status{min-height:1.65em}
.office-room-rail small{font-size:12px;color:#576875;line-height:1.5}
.office-room-rail span{font-size:13px;line-height:1.5}
.healthcare .story-index{color:#4f5f55;font-size:13px;line-height:1.5}
.healthcare .asset-result small{color:#4f5445;font-size:12px;line-height:1.5}
#field-notes > .r19-finder-return{margin-inline:6vw}
.r20-finder-count{color:#405548;font-size:var(--reading-size);line-height:1.6;margin:0 0 16px;font-variant-numeric:tabular-nums}
.health-kpis strong,.measure-head b,.cohort b,#care-time{font-variant-numeric:tabular-nums}
.health-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
.health-kpis article{min-width:0}
@media(max-width:480px){.health-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.health-kpis article:first-child{grid-column:1/-1;grid-template-columns:1fr 1fr;align-items:center}.health-kpis article:first-child strong{font-size:30px}.health-kpis article:first-child span{text-align:right}.health-kpis span{font-size:12px;line-height:1.5}.health-kpis article{padding:14px 12px}}
@media(max-width:760px){#field-notes > .r19-finder-return{margin-inline:5vw}.office-room-rail span{padding:10px 7px}}
@media(forced-colors:active){#brief textarea[aria-invalid="true"]{border:2px dashed CanvasText}}

/* R20 immediate welcome: the text does not wait for WebGL or globe data. */
body:not([data-chapter]) #hello{visibility:visible}
body:not(.capture) #hello h1{animation:hello-in 1.5s cubic-bezier(.15,.65,.2,1) both}
@media(prefers-reduced-motion:reduce){body:not(.capture) #hello h1{animation:none}}

/* Keep the original story ratio reserved before native-lazy stills decode. */
.simple-chapter img.simple-art{height:auto;aspect-ratio:1920/1086}

/* A13: preserve the Thai company name as one word, without changing copy. */
.r20-brand-word{white-space:nowrap}
/* A12: one intentional action group; original colors and wording retained. */
.r20-hero-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin-top:28px}
.r20-hero-actions > :is(.r18-primary,.button,.office-start,.text-link){margin:0;min-height:56px;padding:16px 20px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.5;display:inline-flex;align-items:center;justify-content:center;gap:16px}
@media(max-width:480px){.r20-hero-actions > :is(.r18-primary,.button,.office-start,.text-link){flex:1 1 auto}}

.r20-hero-actions .office-start > span:last-child{font-size:1.25em;line-height:1}

/* R21: recognizable places, explicit care routes, and local-first delivery. */
.office-hero-photo{aspect-ratio:4/3}.office-hero-photo picture{display:block;width:100%;height:100%}
.office-hero-photo picture img{height:100%;aspect-ratio:4/3;object-fit:cover}
#portals .portal{height:510px;isolation:isolate;overflow:hidden}
#portals .card-top{z-index:4;position:relative}
#portals .portal-art{display:none}
.r21-portal-scene{position:absolute;inset:65px 0 125px;overflow:hidden;z-index:0}
.r21-portal-scene img{width:100%;height:100%;object-fit:cover;object-position:70% center;opacity:.92;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),opacity .6s}
.r21-portal-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,var(--portal-bottom) 0%,transparent 62%)}
.portal.heritage{--portal-bottom:#101a30}.portal.healthcare{--portal-bottom:#e8e8e3}.portal.software{--portal-bottom:#141416}
.portal.healthcare .r21-portal-scene{inset:70px 0 155px;background:#06111a}
.portal.healthcare .r21-portal-scene:after{background:linear-gradient(0deg,#e8e8e3,transparent 35%)}
.portal:is(:hover,:focus-visible) .r21-portal-scene img{transform:scale(1.06);opacity:1}
#portals .card-copy{z-index:3;bottom:28px}#portals .card-copy h3{font-size:clamp(28px,2.7vw,40px);margin-bottom:12px}
.r21-scene-signal{position:absolute;width:8px;height:8px;background:#ead4a2;border-radius:50%;top:38%;left:66%;box-shadow:0 0 20px #edcf97;animation:r21-beacon 3s ease-in-out infinite;z-index:2}
@keyframes r21-beacon{50%{opacity:.35;box-shadow:0 0 25px 8px #edcf971c}}
.health-hero .health-image{border-radius:0;min-height:0;height:auto;background:#f5f4ed;overflow:visible;margin-right:0}
.living-care.r21-care{min-height:0;height:auto;background:#f5f4ed;overflow:visible;display:flex;flex-direction:column;padding:0 24px 24px}
.r21-care .r21-care-image{position:relative;display:block;aspect-ratio:1;width:100%;height:auto;object-fit:contain;inset:auto;mix-blend-mode:multiply}
.r21-care .living-top{position:relative;inset:auto;display:flex;justify-content:space-between;padding:14px 0;font-size:11px;letter-spacing:.08em}
.r21-care .r21-care-places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:-35px;z-index:3}
.r21-care .living-node{position:relative;inset:auto!important;border-radius:3px;padding:12px 8px;min-height:58px;justify-content:center;font-size:13px;backdrop-filter:none;box-shadow:none;background:#fafaf5;border:1px solid #809b87}
.r21-care .living-node[aria-pressed=true]{background:#2e4d3b;color:white}
.r21-care .living-node svg{flex:none;width:20px;height:24px}
.r21-care .living-note{position:relative;inset:auto;display:grid;margin:18px 0 0;padding-top:16px;min-height:105px}
.r21-care .living-note p{min-height:0;font:17px/1.5 'Manrope','IBM Plex Sans Thai',sans-serif}.r21-care .living-note small{font-size:12px}
.r21-care:after{content:'';position:absolute;left:16%;top:53%;width:16px;height:16px;border:2px solid #335f45;border-radius:50%;box-shadow:0 0 0 7px #466d3c24;transition:left .7s,top .7s;pointer-events:none}
.r21-care[data-focus="1"]:after{left:53%;top:36%}.r21-care[data-focus="2"]:after{left:79%;top:21%}
.r21-scenario{margin:32px 0 0;padding:28px;background:#f8f9f2;border:1px solid #9eafa1;color:#263e32}
.r21-scenario h4{font-size:24px;font-weight:500;line-height:1.25;margin:0 0 12px;letter-spacing:-.03em}.r21-scenario p{margin-bottom:16px}
.r21-switches{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.r21-switches button,.r21-steps button{min-height:46px;padding:10px 15px;border:1px solid #7c9583;background:transparent;color:#2c4636;border-radius:4px;font-size:14px;line-height:1.4}
.r21-switches button[aria-pressed=true],.r21-steps button[aria-pressed=true]{background:#2d4c39;color:#fff;border-color:#2d4c39}
.r21-geofence-map{position:relative;aspect-ratio:1.5;background:#e6ece2;border:1px solid #b7c5b7;overflow:hidden}
.r21-geofence-map svg{display:block;width:100%;height:100%}.r21-geofence-map .geo-room{fill:#fafbf5;stroke:#9cac9e;stroke-width:2}.r21-geofence-map .geo-wall{fill:#bccbbf}.r21-geofence-map .geo-boundary{fill:#d9e6cd66;stroke:#5c7e48;stroke-width:3;stroke-dasharray:9 7}
.r21-geofence-map[data-alert=true] .geo-boundary{fill:#d5ac6935;stroke:#a65e22}
.r21-zone-labels{position:absolute;inset:0;pointer-events:none}.r21-zone-labels span{position:absolute;font-size:12px;line-height:1.35;max-width:35%;padding:5px;background:#fafbf5e6}.r21-zone-labels span:nth-child(1){left:6%;top:6%}.r21-zone-labels span:nth-child(2){left:58%;top:7%}.r21-zone-labels span:nth-child(3){left:62%;top:74%}
.r21-track-marker{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.r21-track-marker circle{fill:#294c3c;stroke:#fff;stroke-width:4}.r21-track-marker text{fill:#fff;font:600 16px 'Manrope',sans-serif;text-anchor:middle}
.r21-staff-marker{transition:transform .9s cubic-bezier(.2,.7,.2,1)}.r21-staff-marker circle{fill:#edf4e9;stroke:#486748;stroke-width:3}
.r21-map-controls{display:grid;grid-template-columns:1fr;gap:10px;margin-top:18px}.r21-map-controls label{font-size:14px;display:grid;gap:8px}.r21-map-controls select{width:100%;min-height:46px;border:1px solid #829b88;background:white;padding:8px;color:#263e32;font:inherit}.r21-map-controls input[type=range]{width:100%;min-height:44px;accent-color:#355b40}
.r21-event{border-left:3px solid #64805b;padding:16px 18px;background:#e7ecdf;min-height:124px;margin:16px 0}.r21-event strong{display:block;margin-bottom:6px}.r21-event p{margin:0}.r21-event[data-alert=true]{border-color:#a45a21;background:#f0e6d4}
.r21-ack{border:1px solid #34563b;background:#34563b;color:white;padding:12px 18px;min-height:48px;font:inherit}.r21-ack:disabled{opacity:.55;cursor:default}.r21-demo-note{font-size:16px!important;line-height:1.6;color:#4c6252;margin-top:18px!important}
#home-care-route{background:#e7ece2}.r21-home-heading{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:end;margin-bottom:28px}.r21-home-heading h2{margin:0}.r21-home-heading p{margin:0;max-width:560px}
.r21-home-workspace{display:grid;grid-template-columns:1.15fr 1fr;border:1px solid #a7b6a5;background:#f9faf5;min-width:0}.r21-home-picture{position:relative;background:#dce5d5;display:flex;align-items:center;justify-content:center;padding:28px;min-height:380px;overflow:hidden}
.r21-route-graphic{width:100%;max-width:620px;aspect-ratio:1.35;position:relative}.r21-route-graphic>svg{width:100%;height:100%}.r21-route-path{stroke:#739879;stroke-width:3;fill:none;stroke-dasharray:5 6}.r21-route-path.active{stroke:#31583e;stroke-dasharray:12 12;animation:r21-flow 2s linear infinite}
@keyframes r21-flow{to{stroke-dashoffset:-48}}
.r21-home-device{position:absolute;left:5%;top:27%;width:27%;height:36%;object-fit:contain!important;background:#fff;border-radius:4px;padding:10px;border:1px solid #afbfac;box-shadow:0 8px 24px #1c39251a}
.r21-home-scene-label{position:absolute;text-align:center;font-size:13px;font-weight:600;line-height:1.5}.r21-home-scene-label.person{left:2%;top:70%;width:35%}.r21-home-scene-label.doctor{right:0;top:70%;width:40%}
.r21-receipt{position:absolute;left:36%;top:7%;width:33%;min-height:38px;padding:7px 10px;background:#f8faf5;border:1px solid #8fa286;border-radius:3px;font-size:12px;text-align:center}
.r21-return-label{position:absolute;left:32%;bottom:2%;width:40%;text-align:center;font-size:12px;color:#3d6045}
.r21-home-details{padding:34px;min-width:0}.r21-home-details h3{font-size:26px;line-height:1.25;margin:14px 0}.r21-home-details p{min-height:115px}.r21-home-details .r21-model{font-family:'IBM Plex Mono','IBM Plex Sans Thai',monospace;font-size:13px}.r21-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:20px}.r21-steps button{text-align:left;display:flex;gap:8px;align-items:start}.r21-steps button b{font-family:monospace;font-size:12px;padding-top:3px}.r21-home-details .r21-demo-note{min-height:0;border-top:1px solid #b6c4b4;padding-top:16px}
.r21-home-details a{display:inline-block;min-height:44px;padding:10px 0;text-decoration:underline;text-underline-offset:5px}.r21-route-graphic[data-step="0"] .r21-route-path{opacity:.25}.r21-route-graphic[data-step="3"] .r21-call{fill:#355b40;stroke:#355b40}.r21-route-graphic[data-step="3"] .r21-call-icon{stroke:white}
.r21-load-state{padding:20px;font-size:14px;line-height:1.6}.r21-load-state button{margin-left:10px}
.media-paused .r21-route-path,.media-paused .r21-scene-signal,.r21-away .r21-route-path,.r21-away .r21-scene-signal{animation-play-state:paused!important}.media-paused .r21-care:after,.media-paused :is(.r21-track-marker,.r21-staff-marker,.r21-portal-scene img){transition:none}
@media(max-width:1000px){#portals .portal{height:460px}.r21-scenario{padding:20px}.r21-home-workspace{grid-template-columns:1fr}.r21-home-picture{min-height:330px}.r21-home-heading{grid-template-columns:1fr;gap:24px}.r21-home-details p{min-height:0}}
@media(max-width:760px){#portals .portal{height:420px}.r21-portal-scene{inset:45px 0 125px}#portals .card-copy h3{font-size:30px}.portal.healthcare .r21-portal-scene{inset:45px 0 140px}.health-hero .health-image{height:auto;min-height:0;margin-top:35px;margin-right:-6vw}.living-care.r21-care{padding:0 18px 24px;min-height:0}.r21-care .r21-care-places{margin-top:-10px}.r21-care .living-node{font-size:12px;flex-direction:column;gap:5px}.r21-care .living-top{font-size:10px}.r21-care .living-note{min-height:125px}.r21-care .living-note p{font-size:16px}.r21-geofence-map{aspect-ratio:1.25}.r21-zone-labels span{font-size:11px}.r21-scenario{padding:16px}.r21-switches button{flex:1 1 auto}.r21-home-details{padding:24px 20px}.r21-steps{grid-template-columns:1fr 1fr}.r21-home-picture{padding:16px;min-height:300px}.r21-home-scene-label{font-size:12px}.r21-receipt{font-size:11px}.r21-home-details h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){.r21-route-path,.r21-scene-signal{animation:none!important}.r21-track-marker,.r21-staff-marker,.r21-care:after,.r21-portal-scene img{transition:none!important}}

.r21-zone-labels>span>span{position:static;padding:0;max-width:none;background:none;font:inherit}

.r21-home-device{left:0;top:4%;width:20%;height:24%;padding:6px}.r21-home-person{transition:opacity .4s}.r21-route-graphic[data-step="2"] .r21-home-person{opacity:.5}.r21-route-graphic[data-step="3"] .r21-home-person{opacity:1}

.r21-map-controls select{font-size:16px}.media-paused .r21-home-person{transition:none}@media(prefers-reduced-motion:reduce){.r21-home-person{transition:none}}

#geo-replay{border:0;border-bottom:1px solid #607b64;background:transparent;color:#2c4636;padding:10px 4px;margin:8px 0 0 12px;font:14px/1.5 Manrope,'IBM Plex Sans Thai',sans-serif;min-height:44px}.r21-zone-labels>span{font-size:12px}@media(max-width:420px){#geo-replay{margin-left:0;display:block}}

.r21-software-scene{perspective:800px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 50%,#3b162433,transparent 65%)}
.r21-terminal-window{width:78%;max-width:330px;background:#11161b;border:1px solid #64747c;border-radius:6px;transform:rotateY(-12deg) rotateX(8deg);box-shadow:14px 18px 0 #060a0d,15px 19px 0 #39444b,0 28px 50px #0007;z-index:1;transition:transform .8s}
.r21-terminal-chrome{display:flex;align-items:center;gap:5px;border-bottom:1px solid #364047;padding:10px;font:9px 'IBM Plex Mono',monospace;color:#a6b0b6}.r21-terminal-chrome i{width:4px;height:4px;border-radius:50%;background:#777}.r21-terminal-chrome span{margin-left:auto}
.r21-terminal-body{padding:20px;display:grid;grid-template-columns:76px 1fr;gap:18px;align-items:center}.r21-terminal-body .r21-terminal-mark{width:76px;height:76px;object-fit:contain;opacity:1;filter:drop-shadow(0 0 16px #e51d3440)}
.r21-terminal-lines{display:grid;gap:10px}.r21-terminal-lines i{height:3px;background:#8d9ea4;width:90%;opacity:.65}.r21-terminal-lines i:nth-child(2){width:60%;background:#df3246}.r21-terminal-lines i:nth-child(3){width:75%}.r21-terminal-lines i:nth-child(4){width:45%}
.r21-terminal-output{grid-column:1/-1;border-top:1px solid #364047;padding-top:14px;display:grid;grid-template-columns:18px 1fr;gap:8px 10px;font:9px monospace;color:#9eacb2}.r21-terminal-output i{background:#53616a;height:3px;align-self:center;width:85%}.r21-terminal-output i:last-child{width:60%}
.r21-terminal-network{position:absolute;inset:0;width:100%;height:100%;stroke:#ab4c59;stroke-width:1;fill:none;opacity:.6}.r21-terminal-network circle{fill:#d6213e;stroke:none}
.portal:is(:hover,:focus-visible) .r21-terminal-window{transform:rotateY(0) rotateX(0) translateY(-5px)}.portal:is(:hover,:focus-visible) .r21-terminal-mark{transform:none!important}
@media(prefers-reduced-motion:reduce){.r21-terminal-window{transition:none}}.media-paused .r21-terminal-window{transition:none}
.r21-software-scene{bottom:185px}.r21-terminal-window{width:70%}.r21-terminal-body{padding:16px;gap:12px}.r21-terminal-output{gap:5px 10px;padding-top:10px}

/* Review: give every portal title a quiet, opaque reading surface. */
#portals .card-copy{background:var(--portal-bottom);padding-top:10px}
#portals .card-copy:before{content:'';position:absolute;left:-26px;right:-26px;top:-42px;height:43px;background:linear-gradient(transparent,var(--portal-bottom));z-index:-1;pointer-events:none}
#portals .software :is(.card-copy,.card-copy h3,.card-copy p,.card-copy>span){font-family:'IBM Plex Mono','IBM Plex Sans Thai',monospace}
.r21-zone-labels>span:nth-child(3){left:72%;top:78%;max-width:23%;padding:2px}
.r21-rule-summary{display:grid;gap:8px;font-size:14px}.r21-rule-summary strong{font-size:16px;font-weight:500;border-left:2px solid #6d876b;padding:7px 12px;background:#edf1e7}
html[lang=th] .r21-care .living-node{font-size:14px}html[lang=th] .r21-zone-labels>span{font-size:13px}html[lang=th] :is(.r21-receipt,.r21-home-scene-label,.r21-return-label){font-size:13px}
#portals .card-copy{background:transparent}#portals .card-copy:after{content:'';position:absolute;left:-26px;right:-26px;top:0;bottom:-32px;background:var(--portal-bottom);z-index:-1;pointer-events:none}

/* Keep the welcome readable during its entrance instead of waiting for blur/opacity. */
@keyframes r21-readable-arrival{from{transform:translateY(12px)}to{transform:translateY(0)}}
body:not(.capture) #hello h1{animation:r21-readable-arrival .75s cubic-bezier(.2,.7,.2,1) backwards}
.trio-intro h2{animation:r21-readable-arrival .6s cubic-bezier(.2,.7,.2,1) backwards}
body.media-paused #hello h1,.media-paused .trio-intro h2{animation:none}
@media(prefers-reduced-motion:reduce){body:not(.capture) #hello h1,.trio-intro h2{animation:none}}

/* Final independent-review follow-ups: retain readable Thai words and separate art from navigation. */
html[lang=th] [data-th]{letter-spacing:normal}
.r21-th-word{white-space:nowrap}
.r21-zone-labels>span:nth-child(3){top:72%;line-height:1.1;padding:0 2px}
.r21-terminal-chrome{font-size:11px}
.r21-device-frame{position:absolute;left:0;top:4%;width:20%;height:24%;overflow:hidden;background:#fff;border:1px solid #afbfac;border-radius:4px;box-shadow:0 8px 24px #1c39251a}
.r21-device-frame .r21-home-device{position:static;display:block;width:100%;height:100%;padding:6px;border:0;box-shadow:none;object-fit:contain!important}
.r21-device-frame[data-product=q21r]{height:auto;aspect-ratio:1.25}
.r21-device-frame[data-product=q21r] .r21-home-device{position:absolute;width:700%;max-width:none;height:auto;padding:0;left:-72%;top:-272%;object-fit:contain!important}
@media(max-width:760px){.r21-software-scene{top:88px;bottom:170px}.r21-terminal-window{width:78%}.r21-terminal-body{padding:10px;grid-template-columns:56px 1fr;gap:10px}.r21-terminal-body .r21-terminal-mark{width:56px;height:56px}.r21-terminal-output{display:none}.r21-terminal-chrome{padding:8px}}

html[lang=th] #portals :is(.card-top>span,.card-copy>span){letter-spacing:normal}
@media(max-width:760px){.r21-software-scene{top:78px;align-items:flex-start}}

/* 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}

/* Segmentation wrappers must not inherit broad card span layout rules. */
.r22-th-word,.r21-th-word{all:unset!important;white-space:nowrap!important}
/* Thai needs room above vowel marks and real word boundaries, not tracking. */
html[lang=th] :is(h1,h2,h3,h4,h5,h6,p,button,a,label,summary,small,select,.eyebrow,.label){letter-spacing:normal!important;word-break:normal;line-break:auto}
html[lang=th] :is(h1,h2,h3,h4,h5,h6){line-height:1.4!important}
html[lang=th] :is(p,li,label,.r23-scene-note,.story-disclosure){line-height:1.8}
html[lang=th] :is(button,summary,.r22-menu nav a){line-height:1.6}
html[lang=th] :is(.r23-narrative p,.r23-action p,.story-head p){text-wrap:pretty;overflow-wrap:normal}
html[lang=th] :is(.story-label,.r23-scene-caption,.r23-chapters button,.r23-action,.r24-console-bar,.r24-course-kicker,.r24-terminal-label){font-family:'IBM Plex Sans Thai',Manrope,sans-serif;letter-spacing:normal}
html[lang=th] .r23-scene-caption strong{line-height:1.65}
html[lang=th] .r23-chapters button{font-size:14px;min-height:88px}
html[lang=th] .r23-scene-caption{bottom:22px}
.r24-learning{position:relative;z-index:6;padding:90px 6vw 65px;background:#141719;color:#e7e9e8;border-top:1px solid #374044;scroll-margin-top:140px}
.r24-learning-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;max-width:1280px;margin:0 auto 38px}
.r24-terminal-label{font:12px/1.8 'IBM Plex Mono',monospace;letter-spacing:.09em;color:#c99e93}
.r24-learning h2{font:500 clamp(32px,4.1vw,62px)/1.15 'IBM Plex Mono','IBM Plex Sans Thai',monospace;letter-spacing:-.045em;margin:22px 0}
.r24-learning p{font:400 17px/1.8 Manrope,'IBM Plex Sans Thai',sans-serif;max-width:60ch;color:#b6c0c1;margin:14px 0}
.r24-learning-heading>img{flex-shrink:0;width:72px;height:72px}
.r24-learning-console{max-width:1280px;margin:auto;border:1px solid #576166;border-radius:8px;overflow:hidden;background:#101315;box-shadow:0 24px 70px #0003}
.r24-console-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 22px;border-bottom:1px solid #394146;background:#1c2225;font:12px/1.6 'IBM Plex Mono','IBM Plex Sans Thai',monospace;color:#b1babc}
.r24-console-bar>span:first-child{font-size:10px;color:#c35248;letter-spacing:.18em}.r24-console-bar>span:last-child{margin-left:auto;font-size:11px}
.r24-learning-grid{display:grid;grid-template-columns:0.9fr 1.25fr;min-height:490px}.r24-course-menu{padding:28px;border-right:1px solid #394146;background-image:radial-gradient(#49525750 .7px,transparent .7px);background-size:12px 12px}
.r24-course-menu button{position:relative;width:100%;padding:26px 38px 26px 22px;text-align:left;cursor:pointer;background:#191f22;color:#e6e9e8;border:1px solid #465056;border-left:3px solid transparent;margin-bottom:16px;font-family:Manrope,'IBM Plex Sans Thai',sans-serif;transition:background .2s,border-color .2s}
.r24-course-menu button[aria-pressed=true]{border-left-color:#e05c4e;background:#252d30}.r24-course-menu button:hover{background:#2b3235}.r24-course-menu button>span{font:11px/1.7 'IBM Plex Mono',monospace;color:#c8a69c}.r24-course-menu strong{display:block;font-size:23px;line-height:1.4;margin:14px 0 10px;font-weight:500}.r24-course-menu small{display:block;font-size:14px;line-height:1.8;color:#c0c7c9}.r24-course-menu i{position:absolute;right:18px;top:24px;font-style:normal;font-size:24px;color:#e05c4e}
.r24-course-detail{padding:36px 44px;min-width:0}.r24-course-kicker{font:11px/1.8 'IBM Plex Mono',monospace;color:#aeb8bb}.r24-course-detail h3{font-size:clamp(28px,3vw,40px);line-height:1.3;font-weight:500;margin:14px 0}.r24-learning-topics{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 22px;margin:24px 0}.r24-learning-topics li{padding:12px 0;border-top:1px solid #394146;font-size:14px;line-height:1.7;display:flex;gap:14px}.r24-learning-topics b{font:12px/2 'IBM Plex Mono',monospace;font-weight:400;color:#d38376}.r24-course-cta{display:inline-flex;gap:24px;justify-content:space-between;align-items:center;padding:15px 20px;background:#cd4438;color:white;font-size:16px;min-height:50px;text-decoration:none;border-radius:3px}.r24-course-cta:hover{background:#a82e25}.r24-course-status{display:block;color:#adb6b9;font-size:13px!important;line-height:1.8;margin-top:15px}.r24-learning-foot{max-width:1280px;margin:22px auto 0;display:flex;justify-content:space-between;gap:20px;color:#afb9ba;font-size:12px;line-height:1.8}.r24-product-reference{display:flex;align-items:center;gap:24px;padding:18px 0;border-top:1px solid #394146;border-bottom:1px solid #394146;margin-top:22px}.r24-product-reference img{width:130px;height:110px;object-fit:contain;background:#eef1ec;border-radius:4px}.r24-product-reference p{font-size:14px}
.r24-services{position:relative;z-index:6;display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:0;background:#080e16;color:#dae0e6;border-top:1px solid #364249;padding:26px 6vw;align-items:stretch}.r24-service-intro{font:12px/1.8 'IBM Plex Mono','IBM Plex Sans Thai',monospace;align-self:center;color:#c2cbd3}.r24-service-intro small{display:block;font:12px/1.8 Manrope,'IBM Plex Sans Thai',sans-serif;color:#99a9b6;margin-top:4px}.r24-services a{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:22px;border-left:1px solid #364249;min-height:76px;text-decoration:none;color:inherit}.r24-services a:hover{background:#1d2938}.r24-services strong{font:500 15px/1.7 Manrope,'IBM Plex Sans Thai',sans-serif}.r24-number{font:11px 'IBM Plex Mono',monospace;color:#c98276}.r24-learning :focus-visible,.r24-services :focus-visible{outline:3px solid #f2bba3;outline-offset:5px}
body.simple #simple-story .r24-learning h2{font-size:clamp(30px,4vw,52px)}body.simple #simple-story .r24-learning{margin-top:65px;padding:42px 4vw}body.simple #simple-story .r24-services{padding:20px 0}
@media(max-width:950px){.r24-services{grid-template-columns:repeat(3,1fr)}.r24-service-intro{grid-column:1/-1;padding:5px 20px 20px}.r24-services a:first-of-type{border-left:0}.r24-learning-grid{grid-template-columns:1fr}.r24-course-menu{border-right:0;border-bottom:1px solid #394146;display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px}.r24-course-menu button{margin:0;padding:20px 30px 20px 16px}.r24-course-menu strong{font-size:20px}.r24-course-detail{padding:30px}.r24-learning-heading>img{width:52px;height:52px}}
@media(max-width:600px){.r24-learning{padding:58px 5vw 38px}.r24-learning-heading{align-items:flex-start;gap:16px}.r24-learning h2{font-size:30px}.r24-learning-heading>img{width:38px;height:38px;margin-top:6px}.r24-learning p{font-size:16px}.r24-course-menu{grid-template-columns:1fr;gap:10px;padding:14px}.r24-course-menu button{padding:16px 34px 16px 16px}.r24-course-menu strong{font-size:20px;margin:8px 0}.r24-course-menu small{font-size:13px}.r24-course-detail{padding:24px 20px}.r24-learning-topics{grid-template-columns:1fr}.r24-console-bar{padding:12px;font-size:11px;gap:10px}.r24-console-bar>span:last-child{display:none}.r24-learning-foot{flex-direction:column;gap:6px}.r24-services{grid-template-columns:1fr;padding:20px 5vw}.r24-services a{border-left:0;border-top:1px solid #364249;padding:18px 8px}.r24-service-intro{padding:8px 8px 20px}.r24-product-reference{align-items:flex-start;gap:14px}.r24-product-reference img{width:80px;height:90px}.r24-course-cta{width:100%;font-size:15px}.r24-course-detail h3{font-size:27px}}
@media(prefers-reduced-motion:reduce){.r24-learning *{transition:none!important}}

.r24-learning{background:#090c10;border-top:1px solid #2b3039;padding:75px max(6vw,24px);position:relative;color:#f2f3f5}.learning-terminal-top{font:11px PlexMono,'IBM Plex Mono',monospace;color:#a6adb8;display:flex;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid #30343c;gap:20px}.learning-terminal-top b{color:#f1676b;font-weight:400}.learning-terminal-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;align-items:center;padding:40px 0}.learning-terminal-copy h2{font-size:clamp(36px,4vw,66px);line-height:1.12;letter-spacing:-.04em;max-width:650px;margin:16px 0 22px}.learning-terminal-copy p{max-width:520px;font-size:16px;line-height:1.8;color:#b5bdc9}.learning-terminal-label{font:11px PlexMono,'IBM Plex Mono',monospace;color:#f1676b}.learning-terminal-copy .learning-link{margin-top:30px;display:inline-flex;gap:34px;align-items:center;border:1px solid #6b7685;color:#fff;background:#151b23;border-radius:4px;text-decoration:none;padding:15px 20px;font-size:14px;min-height:50px}.learning-link:hover{border-color:#f1676b;background:#24232b}.learning-link:focus-visible{outline:3px solid #fff;outline-offset:5px}.learning-ascii-stage{margin:0;min-width:0;border:1px solid #2c333e;background:radial-gradient(ellipse at center,#1c2730,#0c1016 70%);padding:24px 18px 18px;border-radius:8px;overflow:hidden}.learning-ascii-stage pre{font:clamp(4px,.56vw,8px)/1.06 PlexMono,'IBM Plex Mono',monospace;letter-spacing:0;color:#d6e1e6;text-align:center;white-space:pre;overflow:hidden;margin:20px 0;text-shadow:0 0 9px #8babbc33;user-select:none}.learning-ascii-stage figcaption{font:10px PlexMono,'IBM Plex Mono',monospace;color:#a2afbe;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #2c333e;padding-top:14px}.learning-ascii-top{font:10px PlexMono,'IBM Plex Mono',monospace;color:#f1676b}.learning-terminal-foot{font:11px PlexMono,PlexThai,monospace;display:flex;gap:25px;flex-wrap:wrap;border-top:1px solid #30343c;padding-top:22px;color:#b0bac6}.learning-terminal-foot>span:before{content:'+';color:#f1676b;margin-right:10px}html[lang=th] .learning-terminal-copy h2{line-height:1.4;letter-spacing:0}.learning-pending{max-width:850px;margin:60px auto;padding:45px;background:#0c1016;color:#f2f3f5;border-radius:12px}.learning-pending p{color:#c0cad6;margin-top:20px}.learning-pending h1{font-size:clamp(34px,5vw,60px);margin:20px 0}.learning-pending .button{margin-top:28px;background:#273a4e}
@media(max-width:760px){.learning-terminal-grid{grid-template-columns:1fr;padding:30px 0;gap:30px}.r24-learning{padding:45px 24px}.learning-terminal-top{font-size:10px;flex-wrap:wrap}.learning-terminal-copy h2{font-size:38px}.learning-ascii-stage pre{font-size:clamp(4px,1.12vw,7px)}.learning-terminal-copy p{font-size:15px}.learning-pending{margin:25px 5vw;padding:28px 22px}.learning-terminal-foot{gap:15px}}

.atlas-grid{grid-template-columns:1fr 1.14fr;gap:5vw;align-items:center;padding:48px 0 16px}.atlas-grid .learning-terminal-copy h2{font-family:PlexMono,monospace;font-weight:400;font-size:clamp(38px,4.1vw,63px);line-height:1.12;letter-spacing:-.055em}.atlas-grid .learning-terminal-copy>p{font-size:16px;line-height:1.85;max-width:470px}.atlas-topics{margin:28px 0 8px;display:flex;flex-wrap:wrap;gap:8px;max-width:500px}.atlas-topics button{font:12px/1.5 PlexMono,PlexThai,monospace;text-align:left;display:flex;gap:10px;align-items:center;border:1px solid #343c46;border-radius:2px;background:transparent;color:#b9c3cd;padding:10px 12px;min-height:44px;cursor:pointer}.atlas-topics button>span:first-child{color:#77818d;font-size:9px}.atlas-topics button[aria-pressed=true]{color:#f4eee1;border-color:#b35e66;background:#3b242a66}.atlas-topics button[aria-pressed=true]>span:first-child{color:#f08a92}.atlas-topics button:hover{background:#ffffff0b;color:#fff}.atlas-topics button:focus-visible,.atlas-play:focus-visible{outline:2px solid #fff;outline-offset:4px}.atlas-grid .learning-terminal-copy .atlas-footnote{font:10px/1.8 PlexMono,PlexThai,monospace;color:#8f9aa7;margin-top:20px}.atlas-stage{margin:0;position:relative;min-width:0;isolation:isolate;border:1px solid #32383f;border-radius:4px;background:radial-gradient(ellipse at 50% 42%,#202a31 0%,#11191e 43%,#0c1116 72%);overflow:hidden}.atlas-stage-head{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-bottom:1px solid #2b333c;color:#b9b5a9;font:10px PlexMono,monospace;letter-spacing:.08em}.atlas-play{font:10px PlexMono,PlexThai,monospace;color:#c4cbd1;background:transparent;border:0;padding:10px 8px;min-height:38px;cursor:pointer}.atlas-art{position:relative;aspect-ratio:600/660;margin:0 12px;overflow:hidden}.atlas-geometry{position:absolute;inset:0;width:100%;height:100%;stroke:#c3c5bd;stroke-width:.7;opacity:.35}.atlas-orbit{transform-origin:300px 330px;transform:rotate(var(--atlas-orbit,0deg));opacity:.7}.atlas-brackets{stroke:#df7a7d;stroke-width:1.4}.atlas-figure-wrap{position:absolute;inset:5% 4% 6%;transform:translateY(var(--atlas-drift,0px))}.atlas-figure{width:100%;height:100%;object-fit:contain;filter:saturate(.45);display:block;position:relative;z-index:1}.atlas-scan{position:absolute;left:5%;right:5%;top:var(--atlas-scan,0%);height:1px;background:linear-gradient(90deg,transparent,#eef0d86b,transparent);z-index:2;box-shadow:0 -5px 18px 2px #eef0d80a}.atlas-target{position:absolute;z-index:3;width:44px;height:44px;transform:translate(-50%,-50%);border:1px solid #ea7e82;border-radius:50%;box-shadow:0 0 0 7px #ed73750c;background:radial-gradient(circle,#e98c8c20,transparent 65%)}.atlas-target:before,.atlas-target:after{content:'';position:absolute;left:50%;top:50%;background:#f1c9c3;transform:translate(-50%,-50%)}.atlas-target:before{height:1px;width:9px}.atlas-target:after{height:9px;width:1px}.atlas-target i{position:absolute;inset:-7px;border:1px dashed #df727760;border-radius:50%}.atlas-stage[data-region=whole] .atlas-target{opacity:0}.atlas-coordinate{position:absolute;font:8px PlexMono,monospace;color:#8a9396;letter-spacing:.1em}.atlas-coordinate-a{top:7%;left:3%}.atlas-coordinate-b{bottom:5%;right:3%}.atlas-caption{border-top:1px solid #303a42;margin:0 18px;display:grid;grid-template-columns:52px 1fr;gap:10px;padding:18px 0 22px;min-height:131px}.atlas-caption-index{font:9px/1.8 PlexMono,monospace;color:#e68187;padding-top:3px}.atlas-caption h3{font:18px/1.4 PlexMono,PlexThai,monospace;color:#eee9dd;margin:0 0 8px;letter-spacing:-.02em}.atlas-caption p{font:12px/1.75 PlexSans,PlexThai,sans-serif;color:#a9b5c0;margin:0;max-width:380px}.atlas-progress{height:2px;background:#293039}.atlas-progress i{display:block;height:100%;background:#cf7276;transform-origin:left}.atlas-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.atlas-still .atlas-scan{opacity:0}.atlas-still .atlas-figure-wrap{transform:none}.atlas-still .atlas-progress i{opacity:.35}html[lang=th] .atlas-grid .learning-terminal-copy h2{font-family:PlexThai,sans-serif;line-height:1.4;letter-spacing:0}html[lang=th] .atlas-topics button{font-size:13px}html[lang=th] .atlas-caption h3{font-size:17px;line-height:1.6}html[lang=th] .atlas-caption p{font-size:13px;line-height:1.8}
@media(min-width:1200px){.atlas-art{max-height:450px}.atlas-stage{max-width:620px;justify-self:end;width:100%}}
@media(max-width:760px){.atlas-grid{grid-template-columns:1fr;gap:34px;padding-top:30px}.atlas-grid .learning-terminal-copy h2{font-size:42px;max-width:500px}.atlas-grid .learning-terminal-copy>p{font-size:15px}.atlas-topics{gap:7px;margin-top:22px}.atlas-topics button{font-size:11px;padding:10px}.atlas-stage-head{padding:9px 12px}.atlas-caption{margin:0 12px;grid-template-columns:40px 1fr;min-height:145px;padding:16px 0}.atlas-caption h3{font-size:16px}.atlas-caption p{font-size:12px}.atlas-art{margin:0 5px}.atlas-target{width:31px;height:31px}.atlas-coordinate{font-size:6px}}
@media(prefers-reduced-motion:reduce){.atlas-figure-wrap{transform:none!important}.atlas-orbit{transform:none!important}.atlas-scan{display:none}}

.atlas-topics .atlas-topic-name{font:inherit;color:inherit}.atlas-topic-name .r22-th-word{display:inline}.atlas-topics button{max-width:100%}.atlas-target{transition:left .8s cubic-bezier(.22,1,.36,1),top .8s cubic-bezier(.22,1,.36,1),opacity .6s}.media-paused .atlas-target{transition:none}

.atlas-art{width:calc(100% - 24px);margin:0 auto}@media(max-width:760px){.atlas-art{width:calc(100% - 10px);margin:0 auto}}@media(prefers-reduced-motion:reduce){.atlas-target{transition:none}}

/* R3: the figure is drawn entirely from ASCII glyphs, no visible raster layer. */
.atlas-ascii{filter:none;image-rendering:auto}.atlas-stage{background:radial-gradient(ellipse at 50% 42%,#172129,#0b1015 70%)}.atlas-geometry{opacity:.23}.atlas-scan{opacity:.38}.atlas-still .atlas-scan{opacity:0}

/* Integrated R5 gateway; the learning application remains a separate destination. */
.organic-gateway{grid-template-columns:1fr 1.16fr;gap:5vw}.organic-gateway .atlas-stage{background:#141718;max-width:650px}.organic-gateway .atlas-art{display:block;position:relative;width:100%;margin:0;aspect-ratio:1/1;max-height:none;background:#141718;cursor:pointer;overflow:hidden;color:#bfcac3}.atlas-field{display:block;width:100%;height:100%}.organic-gateway .atlas-stage-head{padding:11px 16px;gap:10px;min-height:65px;letter-spacing:.04em}.atlas-plate{font-size:9px}.atlas-controls{display:flex;align-items:center;gap:5px;flex-shrink:0}.atlas-cycle{font:9px/1.4 PlexMono,PlexThai,monospace;min-height:44px;padding:8px;background:none;border:0;color:#8eaaa0;cursor:pointer}.organic-gateway .atlas-play{min-height:44px;padding:8px;min-width:64px}.atlas-cycle:focus-visible,.atlas-visual-link:focus-visible{outline:2px solid #efb4a6;outline-offset:-5px}.atlas-open-label{position:absolute;left:18px;right:18px;bottom:16px;display:flex;justify-content:space-between;color:#97aaa0;font:9px/1.5 PlexMono,PlexThai,monospace;letter-spacing:.08em;pointer-events:none}.atlas-hover-hint{position:absolute;top:18px;right:18px;font:11px PlexMono,monospace;color:#658277;opacity:.65;pointer-events:none}.atlas-loading{position:absolute;inset:0;display:grid;place-items:center;background:#141718;color:#a6b3ac;font:10px PlexMono,PlexThai,monospace;letter-spacing:.08em}.atlas-loading[hidden]{display:none}.organic-gateway .atlas-stage{transition:border-color .22s,box-shadow .22s}.organic-gateway .atlas-caption{min-height:158px;margin:0 18px}.organic-gateway .atlas-caption h3{font-size:17px}.organic-gateway .atlas-topics{gap:7px}.organic-gateway .atlas-topics button{padding:10px;gap:8px;font-size:11px}.organic-gateway .atlas-stage.atlas-engaged,.organic-gateway .atlas-stage:focus-within{border-color:#9cbbb0;box-shadow:0 0 0 1px #9cbbb025}.atlas-engaged .atlas-open-label,.atlas-visual-link:focus-visible .atlas-open-label{color:#e4ece7}.organic-gateway .atlas-still .atlas-progress i{opacity:.35}.organic-gateway .atlas-footnote{letter-spacing:0}.organic-gateway .atlas-visual-link:active{filter:brightness(1.05)}
@media(hover:hover){.organic-gateway .atlas-visual-link:hover .atlas-open-label{color:#e4ece7}.organic-gateway .atlas-cycle:hover,.organic-gateway .atlas-play:hover{color:#fff}}
html[lang=th] .organic-gateway .atlas-topics button{font-size:12px;letter-spacing:0}html[lang=th] .atlas-open-label{letter-spacing:0;font-size:11px}html[lang=th] .organic-gateway .atlas-caption{min-height:174px}html[lang=th] .organic-gateway .atlas-caption h3{line-height:1.7}html[lang=th] .organic-gateway .atlas-caption p{line-height:1.85}
@media(min-width:1200px){.organic-gateway .atlas-art{max-height:490px;aspect-ratio:1.05}.organic-gateway .atlas-grid{align-items:center}}
@media(max-width:760px){.organic-gateway{grid-template-columns:1fr;gap:30px}.organic-gateway .atlas-stage{max-width:100%;justify-self:stretch}.organic-gateway .atlas-art{aspect-ratio:1/1.08;max-height:540px}.organic-gateway .atlas-stage-head{padding:6px 10px;min-height:58px}.atlas-plate{font-size:8px}.atlas-cycle{font-size:8px;padding:6px}.organic-gateway .atlas-caption{margin:0 12px;min-height:168px}.organic-gateway .atlas-topics button{font-size:11px}.atlas-open-label{left:14px;right:14px;bottom:12px;font-size:8px}.organic-gateway .atlas-caption h3{font-size:15px}.atlas-controls{gap:0}.organic-gateway .atlas-play{min-width:57px}.atlas-hover-hint{display:none}}
@media(prefers-reduced-motion:reduce){.organic-gateway .atlas-stage{transition:none}}

/* Release polish: preserve approved layouts, improve small-text contrast. */
.healthcare .care-chapters small{opacity:1;color:#4d5b51}
.healthcare .hospital-layers a b,.healthcare .asset-icon{color:#3e5145;opacity:1}
.healthcare #care-step-count{color:#48594e;opacity:1}
.healthcare .gallery-meta{color:#435448;opacity:1}
.trio .partner-logo:not(.reverse-logo):not(.aim-logo)>span{color:#4e5862}
#story-title{font-size:clamp(25px,3vw,36px);line-height:1.2;margin:12px 0 16px;letter-spacing:-.025em}
html[lang=th] #story-title{line-height:1.5;letter-spacing:0}

.healthcare .hospital-layers a[aria-current=true] b{color:#fff;opacity:1}

.coverage-scene { display: contents; }
#simple-cooperation .coverage-still {
  display: block;
  width: min(100%, 340px);
  height: auto;
  max-height: 58svh;
  object-fit: contain;
  margin: 22px 0;
  background: #081422;
  border-radius: 5px;
}
@media (max-width: 760px), (max-height: 500px) and (pointer: coarse) {
  .coverage-scene {
    position: absolute;
    inset: max(126px, 17svh) 5vw max(28px, 6svh);
    display: grid;
    grid-template-columns: 55fr 45fr;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 14px 12px;
    pointer-events: none;
  }
  #arrival {
    position: static;
    inset: auto;
    width: auto;
    grid-area: 1 / 1 / -1 / -1;
    display: grid;
    grid-template: subgrid / subgrid;
    align-items: start;
  }
  #arrival .arrival-intro { grid-area: 1 / 1 / 2 / -1; }
  #arrival h2 { font-size: clamp(24px, 6.8vw, 36px); margin: 6px 0; }
  #arrival .arrival-intro > p { margin: 0; font-size: 14px; line-height: 1.35; }
  #arrival .arrival-intro br { display: none; }
  #arrival #cooperation { grid-area: 2 / 2; width: auto; margin: 0; }
  #cooperation h3 { font-size: 14px; line-height: 1.3; margin: 0 0 9px; color: #ffe1a4; }
  #cooperation .connection-intro { display: none; }
  #location-list {
    grid-template-columns: 1fr;
    gap: clamp(2px, .5svh, 6px);
    margin: 0;
    padding: 0;
    background: transparent;
  }
  #location-list li { font-size: 14px !important; line-height: 1.26; }
  #thailand-flat {
    position: static;
    grid-area: 2 / 1;
    align-self: start;
    width: 100%;
    height: 100%;
    max-height: 55svh;
    min-height: 0;
  }
  #thailand-flat svg { display: block; overflow: visible; }
  #thailand-flat .coverage-accents { opacity: 1; }
  #thailand-flat use[href="#connected-areas"] { opacity: .1; }
}
@media (max-height: 500px) and (pointer: coarse) and (orientation: landscape) {
  .coverage-scene {
    inset: max(108px, 22svh) 5vw 22px;
    grid-template-columns: 30fr 26fr 44fr;
    grid-template-rows: minmax(0, 1fr);
  }
  #arrival .arrival-intro { grid-area: 1 / 1; }
  #arrival #cooperation { grid-area: 1 / 3; }
  #thailand-flat { grid-area: 1 / 2; max-height: none; }
  #location-list { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) and (max-height: 680px) and (orientation: portrait) {
  #arrival .arrival-intro > .eyebrow { display: none; }
  #cooperation #location-list { gap: 2px; }
  #cooperation #location-list li { padding: 0; margin: 0; line-height: 1.25 !important; }
}
@media (max-width: 760px) and (max-height: 590px) and (orientation: portrait) {
  #arrival .arrival-intro > p { display: none; }
}

/* The extra travel is reserved for the partner stops and Thailand. */
body:not(.simple) #scroll-space {height:1900vh}
.cooperation-key {display:flex;align-items:center;gap:.65em;color:#d2c3a7;font:12px/1.4 ui-monospace,monospace;margin-top:12px}
.cooperation-key i {width:8px;height:8px;background:#ffcc70;box-shadow:0 0 9px #ffbf585e;border-radius:50%}
#partners #region-list span {color:#9c9fac}
#partners #region-list span.lit {color:#ddbc82}
#partners #region-list span.current {color:#ffe09a;border-color:#ffce70}
#geo-labels .geo-label {font:500 13px/1.2 ui-monospace,monospace;letter-spacing:.03em;color:#ffe4a4;border:0;background:#090b13db;padding:4px 6px;white-space:nowrap}
#thailand-flat #coverage-land {fill:url(#coverage-mobile-dots);stroke:#51556d;stroke-width:1.1}
#thailand-flat #coverage-mobile-dots circle {fill:#afb0c2}
#thailand-flat use[href="#connected-areas"] {display:none}
#thailand-flat .coverage-light {fill:url(#active-dots);stroke:#d4a762;stroke-width:1.65}
#thailand-flat .coverage-light.current {stroke:#ffe2a6;stroke-width:2.5}
#thailand-flat .coverage-sparks {fill:url(#rising-dots);stroke:none;pointer-events:none}
#cooperation #location-list li {color:#a4a7b3;transition:color .18s}
#cooperation #location-list .lit {color:#e4c68e}
#cooperation #location-list .current {color:#ffde9e;text-decoration:underline;text-underline-offset:.23em}
@media(max-width:760px){.cooperation-key{font-size:11px;margin-top:6px}.orbit-progress{margin-top:6px}}
@media(prefers-reduced-motion:reduce){#cooperation #location-list li{transition:none}#thailand-flat .coverage-sparks{display:none}}
body.media-paused #thailand-flat .coverage-sparks{display:none}
#thailand-flat #coverage-land{stroke:#59596b;stroke-width:.65}
#thailand-flat .coverage-plume{fill:#fff1c3;pointer-events:none}
#thailand-flat .coverage-accents{opacity:1}
@media(prefers-reduced-motion:reduce){#thailand-flat .coverage-plume{display:none}}
body.media-paused #thailand-flat .coverage-plume{display:none}
#partners #region-list span{visibility:hidden}
#partners #region-list span.lit{visibility:visible}
#geo-labels .geo-label{font:500 12px/1.2 ui-monospace,monospace;background:#0c0e16b8;padding:2px 4px;letter-spacing:0}
#thailand-flat .relief-model{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#thailand-flat.relief-ready svg{opacity:0}
@media(max-width:760px) and (orientation:portrait){
 .coverage-scene{inset:max(92px,13svh) 5vw max(30px,5svh);grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;gap:6px}
 #arrival .arrival-intro{grid-area:1 / 1}
 #arrival #cooperation{grid-area:3 / 1;width:100%;margin:0}
 #thailand-flat{grid-area:2 / 1;align-self:stretch;max-height:none}
 #cooperation h3{margin:0 0 5px}
 #cooperation #location-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 7px}
 #cooperation #location-list li{font-size:clamp(10px,2.95vw,13px)!important;line-height:1.26}
}
#partners #region-list{min-height:76px;align-content:start}
#partners #region-list span{display:none}
#partners #region-list span.lit{display:inline-block}
@media(max-width:760px) and (orientation:portrait){
 .coverage-scene{top:max(128px,15svh)}
 #partners #region-list{min-height:72px}
}
@media(max-height:680px) and (orientation:portrait){
 .coverage-scene{top:115px}
 #partners #region-list{min-height:48px}
}

html { background-color:#050910 }
body:not(.capture) #hello h1 { animation:none; margin-inline:0; max-width:100%; }
#hello h1 { min-height:1.32em; line-height:1.32; }
#hello .entry-terminal { display:none }
#hello .entry-typing .entry-label {
  position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap;
}
#hello .entry-typing .entry-terminal {
  display:inline-grid; grid-template-areas:"word"; vertical-align:baseline;
  text-align:start; font-family:ui-monospace,"IBM Plex Sans Thai",monospace;
  font-size:clamp(2.6rem,min(12vw,16vh),9rem); letter-spacing:-.055em;
  line-height:1.32; color:#e9f0fa; white-space:nowrap; padding-inline-end:.12em;
}
#hello .entry-terminal > span { grid-area:word; color:inherit }
#hello .entry-measure { visibility:hidden }
#hello .entry-typed::after {
  content:""; display:inline-block; width:.026em; min-width:2px; height:.82em;
  margin-inline-start:.075em; vertical-align:-.03em; background:#dbc39e;
  animation:entry-cursor 1.08s steps(1,end) infinite;
}
@keyframes entry-cursor { 0%,60%,100%{opacity:1} 61%,99%{opacity:.12} }
@media (prefers-reduced-motion:no-preference) {
  html[data-entry-phase="sky"] .entry-terminal {visibility:hidden}
  html[data-entry-phase="cursor"] #hello .entry-typed::after {
    animation:none; opacity:1;
  }
  html[data-entry-phase="cursor"][data-cursor-lit="false"] #hello .entry-typed::after { opacity:0 }
  html[data-entry-phase]:not([data-entry-phase="details"]) :is(body > header,.media-pause,.r19-tools,#hello > :not(h1)) {
    opacity:0 !important; pointer-events:none;
  }
  html[data-entry-phase="details"] :is(body > header,.media-pause,.r19-tools,#hello > :not(h1)) {
    animation:entry-details-in .85s ease-out backwards;
  }
  @keyframes entry-details-in {from{opacity:0} to{opacity:1}}
}

html,body,#space{background-color:#030408}
#space{background:radial-gradient(ellipse at 78% 69%,#0e0f1b 0%,#090b13 29%,#05060c 56%,#020307 83%)}
#world{width:100%;height:100%;pointer-events:none}
body.simple #world{display:none}
body:not(.simple) #hello,body:not(.simple) #welcome{
  justify-content:center;align-items:flex-start;text-align:left;
  padding:0 6.5vw;box-sizing:border-box;
}
#hello .hello-context,#welcome p{margin-inline:0}
#hello .entry-typing .entry-terminal{font-size:clamp(46px,9vw,104px)}
body:not(.simple) #welcome h2{font-size:clamp(34px,5.8vw,88px);margin:8px 0}
@media(max-width:760px){
  body:not(.simple) #hello,body:not(.simple) #welcome{justify-content:flex-start;padding-top:clamp(135px,22vh,220px)}
  #hello .hello-context{font-size:13px;max-width:29ch}
  body:not(.simple) #welcome h2{font-size:clamp(30px,8vw,42px);line-height:1.04}
  body:not(.simple) #welcome h2 br{display:none}
  body:not(.simple) #welcome h2 em::before{content:' '}
  #partners .orbit-progress{margin-top:6px}
}
