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