.lux-all{background:var(--panel)}@media (min-width:901px) and (prefers-reduced-motion:no-preference){.lux-about{margin-top:-50svh}}.lux-hero{height:200svh;position:relative}.lux-hero-scene{height:100svh;min-height:680px;padding:48px var(--lux-gutter) 104px;background:radial-gradient(60% 55% at 12% 18%, var(--palette-home-glow-sky), transparent 70%), radial-gradient(55% 50% at 90% 85%, var(--palette-home-glow-cream), transparent 70%), var(--panel);place-items:center;display:grid;position:sticky;top:0;overflow:clip}.lux-hero-copy{z-index:2;text-align:center;justify-items:center;max-width:820px;display:grid;position:relative}.lux-overline{color:var(--muted);font-size:var(--font-size-caption);letter-spacing:.16em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;gap:10px;margin:0;font-weight:600;display:flex}.lux-home[lang=th] .lux-overline{letter-spacing:.02em;text-transform:none;font-size:.875rem}.lux-name{font-family:var(--lux-display);letter-spacing:-.04em;margin:24px 0 0;font-size:clamp(3.5rem,8.2vw,7rem);font-weight:500;line-height:1.02;display:grid}.lux-name em{font-style:normal}.lux-home[lang=th] .lux-name{white-space:nowrap;letter-spacing:-.01em;font-size:clamp(1.75rem,6.4vw,4.5rem);line-height:1.4;display:block}.lux-line{max-width:34ch;color:var(--muted);text-wrap:balance;margin:28px 0 0;font-size:clamp(1.0625rem,1.5vw,1.25rem);line-height:1.6}.lux-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 28px;margin-top:36px;display:flex}.lux-orbit{z-index:1;margin:0;padding:0;list-style:none;position:absolute;inset:0}.lux-orbit-card{--x:4;--y:12;--r:-6deg;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);width:clamp(140px,13vw,214px);rotate:var(--r);position:absolute}.lux-orbit-card:nth-child(2){--x:12;--y:44;--r:4deg}.lux-orbit-card:nth-child(3){--x:3;--y:70;--r:-3deg}.lux-orbit-card:nth-child(4){--x:84;--y:10;--r:5deg}.lux-orbit-card:nth-child(5){--x:76;--y:42;--r:-4deg}.lux-orbit-card:nth-child(6){--x:85;--y:69;--r:3deg}.lux-orbit-card:nth-child(7){--x:20;--y:6;--r:2deg;width:clamp(110px,9vw,150px)}.lux-orbit-card:nth-child(8){--x:70;--y:78;--r:-2deg;width:clamp(110px,9vw,150px)}.lux-orbit-card a{border-radius:var(--lux-r-md);background:var(--panel);box-shadow:var(--float);padding:6px 6px 10px;display:block}.lux-orbit-shot{aspect-ratio:4/3;border-radius:calc(var(--lux-r-md) - 6px);background:var(--surface-muted);display:block;position:relative;overflow:hidden}.lux-orbit-caption{gap:1px;margin-top:9px;padding-inline:4px;font-size:.75rem;line-height:1.35;display:grid}.lux-orbit-caption strong{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.lux-orbit-caption span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (min-width:901px){.lux-orbit.is-entering .lux-orbit-card{filter:blur(var(--ring-blur,0px))}}.lux-deck-hint{display:none}.lux-do{padding-block:var(--lux-section);background:radial-gradient(55% 60% at 88% 12%, color-mix(in srgb, var(--panel) 75%, transparent), transparent 70%), radial-gradient(45% 50% at 6% 92%, color-mix(in srgb, var(--panel) 55%, transparent), transparent 70%) var(--home-warm)}.lux-do[data-tone=web]{background-color:var(--palette-home-sky)}.lux-do[data-tone=iot]{background-color:var(--palette-home-mint)}.lux-do[data-tone=testing]{background-color:var(--palette-home-lilac)}.lux-do[data-tone=ux]{background-color:var(--palette-home-peach)}.lux-do-sticky{width:min(100% - 2 * var(--lux-gutter), 1240px);gap:32px;margin-inline:auto;display:grid}.lux-do-side{justify-items:start;gap:20px;display:grid}.lux-stage-title{letter-spacing:-.02em;margin:0;font-size:clamp(1.5rem,2.4vw,2rem);font-weight:500}.lux-do-list{display:none}.lux-do[data-enhanced]:not([data-pinned]) .lux-do-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.lux-do[data-enhanced]:not([data-pinned]) .lux-do-list button{min-height:44px;box-shadow:var(--ring);border-radius:999px;padding:10px 16px;font-size:.875rem;line-height:1.4}.lux-do[data-enhanced]:not([data-pinned]) .lux-do-list button[aria-current]{color:var(--on-accent);background:var(--accent)}.lux-do-cards{transform-origin:50% 0;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px;display:grid}.lux-do-card{--tone-strong:var(--palette-home-spectrum-1);--tone-soft:var(--palette-home-sky);border-radius:var(--lux-r-lg);background:var(--panel);box-shadow:var(--float);flex-direction:column;display:flex;overflow:hidden}.lux-do-card[data-tone=iot]{--tone-strong:var(--palette-home-note-mint);--tone-soft:var(--palette-home-mint)}.lux-do-card[data-tone=testing]{--tone-strong:var(--palette-home-note-lilac);--tone-soft:var(--palette-home-lilac)}.lux-do-card[data-tone=ux]{--tone-strong:var(--palette-home-note-peach);--tone-soft:var(--palette-home-peach)}.lux-do-banner{aspect-ratio:16/7.5;background:linear-gradient(135deg, var(--tone-strong), var(--tone-soft) 70%);flex:none;display:block;position:relative;overflow:hidden}.lux-do-shot{background:var(--panel);box-shadow:var(--float);border-radius:12px 12px 0 0;position:absolute;inset:9% 7% 0;overflow:hidden}.lux-do-body{gap:12px;padding:0 clamp(20px,2.6vw,32px) clamp(22px,2.6vw,30px);display:grid}.lux-do-who{align-items:end;gap:14px;display:flex}.lux-do-avatar{z-index:1;aspect-ratio:1;border:4px solid var(--panel);background:var(--accent);width:64px;color:var(--on-accent);font-family:var(--lux-display);border-radius:50%;flex:none;place-items:center;margin-top:-32px;font-size:1.875rem;font-style:normal;line-height:1;display:grid;position:relative}.lux-home[lang=th] .lux-do-avatar{font-weight:500}.lux-do-who p{margin:10px 0 0;line-height:1.35;display:grid}.lux-do-who strong{font-size:.9375rem;font-weight:600}.lux-do-who span{color:var(--muted);font-size:.8125rem}.lux-do-body h3{font-family:var(--lux-display);letter-spacing:-.015em;text-wrap:balance;margin:6px 0 0;font-size:clamp(1.75rem,2.4vw,2.375rem);font-weight:500;line-height:1.1}.lux-home[lang=th] .lux-do-body h3{letter-spacing:0;line-height:1.35}.lux-do-hook{font-family:var(--lux-display);color:var(--muted);text-wrap:balance;margin:0;font-size:clamp(1.0625rem,1.4vw,1.25rem);font-style:normal;line-height:1.45}.lux-do-summary{margin:0;line-height:1.65}.lux-do-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;margin-top:4px;display:flex}.lux-do-foot .lux-work-tags{margin:0}.lux-do[data-pinned]{height:calc(100svh - 48px + (1.45 + (var(--count) - 1) * .34) * 100svh);padding-block:0}.lux-do[data-pinned] .lux-do-sticky{height:calc(100svh - 48px);padding-block:24px calc(var(--dock-height) + 24px);grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:center;gap:clamp(40px,6vw,96px);position:sticky;top:48px}.lux-do[data-pinned] .lux-do-list{gap:4px;margin:4px 0 8px;padding:0;list-style:none;display:grid}.lux-do-list button{--spectrum-base:var(--muted);color:var(--muted);font:inherit;font-family:var(--lux-display);text-align:left;cursor:pointer;background:0 0;border:0;padding:2px 0;font-size:clamp(1.75rem,2.8vw,2.625rem);line-height:1.2}.lux-home[lang=th] .lux-do-list button{font-weight:500;line-height:1.35}.lux-do-list button:hover{--spectrum-base:var(--text)}.lux-do-list li[data-active] button{color:var(--text);background-position:100% 0}.lux-do-list button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px;border-radius:6px}.lux-do[data-pinned] .lux-do-cards{transform-origin:100% 0;grid-template-columns:1fr;display:grid}.lux-do[data-pinned] .lux-do-card{opacity:0;pointer-events:none;grid-area:1/1;align-self:center}.lux-do[data-pinned] .lux-do-card[data-state=active]{z-index:1;opacity:1;pointer-events:auto}.lux-do[data-pinned] .lux-do-side{transition:opacity .48s cubic-bezier(.22,1,.36,1)}.lux-do[data-pinned]:not([data-rail-in]) .lux-do-side{opacity:0;visibility:hidden}.lux-do[data-pinned]:not([data-rail-in]) .lux-do-side>:is(h2,ol,a){opacity:0;transition:none;translate:-18px}.lux-do[data-pinned][data-rail-in] .lux-do-side>:is(h2,ol,a){transition:opacity .48s cubic-bezier(.22,1,.36,1),translate .52s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--rail-i,0) * 70ms)}.lux-do[data-pinned] .lux-do-side>:nth-child(2){--rail-i:1}.lux-do[data-pinned] .lux-do-side>:nth-child(3){--rail-i:2}@media (min-width:901px) and (max-height:780px){.lux-do[data-pinned] .lux-do-banner{aspect-ratio:16/6}.lux-do[data-pinned] .lux-do-hook{display:none}}.lux-about{background:var(--home-warm);scroll-margin-top:var(--sticky-top);position:relative}.lux-profile-index{max-width:1040px}.lux-profile-header{justify-content:space-between;align-items:center;gap:24px 48px;display:flex}.lux-profile-header h2{font-family:var(--lux-display);letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(2rem,4vw,3.5rem);font-weight:500;line-height:1.2}.lux-profile-header p{color:var(--muted);margin:10px 0 0;line-height:1.6}.lux-profile-meta{flex-shrink:0;align-items:center;gap:24px;display:flex}.lux-profile-meta p{margin:0;font-size:.875rem}.lux-profile-meta p span{display:block}.lux-profile-statement-mask{margin-block:clamp(32px,4vw,56px)}.lux-profile-statement{max-width:32ch;font-family:var(--lux-display);letter-spacing:-.025em;text-wrap:pretty;margin:0;font-size:clamp(1.75rem,3vw,2.75rem);font-weight:500;line-height:1.4}.lux-home[lang=th] .lux-profile-header h2{letter-spacing:0;line-height:1.4}.lux-home[lang=th] .lux-profile-statement{letter-spacing:0;max-width:38ch;font-size:clamp(1.5rem,2.6vw,2.375rem);line-height:1.6}.lux-toolkit-more{border-top:1px solid var(--line-strong)}.lux-toolkit-more summary{width:100%;min-height:60px;color:var(--muted);cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding-block:16px;font-size:.9375rem;list-style:none;display:flex}.lux-toolkit-more summary::-webkit-details-marker{display:none}.lux-toolkit-more summary:hover{color:var(--text)}.lux-toolkit-more summary svg{flex:none}.lux-toolkit-more[open] summary svg{rotate:45deg}.lux-toolkit-more .lux-tools-hide,.lux-toolkit-more[open] .lux-tools-show{display:none}.lux-toolkit-more[open] .lux-tools-hide{display:inline}.lux-toolkit-extra{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:8px 0 28px;display:grid}.lux-toolkit-extra h4{margin:0 0 12px;font-size:.875rem;font-weight:600}.lux-toolkit-extra ul{flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;list-style:none;display:flex}.lux-toolkit-extra li{color:var(--muted);font-size:.875rem;line-height:1.6}.lux-profile-footer{border-top:1px solid var(--line-strong);justify-content:space-between;align-items:end;gap:24px 40px;margin-top:8px;padding-top:28px;display:flex}.lux-profile-education{max-width:70ch}.lux-profile-education h3{color:var(--muted);margin:0 0 10px;font-size:.8125rem;font-weight:500}.lux-profile-education p{color:var(--muted);margin:4px 0 0;font-size:.875rem;line-height:1.7}.lux-profile-footer>a{flex-shrink:0}.lux-section{padding-block:var(--lux-section)}.lux-heading{grid-template-columns:minmax(0,1fr) minmax(0,24rem);align-items:end;gap:16px 64px;margin-bottom:clamp(40px,6vw,72px);display:grid}.lux-heading h2{font-family:var(--lux-display);letter-spacing:-.025em;margin:0;font-size:clamp(2.75rem,5.5vw,5rem);font-weight:500;line-height:1}.lux-home[lang=th] .lux-heading h2{letter-spacing:0;font-size:clamp(2.25rem,4.2vw,3.5rem);font-weight:500;line-height:1.3}.lux-heading p{color:var(--muted);margin:0;line-height:1.65}.lux-heading-split{flex-wrap:wrap;justify-content:space-between;display:flex}.lux-filters{flex-wrap:wrap;gap:8px;margin-bottom:28px;display:flex}.lux-filters button{background:var(--panel);min-height:44px;box-shadow:var(--ring);color:var(--text);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 18px;font-size:.875rem;font-weight:600;display:inline-flex}.lux-filters button span{color:var(--muted);font-weight:500}.lux-filters button:hover{background:var(--surface-muted)}.lux-filters button[aria-pressed=true]{background:var(--home-navy);color:var(--on-dark)}.lux-filters button[aria-pressed=true] span{color:inherit;opacity:.7}.lux-filters button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.lux-work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none;display:grid}.lux-work-card a{border-radius:var(--lux-r-md);background:var(--panel);height:100%;box-shadow:var(--ring);flex-direction:column;padding:10px 10px 22px;display:flex}.lux-work-card a:hover{box-shadow:var(--lift)}.lux-work-media{aspect-ratio:16/10;border-radius:calc(var(--lux-r-md) - 8px);background:var(--surface-muted);display:block;position:relative;overflow:hidden}.lux-work-body{gap:8px;padding:18px 10px 0;display:grid}.lux-work-role{color:var(--muted);font-size:.8125rem;font-weight:600}.lux-work-body strong{justify-content:space-between;align-items:start;gap:12px;font-size:1.125rem;font-weight:600;line-height:1.35;display:flex}.lux-work-body strong svg{color:var(--muted);flex:none;margin-top:3px}.lux-work-card a:hover strong svg{color:var(--text)}.lux-work-summary{-webkit-line-clamp:2;color:var(--muted);-webkit-box-orient:vertical;font-size:.9375rem;line-height:1.6;display:-webkit-box;overflow:hidden}.lux-work-tags{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.lux-work-tags span{background:var(--surface-muted);border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:500}.lux-work-more{margin-top:36px}.lux-mask{vertical-align:bottom;margin-block:-.12em;padding-block:.12em;display:inline-block;overflow:clip}.lux-mask>*{display:inline-block}@media (max-width:900px){.lux-hero{height:auto}.lux-hero-scene{height:auto;min-height:100svh;padding:calc(var(--header-height) + 36px) 0 calc(var(--dock-height) + 16px);flex-direction:column;display:flex;position:relative}.lux-hero-copy{padding-inline:var(--lux-gutter);margin-inline:auto}.lux-orbit{width:100%;height:clamp(250px,70vw,360px);margin-top:16px;position:relative}.lux-orbit-card,.lux-orbit-card:nth-child(n){--fx:0vw;--fy:0px;--fr:0deg;width:clamp(150px,44vw,230px);translate:calc(-50% + var(--fx)) var(--fy);rotate:var(--fr);top:8px;left:50%}.lux-orbit-card:first-child{z-index:3}.lux-orbit-card:nth-child(2){--fx:-25vw;--fy:20px;--fr:-9deg;z-index:2}.lux-orbit-card:nth-child(3){--fx:25vw;--fy:20px;--fr:9deg;z-index:2}.lux-orbit-card:nth-child(4){--fx:-46vw;--fy:52px;--fr:-17deg;z-index:1}.lux-orbit-card:nth-child(5){--fx:46vw;--fy:52px;--fr:17deg;z-index:1}.lux-orbit-card:nth-child(n+6){display:none}.lux-orbit{touch-action:pan-y}.lux-deck-hint{color:var(--muted);text-align:center;margin:20px 0 0;font-size:.8125rem;display:block}.lux-do-cards{margin-inline:calc(var(--lux-gutter) * -1);padding:4px var(--lux-gutter) 24px;scroll-snap-type:x mandatory;scrollbar-width:none;gap:14px;display:flex;overflow-x:auto}.lux-do-card{scroll-snap-align:start;width:min(86vw,420px);scroll-margin-left:var(--lux-gutter);flex:none}.lux-profile-header{flex-direction:column;align-items:start;gap:20px}.lux-profile-meta{justify-content:space-between;width:100%}.lux-profile-footer{flex-direction:column;align-items:start}.lux-toolkit-row{grid-template-columns:minmax(120px,.7fr) minmax(0,2fr);gap:12px 24px}.lux-heading{grid-template-columns:1fr}.lux-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lux-section,.lux-do{padding-block:clamp(72px,16vw,112px)}}@media (max-width:560px){.lux-toolkit-row{grid-template-columns:minmax(0,1fr);gap:10px;padding-block:20px}.lux-toolkit-row h3{font-size:.875rem}.lux-toolkit-extra{grid-template-columns:minmax(0,1fr);gap:24px}.lux-profile-statement{font-size:1.75rem}.lux-work-grid{grid-template-columns:1fr}}@media (max-width:1100px),(max-height:719px){.lux-do[data-pinned]{height:auto;padding-block:var(--lux-section)}.lux-do[data-pinned] .lux-do-sticky{grid-template-columns:minmax(0,1fr);gap:28px;height:auto;padding-block:0;position:static}.lux-do[data-pinned] .lux-do-card{opacity:1;pointer-events:auto;grid-area:auto;translate:none;scale:1}.lux-do[data-pinned] .lux-do-side,.lux-do[data-pinned]:not([data-rail-in]) .lux-do-side,.lux-do[data-pinned]:not([data-rail-in]) .lux-do-side>:is(h2,ol,a){opacity:1;visibility:visible;transition:none;translate:none}}@media (min-width:901px) and (max-height:719px){.lux-name{margin-top:16px;font-size:clamp(3rem,7vw,5rem)}.lux-line{margin-top:16px}.lux-actions{margin-top:20px}}.lux-home :is([data-work-card],[data-reveal],.lux-hero-copy,[data-profile-identity],[data-profile-statement],[data-toolkit-row],[data-profile-footer],.lux-toolkit-extra):focus-within{opacity:1!important;filter:none!important;transform:none!important}@media (prefers-reduced-motion:reduce){.lux-hero{height:auto}.lux-hero-scene{height:auto;min-height:min(100svh,900px);position:relative}}
