:root{color-scheme:dark;--bg:#060911;--ink:#e8e2d6;--line:#323640;--accent:#ff6a44}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Anuphan,sans-serif;line-height:1.85}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}header,main,footer{width:100%;margin:0;padding-inline:var(--pad-x,clamp(20px,5vw,80px))}header{display:flex;justify-content:space-between;align-items:center;padding-block:30px;gap:20px}.logo{font-family:Unbounded,sans-serif;font-size:20px;font-weight:900}.logo span,.number{color:var(--accent)}.breadcrumb{color:#b9bec8;font-size:14px;padding-block:36px 12px}.hero{position:relative;min-height:590px;display:flex;align-items:center;border:0;padding-block:55px 90px;isolation:isolate}.hero-copy{position:relative;z-index:1;max-width:750px}.eyebrow{font-size:14px;letter-spacing:.12em;color:#b9bec8}.hero h1{font-size:clamp(38px,5.5vw,76px);line-height:1.18;letter-spacing:-.035em;margin:24px 0}.hero h2{font-size:clamp(22px,2.5vw,34px);line-height:1.5;font-weight:500}.hero p:not(.eyebrow){max-width:620px}section{padding-block:68px;border-top:1px solid var(--line)}h2{font-size:clamp(25px,3vw,38px);line-height:1.4;margin:0 0 28px}h3{font-size:23px;line-height:1.5;margin:0 0 14px}p{font-size:18px;margin:0 0 22px;color:#cbd0d8}.button{display:inline-block;padding:14px 24px;border:1px solid var(--ink);margin-top:15px;font-weight:600}.button:hover{background:var(--ink);color:var(--bg)}.intro>p{max-width:900px}.row{display:grid;grid-template-columns:50px 1fr 1.4fr;gap:25px;padding-block:28px;border-top:1px solid var(--line)}.number{font-family:Unbounded,sans-serif;font-size:16px}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px}.project{display:grid;grid-template-columns:1fr 1.5fr;gap:30px;padding-block:28px;border-top:1px solid var(--line)}.project h3{font-family:Unbounded,Anuphan,sans-serif;font-size:clamp(20px,2.5vw,29px);overflow-wrap:anywhere}.text-link{display:inline-block;border-bottom:1px solid var(--ink);padding-bottom:5px}details{border-top:1px solid var(--line);padding:22px 0}summary{font-size:20px;cursor:pointer}details p{margin:18px 0 0;max-width:850px}.contact h2{font-size:clamp(34px,5vw,64px)}.phone{display:inline-block;margin:20px 24px;font-size:23px}.contact>p:last-child{margin-top:22px}.related,footer{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-block:32px;border-top:1px solid var(--line)}footer{font-size:13px;color:#b9bec8}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:var(--bg);z-index:9;padding:16px}@media(max-width:700px){header{font-size:14px}.logo{font-size:16px}.hero{min-height:auto;padding-block:30px 60px}.row,.project,.split{grid-template-columns:1fr;gap:12px}.row{position:relative;padding-left:40px}.number{position:absolute;top:28px;left:0}section{padding-block:45px}.phone{margin-left:0;display:block}p{font-size:17px}.split{gap:24px}.related{flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 85% 30%,rgba(86,99,147,.13),transparent 65%)}

/* Shared live scene, softened behind long-form service copy. */
body{isolation:isolate;background:#060911}
#webgl{position:fixed;inset:0;width:100%;height:100%;z-index:-2;pointer-events:none}
.service-shade{position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(6,9,17,.78),rgba(6,9,17,.32) 75%)}
.service-progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--accent);z-index:10;transform:scaleX(0);transform-origin:left;pointer-events:none}
.hero::after{display:none}
.button,.text-link,.related a{transition:color .2s,background-color .2s,border-color .2s}
.button:active{transform:translateY(1px)}
@media(max-width:700px){.service-shade{background:rgba(6,9,17,.62)}}
@media(prefers-reduced-motion:reduce){.button,.text-link,.related a{transition:none}}
