@font-face{font-family:Plex;src:url('fonts/IBMPlexSansThai-400-latin.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Plex;src:url('fonts/IBMPlexSansThai-400-thai.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0E00-0E7F}

:root{--navy:#0b1a33;--navy-light:#13253e;--gold:#c9a45c;--cream:#f6f3ec;--muted:#a8b2c0;--ink:#17273d;--slate:#586579;--rule:#d9d9d4;--paper:#f6f3ec;--marigold:#c9a45c;--display:Georgia,'Times New Roman',serif;--sans:Plex,Arial,'Noto Sans Thai',sans-serif;--wrap:1240px}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{margin:0;background:var(--navy);color:var(--cream);font-family:var(--sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
img,svg{max-width:100%;display:block}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--display);font-weight:400;line-height:1.12;letter-spacing:-.035em}
h1{font-size:clamp(2.6rem,4.65vw,4.4rem);margin-bottom:26px}
h2{font-size:clamp(2rem,3vw,3rem);margin-bottom:22px}
h3{font-weight:400;line-height:1.4}
p{margin-bottom:24px}
.wrap{width:calc(100% - 96px);max-width:var(--wrap);margin-inline:auto}
.skip{position:fixed;left:16px;top:-100px;z-index:20;background:var(--gold);color:var(--navy);padding:12px 18px}
.skip:focus{top:16px}
.site-header{border-bottom:1px solid #ffffff16;background:var(--navy);position:relative;z-index:5}
.header-inner{display:flex;align-items:center;gap:30px;min-height:102px}
.wordmark{display:inline-flex;align-items:center;font-family:Arial,sans-serif;font-size:27px;font-weight:600;letter-spacing:-1.4px;white-space:nowrap}
.brand-dot{color:var(--gold)}
.brand-symbol{border:1px solid #c9a45c80;border-radius:50%;width:33px;height:33px;display:inline-flex;align-items:center;justify-content:center;margin-right:10px;color:var(--gold);font:italic 28px Georgia}
.brand-symbol span{font-size:18px;margin-left:-5px}
.mainnav{display:flex;gap:28px;margin-left:auto;font-size:13px}
.mainnav a,.header-contact{transition:color .2s}
.mainnav a:hover,.header-contact:hover,.mainnav [aria-current]{color:var(--gold)}
.language-switch{display:flex;align-items:center;gap:12px;font:12px var(--sans);white-space:nowrap}
.language-switch a{padding:7px 0;color:var(--muted);border-bottom:1px solid transparent}
.language-switch a:hover,.language-switch [aria-current]{color:var(--gold);border-color:var(--gold)}
.header-contact{font-size:12px;border:1px solid #c9a45c66;padding:11px 16px;white-space:nowrap}
.header-contact span{margin-left:12px;color:var(--gold)}
.hero{padding:76px 0 64px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:44px;align-items:center}
.hero-copy{position:relative;z-index:1}
.eyebrow{font:11px var(--sans);letter-spacing:.2em;color:var(--gold);margin-bottom:25px}
.hero-intro{max-width:540px;font-size:16px;line-height:1.85;color:var(--muted);margin-bottom:32px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:32px;min-height:52px;padding:14px 25px;border:1px solid transparent;line-height:1.5;font-size:13px;font-weight:400;text-align:center;transition:background .2s,transform .2s}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:#dbba7c}
.btn-ghost{border-color:currentColor}
.hero-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0}
.hero-images img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border:1px solid #c9a45c55;border-radius:12px}
.language-note{font-size:11px;letter-spacing:.06em;color:var(--muted);margin:25px 0 0}
.section{padding:88px 0}
.projects{padding-top:48px;padding-bottom:64px;border-top:1px solid #ffffff16}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}
.section-heading h2{font-size:clamp(2rem,2.9vw,2.75rem);margin-bottom:12px}
.section-heading p:last-child{color:var(--muted);font-size:14px;margin:0}
.section-heading .eyebrow{margin-bottom:18px}
.project-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;list-style:none;padding:0;margin:0}
.project-card{min-width:0;border:1px solid #ffffff1f;background:#10213a}
.project-card:hover{border-color:#c9a45c88}
.project-link{display:block;height:100%}
.project-logo{height:175px;background:radial-gradient(ellipse at 50% 30%,#1d3049,#102039 80%);display:grid;place-items:center;padding:30px;border-bottom:1px solid #ffffff0d}
.project-logo img{width:200px;height:100px;max-width:100%;object-fit:contain}
.project-info{padding:22px}
.project-info h3{font:20px var(--display);letter-spacing:-.02em;margin-bottom:12px;overflow-wrap:anywhere}
.project-city{font-size:13px;color:var(--muted);margin:0}
@media(min-width:600px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1200px){.project-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.projects-bottom{display:flex;justify-content:flex-end;margin-top:18px}
.text-link{font-size:13px;border-bottom:1px solid #c9a45c70;padding-bottom:4px}
.text-link span{margin-left:30px;color:var(--gold)}
.trust-strip{background:var(--cream);color:var(--navy);padding:55px 0}
.trust-strip .wrap{display:grid;grid-template-columns:60px 1.2fr 1fr;align-items:center;gap:32px}
.line-symbol{font-size:44px;color:#9c7a3c}
.trust-strip h2{font-size:30px;margin:0}
.trust-strip p{font-size:14px;color:var(--slate);margin:0;max-width:350px}
#guardrails{background:var(--cream);color:var(--ink);border-top:1px solid #14274015}
#guardrails h2{max-width:650px}
#guardrails .section-lede{color:var(--slate);max-width:650px;font-size:14px}
.ledger{display:grid;grid-template-columns:1fr 1fr;margin-top:44px;border-top:1px solid var(--rule);gap:70px}
.ledger-col{padding-top:28px}
.ledger-col h3{font:25px var(--display);margin-bottom:25px}
.ledger-col h3:before{content:'✓';font:16px Arial;color:#8f713b;margin-right:18px}
.ledger-col.never h3:before{content:'—'}
.ledger ul{list-style:none;padding:0;margin:0}
.ledger li{position:relative;padding:0 0 14px 20px;font-size:14px;color:var(--slate)}
.ledger li:before{content:'';position:absolute;left:0;top:10px;width:4px;height:4px;background:#b69962}
.faq{background:#edeae3;color:var(--ink)}
.faq-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:80px}
.faq-list details{border-bottom:1px solid #14274025}
.faq-list summary{font-size:15px;cursor:pointer;padding:22px 38px 22px 0;list-style:none;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';position:absolute;right:4px;top:18px;color:#8f713b;font-size:22px}
.faq-list details[open] summary:after{content:'−'}
.faq-list details p{font-size:14px;color:var(--slate);line-height:1.9}
.faq-list a{text-decoration:underline;text-underline-offset:3px}
.contact-section{text-align:center;padding:88px 0;background:radial-gradient(ellipse at 50% 100%,#1c314b,var(--navy) 75%)}
.contact-section h2{max-width:720px;margin:0 auto 22px}
.contact-section p:not(.eyebrow){max-width:540px;margin:0 auto 30px;color:var(--muted);font-size:14px}
.site-footer{background:#08152a;border-top:1px solid #ffffff17;padding:40px 0 24px}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:35px}
.footer-contacts{display:flex;gap:30px;font-size:12px;color:var(--muted)}
.footer-contacts a:hover{color:var(--gold)}
.footer-bottom{border-top:1px solid #ffffff16;padding-top:22px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted);gap:20px}
.developer-hero{padding:95px 0;background:radial-gradient(ellipse at 100% 100%,#263b51,var(--navy) 70%)}
.developer-hero h1{max-width:950px;font-size:clamp(2.8rem,6vw,5.5rem)}
.developer-hero .hero-intro{max-width:720px}
.developer-benefits{background:var(--cream);color:var(--ink)}
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:65px}
.benefit-index{color:#9c7a3c;font:13px var(--sans);display:block;margin-bottom:24px}
.benefits-grid h2{font-size:27px;line-height:1.25}
.benefits-grid p{font-size:14px;color:var(--slate);margin-bottom:0}
.audit-section{background:#edeae3;color:var(--ink)}
.audit-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:100px}
.audit-grid>div>p:not(.eyebrow){font-size:14px;color:var(--slate)}
.audit-grid .eyebrow{color:#8a672d}
.direct-contact{border-top:1px solid var(--rule);margin-top:35px;padding-top:25px}
.direct-contact h3{font:22px var(--display)}
.direct-contact a{display:block;font-size:14px;margin-bottom:8px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
label{display:block;font-size:12px;margin-bottom:22px}
input,textarea{display:block;width:100%;border:1px solid #14274030;background:#ffffff80;border-radius:0;padding:12px;color:var(--ink);margin-top:7px;min-height:49px;font-size:16px}
textarea{resize:vertical}
.form-note{font-size:12px;color:var(--slate);margin-top:18px}
.legal{background:var(--cream);color:var(--ink);line-height:1.8}
.legal h1,.legal h2{letter-spacing:-.02em}
.legal a{text-decoration:underline;overflow-wrap:anywhere}
.legal article{min-width:0}
.legal table{display:block;overflow-x:auto}
.legal .privacy-langs{font-size:14px}

:lang(th) h1,:lang(th) h2{line-height:1.35;letter-spacing:-.02em}
:lang(zh) h1,:lang(zh) h2{line-height:1.3;letter-spacing:0}

@media(min-width:1440px){.hero{padding-top:80px;padding-bottom:65px}
}

@media(max-width:1150px){.header-inner{gap:22px}
.header-contact{display:none}
.mainnav{gap:22px}
.hero-grid{gap:20px}
.audit-grid{gap:50px}
}

@media(max-width:760px){.wrap{width:calc(100% - 40px)}
.header-inner{min-height:106px;flex-wrap:wrap;gap:0;justify-content:space-between;padding:16px 0 12px}
.wordmark{font-size:25px}
.brand-symbol{width:29px;height:29px;font-size:24px}
.language-switch{gap:14px;font-size:12px}
.mainnav{order:3;width:100%;margin-top:14px;margin-left:0;gap:26px;font-size:12px}
.hero{padding:47px 0 34px}
.hero-grid{grid-template-columns:minmax(0,1fr);gap:28px}
.hero-images{gap:8px}
.hero h1{font-size:2.65rem;line-height:1.12}
.hero-intro{font-size:14px;line-height:1.8}
.hero-copy .eyebrow{font-size:9px;letter-spacing:.18em;margin-bottom:22px}
.language-note{margin-top:20px;font-size:10px}
.section{padding:57px 0}
.projects{padding-top:34px;padding-bottom:38px}
.section-heading{margin-bottom:26px}
.section-heading h2{font-size:2rem}
.section-heading p:last-child{font-size:13px}
.project-logo{height:166px}
.project-info{padding:20px}
.project-info h3{font-size:22px}
.text-link{font-size:12px}
.trust-strip{padding:37px 0}
.trust-strip .wrap{grid-template-columns:32px 1fr;gap:15px}
.line-symbol{font-size:33px}
.trust-strip h2{font-size:26px}
.trust-strip p{grid-column:2;font-size:13px}
.ledger{grid-template-columns:1fr;gap:28px;margin-top:28px}
.ledger-col{padding-top:24px}
.ledger-col.never{border-top:1px solid var(--rule)}
.ledger li{font-size:13px}
.faq-grid{grid-template-columns:1fr;gap:10px}
.faq-list summary{font-size:14px}
.contact-section{padding:65px 0}
.contact-section h2{font-size:33px}
.footer-top{align-items:flex-start;flex-direction:column}
.footer-contacts{flex-direction:column;gap:12px}
.footer-bottom{font-size:9px;gap:12px;flex-wrap:wrap}
.developer-hero{padding:55px 0}
.developer-hero h1{font-size:2.9rem;line-height:1.15}
.benefits-grid,.audit-grid{grid-template-columns:1fr;gap:36px}
.benefits-grid article+article{border-top:1px solid var(--rule);padding-top:30px}
.benefit-index{margin-bottom:14px}
.benefits-grid h2{margin-bottom:14px}
.form-grid{grid-template-columns:1fr;gap:0}
#audit-form{padding-top:10px}
.audit-grid h2{font-size:34px}
.legal .wrap{width:calc(100% - 36px)}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}
}

[hidden]{display:none!important}


.btn-ink{background:var(--gold);color:var(--navy)}
.nf{background:var(--cream);color:var(--ink)}
