:root{--bg:#fafafa;--surface:#ededee;--paper:#fff;--ink:#24272b;--muted:#555b63;--action:#34383d;--action-ink:#fff;--line:#8a9096;--contact:#24272b;--contact-ink:#fafafa;--gutter:32px;--body:18px;--head:clamp(32px,3.6vw,52px);--ease:cubic-bezier(.16,1,.3,1);color-scheme:light}
:root[data-theme=dark]{--bg:#1e2226;--surface:#282e34;--paper:#323940;--ink:#eef0f1;--muted:#c1c7ce;--action:#c6cdd3;--action-ink:#20262c;--line:#8c959e;--contact:#14181c;--contact-ink:#eef0f1;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'IBM Plex Sans Thai',sans-serif;font-size:var(--body);line-height:1.7;font-synthesis:none}a{color:inherit;text-underline-offset:5px}button,input,textarea{font:inherit}button,a,label{touch-action:manipulation}button{cursor:pointer}button[hidden]{display:none}button,a{transition:transform .2s var(--ease)}a:hover{text-decoration-thickness:2px}button:active,.button:active{transform:translateY(2px)}:focus-visible{outline:3px solid var(--ink);outline-offset:5px}::selection{background:var(--action);color:var(--action-ink)}.frame{padding-left:var(--gutter);padding-right:var(--gutter)}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:500}h2{font-size:var(--head);line-height:1.4;letter-spacing:-.025em;text-wrap:balance}h3{font-size:24px;line-height:1.5}h4{font-size:18px;line-height:1.6;font-weight:600}p{text-wrap:pretty;max-width:62ch}.skip{position:absolute;top:-100px;left:20px;padding:12px;background:var(--paper);z-index:10}.skip:focus{top:12px}header{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:100px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:28px;font-weight:600;letter-spacing:-1px;min-height:44px}.brand svg{width:44px;height:44px}header nav{display:flex;gap:32px}nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.theme-toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;color:var(--ink);background:var(--surface);border:0;border-radius:4px;font-size:16px}.theme-toggle svg{width:20px;height:20px}.theme-moon{display:none}[data-theme=dark] .theme-sun{display:none}[data-theme=dark] .theme-moon{display:block}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:16px 24px;min-height:56px;color:var(--action-ink);background:var(--action);border:0;border-radius:4px;text-decoration:none;white-space:nowrap}.button:hover{opacity:.9}.button:focus-visible{outline-color:var(--ink)}.hero{padding-top:22px;padding-bottom:32px;display:flex;flex-direction:column;justify-content:space-between;min-height:calc(100svh - 100px)}.hero-intro{display:flex;justify-content:space-between;gap:40px;align-items:flex-start}.hero-intro p{max-width:580px;font-size:20px;line-height:1.65}.hero h1{font-size:clamp(140px,26vw,410px);font-weight:500;line-height:1.24;letter-spacing:-.045em;text-align:center;white-space:nowrap}.hero h1 span{font-weight:400}.hero-bottom{display:flex;justify-content:space-between;gap:32px;font-size:16px}.hero-bottom p:last-child{text-align:right}.brief-section{padding-top:104px;padding-bottom:104px;background:var(--surface)}.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;margin-bottom:48px}.section-intro>p{max-width:48ch}.workbench{background:var(--paper)}.problem-field{border:0;margin:0;padding:32px}.problem-field legend{float:left;width:100%;margin-bottom:20px;font-size:24px;font-weight:500}.choices{display:flex;gap:12px;flex-wrap:wrap;clear:both}.choices label{position:relative;cursor:pointer}.choices input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.choices span{display:block;background:var(--surface);padding:12px 20px;min-height:48px;border-radius:4px}.choices input:checked+span{background:var(--ink);color:var(--paper);font-weight:600}.choices input:focus-visible+span{outline:3px solid var(--ink);outline-offset:4px}.brief-columns{display:grid;grid-template-columns:1fr 1fr}.brief-inputs{padding:0 32px 32px}.brief-inputs>label{display:block;font-weight:500;margin-bottom:12px}.brief-inputs>label span{display:block;font-size:16px;color:var(--muted);font-weight:400}.brief-inputs>label:not(:first-child){margin-top:28px}input[type=text],textarea{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);line-height:1.7;resize:vertical}input[type=text]{min-height:52px}textarea::placeholder,input::placeholder{color:var(--muted);opacity:1}.guidance{padding:32px;background:var(--bg);display:flex;flex-direction:column;justify-content:center}.guidance h3{font-size:clamp(26px,2.7vw,40px);line-height:1.45;letter-spacing:-.02em;margin-bottom:20px;max-width:24ch}.guidance h4{margin-top:28px;margin-bottom:8px}.summary-panel{padding:32px;background:var(--paper)}.summary-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:20px}.summary-heading p{font-size:16px;color:var(--muted)}#brief-summary{font-size:16px;min-height:280px}.summary-actions{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:24px;flex-wrap:wrap}.summary-tools{display:flex;gap:20px;flex-wrap:wrap}.secondary{border:0;background:transparent;color:var(--ink);padding:10px 0;min-height:44px;text-decoration:underline;text-underline-offset:5px}#refresh-summary{margin-top:12px}.status{min-height:28px;font-size:16px;margin-top:12px}.handoff-note{font-size:14px;color:var(--muted);margin-top:8px;max-width:75ch}.no-script{padding:32px}.services{padding-top:104px;padding-bottom:104px}.capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}.capabilities p{margin-top:20px}.process{display:grid;grid-template-columns:1fr 1fr;gap:10vw;background:var(--surface);padding-top:104px;padding-bottom:104px}.process>div>p{margin-top:28px;max-width:42ch}.text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:24px}.process-list{list-style:none;padding:32px;margin:0;background:var(--paper)}.process-list li+li{margin-top:28px}.process-list p{margin-top:8px}.contact{padding-top:96px;padding-bottom:64px;background:var(--contact);color:var(--contact-ink)}.contact>p{margin-top:24px;max-width:58ch}.contact :focus-visible{outline-color:var(--contact-ink)}.email{display:block;white-space:nowrap;font-size:clamp(40px,12.6vw,190px);line-height:1.6;letter-spacing:-.055em;text-decoration:none;margin-top:40px}.contact .text-link{margin-top:12px}footer{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-top:24px;padding-bottom:24px;font-size:14px}footer nav{display:flex;gap:24px}
@media(prefers-reduced-motion:no-preference){.hero h1{animation:arrive .8s var(--ease) both}.hero-intro{animation:arrive .65s var(--ease) both}.reveal{animation:arrive .7s var(--ease) both}.reveal:nth-child(2){animation-delay:.08s}@keyframes arrive{from{opacity:.4;transform:translateY(20px)}to{opacity:1;transform:none}}}
@media(min-width:1800px){body{max-width:2000px;margin:auto}}@media(max-width:1000px){header{gap:24px}header nav{gap:20px}.section-intro{gap:40px}.capabilities{gap:28px}.process{gap:48px}.summary-heading{align-items:flex-start;flex-direction:column;gap:8px}.guidance h3{font-size:30px}.hero h1{font-size:27vw}}
@media(max-width:700px){:root{--gutter:20px;--body:16px;--head:32px}header{flex-wrap:wrap;gap:8px;min-height:112px;padding-top:16px;padding-bottom:12px}.brand{font-size:24px}.brand svg{width:34px;height:34px}header nav{order:3;width:100%;gap:16px;justify-content:space-between;font-size:16px}.theme-toggle{margin-left:auto}.hero{min-height:0;padding-top:24px;padding-bottom:40px;gap:28px}.hero h1{order:-1;text-align:left;font-size:33vw;line-height:1.3;margin:0}.hero-intro{flex-direction:column;gap:24px}.hero-intro p{font-size:18px}.hero-bottom{padding-top:12px;font-size:14px}.brief-section,.services,.process{padding-top:64px;padding-bottom:64px}.section-intro{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.problem-field{padding:24px 20px}.problem-field legend{font-size:22px}.choices{gap:8px}.choices span{padding:12px 16px;font-size:16px}.brief-columns{grid-template-columns:1fr}.brief-inputs{padding:0 20px 28px}.guidance{padding:28px 20px}.guidance h3{font-size:28px;max-width:none}.summary-panel{padding:28px 20px}.summary-heading h3{font-size:24px}.summary-actions{align-items:stretch;flex-direction:column;gap:16px}.summary-actions>.button{width:100%;gap:16px;font-size:16px;padding:16px}.summary-tools{justify-content:space-between;gap:12px}#brief-summary{min-height:340px}.handoff-note{font-size:14px}.capabilities{grid-template-columns:1fr;gap:36px}.capabilities p{margin-top:12px}.process{grid-template-columns:1fr;gap:32px}.process-list{padding:28px 20px}.contact{padding-top:64px;padding-bottom:40px}.contact h2{font-size:32px}.email{font-size:12.3vw;margin-top:28px}.contact .text-link{margin-top:16px}footer{align-items:flex-start;flex-direction:column;gap:12px}footer nav{gap:20px;flex-wrap:wrap}.no-script{padding:24px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

button:disabled,.button[aria-disabled=true]{cursor:not-allowed;opacity:.55}

.theme-toggle{min-width:104px}.theme-toggle span{display:none}.theme-toggle[data-preference=system] .theme-label-system,.theme-toggle[data-preference=light] .theme-label-light,.theme-toggle[data-preference=dark] .theme-label-dark{display:inline}

.header-tools{display:flex;align-items:center;gap:16px}.header-tools .language-switch{display:flex;gap:0;width:auto;order:initial}.language-switch a{font-size:14px;min-width:44px;justify-content:center}.language-switch [aria-current=page]{font-weight:600;text-decoration:underline;text-underline-offset:5px}html[lang=en] .hero h1{font-size:clamp(140px,25vw,390px)}
@media(max-width:700px){.header-tools{gap:4px}.header-tools .language-switch{font-size:14px}.language-switch a{min-width:36px}.theme-toggle{min-width:92px;padding:8px;gap:6px}html[lang=en] .hero h1{font-size:33vw}header>.brand{margin-right:auto}header nav{font-size:14px;gap:12px}}
@media(max-width:380px){.header-tools .theme-toggle{min-width:44px;justify-content:center}.header-tools .theme-toggle[data-preference] span{display:none}}
