:root{--cocoa: #1a120e;--void: #100c0a;--paper: #f4efe4;--sulfur: #e2c15a;--blush: #e7c2b4;--mineral: #24343c;--ink: #1a120e;--mist: #d5dde2;--spine: 76px;--skew: -1.7deg;--ease: cubic-bezier(.16, 1, .3, 1);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}html:not([lang=en]) .en{display:none}html[lang=en] .th{display:none}html[lang=en] body{font-family:Fraunces,Iowan Old Style,Palatino,serif}body{margin:0;min-height:100vh;overflow-x:hidden;background:radial-gradient(900px 420px at 100% 0%,rgba(226,193,90,.16),transparent 55%),var(--cocoa);color:var(--paper);font-family:"Noto Serif Thai",Thonburi,Songti TC,serif;font-weight:500;line-height:1.5}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.skip{position:absolute;left:16px;top:-40px;background:var(--sulfur);color:var(--ink);padding:8px 12px;z-index:20}.skip:focus{top:12px}a{color:inherit}.spine{position:fixed;z-index:10;inset:0 auto 0 0;width:var(--spine);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:20px 0 24px;background:var(--void);border-right:1px solid rgba(226,193,90,.55)}.mark{text-decoration:none;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px;letter-spacing:.18em;color:var(--sulfur)}.lang{display:flex;gap:2px}.lang button{border:0;background:transparent;color:#f4efe46b;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.12em;padding:8px 4px;min-width:28px;min-height:32px;cursor:pointer}.lang button[aria-pressed=true]{color:var(--sulfur)}.lang button:focus-visible{outline:2px solid var(--sulfur);outline-offset:2px}.spine-nav{display:flex;flex-direction:column;gap:28px}.spine-nav a{writing-mode:vertical-rl;text-orientation:mixed;text-decoration:none;font-size:15px;letter-spacing:.22em;color:var(--paper)}.spine-nav a:hover,.spine-nav a:focus-visible{color:var(--sulfur)}.spine-note{margin:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.16em;color:var(--sulfur);writing-mode:vertical-rl}main{padding:28px 4vw 96px calc(var(--spine) + 3vw)}.stack{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}.slat{--pull: 0px;background:var(--paper);color:var(--ink);transform:skewY(var(--skew));transition:transform .55s var(--ease);animation:settle .9s var(--ease) both}.slat:nth-child(2){animation-delay:.05s}.slat:nth-child(3){animation-delay:.1s}.slat:nth-child(4){animation-delay:.16s}.slat:nth-child(5){animation-delay:.22s}.slat-inner{transform:skewY(calc(var(--skew) * -1));transition:transform .55s var(--ease)}@media(hover:hover)and (pointer:fine){.slat:hover,.slat:hover .slat-inner{transform:skewY(0)}}.sulfur{background:var(--sulfur);color:var(--ink)}.paper{background:var(--paper);color:var(--ink)}.blush{background:var(--blush);color:var(--ink)}.mineral{background:var(--mineral);color:var(--paper)}.glyph-slat{width:min(var(--w),calc(100% - var(--x)));margin-left:var(--x);overflow:hidden}.glyph-row{display:flex;align-items:flex-end;justify-content:space-between;position:relative;padding:8px 28px 4px;min-height:0}.glyph{font-weight:700;font-size:clamp(5.5rem,14vw,10.5rem);line-height:.82;letter-spacing:-.05em;transform:translate(var(--pull));-webkit-user-select:none;user-select:none}.glyph.mid{font-size:clamp(4.6rem,11vw,8.4rem)}.glyph.small{font-size:clamp(3.8rem,9vw,6.8rem)}.glyph.latin{font-family:Fraunces,Palatino,serif;font-weight:560;font-size:clamp(3.4rem,7.4vw,6.6rem);letter-spacing:-.045em;line-height:.86;font-variation-settings:"opsz" 144,"SOFT" 40}.glyph.latin.mid,.glyph.latin.small{font-style:italic;font-size:clamp(4.4rem,10vw,8.2rem)}.plate{align-self:center;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;opacity:.72;padding-bottom:18px}.plate.light{color:var(--mist)}.crack{margin:0;padding-left:8px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#e2c15ac7}.readout{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;align-items:baseline;margin:8px 0 0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;font-weight:500;letter-spacing:.22em}.readout-line{font-family:"Noto Serif Thai",Thonburi,serif;letter-spacing:0;font-size:18px;font-weight:500;max-width:18em}html[lang=en] .readout-line{font-family:Fraunces,Palatino,serif;font-size:22px;font-weight:560;letter-spacing:-.02em}html[lang=en] .thesis-copy,html[lang=en] .contact-line,html[lang=en] .job-name{letter-spacing:-.03em}.thesis-inner{display:flex;flex-direction:column;gap:18px;padding:40px 36px 44px;max-width:880px}.kicker{margin:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase}.thesis-copy{margin:0;max-width:18em;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.35;font-weight:700}.thesis-aside{margin:0;font-size:15px;line-height:1.6}.section-label{margin:18px 0 4px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--sulfur)}.job-toggle{width:100%;display:grid;grid-template-columns:52px 1fr auto 28px;gap:16px;align-items:center;padding:22px 28px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;min-height:76px}.job-toggle:focus-visible,.talk:focus-visible,.spine-nav a:focus-visible,.mark:focus-visible{outline:2px solid var(--sulfur);outline-offset:3px}.idx,.job-meta{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase}.job-name{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;line-height:1.15}.plus{width:14px;height:14px;position:relative}.plus:before,.plus:after{content:"";position:absolute;background:currentColor;left:50%;top:50%}.plus:before{width:14px;height:1px;transform:translate(-50%,-50%)}.plus:after{width:1px;height:14px;transform:translate(-50%,-50%);transition:transform .35s var(--ease)}.slat.is-open .plus:after{transform:translate(-50%,-50%) rotate(90deg)}.panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}.slat.is-open .panel{grid-template-rows:1fr}.panel-inner{overflow:hidden;display:grid;grid-template-columns:180px 1fr;gap:28px;padding:0 28px}.slat.is-open .panel-inner{padding-bottom:28px}.poster{height:140px;position:relative;align-self:end}.poster i{position:absolute;display:block;border:1.5px solid currentColor}.water i:nth-child(1){top:30px;right:20px;bottom:10px;left:10px;border-radius:50%}.water i:nth-child(2){top:48px;right:36px;bottom:24px;left:28px;border-radius:50%}.water i:nth-child(3){top:66px;right:54px;bottom:40px;left:46px;border-radius:50%}.shelf i{left:8px;right:24px;height:0}.shelf i:nth-child(1){top:28px}.shelf i:nth-child(2){top:58px;right:48px}.shelf i:nth-child(3){top:88px}.shelf i:nth-child(4){top:116px;right:70px}.signal i{height:0;border-width:1.5px 0 0;left:0;right:0}.signal i:nth-child(1){top:40px;clip-path:polygon(0 0,18% 0,22% 100%,38% 0,42% 100%,70% 0,100% 0,100% 2px,0 2px);border:0;background:currentColor;height:28px}.signal i:nth-child(2){top:78px;width:70%}.signal i:nth-child(3){top:104px;left:20%}.job-copy p{margin:0 0 16px;max-width:28em;font-size:1.2rem;line-height:1.55}.job-copy ul{display:flex;gap:18px;margin:0;padding:0;list-style:none;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;letter-spacing:.14em}.method{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.method-inner{display:grid;grid-template-columns:72px 1fr;gap:8px;align-items:center;padding:16px 28px;min-height:84px}.plate-letter{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:28px;letter-spacing:0}.method-inner strong{display:block;font-size:1.35rem}.method-inner p{margin:2px 0 0;font-size:1rem}.mineral .plate-letter{color:var(--sulfur)}.contact-inner{padding:48px 32px 42px;display:grid;gap:18px}.contact-line{margin:0;font-size:clamp(2.4rem,6vw,5rem);font-weight:700;line-height:1.05;max-width:8em}.talk{justify-self:start;text-decoration:none;border:0;cursor:pointer;background:var(--ink);color:var(--sulfur);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px;letter-spacing:.16em;text-transform:uppercase;padding:16px 18px;min-height:48px;display:inline-flex;align-items:center}.talk:hover{background:var(--void)}.brief{display:grid;gap:14px;max-width:36rem}.brief[hidden],.brief-done[hidden],.talk[hidden]{display:none}.brief label{display:grid;gap:6px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase}.brief input,.brief textarea{font-family:"Noto Serif Thai",Thonburi,serif;font-size:1.15rem;letter-spacing:0;text-transform:none;background:var(--paper);color:var(--ink);border:0;border-radius:0;padding:14px 16px;min-height:48px;width:100%}html[lang=en] .brief input,html[lang=en] .brief textarea{font-family:Fraunces,Palatino,serif}.brief textarea{min-height:120px;resize:vertical}.brief input:focus-visible,.brief textarea:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.brief-done{margin:0;max-width:12em;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;line-height:1.25}.colophon{margin:8px 0 0;max-width:36em;font-size:14px;color:#f4efe4b8}.counter{position:fixed;z-index:10;right:20px;bottom:16px;margin:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.2em;color:var(--sulfur)}@keyframes settle{0%{transform:skewY(-7deg) translateY(16px);opacity:0}to{transform:skewY(var(--skew));opacity:1}}@media(max-width:800px){.spine{inset:0 0 auto 0;width:auto;height:56px;flex-direction:row;padding:0 16px;border-right:0;border-bottom:1px solid rgba(226,193,90,.55)}.spine-nav{flex-direction:row;gap:18px}.spine-nav a,.spine-note{writing-mode:horizontal-tb}main{padding:76px 14px 88px}.thesis-inner,.panel-inner,.job-toggle{grid-template-columns:1fr}.job-toggle{grid-template-columns:40px 1fr 20px}.job-meta{display:none}.readout{flex-direction:column;gap:6px}.glyph-slat{width:100%;margin-left:0}.counter{position:static;margin:8px 14px 28px;text-align:right}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.slat,.slat-inner,.glyph,.panel,.plus:after{animation:none;transition:none;transform:none}.glyph{transform:none}}
