@charset "UTF-8";.header{width:100%;max-height:50px;position:sticky;top:0;z-index:100;background:#293f2af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.1);box-shadow:0 2px 10px #00000080}.navbar{height:100%;display:flex;justify-content:space-between;align-items:center;flex-direction:row;max-width:1200px;margin:0 auto}.navbar>*{flex:1;width:50%}.navbar-logo{font-size:1.25rem;font-weight:700;text-decoration:none;color:inherit}.navbar-logo:hover{opacity:.7}.navbar-links{display:flex;gap:2rem}.navbar-link{text-decoration:none;color:inherit;font-size:1rem;transition:opacity .2s}.navbar-link:hover{opacity:.7}.navbar-link.active{font-weight:700}@keyframes rotate{0%{transform:rotate(2deg)}to{transform:rotate(-2deg)}}@keyframes rotateMore{0%{transform:rotate(8deg) scale(1.17)}50%{transform:rotate(0) scale(1)}to{transform:rotate(-6deg) scale(1.1)}}@keyframes rotateMost{0%{transform:rotate(14deg) scale(1.26)}50%{transform:rotate(0) scale(1)}to{transform:rotate(-12deg) scale(1.3)}}@keyframes gradientBackground{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes fadeIn{0%{opacity:0}45%{opacity:0}to{opacity:1}}@keyframes vertical{0%{transform:scale(1)}to{transform:scale(1.2)}}.rotate-text-container{position:relative;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:center;margin:0;width:100%;height:100%;background:linear-gradient(-45deg,#fc5c7d,#6a82fb,#05dfd7);background-size:600% 400%;animation:gradientBackground 10s ease infinite;border-radius:10px;color:#fff;text-align:center}.emoji-container{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:space-between}.emoji{position:relative;display:grid;font-size:80px;margin:0 30px}.emoji.left div{animation-direction:alternate}.emoji.right div{animation-direction:alternate-reverse}.emoji div{grid-column:1;grid-row:1}.stagger-0{animation:rotate ease-in-out 2s infinite alternate;animation-delay:0ms;z-index:3}.stagger-1{animation:rotateMore ease-in-out 2s infinite alternate;animation-delay:.25s;z-index:2;opacity:50%}.stagger-2{animation:rotateMost ease-in-out 2s infinite alternate;animation-delay:.5s;z-index:1;opacity:20%}.underline{text-decoration:underline}.rotate-text{z-index:5;margin:0;line-height:1.3;letter-spacing:1px;text-shadow:0 1px 0 #efefef,0 2px 0 #efefef,0 3px 0 #efefef,0 4px 0 #efefef,0 12px 5px rgba(0,0,0,.1);animation:rotate ease-in-out 1s infinite alternate}.rotate-text-container p{width:100%;z-index:5;letter-spacing:5px;font-size:20px;text-shadow:0 1px 0 #efefef;animation:2s ease 0s normal forwards 1 fadeIn}.hero-section{display:flex;flex-direction:column;gap:1.5rem;max-width:100%;margin:0 0 3rem}#hero{padding:0}.hero-media{width:100%;max-width:100%;border-radius:0;overflow:hidden;background:#030a12;position:relative}.hero-video{display:block;width:100%;height:20vh;object-fit:cover}.hero-text-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:end;align-items:center;padding:3rem 1.25rem;height:100%;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.3) 50%,transparent 100%);text-align:center}.hero-title{font-size:3.25rem;font-weight:700;line-height:1.1;color:#fff;letter-spacing:-.02em;letter-spacing:.1rem}.hero-subtitle{letter-spacing:.22rem;text-shadow:0px 0px 3px #383535;font-size:.95rem;font-weight:500;line-height:1.5;color:#c7d2e0}@media (min-width: 768px){.hero-section{margin-bottom:4rem}.hero-media{flex:1}.hero-title{font-size:3rem}}@media (min-width: 1200px){.hero-title{font-size:3.5rem}}.table-of-contents{display:none;flex-direction:column;gap:1rem;margin-top:1rem;width:70%}@media (min-width: 969px){.table-of-contents{display:flex}}.toc-section{display:flex;flex-direction:column;gap:.5rem}.toc-section:not(:last-child){padding-bottom:.6rem;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:0}.toc-section-link{color:#d1d5db;text-decoration:none;font-size:1.15rem;font-weight:500;transition:color .2s ease;cursor:pointer;position:relative;display:inline-block;padding-right:1rem}.toc-section-link:hover{color:#fff}.toc-section-link.active{color:#fffffff2;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#fff6}.toc-children{list-style:none;padding:0;margin:0;padding-left:1rem;display:flex;flex-direction:column;gap:0}.toc-children li:not(:last-child) .toc-child-link{padding-bottom:2px;border-bottom:1px solid rgba(255,255,255,.03);margin-bottom:2px}.toc-child-link{color:#9ca3af;text-decoration:none;font-size:.85rem;transition:color .2s ease;cursor:pointer;position:relative;display:inline-block}.toc-child-link:hover{color:#d1d5db}.project-category-title.toc-jump-highlight,.project-title.toc-jump-highlight{animation:toc-jump-highlight 1.2s ease-in-out}@keyframes toc-jump-highlight{0%{background-color:#ff00ff26;box-shadow:0 0 0 2px #fff6}to{background-color:transparent;box-shadow:none}}.about-section,.about-intro{display:flex;flex-direction:column;gap:1.5rem;padding-left:1rem}.about-section p,.about-intro p{padding:0 .5rem}.about-section #aiw-fx-1,.about-intro #aiw-fx-1{text-shadow:1px 0 15px #FD7315,0 0 10px #FD7315;font-weight:800}.about-section #aiw-fx-2,.about-intro #aiw-fx-2{text-shadow:2px 0 15px #005EFF;font-weight:800}.about-section svg,.about-intro svg{align-self:center}.about-section-toc{align-items:flex-end;gap:0}.about-intro{margin-bottom:2rem}.about-name{font-size:2rem;font-weight:700;color:#fff;margin:0;line-height:1.2}.about-name-svg{align-self:center}.about-bio{display:flex;flex-direction:column;gap:1rem;font-size:1.05rem;color:#d1d5db;line-height:2}.about-bio p{margin:0}.about-links-particle-wrap{position:relative;overflow:hidden;border-radius:10px;padding:.5rem;border:1px solid black}.about-links-particle-wrap .about-links-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-5}.about-links-particle-wrap .about-links-particle-wrap .light,.about-links-particle-wrap .light{position:absolute;width:4px;height:4px;border-radius:50%;background-color:#ffffffe6;box-shadow:0 0 20px 2px #e9f1f199;opacity:0;top:100%;bottom:0;left:0;right:0;margin:auto}.about-links-particle-wrap .light.x1{animation:about-links-floatUp 4s infinite linear;transform:scale(1)}.about-links-particle-wrap .light.x2{animation:about-links-floatUp 7s infinite linear;transform:scale(1.6);left:15%}.about-links-particle-wrap .light.x3{animation:about-links-floatUp 2.5s infinite linear;transform:scale(.5);left:-15%}.about-links-particle-wrap .light.x4{animation:about-links-floatUp 4.5s infinite linear;transform:scale(1.2);left:-34%}.about-links-particle-wrap .light.x5{animation:about-links-floatUp 8s infinite linear;transform:scale(2.2);left:-57%}.about-links-particle-wrap .light.x6{animation:about-links-floatUp 3s infinite linear;transform:scale(.8);left:-81%}.about-links-particle-wrap .light.x7{animation:about-links-floatUp 5.3s infinite linear;transform:scale(3.2);left:37%}.about-links-particle-wrap .light.x8{animation:about-links-floatUp 4.7s infinite linear;transform:scale(1.7);left:62%}.about-links-particle-wrap .light.x9{animation:about-links-floatUp 4.1s infinite linear;transform:scale(.9);left:85%}@keyframes about-links-floatUp{0%{top:100%;opacity:0}25%{opacity:1}50%{top:0;opacity:.8}75%{opacity:1}to{top:-100%;opacity:0}}.about-links-particle-wrap .about-links.sidebar-links{position:relative;z-index:1}.about-links{display:flex;flex-direction:column}.about-links .pretty-header-title-block,.about-links .about-links-icons{padding:1rem}.about-links .about-links-email-block:hover,.about-links .about-links-resume-block:hover,.about-links .about-link-icon:hover{background-color:#1f2937;border-radius:10px;transition:transform .2s ease;cursor:pointer}.about-links .about-links-email-block:hover .pretty-header-title-stagger-0,.about-links .about-links-resume-block:hover .pretty-header-title-stagger-0,.about-links .about-link-icon:hover .pretty-header-title-stagger-0{animation-play-state:paused}@media (max-width: 968px){.about-links{flex-direction:row;align-self:center}}@media (max-width: 968px) and (max-width: 400px){.about-links{flex-wrap:wrap}}@media (max-width: 968px){.about-links .about-links-email-block,.about-links .about-links-resume-block{width:50%}.about-links .about-links-icons{justify-content:center;gap:2.5rem}}.about-links-icons{display:flex;flex-direction:row;gap:.75rem 1rem;align-items:center;width:100%;justify-content:space-evenly}.about-link-icon{display:inline-flex;color:#d1d5db;transition:color .2s ease}.about-link-icon:hover{color:#fff;text-decoration:none}.about-link-icon svg{width:24px;height:24px}.about-links-email-block{display:flex;flex-direction:column;align-items:center;gap:.25rem}.about-links-copy-popup{position:fixed;z-index:1000;padding:.5rem .75rem;background:#1f2937;color:#f3f4f6;border-radius:8px;box-shadow:0 4px 12px #0006;font-size:.875rem;max-width:220px;transform:translate(0)}.about-links-copy-popup .about-links-copy-popup-text{margin:0 0 .25rem;white-space:nowrap}.about-links-copy-popup .about-links-copy-popup-link{color:#60a5fa;text-decoration:underline;display:block;white-space:nowrap}.about-links-copy-popup .about-links-copy-popup-close{position:absolute;top:.25rem;right:.35rem;background:none;border:none;color:#9ca3af;font-size:1.25rem;line-height:1;cursor:pointer;padding:0}.about-links-copy-popup .about-links-copy-popup-close:hover{color:#f3f4f6}.about-link-copy{font-size:.85rem;margin-top:0}.about-link-copy-wrapper{position:absolute;left:80%}.about-link-resume{margin-top:.25rem;width:100%;text-align:center;font-size:1.25rem}.about-links-row{flex-direction:row;flex-wrap:wrap;gap:.75rem 1rem;margin-top:0;justify-content:flex-end}.sidebar-links{display:none;flex-direction:column}.about-links-intro{display:flex}.about-links-footer-wrap{width:50%;margin:auto;margin-bottom:8rem}@media (max-width: 520px){.about-links-footer-wrap{width:100%}}.about-links-footer{display:flex;flex-direction:row;align-self:center;flex-wrap:wrap}.about-links-footer .about-links-email-block,.about-links-footer .about-links-resume-block{width:50%}.about-links-footer .about-links-icons{justify-content:center;gap:2.5rem}@media (max-width: 400px){.about-links-footer{flex-wrap:wrap}}.about-links-resume-block{text-decoration:none}.contact-form-wrap{display:none}.contact-links{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem 1rem}@media (min-width: 969px){.sidebar-links{display:flex}.about-links-intro{display:none}.contact-form-wrap{display:block}.contact-links{display:none}}.about-link{color:#d1d5db;text-decoration:none;transition:color .2s ease}.about-link:hover{color:#fff;text-decoration:underline}@media (min-width: 768px){.about-name{font-size:2.5rem}}@keyframes prettyHeaderRotate{0%{transform:rotate(calc(.25deg * var(--pretty-header-amount, 1)))}to{transform:rotate(calc(-.25deg * var(--pretty-header-amount, 1)))}}@keyframes prettyHeaderRotateMore{0%{transform:rotate(calc(8deg * var(--pretty-header-amount, 1))) scale(calc(1 + .17 * var(--pretty-header-amount, 1)))}50%{transform:rotate(0) scale(1)}to{transform:rotate(calc(-6deg * var(--pretty-header-amount, 1))) scale(calc(1 + .1 * var(--pretty-header-amount, 1)))}}@keyframes prettyHeaderRotateMost{0%{transform:rotate(calc(14deg * var(--pretty-header-amount, 1))) scale(calc(1 + .26 * var(--pretty-header-amount, 1)))}50%{transform:rotate(0) scale(1)}to{transform:rotate(calc(-12deg * var(--pretty-header-amount, 1))) scale(calc(1 + .3 * var(--pretty-header-amount, 1)))}}@keyframes prettyHeaderGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes prettyHeaderFadeIn{0%{opacity:0}45%{opacity:0}to{opacity:1}}.pretty-header{position:relative}.pretty-header-root{width:100%;height:100%;min-height:0}.about-intro .about-name-svg h1{font-size:3rem}@media (max-width: 768px){.about-intro .about-name-svg h1{font-size:2rem}}.pretty-header-container{position:relative;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:center;margin:0;width:100%;height:100%;min-height:0;border-radius:10px;color:#fff;text-align:center}.pretty-header-container h1{font-size:var(--pretty-header-font-size, clamp(1.25rem, 5vw, 40px))}@media (max-width: 768px){.pretty-header-container h1{font-size:var(--pretty-header-font-size, clamp(1.25rem, 50vw, 60px))}}.pretty-header-container h1{z-index:5;margin:0;line-height:1.3;letter-spacing:clamp(2px,1vw,5px);text-transform:uppercase;text-shadow:-1px 1px 0 #5f5f5f,-1px 2px 0 #5f5f5f,-2px 3px 0 #2b2a2a,-2px 4px 0 #2b2a2a,-3px 5px 0 #181818,-3px 5px 0 #181818,-4px 6px 4px rgba(0,0,0,.9);animation:prettyHeaderRotate ease-in-out calc(10s / var(--pretty-header-speed, 1)) infinite alternate}.pretty-header-container .pretty-header-title-wrap{display:grid;margin:0}.pretty-header-container .pretty-header-title-wrap>*{grid-column:1;grid-row:1}.pretty-header-container .pretty-header-title-stagger-0,.pretty-header-container .pretty-header-title-tracer{font-size:var(--pretty-header-font-size, clamp(1.25rem, 5vw, 40px))}@media (max-width: 768px){.pretty-header-container .pretty-header-title-stagger-0,.pretty-header-container .pretty-header-title-tracer{font-size:var(--pretty-header-font-size, clamp(1.25rem, 50vw, 60px))}}.pretty-header-container .pretty-header-title-stagger-0,.pretty-header-container .pretty-header-title-tracer{margin:0;line-height:1.3;letter-spacing:clamp(2px,1vw,5px);text-transform:uppercase;text-shadow:0 1px 0 #efefef,0 2px 0 #c8c8c8,0 3px 0 #888888,0 4px 0 #484848,0 5px 0 #181818,0 6px 4px rgba(0,0,0,.9)}.pretty-header-container .pretty-header-title-stagger-0{animation:prettyHeaderRotate ease-in-out calc(10s / var(--pretty-header-speed, 1)) infinite alternate;animation-delay:0ms;z-index:3;opacity:1}.pretty-header-container .pretty-header-title-stagger-1{--pretty-header-amount: var(--pretty-header-tracer-amount, var(--pretty-header-amount, 1));animation:prettyHeaderRotate ease-in-out calc(10s / var(--pretty-header-speed, 1)) infinite alternate;animation-delay:calc(var(--pretty-header-tracer-delay, 250) * 1 * 1ms);z-index:2;opacity:min(1,.5 * var(--pretty-header-tracer-opacity, 1))}.pretty-header-container .pretty-header-title-stagger-2{--pretty-header-amount: var(--pretty-header-tracer-amount, var(--pretty-header-amount, 1));animation:prettyHeaderRotate ease-in-out calc(10s / var(--pretty-header-speed, 1)) infinite alternate;animation-delay:calc(var(--pretty-header-tracer-delay, 250) * 2 * 1ms);z-index:1;opacity:min(1,.2 * var(--pretty-header-tracer-opacity, 1))}.pretty-header-container .pretty-header-title-stagger-3{--pretty-header-amount: var(--pretty-header-tracer-amount, var(--pretty-header-amount, 1));animation:prettyHeaderRotate ease-in-out calc(10s / var(--pretty-header-speed, 1)) infinite alternate;animation-delay:calc(var(--pretty-header-tracer-delay, 250) * 3 * 1ms);z-index:0;opacity:min(1,.12 * var(--pretty-header-tracer-opacity, 1))}.pretty-header-container .pretty-header-title-stagger-4{--pretty-header-amount: var(--pretty-header-tracer-amount, var(--pretty-header-amount, 1));animation:prettyHeaderRotate ease-in-out calc(10s / var(--pretty-header-speed, 1)) infinite alternate;animation-delay:calc(var(--pretty-header-tracer-delay, 250) * 4 * 1ms);z-index:-1;opacity:min(1,.08 * var(--pretty-header-tracer-opacity, 1))}.pretty-header-container .pretty-header-title-stagger-5{--pretty-header-amount: var(--pretty-header-tracer-amount, var(--pretty-header-amount, 1));animation:prettyHeaderRotate ease-in-out calc(10s / var(--pretty-header-speed, 1)) infinite alternate;animation-delay:calc(var(--pretty-header-tracer-delay, 250) * 5 * 1ms);z-index:-2;opacity:min(1,.05 * var(--pretty-header-tracer-opacity, 1))}.pretty-header-container .pretty-header-title-stagger-6{--pretty-header-amount: var(--pretty-header-tracer-amount, var(--pretty-header-amount, 1));animation:prettyHeaderRotate ease-in-out calc(10s / var(--pretty-header-speed, 1)) infinite alternate;animation-delay:calc(var(--pretty-header-tracer-delay, 250) * 6 * 1ms);z-index:-3;opacity:min(1,.03 * var(--pretty-header-tracer-opacity, 1))}.pretty-header-container .pretty-header-title-wrap .pretty-header-title-tracer.pretty-header-tracer-rainbow.pretty-header-title-stagger-1{color:#f97316;text-shadow:0 1px 0 #c2410c,0 2px 0 #c2410c,0 3px 0 #c2410c,0 4px 0 #c2410c,0 12px 5px rgba(0,0,0,.9)}.pretty-header-container .pretty-header-title-wrap .pretty-header-title-tracer.pretty-header-tracer-rainbow.pretty-header-title-stagger-2{color:#0ea5e9;text-shadow:0 1px 0 #0369a1,0 2px 0 #0369a1,0 3px 0 #0369a1,0 4px 0 #0369a1,0 12px 5px rgba(0,0,0,.9)}.pretty-header-container .pretty-header-title-wrap .pretty-header-title-tracer.pretty-header-tracer-rainbow.pretty-header-title-stagger-3{color:#22c55e;text-shadow:0 1px 0 #15803d,0 2px 0 #15803d,0 3px 0 #15803d,0 4px 0 #15803d,0 12px 5px rgba(0,0,0,.9)}.pretty-header-container .pretty-header-title-wrap .pretty-header-title-tracer.pretty-header-tracer-rainbow.pretty-header-title-stagger-4{color:#a855f7;text-shadow:0 1px 0 #7c3aed,0 2px 0 #7c3aed,0 3px 0 #7c3aed,0 4px 0 #7c3aed,0 12px 5px rgba(0,0,0,.9)}.pretty-header-container .pretty-header-title-wrap .pretty-header-title-tracer.pretty-header-tracer-rainbow.pretty-header-title-stagger-5{color:#eab308;text-shadow:0 1px 0 #ca8a04,0 2px 0 #ca8a04,0 3px 0 #ca8a04,0 4px 0 #ca8a04,0 12px 5px rgba(0,0,0,.9)}.pretty-header-container .pretty-header-title-wrap .pretty-header-title-tracer.pretty-header-tracer-rainbow.pretty-header-title-stagger-6{color:#ec4899;text-shadow:0 1px 0 #be185d,0 2px 0 #be185d,0 3px 0 #be185d,0 4px 0 #be185d,0 12px 5px rgba(0,0,0,.9)}.pretty-header-container p{width:100%;z-index:5;letter-spacing:5px;margin:0;padding-top:10px;font-size:var(--pretty-header-subtitle-size, 20px);text-shadow:0 1px 0 #efefef;animation:prettyHeaderFadeIn calc(2s / var(--pretty-header-speed, 1)) ease 0s normal forwards 1}.pretty-header-emoji-container{position:absolute;top:0;left:50%;transform:translate(-50%);height:100%;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.pretty-header-no-emoji .pretty-header-emoji-container{display:none}.pretty-header-emoji{position:relative;display:grid;font-size:var(--pretty-header-emoji-size, clamp(2rem, 15vw, 80px));margin:0 clamp(8px,4vw,30px)}.pretty-header-emoji.left div{animation-direction:alternate}.pretty-header-emoji.right div{animation-direction:alternate-reverse}.pretty-header-emoji div{grid-column:1;grid-row:1}@media (max-width: 768px){.pretty-header-emoji{display:none}}.pretty-header-stagger-0{animation:prettyHeaderRotate ease-in-out calc(2s / var(--pretty-header-speed, 1)) infinite alternate;animation-delay:0ms;z-index:3}.pretty-header-stagger-1{--pretty-header-amount: var(--pretty-header-tracer-amount, var(--pretty-header-amount, 1));animation:prettyHeaderRotateMore ease-in-out calc(2s / var(--pretty-header-speed, 1)) infinite alternate;animation-delay:calc(var(--pretty-header-tracer-delay, 250) * 1 * 1ms);z-index:2;opacity:min(1,.5 * var(--pretty-header-tracer-opacity, 1))}.pretty-header-stagger-2{--pretty-header-amount: var(--pretty-header-tracer-amount, var(--pretty-header-amount, 1));animation:prettyHeaderRotateMost ease-in-out calc(2s / var(--pretty-header-speed, 1)) infinite alternate;animation-delay:calc(var(--pretty-header-tracer-delay, 250) * 2 * 1ms);z-index:1;opacity:min(1,.2 * var(--pretty-header-tracer-opacity, 1))}.pretty-header-stagger-3{--pretty-header-amount: var(--pretty-header-tracer-amount, var(--pretty-header-amount, 1));animation:prettyHeaderRotateMost ease-in-out calc(2s / var(--pretty-header-speed, 1)) infinite alternate;animation-delay:calc(var(--pretty-header-tracer-delay, 250) * 3 * 1ms);z-index:0;opacity:min(1,.12 * var(--pretty-header-tracer-opacity, 1))}.pretty-header-stagger-4{--pretty-header-amount: var(--pretty-header-tracer-amount, var(--pretty-header-amount, 1));animation:prettyHeaderRotateMost ease-in-out calc(2s / var(--pretty-header-speed, 1)) infinite alternate;animation-delay:calc(var(--pretty-header-tracer-delay, 250) * 4 * 1ms);z-index:-1;opacity:min(1,.08 * var(--pretty-header-tracer-opacity, 1))}.pretty-header-stagger-5{--pretty-header-amount: var(--pretty-header-tracer-amount, var(--pretty-header-amount, 1));animation:prettyHeaderRotateMost ease-in-out calc(2s / var(--pretty-header-speed, 1)) infinite alternate;animation-delay:calc(var(--pretty-header-tracer-delay, 250) * 5 * 1ms);z-index:-2;opacity:min(1,.05 * var(--pretty-header-tracer-opacity, 1))}.pretty-header-stagger-6{--pretty-header-amount: var(--pretty-header-tracer-amount, var(--pretty-header-amount, 1));animation:prettyHeaderRotateMost ease-in-out calc(2s / var(--pretty-header-speed, 1)) infinite alternate;animation-delay:calc(var(--pretty-header-tracer-delay, 250) * 6 * 1ms);z-index:-3;opacity:min(1,.03 * var(--pretty-header-tracer-opacity, 1))}.pretty-header-rainbow-tracers .pretty-header-stagger-1{filter:drop-shadow(0 1px 0 #c2410c) drop-shadow(0 2px 0 #c2410c) drop-shadow(0 4px 6px rgba(0,0,0,.4))}.pretty-header-rainbow-tracers .pretty-header-stagger-2{filter:drop-shadow(0 1px 0 #0369a1) drop-shadow(0 2px 0 #0369a1) drop-shadow(0 4px 6px rgba(0,0,0,.4))}.pretty-header-rainbow-tracers .pretty-header-stagger-3{filter:drop-shadow(0 1px 0 #15803d) drop-shadow(0 2px 0 #15803d) drop-shadow(0 4px 6px rgba(0,0,0,.4))}.pretty-header-rainbow-tracers .pretty-header-stagger-4{filter:drop-shadow(0 1px 0 #7c3aed) drop-shadow(0 2px 0 #7c3aed) drop-shadow(0 4px 6px rgba(0,0,0,.4))}.pretty-header-rainbow-tracers .pretty-header-stagger-5{filter:drop-shadow(0 1px 0 #ca8a04) drop-shadow(0 2px 0 #ca8a04) drop-shadow(0 4px 6px rgba(0,0,0,.4))}.pretty-header-rainbow-tracers .pretty-header-stagger-6{filter:drop-shadow(0 1px 0 #be185d) drop-shadow(0 2px 0 #be185d) drop-shadow(0 4px 6px rgba(0,0,0,.4))}.secret-button-wrap{display:inline-flex;min-height:2.5rem;align-items:center;justify-content:center}.secret-button{opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;transform:scale(.95)}.secret-button-visible .secret-button{opacity:1;pointer-events:auto;transform:scale(1)}.animated-text{display:inline-block}.animated-text--wiggle{animation:animated-text-wiggle .4s ease-in-out infinite alternate}.animated-text--bounce{animation:animated-text-bounce .5s ease-in-out infinite alternate}@keyframes animated-text-wiggle{0%{transform:translate(-2px)}to{transform:translate(2px)}}@keyframes animated-text-bounce{0%{transform:translateY(0)}to{transform:translateY(-2px)}}.project-image-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:.5rem;width:100%}.gallery-tile{margin:0;display:flex;flex-direction:column;gap:.5rem;border-radius:8px;overflow:hidden;background:#040c18f2;border:1px solid rgba(255,255,255,.06)}.gallery-tile-trigger{padding:0;border:none;background:none;cursor:pointer;overflow:hidden;border-radius:8px 8px 0 0;display:block;line-height:0}.gallery-tile-image{width:100%;aspect-ratio:1;object-fit:cover;display:block;transition:transform .2s ease}.gallery-tile-trigger:hover .gallery-tile-image{transform:scale(1.06)}.gallery-tile-video{width:100%;aspect-ratio:1;overflow:hidden;position:relative;display:block;transition:transform .2s ease}.gallery-tile-trigger:hover .gallery-tile-video{transform:scale(1.06)}.gallery-tile-video-iframe{position:absolute;top:0;left:50%;width:177.78%;height:100%;transform:translate(-50%);border:none}.gallery-tile-video-native{width:100%;aspect-ratio:1;object-fit:cover;display:block;transition:transform .2s ease}.gallery-tile-trigger:hover .gallery-tile-video-native{transform:scale(1.06)}.gallery-tile-youtube-thumb{position:relative;width:100%;aspect-ratio:1;overflow:hidden;display:block;transition:transform .2s ease}.gallery-tile-youtube-thumb .gallery-tile-image{width:100%;height:100%;object-fit:cover}.gallery-tile-trigger:hover .gallery-tile-youtube-thumb{transform:scale(1.06)}.gallery-tile-youtube-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:3rem;height:3rem;background:#000000b3;border-radius:50%;display:flex;align-items:center;justify-content:center;pointer-events:none}.gallery-lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;cursor:pointer}.gallery-lightbox-close{position:absolute;top:1rem;right:1rem;width:2.5rem;height:2.5rem;padding:0;border:none;background:#ffffff1a;border-radius:50%;cursor:pointer;color:#fff;font-size:1.5rem;line-height:1;z-index:1001}.gallery-lightbox-close:after{content:"×"}.gallery-lightbox-close:hover{background:#fff3}.gallery-lightbox-content{max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:.75rem;cursor:default}.gallery-lightbox-image{max-width:100%;max-height:calc(90vh - 2rem);object-fit:contain;border-radius:8px}.gallery-lightbox-video-wrap{position:relative;width:min(90vw,800px);padding-bottom:56.25%;height:0;overflow:hidden;border-radius:8px}.gallery-lightbox-video,.gallery-lightbox-video-native{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.gallery-lightbox-video-native{object-fit:contain}.gallery-lightbox-caption{font-size:.9rem;color:#9ca3af;margin:0}.gallery-tile-caption{font-size:.8rem;color:#9ca3af;line-height:1.35;padding:0 .5rem .5rem;margin:0}@media (max-width: 767px){.project-image-gallery{grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:.5rem}.gallery-tile-caption{font-size:.8rem;padding:0 .35rem .35rem}.gallery-tile-youtube-play{width:2.5rem;height:1.76rem}}@media (min-width: 768px){.project-image-gallery{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.25rem}}.projects-section{display:flex;flex-direction:column;gap:4rem;padding-bottom:5rem}.project-category-section{display:flex;flex-direction:column;gap:0;scroll-margin-top:2rem;padding:0 1rem}.project-category-title-sentinel{height:1px;width:100%;margin:0;padding:0;pointer-events:none;visibility:hidden}.project-category-title{font-size:1.75rem;font-weight:600;color:#fff;margin:0;padding-bottom:.5rem;padding-top:.25rem;border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;z-index:2;background:#020b18;margin-bottom:.5rem;transition:box-shadow .2s ease,padding .2s ease,border .2s ease,margin .2s ease,font-size .2s ease,background .2s ease}.project-category-title.is-stuck{border-bottom:2px solid rgba(255,255,255,.1);margin-left:.25rem}@media (min-width: 768px){.project-category-title.is-stuck{font-size:2.25rem;box-shadow:0 2px 8px #0000004d;padding-top:1.5rem;padding-bottom:.5rem}}@media (max-width: 767px){.project-category-title.is-stuck{font-size:1.75rem;padding-top:.5rem;padding-bottom:.5rem;box-shadow:0 8px 32px #0000004d}}.project-category-group{border-left:2px solid rgba(255,255,255,.15);padding-left:1rem;margin-left:.25rem;margin-top:.5rem;display:flex;flex-direction:column;gap:3rem}.project-item{display:flex;flex-direction:column;gap:1rem;scroll-margin-top:2rem}.project-image-gallery{order:2}.project-title{font-size:1.5rem;font-weight:600;color:#fff;margin:0;order:0}.project-description{font-size:.95rem;color:#d1d5db;line-height:1.6;margin:0;order:1}.contact-section{max-width:1200px;margin:0 auto 3rem;padding:0 1.5rem}.contact-card{background:#040c18f2;border-radius:12px;padding:1.25rem;border:1px solid rgba(255,255,255,.06)}.contact-text{font-size:.95rem;color:#d1d5db;margin-bottom:1rem}.contact-form{display:flex;flex-direction:column;gap:.75rem}.form-row{display:flex;flex-direction:column;gap:.25rem}.form-label{font-size:.85rem;color:#9ca3af}.form-input{background:#020617;border-radius:8px;border:1px solid rgba(148,163,184,.5);padding:.6rem .75rem;color:#e5e7eb;font-size:.9rem;outline:none}.form-input:focus{border-color:#38bdf8;box-shadow:0 0 0 1px #38bdf866}.form-textarea{resize:vertical;min-height:120px}.form-submit{margin-top:.5rem;align-self:flex-start;padding:.6rem 1.4rem;border-radius:999px;border:none;background:linear-gradient(135deg,#22c55e,#16a34a);color:#0b1120;font-size:.9rem;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.form-submit:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 6px 18px #22c55e59}.form-submit:active{transform:translateY(0);box-shadow:none}.content-grid{display:grid;grid-template-columns:.5fr 1fr .5fr;grid-template-rows:min-content 1fr;min-height:100vh;box-sizing:border-box}.content-sidebar{position:sticky;top:2rem;align-self:start;height:fit-content;min-width:0;text-align:end;padding-right:2rem;top:20vh}@media (max-height: 900px){.content-sidebar{top:4vh}}.content-panel{display:flex;flex-direction:column;align-items:center;min-width:0}.content-panel-inner{width:100%;box-sizing:border-box;max-width:calc(100vw - 2rem)}@media (min-width: 640px){.content-panel-inner{max-width:min(640px,100vw - 3rem)}}@media (min-width: 768px){.content-panel-inner{max-width:min(720px,100vw - 4rem)}}@media (min-width: 969px){.content-panel-inner{max-width:min(720px,100vw - 280px - 4rem)}}@media (min-width: 1200px){.content-panel-inner{max-width:min(1000px,100vw - 320px - 5rem)}}.section-header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.section-title{font-size:1.5rem;font-weight:600;color:#fff}.section-subtitle{font-size:.95rem;color:#c7d2e0}@media (max-width: 968px){.content-grid{grid-template-columns:1fr;gap:3rem}.content-sidebar{display:none;position:static}.content-panel-inner{max-width:calc(100vw - 3rem)}}*{margin:0;padding:0;box-sizing:border-box}html{overflow-x:clip}body{font-family:Funnel Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}b{font-weight:800}.app{min-height:100vh;max-width:100%;overflow-x:clip;background-image:radial-gradient(circle,#052310,#072613,#0a2916,#0d2d18,#10301b);color:#000;display:flex;flex-direction:column}.sidebar{background:#fff;width:100%;padding:1.5rem 1rem;order:2}.sidebar-content{display:flex;flex-direction:column;gap:2rem;max-width:100%}.profile-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.5rem 1rem;border:1px solid #e5e5e5;border-radius:8px}.open-badge{background:#000;color:#fff;padding:.5rem 1rem;border-radius:4px;font-size:.875rem;font-weight:600;margin-bottom:1rem;align-self:flex-start}.profile-image{margin-bottom:1rem}.profile-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#e5e5e5,#d0d0d0);margin:0 auto}.profile-name{font-size:1.25rem;font-weight:600;margin-bottom:.25rem}.profile-handle{font-size:.875rem;color:#666;margin-bottom:.25rem}.profile-location{font-size:.875rem;color:#666;margin-bottom:.5rem}.profile-role{font-size:.875rem;font-weight:500;margin-bottom:.75rem}.profile-experience{font-size:.75rem;color:#666;padding-top:.75rem;border-top:1px solid #e5e5e5;width:100%}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem}.nav-item{background:transparent;border:none;padding:.75rem 1rem;text-align:left;font-size:1rem;cursor:pointer;border-radius:4px;transition:background .2s ease}.nav-item:hover{background:#f5f5f5}.nav-item.active{background:#000;color:#fff}.bookmark-btn{background:transparent;border:1px solid #e5e5e5;padding:.75rem 1rem;border-radius:4px;font-size:1rem;cursor:pointer;transition:background .2s ease}.bookmark-btn:hover{background:#f5f5f5}.main-content{background-color:#020b18;flex:1;order:1;min-height:calc(100vh - 200px);justify-items:center}.main-content>*{padding:2rem 1rem}@media (min-width: 768px){.sidebar{width:280px;min-width:280px;padding:2rem 1.5rem;order:1;position:sticky;top:0;height:100vh;overflow-y:auto}.main-content{flex:1;order:2;min-height:100vh}.main-content>*{padding:3rem 2rem}.profile-avatar{width:100px;height:100px}}@media (min-width: 1200px){.sidebar{width:320px;min-width:320px}}
