@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600&family=Noto+Sans+Thai:wght@300;400;500;600&display=swap";:root{--forest:#0c2f25;--forest-deep:#071f18;--green:#23b875;--lime:#a6d63f;--paper:#f4f3ed;--white:#fff;--ink:#17231e;--muted:#68736d;--line:#17231e29}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Noto Sans Thai,sans-serif}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit}img{max-width:100%;display:block}:focus-visible{outline:3px solid var(--lime);outline-offset:4px}.site-header{z-index:10;width:100%;color:var(--white);border-bottom:1px solid #ffffff40;grid-template-columns:1fr auto 1fr;align-items:center;padding:22px 4.5vw;display:grid;position:absolute;top:0;left:0}.wordmark{background:0 0;align-items:center;width:max-content;display:flex}.wordmark img{filter:drop-shadow(0 2px 5px #00000042);width:160px;height:auto}nav{gap:34px;font-size:13px;display:flex}nav a,.header-cta{transition:opacity .2s}nav a:hover,.header-cta:hover{opacity:.62}.header-cta{border-bottom:1px solid;justify-self:end;padding-bottom:4px;font-size:13px}.hero{min-height:100svh;color:var(--white);position:relative;overflow:hidden}.hero-image{background:url(/images/hero-1929deco.jpg) 50% 55%/cover;position:absolute;inset:0;transform:scale(1.015)}.hero-overlay{background:linear-gradient(90deg,#04130ee0,#04130e57 62%,#04130e1f),linear-gradient(#0000 52%,#04130e7a);position:absolute;inset:0}.hero-copy{z-index:2;max-width:1000px;padding:28vh 4.5vw 11vh;position:relative}.eyebrow,.section-kicker{letter-spacing:.22em;margin:0;font:600 10px/1.5 Manrope,sans-serif}.hero h1{letter-spacing:-.055em;margin:25px 0;font:300 clamp(60px,8vw,124px)/.98 Noto Sans Thai,sans-serif}.hero-lede{color:#ffffffd1;margin:0;font:300 clamp(16px,1.35vw,20px)/1.9 Noto Sans Thai,sans-serif}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:38px;display:flex}.button{border:1px solid #0000;justify-content:center;align-items:center;gap:40px;min-height:50px;padding:13px 22px;font-size:13px;font-weight:500;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.button-primary{background:var(--lime);color:var(--forest-deep)}.button-primary:hover{background:#b6e652}.button-ghost{color:var(--white);border-color:#ffffff85}.button-ghost:hover{background:#ffffff1f}.hero-side{z-index:2;letter-spacing:.17em;gap:25px;margin:0;font:500 8px Manrope,sans-serif;display:flex;position:absolute;bottom:38px;right:4.5vw}.hero-side span{color:var(--lime)}.trust-strip{background:var(--forest);color:var(--white);grid-template-columns:repeat(4,1fr);padding:0 4.5vw;display:grid}.trust-strip div{border-right:1px solid #ffffff1f;gap:5px;padding:32px 2.4vw;display:grid}.trust-strip div:first-child{padding-left:0}.trust-strip div:last-child{border:0}.trust-strip strong{color:var(--lime);font-size:22px;font-weight:500}.trust-strip span{color:#ffffffab;font-size:11px}.section-kicker{color:#168757}.about{grid-template-columns:1.02fr .98fr;align-items:center;gap:9vw;padding:140px 4.5vw;display:grid}.about-image-wrap{position:relative}.about-image-wrap>img{aspect-ratio:.96;object-fit:cover;object-position:center;width:100%}.experience-card{background:var(--lime);color:var(--forest-deep);align-items:center;gap:18px;padding:24px 30px;display:flex;position:absolute;bottom:-35px;right:-40px}.experience-card strong{font:500 35px Manrope,sans-serif}.experience-card span{letter-spacing:.13em;font:600 8px/1.5 Manrope,sans-serif}.about-copy{max-width:660px}.about-copy h2,.section-heading h2,.services h2,.process h2,.contact h2{letter-spacing:-.045em;margin:22px 0 32px;font:300 clamp(42px,4.8vw,72px)/1.2 Noto Sans Thai,sans-serif}.about-copy>p:not(.section-kicker){color:var(--muted);margin:0 0 18px;font-size:15px;line-height:1.95}.text-link{border-bottom:1px solid var(--ink);justify-content:space-between;width:250px;margin-top:30px;padding:12px 0;font-size:13px;display:flex}.work{background:#e6e7df;padding:130px 4.5vw 145px}.section-heading{grid-template-columns:1.2fr .65fr;align-items:end;gap:10vw;display:grid}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);margin:0 0 8px;font-size:14px;line-height:1.9}.filters{flex-wrap:wrap;gap:8px;margin:65px 0 34px;display:flex}.filters button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:9px 16px;font-size:12px;transition:background .2s,color .2s,border-color .2s}.filters button:hover,.filters button.active{background:var(--forest);border-color:var(--forest);color:var(--white)}.portfolio-grid{grid-template-columns:repeat(3,1fr);gap:42px 22px;display:grid}.portfolio-card{min-width:0}.portfolio-card a{display:block}.portfolio-image{background:#cdd3cb;overflow:hidden}.portfolio-image img{aspect-ratio:1.05;object-fit:cover;width:100%;transition:transform .5s}.portfolio-card:hover .portfolio-image img{transform:scale(1.025)}.portfolio-card:nth-child(5n+1) .portfolio-image img{aspect-ratio:.82}.portfolio-meta{padding:16px 34px 0 0;position:relative}.portfolio-meta:after{content:"↗";color:#168757;font-size:15px;transition:transform .2s;position:absolute;top:18px;right:2px}.portfolio-card:hover .portfolio-meta:after{transform:translate(2px,-2px)}.portfolio-meta span{color:#168757;letter-spacing:.12em;text-transform:uppercase;font:600 9px Manrope,sans-serif}.portfolio-meta h3{margin:7px 0 0;font-size:18px;font-weight:400}.services{grid-template-columns:.8fr 1.2fr;gap:10vw;padding:145px 4.5vw;display:grid}.services-intro{align-self:start;position:sticky;top:40px}.services-intro p:last-child{max-width:430px;color:var(--muted);margin:0;font-size:14px;line-height:1.85}.service-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;grid-template-columns:48px 1fr 24px;align-items:center;gap:12px;padding:28px 0;list-style:none;display:grid}summary::-webkit-details-marker{display:none}summary span{color:#168757;font:600 10px Manrope,sans-serif}summary h3{margin:0;font-size:clamp(19px,2vw,28px);font-weight:400}summary i{font:300 25px sans-serif;transition:transform .2s}details[open] summary i{transform:rotate(45deg)}details>p{max-width:610px;color:var(--muted);margin:-5px 38px 28px 60px;font-size:14px;line-height:1.85}.process{background:var(--forest);color:var(--white);padding:135px 4.5vw 145px}.process .section-kicker{color:var(--lime)}.process-heading{grid-template-columns:.32fr .8fr .55fr;align-items:start;gap:5vw;display:grid}.process-heading h2{margin:0}.process-heading>p:last-child{color:#ffffff9e;margin:7px 0 0;font-size:14px;line-height:1.85}.process-list{border-top:1px solid #ffffff2e;margin-top:85px}.process-list article{border-bottom:1px solid #ffffff2e;grid-template-columns:.2fr .62fr 1fr;gap:5vw;padding:26px 0;display:grid}.process-list span{color:var(--lime);font:600 10px Manrope,sans-serif}.process-list h3{margin:0;font-size:21px;font-weight:400}.process-list p{color:#ffffff9e;max-width:630px;margin:0;font-size:13px;line-height:1.8}.contact{color:var(--white);background:#10281f;grid-template-columns:1.1fr .9fr;gap:10vw;padding:145px 4.5vw;display:grid}.contact .section-kicker{color:var(--lime)}.contact h2{font-size:clamp(50px,6vw,92px);line-height:1.08}.contact-copy>p:not(.section-kicker){color:#ffffffa8;max-width:610px;font-size:14px;line-height:1.9}.contact-actions{flex-wrap:wrap;gap:10px;margin-top:35px;display:flex}.button-light{background:var(--lime);color:var(--forest-deep)}.button-light:hover{background:#b6e652}.button-outline-light{border-color:#ffffff59}.button-outline-light:hover{background:#ffffff1a}.contact-details{border-top:1px solid #ffffff2e;grid-template-columns:1fr 1fr;align-self:end;display:grid}.contact-details div{border-bottom:1px solid #ffffff2e;flex-direction:column;align-items:flex-start;padding:22px 18px 22px 0;display:flex}.contact-details div:nth-child(odd){border-right:1px solid #ffffff2e}.contact-details div:nth-child(2n){padding-left:22px}.contact-details small{color:var(--lime);letter-spacing:.12em;margin-bottom:12px;font-size:9px}.contact-details a,.contact-details p{color:#ffffffd1;margin:2px 0;font-size:12px;line-height:1.7}.contact-details a:hover{color:var(--lime)}footer{background:var(--white);border-top:1px solid var(--line);grid-template-columns:.8fr 1fr .7fr auto;align-items:end;gap:5vw;padding:55px 4.5vw 32px;display:grid}.footer-logo{object-fit:cover;object-position:left top;width:130px;height:112px}footer>p{color:var(--muted);margin:0;font-size:10px;line-height:1.8}.footer-links{gap:22px;font-size:11px;display:flex}.copyright{text-align:right;font-family:Manrope,sans-serif}@media (max-width:980px){.site-header{grid-template-columns:1fr auto;padding:18px 20px}nav{display:none}.header-cta{font-size:11px}.hero-copy{padding:27vh 20px 95px}.hero h1{font-size:clamp(56px,14vw,95px)}.hero-side{bottom:22px;right:20px}.trust-strip{grid-template-columns:1fr 1fr;padding:0 20px}.trust-strip div:nth-child(2){border-right:0}.trust-strip div:first-child{padding-left:2.4vw}.about{gap:7vw;padding:100px 20px}.experience-card{right:-10px}.work{padding:100px 20px 110px}.portfolio-grid{grid-template-columns:1fr 1fr}.services{gap:6vw;padding:105px 20px}.process,.contact{padding:105px 20px}.process-heading{grid-template-columns:.35fr 1fr}.process-heading>p:last-child{grid-column:2}.contact{gap:5vw}footer{grid-template-columns:1fr 1fr;padding:48px 20px 30px}.copyright{text-align:left}}@media (max-width:680px){.wordmark img{width:128px}.header-cta{border:1px solid #fff9;padding:8px 12px}.hero-copy{padding-top:24vh}.hero h1{font-size:clamp(50px,15.5vw,74px)}.hero-lede br{display:none}.hero-actions{display:grid}.button{justify-content:space-between;width:100%}.hero-side{display:none}.trust-strip{grid-template-columns:1fr 1fr}.trust-strip div{padding:24px 10px}.trust-strip strong{font-size:17px}.about{grid-template-columns:1fr;gap:75px}.experience-card{bottom:-28px;right:0}.section-heading{grid-template-columns:1fr;gap:25px}.filters{flex-wrap:nowrap;margin-top:45px;padding-bottom:8px;overflow-x:auto}.filters button{white-space:nowrap}.portfolio-grid{grid-template-columns:1fr}.portfolio-card:nth-child(5n+1) .portfolio-image img,.portfolio-image img{aspect-ratio:1.05}.services{grid-template-columns:1fr;gap:55px}.services-intro{position:static}summary{grid-template-columns:34px 1fr 20px}details>p{margin-left:46px}.process-heading{grid-template-columns:1fr;gap:25px}.process-heading>p:last-child{grid-column:auto}.process-list{margin-top:55px}.process-list article{grid-template-columns:35px 1fr;gap:10px}.process-list p{grid-column:2}.contact{grid-template-columns:1fr;gap:70px}.contact-details{grid-template-columns:1fr}.contact-details div:nth-child(odd){border-right:0}.contact-details div:nth-child(2n){padding-left:0}footer{grid-template-columns:1fr;align-items:start;gap:28px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.project-page{background:var(--paper);min-height:100vh}.project-header{border-bottom:1px solid var(--line);justify-content:space-between;padding:24px 4.5vw;font-size:12px;display:flex}.project-header span{letter-spacing:.1em;font:600 12px Manrope,sans-serif}.project-hero{grid-template-columns:.3fr 1fr .7fr;align-items:start;gap:5vw;padding:100px 4.5vw 85px;display:grid}.project-hero>p{color:#168757;margin:10px 0;font-size:12px}.project-hero h1{letter-spacing:-.05em;margin:0;font-size:clamp(48px,7vw,104px);font-weight:300;line-height:1.08}.project-description{max-width:680px;color:var(--muted);margin:24px 0 0;font-size:14px;line-height:1.8}.project-hero dl{margin:8px 0 0}.project-hero dl div{border-top:1px solid var(--line);grid-template-columns:90px 1fr;padding:13px 0;display:grid}.project-hero dt{color:var(--muted);font-size:11px}.project-hero dd{margin:0;font-size:12px}.project-gallery{grid-template-columns:1fr 1fr;gap:18px;padding:0 4.5vw 100px;display:grid}.project-gallery img{aspect-ratio:1.38;object-fit:cover;width:100%}.project-gallery img:first-child{aspect-ratio:1.9;grid-column:1/-1}.project-not-found{text-align:center;place-content:center;gap:16px;min-height:100vh;display:grid}.project-not-found p{margin:0;font-size:28px}.project-not-found a{color:#168757;text-underline-offset:4px;text-decoration:underline}@media (max-width:680px){.project-header{padding:18px 20px}.project-hero{grid-template-columns:1fr;padding:70px 20px 55px}.project-hero dl{margin-top:20px}.project-gallery{grid-template-columns:1fr;padding:0 20px 70px}.project-gallery img,.project-gallery img:first-child{aspect-ratio:1.18;grid-column:auto}}
