@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}}
