@font-face{font-family:Play;src:url('../fonts/Play-Regular.ttf')}@font-face{font-family:Play;src:url('../fonts/Play-Bold.ttf');font-weight:700}
:root{--navy:#0c2235;--ink:#152a3c;--muted:#66737b;--gold:#d0a664;--paper:#f4f3ef;--line:#dcdedb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}h1,h2,h3,.brand,.phone{font-family:Play,Arial,sans-serif}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img{max-width:100%;display:block}em{font-style:normal;color:var(--gold)}.eyebrow{font:11px/1.5 Arial,sans-serif;letter-spacing:2px;font-weight:bold}header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--navy);color:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff20}.brand{display:flex;align-items:center;gap:12px;font-weight:bold;font-size:16px;letter-spacing:1px}.brand img{width:48px;height:48px}.brand small{display:block;font:9px Arial,sans-serif;letter-spacing:2.2px;color:#b4c0c8;margin-top:4px}nav{display:flex;align-items:center;gap:28px;font-size:13px}nav a:hover{color:var(--gold)}.nav-cta{border:1px solid #d0a66488;padding:12px 18px}.menu{display:none}.hero{background:var(--navy);color:white;min-height:720px;position:relative;overflow:hidden;display:flex;align-items:center}.hero-image{position:absolute;inset:0 0 0 40%;background:linear-gradient(90deg,#0c2235,transparent 50%),linear-gradient(0deg,#0c223570,#0c223530),url('../img/bangkok-city.jpg') center/cover}.hero-content{position:relative;padding:70px 7%;width:100%}.hero .eyebrow{color:#c3cbd1;display:flex;gap:10px;align-items:center}.eyebrow>span{display:inline-block;background:var(--gold);width:6px;height:6px}.hero h1{font-size:clamp(46px,5.6vw,84px);line-height:1.06;letter-spacing:-3px;margin:30px 0}.intro{max-width:470px;color:#c3cdd5;font-size:17px;line-height:1.8}.actions{display:flex;align-items:center;gap:28px;margin-top:34px}.button{display:inline-flex;gap:40px;justify-content:space-between;align-items:center;background:var(--gold);color:var(--navy);font-weight:bold;padding:17px 22px;font-size:14px}.button:hover{background:#e5bc7b}.text-link{font-size:13px;border-bottom:1px solid #b0b8bd;padding-bottom:5px}.hero-bottom{display:flex;justify-content:space-between;max-width:550px;border-top:1px solid #ffffff25;margin-top:65px;padding-top:18px;font-size:9px;letter-spacing:1px;color:#a9bac6}.photo-caption{position:absolute;right:30px;bottom:30px;font-size:9px;letter-spacing:2px;color:#c9d1d8;writing-mode:vertical-rl}.principles{display:grid;grid-template-columns:repeat(3,1fr);padding:36px 7%;background:#e9e8e2;gap:40px}.principles>div{border-left:1px solid #c7c9c5;padding-left:22px}.principles span{font-size:10px;letter-spacing:1.5px;color:#66737b}.principles p{font-family:Play;font-size:20px;line-height:1.4;margin-top:12px}.section{padding:100px 7%}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:42px}.section-head>p{max-width:350px;color:var(--muted);font-size:14px}.section .eyebrow{color:#91703f;margin-bottom:20px}h2{font-size:clamp(30px,3.3vw,48px);line-height:1.15;letter-spacing:-1.5px}h3{font-size:24px;line-height:1.3}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.service{border-bottom:1px solid #b6bdbe;padding-bottom:28px}.service img{height:220px;width:100%;object-fit:cover;filter:saturate(.7)}.service>div{padding:24px 0 0}.number{font-size:11px;color:#8b7250}.service h3{margin:14px 0;font-size:22px}.service p{font-size:14px;color:var(--muted)}.technology{background:var(--navy);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:10%}.technology .eyebrow{color:var(--gold)}.technology>div>p:not(.eyebrow){color:#b8c4cd;max-width:460px;margin-top:26px}.range{border-top:1px solid #ffffff25;margin-top:40px;padding-top:24px}.range strong{display:block;font-family:Play;font-size:38px;letter-spacing:-1px}.range strong span{color:var(--gold);padding:0 10px}.range>span{font-size:11px;color:#a5b7c5}.tech-list article{display:flex;gap:25px;padding:26px 0;border-top:1px solid #ffffff25}.tech-list article>span{font-size:11px;color:var(--gold);padding-top:5px}.tech-list h3{font-size:25px;margin-bottom:12px}.tech-list p{font-size:14px;color:#b8c4cd}.project-feature{display:grid;grid-template-columns:1.15fr 1fr;background:#e9e8e2}.project-feature img{width:100%;height:440px;object-fit:cover}.project-feature>div{padding:55px}.project-feature h3{font-size:34px;margin:24px 0}.project-feature p{font-size:14px;color:var(--muted);margin-bottom:25px}.history{margin-top:36px}.history details{border-bottom:1px solid var(--line)}.history summary{cursor:pointer;padding:19px 0;font-family:Play;font-size:22px;list-style:none;display:flex;justify-content:space-between}.history summary span{font:11px Arial;color:var(--muted);align-self:center}.history details p{font-size:14px;line-height:2;padding:0 20px 20px}.gallery-section{background:#e9e8e2}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery a{position:relative;overflow:hidden}.gallery img{height:270px;width:100%;object-fit:cover;transition:transform .3s}.gallery a:hover img{transform:scale(1.04)}.gallery a span{position:absolute;bottom:0;left:0;padding:12px 16px;background:#0c2235d9;color:white;font-size:11px}.gallery a:nth-child(n+7){display:none}.gallery:has(+button.expanded) a{display:block}.gallery-more{display:block;margin:30px auto 0;background:transparent;border:1px solid var(--ink);padding:12px 24px;cursor:pointer}.partners{padding-top:50px;padding-bottom:50px;border-bottom:1px solid var(--line)}.partners>div{display:flex;flex-wrap:wrap;gap:25px;justify-content:space-between;color:#5a6670;font-weight:bold;font-size:17px;letter-spacing:1px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact>div>p:not(.eyebrow){margin:25px 0;max-width:400px;color:var(--muted)}.contact>div>a{display:block;font-size:14px;margin-top:9px}.contact>div>a.phone{font-size:34px;margin-top:35px;margin-bottom:15px}.form-panel{background:#fff;padding:38px;border:1px solid var(--line)}.form-panel h3{margin-bottom:28px}.form-panel label{display:block;font-size:12px;font-weight:bold;margin-bottom:7px}.form-group{margin-bottom:20px}.form-control{width:100%;background:#f6f6f3;border:1px solid #daddd8;padding:12px;color:var(--ink);border-radius:0;outline:none}.form-control:focus{border-color:#a27c3f;box-shadow:0 0 0 2px #d0a66430}textarea{resize:vertical;min-height:120px}.tm-submit-btn{background:var(--navy);color:#fff;border:0;padding:15px 28px;cursor:pointer;width:100%}.tm-submit-btn:hover{background:#204562}.tm-submit-btn:disabled{opacity:.6;cursor:wait}#contact-status{font-size:13px;margin-bottom:15px}footer{background:var(--navy);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:40px 7%}footer p,footer>span{font-size:11px;color:#a7b8c5}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.skip{position:fixed;top:-100px;z-index:50;background:white;padding:12px}.skip:focus{top:0}
@media(max-width:1100px){nav{gap:16px}.brand{font-size:13px}.services{grid-template-columns:repeat(2,1fr)}.hero h1{font-size:64px}.project-feature>div{padding:32px}}
@media(max-width:760px){header{height:76px;padding:0 6%}.brand{font-size:12px}.brand small{font-size:8px}.brand img{width:40px}.menu{display:block;border:1px solid #ffffff40;background:transparent;color:white;padding:8px 12px;font-size:12px}nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--navy);padding:20px 6%;border-bottom:1px solid #ffffff30}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav a{padding:12px 0}.nav-cta{padding:12px;margin-top:10px}.hero{min-height:760px}.hero-image{inset:0;background:linear-gradient(90deg,#0c2235ec,#0c2235a6),url('../img/bangkok-city.jpg') center/cover}.hero-content{padding:60px 7%}.hero .eyebrow{font-size:9px;letter-spacing:1.2px}.hero h1{font-size:clamp(43px,10vw,60px);letter-spacing:-2px;margin:30px 0}.intro{font-size:15px}.actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-bottom{margin-top:45px;gap:20px;font-size:8px}.photo-caption{display:none}.principles{grid-template-columns:1fr;gap:22px;padding:30px 7%}.principles p{font-size:18px}.section{padding:65px 7%}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:22px}.services{gap:25px 16px}.service img{height:160px}.service h3{font-size:19px}.service p{font-size:12px}.technology,.contact{grid-template-columns:1fr;gap:40px}.project-feature{grid-template-columns:1fr}.project-feature img{height:280px}.project-feature h3{font-size:28px}.gallery{grid-template-columns:repeat(2,1fr);gap:10px}.gallery img{height:190px}.gallery a span{font-size:9px;padding:8px}.partners>div{font-size:13px;gap:20px}.contact>div>a.phone{font-size:30px}.form-panel{padding:25px}footer{flex-direction:column;align-items:flex-start;padding:35px 7%;gap:20px}h2{font-size:34px}html{scroll-padding-top:90px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Separate pages and a dedicated photographic viewing experience. */
.brand img{width:58px;height:48px}nav a[aria-current="page"]{color:var(--gold)}.inner-page{min-height:70vh}.inner-page h1{font-size:clamp(34px,3.8vw,56px);line-height:1.15;letter-spacing:-1.5px}.home-contact{background:var(--navy);color:white}.home-contact .button{margin-top:30px}.all-services{display:inline-block;margin-top:28px;border-bottom:1px solid var(--ink);font-size:14px}.service-detail{background:#e9e8e2}.service-detail>p:not(.eyebrow){max-width:680px;margin:25px 0}.gallery-hint{font-size:13px;color:var(--muted);margin-bottom:24px}.inner-page .gallery{grid-template-columns:repeat(3,1fr);gap:22px}.inner-page .gallery a:nth-child(n){display:block;background:#dcdedb;aspect-ratio:4/3}.inner-page .gallery img{height:100%;width:100%;object-fit:cover}.inner-page .gallery a span{opacity:0;transition:opacity .2s}.inner-page .gallery a:hover span,.inner-page .gallery a:focus-visible span{opacity:1}.lightbox-open{overflow:hidden}#lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:20px 3%;border:0;background:#091725f7;color:#fff;overflow:hidden}#lightbox::backdrop{background:#091725}.lightbox-top{display:flex;justify-content:space-between;align-items:center;height:45px;font-size:12px;letter-spacing:2px}.lightbox-close,.lightbox-prev,.lightbox-next{background:transparent;border:1px solid #ffffff40;color:white;padding:10px 16px;cursor:pointer}.lightbox-stage{display:grid;grid-template-columns:50px minmax(0,1fr) 50px;gap:20px;align-items:center;height:calc(100% - 155px)}.lightbox-stage figure{height:100%;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}.lightbox-stage img{max-height:calc(100% - 40px);width:auto;max-width:100%;object-fit:contain}.lightbox-stage figcaption{font-size:12px;color:#c2cbd2;padding:10px;text-align:center}.lightbox-thumbs{height:90px;display:flex;align-items:center;gap:10px;overflow-x:auto;padding:10px 0}.lightbox-thumbs button{flex:0 0 72px;background:transparent;padding:3px;border:1px solid transparent;cursor:pointer;opacity:.55}.lightbox-thumbs button[aria-pressed="true"]{border-color:var(--gold);opacity:1}.lightbox-thumbs img{width:100%;height:50px;object-fit:cover}.technology{min-height:650px}
@media(max-width:760px){.inner-page .gallery{grid-template-columns:repeat(2,1fr);gap:12px}.inner-page .gallery a span{display:none}.lightbox-stage{grid-template-columns:35px minmax(0,1fr) 35px;gap:5px}.lightbox-prev,.lightbox-next{padding:10px 8px}.lightbox-stage figcaption{font-size:10px}.brand img{width:48px}.inner-page h1{font-size:36px}}
.lightbox-stage{min-height:0;overflow:hidden}.lightbox-stage figure{min-height:0;overflow:hidden}.lightbox-stage img{min-height:0;flex:1 1 0;object-fit:contain;width:100%;max-height:calc(100% - 42px)}.lightbox-stage figcaption{flex:0 0 42px}.lightbox-thumbs{position:relative;background:#091725}

/* Original technology and partner identities, preserved in neutral logo panels. */
.technology-logo{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:4px;width:190px;min-height:70px;padding:14px;margin-bottom:18px}.technology-logo img{max-width:160px;max-height:55px;width:auto;height:auto}.partners>div{align-items:center;gap:24px}.partner-logo{background:#fff;display:flex;align-items:center;justify-content:center;min-width:150px;height:90px;padding:18px;flex:1}.partner-logo img{max-width:150px;max-height:60px;width:auto;height:auto}.brand img{width:50px;height:50px}@media(max-width:760px){.technology-logo{width:160px}.partner-logo{min-width:120px;flex:1 1 40%}.brand img{width:42px;height:42px}}
/* Selected identity direction 02: continuous insulated pipe monogram. */
.brand img{width:66px;height:48px;object-fit:contain}@media(max-width:760px){.brand img{width:53px;height:40px}}

.brand img{width:80px;height:52px;padding:5px;background:#faf8f3;border-radius:4px;object-fit:contain}@media(max-width:760px){.brand img{width:64px;height:44px}}
/* Portfolio: editorial introduction, useful archive, honest project context. */
.project-hero{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:white;min-height:560px}.project-hero>div{padding:80px 10% 70px 14%}.project-hero .eyebrow{color:var(--gold);margin-bottom:28px}.projects-v3 .project-hero h1{font-size:clamp(42px,4.8vw,72px);line-height:1.08;letter-spacing:-2px}.project-hero>div>p:not(.eyebrow){max-width:440px;font-size:15px;color:#b8c6d1;margin:28px 0 32px}.project-hero figure{margin:0;position:relative;min-height:450px}.project-hero figure img{width:100%;height:100%;position:absolute;object-fit:cover;filter:saturate(.7)}.project-hero figcaption{position:absolute;bottom:0;left:0;right:0;padding:22px;background:linear-gradient(transparent,#0c2235db);font-size:9px;letter-spacing:1.5px}.portfolio-facts{display:grid;grid-template-columns:repeat(3,1fr);padding:32px 7%;gap:40px;background:#e9e8e2}.portfolio-facts>div{border-left:1px solid #bfc5c5;padding-left:24px}.portfolio-facts strong{display:block;font:28px Play,sans-serif;margin-bottom:8px}.portfolio-facts span{font-size:11px;color:var(--muted)}.sector-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.sector-cards article{padding:28px 28px 25px;border:1px solid #d0d4d1;border-top:3px solid var(--gold);display:flex;flex-direction:column}.sector-index{font-size:10px;letter-spacing:1.5px;color:#8d6e41}.sector-cards h3{font-size:25px;margin:30px 0 18px}.sector-cards p{font-size:14px;color:var(--muted);margin-bottom:28px}.sector-cards a{font-size:12px;border-top:1px solid var(--line);padding-top:18px;margin-top:auto}.archive-section{background:#fff}.archive-tools{display:grid;grid-template-columns:1fr 200px auto;gap:16px;align-items:end;padding:24px;background:var(--paper);border:1px solid var(--line)}.archive-tools label{display:block;font-size:11px;font-weight:bold;margin-bottom:8px}.archive-tools input,.archive-tools select{width:100%;min-height:48px;padding:12px;border:1px solid #c9ceca;background:white;color:var(--ink);border-radius:0}.archive-tools button,.archive-toolbar button{font-size:12px;cursor:pointer;background:none;border:1px solid #bdc7c9;padding:13px 18px;color:var(--ink)}.archive-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0}.archive-toolbar p{font-size:12px;color:var(--muted)}.archive-toolbar button{border:0;padding-right:0}.project-timeline{margin:0;border-top:1px solid var(--ink)}.project-timeline details{border-bottom:1px solid var(--line)}.project-timeline summary{padding:24px 8px;align-items:center}.year-number{font-size:30px;letter-spacing:-1px}.year-meta{display:flex;align-items:center;gap:30px;color:var(--muted);font-size:12px}.year-toggle{font-size:24px!important;color:#9b753e!important}.project-year[open] .year-toggle{transform:rotate(45deg)}.project-timeline ol{margin:0 0 25px 0;padding:0 8px;list-style:none;counter-reset:activities}.project-timeline li{counter-increment:activities;display:grid;grid-template-columns:32px 1fr;gap:16px;padding:15px 20px;font-size:14px;line-height:1.7;background:#f4f3ef;margin-bottom:5px;border-left:2px solid transparent}.project-timeline li:before{content:counter(activities,decimal-leading-zero);font:11px Play;color:#9b753e;padding-top:4px}.project-timeline li:hover{border-left-color:var(--gold)}.project-timeline li[hidden],.project-timeline details[hidden]{display:none}#project-empty{padding:30px;background:var(--paper);font-size:14px}.project-photo-strip{display:grid;grid-template-columns:1fr 1fr 1fr;background:var(--navy);color:#fff}.project-photo-strip>img{height:360px;width:100%;object-fit:cover}.project-photo-strip>div{padding:50px 35px;align-self:center}.project-photo-strip .eyebrow{color:var(--gold);margin-bottom:20px}.project-photo-strip h2{font-size:36px;margin-bottom:30px}.portfolio-cta{display:flex;justify-content:space-between;align-items:center;gap:30px;background:#e9e8e2}.archive-tools input:focus,.archive-tools select:focus{outline:2px solid var(--gold);outline-offset:2px}
@media(max-width:760px){.project-hero{grid-template-columns:1fr}.project-hero>div{padding:55px 7%}.project-hero figure{min-height:290px}.projects-v3 .project-hero h1{font-size:48px}.portfolio-facts{grid-template-columns:1fr;gap:22px}.portfolio-facts strong{font-size:24px}.sector-cards{grid-template-columns:1fr;gap:18px}.sector-cards h3{margin-top:20px}.archive-tools{grid-template-columns:1fr 1fr;padding:18px;gap:16px}.archive-tools>div:first-child{grid-column:1/-1}.archive-toolbar p{font-size:11px}.archive-toolbar button{font-size:11px}.year-number{font-size:27px}.project-timeline li{padding:14px 12px;gap:6px;font-size:13px}.project-photo-strip{grid-template-columns:1fr 1fr}.project-photo-strip>img{height:220px}.project-photo-strip>div{grid-column:1/-1;padding:35px 7%}.portfolio-cta{flex-direction:column;align-items:flex-start}}

.portfolio-facts .experience-value,.portfolio-facts .experience-unit{font:inherit;color:inherit}.experience-value{display:inline-block;min-width:1.2em;font-variant-numeric:tabular-nums}
