.v2{--paper:#fbfbfb;--ink:#111;--ink-soft:#111111a3;--rule:#11111129;--blend:#fff;--ui:var(--font-inter-latin), var(--font-noto-sans-thai), system-ui, sans-serif;--display:var(--font-archivo-latin), var(--font-noto-sans-thai), sans-serif;--mono:var(--font-plex-mono-latin), ui-monospace, monospace;--gutter:24px;background:var(--paper);min-height:100svh;color:var(--ink);font:400 13px/1.4 var(--ui)}.v2 a{color:inherit;text-decoration:none}.v2 a:hover{text-underline-offset:3px;text-decoration:underline}.v2 :focus-visible{outline:1px solid var(--ink);outline-offset:3px}.v2 button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.v2-header a,.v2-info__contact a,.v2-cv__contact a,.v2-cv__print,.v2-chat__reset,.v2-chat__suggest button,.v2-viewer__toggle,.v2-viewer__play,.v2-filter button{position:relative}.v2-header a:after,.v2-info__contact a:after,.v2-cv__contact a:after,.v2-cv__print:after,.v2-chat__reset:after,.v2-chat__suggest button:after,.v2-viewer__toggle:after,.v2-viewer__play:after,.v2-filter button:after{content:"";width:max(100%,44px);height:32px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.v2-filter button:after{width:calc(100% + 8px)}.v2-mono{font-family:var(--mono);letter-spacing:.02em;font-variant-numeric:tabular-nums;font-size:12px}.v2-visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.v2-skip{left:var(--gutter);z-index:50;background:var(--ink);color:var(--paper);padding:6px 10px;position:absolute;top:-40px}.v2-skip:focus{top:12px}.v2-header{z-index:20;padding:18px var(--gutter);color:var(--blend);mix-blend-mode:difference;grid-template-columns:1fr auto 1fr;align-items:baseline;font-weight:500;display:grid;position:fixed;inset:0 0 auto}.v2-header :focus-visible{outline-color:var(--blend)}.v2-header__nav{text-align:center}.v2-header__right{text-align:right}.v2-hero{grid-template-rows:minmax(0,1fr) auto;height:100svh;display:grid}.v2-hero__frame{background:var(--ink);min-height:0;position:relative;overflow:hidden}.v2-hero__frame picture{height:100%;display:block}.v2-hero__img{object-fit:cover;width:100%;height:100%;display:block}.v2-hero__title{color:var(--paper);text-align:center;place-content:center;justify-items:center;gap:4px;font-size:14px;display:grid;position:absolute;inset:0}.v2-hero__name{font-size:inherit;margin:0;font-weight:500}.v2-hero__role{margin:0}.v2-hero__disc{padding:14px var(--gutter);justify-content:space-between;margin:0;font-weight:500;display:flex}.v2-stage{height:calc(100svh + var(--run,0px));position:relative}.v2-stage__hold{place-items:center;height:100svh;display:grid;position:sticky;top:0;overflow:hidden}.v2-stage__name{white-space:nowrap;text-transform:uppercase;font-family:var(--display);font-variation-settings:"wdth" 62;letter-spacing:-.01em;margin:0;font-weight:850;line-height:.82}.v2-stage__column{z-index:2;will-change:transform;flex-direction:column;gap:32px;width:20vw;margin-left:-10vw;display:flex;position:absolute;top:0;left:50%}.v2-stage__item{display:block}.v2-stage__item img{width:100%;height:auto;display:block}.v2-stage__item span{margin-top:4px;display:block}.v2-stage__bio{z-index:3;text-align:center;background:var(--paper);white-space:nowrap;margin:0;padding:6px 10px;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.v2-stage--static{height:auto}.v2-stage--static .v2-stage__hold{height:auto;padding:96px 0 120px;display:block;position:relative}.v2-stage--static .v2-stage__name{text-align:center;display:block}.v2-stage--static .v2-stage__column{margin:48px auto 0;position:static}.v2-index{grid-template-columns:minmax(0,44fr) minmax(0,56fr);min-height:100svh;display:grid}.v2-index__table{height:100svh;padding:72px var(--gutter) 96px;align-self:start;position:sticky;top:0;overflow-y:auto}.v2-index table{border-collapse:collapse;width:100%;color:var(--ink-soft)}.v2-index th{text-align:left;padding:0 8px 8px 0;font-weight:400}.v2-index td{border-top:1px solid var(--rule);vertical-align:baseline;padding:7px 8px 7px 0}.v2-index tbody tr:last-child td{border-bottom:1px solid var(--rule)}.v2-index td:first-child,.v2-index th:first-child{width:4.5em;padding-left:6px}.v2-index td:last-child,.v2-index th:last-child{width:6.5em}.v2-index tr.is-linked{cursor:pointer}.v2-index tr.is-linked:hover,.v2-index tr.is-linked:focus-within{background:var(--ink);color:var(--paper)}.v2-index tr.is-linked:hover a,.v2-index tr.is-linked:focus-within a{text-decoration:none}.v2-index tr.is-linked a:after{content:"";position:absolute;inset:0}.v2-index tr.is-linked{position:relative}.v2-index__field{padding:72px var(--gutter) 120px 0;flex-wrap:wrap;align-content:flex-start;row-gap:56px;display:flex}.v2-index__figure{flex:none;margin-right:100%;display:block}.v2-index__figure img{width:100%;height:auto;display:block}.v2-index__figure span{margin-top:4px;display:block}.v2-index__preview{z-index:15;pointer-events:none;opacity:0;width:220px;transition:opacity .12s linear;position:fixed;top:0;left:0}.v2-index__preview.is-on{opacity:1}.v2-index__preview img{width:100%;height:auto;display:block}.v2-filter{gap:14px;margin:0 0 20px;padding-left:6px;display:flex}.v2-filter button{color:var(--ink-soft)}.v2-filter button[aria-pressed=true]{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.v2-viewer{--credits:280px;--stage-top:56px;--stage-bottom:96px;--stage-h:calc(100svh - var(--stage-top) - var(--stage-bottom));height:100svh;position:relative;overflow:hidden}.v2-viewer__stage{inset:var(--stage-top) var(--gutter) var(--stage-bottom) calc(var(--credits) + 2 * var(--gutter));place-items:center;display:grid;position:absolute}.v2-viewer__frame{place-items:center;animation:.26s linear backwards v2-fade;display:grid}.v2-viewer__media{object-fit:contain;width:auto;height:auto;display:block}.v2-viewer__youtube{width:min(100%, 1100px, (var(--stage-h) - 30px) * 16 / 9)}.v2-viewer__caption{color:var(--ink-soft);margin:8px 0 0}.v2-viewer__hit{z-index:1;width:50%;position:absolute;top:0;bottom:0}.v2-viewer__hit--prev{cursor:w-resize;left:0}.v2-viewer__hit--next{cursor:e-resize;right:0}.v2-viewer__hit:disabled{cursor:default}.v2-viewer__youtube,.v2-viewer__video{z-index:2;position:relative}.v2-viewer__video{justify-items:start;display:grid}.v2-viewer__play{text-underline-offset:3px;min-height:24px;margin-top:4px;text-decoration:underline}.v2-viewer__credits{left:var(--gutter);z-index:3;width:var(--credits);position:absolute;bottom:84px}.v2-viewer__title{margin:0 0 8px;font-weight:500}.v2-viewer__credits dl{color:var(--ink-soft);grid-template-columns:auto 1fr;gap:2px 12px;margin:0 0 8px;display:grid}.v2-viewer__credits dd{color:var(--ink);margin:0}.v2-viewer__toggle{text-underline-offset:3px;text-decoration:underline}.v2-viewer__info{right:var(--gutter);z-index:4;width:min(420px, 100% - 2 * var(--gutter));background:var(--paper);border:1px solid var(--rule);max-height:50svh;padding:12px 14px;position:absolute;bottom:84px;overflow-y:auto}.v2-viewer__info p{margin:0;font-size:14px;line-height:1.5}.v2-viewer__strip{z-index:3;padding:0 var(--gutter);scrollbar-width:none;gap:6px;display:flex;position:absolute;bottom:18px;left:0;right:0;overflow-x:auto}.v2-viewer__strip>:first-child{margin-left:auto}.v2-viewer__strip>:last-child{margin-right:auto}.v2-viewer__strip button{opacity:.32;flex:none;transition:opacity .16s linear}.v2-viewer__strip button:hover,.v2-viewer__strip button[aria-current=true]{opacity:1}.v2-viewer__strip img{width:auto;height:44px;display:block}@keyframes v2-fade{0%{opacity:0}}.v2-info{padding:96px var(--gutter) 64px;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:48px;min-height:100svh;display:grid}.v2-info__bio{max-width:22ch;margin:0 0 56px;font-size:clamp(22px,2.4vw,34px);font-weight:400;line-height:1.15}.v2-info h2{color:var(--ink-soft);margin:0 0 8px;font-size:13px;font-weight:400}.v2-info section{max-width:640px;margin-bottom:40px}.v2-info__list{margin:0;padding:0;list-style:none}.v2-info__list li{border-top:1px solid var(--rule);grid-template-columns:6.5em 1fr;gap:12px;padding:6px 0;display:grid}.v2-info__list li:last-child{border-bottom:1px solid var(--rule)}.v2-info__contact{gap:14px;margin:0;padding:0;list-style:none;display:grid}.v2-info__contact a{text-underline-offset:3px;text-decoration:underline}.v2-info__portrait{align-self:start;width:100%;margin:0;position:sticky;top:96px}.v2-info__portrait img{width:100%;height:auto;display:block}.v2-sys{padding:96px var(--gutter) 96px}.v2-sys__intro{max-width:640px;margin-bottom:96px}.v2-sys__intro .v2-info__bio{margin-bottom:12px}.v2-sys__intro p{color:var(--ink-soft);margin:0}.v2-sys__case{border-top:1px solid var(--ink);margin-bottom:120px;padding-top:24px;scroll-margin-top:72px}.v2-sys__count{color:var(--ink-soft);margin:0 0 24px}.v2-sys__title{font-family:var(--display);font-variation-settings:"wdth" 62;letter-spacing:-.01em;text-transform:uppercase;margin:0 0 20px;font-size:clamp(44px,8vw,120px);font-weight:850;line-height:.9}.v2-sys__lede{max-width:34ch;margin:0 0 48px;font-size:clamp(18px,1.8vw,24px);line-height:1.25}.v2-sys__facts{max-width:640px;margin:0 0 56px}.v2-sys__body{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px;max-width:1100px;display:grid}.v2-sys__body h3{color:var(--ink-soft);margin:0 0 6px;font-size:13px;font-weight:400}.v2-sys__body p{max-width:62ch;margin:0 0 10px;line-height:1.5}.v2-sys__figure{max-width:1100px;margin:64px 0 0}.v2-sys__figure figcaption{color:var(--ink-soft);margin-top:10px}.v2-dg{width:100%;height:auto;display:block}.v2-dg__node,.v2-dg__edge{fill:none;stroke:var(--ink);stroke-width:1.5px}.v2-dg__head{fill:var(--ink)}.v2-dg__label{font-family:var(--ui);fill:var(--ink);font-size:15px;font-weight:500}.v2-dg__small,.v2-dg__index{font-family:var(--mono);fill:var(--ink-soft);font-size:11px}.v2-sys__table{border-collapse:collapse;width:100%;max-width:1100px;margin-top:56px}.v2-sys__table caption{text-align:left;padding-bottom:10px;font-weight:500}.v2-sys__table th,.v2-sys__table td{text-align:left;vertical-align:baseline;border-top:1px solid var(--rule);padding:8px 12px 8px 0;font-weight:400}.v2-sys__table thead th{color:var(--ink-soft)}.v2-sys__table tbody th{width:28%}.v2-sys__table tr:last-child>*{border-bottom:1px solid var(--rule)}.v2-chat{height:100dvh;padding:72px var(--gutter) 24px;grid-template-columns:280px minmax(0,760px);gap:0 48px;display:grid}.v2-chat__title{margin:0 0 16px;font-size:clamp(22px,2.4vw,34px);font-weight:400;line-height:1.15}.v2-chat__about p{max-width:34ch;color:var(--ink-soft);margin:0;line-height:1.5}.v2-chat__about a,.v2-chat__text a{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.v2-chat__reset,.v2-chat__inline,.v2-chat__suggest button{text-underline-offset:3px;text-decoration:underline}.v2-chat__reset{margin-top:20px}.v2-chat__panel{flex-direction:column;min-width:0;min-height:0;display:flex}.v2-chat__log{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.v2-chat__spacer{flex:1 1 0}.v2-chat__msg{border-top:1px solid var(--rule);padding:10px 0 12px}.v2-chat__msg p{margin:0}.v2-chat__who{color:var(--ink-soft);margin-bottom:4px!important}.v2-chat__text{white-space:pre-line;max-width:62ch;font-size:14px;line-height:1.55}.v2-chat__thinking{color:var(--ink-soft)}.v2-chat__form{border-top:1px solid var(--rule);padding-top:12px}.v2-chat__suggest{flex-wrap:wrap;gap:14px 24px;margin-bottom:14px;display:flex}.v2-chat__suggest button{color:var(--ink-soft)}.v2-chat__suggest button:hover{color:var(--ink)}.v2-chat__field{border:1px solid var(--ink-soft);align-items:stretch;display:flex}.v2-chat__field:focus-within{outline:1px solid var(--ink);outline-offset:2px}.v2-chat__field input:focus-visible{outline:none}.v2-chat__field input{min-width:0;font:400 16px/1.3 var(--ui);color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:12px 14px}.v2-chat__field input::placeholder{color:var(--ink-soft);opacity:1}.v2-chat__field button{text-underline-offset:3px;min-width:64px;padding:0 14px;text-decoration:underline}.v2-chat__field button:disabled,.v2-chat__suggest button:disabled{color:var(--ink-soft);cursor:default;text-decoration:none}.v2-cv{padding:96px var(--gutter);max-width:1100px}.v2-cv__head{border-bottom:1px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 48px;margin-bottom:40px;padding-bottom:24px;display:flex}.v2-cv__name{font-family:var(--display);font-variation-settings:"wdth" 62;letter-spacing:-.01em;text-transform:uppercase;margin:0;font-size:clamp(44px,8vw,120px);font-weight:850;line-height:.9}.v2-cv__role{margin:12px 0 0;font-size:clamp(18px,1.8vw,24px);line-height:1.25}.v2-cv__tools{margin:16px 0 0}.v2-cv__print{text-underline-offset:3px;text-decoration:underline}.v2-cv__contact{text-align:right;gap:14px;margin:0;padding:0;list-style:none;display:grid}.v2-cv section{margin-bottom:40px}.v2-cv h2{color:var(--ink-soft);margin:0 0 8px;font-size:13px;font-weight:400}.v2-cv__summary,.v2-cv__text{max-width:62ch;margin:0;font-size:14px;line-height:1.5}.v2-cv__cols{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:0 48px;display:grid}.v2-cv__job{border-top:1px solid var(--rule);padding:10px 0 14px;font-size:14px;line-height:1.5}.v2-cv__job:last-child{border-bottom:1px solid var(--rule)}.v2-cv__job p{margin:0}.v2-cv__org{font-weight:500}.v2-cv__meta{color:var(--ink-soft)}.v2-cv__points{max-width:62ch;margin:8px 0 0;padding:0;list-style:none}.v2-cv__points li{text-indent:-14px;padding-left:14px}.v2-cv__points li+li{margin-top:4px}.v2-cv__points li:before{content:"•";text-indent:0;width:14px;color:var(--ink-soft);display:inline-block}.v2-cv__langs li{grid-template-columns:1fr}.v2-cv__skills{margin:0}.v2-cv__skills div{border-top:1px solid var(--rule);padding:6px 0}.v2-cv__skills div:last-child{border-bottom:1px solid var(--rule)}.v2-cv__skills dt{color:var(--ink-soft)}.v2-cv__skills dd{margin:0}.v2-cv__foot{color:var(--ink-soft);margin:0}@media print{body:has(.v2-cv){background:#fff;min-height:0}.v2:has(.v2-cv){background:#fff;min-height:0}.v2-cv__tools,.v2-cv__foot{display:none!important}.v2:has(.v2-cv) .v2-header{display:none!important}.v2:has(.v2-cv) .v2-skip{display:none!important}.v2-cv{color:#111;max-width:none;padding:0}.v2-cv__head{border-bottom-width:1pt;gap:4mm 8mm;margin-bottom:4mm;padding-bottom:3mm}.v2-cv__name{font-size:28pt}.v2-cv__role{margin-top:1.2mm;font-size:11.5pt}.v2-cv__contact{text-align:right;gap:.6mm;font-size:9.8pt}.v2-cv section{margin-bottom:4mm}.v2-cv h2{color:#444;margin-bottom:1.4mm;font-size:9pt}.v2-cv__summary,.v2-cv__text{max-width:none;font-size:10pt;line-height:1.4}.v2-cv__cols{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:0 8mm}.v2-cv__job{break-inside:avoid;padding:1.6mm 0 2.2mm;font-size:9.7pt;line-height:1.34}.v2-cv__meta{color:#444}.v2-cv__points{max-width:none;margin-top:1.2mm}.v2-cv__points li{text-indent:-3.6mm;padding-left:3.6mm}.v2-cv__points li:before{width:3.6mm}.v2-cv__points li+li{margin-top:.5mm}.v2-cv .v2-info__list li{grid-template-columns:5.4em 1fr;gap:2.5mm;padding:1.1mm 0;font-size:9.6pt;line-height:1.38}.v2-cv .v2-cv__langs li{grid-template-columns:1fr}.v2-cv__skills div{padding:1.1mm 0;font-size:9.6pt;line-height:1.38}.v2-cv__skills dt{color:#444}.v2-cv .v2-mono{font-size:9pt}}@media screen and (max-width:1099px){.v2-viewer{--stage-bottom:220px}.v2-viewer__stage{left:var(--gutter)}.v2-viewer__credits{bottom:76px;right:var(--gutter);width:auto}}@media screen and (max-width:767px){.v2{--gutter:16px}.v2-header{grid-template-columns:1fr auto;row-gap:14px}.v2-header__nav{text-align:left;grid-area:2/1}.v2-header__right{grid-area:1/2}.v2-hero__disc{font-size:12px}.v2-stage__column{gap:24px;width:42vw;margin-left:-21vw}.v2-stage__bio{white-space:normal;width:max-content;max-width:calc(100% - 32px)}.v2-index{display:block}.v2-index__table{height:auto;padding-top:84px;position:static;overflow:visible}.v2-index__disc,.v2-index__field,.v2-index__preview{display:none}.v2-filter{gap:10px;font-size:12px;overflow-x:auto}.v2-viewer{--stage-top:76px;--stage-bottom:200px}.v2-viewer__hit{display:none}.v2-viewer__strip img{height:36px}.v2-sys{padding-top:84px}.v2-sys__intro{margin-bottom:64px}.v2-sys__case{margin-bottom:80px}.v2-sys__body{grid-template-columns:1fr;gap:24px}.v2-sys__figure{overflow-x:auto}.v2-dg{min-width:760px}.v2-sys__table{font-size:12px}.v2-sys__table tbody th{width:34%}.v2-viewer__info{bottom:76px}.v2-info{flex-direction:column-reverse;gap:32px;padding-top:84px;display:flex}.v2-chat{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);padding-top:84px;padding-bottom:16px}.v2-chat__title{margin-bottom:8px;font-size:20px}.v2-chat__about{margin-bottom:12px}.v2-chat__suggest{scrollbar-width:none;flex-wrap:nowrap;margin-block:-7px 8px;padding-block:7px;overflow-x:auto}.v2-chat__suggest button{white-space:nowrap;flex:none}.v2-cv{padding-top:84px}.v2-cv__head{align-items:flex-start}.v2-cv__contact{text-align:left}.v2-cv__cols{grid-template-columns:1fr}.v2-info__portrait{position:static}}@media (prefers-reduced-motion:reduce){.v2-viewer__frame{animation:none}.v2-index__preview,.v2-viewer__strip button{transition:none}}
