.scroll-reveal{margin:20px 0}.scroll-reveal-text{display:block;font-size:clamp(1.6rem,4vw,3rem);line-height:1.5;font-weight:600}.scroll-reveal-piece,.scroll-reveal-word{display:inline-block}.scroll-reveal-space{white-space:pre}.project-card_card__eHYDD{overflow:hidden;border:var(--border-width) solid var(--border-subtle);border-radius:var(--shape-radius-lg);background:var(--background)}.project-card_preview__qWPYB{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,rgb(255 255 255/4%),transparent 50%),var(--surface-raised)}.project-card_iframe__fZitD,.project-card_imagePreview__FKiNX{position:absolute;inset:0;width:100%;height:100%;border:0}.project-card_loading__pcXrL{position:absolute;z-index:1;inset:0;background:linear-gradient(100deg,transparent 20%,rgb(255 255 255/6%) 45%,transparent 70%),var(--surface-raised);background-size:200% 100%;animation:project-card_preview-shimmer__TCJ_V 1.6s ease-in-out infinite}@keyframes project-card_preview-shimmer__TCJ_V{to{background-position:-200% 0}}.project-card_iframe__fZitD{width:200%;height:200%;transform:scale(.5);transform-origin:top left;pointer-events:none}.project-card_imagePreview__FKiNX{background-position:top;background-size:cover}.project-card_preview__qWPYB:after{position:absolute;z-index:1;inset:35% 0 0;background:linear-gradient(transparent,rgb(0 0 0/78%));content:"";opacity:0;transition:opacity .24s ease;pointer-events:none}.project-card_preview__qWPYB:focus-within:after,.project-card_preview__qWPYB:hover:after{opacity:1}.project-card_visitLink__nL4m7{position:absolute;z-index:2;right:var(--space-5);bottom:var(--space-5);display:inline-flex;min-height:var(--control-height-sm);align-items:center;gap:var(--space-2);border:var(--border-width) solid rgb(255 255 255/24%);border-radius:var(--shape-radius-full);padding-inline:var(--space-4);background:rgb(8 8 8/88%);color:var(--foreground);font-size:var(--font-size-sm);text-decoration:none;opacity:0;transform:translateY(.5rem);transition:opacity .22s ease,transform .22s ease,background-color .22s ease}.project-card_visitLink__nL4m7:hover{background:var(--surface-raised)}.project-card_preview__qWPYB:focus-within .project-card_visitLink__nL4m7,.project-card_preview__qWPYB:hover .project-card_visitLink__nL4m7{opacity:1;transform:translateY(0)}.project-card_details__2L7di{padding:var(--space-5) var(--space-6) var(--space-6)}.project-card_details__2L7di h3{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.project-card_details__2L7di p{margin:var(--space-2) 0 0;color:var(--foreground-muted);font-size:var(--font-size-sm);line-height:var(--line-height-body)}@media (hover:none){.project-card_preview__qWPYB:after{opacity:1}.project-card_visitLink__nL4m7{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.project-card_loading__pcXrL{animation:none}.project-card_preview__qWPYB:after,.project-card_visitLink__nL4m7{transition:none}}.works-section_section__0DhY4{padding-block:clamp(2.5rem,5vw,4.5rem);border-bottom:var(--border-width) solid var(--border-subtle);background:var(--surface)}.works-section_grid__JH9zR{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}.works-section_filters__Ey_8n{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:calc(-1 * var(--space-6)) 0 var(--space-8)}.works-section_filterButton__ZkJXO{border:1px solid var(--border-subtle);border-radius:var(--shape-radius-full);padding:var(--space-2) var(--space-4);background:transparent;color:var(--foreground-muted);font-size:var(--font-size-xs);cursor:pointer;transition:color .18s ease,border-color .18s ease,background .18s ease}.works-section_filterButton__ZkJXO[aria-pressed=true]{border-color:var(--border-strong);background:var(--surface-raised);color:var(--foreground)}.works-section_cardReveal__lqFxx{min-width:0}.works-section_emptyState__FEHMG{display:flex;min-height:14rem;flex-direction:column;align-items:center;justify-content:center;border:var(--border-width) solid var(--border-subtle);border-radius:var(--shape-radius-lg);padding:var(--space-8);text-align:center}.works-section_emptyState__FEHMG p{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-medium)}.works-section_emptyState__FEHMG span{margin-top:var(--space-2);color:var(--foreground-muted);font-size:var(--font-size-sm)}@media (max-width:720px){.works-section_grid__JH9zR{grid-template-columns:1fr}}.button_button__iBnBy{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:var(--border-width) solid transparent;border-radius:var(--shape-radius-md);font-weight:var(--font-weight-medium);line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer}.button_link__vqn_5{text-decoration:none}.button_button__iBnBy:disabled{cursor:not-allowed;opacity:.5}.button_primary__8QRtp{background:var(--palette-off-white);color:var(--palette-black)}.button_primary__8QRtp:not(:disabled):hover{background:var(--palette-white)}.button_secondary__4QS5s{border-color:var(--border-strong);background:var(--surface);color:var(--foreground)}.button_secondary__4QS5s:not(:disabled):hover{background:var(--surface-raised)}.button_ghost__NAUHK{background:transparent;color:var(--foreground)}.button_ghost__NAUHK:not(:disabled):hover{background:var(--surface-raised)}.button_sm__Ikw0K{min-height:var(--control-height-sm);padding-inline:var(--space-3);font-size:var(--font-size-sm)}.button_md__n_wDt{min-height:var(--control-height-md);padding-inline:var(--space-4);font-size:var(--font-size-base)}.button_lg___LIfy{min-height:var(--control-height-lg);padding-inline:var(--space-6);font-size:var(--font-size-base)}.hero-section_hero__JBdNX{position:relative;display:flex;min-height:min(40rem,calc(100svh - 5rem));align-items:center;overflow:hidden;border-bottom:var(--border-width) solid var(--border-subtle)}.hero-section_container__YguE1{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;padding-block:var(--space-12)}.hero-section_copy__08lO7{max-width:58rem}.hero-section_eyebrow__rsIXh,.hero-section_index__0iYAX{margin:0 0 var(--space-6);color:var(--foreground-muted);font-family:var(--font-family-mono);font-size:var(--font-size-xs);letter-spacing:.14em;text-transform:uppercase}.hero-section_title___z_23{display:flex;flex-direction:column;align-items:flex-start;margin:0;font-size:0;font-weight:var(--font-weight-medium);letter-spacing:-.09em;line-height:0}.hero-section_techLine__AtFKr{display:block;width:100%;max-width:100%;height:clamp(4rem,9vw,8rem);flex:none;color:var(--foreground)}.hero-section_srOnly___LOIy{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}.hero-section_description__Ngawj{max-width:34rem;margin:var(--space-8) 0 0;color:var(--foreground-muted);font-size:clamp(var(--font-size-lg),2.2vw,1.375rem);line-height:1.5}.hero-section_actions__Xk1j_{display:flex;align-items:center;gap:var(--space-6);margin-top:var(--space-8)}.hero-section_textLink__3sIBi{color:var(--foreground);font-size:var(--font-size-sm);text-decoration:none}.hero-section_textLink__3sIBi span{display:inline-block;margin-left:var(--space-1);transition:transform .18s ease}.hero-section_textLink__3sIBi:hover span{transform:translateY(3px)}.hero-section_index__0iYAX{align-self:flex-end;margin:0 0 var(--space-2);white-space:nowrap}.hero-section_gradient__VuIs7{position:absolute;inset:0;opacity:.72;pointer-events:none}.hero-section_gradient__VuIs7>div{width:100%;height:100%}@media (max-width:760px){.hero-section_hero__JBdNX{min-height:min(36rem,calc(100svh - 7rem))}.hero-section_container__YguE1{align-items:flex-start;flex-direction:column;gap:var(--space-6)}.hero-section_index__0iYAX{align-self:flex-start}.hero-section_techLine__AtFKr{height:clamp(3.25rem,13vw,6rem)}}@media (prefers-reduced-motion:reduce){.hero-section_textLink__3sIBi span{transition:none}}.circular-text{position:relative;margin:0 auto;border-radius:50%;text-align:center;cursor:pointer}.circular-text__plane,.circular-text__ring,.circular-text__tilt{position:absolute;inset:0}.circular-text__tilt{transform-style:preserve-3d}.circular-text__plane{transition:transform .7s cubic-bezier(.22,1,.36,1)}.circular-text__letter{position:absolute;inset:0;display:inline-block;white-space:pre}.circular-text[data-settled] .circular-text__letter{transition:transform .5s cubic-bezier(0,0,0,1)}.circular-text__line{position:absolute;inset:1.3em;border:0 solid;border-radius:50%;pointer-events:none;transition:opacity .4s ease}.circular-text__center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.gradient-ascii-container{position:relative;width:100%;height:100%;overflow:hidden}.gradient-ascii-canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.tech-text{position:relative;width:100%;height:100%;touch-action:pan-y;user-select:none}.tech-text-canvas{display:block;width:100%;height:100%}