@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:900;src:url(data:font/woff2;base64,d09GMgABAAAAAAQsABAAAAAACBAAAAPSAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbgQwcLgZgP1NUQVQqAFwRCAqDKIJrCxQAATYCJAMiBCAFhHQHZwwHG6YGKJ4FORl9KnGbTM+ivrN4CyqCLzv4+s3sB4WDUPlFVkZg/2+tfcT8VAZzmRWbnRU8JPHXTUKCUKm0C4VGSBDM7loceKQRR20PaJ//hU4Tx4wXkVYJvhFPbG2JkRRNUVpmBdTt5fO23XCz6dO/6TaLaPQIzYmJiEgMes52sQLVAUkIWQhU1VWDmPETR2Ygdw80CXLfpqFArlgoS4HYtkFTIBGBUKiislBZSKgsaS4WA7lEy1B+ULSxjgoQUBCSBCiMkYjSXUCx0AWkAhhdpF/y2SqQLkyLgWlQTaxUFUugTCUkR5s5YwCPa91350/KahTfR0sQ173wImlU+h6txYgXilJfFMeJPrSJM6IKJAFRPZ8NEjLqi7H9RqzJQE2VJRW11uneE5Fa312CfUf5qcdtMEZ8MFcUPFGIklqgCqgLVMMm4Co0B2ZESqU0shBFxVfuU8TVXFWtqLqtsbbWUD3NvihqWHmpW6ttrr5tzcnrr8cZd73wxqJFn4/1sU9XvfDJxlXfgN7VLnrtNadvf/XV+fOf77/F6dfG7meaVXsV/XujjsOWdFTzqx6rdsMDIvCh9KoXvj7suz+///OfK+7Ed2+9+9ZA6OG7E8+Vz7Vr4K9eOjZ2N9Trz8sLdXY8j1iuDrlmfw+2XE8/0Ori6SYt3hkwasXWf8UJq4XnYdvFu0GLcY9P6PAdWLcyd8ojN66sUzGurHFM5Ol/K05eI30MbV97i8bXWy44d4CkT15vftdd/zLvP/rbPS1b3vPbo83W3a7czG4viO4oCpVUioW48ZW9Rm+g/I/8RX6d4N8RO4u7Dvzwaq8rV9Ua/lvlnL+ED0ZdejZ8uLzdpAFVft+aihIIPpUpf6qB//cMQhTDuMp5u5asuhvTt3xcvkcboKoKAlUMEaupGJ/1kkB118qiqIJbozfDCy2jLi+pGQUv6+unuFDyKljomFdRS2u8mgby8GrLls+tI1l1qShUxxrVxX0tgvFYHEMXyaZtolmKLYRJsQPbUf19BpWuSViYbpuGpzLoQnQ8SQihYYWN6zPiVhyMCs7BNHs8obCohP9fD6nUjMUwEIREtwwJaRRSpUHIDmxXLT8WtqNKo3qNdqwejRnTaUxzGsCUjWWylTSDvKWwG6E6oM3umy2qIFWqWMzgYBanZhM0hADbtr6/k8nAITQ6C8+kbSxe5zdtCYGNkKVPJwiWBGMQCoMuzAz2eUVDpeXN+lqzCtr7jiRHjiIqRMWKY9Yu7Z+WcGAnj9AYRJ6sQmNr0tesMw38gw3VIhvm1AOPbNW9B44Sv6L89uIS) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:900;src:url(/_astro/unbounded-cyrillic-900-normal._ZC4uVSi.woff2) format("woff2"),url(/_astro/unbounded-cyrillic-900-normal.PukI78a9.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:900;src:url(/_astro/unbounded-vietnamese-900-normal.BuhHLwBE.woff2) format("woff2"),url(/_astro/unbounded-vietnamese-900-normal.Ca71clKU.woff) format("woff");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:Unbounded;font-style:normal;font-display:swap;font-weight:900;src:url(/_astro/unbounded-latin-ext-900-normal.B5P44sdX.woff2) format("woff2"),url(/_astro/unbounded-latin-ext-900-normal.CDSUdEfC.woff) format("woff");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:Unbounded;font-style:normal;font-display:swap;font-weight:900;src:url(/_astro/unbounded-latin-900-normal.DrIEwloP.woff2) format("woff2"),url(/_astro/unbounded-latin-900-normal.4cp7xOrc.woff) format("woff");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}:root{--paper: #fafafa;--paper-raised: #fcfcfd;--ink: #2f2f2f;--steel: #4c515a;--line: #dbdee2;--signal: #FF2D95;--signal-ink: #FF2D95;--signal-flag: #FF2D95;--radius: 2px;--font-display: "Unbounded", system-ui, sans-serif;--font-body: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "Space Mono", ui-monospace, monospace;--maxw: 1200px;--header-h: 132px;--marquee-h: 34px;--cursor-default: default;--link-decoration: underline}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:20px;line-height:1.6;text-align:left;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;cursor:none}body input[type=text],body textarea,body select{cursor:text}@media(hover:hover)and (pointer:fine){a,button,[role=button],input[type=submit],input[type=button],.contrib-item,.read-switch label,.pcard{--cursor-default: none;cursor:none}}h1,h2,h3,.font-display{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;line-height:1}.mono{font-family:var(--font-mono)}.label-mono{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.09em;font-size:12px}a{color:inherit}img,button,input{font-family:inherit}:focus-visible{outline:2px solid var(--signal-ink);outline-offset:3px;border-radius:1px}::selection{background:var(--signal);color:#fff}::-moz-selection{background:var(--signal);color:#fff}strong{font-weight:700}.prose strong,.lede strong,.culture strong,.about-lede strong,mark.key,mark.stat{display:inline-block;background:var(--ink);color:var(--paper);padding:.05em .28em;border-radius:0;font-weight:600;transform:rotate(-1.5deg)}.prose strong:nth-of-type(2n),.culture strong:nth-of-type(2n),.prose mark.stat:nth-of-type(2n){transform:rotate(1.3deg)}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}.measure{max-width:66ch}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:var(--paper);padding:10px 16px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.skip-link:focus{left:12px;top:12px}header.site{position:fixed;top:0;left:0;right:0;z-index:30;background:transparent;border-bottom:none;pointer-events:none}header.site .brand,header.site nav.site-actions{pointer-events:auto}.marquee-bar{height:var(--marquee-h);background:var(--signal-flag);overflow:hidden;display:flex;align-items:center;transition:opacity .3s ease,transform .3s ease}html.marquee-hidden .marquee-bar{opacity:0;transform:translateY(-100%);pointer-events:none}.marquee-track{display:flex;flex-shrink:0;animation:marquee-scroll 18s linear infinite}.marquee-bar:hover .marquee-track{animation-play-state:paused}.marquee-group{display:flex;flex-shrink:0;align-items:center}.marquee-group span{display:inline-block;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:700;color:#fff;white-space:nowrap;padding:0 20px}.marquee-group span:after{content:"•";margin-left:20px;opacity:.5}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px}main{padding-top:var(--header-h)}.brand{position:relative;display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:var(--radius)}.brand .brand-hit{position:absolute;inset:0;z-index:1;text-decoration:none}.brand .brand-visual{display:inline-flex;align-items:center;gap:8px;pointer-events:none}.brand .brand-name{font-family:var(--font-mono);font-weight:500;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.brand .brand-logo-frame{display:block;overflow:hidden;pointer-events:none}.brand .brand-logo-frame--desktop{width:232px;height:56px}.brand .brand-logo{display:block;border:0;transform-origin:top left;pointer-events:none}.brand .brand-logo-frame--desktop .brand-logo{width:1080px;height:260px;transform:scale(.2154)}.brand .brand-logo-img{display:block;height:88px;width:auto;pointer-events:none}.brand .back-arrow{display:none}.brand.has-back .back-arrow{display:inline-flex}nav.site-actions{display:flex;align-items:center;gap:16px}nav.site-actions a.about-link{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--steel);text-decoration:none;display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:var(--radius);background:color-mix(in srgb,var(--paper) 60%,transparent);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}nav.site-actions a.about-link:hover{color:var(--ink)}.lang-switch{display:inline-flex;align-items:center;min-height:44px;gap:2px;font-family:var(--font-mono);font-size:12px;padding:5px 6px;border-radius:var(--radius);background:color-mix(in srgb,var(--paper) 60%,transparent);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.lang-switch a{position:relative;color:var(--steel);text-decoration:none;padding:3px 5px;text-transform:uppercase;transition:color .15s ease}.lang-switch a:after{content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:44px}.lang-switch a:not([aria-current=true]):hover{color:var(--ink)}.lang-switch a[aria-current=true]{color:var(--ink);background:var(--ink);color:var(--paper)}.lang-switch .sep{color:var(--line)}.cv-btn{display:inline-flex;align-items:center;min-height:44px;gap:8px;border:1px solid var(--ink);background:color-mix(in srgb,var(--paper) 60%,transparent);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);color:var(--ink);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:12px;padding:8px 12px;border-radius:var(--radius);text-decoration:none;cursor:var(--cursor-default);transform:rotate(-1.5deg);transition:background .15s ease,color .15s ease,transform .15s ease}.cv-btn:hover,.cv-btn:focus-visible{transform:rotate(0)}.cv-btn:hover{background:var(--ink);color:var(--paper)}.contact-btn{display:inline-flex;align-items:center;min-height:44px;gap:8px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:12px;padding:8px 12px;border-radius:var(--radius);text-decoration:none;cursor:var(--cursor-default);transform:rotate(1.3deg);transition:background .15s ease,color .15s ease,transform .15s ease}.contact-btn:hover,.contact-btn:focus-visible{transform:rotate(0)}.contact-btn:hover{background:transparent;color:var(--ink)}@media(max-width:480px){:root{--header-h: var(--marquee-h)}header.site .wrap{display:none}body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}}.mobile-nav{display:none}@media(max-width:480px){.mobile-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:45;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}.mobile-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:56px;padding:8px 2px;color:var(--steel);text-decoration:none;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em;font-size:12px;cursor:var(--cursor-default)}.mobile-nav a svg{width:20px;height:20px}.mobile-nav a[aria-current=page],.mobile-nav a:hover,.mobile-nav a:active,.mobile-nav .mobile-nav-contact{color:var(--ink)}}.screens-spacer{position:relative;scroll-margin-top:var(--header-h)}.screen{display:flex;flex-direction:column;justify-content:safe center;min-height:calc(100vh - var(--header-h));min-height:calc(100dvh - var(--header-h))}html.has-js:not(.no-fx) .screens-spacer{height:calc(100vh - var(--header-h));height:calc(100dvh - var(--header-h))}html.has-js:not(.no-fx) .screens{position:sticky;top:var(--header-h);height:calc(100vh - var(--header-h));height:calc(100dvh - var(--header-h));overflow:hidden}html.has-js:not(.no-fx) .screen{position:absolute;inset:0;min-height:0;overflow-y:auto;opacity:0;filter:blur(16px);transform:translateY(48px);transition:opacity .35s ease,filter .35s ease,transform .35s ease}html.has-js:not(.no-fx) .screen.is-active{opacity:1;filter:blur(0);transform:translateY(0)}html.has-js:not(.no-fx) .screen.is-past{opacity:0;filter:blur(16px);transform:translateY(-48px)}html.has-js:not(.no-fx) .screen.is-flow{position:static;inset:auto;min-height:0;overflow:visible;opacity:1;filter:none;transform:none;transition:none;justify-content:flex-start;scroll-margin-top:var(--header-h)}@media(min-width:761px){html.has-js:not(.no-fx) .screen.is-flow{padding:clamp(56px,9vh,104px) 0}html.has-js:not(.no-fx) .screen.is-flow.fade-flow{opacity:0;filter:blur(16px);transform:translateY(48px);transition:opacity .35s ease,filter .35s ease,transform .35s ease}html.has-js:not(.no-fx) .screen.is-flow.fade-flow.is-active{opacity:1;filter:blur(0);transform:none}}@media(max-width:760px){html.has-js:not(.no-fx) .screens-spacer{height:auto}html.has-js:not(.no-fx) .screens{position:static;top:auto;height:auto;overflow:visible}.screen,html.has-js:not(.no-fx) .screen,html.has-js:not(.no-fx) .screen.is-past{position:static;inset:auto;min-height:0;overflow:visible;opacity:1;filter:none;transform:none;justify-content:flex-start;padding:40px 0 48px}html.has-js .screens [data-reveal],html.has-js .screens-flow [data-reveal]{opacity:1!important;transform:none!important}}.screen-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.screen-split .explorations,.screen-split .contributions{padding:0}@media(max-width:760px){.screen-split{grid-template-columns:1fr;gap:32px}}.hero .hero-meta{display:flex;flex-wrap:wrap;align-items:baseline;row-gap:6px;font-family:var(--font-mono);font-size:12px;color:var(--steel);text-transform:uppercase;letter-spacing:.08em;margin:0 0 24px}.hero .hero-meta .eyebrow{color:var(--ink);letter-spacing:.1em}.hero .hero-meta>*:not(:first-child):before{content:"·";display:inline-block;margin:0 12px;color:var(--line)}.hero h1{font-family:var(--font-display);font-weight:900;font-size:clamp(36px,7.5vw,92px);line-height:1;letter-spacing:-.01em;margin:0}.hero-below .lede{font-size:clamp(20px,2.6vw,32px);line-height:1.45;color:var(--steel);max-width:38ch;margin:0 0 32px}.hero-below .cta-row{display:flex;gap:12px;flex-wrap:wrap}@media(max-width:480px){.hero .hero-meta{margin:0 0 16px;flex-direction:column;align-items:flex-start;row-gap:4px}.hero .hero-meta>*:not(:first-child):before{content:none}.hero h1{font-size:44px}.hero-below .lede{font-size:20px;margin:0 0 20px}}.btn-primary{background:var(--ink);color:var(--paper);border:1px solid var(--ink);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:12px;padding:12px 24px;border-radius:var(--radius);text-decoration:none;cursor:var(--cursor-default);transform:rotate(-1.5deg);transition:transform .15s ease}.btn-primary:hover{transform:rotate(0) translateY(-1px)}.btn-secondary{background:transparent;color:var(--ink);border:1px solid var(--line);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:12px;padding:12px 24px;border-radius:var(--radius);text-decoration:none;transform:rotate(1.3deg);transition:transform .15s ease,border-color .15s ease}.btn-secondary:hover{border-color:var(--ink);transform:rotate(0) translateY(-1px)}.eyebrow-mono,.section-title{font-family:var(--font-mono);font-weight:400;line-height:1.2;font-size:12px;color:var(--steel);text-transform:uppercase;letter-spacing:.1em;margin:0 0 18px}.culture{padding:24px 0}.culture h2{font-family:var(--font-display);font-weight:800;font-size:clamp(28px,5vw,52px);line-height:.98;letter-spacing:-.01em;margin:0 0 24px}.culture p:not(.eyebrow-mono){color:var(--ink);font-size:20px;line-height:1.55;max-width:62ch;margin:0 0 18px}blockquote.testimonial{margin:30px 0 0;padding-left:20px;border-left:2px solid var(--ink)}blockquote.testimonial p{font-size:20px;margin:0 0 10px}@media(max-height:860px){.culture h2{font-size:clamp(24px,3.4vw,40px);margin:0 0 16px}.culture p:not(.eyebrow-mono){font-size:20px;line-height:1.5;margin:0 0 12px}blockquote.testimonial{margin-top:20px}blockquote.testimonial p{font-size:20px}}blockquote.testimonial cite{font-family:var(--font-mono);font-style:normal;text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:var(--steel)}.projects{padding:24px 0}.project-list{border-top:1px solid var(--line)}.project-row{display:grid;grid-template-columns:220px 1fr auto 20px;align-items:center;gap:40px;padding:24px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;transition:background .15s ease,opacity .35s ease,filter .35s ease}html.has-js [data-reveal].project-row{transition:opacity .5s ease,transform .7s ease,filter .4s ease,background .15s ease}.project-row .row-arrow{font-family:var(--font-mono);font-size:12px;color:var(--steel);justify-self:end;opacity:0;transform:translate(-6px);transition:opacity .15s ease,transform .15s ease,color .15s ease}.project-row:hover .row-arrow{opacity:1;transform:translate(0);color:var(--ink)}.project-row:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.project-row .thumb{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:var(--paper-raised);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;transition:border-color .15s ease}.project-row:hover .thumb{border-color:var(--ink)}.project-row .thumb svg{width:30px;height:30px;stroke:var(--steel);fill:none;stroke-width:1.25}.row-main{min-width:0;transition:transform .15s ease}.project-row:hover .row-main{transform:translate(12px)}.row-title{font-family:var(--font-display);font-weight:800;font-size:clamp(20px,2.6vw,32px);line-height:1.02;letter-spacing:-.01em;margin:0;max-width:24ch}.row-desc{font-family:var(--font-body);font-size:20px;line-height:1.5;color:var(--steel);margin:0;max-width:52ch;opacity:0;display:grid;grid-template-rows:0fr;transform:translateY(-4px);overflow:hidden;transition:opacity .35s ease,grid-template-rows .4s ease,transform .35s ease,margin-top .35s ease}.row-desc>span{min-height:0;overflow:hidden}.project-row:hover .row-desc{opacity:1;grid-template-rows:1fr;transform:none;margin-top:10px}.row-cat{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--steel);text-align:right;white-space:nowrap}.tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;font-size:12px;padding:4px 8px;border-radius:0;background:transparent;border:1px solid var(--line);color:var(--steel)}.tag.status{color:var(--signal-ink);border-color:var(--signal)}@media(hover:hover){.project-list:hover .project-row:not(:hover){opacity:.4;filter:blur(3px)}.projects:has(.project-row:hover) .section-title{opacity:.35;filter:blur(2px);transition:opacity .35s ease,filter .35s ease}}@media(max-width:720px){.project-row{grid-template-columns:1fr;gap:14px;padding:22px 0}.row-cat{text-align:left}.project-row .row-arrow{display:none}.row-desc{opacity:1;grid-template-rows:1fr;transform:none;margin-top:10px}}.project-cards{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;gap:clamp(40px,7vh,88px)}.projects .section-title{margin:0 0 clamp(14px,2.4vh,28px)}@media(min-width:761px){.projects .section-title{width:83.333%;margin-left:auto;margin-right:auto}}.projects{overflow-x:clip}html.has-js:not(.no-fx) .projects.is-flow{overflow-x:clip}.pcard{position:relative;display:block;width:83.333%;cursor:none;text-decoration:none;color:inherit;transform:rotate(var(--tilt, -1.5deg));transition:transform .45s cubic-bezier(.2,.8,.2,1)}.pcard-media{position:relative;overflow:hidden;aspect-ratio:16 / 9;border:1px solid var(--line);background:var(--paper-raised);border-radius:0}.pcard-img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.pcard-video--mobile{display:none}.pcard-video{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;height:80%;object-fit:contain;pointer-events:none}.pcard-frost{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.32'/%3E%3C/svg%3E"),linear-gradient(135deg,#ffffff42,#e0e7f033);background-size:180px 180px,cover;background-blend-mode:overlay,normal;-webkit-backdrop-filter:blur(5px) saturate(1.04);backdrop-filter:blur(5px) saturate(1.04);opacity:1;transition:opacity .6s ease-in-out,-webkit-backdrop-filter .6s ease-in-out,backdrop-filter .6s ease-in-out}.pcard:hover,.pcard:focus-visible{z-index:10;transform:rotate(0)}@media(hover:hover)and (pointer:fine){.pcard:hover,.pcard:focus-visible{transform:rotate(0) scale(1.03)}}.pcard:hover .pcard-frost,.pcard:focus-visible .pcard-frost{opacity:0;-webkit-backdrop-filter:blur(0) saturate(1);backdrop-filter:blur(0) saturate(1)}.pcard:hover .pcard-img,.pcard:focus-visible .pcard-img{transform:scale(1.06)}.pcard.is-focused{transform:rotate(0)}.pcard.is-focused .pcard-frost{opacity:0;-webkit-backdrop-filter:blur(0) saturate(1);backdrop-filter:blur(0) saturate(1)}.pcard.is-focused .pcard-img{transform:scale(1.05)}.pcard-text{margin-top:8px}.pcard-title{font-family:var(--font-display);font-weight:800;font-size:20px;line-height:1.08;letter-spacing:-.01em;margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pcard-summary{margin:8px 0 0;font-family:var(--font-body);font-size:20px;line-height:1.5;color:var(--steel);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pcard-cat{display:inline-block;margin-top:5px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--steel)}.pcard-veil{position:absolute;inset:-60vh -60vw;z-index:5;pointer-events:none;opacity:0;background:color-mix(in srgb,var(--paper) 22%,transparent);-webkit-backdrop-filter:blur(7px) saturate(1.04);backdrop-filter:blur(7px) saturate(1.04);transition:opacity .35s ease}.project-cards:has(.pcard:hover) .pcard-veil,.project-cards:has(.pcard:focus-visible) .pcard-veil{opacity:1}@keyframes pcard-demo-frost{0%{opacity:1;-webkit-backdrop-filter:blur(5px) saturate(1.04);backdrop-filter:blur(5px) saturate(1.04)}to{opacity:0;-webkit-backdrop-filter:blur(0) saturate(1);backdrop-filter:blur(0) saturate(1)}}@keyframes pcard-demo-tilt{0%{transform:rotate(var(--tilt, -1.5deg))}to{transform:rotate(0)}}@keyframes pcard-demo-zoom{0%{transform:scale(1)}to{transform:scale(1.05)}}html:not(.no-fx) .pcard[data-first-card-demo] .pcard-frost{animation:pcard-demo-frost 1.8s ease-out forwards}html:not(.no-fx) .pcard[data-first-card-demo]{animation:pcard-demo-tilt 1.8s ease-out forwards}html:not(.no-fx) .pcard[data-first-card-demo] .pcard-img{animation:pcard-demo-zoom 1.8s ease-out forwards}@media(max-width:760px){.project-cards{display:block;padding:8px 0 16px}.pcard{width:100%;margin:0 0 40px;cursor:pointer;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.pcard-media{aspect-ratio:3 / 4}.pcard-video--desktop{display:none}.pcard-video--mobile{display:block}.pcard-veil{display:none}}.explorations{padding:64px 0}.explorations .box{display:block;border:1px solid var(--line);border-left:2px solid var(--ink);padding:24px;background:var(--paper-raised);text-decoration:none;color:inherit;transition:background .15s ease,border-color .15s ease}.explorations .box:hover{background:color-mix(in srgb,var(--ink) 4%,transparent);border-left-color:var(--signal)}.explorations h3{font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:-.01em;line-height:1.05;margin:0 0 14px}.explorations p{margin:0 0 14px;max-width:60ch}.iteration-row{display:flex;gap:10px;margin-top:18px}.iteration-row div{flex:1;height:64px;background:var(--paper);border:1px solid var(--line)}.contributions{padding:40px 0 72px}.contrib-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.contrib-item{display:block;padding:20px;background:var(--paper-raised);text-decoration:none;color:inherit;transition:background .15s ease}a.contrib-item:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.contrib-item h4{font-family:var(--font-display);font-weight:700;font-size:14px;line-height:1.3;color:var(--ink);margin:0 0 16px}.contrib-item p{font-size:20px;color:var(--steel);margin:0}@media(max-width:560px){.contrib-grid{grid-template-columns:1fr}}.legal{padding:40px 0 96px}.legal .wrap{max-width:76ch}.legal h1{font-family:var(--font-display);font-weight:900;font-size:clamp(28px,4.6vw,48px);line-height:1;margin:0 0 12px}.legal h2{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:400;color:var(--steel);margin:44px 0 10px}.legal p,.legal li{font-size:20px;line-height:1.6}.legal p{margin:0 0 14px}.legal ul{margin:0 0 14px;padding-left:20px}.legal li{margin:0 0 6px}.legal li::marker{color:var(--signal-ink)}.legal a{color:var(--ink);text-decoration:var(--link-decoration);text-underline-offset:2px;transition:color .15s ease}.legal a:hover{color:var(--signal-ink)}.legal strong{font-weight:700}.legal .legal-note{font-size:12px;color:var(--steel);border-left:2px solid var(--line);padding-left:14px;margin:0 0 8px}footer.site{padding:56px 0 120px;text-align:center}.brand-logo-hit{display:inline-block;line-height:0;margin:0 0 32px;transform-origin:center;transition:transform .3s cubic-bezier(.2,.8,.2,1)}.brand-logo-hit:hover,.brand-logo-hit:focus-visible{transform:scale(1.03) rotate(-1deg)}.brand-mark{--mark-w: 510px;--mark-h: 274px;--mark-scale: .62;--mark-ink: #000;--mark-letter: #fff;display:block;width:calc(var(--mark-w) * var(--mark-scale));height:calc(var(--mark-h) * var(--mark-scale));pointer-events:none}.brand-mark-inner{display:block;width:var(--mark-w);height:var(--mark-h);transform:scale(var(--mark-scale));transform-origin:top left;filter:drop-shadow(2px 3px 0 rgba(0,0,0,.25))}.brand-mark-row{display:flex;align-items:center;justify-content:center;width:var(--mark-w)}.brand-mark-row--under{margin-top:-16px}.brand-tile{flex:none;position:relative;z-index:var(--tile-z);animation:brand-weave var(--tile-weave) steps(1,end) var(--tile-weave-delay) infinite}.brand-tile+.brand-tile{margin-left:-13px}.brand-tile-pulse{display:block;animation:brand-pulse var(--tile-pulse) steps(1,end) var(--tile-pulse-delay) infinite}.brand-tile-ink{width:var(--tile-w);height:var(--tile-h);display:flex;align-items:center;justify-content:center;background:var(--mark-ink);clip-path:var(--tile-clip);transform:rotate(var(--tile-rot)) translateY(var(--tile-ty));filter:var(--tile-rough)}.brand-tile-ch{font-family:var(--font-mono);font-weight:700;font-size:var(--tile-fs);line-height:1;color:var(--mark-letter);transform:rotate(var(--tile-srot))}.brand-mark-defs{position:absolute;pointer-events:none}@keyframes brand-weave{0%{transform:translate(0) rotate(0)}9%{transform:translate(-3px,1px) rotate(-.7deg)}18%{transform:translate(2px,-2px) rotate(.6deg)}27%{transform:translate(-4px,1px) rotate(-.4deg)}36%{transform:translate(1px,2px) rotate(.8deg)}45%{transform:translate(-2px,-1px) rotate(-.6deg)}54%{transform:translate(3px,1px) rotate(.5deg)}63%{transform:translate(-5px) rotate(-.5deg)}72%{transform:translate(2px,-2px) rotate(.7deg)}81%{transform:translate(-1px,2px) rotate(-.3deg)}90%{transform:translate(3px,-1px) rotate(.4deg)}to{transform:translate(0) rotate(0)}}@keyframes brand-pulse{0%{transform:scale(1)}14%{transform:scale(1.09)}28%{transform:scale(.93)}42%{transform:scale(1.13)}57%{transform:scale(.89)}71%{transform:scale(1.06)}85%{transform:scale(.95)}to{transform:scale(1)}}.brand-mark[data-animated=false] .brand-tile,.brand-mark[data-animated=false] .brand-tile-pulse{animation:none}@media(max-width:480px){.brand-mark{--mark-scale: .42}}footer.site .footer-legal{margin-top:10px;font-size:12px;color:var(--steel)}footer.site p{color:var(--steel);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;font-size:12px}footer.site a{position:relative;color:var(--ink);text-decoration:var(--link-decoration);text-underline-offset:2px;transition:color .15s ease}footer.site a:not(.brand-logo-hit):hover{color:var(--signal-ink)}footer.site a:not(.brand-logo-hit):after{content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:24px}.case-head{position:relative;display:flex;align-items:flex-start;margin-top:calc(-1 * var(--header-h));padding-top:calc(var(--header-h) + 24px);padding-bottom:48px;min-height:100vh;min-height:100dvh;overflow:hidden}.case-head:not(:has(.case-head-media)){min-height:0;padding-bottom:80px}.case-head:not(:has(.case-head-media))+.wrap .prose>*:first-child{margin-top:0}.case-head-content{position:relative;z-index:2;text-align:center}.case-head-media{width:83.333%;max-width:calc(42vh * 16 / 9);margin:0 auto clamp(20px,3vh,32px)}@media(max-width:760px){.case-head-media{width:100%;max-width:19.5vh}}.case-head .tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:0 0 20px}.case-head .subtitle{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--steel);margin:0 0 12px}.case-head h1{font-family:var(--font-display);font-weight:900;font-size:clamp(28px,5.2vw,40px);line-height:1.04;letter-spacing:-.01em;max-width:720px;margin:0 auto 16px}.case-head .meta{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:var(--steel);margin:0}.case-highlights{display:flex;flex-wrap:wrap;justify-content:center;gap:1px;background:var(--line);border:1px solid var(--line);margin:28px 0 0;font-size:12px;text-align:left}.highlight{flex:1;min-width:150px;background:var(--paper-raised);padding:12px 16px}.highlight-label{display:block;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.07em;font-size:12px;color:var(--steel);margin:0 0 4px}.highlight-value{display:block;font-family:var(--font-display);font-weight:700;font-size:12px;color:var(--ink)}.highlight-stack{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.highlight-stack .stack-main{flex:1;min-width:200px}.highlight-stack .case-site-cta{flex:none;margin:0}.stack-flat{font-family:var(--font-mono);font-size:12px;font-weight:400;color:var(--ink);margin:0}@media(max-width:640px){.highlight-stack{flex-direction:column;align-items:flex-start}.highlight-stack .case-site-cta{margin-top:2px}}.case-site-cta{margin:16px 0 0}.about-cv-btn{align-self:flex-start;width:max-content;max-width:100%;margin:6px 0 10px;text-decoration:none}.read-switch-bar{position:fixed;left:50%;bottom:20px;transform:translate(-50%);z-index:40;padding-bottom:env(safe-area-inset-bottom,0px);transition:opacity .25s ease,visibility .25s ease}.read-switch-bar.is-past{opacity:0;visibility:hidden;pointer-events:none}.read-switch-scrim{position:fixed;left:0;right:0;bottom:0;height:240px;z-index:39;pointer-events:none;background:linear-gradient(to top,var(--paper) 0%,color-mix(in srgb,var(--paper) 55%,transparent) 42%,transparent 100%);-webkit-mask-image:linear-gradient(to top,#000 22%,transparent 100%);mask-image:linear-gradient(to top,#000 22%,transparent 100%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:opacity .25s ease}.read-switch-bar.is-past+.read-switch-scrim{opacity:0}.read-switch{display:inline-flex;gap:0;position:relative;z-index:1;border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--paper) 80%,transparent);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.read-switch label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:var(--steel);padding:13px 16px;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap;cursor:var(--cursor-default);user-select:none;transition:background .15s,color .15s}.read-switch label+label{border-left:1px solid var(--line)}.read-switch label:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}input[name=read]{position:absolute;opacity:0;width:1px;height:1px}.wrap:has(#read-summary:focus-visible) .read-switch-bar .read-switch label[for=read-summary],.wrap:has(#read-full:focus-visible) .read-switch-bar .read-switch label[for=read-full]{outline:2px solid var(--signal-ink);outline-offset:2px}#read-summary:checked~.read-switch-bar .read-switch label[for=read-summary],#read-full:checked~.read-switch-bar .read-switch label[for=read-full]{background:var(--ink);color:var(--paper)}@media(max-width:480px){.read-switch-bar{bottom:calc(70px + env(safe-area-inset-bottom,0px))}.read-switch label{padding:13px 11px;font-size:12px}.read-switch-scrim{height:300px}}.case-body{padding:8px 0 96px}.case-view{display:none}#read-summary:checked~.case-body .view-summary{display:block}#read-full:checked~.case-body .view-full{display:block}.prose{max-width:68ch;margin:0 auto;text-align:left}.prose h2{font-family:var(--font-display);font-weight:800;font-size:28px;letter-spacing:-.01em;line-height:1.1;margin:66px 0 14px}.prose .section-num{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--steel);margin:66px 0 8px}.prose .section-num+h2{margin-top:0}.prose h3{font-family:var(--font-display);font-weight:700;font-size:20px;margin:32px 0 12px}.prose p{font-size:20px;line-height:1.55;margin:0 0 18px}.prose ul{margin:0 0 18px;padding-left:20px}.prose li{margin:0 0 8px}.prose li::marker{color:var(--signal-ink)}.prose a{color:var(--ink);text-decoration:var(--link-decoration);text-underline-offset:2px;transition:color .15s ease}.prose a:hover{color:var(--signal-ink)}.prose hr{border:none;margin:54px 0}.prose em{color:var(--steel)}.prose blockquote{margin:32px 0;padding:18px 22px;background:var(--paper-raised);border:1px solid var(--line);border-top:2px solid var(--ink)}.prose blockquote p{font-size:20px;line-height:1.5;margin:0}.prose blockquote strong{display:block;background:transparent;color:var(--ink);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:400;padding:0;margin:0 0 8px;transform:none}.prose img,.prose video{display:block;width:100%;height:auto;margin:32px 0;border:1px solid var(--line);background:var(--paper-raised)}.prose figure{margin:32px 0}.prose figure img,.prose figure video{margin:0}.prose figcaption{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:var(--steel);margin-top:8px}.about{padding:24px 0 64px}.about-layout{display:grid;grid-template-columns:1fr clamp(320px,38vw,440px);gap:64px;align-items:start}.about-text{min-width:0;max-width:60ch}.about-section{display:flex;flex-direction:column;justify-content:center;min-height:70vh;padding:40px 0}.about-section--last{min-height:auto;padding-bottom:0}.about-section>*:last-child{margin-bottom:0}.about-section.prose{max-width:none;margin:0}.about-visual{height:100%}.about-stack{position:sticky;top:calc(var(--header-h) + 32px);height:calc(100vh - var(--header-h) - 80px);min-height:380px;display:flex;align-items:center;justify-content:center}.about-card{position:absolute;width:clamp(260px,30vw,340px);height:auto;aspect-ratio:300 / 353;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line);background:var(--paper);box-shadow:0 10px 30px -12px #1f1f1f47;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}.about-card[data-card="0"]{z-index:1;transform:rotate(-3deg)}.about-card[data-card="1"]{z-index:3;transform:rotate(2.6deg) translate(28px,26px)}.about-card[data-card="2"]{z-index:5;transform:rotate(-1.4deg) translate(54px,50px)}.marker-ink{position:absolute;width:clamp(260px,30vw,340px);height:auto;aspect-ratio:300 / 353;pointer-events:none;filter:url(#marker-ink);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}.marker-ink[data-card="0"]{z-index:2;transform:rotate(-3deg)}.marker-ink[data-card="1"]{z-index:4;transform:rotate(2.6deg) translate(28px,26px)}html.has-js:not(.no-fx) .marker-ink[data-card="1"]{opacity:0;transform:rotate(2.6deg) translate(28px,72px)}html.has-js:not(.no-fx) .marker-ink[data-card="1"].is-in{opacity:1;transform:rotate(2.6deg) translate(28px,26px)}.marker-ink-defs{position:absolute;width:0;height:0;overflow:hidden}html.has-js:not(.no-fx) .about-card[data-card="1"]{opacity:0;transform:rotate(2.6deg) translate(28px,72px)}html.has-js:not(.no-fx) .about-card[data-card="2"]{opacity:0;transform:rotate(-1.4deg) translate(54px,104px)}html.has-js:not(.no-fx) .about-card[data-card="1"].is-in{opacity:1;transform:rotate(2.6deg) translate(28px,26px)}html.has-js:not(.no-fx) .about-card[data-card="2"].is-in{opacity:1;transform:rotate(-1.4deg) translate(54px,50px)}@media(max-width:899px){.about-layout{grid-template-columns:1fr;gap:8px}.about-text{max-width:none;order:2}.about-visual{order:1;height:auto}.about-stack{position:relative;top:auto;height:auto;min-height:0;margin:8px auto 56px}.about-card{position:static;width:min(260px,66vw)}.marker-ink{width:min(260px,66vw)}.about-card[data-card="1"],.about-card[data-card="2"],.marker-ink[data-card="1"]{display:none}.about-section{min-height:0;padding:32px 0;justify-content:flex-start}}.about-ctas{display:flex;flex-wrap:wrap;gap:12px;margin:4px 0 8px}.about-cta{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ink);color:var(--ink);background:transparent;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:12px;padding:12px 16px;border-radius:var(--radius);text-decoration:none;min-height:44px;transition:background .15s ease,color .15s ease,transform .15s ease}.about-cta svg{flex:none;color:var(--ink)}.about-cta--linkedin{transform:rotate(-1.3deg)}.about-cta--mail{transform:rotate(1.3deg)}.about-cta:hover,.about-cta:focus-visible{transform:rotate(0);background:color-mix(in srgb,var(--ink) 5%,transparent)}.about-ctas .about-cta:hover,.about-ctas .about-cta:focus-visible{color:var(--ink)}.about-greeting{font-family:var(--font-display);font-weight:800;font-size:clamp(24px,3.6vw,40px);line-height:1.05;letter-spacing:-.01em;margin:0 0 18px}.about-lede{font-size:20px;line-height:1.55;margin:0 0 14px}.summary-result{border:1px solid var(--line);border-top:2px solid var(--ink);background:var(--paper-raised);padding:16px 18px;margin:22px 0 0}.summary-result strong{background:transparent;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:12px;padding:0;color:var(--ink)}.scroll-ruler{display:none}@media(min-width:1320px){.scroll-ruler{display:block;position:fixed;right:30px;top:50%;transform:translateY(-50%);height:62vh;width:150px;z-index:25}}.ruler-line{position:absolute;right:0;top:0;bottom:0;width:1px;background:var(--line)}.ruler-progress{position:absolute;right:0;top:0;width:1px;height:0;background:var(--ink)}.ruler-items{position:absolute;inset:0}.ruler-item{position:absolute;right:0;transform:translateY(-50%);display:flex;align-items:center;justify-content:flex-end;gap:10px;width:100%;text-decoration:none}.ruler-dot{flex:none;width:14px;height:1px;background:var(--line);transform:scaleX(.4286);transform-origin:right;transition:transform .2s ease,background .2s ease}.ruler-name{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--steel);white-space:nowrap;opacity:0;transform:translate(6px);transition:opacity .2s ease,transform .2s ease,color .2s ease}.scroll-ruler:hover .ruler-name{opacity:1;transform:none}.ruler-item:hover .ruler-dot,.ruler-item.active .ruler-dot{transform:scaleX(1);background:var(--ink)}.ruler-item:hover .ruler-name{color:var(--ink)}.ruler-item.active .ruler-name{opacity:1;transform:none;color:var(--ink)}.grid-lines{position:fixed;inset:0;z-index:-1;pointer-events:none}.grid-lines-inner{max-width:var(--maxw);height:100%;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:repeat(12,1fr)}.grid-lines-inner span{border-left:1px solid color-mix(in srgb,var(--ink) 3.5%,transparent)}.grid-lines-inner span:last-child{border-right:1px solid color-mix(in srgb,var(--ink) 3.5%,transparent)}@property --press-r{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --press-blur{syntax: "<length>"; inherits: false; initial-value: 0px;}.press-fx{position:fixed;inset:0;z-index:95;pointer-events:none;opacity:0;--press-r: 0px;--press-blur: 0px;--press-x: 50%;--press-y: 50%;-webkit-backdrop-filter:blur(var(--press-blur));backdrop-filter:blur(var(--press-blur));-webkit-mask-image:radial-gradient(circle at var(--press-x) var(--press-y),#000 calc(var(--press-r) - 90px),transparent var(--press-r));mask-image:radial-gradient(circle at var(--press-x) var(--press-y),#000 calc(var(--press-r) - 90px),transparent var(--press-r))}.press-fx.is-pressed{opacity:1;--press-r: 150vmax;--press-blur: 12px;transition:--press-r .52s cubic-bezier(.22,.61,.36,1),--press-blur .3s ease-out,opacity .12s ease-out}.press-fx.is-releasing{--press-r: 150vmax;--press-blur: 0px;opacity:0;transition:--press-blur .3s ease-out,opacity .32s ease-out}.grain{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.16;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:140px 140px}header.site,main,footer.site{transition:filter .85s ease}html.is-loading header.site,html.is-loading main,html.is-loading footer.site{filter:blur(10px)}html.is-leaving header.site,html.is-leaving main,html.is-leaving footer.site{filter:blur(10px);opacity:.55;transition:filter .3s ease,opacity .3s ease}.scroll-ruler{transition:opacity .5s ease}html.is-loading .scroll-ruler,html.is-leaving .scroll-ruler{opacity:0}.page-loader{display:none;position:fixed;inset:0;z-index:90;align-items:center;justify-content:center;pointer-events:none;transition:opacity .4s ease}html.first-load .page-loader{display:flex}.page-loader.done{opacity:0}.loader-bar{width:min(220px,42vw);height:2px;background:var(--line);position:relative;overflow:hidden}.loader-fill{position:absolute;left:0;top:0;bottom:0;width:100%;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform 1.3s cubic-bezier(.4,0,.1,1)}html.has-js [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s ease}html.has-js [data-reveal].in{opacity:1;transform:none}html.has-js [data-reveal].case-site-cta{transform:translateY(22px) rotate(1.3deg)}html.has-js [data-reveal].in.case-site-cta{transform:rotate(1.3deg)}html.has-js [data-reveal].about-cv-btn{transform:translateY(22px) rotate(-1.5deg)}html.has-js [data-reveal].in.about-cv-btn{transform:rotate(-1.5deg)}html.no-fx [data-reveal]{opacity:1!important;transform:none!important}html.lightbox-open body{overflow:hidden}.more-work{margin-top:96px;padding:56px 0 24px;border-top:1px solid var(--line);text-align:left}.more-work .projects{padding:0}.more-work-split{margin-top:56px}.more-work .explorations .box+.box{margin-top:16px}@media(max-width:760px){.more-work{margin-top:64px;padding-top:40px}.more-work-split{margin-top:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
