body{-moz-osx-font-smoothing:grayscale;margin:0}:root{--annotation-unfocused-field-background:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>')}.annotationLayer section{position:absolute;text-align:left;text-align:initial}.annotationLayer .buttonWidgetAnnotation.pushButton>a,.annotationLayer .linkAnnotation>a{font-size:1em;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .buttonWidgetAnnotation.pushButton>canvas{left:0;position:relative;top:0;z-index:-1}.annotationLayer .buttonWidgetAnnotation.pushButton>a:hover,.annotationLayer .linkAnnotation>a:hover{background:#ff0;box-shadow:0 2px 10px #ff0;opacity:.2}.annotationLayer .textAnnotation img{cursor:pointer;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input,.annotationLayer .buttonWidgetAnnotation.radioButton input,.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .textWidgetAnnotation input,.annotationLayer .textWidgetAnnotation textarea{background-image:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');background-image:var(--annotation-unfocused-field-background);border:1px solid transparent;box-sizing:border-box;font-size:9px;height:100%;margin:0;padding:0 3px;vertical-align:top;width:100%}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{font:message-box;font-size:9px;resize:none}.annotationLayer .buttonWidgetAnnotation.checkBox input[disabled],.annotationLayer .buttonWidgetAnnotation.radioButton input[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .textWidgetAnnotation input[disabled],.annotationLayer .textWidgetAnnotation textarea[disabled]{background:none;border:1px solid transparent;cursor:not-allowed}.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,.annotationLayer .buttonWidgetAnnotation.radioButton input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation input:hover,.annotationLayer .textWidgetAnnotation textarea:hover{border:1px solid #000}.annotationLayer .choiceWidgetAnnotation select:focus,.annotationLayer .textWidgetAnnotation input:focus,.annotationLayer .textWidgetAnnotation textarea:focus{background:none;border:1px solid transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus,.annotationLayer .buttonWidgetAnnotation.radioButton :focus,.annotationLayer .choiceWidgetAnnotation select :focus,.annotationLayer .textWidgetAnnotation input :focus,.annotationLayer .textWidgetAnnotation textarea :focus{background-color:transparent;background-image:none;outline:auto}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:#000;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation.checkBox input,.annotationLayer .buttonWidgetAnnotation.radioButton input{-webkit-appearance:none;appearance:none;padding:0}.annotationLayer .popupWrapper{position:absolute;width:20em}.annotationLayer .popup{word-wrap:break-word;background-color:#ff9;border-radius:2px;box-shadow:0 2px 5px #888;cursor:pointer;font:message-box;font-size:9px;margin-left:5px;max-width:20em;padding:6px;position:absolute;white-space:normal;z-index:200}.annotationLayer .popup>*{font-size:9px}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:5px}.annotationLayer .popupContent{border-top:1px solid #333;margin-top:2px;padding-top:2px}.annotationLayer .richText>*{white-space:pre-wrap}.annotationLayer .caretAnnotation,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .fileAttachmentAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .highlightAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .lineAnnotation svg line,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .squareAnnotation svg rect,.annotationLayer .squigglyAnnotation,.annotationLayer .stampAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .underlineAnnotation{cursor:pointer}:root{--bg:#070708;--panel:#0f0f11;--fg:#fafafa;--muted:#7d7d86;--line:#1c1c20;--line-hi:#34343c}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background:#070708;background:var(--bg);color:#fafafa;color:var(--fg);font-family:Space Grotesk,system-ui,sans-serif;line-height:1.55;overflow-x:hidden}.display,h1,h2,h3{font-family:Archivo,sans-serif;letter-spacing:-.02em;line-height:1.02}a{color:inherit;text-decoration:none}.wrap{margin:0 auto;max-width:1120px;padding:0 32px;position:relative;z-index:2}.grid-bg{-webkit-animation:drift 22s linear infinite;animation:drift 22s linear infinite;background-image:linear-gradient(#1c1c20 1px,transparent 0),linear-gradient(90deg,#1c1c20 1px,transparent 0);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;inset:-50% 0;-webkit-mask-image:radial-gradient(circle at 50% 30%,#000 0,transparent 70%);mask-image:radial-gradient(circle at 50% 30%,#000 0,transparent 70%);opacity:.35;pointer-events:none;position:fixed;z-index:0}@-webkit-keyframes drift{0%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(64px);transform:translateY(64px)}}@keyframes drift{0%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(64px);transform:translateY(64px)}}.spot{background:radial-gradient(circle,hsla(0,0%,100%,.07),transparent 60%);border-radius:50%;height:540px;left:50%;top:20%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);transition:opacity .4s;width:540px;will-change:left,top;z-index:1}.grain,.spot{pointer-events:none;position:fixed}.grain{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");inset:0;opacity:.045;z-index:60}nav{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:rgba(7,7,8,.6);border-bottom:1px solid #1c1c20;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:50}.nav-inner{height:70px;justify-content:space-between}.brand,.nav-inner{align-items:center;display:flex}.brand{cursor:pointer;font-family:Archivo;font-size:18px;font-weight:800;gap:10px}.dot{-webkit-animation:pulse 2.4s ease-in-out infinite;animation:pulse 2.4s ease-in-out infinite;background:#fff;border-radius:50%;box-shadow:0 0 12px #fff;height:9px;width:9px}@-webkit-keyframes pulse{0%,to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.4;-webkit-transform:scale(.7);transform:scale(.7)}}@keyframes pulse{0%,to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.4;-webkit-transform:scale(.7);transform:scale(.7)}}.nav-links{display:flex;font-size:14px;gap:34px}.nav-links a{background:none;border:none;color:#7d7d86;color:var(--muted);cursor:pointer;font:inherit;padding:0;position:relative;transition:color .2s}.nav-links a:after{background:#fff;bottom:-6px;content:"";height:1px;left:0;position:absolute;transition:width .25s;width:0}.nav-links a:hover{color:#fafafa;color:var(--fg)}.nav-links a:hover:after{width:100%}.hero{padding:140px 0 110px}.eyebrow{align-items:center;color:#7d7d86;color:var(--muted);display:flex;font-size:13px;gap:12px;letter-spacing:.2em;margin-bottom:26px;text-transform:uppercase}.eyebrow .ln{background:#34343c;background:var(--line-hi);height:1px;width:42px}.display{font-size:clamp(54px,11vw,140px);font-weight:900}.display span{display:inline-block;transition:opacity .25s,-webkit-transform .25s cubic-bezier(.2,.8,.2,1);transition:transform .25s cubic-bezier(.2,.8,.2,1),opacity .25s;transition:transform .25s cubic-bezier(.2,.8,.2,1),opacity .25s,-webkit-transform .25s cubic-bezier(.2,.8,.2,1)}.display:hover span{opacity:.45}.display span:hover{opacity:1;-webkit-transform:translateY(-10px);transform:translateY(-10px)}.role{align-items:center;color:#fafafa;color:var(--fg);display:flex;font-size:20px;gap:8px;height:30px;margin-top:18px}.role .pre{color:#7d7d86;color:var(--muted)}.role .Typewriter{font-weight:500}.role .Typewriter__cursor{color:#fff;font-weight:300}.lead{color:#7d7d86;color:var(--muted);font-size:19px;margin-top:28px;max-width:570px}.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:42px}.btn{align-items:center;border:1px solid #fafafa;border:1px solid var(--fg);border-radius:3px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:9px;overflow:hidden;padding:14px 24px;position:relative;transition:all .25s}.btn:before{background:#fff;content:"";inset:0;position:absolute;-webkit-transform:translateY(101%);transform:translateY(101%);transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;z-index:-1}.btn:hover{color:#070708;color:var(--bg)}.btn:hover:before{-webkit-transform:translateY(0);transform:translateY(0)}.btn.ghost{border-color:#34343c;border-color:var(--line-hi)}.btn.ghost:before{background:#fff}.marquee{border-bottom:1px solid #1c1c20;border-bottom:1px solid var(--line);border-top:1px solid #1c1c20;border-top:1px solid var(--line);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);overflow:hidden;padding:20px 0;white-space:nowrap}.marquee .track{-webkit-animation:scroll 26s linear infinite;animation:scroll 26s linear infinite;display:inline-block}.marquee span{color:#7d7d86;color:var(--muted);font-family:Archivo;font-size:22px;font-weight:700;letter-spacing:-.01em;margin:0 26px}.marquee span b{color:#fafafa;color:var(--fg)}@-webkit-keyframes scroll{0%{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(-50%);transform:translateX(-50%)}}@keyframes scroll{0%{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(-50%);transform:translateX(-50%)}}.sec{border-top:1px solid #1c1c20;border-top:1px solid var(--line);padding:90px 0}.sec-head{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:50px}.sec-head h2{font-size:clamp(28px,4.5vw,42px);font-weight:800}.sec-head .idx{color:#7d7d86;color:var(--muted);font-size:13px;letter-spacing:.12em}.reveal{opacity:0;-webkit-transform:translateY(26px);transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),-webkit-transform .7s cubic-bezier(.2,.7,.2,1);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1),-webkit-transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;-webkit-transform:none;transform:none}.projects{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.card{background:#0f0f11;background:var(--panel);border:1px solid #1c1c20;border:1px solid var(--line);display:block;overflow:hidden;padding:30px;position:relative;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transition:border-color .3s,-webkit-transform .15s ease-out;transition:border-color .3s,transform .15s ease-out;transition:border-color .3s,transform .15s ease-out,-webkit-transform .15s ease-out;will-change:transform}.card,.card:after{border-radius:14px}.card:after{background:radial-gradient(400px circle at 50% 0,hsla(0,0%,100%,.08),transparent 45%);background:radial-gradient(400px circle at var(--mx,50%) var(--my,0),hsla(0,0%,100%,.08),transparent 45%);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s}.card:hover{border-color:#34343c;border-color:var(--line-hi)}.card:hover:after{opacity:1}.card .ptop{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.card .pnum{color:#7d7d86;color:var(--muted);font-family:Archivo;font-weight:700}.card h3{font-size:28px;font-weight:700;margin-bottom:10px}.card p{color:#7d7d86;color:var(--muted);font-size:15px}.stack{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.tag{border:1px solid #34343c;border:1px solid var(--line-hi);border-radius:999px;color:#7d7d86;color:var(--muted);font-size:12px;padding:5px 11px;transition:.2s}.card:hover .tag{color:#fafafa;color:var(--fg)}.arrow{color:#7d7d86;color:var(--muted);font-size:22px;transition:color .25s,-webkit-transform .25s;transition:transform .25s,color .25s;transition:transform .25s,color .25s,-webkit-transform .25s}.card:hover .arrow{color:#fafafa;color:var(--fg);-webkit-transform:translate(4px,-4px);transform:translate(4px,-4px)}.now{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}.now .item{background:#0f0f11;background:var(--panel);border:1px solid #1c1c20;border:1px solid var(--line);border-radius:12px;padding:26px;transition:border-color .25s,-webkit-transform .25s;transition:transform .25s,border-color .25s;transition:transform .25s,border-color .25s,-webkit-transform .25s}.now .item:hover{border-color:#34343c;border-color:var(--line-hi);-webkit-transform:translateY(-4px);transform:translateY(-4px)}.now .k{align-items:center;color:#7d7d86;color:var(--muted);display:flex;font-size:12px;gap:8px;letter-spacing:.12em;margin-bottom:20px;text-transform:uppercase}.now .k .live{-webkit-animation:pulse 2s infinite;animation:pulse 2s infinite;background:#fff;border-radius:50%;box-shadow:0 0 10px #fff;height:7px;width:7px}.now b{font-size:20px;font-weight:600}.now small{color:#7d7d86;color:var(--muted);display:block;font-size:14px;margin-top:6px}.life{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.tile{background:#0f0f11;background:var(--panel);border:1px solid #1c1c20;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;justify-content:space-between;min-height:140px;padding:24px;transition:border-color .25s,-webkit-transform .25s;transition:transform .25s,border-color .25s;transition:transform .25s,border-color .25s,-webkit-transform .25s}.tile:hover{border-color:#34343c;border-color:var(--line-hi);-webkit-transform:translateY(-4px);transform:translateY(-4px)}.tile svg{height:24px;width:24px}.tile b{font-size:15px;font-weight:600}.tile small{color:#7d7d86;color:var(--muted);font-size:13px}footer{border-top:1px solid #1c1c20;border-top:1px solid var(--line);padding:90px 0 70px;position:relative}.foot-grid{align-items:flex-end;display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between}.foot-grid h2{font-size:clamp(40px,8vw,90px);font-weight:900}.foot-links{display:flex;font-size:14px;gap:24px}.foot-links a{color:#7d7d86;color:var(--muted);cursor:pointer;position:relative;transition:.2s}.foot-links a:after{background:#fff;bottom:-4px;content:"";height:1px;left:0;position:absolute;transition:width .25s;width:0}.foot-links a:hover{color:#fafafa;color:var(--fg)}.foot-links a:hover:after{width:100%}.copy{color:#7d7d86;color:var(--muted);font-size:13px;margin-top:60px}.resume-page{min-height:80vh;padding:120px 0 90px}.resume-actions{display:flex;flex-wrap:wrap;gap:14px;margin:26px 0 36px}.resume-doc{display:flex;justify-content:center}.resume-doc .react-pdf__Page{border-radius:10px;box-shadow:0 24px 60px rgba(0,0,0,.55);overflow:hidden}.resume-doc canvas{height:auto!important;max-width:100%}.resume-loading{color:#7d7d86;color:var(--muted);padding:60px 0;text-align:center}@media(max-width:820px){.projects{grid-template-columns:1fr}.life,.now{grid-template-columns:repeat(2,1fr)}.nav-links{display:none}}@media(max-width:460px){.life,.now{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*{-webkit-animation:none!important;animation:none!important;transition:none!important}.reveal{opacity:1;-webkit-transform:none;transform:none}.grain,.grid-bg,.spot{display:none}html{scroll-behavior:auto}}.App{position:relative}
/*# sourceMappingURL=main.53c0fe99.css.map*/