@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#ededed;font-synthesis:none;--surface:#111114;--muted:#a3a3af;--line:#2b2b32;--accent:#00ffb7;--violet:#a18aff;--display:"Space Grotesk", sans-serif;background:#0b0b0d;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0}body:after{content:"";z-index:5;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");background-repeat:repeat;background-size:500px;position:fixed;inset:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}a:hover{color:var(--accent)}button{border:0}header,main,footer{max-width:1440px;margin-inline:auto}.skip-link{z-index:10;background:var(--accent);color:#111;padding:15px;position:fixed;top:-100px;left:15px}.skip-link:focus{top:15px}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:100px;margin-inline:6%;display:flex}.wordmark{font-family:var(--display);letter-spacing:-3px;font-size:32px;font-weight:600}.wordmark span{color:var(--accent)}.header nav{gap:34px;font-size:14px;display:flex}.header-contact{font-size:14px}.header-contact span{color:var(--accent);margin-left:20px}.hero{isolation:isolate;padding:52px 6% 0;position:relative;overflow:hidden}.hero-lamp{z-index:-1;pointer-events:none;opacity:.42;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 65%),linear-gradient(#0000,#000 15% 75%,#0000);mask-image:linear-gradient(90deg,#0000,#000 65%),linear-gradient(#0000,#000 15% 75%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.hero-lamp canvas{width:100%;height:100%;display:block}.lamp-toggle{color:var(--muted);font:inherit;letter-spacing:inherit;background:0 0;padding:0}.lamp-toggle:hover{color:var(--accent)}.eyebrow,.hero-footer,.project-meta,.project-number,.section-subtitle{letter-spacing:1px;font-family:monospace;font-size:12px;font-weight:400}.hero>.eyebrow{color:var(--muted);justify-content:space-between;display:flex}.hero>.eyebrow span:first-child{color:var(--accent)}h1{font-family:var(--display);letter-spacing:-.065em;margin:88px 0 46px;font-size:clamp(52px,8.2vw,118px);font-weight:500;line-height:1.08}.distorted{color:var(--violet);display:inline-block;position:relative}.distorted:after{content:attr(data-text) / "";color:var(--violet);clip-path:polygon(0 35%,100% 35%,100% 39%,0 39%,0 67%,100% 67%,100% 70%,0 70%);text-shadow:-3px 0 #ef56d8;pointer-events:none;position:absolute;inset:0;transform:translate(5px)}.hero-bottom{justify-content:space-between;align-items:flex-end;gap:30px;padding-bottom:85px;display:flex}.hero-bottom p{color:var(--muted);margin:0;font-size:18px;line-height:1.75}.work-link{align-items:center;gap:35px;font-size:14px;display:flex}.work-link span{color:var(--accent);font-size:25px}.hero-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding:22px 0;display:flex}.section{padding:90px 6%}.section-heading{justify-content:space-between;align-items:baseline;margin-bottom:45px;display:flex}.section-heading h2{font:500 30px var(--display);letter-spacing:-1px;margin:0}.section-heading h2 span{color:var(--muted);margin-left:12px;font:12px monospace}.section-subtitle{color:var(--muted)}.work{border-top:1px solid var(--line)}.project{border-top:1px solid var(--line);grid-template-columns:90px 1fr;padding:40px 0;display:grid}.project:last-child{border-bottom:1px solid var(--line)}.project-number{color:var(--accent);padding-top:5px}.project-meta{color:var(--muted)}.project h3{margin:13px 0 18px}.project-open{text-align:left;width:100%;font:500 clamp(36px, 5vw, 64px) var(--display);letter-spacing:-2px;background:0 0;justify-content:space-between;align-items:center;padding:0;display:flex}.project-open span{color:var(--muted);font-size:35px;transition:transform .2s,color .2s}.project-open:hover{color:var(--violet)}.project-open:hover span{color:var(--accent);transform:translate(4px,-4px)}.project p{max-width:660px;color:var(--muted);margin:0;font-size:16px;line-height:1.8}.tags{flex-wrap:wrap;gap:10px 22px;margin-top:24px;display:flex}.tags span{color:var(--muted);font:12px monospace}.tags span:before{content:"/ ";color:var(--violet)}.about{border-top:1px solid var(--line);grid-template-columns:1.1fr 1fr;gap:12%;display:grid}.about .eyebrow{color:var(--violet)}.about h2{font:500 44px/1.15 var(--display);letter-spacing:-2px;margin:26px 0}.about-intro>p{color:var(--muted);font-size:16px;line-height:1.85}.text-link{border-bottom:1px solid var(--accent);margin-top:8px;padding:12px 0;font-size:14px;display:inline-block}.text-link span{color:var(--accent);margin-left:30px}.fact{border-bottom:1px solid var(--line);margin-bottom:28px;padding-bottom:28px}.fact:last-child{border:0;margin:0;padding:0}.fact h3{margin:18px 0 8px;font-size:20px;font-weight:500}.fact p{color:var(--muted);margin:8px 0 0;font-size:14px;line-height:1.8}.skill-row{margin-top:20px}.skill-row strong{font-size:14px;font-weight:500}.skill-row p{margin-top:3px}.contact{border-top:1px solid var(--line);background:var(--surface)}.contact>.eyebrow{color:var(--muted)}.contact-title{font:500 clamp(58px, 8vw, 105px)/1.1 var(--display);letter-spacing:-.06em;margin:36px 0 55px;display:block;position:relative}.contact-title em{color:var(--accent);font-style:normal}.contact-title>span{color:var(--accent);font-size:100px;position:absolute;top:0;right:2%}.contact-bottom{border-top:1px solid var(--line);justify-content:space-between;gap:20px;padding-top:24px;font-size:14px;display:flex}.contact-bottom span{margin-left:15px}footer{justify-content:space-between;align-items:center;gap:20px;padding:30px 6%;display:flex}footer>span,footer>a:last-child{color:var(--muted);font:12px monospace}dialog{background:var(--surface);color:#ededed;border:1px solid #45434e;width:min(680px,100% - 32px);max-height:85vh;padding:50px}dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000c}body:has(dialog[open]){overflow:hidden}.dialog-close{background:0 0;padding:10px;font-size:22px;position:absolute;top:12px;right:16px}dialog .eyebrow{color:var(--violet)}dialog h2{font:500 48px var(--display);letter-spacing:-2px;margin:25px 0}dialog p,dialog li{color:var(--muted);font-size:16px;line-height:1.8}dialog h3{margin-top:30px;font-size:16px}dialog ul{padding-left:20px}dialog li{margin-bottom:12px}.dialog-link{border-bottom:1px solid var(--accent);gap:30px;margin-top:30px;padding-bottom:10px;font-size:14px;display:inline-flex}@media (width<=700px){.hero-lamp{opacity:.32;-webkit-mask-image:linear-gradient(#0000,#000 20% 70%,#0000);mask-image:linear-gradient(#0000,#000 20% 70%,#0000)}.header{height:80px}.header nav{gap:20px}.header-contact{display:none}.hero{padding-top:35px}.hero>.eyebrow{flex-direction:column;gap:12px}h1{margin:65px 0 32px;font-size:clamp(38px,8.3vw,58px)}.hero-bottom{flex-direction:column;align-items:flex-start;padding-bottom:55px}.hero-bottom p{font-size:16px}.hero-footer{letter-spacing:0;flex-wrap:wrap;gap:15px;font-size:10px}.desktop-break{display:none}.section{padding:55px 6%}.section-heading{margin-bottom:30px;display:block}.section-subtitle{margin-top:15px;display:block}.project{grid-template-columns:36px 1fr;padding:32px 0}.project-meta{letter-spacing:0;font-size:10px}.project-open{font-size:38px}.project-open span{font-size:28px}.about{grid-template-columns:1fr;gap:45px}.about h2{font-size:38px}.contact-title{font-size:54px}.contact-title>span{font-size:45px;top:6px}.contact-bottom,footer{flex-wrap:wrap}dialog{padding:44px 24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}
