@font-face{font-family:Mango Grotesque;src:url(/fonts/Mango%20Grotesque-VF.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}:root{--hidden-cursor: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIvPg==) 16 16, none;--switcher-open-duration: .8s;--switcher-open-ease: cubic-bezier(.38, 0, 0, 1);--switcher-close-duration: .5s;--switcher-close-ease: cubic-bezier(.38, 0, 0, 1)}@property --glow-color{syntax: "<color>"; inherits: true; initial-value: #e5c280;}body[data-theme=dark]{--bg: #1a1b18;--text: #ffffff;--accent-muted: #829476;--accent-thick: #dea541;--accent-blue: #78b8ff;--border: #4a5444;--slider-track: #353831;--slider-fill: #5b6852;--slider-track-bar: color-mix(in srgb, var(--accent-muted) 60%, var(--bg));--slider-fill-bar: color-mix(in srgb, color-mix(in srgb, var(--accent-muted) 60%, var(--bg)), white 10%);--cursor: rgba(255, 255, 255, .2);--hero-c1: #e5c280;--hero-c2: #d29980;--hero-c3: #98b08a;--hero-c4: #a890c0;--hero-c5: #6fa3d4}body[data-theme=dawn]{--bg: #f5ecde;--bg-image: radial-gradient(ellipse 80% 55% at 95% 5%, rgba(255, 145, 90, .38) 0%, rgba(228, 110, 130, .22) 35%, transparent 70%);--text: #0a0603;--accent-muted: #8a5a3e;--accent-thick: #c2611f;--accent-blue: #b8366b;--border: rgba(138, 90, 62, .28);--slider-track: #ead9c0;--slider-fill: #c2611f;--slider-track-bar: color-mix(in srgb, var(--accent-muted) 60%, var(--bg));--slider-fill-bar: color-mix(in srgb, color-mix(in srgb, var(--accent-muted) 60%, var(--bg)), white 10%);--cursor: rgba(42, 31, 21, .18);--hero-c1: #ffb499;--hero-c2: #ffcfb8;--hero-c3: #f5a3a3;--hero-c4: #e8b8c4;--hero-c5: #d4a574}body[data-theme=mist]{--bg: #ecf0f5;--bg-image: radial-gradient(ellipse 75% 55% at 10% 100%, rgba(120, 195, 220, .42) 0%, rgba(160, 130, 220, .25) 35%, transparent 72%);--text: #04060e;--accent-muted: #4f6985;--accent-thick: #2c7a5e;--accent-blue: #6b3fb5;--border: rgba(79, 105, 133, .28);--slider-track: #d8dde6;--slider-fill: #2c7a5e;--slider-track-bar: color-mix(in srgb, var(--accent-muted) 60%, var(--bg));--slider-fill-bar: color-mix(in srgb, color-mix(in srgb, var(--accent-muted) 60%, var(--bg)), white 10%);--cursor: rgba(26, 31, 44, .18);--hero-c1: #c4b8e8;--hero-c2: #b9d8e8;--hero-c3: #d4c4e8;--hero-c4: #e8c4d4;--hero-c5: #a8c4d4}body[data-theme=sunset]{--bg: #1a0d20;--bg-image: radial-gradient(ellipse 70% 60% at 95% 5%, rgba(255, 107, 61, .5) 0%, rgba(193, 67, 122, .25) 35%, transparent 70%);--text: #ffffff;--accent-muted: #e09a7a;--accent-thick: #ffb84d;--accent-blue: #ff8cc8;--border: rgba(255, 184, 77, .28);--slider-track: #2a1830;--slider-fill: #ff6b3d;--slider-track-bar: color-mix(in srgb, var(--accent-muted) 60%, var(--bg));--slider-fill-bar: color-mix(in srgb, color-mix(in srgb, var(--accent-muted) 60%, var(--bg)), white 10%);--cursor: rgba(255, 245, 232, .25);--hero-c1: #ff9d7a;--hero-c2: #d96e95;--hero-c3: #ffc878;--hero-c4: #ff85a8;--hero-c5: #b366a3}body[data-theme=aurora]{--bg: #050b1f;--bg-image: radial-gradient(ellipse 90% 60% at 50% 110%, rgba(0, 230, 184, .28) 0%, rgba(91, 45, 138, .32) 35%, transparent 75%);--text: #ffffff;--accent-muted: #8eb8df;--accent-thick: #00e6b8;--accent-blue: #66ffe5;--border: rgba(102, 255, 229, .22);--slider-track: #0d1830;--slider-fill: #00e6b8;--slider-track-bar: color-mix(in srgb, var(--accent-muted) 60%, var(--bg));--slider-fill-bar: color-mix(in srgb, color-mix(in srgb, var(--accent-muted) 60%, var(--bg)), white 10%);--cursor: rgba(102, 255, 229, .22);--hero-c1: #4fd4b8;--hero-c2: #8a6fc4;--hero-c3: #d46fae;--hero-c4: #88e8d4;--hero-c5: #6ba3d4}body[data-theme=ember]{--bg: #0e0606;--bg-image: radial-gradient(ellipse 65% 55% at 80% 110%, rgba(214, 56, 56, .45) 0%, rgba(110, 24, 24, .32) 35%, transparent 75%);--text: #ffffff;--accent-muted: #d99691;--accent-thick: #ffa84d;--accent-blue: #ffd166;--border: rgba(255, 168, 77, .24);--slider-track: #1a0c0c;--slider-fill: #d63838;--slider-track-bar: color-mix(in srgb, var(--accent-muted) 60%, var(--bg));--slider-fill-bar: color-mix(in srgb, color-mix(in srgb, var(--accent-muted) 60%, var(--bg)), white 10%);--cursor: rgba(255, 168, 77, .22);--hero-c1: #e8553a;--hero-c2: #ff8c5a;--hero-c3: #ffb87a;--hero-c4: #c4847a;--hero-c5: #b85a3a}body[data-theme=vapor]{--bg: #110522;--bg-image: linear-gradient(180deg, rgba(125, 249, 255, .06) 0%, transparent 35%), radial-gradient(ellipse 80% 60% at 50% 110%, rgba(201, 59, 139, .4) 0%, rgba(109, 27, 123, .3) 40%, transparent 75%);--text: #ffffff;--accent-muted: #d4b8eb;--accent-thick: #ffd2eb;--accent-blue: #7df9ff;--border: rgba(125, 249, 255, .25);--slider-track: #1d0c33;--slider-fill: #c93b8b;--slider-track-bar: color-mix(in srgb, var(--accent-muted) 60%, var(--bg));--slider-fill-bar: color-mix(in srgb, color-mix(in srgb, var(--accent-muted) 60%, var(--bg)), white 10%);--cursor: rgba(125, 249, 255, .25);--hero-c1: #d96fbc;--hero-c2: #a06fc4;--hero-c3: #ff9fcf;--hero-c4: #88e8f4;--hero-c5: #c48fd9}*{box-sizing:border-box}body{background-color:var(--bg);background-image:var(--bg-image, none);background-attachment:fixed;color:var(--text);font-family:Manrope Variable,sans-serif;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;margin:0;cursor:var(--hidden-cursor);overflow:hidden;transition:background-color .6s ease}button,input,select,textarea{font-family:inherit}:where(body:not(.cursor-traditional):not(.simplified-mode) *){cursor:var(--hidden-cursor)}body.simplified-mode{cursor:auto;display:block;align-items:stretch;justify-content:flex-start;overflow:auto}body.simplified-mode a,body.simplified-mode button{cursor:pointer}body.simplified-mode .cursor-line,body.simplified-mode .cursor-hint{display:none!important}@media(pointer:coarse){.cursor-line,.cursor-marker,.cursor-hint{display:none!important}}.intro-block{position:fixed;top:40px;left:50%;transform:translate(-50%);z-index:10001;pointer-events:none;text-align:center;user-select:none}.intro-block__name-link{pointer-events:auto;text-decoration:none;color:inherit;cursor:var(--hidden-cursor);display:inline-block}.intro-block__name{font-family:Mango Grotesque,sans-serif;font-weight:700;font-size:3rem;line-height:.95;letter-spacing:.02em;margin:0;color:var(--accent-muted);text-transform:uppercase}.intro-block__role{font-family:Manrope Variable,sans-serif;font-weight:800;font-size:.75rem;letter-spacing:.08em;margin:0;color:var(--accent-muted);text-transform:uppercase}.ui-wrapper{position:fixed;top:180px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:15px;z-index:10001;pointer-events:none}.ui-wrapper>*{pointer-events:auto}.theme-wrapper{position:fixed;bottom:40px;left:50%;transform:translate(-50%);z-index:10001}.theme-select{background:var(--bg);border:1px solid var(--border);color:var(--accent-muted);height:40px;padding:0 10px;border-radius:2px;font-weight:800;cursor:var(--hidden-cursor);outline:none}.theme-select:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.theme-switcher{position:fixed;bottom:18px;right:18px;display:flex;flex-direction:row;align-items:center;justify-content:center;padding:6px;gap:0;border-radius:999px;background:color-mix(in srgb,var(--bg) 0%,transparent);backdrop-filter:blur(6px);border:1px solid var(--border);z-index:10500;transition:gap var(--switcher-close-duration) var(--switcher-close-ease) .25s}.theme-switcher:hover,.theme-switcher:focus-within{gap:8px;transition:gap var(--switcher-open-duration) var(--switcher-open-ease)}.theme-swatch{position:relative;flex:0 0 auto;width:20px;height:20px;margin:0;padding:0;background:none;border:none;cursor:var(--hidden-cursor);transition:width var(--switcher-close-duration) var(--switcher-close-ease) .25s}.theme-swatch:before{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;transform:translate(-50%,-50%);border-radius:50%;background-size:200% 200%;background-position:center;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 30%,transparent),0 0 0 0 transparent,0 0 0 0 transparent;transition:opacity .2s ease .05s,transform .25s cubic-bezier(.16,1,.3,1),box-shadow .2s ease}.theme-swatch:hover:before{transform:translate(-50%,-50%) scale(1.18)}.theme-swatch.is-active:before{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 30%,transparent),0 0 0 2px var(--bg),0 0 0 3px var(--text)}.theme-switcher .theme-swatch:not(.is-active){width:0;pointer-events:none}.theme-switcher .theme-swatch:not(.is-active):before{opacity:0}.theme-switcher:hover .theme-swatch,.theme-switcher:focus-within .theme-swatch{width:20px;pointer-events:auto;transition:width var(--switcher-open-duration) var(--switcher-open-ease)}.theme-switcher:hover .theme-swatch:before,.theme-switcher:focus-within .theme-swatch:before{opacity:1;transition:opacity .26s ease var(--stagger-delay, 0s),transform .25s cubic-bezier(.62,0,.1,1),box-shadow .2s ease}.theme-swatch[data-theme=dark]:before{background:#1a1b18}.theme-swatch[data-theme=dawn]:before{background:radial-gradient(circle at 80% 20%,#ff966a,#e98c8c,#f5ecde 80%)}.theme-swatch[data-theme=mist]:before{background:radial-gradient(circle at 20% 80%,#78c3dc,#a08ce6 45%,#ecf0f5 85%)}.theme-swatch[data-theme=sunset]:before{background:radial-gradient(circle at 80% 20%,#ff8559,#c1437a,#1a0d20 80%)}.theme-swatch[data-theme=aurora]:before{background:radial-gradient(circle at 50% 95%,#00e6b8,#5b2d8a 45%,#050b1f 85%)}.theme-swatch[data-theme=ember]:before{background:radial-gradient(circle at 75% 90%,#d63838,#6e1818 40%,#0e0606 85%)}.theme-swatch[data-theme=vapor]:before{background:radial-gradient(circle at 50% 95%,#c93b8b,#6d1b7b 45%,#110522 85%)}.ui-label{font-size:1rem;font-weight:500;color:var(--accent-muted)}.filter-btn{background-color:var(--bg);font-family:inherit,sans-serif;border:1px solid var(--border);color:var(--accent-muted);height:40px;width:auto;padding:0 16px;border-radius:2px;display:inline-flex;align-items:center;justify-content:flex-start;gap:13px;cursor:var(--hidden-cursor);outline:none;overflow:hidden;transition:transform .4s cubic-bezier(.16,1,.3,1),background-color .2s ease}.filter-btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.btn-text-window{height:20px;overflow:hidden;position:relative;width:max-content;flex-shrink:0}.btn-text-shifter{display:flex;flex-direction:column}.label-item{height:20px;display:flex;align-items:center;font-weight:800;font-size:1rem;line-height:1;white-space:nowrap}.letter{display:inline-block;will-change:transform;transform:translateY(0);transition:transform .7s cubic-bezier(.57,.01,.2,1);transition-delay:calc(var(--i, 0) * .01s)}.filter-btn.is-shifting .letter{transform:translateY(-20px)}.filter-btn.snap .letter{transition:none}.btn-icon{width:14px;height:14px;flex-shrink:0;color:var(--accent-blue);transition:rotate 1.2s cubic-bezier(.16,1,.3,1)}.range-group{position:relative;display:flex;flex-direction:column;align-items:center;transition:transform .4s cubic-bezier(.16,1,.3,1)}.year-box{border:1px solid var(--border);padding:9px 13px;border-radius:2px;display:flex;align-items:center;background-color:var(--bg)}.year-part,.year-sep{display:inline-block;text-align:center;font-weight:800;color:var(--accent-muted)}.year-part{width:48px;transform-origin:center;transition:color .25s ease,transform .25s cubic-bezier(.16,1,.3,1)}.year-part.is-active{color:var(--accent-blue);transform:scale(1.18)}.year-sep{width:25px}.custom-slider{position:absolute;left:50%;transform:translate(-50%) translateY(-10px);top:calc(100% + 14px);width:140px;height:12px;display:flex;align-items:center;opacity:0;pointer-events:none;transition:opacity .5s ease,transform .5s cubic-bezier(.16,1,.3,1)}.custom-slider.visible{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.slider-bar{position:absolute;width:100%;height:6px;background-color:var(--slider-track-bar);border-radius:3px;opacity:.25}.slider-fill{position:absolute;height:6px;background-color:var(--slider-fill-bar);border-radius:3px;z-index:2;transition:left .15s cubic-bezier(.16,1,.3,1),width .15s cubic-bezier(.16,1,.3,1)}body.is-dragging .slider-fill{transition:none}.handle{position:absolute;width:14px;height:14px;background-color:var(--accent-blue);border-radius:50%;transform:translate(-50%) scale(1);z-index:3;transition:left .15s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s ease,background-color .25s ease;outline:none}.handle:hover,.handle.is-dragging{transform:translate(-50%) scale(1.3);background-color:var(--accent-blue);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-blue) 5%,transparent),0 0 18px 2px color-mix(in srgb,var(--accent-blue) 50%,transparent)}.handle.is-dragging{transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s ease,background-color .25s ease}.handle:focus-visible{outline:2px solid var(--accent-blue);outline-offset:6px}.cursor-line{position:fixed;top:0;left:0;background-color:var(--cursor);pointer-events:none;z-index:12000;will-change:transform;transition:transform 0s,background-color .4s ease}.cursor-line.snapping{transition:transform .65s cubic-bezier(.22,1,.36,1),background-color .4s ease}.cursor-line.snap-soft{transition:transform .25s cubic-bezier(.19,1,.22,1),background-color .4s ease}.cursor-line.locked{transition:none!important}.cursor-marker{position:fixed;top:0;left:0;pointer-events:none;z-index:12001;will-change:transform}.cursor-marker__inner{width:16px;height:16px;border:1px solid color-mix(in srgb,var(--text) 60%,transparent);transform:translate(-50%,-50%) scale(.4);opacity:0;transition:opacity .45s cubic-bezier(.22,1,.36,1),transform .55s cubic-bezier(.22,1,.36,1)}.cursor-marker.is-active .cursor-marker__inner{opacity:1;transform:translate(-50%,-50%) scale(1)}.cursor-marker.is-pressed .cursor-marker__inner{transition:opacity .45s cubic-bezier(.22,1,.36,1),transform .15s ease-out;transform:translate(-50%,-50%) scale(.8125)}body.cursor-traditional .cursor-marker{display:none!important}.cursor-line.horizontal{width:100%;height:1px}.cursor-line.vertical{width:1px;height:100%}.timeline-date,.project-title,.project-tags{position:fixed;pointer-events:none;z-index:10000;display:flex;flex-direction:column;align-items:center;opacity:0;transition:opacity .4s cubic-bezier(.19,1,.22,1),transform .4s cubic-bezier(.19,1,.22,1)}.timeline-date{color:var(--accent-muted);font-family:inherit,sans-serif;font-weight:700;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;padding:8px 15px;transform:translate(-50%,-10px)}.project-title{color:var(--accent-muted);font-weight:900;font-size:1rem;letter-spacing:.025em;padding:8px 12px;text-transform:uppercase;white-space:nowrap;transform:translate(-50%,10px)}.project-title__content{display:inline-block;text-align:center;font-variant-numeric:tabular-nums}.project-tags{background-color:transparent;padding:0;gap:5px;transform:translate(-50%,20px);width:fit-content}.project-bg{position:fixed;inset:0;z-index:1;opacity:0;pointer-events:none;background-size:cover;background-position:center;background-repeat:no-repeat;transition:opacity .5s ease}.project-bg.is-active{opacity:0}.tag-item{border:1px solid var(--accent-muted);color:var(--accent-muted);padding:4px 8px;font-size:.65rem;font-family:inherit,sans-serif;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:0;transform:scale(.8);animation:popIn .4s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes popIn{to{opacity:1;transform:scale(1)}}.visible{opacity:1;transform:translate(-50%)!important}.line-container{position:relative;z-index:2;width:75vw;height:35vh;display:flex;align-items:flex-end;--gutter-shift: 10px}@keyframes netflixFlyIn{0%{transform:scale(3);opacity:0;visibility:visible}to{transform:scale(1);opacity:1;visibility:visible}}.line.is-intro{visibility:hidden;animation:netflixFlyIn 1.4s cubic-bezier(.16,1,.3,1) forwards;pointer-events:none}@keyframes timelineCameraSettle{0%{scale:1.05;translate:0 8px;opacity:0}to{scale:1;translate:0 0;opacity:1}}@keyframes timelineCameraSettleSlow{0%{scale:1.09;translate:0 22px;opacity:0}to{scale:1;translate:0 0;opacity:1}}.intro-block{animation:timelineCameraSettleSlow 2.2s cubic-bezier(.16,1,.3,1) 0ms both}.ui-wrapper{animation:timelineCameraSettleSlow 2.2s cubic-bezier(.16,1,.3,1) .12s both}.line-container{animation:timelineCameraSettle 1.2s cubic-bezier(.16,1,.3,1) .15s both}.timeline-simplified-link{animation:timelineCameraSettleSlow 2s cubic-bezier(.16,1,.3,1) .25s both}.line{position:relative;overflow:hidden;--base-color: var(--accent-muted);background-color:var(--base-color);flex:1 1 0;margin-right:5px;border-radius:1px;height:100%;transform-origin:bottom center;transition:flex 2s cubic-bezier(.16,1,.3,1),margin-right 2s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1),background-color .3s ease,opacity .4s ease;will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.line:before{content:"";position:absolute;inset:0;background-image:var(--hero-image, none);background-size:cover;background-position:center;opacity:0;transition:opacity .4s ease;pointer-events:none}.line.featured:before{opacity:.85;inset:-18px;filter:blur(4px)}.line.featured.active:before{opacity:1}.line.thick{--base-color: color-mix(in srgb, var(--accent-muted) 60%, var(--bg));flex:2 1 0}.line.featured{--base-color: var(--accent-blue);flex:8 1 0}.line.active{background-color:color-mix(in srgb,var(--base-color),white 10%);flex:1.6 1 0;transform:translate(var(--mag-x, 0px)) translateZ(0)}.line.thick.active{flex:4 1 0;transform:translate(var(--mag-x, 0px)) translateZ(0)}.line.featured.active{flex:24 1 0;transform:translate(var(--mag-x, 0px)) translateZ(0)}.line__lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;padding-top:24px;color:#fff;pointer-events:none;z-index:3}.line__lock-icon{width:18px;height:18px;flex-shrink:0;transition:width .4s cubic-bezier(.16,1,.3,1),height .4s cubic-bezier(.16,1,.3,1)}.line.featured.active .line__lock-icon{width:32px;height:32px}.line__lock-text{font-family:Manrope Variable,sans-serif;font-size:.6rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;color:#fff;opacity:0;transition:opacity .3s ease}.line.featured.active .line__lock-text{opacity:1}.line.featured.locked{cursor:var(--hidden-cursor)}.line-container:has(.line.thick.active){--gutter-shift: 20px}.line-container:has(.line.featured.active){--gutter-shift: 35px}.line-container:has(.line.active) .line:not(.active){opacity:.5}.line-container.filter-active .line:not(.featured){flex:0 0 0!important;margin-right:0!important;opacity:0!important;pointer-events:none}.line-container.filtering .line{transition:flex .8s cubic-bezier(.16,1,.3,1),margin-right .8s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1),background-color .3s ease,opacity .4s ease}.line.filtered-out{flex:0 0 0!important;margin-right:0!important;opacity:0!important;pointer-events:none}.line-container:has(.line.active) .line:has(~.line.active){transform:translate(calc(-1 * var(--gutter-shift)))}.line.active~.line{transform:translate(var(--gutter-shift))}body.is-dragging{user-select:none;-webkit-user-select:none}.project-view{position:fixed;inset:0;z-index:11000;background-color:var(--bg);opacity:0;pointer-events:none;transition:opacity .45s ease;display:grid;grid-template-columns:38% 62%;align-items:start;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.project-view::-webkit-scrollbar{display:none}.project-view.active{opacity:1;pointer-events:auto}.project-view__info{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:space-between;padding:64px 48px 48px 80px;box-sizing:border-box}.project-view__top{display:flex;flex-direction:column;gap:56px}.project-view__close{align-self:flex-start;background:none;border:0;padding:0;margin:0;color:var(--accent-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .2s ease,transform .2s ease}.project-view__close:hover{color:var(--text);transform:rotate(90deg)}.project-view__top-meta{display:flex;flex-direction:column;gap:16px}.project-view__label{color:var(--accent-thick);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.project-view__nav{display:flex;gap:24px}.project-view__nav-btn{background:none;border:0;padding:0;font:inherit;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-muted);cursor:pointer;transition:color .2s ease}.project-view__nav-btn:hover{color:var(--text)}.project-view__nav-btn[disabled]{opacity:.35;cursor:default}.project-view__body{display:flex;flex-direction:column;max-width:460px}.project-view__date{color:var(--accent-muted);font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}.project-view__title{font-size:1.5rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--text);margin:0 0 20px;line-height:1.15}.project-view__tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.project-view__tag{border:1px solid var(--border);color:var(--accent-muted);padding:4px 10px;font-size:.7rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.project-view__description{color:var(--accent-muted);font-size:.95rem;line-height:1.6;margin:0}.project-view__description.is-locked{position:relative}.project-view__description-blur{display:block;filter:blur(6px);user-select:none;pointer-events:none}.project-view__description-lock-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:Manrope Variable,sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-muted);text-align:center}.project-view__progress{position:relative;width:min(420px,70%);padding-top:28px}.project-view__progress-label{position:absolute;bottom:12px;left:0%;transform:translate(0);font-size:.75rem;font-weight:800;letter-spacing:.08em;color:var(--accent-muted);transition:left .08s linear,transform .08s linear,color .2s ease;white-space:nowrap}.project-view__progress-track{position:relative;height:1px;background-color:var(--border);overflow:hidden}.project-view__progress-fill{height:100%;width:0%;background-color:var(--accent-thick);transition:width .08s linear}.project-view__gallery{padding:64px 80px 64px 0;box-sizing:border-box}.project-view__gallery-item{position:relative;width:100%;margin:0 0 32px;background-color:var(--slider-track);overflow:hidden}.project-view__gallery-item:last-child{margin-bottom:0}.project-view__gallery-item>img,.project-view__gallery-item>video,.project-view__gallery-item>canvas{display:block;width:100%;height:auto}.project-view__gallery-locked{width:100%;height:60vh;background-color:var(--slider-track);border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--accent-muted)}.project-view__gallery-locked-icon{width:22px;height:22px;stroke:currentColor}.project-view__gallery-locked-text{font-family:Manrope Variable,sans-serif;font-size:.65rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase}.project-view__gallery-item--video,.project-view__gallery-item--gif,.project-view__gallery-item--embed{cursor:pointer}.project-view__gallery-item--embed{aspect-ratio:16 / 9}.project-view__gallery-item--embed>img,.project-view__gallery-item--embed>iframe{width:100%;height:100%;display:block;border:0;object-fit:cover}.project-view__gallery-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000040;color:#fff;border:none;padding:0;margin:0;cursor:pointer;opacity:0;transition:opacity .18s ease;pointer-events:none}.project-view__gallery-item.is-paused .project-view__gallery-play,.project-view__gallery-item:hover .project-view__gallery-play{opacity:1}.project-view__gallery-item.is-paused:not(:hover) .project-view__gallery-play{background:#00000059}.project-view__gallery-play svg{width:56px;height:56px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5))}@media(max-width:900px){.intro-block__name{font-size:5rem}.intro-block__role{font-size:1rem}.project-view{grid-template-columns:1fr;align-items:stretch}.project-view__info{position:relative;height:auto;padding:48px 32px 32px;gap:36px}.project-view__top{gap:32px}.project-view__body{max-width:none}.project-view__progress{width:100%;padding-top:20px}.project-view__gallery{padding:0 32px 80px}}@media(max-width:540px){.intro-block__name{font-size:4rem}.intro-block__role{font-size:.9rem}.project-view__info{padding:32px 20px 24px;gap:28px}.project-view__gallery{padding:0 20px 64px}.project-view__title{font-size:1.25rem}}.cursor-hint{position:fixed;bottom:0;left:50%;background-color:var(--accent-muted);color:var(--bg);border-radius:2px 2px 0 0;z-index:12001;font-family:Mango Grotesque,sans-serif;font-weight:600;user-select:none;pointer-events:auto;cursor:var(--hidden-cursor);text-align:center;width:240px;overflow:visible;transform:translate(-50%,calc(100% - 8px));transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .3s ease}.cursor-hint:hover,.cursor-hint.is-announcing{transform:translate(-50%)}.cursor-hint__top{position:relative;z-index:1;padding:8px 18px;font-size:.85rem;font-family:Manrope Variable,sans-serif;font-weight:800;letter-spacing:.04em;border-bottom:1px solid var(--bg);text-transform:uppercase}.cursor-hint__key{position:relative;z-index:1;padding:10px 18px 6px;font-family:Mango Grotesque,sans-serif;font-size:3rem;font-weight:600;letter-spacing:.01em}.cursor-hint:before{content:"";position:absolute;inset:0;border-radius:inherit;background-image:radial-gradient(circle at 50% 50%,var(--accent-blue) 0%,color-mix(in srgb,var(--accent-blue) 55%,transparent) 35%,transparent 70%);background-repeat:no-repeat;background-position:center center;background-size:0 0;opacity:0;pointer-events:none;z-index:0}.cursor-hint.is-glowing:before{animation:cursor-hint-glow .85s cubic-bezier(.22,1,.36,1)}@keyframes cursor-hint-glow{0%{opacity:0;background-size:20% 20%}25%{opacity:1;background-size:90% 90%}to{opacity:0;background-size:260% 260%}}.cursor-hint:after{content:"";position:absolute;inset:-8px -8px 0;border:2px solid var(--accent-blue);border-bottom:none;border-radius:6px 6px 0 0;pointer-events:none;opacity:0;z-index:2}.cursor-hint.is-announcing:after{animation:cursor-hint-flash .9s ease-in-out infinite alternate}@keyframes cursor-hint-flash{0%{opacity:.25}to{opacity:1}}body.cursor-traditional,body.cursor-traditional *{cursor:auto}body.cursor-traditional a,body.cursor-traditional button,body.cursor-traditional [role=slider],body.cursor-traditional .handle,body.cursor-traditional .slider-bar{cursor:pointer}body.cursor-traditional .cursor-line{opacity:0;pointer-events:none}.landing-screen{position:fixed;inset:0;z-index:8000;display:flex;align-items:center;justify-content:center;background-color:var(--bg)}.landing-meta{position:absolute;top:40px;z-index:10000;font-family:Manrope Variable,sans-serif;font-size:.7rem;font-weight:800;letter-spacing:.12em;color:var(--accent-muted);text-transform:uppercase;line-height:1.65;display:flex;flex-direction:column}.landing-meta--top-left{left:40px}.landing-meta--top-right{right:40px;text-align:right;align-items:flex-end}.landing-meta__label,.landing-meta__value{color:var(--accent-muted)}.landing-meta__link{color:var(--accent-muted);text-decoration:none;cursor:var(--hidden-cursor);transition:color .2s ease}.landing-meta__link:hover{color:var(--accent-blue)}.landing-content{display:flex;flex-direction:column;align-items:center;gap:40px;padding:0 40px}.landing-name{margin:0;font-family:Mango Grotesque,sans-serif;font-weight:800;font-size:clamp(3.5rem,13vw,13rem);letter-spacing:0em;line-height:.85;color:var(--accent-muted);text-transform:uppercase;text-align:center}.name-glow{position:relative}.name-glow:after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle 220px at var(--glow-x, 50%) var(--glow-y, 50%),var(--glow-color) 0%,color-mix(in srgb,var(--glow-color) 55%,transparent) 28%,transparent 62%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;opacity:0;transition:opacity .3s ease,--glow-color 1.2s ease}.name-glow.is-glowing:after{opacity:1}.landing-role{margin:-20px 0 0;font-family:Manrope Variable,sans-serif;font-weight:800;font-size:1rem;letter-spacing:.2em;color:var(--accent-muted);text-transform:uppercase;text-align:center;line-height:1.2}.see-work-btn{display:inline-block;background-color:var(--accent-blue);color:var(--bg);text-decoration:none;font-family:Mango Grotesque,sans-serif;font-weight:500;font-size:5rem;letter-spacing:.02em;padding:18px 50px 9px;border:3px solid transparent;border-radius:2px;cursor:var(--hidden-cursor);outline:none;text-transform:uppercase;will-change:transform;transition:all .5s cubic-bezier(.19,1,.22,1)}.see-work-btn:hover{background-color:transparent;border-color:var(--accent-blue);color:var(--accent-blue)}.see-work-btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:4px}.simplified-view-btn{position:relative;background:none;border:none;color:var(--accent-muted);font-family:Manrope Variable,sans-serif;font-weight:800;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:6px 8px;cursor:var(--hidden-cursor);outline:none;display:inline-block;line-height:1;transition:color .2s ease}.simplified-view-btn:hover{color:var(--accent-blue)}.simplified-view-btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:4px}.simplified-text-window{display:inline-block;height:.75rem;overflow:hidden;vertical-align:bottom}.simplified-text-shifter{display:flex;flex-direction:column}.simplified-label{height:.75rem;display:flex;align-items:center;white-space:nowrap}.simplified-letter{display:inline-block;will-change:transform;transform:translateY(0);transition:transform .5s cubic-bezier(.57,.01,.2,1);transition-delay:calc(var(--i, 0) * 15ms)}.simplified-view-btn:hover .simplified-letter{transform:translateY(-.75rem)}.simplified-view-btn:after{content:"";position:absolute;left:6px;right:6px;bottom:0;height:1px;background-image:linear-gradient(to right,currentColor 0%,currentColor calc(50% - 26px),transparent calc(50% - 26px),transparent calc(50% + 26px),currentColor calc(50% + 26px),currentColor 100%);background-repeat:no-repeat;background-size:300% 100%;background-position:100% 0}.simplified-view-btn:hover:after{animation:simplified-gap-sweep .9s cubic-bezier(.65,0,.35,1)}@keyframes simplified-gap-sweep{0%{background-position:100% 0}to{background-position:0% 0}}.timeline-simplified-link{position:fixed;bottom:48px;left:40px;z-index:10001}::view-transition-old(root){animation:.45s cubic-bezier(.4,0,.2,1) both fadeOut}::view-transition-new(root){animation:.55s cubic-bezier(.16,1,.3,1) both fadeIn}@keyframes fadeOut{to{opacity:0}}@keyframes fadeIn{0%{opacity:0}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-cyrillic-wght-normal.Dvxsihut.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-greek-wght-normal.DL7QRZyv.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-vietnamese-wght-normal.usUDDRr7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-ext-wght-normal.Ch3YOpNY.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-wght-normal.DHIcAJRg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
