.card-swap-container{transform-origin:100% 100%;perspective:900px;position:absolute;bottom:0;right:0;overflow:visible;transform:translate(3%,12%)}.card-swap-card{color:#d7e2ea;cursor:pointer;transform-style:preserve-3d;will-change:transform;backface-visibility:hidden;background:#080a09;border:1px solid #d7e2ea57;border-radius:clamp(1.1rem,2vw,1.75rem);position:absolute;top:50%;left:50%;overflow:hidden;box-shadow:0 1.5rem 5rem #00000075,inset 0 0 0 1px #84cc160d}.card-swap-card:focus-visible{outline-offset:5px;outline:2px solid #84cc16}@media (width<=48rem){.card-swap-container{transform-origin:bottom;right:50%;transform:translate(50%,5%)scale(.82)}}@media (width<=30rem){.card-swap-container{transform:translate(50%,5%)scale(.78)}}@media (prefers-reduced-motion:reduce){.card-swap-card{will-change:auto}}.projects-section{background:linear-gradient(#04060514,#040605b8),radial-gradient(circle at 76% 48%,#84cc161a,#0000 34%);min-height:100svh}.projects-section .section-heading{grid-template-columns:minmax(8rem,.24fr) minmax(0,1fr);align-items:start;gap:1.5rem clamp(2rem,7vw,7rem);max-width:none;display:grid}.projects-section .section-eyebrow{white-space:nowrap;align-items:center;gap:.75rem;padding-top:.65rem;display:flex}.projects-section .section-eyebrow:before{content:"";background:#84cc1629;border:1px solid #84cc16;border-radius:50%;width:.55rem;height:.55rem;box-shadow:0 0 1rem #84cc1647}.projects-section .section-title{letter-spacing:-.065em;-webkit-text-fill-color:transparent;background:linear-gradient(105deg,#f4f6f1 0% 65%,#a8df53 100%);-webkit-background-clip:text;background-clip:text;width:100%;max-width:none;font-size:clamp(3.2rem,7.2vw,7.25rem);font-weight:650;line-height:.94}.projects-section .section-title span{white-space:nowrap;display:block}.projects-section .section-content{border-top:1px solid #d7e2ea26;margin-top:clamp(3rem,5vw,4.5rem);padding-top:clamp(2.5rem,4vw,4rem)}.project-showcase{grid-template-columns:minmax(0,.72fr) minmax(31rem,1.28fr);grid-template-areas:"intro stage";align-items:start;gap:clamp(2rem,7vw,7rem);min-height:clamp(35rem,58vw,46rem);display:grid}.project-showcase-intro{z-index:8;border-left:1px solid #84cc1680;grid-area:intro;justify-items:start;gap:1.5rem;max-width:31rem;margin-top:clamp(1.5rem,4vw,4rem);padding-left:clamp(1rem,2vw,1.75rem);display:grid;position:relative}.project-showcase-copy{gap:1.25rem;animation:.42s cubic-bezier(.22,1,.36,1) both project-copy-enter;display:grid}.project-showcase-meta{color:#84cc16;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:.55rem 1rem;font-size:.68rem;display:flex}.project-showcase-label{color:#84cc16;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:700}.project-showcase-copy h3{letter-spacing:-.05em;text-wrap:balance;font-size:clamp(2rem,4vw,4.25rem);font-weight:650;line-height:.98}.project-showcase-copy>p{max-width:29rem;color:var(--muted);font-size:clamp(.95rem,1.4vw,1.1rem);line-height:1.75}.project-showcase-copy>ul{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.project-showcase-copy>ul li{color:#d7e2eabf;font-family:var(--font-mono);border:1px solid #d7e2ea33;border-radius:999px;padding:.42rem .72rem;font-size:.62rem}@keyframes project-copy-enter{0%{opacity:0;transform:translateY(.8rem)}to{opacity:1;transform:translateY(0)}}.project-showcase-link{border-bottom:1px solid #84cc16;align-items:center;gap:.7rem;padding-bottom:.35rem;font-weight:650;transition:gap .2s,color .2s;display:inline-flex}.project-showcase-link:hover{color:#84cc16;gap:1rem}.project-showcase-stage{grid-area:stage;min-width:0;height:clamp(34rem,52vw,43rem);position:relative}.project-showcase-stage>.card-swap-container{transform-origin:100% 0;top:clamp(7rem,9vw,8.5rem);bottom:auto;right:0;transform:translate(3%)}.project-poster-card{grid-template-rows:auto minmax(0,1fr) auto auto;padding:clamp(.75rem,1.8vw,1.15rem);transition:border-color .28s,background-color .28s,box-shadow .28s;display:grid}.project-poster-card:after{z-index:4;content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#84cc161f,#06b6d41a,#0000);width:30%;transition:transform .65s cubic-bezier(.22,1,.36,1);position:absolute;top:-35%;bottom:-35%;left:-55%;transform:rotate(14deg)translate(-160%)}.project-poster-toolbar{z-index:2;min-width:0;font-family:var(--font-mono);border-bottom:1px solid #d7e2ea29;justify-content:space-between;align-items:center;gap:1rem;padding:.2rem .25rem .85rem;display:flex;position:relative}.project-poster-title{align-items:center;gap:.65rem;min-width:0;display:flex}.project-poster-title>span{background:#d7e2ea1f;border:1px solid #d7e2eabf;border-radius:50%;flex:none;width:.62rem;height:.62rem;transition:border-color .25s,background-color .25s,box-shadow .25s;box-shadow:0 0 #84cc1600}.project-poster-title strong{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.78rem,1.5vw,1rem);font-weight:600;transition:color .25s,transform .25s;overflow:hidden}.project-poster-number{color:#d7e2ea75;letter-spacing:.12em;flex:none;font-size:.65rem}.project-poster-media{z-index:1;background:#101410;border:1px solid #d7e2ea24;border-radius:calc(clamp(1.1rem,2vw,1.75rem) - .35rem);min-height:0;margin-top:.8rem;transition:border-color .28s,box-shadow .28s;position:relative;overflow:hidden}.project-poster-media img{object-fit:cover;width:100%;height:100%;transition:filter .5s,transform .5s cubic-bezier(.22,1,.36,1)}.project-poster-placeholder{background:linear-gradient(#84cc1617 1px,#0000 1px) 0 0/2.1rem 2.1rem,linear-gradient(90deg,#06b6d414 1px,#0000 1px) 0 0/2.1rem 2.1rem,radial-gradient(circle at 70% 28%,#06b6d43d,#0000 24%),radial-gradient(circle at 32% 68%,#84cc1640,#0000 28%),#0b0e0c;justify-content:space-between;align-items:flex-end;width:100%;height:100%;min-height:14rem;padding:clamp(1rem,3vw,2rem);transition:background-position .65s cubic-bezier(.22,1,.36,1),filter .45s,transform .5s cubic-bezier(.22,1,.36,1);display:flex;position:relative}.project-poster-placeholder:after{content:"";border:1px dashed #d7e2ea33;border-radius:50%;position:absolute;inset:12%;transform:rotate(-12deg)}.project-poster-placeholder span,.project-poster-placeholder strong{z-index:1;font-family:var(--font-mono);text-transform:uppercase;position:relative}.project-poster-placeholder span{color:#d7e2eaa8;letter-spacing:.18em;font-size:.68rem}.project-poster-placeholder strong{color:#84cc16;font-size:clamp(3.5rem,8vw,6.5rem);font-weight:500;line-height:.72}.project-poster-copy{z-index:2;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem .2rem .85rem;display:flex;position:relative}.project-poster-copy p{color:#84cc16;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.66rem}.project-poster-copy .project-poster-period{color:var(--muted);text-align:right;flex:none}.project-poster-tags{z-index:2;flex-wrap:wrap;gap:.4rem;margin:0;padding:0 .2rem .1rem;list-style:none;display:flex;position:relative}.project-poster-card[aria-pressed=true]{border-color:#84cc1694;box-shadow:0 1.5rem 5rem #00000085,0 0 2.8rem #84cc161a,inset 0 0 0 1px #84cc161f}.project-poster-card[aria-pressed=true] .project-poster-title>span{background:#84cc16;border-color:#84cc16;box-shadow:0 0 1rem #84cc16a6}@media (hover:hover) and (pointer:fine){.project-poster-card:hover{background:#0b0e0c;border-color:#84cc16c2;box-shadow:0 1.8rem 6rem #00000094,0 0 3.5rem #84cc1624,inset 0 0 0 1px #06b6d41f}.project-poster-card:hover:after{transform:rotate(14deg)translate(650%)}.project-poster-card:hover .project-poster-title>span{background:#84cc16;border-color:#84cc16;box-shadow:0 0 1rem #84cc16b3}.project-poster-card:hover .project-poster-title strong{color:#fff;transform:translate(.22rem)}.project-poster-card:hover .project-poster-media{border-color:#06b6d457;box-shadow:inset 0 0 2rem #06b6d417}.project-poster-card:hover .project-poster-media img,.project-poster-card:hover .project-poster-placeholder{filter:brightness(1.12)saturate(1.12);transform:scale(1.025)}.project-poster-card:hover .project-poster-placeholder{background-position:.55rem .25rem,.55rem .25rem,50%,50%,50%}}.project-poster-tags li{color:#d7e2eab8;font-family:var(--font-mono);letter-spacing:.04em;border:1px solid #d7e2ea2e;border-radius:999px;padding:.35rem .65rem;font-size:.6rem}@media (width<=64rem){.project-showcase{grid-template-columns:minmax(0,.72fr) minmax(27rem,1.28fr)}}@media (width<=48rem){.projects-section .section-heading{grid-template-columns:minmax(0,1fr);gap:1.15rem}.projects-section .section-eyebrow{padding-top:0}.projects-section .section-title{font-size:clamp(2.25rem,11.5vw,4.25rem);line-height:.96}.projects-section .section-content{margin-top:2.5rem;padding-top:2rem}.project-showcase{grid-template-columns:minmax(0,1fr);grid-template-areas:"stage""intro";gap:clamp(1.5rem,6vw,3rem);min-height:auto}.project-showcase-intro{gap:1.1rem;max-width:36rem;margin-top:0;padding-left:1rem}.project-showcase-stage{height:clamp(25rem,112vw,32rem)}.project-showcase-stage>.card-swap-container{transform-origin:bottom;top:auto;bottom:0;right:50%;transform:translate(50%,5%)scale(.82)}.project-poster-card{padding:.7rem}.project-poster-toolbar{padding:.1rem .15rem .6rem}.project-poster-media{margin-top:.6rem}.project-poster-placeholder{min-height:0;padding:1rem}.project-poster-copy{align-items:center;padding:.65rem .1rem .15rem}.project-poster-tags{display:none}}@media (width<=30rem){.project-showcase-stage{height:25rem}.project-showcase-stage>.card-swap-container{transform:translate(50%,5%)scale(.78)}}@media (prefers-reduced-motion:reduce){.project-showcase-copy{animation:none}.project-showcase-link,.project-poster-card,.project-poster-card:after,.project-poster-media,.project-poster-media img,.project-poster-placeholder,.project-poster-title>span,.project-poster-title strong{transition:none}}.particle-text{isolation:isolate;touch-action:none;width:100%;height:100%;min-height:240px;margin:0;display:block;position:relative;overflow:hidden}.particle-text__canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.particle-text__sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero-particle-text{height:clamp(9rem,20vw,19rem);min-height:clamp(9rem,20vw,19rem);font-family:var(--font-display);touch-action:pan-y}@media (height<=43rem) and (width>=40rem){.hero-particle-text{height:clamp(7rem,17vw,11rem);min-height:clamp(7rem,17vw,11rem)}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-mono:var(--font-mono);--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-light:300;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-snug:1.375;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:var(--font-display)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-\[calc\(15vh\+5rem\)\]{top:calc(15vh + 5rem)}.top-\[calc\(110vh\+5rem\)\]{top:calc(110vh + 5rem)}.left-1\/2{left:50%}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mt-\[100vh\]{margin-top:-100vh}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.h-\[320vh\]{height:320vh}.h-auto{height:auto}.h-screen{height:100vh}.min-h-\[75svh\]{min-height:75svh}.min-h-\[560px\]{min-height:560px}.min-h-screen{min-height:100vh}.w-\[min\(320px\,95vw\)\]{width:min(320px,95vw)}.w-full{width:100%}.max-w-\[160px\]{max-width:160px}.origin-bottom{transform-origin:bottom}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.place-content-center{place-content:center}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.overflow-hidden{overflow:hidden}.overflow-x-clip{overflow-x:clip}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pb-7{padding-bottom:calc(var(--spacing) * 7)}.text-center{text-align:center}.font-display{font-family:var(--font-display)}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-\[clamp\(0\.75rem\,1\.4vw\,1\.5rem\)\]{font-size:clamp(.75rem,1.4vw,1.5rem)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-\[\#D7E2EA\]{color:#d7e2ea}.uppercase{text-transform:uppercase}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-transform{will-change:transform}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.hover\:opacity-70:hover{opacity:.7}}@media (width>=40rem){.sm\:top-auto{top:auto}.sm\:bottom-0{bottom:calc(var(--spacing) * 0)}.sm\:-mt-2{margin-top:calc(var(--spacing) * -2)}.sm\:w-\[420px\]{width:420px}.sm\:max-w-\[220px\]{max-width:220px}.sm\:translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.sm\:pb-8{padding-bottom:calc(var(--spacing) * 8)}}@media (width>=48rem){.md\:-mt-6{margin-top:calc(var(--spacing) * -6)}.md\:w-\[520px\]{width:520px}.md\:max-w-\[260px\]{max-width:260px}.md\:px-10{padding-inline:calc(var(--spacing) * 10)}.md\:pt-8{padding-top:calc(var(--spacing) * 8)}.md\:pb-10{padding-bottom:calc(var(--spacing) * 10)}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}@media (width>=64rem){.lg\:w-\[620px\]{width:620px}.lg\:text-\[1\.4rem\]{font-size:1.4rem}}}.responsive-picture{display:contents}:root{--background:#09090b;--surface:#111114;--foreground:#f5f5f4;--muted:#a1a1aa;--line:#27272a;--accent:#d6ff3f;--font-sans:Inter, "Segoe UI", Arial, sans-serif;--font-display:Inter, "Segoe UI", Arial, sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box}html{background:var(--background);color:var(--foreground);scroll-padding-top:5rem}body{background:var(--background);min-width:20rem;min-height:100svh;color:var(--foreground);font-family:var(--font-sans);text-rendering:optimizelegibility;margin:0}.site-ripple-background{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.site-ripple-background:after{content:"";background:linear-gradient(#09090b14,#09090b6b),radial-gradient(circle at 50% 45%,#0000 15%,#09090b47 85%);position:absolute;inset:0}.site-content-layer{z-index:1;position:relative}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--background)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.site-container{width:min(100% - 2rem,80rem);margin-inline:auto}.skip-link{z-index:100;background:var(--accent);color:var(--background);border-radius:999px;padding:.7rem 1rem;font-weight:700;position:fixed;top:1rem;left:1rem;translate:0 -200%}.skip-link:focus{translate:0}.about-cinematic-panel{-webkit-backdrop-filter:blur(30px);background:#0c0c0cbf;border-top:1px solid #ffffff26;border-radius:60px 60px 0 0;box-shadow:0 -20px 80px #00000080}.about-cinematic-content{gap:clamp(1.25rem,3.5vh,3rem);padding-block:clamp(3rem,7vh,6rem);display:grid}.about-cinematic-eyebrow{color:var(--accent);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.55rem;font-size:.72rem;font-weight:600}.about-cinematic-title{color:#0000;letter-spacing:-.065em;text-transform:uppercase;-webkit-text-fill-color:transparent;background:linear-gradient(#fff 0%,#d7e2ea 48%,#72889a 100%);-webkit-background-clip:text;background-clip:text;width:fit-content;font-size:clamp(3.3rem,11vw,9.5rem);font-weight:900;line-height:.86}.about-reveal-copy{--reveal-progress:0;--character-count:1;text-wrap:balance;letter-spacing:-.02em;max-width:57rem;font-size:clamp(1.05rem,2.15vw,1.8rem);line-height:1.45}.about-reveal-character{--character-index:0;--character-progress:clamp(0, calc(( var(--reveal-progress) * (var(--character-count) + 6) - var(--character-index) ) / 7), 1);opacity:var(--character-progress);transform:translate3d(0, calc((1 - var(--character-progress)) * .6em), 0);will-change:transform, opacity;display:inline-block}.about-reveal-word{white-space:nowrap;display:inline-block}.about-reveal-space{width:.25em;display:inline-block}.about-cinematic-meta{border-top:1px solid #ffffff1a;align-items:end;gap:1.5rem;padding-top:clamp(1.25rem,3vh,2.25rem);display:grid}.about-cinematic-meta .tag-list{margin-top:.75rem}.about-cinematic-meta .tag-list li{color:#d7e2ea;background:#ffffff09;border-color:#ffffff24}.about-education-compact{color:var(--muted);gap:.3rem;font-size:.82rem;display:grid}.about-education-compact h3{color:var(--foreground);margin-top:.3rem;font-size:1rem;font-weight:600}.about-education-compact p:last-child{color:var(--accent);margin-top:.35rem}.about-orb{z-index:0;aspect-ratio:1;pointer-events:none;will-change:transform, opacity;border:1px solid #ffffff1f;border-radius:50%;position:absolute}.about-orb-one{background:radial-gradient(circle at 30% 25%,#d7e2ea80,#0000 24%),radial-gradient(circle at 65% 70%,#5d6fff33,#0000 42%),#ffffff06;width:clamp(9rem,20vw,19rem);bottom:-8%;right:4%;box-shadow:inset -28px -35px 55px #00000073}.about-orb-two{background:radial-gradient(circle at 35% 25%,#d6ff3f6b,#0000 25%),#ffffff05;width:clamp(4.5rem,8vw,8rem);top:22%;right:22%;box-shadow:inset -18px -20px 32px #00000085}.about-orb-three{background:radial-gradient(circle at 65% 20%,#8199ac8c,#0000 28%),#ffffff05;width:clamp(6rem,12vw,12rem);bottom:10%;left:-3%;box-shadow:inset 24px -28px 44px #0000007a}.contact-button{aspect-ratio:1;color:#d7e2ea;letter-spacing:.08em;text-transform:uppercase;border:1px solid #d7e2eab3;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;width:clamp(4.75rem,8vw,7rem);font-size:clamp(.65rem,1vw,.9rem);font-weight:600;transition:color .2s,background-color .2s,border-color .2s;display:inline-flex}.contact-button:hover{color:var(--background);background:#d7e2ea;border-color:#d7e2ea}.section-shell{isolation:isolate;border-bottom:1px solid var(--line);min-height:75svh;padding-block:clamp(6rem,10vw,10rem);position:relative;overflow:hidden}.section-shell>.site-container{z-index:2;position:relative}.decorative-sticker-layer{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.decorative-sticker{width:var(--sticker-size);height:var(--sticker-size);object-fit:contain;opacity:.88;transform:rotate(var(--sticker-rotation));image-rendering:pixelated;filter:drop-shadow(0 .8rem .85rem #0000007a)drop-shadow(0 0 .6rem #d6ff3f14);position:absolute}.about-cinematic-panel>.decorative-sticker-layer{z-index:1}.section-heading{gap:1rem;max-width:52rem;display:grid}.section-eyebrow{color:var(--accent);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.75rem;font-weight:600}.section-title{text-wrap:balance;font-family:var(--font-display);letter-spacing:-.045em;font-size:clamp(2.25rem,5vw,5rem);font-weight:600;line-height:1}.section-content{margin-top:clamp(3rem,7vw,6rem)}.inline-link{border-bottom:1px solid var(--accent);width:fit-content;color:var(--foreground);padding-bottom:.25rem;font-weight:600}.content-label,.project-kicker,.project-period{color:var(--muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.about-layout{gap:3rem;display:grid}.about-name{color:var(--accent);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.5rem;font-size:.78rem}.about-name span{color:var(--muted);margin-left:.65rem}.about-lede{text-wrap:balance;letter-spacing:-.025em;max-width:43rem;font-size:clamp(1.4rem,2.6vw,2.5rem);line-height:1.3}.focus-panel{border-top:1px solid var(--line);align-self:end;padding-top:1rem}.tag-list{flex-wrap:wrap;gap:.55rem;margin:1.25rem 0 0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.45rem .7rem;font-size:.76rem}.education-card,.experience-card{border:1px solid var(--line);background:var(--surface);border-radius:1.5rem;margin-top:clamp(3.5rem,8vw,7rem);padding:clamp(1.25rem,3vw,2.5rem)}.education-card{gap:2rem;display:grid}.education-card h3,.experience-card h3{letter-spacing:-.03em;margin-top:.7rem;font-size:clamp(1.35rem,2.5vw,2.25rem);font-weight:600}.education-card h3+p{color:var(--muted);margin-top:.45rem}.education-meta{color:var(--muted);align-content:start;gap:.4rem;font-size:.9rem;display:grid}.education-meta p:last-child{color:var(--accent);margin-top:.75rem}.education-areas{grid-column:1/-1;margin-top:0}.experience-heading{flex-direction:column;justify-content:space-between;gap:1rem;display:flex}.experience-heading>p{color:var(--muted);font-family:var(--font-mono);font-size:.8rem}.experience-summary{max-width:46rem;color:var(--muted);margin-top:2rem;font-size:1.05rem;line-height:1.7}.achievement-list,.project-details{gap:1rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.achievement-list li,.project-details li{color:var(--muted);padding-left:1.4rem;line-height:1.65;position:relative}.achievement-list li:before,.project-details li:before{color:var(--accent);content:"↳";position:absolute;top:0;left:0}.work-tv{aspect-ratio:1.15;width:min(100%,60rem);margin-inline:auto;position:relative;overflow:hidden;container-type:inline-size}.work-tv-image{-webkit-user-select:none;user-select:none;width:156.8%;max-width:none;height:auto;display:block;position:absolute;top:-22.5%;left:-28.4%}.work-tv-screen-frame{clip-path:inset(0 round 16%/13%);color:#151610;width:57.5%;height:55%;font-family:var(--font-mono);contain:paint;isolation:isolate;text-shadow:0 0 .18em #4b631d61;border-radius:16%/13%;font-size:clamp(.58rem,1.65cqw,1.5rem);line-height:1.34;position:absolute;top:32.3%;left:16.1%;overflow:hidden;transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}.work-tv-screen{z-index:1;border-radius:inherit;overflow-wrap:anywhere;flex-direction:column;justify-content:center;width:100%;height:100%;min-height:0;max-height:100%;padding:3.8% 3.4% 4.5%;display:flex;position:relative;overflow:hidden}.work-tv-screen>*{z-index:1;min-width:0;max-width:100%;position:relative}.work-tv-screen-frame:before,.work-tv-screen-frame:after{z-index:2;border-radius:inherit;pointer-events:none;content:"";position:absolute;inset:0}.work-tv-screen-frame:before{opacity:.62;mix-blend-mode:multiply;background:repeating-linear-gradient(#0c120700 0 2px,#05080324 3px 4px),linear-gradient(90deg,#ff402006,#50ff4805,#4068ff06)}.work-tv-screen-frame:after{z-index:3;opacity:.34;background:linear-gradient(120deg,#ffffe617,#0000 24%),radial-gradient(#0000 45%,#0c100733 78%,#0507037a 100%);animation:3.6s steps(2,end) infinite crt-screen-flicker;box-shadow:inset 0 0 1.5rem #12190752}.work-tv-role{color:#516317;letter-spacing:.07em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;flex:none;min-height:1.2em;margin-bottom:1.5%;font-size:.74em;font-weight:700;line-height:1.2;overflow:hidden}.work-tv-heading{flex:none;justify-content:space-between;align-items:flex-start;gap:.7rem;min-width:0;display:flex}.work-tv-heading h3{max-width:68%;font-family:var(--font-sans);letter-spacing:-.035em;overflow-wrap:anywhere;font-size:clamp(1rem,2.5cqw,2.25rem);font-weight:750;line-height:1}.work-tv-heading>p{color:#4e4d45;white-space:nowrap;flex:none;font-size:.7em}.work-tv-summary{color:#32332d;flex:none;margin-top:2.2%;font-size:1em}.work-tv-scroll-hint{display:none}.work-tv-achievements{color:#36372f;border-top:1px solid #272f1238;flex:none;align-content:start;gap:.35em;min-height:0;margin:2.4% 0 0;padding:2.4% 0 0;font-size:.78em;line-height:1.28;list-style:none;display:grid;overflow:hidden}.work-tv-achievements li{padding-left:1em}.work-tv-achievements li:before{float:left;color:#516317;content:">";margin-left:-1em}@keyframes crt-screen-flicker{0%,47%,51%,to{opacity:.34}48%{opacity:.29}49%{opacity:.4}}.cinematic-experience{isolation:isolate;height:325vh;position:relative}.cinematic-experience-title-timeline{pointer-events:none;width:1px;height:220vh;position:absolute;inset:0 auto auto 0}.cinematic-experience-stage{border-bottom:1px solid var(--line);perspective:1200px;justify-content:center;align-items:center;height:100vh;min-height:35rem;display:flex;position:sticky;top:0;overflow:hidden}.cinematic-experience-title-wrap{z-index:1;will-change:transform, opacity, filter;top:50%;width:100%;position:absolute;inset-inline:0;translate:0 -50%}.cinematic-experience-particle{height:clamp(10rem,24vw,22rem);min-height:clamp(10rem,24vw,22rem);font-family:var(--font-display);touch-action:pan-y}.cinematic-experience-tv-exit{z-index:2;pointer-events:none;width:min(90vw,132vh);position:absolute;top:min(50%,100% - min(39.13vw,57.39vh));left:50%;translate:-50% -50%}.cinematic-experience-tv{transform-origin:50%;will-change:transform, opacity;width:100%}.cinematic-experience-tv .work-tv{width:100%;max-width:none}@media (width<=63rem){.work-tv-achievements li:nth-child(n+3){display:none}.work-tv-achievements li{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}@media (width<=40rem){.work-tv-screen{overscroll-behavior-y:auto;pointer-events:auto;scrollbar-color:#51631794 transparent;scrollbar-width:thin;touch-action:pan-y;-webkit-overflow-scrolling:touch;padding:3.8% 4% 18%;scroll-padding-block:8% 18%;display:block;overflow:hidden auto}.work-tv-screen::-webkit-scrollbar{width:3px}.work-tv-screen::-webkit-scrollbar-thumb{background:#51631794;border-radius:999px}.work-tv-screen-frame:before{opacity:.38}.work-tv-screen-frame:after{opacity:.22}.work-tv-role{font-size:0}.work-tv-role:after{content:"工作经历";font-size:.43rem}.work-tv-heading{display:block}.work-tv-heading h3{max-width:100%;font-size:clamp(.78rem,4cqw,1.05rem)}.work-tv-heading>p{margin-top:.15rem;font-size:.72em}.work-tv-scroll-hint{color:#516317;letter-spacing:.08em;text-transform:uppercase;margin-top:.28rem;font-size:.5rem;font-weight:700;display:block}.work-tv-summary{margin-top:2.5%;font-size:.9em;line-height:1.22;display:block;overflow:visible}.work-tv-achievements{gap:.28em;margin-top:2.5%;padding-top:2.5%;font-size:.78em;line-height:1.18;display:grid;overflow:visible}.work-tv-achievements li{-webkit-line-clamp:unset;display:block;overflow:visible}.work-tv-achievements li:nth-child(n+3){display:block}}@media (height<=43rem) and (width>=40rem){.cinematic-experience-particle{height:clamp(8rem,18vw,12rem);min-height:clamp(8rem,18vw,12rem)}}.project-list{margin:0;padding:0;list-style:none}.project-card{border-top:1px solid var(--line);grid-template-columns:2.5rem minmax(0,1fr);gap:1rem;padding-block:clamp(2rem,5vw,4.5rem);display:grid}.project-card:last-child{border-bottom:1px solid var(--line)}.project-index{color:var(--accent);font-family:var(--font-mono);font-size:.75rem}.project-card-header{flex-direction:column;justify-content:space-between;gap:1rem;display:flex}.project-card h3{letter-spacing:-.045em;margin-top:.55rem;font-size:clamp(1.75rem,4vw,4rem);font-weight:600;line-height:1}.project-summary{max-width:44rem;color:var(--muted);margin-top:1.5rem;font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.65}.project-details{border-top:1px solid var(--line);max-width:52rem;padding-top:1.5rem}.contact-section{background:radial-gradient(circle at 84% 20%,#06b6d41a,#0000 28rem),linear-gradient(#030504d1,#080c09f5);min-height:auto}.contact-section .section-heading{max-width:none}.contact-section .section-title span{display:block}.contact-section .section-content{border-top:1px solid var(--line)}.contact-layout{gap:clamp(3rem,7vw,7rem);padding-block:clamp(2.5rem,5vw,4.5rem);display:grid}.contact-primary{align-content:end;gap:1.25rem;display:grid}.contact-label,.contact-meta dt{color:var(--accent);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:600}.contact-email{overflow-wrap:anywhere;letter-spacing:-.05em;border-bottom:1px solid #d6ff3f85;align-items:flex-start;gap:.5em;width:fit-content;max-width:100%;padding-bottom:.16em;font-size:clamp(1.5rem,3.15vw,3.25rem);font-weight:600;line-height:1.1;transition:border-color .18s,color .18s;display:flex}.contact-email span:last-child{color:var(--accent);font-size:.48em;line-height:1.25;transition:transform .18s}.contact-email span:first-child{overflow-wrap:anywhere;min-width:0}.contact-email:hover{border-color:var(--accent);color:var(--accent)}.contact-email:hover span:last-child{transform:translate(.16em,-.16em)}.contact-intro{max-width:37rem;color:var(--muted);font-size:clamp(.98rem,1.35vw,1.15rem);line-height:1.75}.contact-meta{border-top:1px solid var(--line);align-content:end;display:grid}.contact-meta>div{border-bottom:1px solid var(--line);grid-template-columns:5.5rem minmax(0,1fr);gap:1rem;padding-block:1.1rem;display:grid}.contact-meta dd{color:#d7e2ea;line-height:1.5}.contact-meta a{transition:color .18s}.contact-meta a:hover{color:var(--accent)}.contact-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:2rem;padding-top:1.5rem;font-size:.9rem;display:flex}.contact-bottom a{color:#d7e2ea;flex:none;font-weight:600;transition:color .18s}.contact-bottom a:hover{color:var(--accent)}.site-footer{border-top:1px solid var(--line);color:var(--muted);background:#030504;padding-block:2rem}.site-footer-layout{gap:1.5rem;display:grid}.site-footer-identity{flex-wrap:wrap;align-items:baseline;gap:.45rem .9rem;display:flex}.site-footer-identity p{color:#d7e2ea;font-weight:700}.site-footer-identity span,.site-footer-note,.site-footer-copyright{letter-spacing:.04em;font-size:.78rem}@media (width>=48rem){.site-container{width:min(100% - 4rem,80rem)}.about-layout{grid-template-columns:minmax(0,2fr) minmax(15rem,1fr)}.education-card{grid-template-columns:2fr 1fr}.experience-heading,.project-card-header{flex-direction:row;align-items:flex-start}.project-card{grid-template-columns:4rem minmax(0,1fr);gap:2rem}.contact-section .section-heading{grid-template-columns:minmax(8rem,.24fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,5vw,6rem)}.contact-section .section-title{max-width:none;font-size:clamp(3.5rem,6.4vw,6.6rem)}.contact-section .section-title span{white-space:nowrap}.contact-layout{grid-template-columns:minmax(0,1.45fr) minmax(18rem,.55fr);align-items:end}.site-footer-layout{grid-template-columns:minmax(15rem,1fr) auto minmax(15rem,1fr);align-items:center}.site-footer-note{text-align:center}.site-footer-copyright{text-align:right}.about-cinematic-meta{grid-template-columns:minmax(0,2fr) minmax(15rem,1fr)}}@media (width<=47.99rem){.cinematic-intro{height:auto!important}.cinematic-intro-hero{will-change:auto;height:100svh;opacity:1!important;filter:none!important;position:relative!important;top:auto!important;transform:none!important}.cinematic-intro-about-anchor{top:100svh!important}.cinematic-intro-about-stage{height:auto!important;margin-top:0!important;position:relative!important;top:auto!important}.cinematic-intro-about{min-height:100svh;box-shadow:none;-webkit-backdrop-filter:none;will-change:auto;background:#0c0c0c;border-radius:0;opacity:1!important;visibility:visible!important;filter:none!important;transform:none!important}.about-cinematic-heading,.cinematic-intro-about .about-reveal-character{will-change:auto;opacity:1!important;transform:none!important}.cinematic-intro-about .about-orb{transform:none!important}.contact-section .section-title{font-size:clamp(2.75rem,12vw,4.75rem)}.contact-section .section-title span{white-space:normal}.contact-email{font-size:clamp(1.5rem,7vw,2.5rem)}.contact-bottom{flex-direction:column;align-items:flex-start}}@media (width<=30rem){.decorative-sticker{opacity:.68}.decorative-sticker:nth-child(2n){display:none}}@media (height<=43rem){.about-cinematic-content{gap:1rem;padding-block:2rem}.about-cinematic-title{font-size:clamp(3rem,9vw,6rem)}.about-reveal-copy{font-size:clamp(.95rem,1.7vw,1.3rem)}.about-cinematic-meta .tag-list li:nth-child(n+5){display:none}}@media (prefers-reduced-motion:reduce){.cinematic-experience{height:100vh}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
