@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-vietnamese-wght-normal-CtlIRbEm.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-latin-ext-wght-normal-MQgHevqp.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-latin-wght-normal-DdeTHZLK.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#141619;--bg-2:#1b1e22;--bg-3:#24282d;--fg:#e9e7e2;--fg-2:#a8a9a6;--fg-3:#8a8c8e;--line:#2a2e33;--line-2:#3a3f45;--field-line:#646a72;--sand:#c4a47c;--sand-deep:#ab8c66;--sand-ink:#8a6d45;--on-sand:#141619;--stock:#f4f4f2;--stock-2:#e9e9e5;--sheet:#fbfbf9;--ink:#17191c;--ink-2:#4a4f56;--ink-3:#62686f;--on-ink:#f4f4f2;--on-ink-2:#a8adb3;--rule:#d5d6d2;--rule-ink:#f4f4f229;--field-stroke:#848a91;--ok-ink:#2f6344;--danger:#d88a7a;--danger-ink:#9e2b20;--font:"Public Sans Variable", ui-sans-serif, system-ui, -apple-system, sans-serif;--edge:clamp(20px, 5vw, 80px);--bar:64px;--ease:cubic-bezier(.22, 1, .36, 1);--fast:.18s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--bar) + 12px)}body{background:var(--bg);color:var(--fg);font-variant-numeric:tabular-nums;margin:0;font-size:1rem;line-height:1.6}h1,h2,h3,h4,h5,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}img{max-width:100%;display:block}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}::selection{background:var(--sand);color:var(--on-sand)}:focus-visible{outline:2px solid var(--sand);outline-offset:3px;border-radius:2px}input,textarea{caret-color:var(--sand)}html{scrollbar-color:var(--line-2) var(--bg);scrollbar-width:thin}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--edge);z-index:60;background:var(--sand);color:var(--on-sand);border-radius:2px;padding:10px 16px;font-size:.875rem;font-weight:600;position:absolute;top:-100px}.skip-link:focus{top:16px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.bar-in,.hero-in,.sec,.foot-in,.case,.screen-in{width:100%;max-width:1160px;padding-inline:var(--edge);margin-inline:auto}.tech{vertical-align:-.3em;flex:none;display:inline-block}.tech-concept{color:var(--fg-2);stroke-width:1.6px}.tech-mono{border:1px solid var(--line-2);color:var(--fg-3);border-radius:2px;place-items:center;font-weight:600;line-height:1;display:inline-grid}.bar{z-index:40;height:var(--bar);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color var(--fast) var(--ease);border-bottom:1px solid #0000;align-items:center;display:flex;position:sticky;top:0}.bar.is-lifted{border-bottom-color:var(--line)}.bar-in{align-items:center;gap:24px;display:flex}.brand{letter-spacing:-.01em;color:var(--fg);transition:color var(--fast) var(--ease);font-size:.9375rem;font-weight:650;text-decoration:none}.brand:hover{color:var(--sand)}.bar-nav{gap:26px;margin-inline:auto;display:flex}.bar-nav a{color:var(--fg-2);transition:color var(--fast) var(--ease);font-size:.875rem;text-decoration:none;position:relative}.bar-nav a:after{content:"";background:var(--sand);height:1px;transition:right .24s var(--ease);position:absolute;bottom:-5px;left:0;right:100%}.bar-nav a:hover{color:var(--fg)}.bar-nav a:hover:after{right:0}.bar-nav a[aria-current=true]{color:var(--fg)}.bar-nav a[aria-current=true]:after{right:0}.bar-end{align-items:center;gap:16px;display:flex}.lang{letter-spacing:.04em;color:var(--fg-3);transition:color var(--fast) var(--ease);font-size:.75rem;font-weight:600;text-decoration:none}.lang:hover{color:var(--fg)}.btn{letter-spacing:-.005em;white-space:nowrap;height:44px;transition:background-color var(--fast) var(--ease), color var(--fast) var(--ease), border-color var(--fast) var(--ease);background:0 0;border:1px solid #0000;border-radius:2px;align-items:center;gap:8px;padding:0 20px;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.btn svg{transition:transform var(--fast) var(--ease);flex:none}.btn-solid{background:var(--sand);border-color:var(--sand);color:var(--on-sand)}.btn-solid:hover:not(:disabled){background:var(--sand-deep);border-color:var(--sand-deep)}.btn-solid:hover:not(:disabled) svg{transform:translate(3px)}.btn-line{border-color:var(--line-2);color:var(--fg)}.btn-line:hover{border-color:var(--fg-2);background:var(--bg-2)}.btn-quiet{border-color:var(--line-2);height:34px;color:var(--fg);padding:0 14px;font-size:.8125rem}.btn-quiet:hover{border-color:var(--sand);color:var(--sand)}.btn:disabled{opacity:.5;cursor:not-allowed}.hero{min-height:calc(100svh - var(--bar));align-items:center;padding-block:clamp(52px,9vh,110px) clamp(76px,13vh,150px);display:flex;position:relative}.hero-in{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy""stack";align-items:center;gap:0 clamp(32px,5vw,72px);display:grid}.hero.has-portrait .hero-in{grid-template-columns:minmax(0,1fr) clamp(200px,24vw,300px);grid-template-areas:"copy portrait""stack stack"}.hero-copy{grid-area:copy;max-width:760px}.hero-portrait{border:1px solid var(--line);aspect-ratio:4/5;background:var(--bg-2);border-radius:3px;grid-area:portrait;overflow:hidden}.hero-portrait .plate{object-fit:cover;width:100%;height:100%}.status{color:var(--fg-2);align-items:center;gap:10px;margin-bottom:26px;font-size:.8125rem;display:inline-flex}.status-dot{background:var(--sand);border-radius:50%;flex:none;width:7px;height:7px;position:relative}.status-dot:after{content:"";border:1px solid var(--sand);opacity:0;animation:breathe 3.4s var(--ease) infinite;border-radius:50%;position:absolute;inset:-4px}@keyframes breathe{0%{opacity:.55;transform:scale(.7)}70%,to{opacity:0;transform:scale(1.5)}}.hero-name{letter-spacing:-.042em;text-wrap:balance;font-size:clamp(2.75rem,1.4rem + 6.2vw,6rem);font-weight:750;line-height:.98}.hero-role{letter-spacing:-.012em;color:var(--sand);margin-top:16px;font-size:clamp(1.0625rem,.96rem + .5vw,1.375rem);font-weight:500}.hero-lead{max-width:46ch;color:var(--fg-2);text-wrap:pretty;margin-top:18px;font-size:clamp(1rem,.94rem + .36vw,1.1875rem);line-height:1.6}.hero-lead.is-empty{color:var(--fg-3)}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.hero-stack{border-top:1px solid var(--line);grid-area:stack;margin-top:clamp(40px,7vh,76px);padding-top:20px}.hero-stack-key{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);margin-bottom:11px;font-size:.75rem;font-weight:600}.hero-stack ul{flex-wrap:wrap;gap:12px 26px;display:flex}.hero-stack li{color:var(--fg-2);align-items:center;gap:9px;font-size:.9375rem;display:inline-flex}.hero-jump{display:none}.hero-jump a{border:1px solid var(--line-2);color:var(--fg-2);border-radius:2px;align-items:center;gap:5px;padding:7px 13px;font-size:.8125rem;text-decoration:none;display:inline-flex}.hero-down{left:max(var(--edge), calc(50vw - 580px + var(--edge)));border:1px solid var(--line-2);width:38px;height:38px;color:var(--fg-3);transition:color var(--fast) var(--ease), border-color var(--fast) var(--ease);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:clamp(24px,5vh,48px)}.hero-down:hover{color:var(--sand);border-color:var(--sand)}@media (prefers-reduced-motion:no-preference){.hero-down svg{animation:nudge 2.8s var(--ease) infinite}}@keyframes nudge{0%,70%,to{transform:translateY(0)}35%{transform:translateY(3px)}}.sec{padding-block:clamp(52px,7vw,92px)}.sec-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:clamp(26px,3.6vw,44px);padding-bottom:18px;display:flex}.sec-title{letter-spacing:-.028em;font-size:clamp(1.375rem,1.15rem + .9vw,2rem);font-weight:700}.sec-note{color:var(--fg-3);font-size:.8125rem}.studio-in{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;gap:clamp(32px,5vw,76px);display:grid}.studio-host{color:var(--fg-3);transition:color var(--fast) var(--ease);align-items:center;gap:3px;text-decoration:none;display:inline-flex}.studio-host:hover{color:var(--sand)}.studio-lead{letter-spacing:-.024em;text-wrap:balance;max-width:42ch;font-size:clamp(1.125rem,1rem + .55vw,1.5rem);font-weight:650;line-height:1.35}.studio-text{max-width:46ch;color:var(--fg-2);margin-top:14px}.studio-copy .btn{margin-top:26px}.studio-copy .btn:hover svg{transform:translate(2px,-2px)}.studio-key{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);font-size:.75rem;font-weight:600}.studio-lines ol{border-top:1px solid var(--line);margin:10px 0 0;padding:0;list-style:none}.studio-lines li{border-bottom:1px solid var(--line)}.studio-lines li>a,.studio-lines li>span{color:inherit;grid-template-columns:minmax(0,1fr) auto;gap:2px 14px;padding-block:14px;text-decoration:none;display:grid}.studio-lines li svg{color:var(--fg-3);transition:transform var(--fast) var(--ease), color var(--fast) var(--ease);grid-area:1/2/span 2;align-self:center}.studio-name{transition:color var(--fast) var(--ease);font-weight:600}.studio-short{color:var(--fg-2);font-size:.875rem}.studio-lines a:hover .studio-name,.studio-lines a:hover svg{color:var(--sand)}.studio-lines a:hover svg{transform:translate(2px,-2px)}.skill-groups{columns:340px;column-gap:clamp(26px,3.6vw,64px)}.skill-group{break-inside:avoid;margin-bottom:clamp(26px,3.2vw,44px)}.skill-cat{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);padding-bottom:12px;font-size:.75rem;font-weight:600}.skill{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;display:flex}.skill-name{color:var(--fg-2);font-size:1rem}.skill-name .tech{margin-right:11px}.skill.lvl-high .skill-name{color:var(--fg);font-weight:600}.skill.lvl-low .skill-name{color:var(--fg-3)}.skill-meta{color:var(--fg-3);text-align:right;flex-direction:column;align-items:flex-end;gap:2px;font-size:.75rem;display:flex}.skill-uses{color:var(--sand);opacity:.9}.xp-item{border-top:1px solid var(--line);grid-template-columns:200px minmax(0,1fr);gap:clamp(20px,3vw,48px);padding-block:clamp(24px,3.2vw,38px);display:grid}.xp-item:first-child{border-top:0;padding-top:0}.xp-item:last-child{border-bottom:1px solid var(--line)}.xp-period{color:var(--fg-2);font-size:.875rem}.xp-span{color:var(--fg-3);margin-top:3px;font-size:.8125rem}.xp-now{border:1px solid var(--sand);letter-spacing:.06em;text-transform:uppercase;color:var(--sand);border-radius:2px;margin-top:10px;padding:2px 9px;font-size:.6875rem;font-weight:600;display:inline-block}.xp-role{letter-spacing:-.022em;font-size:clamp(1.125rem,1rem + .5vw,1.4375rem);font-weight:650}.xp-org{color:var(--sand);flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-top:5px;font-size:.9375rem;display:flex}.xp-org a{-webkit-text-decoration-color:color-mix(in srgb, var(--sand) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--sand) 45%, transparent);align-items:center;gap:3px;display:inline-flex}.xp-org a:hover{-webkit-text-decoration-color:var(--sand);text-decoration-color:var(--sand)}.xp-loc{color:var(--fg-3);font-size:.8125rem}.xp-desc{max-width:68ch;color:var(--fg-2);margin-top:14px}.xp-desc p+p{margin-top:.8em}.bullets{gap:6px;display:grid}.bullets li{padding-left:18px;position:relative}.bullets li:before{content:"";background:var(--fg-3);width:8px;height:1px;position:absolute;top:.78em;left:0}.xp-desc p+.bullets,.xp-desc .bullets+p,.about-text p+.bullets,.about-text .bullets+p{margin-top:.8em}.xp-links{flex-wrap:wrap;gap:6px 18px;margin-top:14px;display:flex}.xp-links a{color:var(--fg-2);-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);transition:color var(--fast) var(--ease);align-items:center;gap:3px;font-size:.8125rem;display:inline-flex}.xp-links a:hover{color:var(--sand);-webkit-text-decoration-color:var(--sand);text-decoration-color:var(--sand)}.xp-cv{margin-top:26px}.xp-cv a{color:var(--fg-2);-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);transition:color var(--fast) var(--ease);align-items:center;gap:8px;font-size:.9375rem;display:inline-flex}.xp-cv a:hover{color:var(--sand);-webkit-text-decoration-color:var(--sand);text-decoration-color:var(--sand)}.tags{flex-wrap:wrap;gap:6px;margin-top:16px;display:flex}.tags li{border:1px solid var(--line-2);color:var(--fg-3);border-radius:2px;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;display:inline-flex}.work-lead{border-bottom:1px solid var(--line);color:inherit;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(24px,3.6vw,52px);margin-bottom:clamp(36px,5vw,64px);padding-bottom:clamp(36px,5vw,64px);text-decoration:none;display:grid}.work-lead .work-summary{max-width:44ch}.work-result{border-top:1px solid var(--line);max-width:44ch;color:var(--fg);margin-top:16px;padding-top:14px;font-size:.9375rem;line-height:1.6}.work-result-key{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);margin-bottom:4px;font-size:.75rem;font-weight:600;display:block}.work-lead:hover .thumb .plate{transform:scale(1.025)}.work-lead:hover .thumb-marks{transform:scale(1.04)}.work-lead:hover .work-title,.work-lead:hover .work-title svg{color:var(--sand)}.work-lead:hover .work-title svg{transform:translate(2px,-2px)}.work-list{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:clamp(28px,3.6vw,52px);display:grid}.work-link{color:inherit;text-decoration:none;display:block}.thumb{aspect-ratio:16/10;border:1px solid var(--line);background:var(--bg-2);border-radius:3px;position:relative;overflow:hidden}.thumb .plate{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease)}.work-link:hover .thumb .plate{transform:scale(1.025)}.thumb.is-blank{aspect-ratio:auto;border-style:dashed;place-items:center;min-height:92px;display:grid}.thumb-note{color:var(--fg-3);text-align:center;padding:20px;font-size:.8125rem}.thumb.is-stack{flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px;display:flex}.thumb-marks{transition:transform .6s var(--ease);flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(18px,3.2vw,32px);display:flex}.thumb-marks .tech{width:clamp(30px,4.2vw,42px);height:clamp(30px,4.2vw,42px)}.case-cover .thumb-marks .tech{width:clamp(38px,6vw,72px);height:clamp(38px,6vw,72px)}.work-link:hover .thumb-marks{transform:scale(1.04)}.thumb.is-stack .thumb-note{opacity:.8;padding:0;font-size:.75rem}.work-copy{padding-top:18px}.work-title{letter-spacing:-.024em;transition:color var(--fast) var(--ease);align-items:baseline;gap:8px;font-size:clamp(1.125rem,1rem + .55vw,1.5rem);font-weight:650;display:flex}.work-title svg{color:var(--fg-3);transition:transform var(--fast) var(--ease), color var(--fast) var(--ease);flex:none}.work-link:hover .work-title{color:var(--sand)}.work-link:hover .work-title svg{color:var(--sand);transform:translate(2px,-2px)}.work-summary{max-width:54ch;color:var(--fg-2);margin-top:8px}.work-meta{color:var(--fg-3);margin-top:10px;font-size:.8125rem}.about-in{grid-template-columns:minmax(0,7fr) minmax(220px,4fr);align-items:start;gap:clamp(28px,5vw,88px);display:grid}.about-in:not(:has(.facts)){grid-template-columns:minmax(0,1fr)}.facts{border-top:1px solid var(--line)}.facts>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(96px,38%) minmax(0,1fr);align-items:baseline;gap:12px;padding:13px 0;display:grid}.facts dt{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);font-size:.75rem;font-weight:600}.facts dd{color:var(--fg);flex-wrap:wrap;align-items:baseline;gap:2px 10px;font-size:.9375rem;display:flex}.facts dd a{-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);transition:color var(--fast) var(--ease);align-items:center;gap:3px;display:inline-flex}.facts dd a:hover{color:var(--sand);-webkit-text-decoration-color:var(--sand);text-decoration-color:var(--sand)}.facts-note{color:var(--sand);font-size:.8125rem}.about-text{max-width:66ch;color:var(--fg-2);font-size:clamp(1rem,.96rem + .28vw,1.125rem);line-height:1.75}.about-text p+p{margin-top:1em}.journey{border-top:1px solid var(--line);max-width:66ch;margin-top:clamp(28px,4vw,44px);padding-top:20px}.about-text+.journey{margin-top:clamp(28px,4vw,44px)}.journey-key{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);margin-bottom:6px;font-size:.75rem;font-weight:600}.journey-list li{border-top:1px solid var(--line);grid-template-columns:5ch minmax(0,1fr);align-items:baseline;gap:18px;padding:10px 0;display:grid}.journey-list li:first-child{border-top:0}.journey-year{color:var(--fg-3);font-size:.8125rem}.journey-what{flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:.9375rem;display:flex}.journey-main{color:var(--fg)}.journey-org{color:var(--fg-2)}.journey-meta{color:var(--sand);font-size:.75rem}.edu-groups{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(24px,4vw,56px);display:grid}.edu-kind{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);align-items:center;gap:8px;padding-bottom:12px;font-size:.75rem;font-weight:600;display:flex}.edu-item{border-top:1px solid var(--line);gap:2px;padding:13px 0;display:grid}.edu-name{color:var(--fg);font-size:.9375rem}.edu-name a{-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);transition:color var(--fast) var(--ease);align-items:center;gap:3px;display:inline-flex}.edu-name a:hover{color:var(--sand);-webkit-text-decoration-color:var(--sand);text-decoration-color:var(--sand)}.edu-org,.edu-years{color:var(--fg-3);font-size:.8125rem}.ghost{color:var(--fg-3);text-decoration:line-through;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2)}.talk-in{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;gap:clamp(32px,5vw,76px);display:grid}.talk-lead{max-width:42ch;color:var(--fg-2);font-size:clamp(1rem,.96rem + .3vw,1.1875rem);line-height:1.65}.talk-mail{color:var(--fg-3);margin-top:22px;font-size:.9375rem}.talk-where{color:var(--fg-3);margin-top:9px;font-size:.9375rem}.talk-mail>svg,.talk-where>svg{vertical-align:-.18em;color:var(--fg-3);margin-right:9px}.talk-mail a{color:var(--sand);-webkit-text-decoration-color:color-mix(in srgb, var(--sand) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--sand) 45%, transparent)}.talk-mail a:hover{-webkit-text-decoration-color:var(--sand);text-decoration-color:var(--sand)}.talk-wa{border:1px solid var(--line-2);color:var(--fg);transition:border-color var(--fast) var(--ease), background-color var(--fast) var(--ease);border-radius:2px;align-items:center;gap:10px;margin-top:18px;padding:11px 16px;font-size:.9375rem;text-decoration:none;display:inline-flex}.talk-wa svg{color:var(--sand);flex:none}.talk-wa:hover{border-color:var(--sand);background:var(--bg-2)}.talk-wa-num{color:var(--fg-3);font-size:.875rem}.talk-cvs{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.talk-links{border-top:1px solid var(--line);margin-top:30px;padding-top:20px}.talk-links-key{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);margin-bottom:11px;font-size:.75rem;font-weight:600}.talk-links ul{flex-wrap:wrap;gap:8px 20px;display:flex}.talk-links a{color:var(--fg-2);-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);transition:color var(--fast) var(--ease);align-items:center;gap:3px;font-size:.9375rem;display:inline-flex}.talk-links a .tech{margin-right:6px}.talk-links a:hover{color:var(--sand);-webkit-text-decoration-color:var(--sand);text-decoration-color:var(--sand)}.form{gap:16px;display:grid}.cf-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.cf-field{gap:6px;display:grid}.cf-field label{color:var(--fg-2);font-size:.8125rem}.cf-hint{color:var(--fg-3)}.cf-field input,.cf-field textarea{border:1px solid var(--field-line);background:var(--bg-2);width:100%;color:var(--fg);transition:border-color var(--fast) var(--ease), background-color var(--fast) var(--ease);border-radius:2px;padding:11px 13px;font-size:.9375rem}.cf-field textarea{resize:vertical;min-height:116px;line-height:1.6}.cf-field input::placeholder,.cf-field textarea::placeholder{color:var(--fg-3)}.cf-field input:hover,.cf-field textarea:hover{border-color:var(--fg-2)}.cf-field input:focus-visible,.cf-field textarea:focus-visible{border-color:var(--sand);background:var(--bg-3);outline:2px solid var(--sand);outline-offset:2px}.cf-field.has-error input,.cf-field.has-error textarea{border-color:var(--danger)}.cf-error,.cf-form-error{color:var(--danger);font-size:.8125rem}.cf-trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form>.btn{justify-self:start}.form-sent{border:1px solid var(--line-2);background:var(--bg-2);border-radius:3px;justify-items:start;gap:18px;padding:26px}.form-sent-text{color:var(--fg)}.case{padding-block:clamp(36px,5.4vw,68px) clamp(56px,8.5vw,106px)}.case-back{color:var(--fg-3);transition:color var(--fast) var(--ease);align-items:center;gap:7px;font-size:.875rem;text-decoration:none;display:inline-flex}.case-back:hover{color:var(--sand)}.case-title{letter-spacing:-.036em;text-wrap:balance;max-width:18ch;margin-top:22px;font-size:clamp(2rem,1.3rem + 3.2vw,3.75rem);font-weight:700;line-height:1.04}.case-lead{max-width:52ch;color:var(--fg-2);margin-top:16px;font-size:clamp(1rem,.94rem + .4vw,1.25rem);line-height:1.6}.case-facts{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px 32px;margin-top:34px;padding-top:22px;display:grid}.case-facts dt{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);margin-bottom:7px;font-size:.75rem;font-weight:600}.case-facts dd{color:var(--fg);margin:0;font-size:.9375rem}.case-facts .tags{margin-top:0}.case-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.case-cover{aspect-ratio:16/8;margin-top:clamp(32px,4.6vw,56px)}.case-cover.is-stack{aspect-ratio:auto;padding-block:clamp(44px,5.6vw,76px)}.case-story{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px clamp(28px,4vw,56px);margin-top:clamp(32px,4.6vw,56px);padding-top:26px;display:grid}.case-story dt{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);margin-bottom:10px;font-size:.75rem;font-weight:600}.case-story dd{max-width:44ch;color:var(--fg-2);margin:0;font-size:1rem;line-height:1.65}.case-story dd p+p{margin-top:.8em}.case-story>div:last-child dd{color:var(--fg)}.case-body{margin-top:clamp(28px,4.2vw,50px)}.case-text{max-width:66ch;color:var(--fg-2);font-size:clamp(1rem,.96rem + .28vw,1.125rem);line-height:1.75}.case-text p+p{margin-top:1em}.case-gallery{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:clamp(16px,2.4vw,28px);margin-top:clamp(28px,4.2vw,50px);display:grid}.case-shot{border:1px solid var(--line);border-radius:3px;width:100%}.case-next{border-top:1px solid var(--line);margin-top:clamp(48px,6.6vw,86px)}.case-next a{transition:color var(--fast) var(--ease);align-items:center;gap:16px;padding-block:28px;text-decoration:none;display:flex}.case-next a:hover{color:var(--sand)}.case-next-key{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);font-size:.75rem;font-weight:600}.case-next-title{letter-spacing:-.026em;flex:1;font-size:clamp(1.125rem,1rem + .6vw,1.625rem);font-weight:650}.case-next a svg{transition:transform var(--fast) var(--ease);flex:none}.case-next a:hover svg{transform:translate(5px)}.screen{min-height:calc(100svh - var(--bar));place-items:center;display:grid}.screen-in{text-align:center;justify-items:center;gap:22px;display:grid}.screen-title{letter-spacing:-.026em;max-width:30ch;font-size:clamp(1.25rem,1.05rem + .9vw,1.875rem);font-weight:650}.loader{border:2px solid var(--line-2);border-top-color:var(--sand);border-radius:50%;width:22px;height:22px;animation:.72s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.foot{border-top:1px solid var(--line);padding-block:32px 40px}.foot-in{color:var(--fg-3);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 28px;font-size:.8125rem;display:flex}.foot-name{color:var(--fg-2);font-weight:500}.foot-year{color:var(--fg-3);font-weight:400}.foot-links{flex-wrap:wrap;gap:8px 20px;display:flex}.foot-links a{transition:color var(--fast) var(--ease);align-items:center;gap:7px;text-decoration:none;display:inline-flex}.foot-links a:hover{color:var(--sand)}@media (prefers-reduced-motion:no-preference){.hero-copy>*,.hero-portrait,.hero-stack{animation:rise .7s var(--ease) both}.hero-copy>:nth-child(2){animation-delay:60ms}.hero-copy>:nth-child(3){animation-delay:.11s}.hero-copy>:nth-child(4){animation-delay:.16s}.hero-copy>:nth-child(5){animation-delay:.21s}.hero-portrait{animation-delay:.14s}.hero-stack{animation-delay:.26s}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (width<=900px){.bar-in{gap:16px}.bar-nav{gap:18px;margin-inline:auto 0}.bar-nav a{font-size:.8125rem}.bar-end{gap:12px}.xp-item{grid-template-columns:minmax(0,1fr);gap:12px}.xp-when{flex-wrap:wrap;align-items:baseline;gap:6px 14px;display:flex}.xp-span,.xp-now{margin-top:0}.about-in,.talk-in,.studio-in,.work-lead{grid-template-columns:minmax(0,1fr)}.work-lead{align-items:start}.hero.has-portrait .hero-in{grid-template-columns:minmax(0,1fr);grid-template-areas:"portrait""copy""stack"}.hero-portrait{width:clamp(120px,26vw,168px);margin-bottom:26px}}@media (width<=560px){.hero{min-height:0;padding-block:clamp(32px,6vh,56px) clamp(30px,5vh,46px)}.bar-nav{display:none}.bar-end{margin-left:auto}.hero-down{display:none}.hero-jump{flex-wrap:wrap;gap:8px;margin-top:30px;display:flex}.sec-head{flex-direction:column;align-items:flex-start;gap:6px}.skill{flex-direction:column;align-items:flex-start;gap:3px}.skill-meta{text-align:left;align-items:flex-start}.work-list{grid-template-columns:minmax(0,1fr)}.hero-actions .btn,.studio-copy .btn,.form>.btn{justify-content:center;width:100%}}
