@import "https://fonts.googleapis.com/css2?family=Anton&family=Space+Grotesk:wght@400;500;700&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-custom:#00688f;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:"Space Grotesk", system-ui, "Segoe UI", Roboto, sans-serif;--heading:"Space Grotesk", system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}*,:before,:after{box-sizing:border-box}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;box-sizing:border-box;flex-direction:column;width:100%;min-height:100svh;margin:0 auto;display:flex;overflow-x:clip}html,body{margin:0;overflow-x:clip}@media (hover:hover) and (pointer:fine){html{scrollbar-width:none}body{-ms-overflow-style:none}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,button{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.loading-screen{z-index:20;visibility:visible;place-items:center;transition:visibility 0s linear 1.35s;display:grid;position:fixed;inset:0}@media (hover:hover) and (pointer:fine){.custom-scrollbar{z-index:16;background:#fff;border-left:1px solid #08060d;width:18px;position:fixed;top:0;bottom:0;right:0}.custom-scrollbar-track{box-sizing:border-box;cursor:pointer;width:100%;height:100%;padding:2px;position:relative}.custom-scrollbar-thumb{cursor:grab;background:#08060d;width:calc(100% - 4px);position:absolute;top:0;left:2px}.custom-scrollbar-thumb:active{cursor:grabbing}}@media (hover:none),(pointer:coarse){.custom-scrollbar{display:none}}.site-nav{z-index:20;pointer-events:none;justify-content:flex-end;padding:24px 28px;display:flex;position:fixed;top:0;left:0;right:0}@media (width<=1024px){.site-nav{padding:18px}}.site-nav-toggle{width:92px;height:92px;color:inherit;cursor:pointer;pointer-events:auto;background:0 0;border:0;padding:0;transition:transform .22s;position:relative;overflow:hidden}.site-nav-toggle:hover{transform:translateY(-1px)}.site-nav-toggle span{width:44px;height:4px;transition:background .18s,top .22s,transform .22s,opacity .18s;position:absolute;left:50%;transform:translate(-50%)}.site-nav-toggle span.is-on-dark{background:#ffffffb3}.site-nav-toggle span.is-on-light{background:#08060d}.site-nav-toggle span:first-child{top:24px}.site-nav-toggle span:nth-child(2){top:42px}.site-nav-toggle span:nth-child(3){top:60px}.site-nav-toggle.is-open span:first-child{top:42px;transform:translate(-50%)rotate(45deg)}.site-nav-toggle.is-open span:nth-child(2){opacity:0}.site-nav-toggle.is-open span:nth-child(3){top:42px;transform:translate(-50%)rotate(-45deg)}.site-nav-overlay{z-index:17;opacity:0;pointer-events:none;background:#00000047;transition:opacity .28s;position:fixed;inset:0}.site-nav-overlay.is-open{opacity:1;pointer-events:auto}.site-nav-drawer{z-index:19;width:min(360px,88vw);transition:transform .34s cubic-bezier(.76,0,.24,1);position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.site-nav-drawer.is-open{transform:translate(0)}.site-nav-panel{background:linear-gradient(#fffffff5,#f4f2f7f5),#fff;flex-direction:column;justify-content:center;align-items:flex-start;gap:36px;height:100%;padding:96px 32px 32px;display:flex}@media (width<=1024px){.site-nav-panel{gap:44px;padding:92px 28px 28px}}.site-nav-drawer.is-open .site-nav-panel{border-left:1px solid #08060d14;box-shadow:-24px 0 48px #08060d1f}.site-nav-section{flex-direction:column;align-items:flex-start;gap:12px;display:flex;position:relative}.site-nav-section-title{color:#08060d85;letter-spacing:.18em;text-transform:uppercase;margin:0 0 6px;font-size:.78rem}.site-nav-active-dot{background:var(--accent-custom);border-radius:999px;width:18px;height:18px;transition:transform .16s ease-in-out;position:absolute;top:0;left:0}.site-nav-link{color:#08060d;font-family:var(--heading);letter-spacing:-.05em;text-transform:uppercase;text-align:left;padding-left:0;font-size:clamp(1.35rem,3vw,2.2rem);line-height:.92;text-decoration:none;transition:padding-left .22s,transform .22s,opacity .22s}@media (width<=1024px){.site-nav-section{gap:16px}.site-nav-section-title{letter-spacing:.2em;margin-bottom:10px;font-size:.96rem}.site-nav-link{font-size:clamp(1.9rem,8vw,3rem)}.site-nav-socials{gap:16px}.site-nav-socials .contact-side-button{width:64px;height:64px}.site-nav-socials .contact-side-icon{width:32px;height:32px}.site-nav-socials .contact-side-icon-inverted{width:28px;height:28px}}.site-nav-socials{align-items:center;gap:12px;display:flex}.site-nav-link:hover{color:var(--accent-custom);opacity:.7;transform:translate(6px)}.site-nav-link.is-active{color:var(--accent-custom);opacity:1}.site-nav-link.is-indicator-target{padding-left:28px}.site-nav-link.is-indicator-target:hover{opacity:1}.loading-screen.is-hidden{visibility:hidden;pointer-events:none}.loading-curtain{background:#fff;width:50%;transition:transform 1.35s cubic-bezier(.76,0,.24,1);position:absolute;top:0;bottom:0}.loading-curtain-left{left:0;transform:translate(0)}.loading-curtain-right{right:0;transform:translate(0)}.loading-screen.is-hidden .loading-curtain-left{transform:translate(-100%)}.loading-screen.is-hidden .loading-curtain-right{transform:translate(100%)}.loading-copy{z-index:1;color:#08060d;justify-items:center;gap:10px;transition:opacity .45s,transform .75s;display:grid;position:relative}.loading-box{background:#fff;border:2px solid #08060d;width:32px;height:32px;animation:2.8s ease-in-out infinite loading-box-rotate,2.8s linear infinite loading-box-base;position:relative;overflow:hidden}.loading-box-fill{background:#08060d;animation:2.8s cubic-bezier(.65,0,.35,1) infinite loading-box-fill;position:absolute;inset:-1px}.loading-screen.is-hidden .loading-copy{opacity:0;transform:scale(.96)}.loading-label{letter-spacing:.32em;text-transform:uppercase;opacity:.62;font-size:.9rem}@keyframes loading-box-rotate{0%{transform:rotate(0)}18%{transform:rotate(0)}22%{transform:rotate(0)}38%{transform:rotate(180deg)}68%{transform:rotate(180deg)}72%{transform:rotate(180deg)}88%{transform:rotate(360deg)}to{transform:rotate(360deg)}}@keyframes loading-box-base{0%{background:#fff}21.59%{background:#fff}21.6%{background:#08060d}71.59%{background:#08060d}71.6%{background:#fff}to{background:#fff}}@keyframes loading-box-fill{0%{clip-path:inset(100% 0 0);background:#08060d}20%{clip-path:inset(0);background:#08060d}21.5%{clip-path:inset(0);background:#08060d}21.51%{clip-path:inset(100% 0 0);background:#fff}50%{clip-path:inset(0 0 100%);background:#fff}70%{clip-path:inset(0);background:#fff}71.5%{clip-path:inset(0);background:#fff}71.51%{clip-path:inset(0 0 100%);background:#08060d}to{clip-path:inset(0 0 100%);background:#08060d}}#center{--hero-progress:0;width:100%;min-height:100svh;min-height:calc(100svh - var(--hero-progress) * 34svh);background:#000;padding:0;position:relative;overflow:hidden}@media (width<=1024px){#center{--ascii-offset-x:18%;min-height:calc(100svh - var(--hero-progress) * 26svh)}}.intro-copy{z-index:1;justify-items:center;gap:12px;width:max-content;max-width:calc(100% - 40px);display:grid;position:absolute;top:50svh;left:50%;transform:translate(-50%,-50%)}.intro-copy h1,.intro-copy p{color:#fff}.hero-title{font-family:"Anton", var(--heading);letter-spacing:.03em;text-transform:uppercase;color:#fff;margin:0;font-size:clamp(4.5rem,10vw,9rem);font-weight:900;line-height:.96;display:inline-flex;position:relative;overflow:hidden}.hero-title-text{z-index:1;opacity:0;color:#0000;display:inline-block;position:relative}.hero-title-reveal{z-index:3;transform-origin:0;background:#fff;position:absolute;inset:0;transform:scaleX(0)}.hero-title-reveal-accent{z-index:2;background:var(--accent-custom)}.hero-title.is-revealed .hero-title-text{animation:1.05s step-end 1.58s forwards hero-title-text-reveal}.hero-title.is-revealed .hero-title-reveal{animation:1.05s cubic-bezier(.22,1,.36,1) 1.48s forwards hero-title-bar-reveal}.hero-title.is-revealed .hero-title-reveal-accent{animation:2.2s cubic-bezier(.22,1,.36,1) 1.23s forwards hero-title-bar-reveal-accent}.hero-subtitle-text{opacity:0;will-change:transform, opacity;display:inline-block;transform:translateY(.62em)}.hero-subtitle.is-revealed .hero-subtitle-text{animation:.58s cubic-bezier(.22,1,.36,1) 3.5s forwards hero-subtitle-rise}@keyframes hero-title-text-reveal{0%,48%{opacity:0;color:#0000}49%,to{opacity:1;color:#fff}}.hero-subtitle{display:inline-block}@keyframes hero-title-bar-reveal{0%{transform-origin:0;transform:scaleX(0)}48%{transform-origin:0;transform:scaleX(1)}49%{transform-origin:100%;transform:scaleX(1)}to{transform-origin:100%;transform:scaleX(0)}}@keyframes hero-title-bar-reveal-accent{0%{transform-origin:0;transform:scaleX(0)}44%{transform-origin:0;transform:scaleX(1)}45%{transform-origin:100%;transform:scaleX(1)}to{transform-origin:100%;transform:scaleX(0)}}@keyframes hero-subtitle-rise{0%{opacity:0;transform:translateY(.62em)}to{opacity:.82;transform:translateY(0)}}.intro-copy p{letter-spacing:.24em;text-transform:uppercase;opacity:.82;margin:0;font-size:clamp(1.25rem,2.6vw,2.25rem)}@media (width<=1024px){.intro-copy p{letter-spacing:.16em;font-size:clamp(1rem,3vw,1.4rem)}}#statement{z-index:0;background:#fff;width:100%;min-height:200svh;position:relative}.statement-shell{place-items:center;min-height:100svh;display:grid;position:sticky;top:0}.statement-shell p{text-align:center;letter-spacing:-.06em;color:#08060d;max-width:12ch;margin:0;font-size:clamp(3rem,7vw,6.5rem);font-weight:700;line-height:.95}#experience{background:#fff;width:100%;padding:160px 0 180px}.section-shell{color:#08060d;width:min(1180px,100% - 64px);margin:0 auto}@media (width<=1024px){.section-shell{width:calc(100% - 40px)}}.section-kicker{letter-spacing:.24em;text-transform:uppercase;color:#6b6375;margin-bottom:16px;font-size:.85rem}.section-shell h2{margin:0 0 24px;font-size:clamp(2.5rem,5vw,4.75rem)}.experience-shell{color:#08060d}.experience-header{text-align:left;justify-items:start;margin-bottom:88px;display:grid}.experience-header h2{letter-spacing:-.06em;text-transform:uppercase;color:#08060d;margin:0;font-size:clamp(3.8rem,8.6vw,7.5rem);font-weight:900;line-height:.96}.experience-timeline{--experience-marker-top:0px;--experience-marker-left:calc(1.36rem + 1px);position:relative}.experience-list{--experience-row-gap:56px;--experience-connector-gap:16px;gap:var(--experience-row-gap);justify-items:start;display:grid}@media (width<=1024px){.experience-list{--experience-row-gap:40px;--experience-connector-gap:12px}}.experience-item{grid-template-columns:180px minmax(320px,1.35fr) minmax(0,1.35fr);align-items:start;gap:24px;display:grid}@media (width<=1024px){.experience-item{grid-template-columns:1fr;gap:16px;padding-left:52px}}.experience-role,.experience-summary{opacity:0;transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);transform:translateY(48px)}.experience-item.is-revealed .experience-role,.experience-item.is-revealed .experience-summary{opacity:1;transform:translateY(0)}.experience-role,.experience-summary{text-align:left;align-self:start}.experience-role-label{color:#5f5868;letter-spacing:-.02em;text-transform:uppercase;margin:0;font-size:1.05rem}.experience-role h3{color:#08060d;letter-spacing:-.05em;flex-wrap:nowrap;align-items:flex-start;gap:14px;margin:0;font-size:clamp(2rem,3.8vw,3.6rem);line-height:.96;display:flex;position:relative}@media (width<=1024px){.experience-role h3{flex-wrap:wrap}}.experience-company-name{transform-origin:0;will-change:transform;transition:transform .22s;display:inline-block}.experience-item.is-active .experience-company-name{transform:scale(1.04)}.experience-company-logo{object-fit:contain;border-radius:8px;flex:none;width:clamp(2rem,3.3vw,3rem);height:clamp(2rem,3.3vw,3rem)}.experience-company-logo-bonus{width:clamp(2.4rem,3.9vw,3.45rem);height:clamp(2.4rem,3.9vw,3.45rem);position:absolute;top:0;left:0}.experience-company-lines{align-self:flex-start;gap:.18em;margin-top:.08em;line-height:.9;display:inline-grid}.experience-company-lines-bonus{margin-left:calc(clamp(2rem,3.3vw,3rem) + 14px)}.experience-year-block{opacity:1;flex-direction:column;justify-content:flex-start;align-self:stretch;align-items:flex-start;width:100%;display:flex;position:relative;transform:none}@media (width<=1024px){.experience-year-block{align-self:start;gap:6px}}.experience-year{z-index:3;margin:0 0 var(--experience-connector-gap);color:#08060de6;letter-spacing:-.06em;white-space:nowrap;font-variant-numeric:tabular-nums;text-align:left;font-size:clamp(1.2rem,2.1vw,2rem);font-weight:500;line-height:.96;transition:color .22s,transform .22s;position:relative}.experience-year.is-active{color:#08060d;transform:translate(2px)scale(1.16)}.experience-year-connector{width:2px;min-height:0;margin-left:.68rem;margin-bottom:calc((var(--experience-row-gap) * -1) + var(--experience-connector-gap));background:#08060d;flex:auto;position:relative;left:.68rem}.experience-progress-marker{top:var(--experience-marker-top);left:var(--experience-marker-left);pointer-events:none;z-index:2;background:#08060d;border-radius:999px;width:14px;height:14px;transition:top .28s cubic-bezier(.22,1,.36,1),opacity .18s;position:absolute;transform:translate(-50%,-50%)}@media (width<=1024px){.experience-progress-marker{left:calc(1.36rem + 1px)}}.experience-progress-marker.is-obscured{opacity:0}.experience-progress-marker:after{content:"";transform-origin:50%;border:1.5px solid #08060d3d;border-radius:999px;width:14px;height:14px;animation:1.9s ease-out infinite experience-marker-radiate;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)scale(1)}@keyframes experience-marker-radiate{0%{opacity:0;transform:translate(-50%,-50%)scale(1)}12%{opacity:.28;transform:translate(-50%,-50%)scale(1.05)}to{opacity:0;transform:translate(-50%,-50%)scale(2.7)}}.experience-details{color:#3f3849eb;text-wrap:pretty;max-width:34rem;font-size:1.05rem;line-height:1.65}.experience-details p,.experience-details ul{margin:0}.experience-details p+p,.experience-details p+ul,.experience-details ul+p,.experience-details ul+ul{margin-top:.85rem}.experience-details ul{padding-left:1.2rem}.experience-details-list-emphasis{font-size:1.05rem;line-height:1.65}.experience-details-list-emphasis li::marker{font-size:1.35em}.experience-details li+li{margin-top:.35rem}.experience-details strong{color:#08060d;font-weight:700}#skills{z-index:1;background:#000;width:100%;margin-top:-100svh;padding:184px 0;position:relative}#skills .section-shell{color:#fff;text-align:left}#skills h2{letter-spacing:-.06em;text-transform:uppercase;color:#fff;margin-bottom:40px;font-size:clamp(3.8rem,8.6vw,7.5rem);font-weight:900;line-height:.96}.skills-title{align-items:flex-start;gap:0;display:inline-flex}.skills-title-char{line-height:.96;display:inline-flex}.skills-title-char.is-space{flex:0 0 .28em;width:.28em}.skills-title-char-clip{height:.96em;margin-right:-.04em;padding-right:.04em;display:inline-flex;overflow:hidden}.skills-title-char-inner{transition:transform .28s cubic-bezier(.76,0,.24,1);transition-delay:calc(var(--char-index) * 20ms);will-change:transform;flex-direction:column;align-items:flex-start;display:flex;transform:translateY(0)}.skills-title-char-inner span{line-height:.96;display:block}@media (hover:hover) and (pointer:fine){.skills-title:hover .skills-title-char-inner{transform:translateY(-110%)}}@media (prefers-reduced-motion:reduce){.skills-title-char-inner{transition:none}}.skills-nav-label{--skill-visibility:0;letter-spacing:-.05em;text-transform:uppercase;color:#ffffffc7;opacity:var(--skill-visibility);transform:translateY(calc((1 - var(--skill-visibility)) * 34px));margin:0;font-size:clamp(2.8rem,4vw,4.4rem);font-weight:800;line-height:.9;transition:opacity .1s linear,transform .1s linear}.skills-groups{gap:48px;display:grid}.skills-group{border-bottom:1px solid #ffffff1f;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);align-items:start;gap:72px;padding-bottom:32px;display:grid}@media (width<=1024px){.skills-group{grid-template-columns:1fr;gap:18px;padding-bottom:24px}}.skills-group:last-child{border-bottom:0;padding-bottom:0}.skills-list{grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:18px 28px;display:grid}@media (width<=1200px){.skills-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.skills-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.skill-row{--skill-visibility:0;min-height:44px;opacity:var(--skill-visibility);transform:translateY(calc((1 - var(--skill-visibility)) * 34px));grid-template-columns:40px minmax(0,1fr);align-items:center;gap:16px;transition:opacity .1s linear,transform .1s linear;display:grid}.skill-icon{color:#fff;letter-spacing:-.02em;background:0 0;border:0;border-radius:8px;place-items:center;width:40px;height:40px;font-size:.8rem;font-weight:700;display:inline-grid}.skill-icon-image{object-fit:contain;padding:0}.skill-icon-image.is-inverted{filter:invert()}.skill-name{color:#fff;letter-spacing:-.03em;font-size:clamp(1.1rem,1.5vw,1.55rem);line-height:1.15}#projects{--project-count:3;z-index:1;background:#000;width:100%;padding:0;position:relative}.projects-shell{--project-step-height:62svh;--projects-panel-size:clamp(18rem, calc(100svh - 24rem), 30rem);min-height:calc(100svh + (var(--project-count) - 1) * var(--project-step-height) + 32svh);position:relative}.projects-pin{box-sizing:border-box;align-items:flex-start;height:100svh;min-height:100svh;padding-top:128px;padding-bottom:180px;display:flex;position:sticky;top:0}.projects-scroll-track{pointer-events:none;margin-top:-50svh}.projects-scroll-step{height:var(--project-step-height)}.projects-stage{color:#f0efeb;gap:24px;width:100%;display:grid;position:relative}.projects-body{display:block}.projects-header{text-align:left;justify-content:space-between;align-items:flex-end;gap:32px;display:flex}.projects-header h2{letter-spacing:-.06em;text-transform:uppercase;color:#f0efeb;margin:0;font-size:clamp(3.8rem,8.6vw,7.5rem);font-weight:900;line-height:.96}.projects-list{gap:0;display:grid}.projects-panel{--projects-cursor-x:50%;--projects-cursor-y:50%;width:min(100%, var(--projects-panel-size));aspect-ratio:1;cursor:pointer;place-self:stretch end;place-items:stretch stretch;min-height:0;display:grid;position:relative;overflow:hidden}.projects-panel-cursor{left:var(--projects-cursor-x);top:var(--projects-cursor-y);z-index:3;-webkit-backdrop-filter:invert()contrast(1.1)grayscale(.35);color:#08060d;letter-spacing:.12em;text-shadow:0 1px #ffffff47;text-transform:uppercase;pointer-events:none;opacity:0;background:#ffffff8f;border:1.5px solid #08060d;border-radius:999px;place-items:center;width:82px;height:82px;font-size:.76rem;font-weight:800;transition:opacity .2s,transform .28s cubic-bezier(.22,1,.36,1);display:grid;position:absolute;transform:translate(-50%,-50%)scale(.68)}.projects-panel-cursor.is-visible{opacity:1;transform:translate(-50%,-50%)scale(1)}.projects-panel-card{pointer-events:none;transform:translateY(var(--project-card-translate-y,0px)) scale(var(--project-card-scale,1));background:#fff;border:1px solid #08060d14;align-content:start;gap:18px;padding:28px;transition:opacity .28s,transform .34s cubic-bezier(.22,1,.36,1);display:grid;position:absolute;inset:0 0 1px}.projects-panel-card.is-clickable{pointer-events:auto}.projects-panel-link{z-index:2;position:absolute;inset:0}.projects-panel-card.is-video,.projects-panel-card.is-media-fill{aspect-ratio:1;background:#000;border:0;place-items:stretch stretch;width:100%;padding:0;display:grid;overflow:hidden}.projects-panel-label{letter-spacing:.18em;text-transform:uppercase;color:#3f3849b8;font-size:.78rem}.projects-panel-frame{background:linear-gradient(135deg,#08060d0f,#0000 55%),#08060d05;border:1px dashed #08060d24;min-height:100%}.projects-panel-image{object-fit:cover;border:1px solid #08060d14;width:100%;min-height:100%}.projects-panel-card.is-media-fill .projects-panel-image{border:0;width:100%;height:100%;min-height:100%;display:block}.projects-panel-video{aspect-ratio:1;object-fit:cover;vertical-align:top;background:#000;grid-area:1/1;width:100%;height:100%;display:block}.projects-panel-video-fade{opacity:0;pointer-events:none;background:#000;grid-area:1/1;width:100%;height:100%;transition:opacity .14s;display:block}.projects-panel-video-fade.is-visible{opacity:1}.hero-scroll-hint{z-index:1;color:#ffffffe6;letter-spacing:.28em;text-shadow:0 1px 10px #00000047;text-transform:uppercase;opacity:0;justify-items:center;gap:10px;font-size:.84rem;font-weight:800;text-decoration:none;transition:opacity .5s 3.5s,transform .5s 3.5s;display:inline-grid;position:absolute;bottom:54px;left:50%;transform:translate(-50%,12px)}@media (width<=1024px){.hero-scroll-hint{gap:8px;font-size:.76rem;bottom:42px}}.hero-scroll-hint.is-visible{opacity:1;transform:translate(-50%)}.hero-scroll-hint.is-hidden{opacity:0;pointer-events:none;transition-delay:0s;transform:translate(-50%,8px)}.hero-scroll-arrow{filter:drop-shadow(0 2px 8px #00000038);border-bottom:2.5px solid;border-right:2.5px solid;width:18px;height:18px;animation:1.6s ease-in-out 4s infinite hero-scroll-arrow-bob;transform:rotate(45deg)}@keyframes hero-scroll-arrow-bob{0%,to{transform:rotate(45deg)translate(0)}50%{transform:rotate(45deg)translate(4px,4px)}}.project-tab{color:#f0efeb8f;isolation:isolate;grid-template-columns:minmax(0,2.35fr) minmax(0,2.65fr);align-items:start;gap:60px;padding:20px 0 18px;transition:color .28s;display:grid}.project-tab.is-active{color:#f0efeb}.projects-list>.project-tab{animation:.46s cubic-bezier(.22,1,.36,1) both project-tab-swap-in}.projects-list>.project-tab.project-tab-transition-forward .project-tab-title-block{animation:.52s cubic-bezier(.22,1,.36,1) both project-tab-copy-in}.projects-list>.project-tab.project-tab-transition-forward .project-tab-main{animation:.58s cubic-bezier(.22,1,.36,1) 40ms both project-tab-copy-in}.projects-list>.project-tab.project-tab-transition-backward .project-tab-title-block{animation:.52s cubic-bezier(.22,1,.36,1) both project-tab-copy-in-backward}.projects-list>.project-tab.project-tab-transition-backward .project-tab-main{animation:.58s cubic-bezier(.22,1,.36,1) 40ms both project-tab-copy-in-backward}.project-tab-number{--project-number-step:.82em;letter-spacing:-.06em;align-items:flex-start;gap:.01em;padding-top:0;font-size:clamp(2.6rem,4.8vw,5.25rem);font-weight:900;line-height:.76;display:inline-flex}.projects-header-number{width:min(100%, var(--projects-panel-size));flex:none;justify-content:flex-end;font-size:clamp(3.8rem,8.6vw,7.5rem);transform:translate(14px)}.projects-mobile-number{display:none}.project-tab-number-static,.project-tab-number-digit-value{display:block}.project-tab-number-static{color:#7aa2ff}.project-tab-number-digit{width:.72em;height:var(--project-number-step);flex:0 0 .72em;position:relative;overflow:hidden}.project-tab-number-digit-track{will-change:transform;flex-direction:column;display:flex;transform:translateY(0)}.project-tab-number-digit-track.is-forward{animation:.32s cubic-bezier(.22,1,.36,1) forwards project-number-forward}.project-tab-number-digit-track.is-backward{animation:.32s cubic-bezier(.22,1,.36,1) forwards project-number-backward}.project-tab-number-digit-value{height:var(--project-number-step);line-height:var(--project-number-step)}@keyframes project-number-forward{0%{transform:translateY(0)}to{transform:translateY(calc(-1 * var(--project-number-step)))}}@keyframes project-number-backward{0%{transform:translateY(calc(-1 * var(--project-number-step)))}to{transform:translateY(0)}}@keyframes project-tab-swap-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes project-tab-copy-in{0%{opacity:0;clip-path:inset(0 0 18%);transform:translateY(24px)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}@keyframes project-tab-copy-in-backward{0%{opacity:0;clip-path:inset(18% 0 0);transform:translateY(-24px)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}.project-tab-main{text-align:left;grid-column:1;justify-items:start;gap:12px;display:grid}.project-tab-title-block{grid-column:1/3;justify-items:start;margin-bottom:8px;display:grid}.project-tab-details{gap:10px;display:grid}.project-tab-title-block h3{color:currentColor;text-align:left;white-space:nowrap;letter-spacing:-.08em;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:.22em;margin:0;font-size:clamp(2.6rem,4.8vw,5.25rem);font-weight:900;line-height:1;display:inline-flex}.project-tab-title-icon{object-fit:contain;flex:none;align-self:center;width:.78em;height:.78em}.project-tab-title-icon.is-inverted{filter:brightness(0)invert()}.project-tab-title-icon.is-original{filter:none}.project-tab-title-icon.is-rounded{border-radius:.18em}.project-tab-tags{flex-wrap:wrap;justify-content:flex-start;gap:0;display:flex}.project-tab-tag{color:currentColor;font-size:.98rem;font-weight:700}.project-tab-date{letter-spacing:.18em;text-transform:uppercase;color:#f0efeb94;font-size:.76rem;line-height:1}.project-tab-summary{gap:8px;display:grid}.project-tab-summary p{letter-spacing:-.01em;color:#f0efebc7;max-width:42ch;margin:0;font-size:.96rem;line-height:1.45}.project-tab-tech-stack{gap:6px;margin-top:8px;display:grid}.project-tab-tech-stack p{color:#f0efebb3;max-width:46ch;margin:0;font-size:.9rem;line-height:1.45}.project-tab-tech-stack span{color:#f0efebeb;text-transform:uppercase;letter-spacing:.08em;min-width:5.5rem;margin-right:.65rem;font-size:.72rem;font-weight:800;display:inline-block}.project-tab-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:14px;padding-top:14px;display:grid}.project-tab-stat{gap:4px;display:grid}.project-tab-stat strong{letter-spacing:-.05em;color:#f0efeb;font-size:clamp(1.2rem,2vw,1.7rem);line-height:.95}.project-tab-stat span{letter-spacing:.08em;text-transform:uppercase;color:#f0efeb9e;font-size:.76rem}.project-tab.is-active .project-tab-date{color:#f0efebd1}.project-tab.is-active .project-tab-summary p{color:#f0efebeb}@media (width<=1320px) and (width>=1025px){.projects-shell{--project-step-height:54svh;--projects-panel-size:clamp(17rem, calc(100svh - 24rem), 22rem)}.projects-pin{padding-top:108px;padding-bottom:144px}.projects-stage{gap:20px}.projects-header{align-items:flex-start;gap:20px}.projects-header h2{font-size:clamp(3.2rem,7vw,5.8rem)}.projects-header-number{font-size:clamp(3.2rem,6vw,5.6rem);transform:none}.project-tab{grid-template-columns:minmax(0,1.7fr) minmax(0,1.15fr);gap:32px}.project-tab-title-block h3{white-space:normal;text-wrap:balance;font-size:clamp(2.2rem,4vw,4rem)}.projects-panel{align-self:start}.projects-panel-card{padding:22px}.project-tab-summary p{max-width:36ch}.project-tab-tech-stack p{max-width:38ch}}@media (height<=860px) and (width>=1025px){.projects-shell{--project-step-height:46svh;--projects-panel-size:clamp(16rem, calc(100svh - 22rem), 24rem)}.projects-pin{padding-top:92px;padding-bottom:112px}.projects-stage{gap:18px}.projects-header h2{font-size:clamp(3rem,6.4vw,5.2rem)}.project-tab{gap:28px}.project-tab-title-block h3{white-space:normal;text-wrap:balance;font-size:clamp(2rem,3.6vw,3.6rem)}}@media (width<=1024px){#projects{min-height:auto;padding:48px 0 96px}.projects-pin{height:auto;min-height:auto;padding:0;position:static}.projects-body{display:block}.projects-header{z-index:4;background:#000;align-items:flex-start;padding:16px 0 18px;position:sticky;top:16px}.projects-header:before{content:"";background:#000;height:16px;position:absolute;bottom:100%;left:0;right:0}.project-tab{grid-template-columns:minmax(0,1fr);gap:18px;padding:24px 0 72px}.project-tab-title-block{grid-column:1;margin-bottom:2px}.project-tab-main{grid-column:1}.projects-panel,.projects-scroll-track{display:none}.project-tab-title-block h3{font-size:clamp(1.9rem,8vw,3rem)}.project-tab-tag{font-size:.8rem}.projects-header-number{display:none}.projects-mobile-number{z-index:6;color:#f0efeb;letter-spacing:-.06em;text-shadow:-1px 0 #08060d,1px 0 #08060d,0 -1px #08060d,0 1px #08060d,-1px -1px #08060d,1px -1px #08060d,-1px 1px #08060d,1px 1px #08060d;opacity:0;pointer-events:none;align-items:flex-start;gap:.01em;width:fit-content;font-size:clamp(3.8rem,14vw,5.25rem);font-weight:900;line-height:.76;transition:opacity .18s;display:inline-flex;position:fixed;bottom:22px;right:20px}.projects-mobile-number.is-visible{opacity:1}.projects-mobile-number.is-docked{position:absolute;bottom:auto;right:calc(-50vw + 50% + 20px)}.project-tab-mobile-media{aspect-ratio:1/.72;background:#000;gap:12px;width:100%;margin-top:4px;display:grid;position:relative;overflow:hidden}.project-tab-mobile-media.is-video,.project-tab-mobile-media.is-media-fill{gap:0}.project-tab-mobile-media-link{z-index:2;position:absolute;inset:0}.project-tab-mobile-media-label{letter-spacing:.18em;text-transform:uppercase;color:#f0efeb9e;font-size:.72rem}.project-tab-mobile-image,.project-tab-mobile-video{object-fit:cover;object-position:center;background:#000;width:100%;height:100%;display:block}.project-tab-mobile-frame{background:linear-gradient(135deg,#f0efeb14,#0000 55%),#f0efeb0a;border:1px dashed #f0efeb2e;width:100%;height:100%}}@media (prefers-reduced-motion:reduce){.projects-list>.project-tab,.projects-list>.project-tab .project-tab-title-block,.projects-list>.project-tab .project-tab-main{animation:none}}#contact{z-index:0;background:#fff;width:100%;min-height:200svh;margin-top:-100svh;padding:0;position:relative}#contact h2{color:#08060d}#contact .section-shell{align-content:center;align-items:center;width:min(920px,100% - 64px);min-height:100svh;padding-block:0;display:grid;position:sticky;top:0;transform:none}@media (width<=1024px){#contact .section-shell{box-sizing:border-box;background:#fff;width:calc(100% - 40px);height:100svh;min-height:100svh;padding:88px 0 96px;position:sticky;top:0}}.contact-layout{grid-template-columns:minmax(0,2fr) minmax(0,3fr) 56px;align-items:stretch;gap:clamp(20px,3vw,40px);width:100%;display:grid}@media (width<=1024px){.contact-layout{grid-template-columns:1fr;align-items:start;gap:24px}}.contact-media{background:0 0;align-self:stretch;height:auto;min-height:0;overflow:hidden}@media (width<=1024px){.contact-media{order:1;max-width:360px;height:min(24svh,260px);display:none}}.contact-media-image{object-fit:cover;object-position:center 18%;transform-origin:50%;width:100%;height:100%;display:block;transform:scale(1.28)}@media (width<=1024px){.contact-media-image{object-position:center 40%}}.contact-content{align-content:start;width:100%;display:grid}@media (width<=1024px){.contact-content{order:2}}.contact-side-actions{align-content:start;justify-items:center;gap:18px;display:grid}@media (width<=1024px){.contact-side-actions{order:3;grid-auto-columns:max-content;grid-auto-flow:column;justify-content:center;gap:14px;margin-top:32px}}.contact-side-button{color:#08060d;letter-spacing:-.03em;background:#fff;border:1.5px solid #08060d;border-radius:999px;justify-content:center;align-items:center;width:56px;height:56px;font-size:.84rem;font-weight:700;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.contact-side-button:before{content:"";border-radius:inherit;z-index:0;background:#08060d;width:100%;height:100%;transition:transform .38s cubic-bezier(.22,1,.36,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.contact-side-icon{object-fit:contain;z-index:1;filter:brightness(0)invert(0);width:28px;height:28px;transition:filter .38s;position:relative}.contact-side-icon-inverted{width:24px;height:24px}.contact-side-button:hover:before{transform:translate(-50%,-50%)scale(1)}.contact-side-button:hover .contact-side-icon{filter:brightness(0)invert()}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#contact h2{letter-spacing:-.04em;text-transform:none;margin-bottom:32px;font-size:clamp(2.9rem,5.8vw,4.25rem);font-weight:800;line-height:.94}@media (width<=1024px){#contact h2{margin-bottom:24px;font-size:clamp(2.5rem,12vw,3.4rem)}}.contact-form{gap:20px;width:100%;display:grid}@media (width<=1024px){.contact-form{gap:18px}}.contact-field{display:block}.contact-field input,.contact-field textarea{color:#08060d;width:100%;font:inherit;background:0 0;border:0;border-bottom:1.5px solid #08060de0;border-radius:0;outline:none;padding:10px 6px 12px;font-size:1rem;line-height:1.5;transition:border-color .18s,transform .18s}.contact-field input::placeholder,.contact-field textarea::placeholder{color:#3f3849b3}.contact-field.has-error input,.contact-field.has-error textarea{color:#b42318;border-bottom-color:#b42318}.contact-field.has-error input::placeholder,.contact-field.has-error textarea::placeholder{color:#b42318}.contact-field textarea{resize:vertical;min-height:7.5rem}@media (width<=1024px){.contact-field textarea{min-height:6.25rem}}.contact-field input:focus,.contact-field textarea:focus{border-color:#08060d;transform:translateY(-1px)}.contact-submit{color:#08060d;width:13ch;font:inherit;letter-spacing:.08em;text-transform:none;cursor:pointer;isolation:isolate;background:#fff;border:1.5px solid #08060d;border-radius:0;justify-content:center;justify-self:center;align-items:center;padding:12px 18px;font-size:.86rem;font-weight:700;transition:color .24s;display:inline-flex;position:relative;overflow:hidden}@media (width<=1024px){.contact-submit{width:min(100%,13ch);min-width:13ch}}.contact-submit-row{justify-items:center;display:grid;position:relative}.contact-submit:disabled{opacity:.72;cursor:default}.contact-submit:before{content:"";transform-origin:0;z-index:0;background:#08060d;transition:transform .34s cubic-bezier(.22,1,.36,1);position:absolute;inset:-1px;transform:scaleX(0)}.contact-submit:hover:before,.contact-submit.is-active:before{transform:scaleX(1)}.contact-submit span{z-index:1;position:relative}.contact-submit{z-index:2}.contact-submit:hover,.contact-submit.is-active{color:#fff}.contact-status{text-align:center;color:#08060d;white-space:nowrap;margin:0;font-size:.96rem;position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%)}.contact-status-error{color:#b42318}.contact-success{--contact-flight-distance:120%;pointer-events:none;z-index:0;position:static}.contact-success-flight{z-index:0;height:0;position:fixed;overflow:visible}.contact-success-trail{width:var(--contact-flight-distance);clip-path:inset(0 100% 0 0);background-image:radial-gradient(circle,#08060d8c 1.4px,#0000 1.5px);background-repeat:repeat-x;background-size:10px 4px;height:4px;animation:5s linear forwards contact-success-trail;position:absolute;top:-1px;left:0}.contact-success-plane{object-fit:contain;width:24px;height:24px;animation:3s linear forwards contact-success-plane;position:absolute;top:-10px;left:0}.contact-success-label{left:calc(var(--contact-flight-distance) + 8px);color:#08060d;letter-spacing:.04em;white-space:nowrap;font-size:.92rem;font-weight:700;animation:3s linear forwards contact-success-label;position:absolute;top:0;transform:translateY(-50%)}.contact-success-burst{left:calc(var(--contact-flight-distance) + 28px);pointer-events:none;width:28px;height:28px;position:absolute;top:12px;transform:translate(-50%,-50%)}.contact-success-burst span{transform-origin:50% -7px;background:#08060d;width:2px;height:3px;animation:1s ease-out contact-success-burst;position:absolute;top:50%;left:50%}.contact-success-burst span:first-child{transform:translate(-50%,50%)rotate(0)}.contact-success-burst span:nth-child(2){transform:translate(-550%,50%)rotate(45deg)}.contact-success-burst span:nth-child(3){transform:translate(-1050%,-175%)rotate(90deg)}.contact-success-burst span:nth-child(4){transform:translate(-550%,-275%)rotate(135deg)}.contact-success-burst span:nth-child(5){transform:translate(-50%,-325%)rotate(180deg)}.contact-success-burst span:nth-child(6){transform:translate(450%,-275%)rotate(225deg)}.contact-success-burst span:nth-child(7){transform:translate(950%,-175%)rotate(270deg)}.contact-success-burst span:nth-child(8){transform:translate(450%,50%)rotate(315deg)}@keyframes contact-success-label{0%,90%{opacity:1}to{opacity:0}}@keyframes contact-success-burst{0%{opacity:0;height:2px}20%{opacity:1;height:4px}to{opacity:0;height:6px}}@keyframes contact-success-trail{0%{opacity:0;clip-path:inset(0 100% 0 0)}8%{opacity:.85}60%{opacity:.85;clip-path:inset(0)}to{opacity:.85;clip-path:inset(0 0 0 100%)}}@keyframes contact-success-plane{0%{opacity:0;left:0}8%{opacity:1}99%{opacity:1;left:var(--contact-flight-distance)}to{left:var(--contact-flight-distance);opacity:0}}@media (width<=1024px){.contact-success{--contact-flight-distance:82%}}.site-footer{text-align:center;padding-inline:20px;position:absolute;bottom:28px;left:0;right:0}.site-footer p{color:#3f3849b8;letter-spacing:.04em;margin:0;font-size:.88rem}
