.intro-container{align-items:center;background-color:#0a0a0a;cursor:default;display:flex;flex-direction:column;height:100vh;justify-content:center;overflow:hidden;padding:1rem;position:relative;transition:opacity 1.2s ease;width:100vw}.intro-text{bottom:-15px;max-width:90%;position:relative}.intro-name,.intro-text{text-align:center;z-index:3}.intro-name{color:#fff;font-family:JetBrains Mono,monospace;font-weight:700;letter-spacing:-.02em}@keyframes fadeIn{to{opacity:1}}canvas{z-index:1}.proceed-text{animation:fadeIn 2s ease forwards;bottom:5vh;color:silver;font-family:var(--font-body);font-size:1rem;font-weight:300;opacity:0;pointer-events:none;position:absolute;text-align:center;width:100%;z-index:3}*{box-sizing:border-box;margin:0;padding:0}#root,body,html{background:#000;height:100vh;overflow-x:hidden;overflow-y:auto;width:100vw}.fade-section{transition:opacity 1.5s ease}.fade-in{opacity:1}.fade-out{opacity:0;pointer-events:none}.intro-container .intro-skip-hint,.intro-container .intro-skip-hint span{background:#0000!important;border:none!important;box-shadow:none!important;color:#6a5acd!important;font-family:JetBrains Mono,monospace!important;font-size:15px!important;font-weight:400!important;line-height:1!important;margin:0!important;opacity:.55!important;padding:0!important;text-shadow:none!important}.intro-container .intro-skip-hint{pointer-events:none!important;position:absolute!important;right:24px!important;top:18px!important;z-index:20!important}*,body{scroll-behavior:smooth}body{background-color:#111;color:#ececec;font-family:Satoshi,sans-serif;font-family:var(--font-body);font-size:2.6rem;font-size:var(--text-base);font-weight:400;font-weight:var(--weight-normal);line-height:1.6;line-height:var(--line-normal);margin:0;overflow-x:hidden;padding:0}.about-tabs button,.nav-name,.resume-button,h1,h2,h3,section h2{color:#ececec;font-family:JetBrains Mono,monospace;font-family:var(--font-heading);font-weight:600;font-weight:var(--weight-bold);letter-spacing:-.02em;letter-spacing:var(--tracking-tight);line-height:1.2;line-height:var(--line-tight);margin:0 0 .75rem}h1{font-size:5rem;font-size:var(--text-5xl)}h2{font-size:1.875rem;font-size:var(--text-2xl)}h3{font-size:1.5rem;font-size:var(--text-xl)}a,button,input,li,p,textarea{font-family:Satoshi,sans-serif;font-family:var(--font-body);font-size:1.125rem;font-size:var(--text-md);font-weight:400;font-weight:var(--weight-normal);line-height:1.6;line-height:var(--line-normal)}span{font-family:JetBrains Mono,monospace;font-family:var(--font-heading);font-size:2.6rem;font-size:var(--text-base)}@media screen and (min-width:1024px){body{font-size:1.125rem;font-size:var(--text-md)}}:root{--font-body:"Satoshi",sans-serif;--font-heading:"JetBrains Mono",monospace;--weight-light:300;--weight-normal:400;--weight-medium:500;--weight-bold:600;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:2.60rem;--text-md:1.125rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:1.875rem;--text-3xl:2.5rem;--text-4xl:3rem;--text-5xl:5rem;--line-tight:1.2;--line-snug:1.35;--line-normal:1.6;--tracking-tight:-0.02em;--tracking-normal:0;--tracking-wide:0.03em}.main-website{background:#111;isolation:isolate;min-height:100vh;overflow-x:hidden;position:relative}.main-container{background:#0000;color:#ececec;min-height:100vh;overflow-x:clip;overflow-y:auto;padding:5vh 10vw 100px}.intro{display:flex;gap:2rem;margin-bottom:10rem}.intro-text2{align-items:center;gap:2rem;margin-left:7rem}.profile-img{border-radius:8px;float:left;height:400;margin-left:10rem;margin-right:2rem;margin-top:2.5rem;width:300px}.clear-fix{clear:both}.resume-button{background:#6a5acd;border-radius:5px;color:#000;display:inline-block;font-weight:700;margin-top:1rem;padding:10px 20px;text-decoration:none}.resume-button:hover{background-color:#968ecc}.about-section{margin-bottom:5rem;margin-top:10rem}.about-tabs button{background:#0000;border:1px solid #6a5acd;color:#6a5acd;cursor:pointer;font-weight:700;margin-right:1rem;padding:8px 16px}.about-tabs .active{background:#6a5acd;color:#000}.about-content{line-height:1.6;margin-bottom:10rem}.about-content h3{font-size:1.125rem;font-size:var(--text-md);margin-bottom:.1rem}.about-content p{font-size:.875rem;font-size:var(--text-sm);margin-bottom:1rem}.about{background-color:initial;color:var(--color-text);padding:3rem 2rem}.about h2{font-size:4rem;margin-bottom:.5rem}.about-blurb{color:#ccc;font-size:.9rem;line-height:1.3;margin-bottom:2rem;margin-right:20rem;max-width:850px}.about-layout{display:flex;flex-direction:row;flex-wrap:wrap;gap:2rem}.about-content{flex:1 1;min-width:280px}.about-info h3{color:#fff;font-size:.875rem;font-size:var(--text-sm);margin-top:1.5rem}.about-info p{color:#bbb;font-size:.9rem;line-height:1.1;margin:.5rem 0}.quote{font-size:1.125rem;font-size:var(--text-md);font-weight:500;font-weight:var(--weight-medium);margin-bottom:1rem}.about-image{flex-shrink:0;margin-top:-15rem;width:250px}.about-image img{border-radius:12px;object-fit:cover;width:100%}@media (max-width:768px){.about-layout{align-items:center;flex-direction:column}.about-image{margin-top:1.5rem;width:60%}}.skills-list{display:flex;flex-wrap:wrap;gap:1rem;list-style:none;padding:0}.skills-list li{background:#222;border:1px solid#6a5acd;border-radius:4px;padding:8px 16px}.skills h2{font-size:2.5rem;margin-bottom:40px;text-align:center}.skills-container{display:flex;flex-wrap:wrap;gap:40px;justify-content:center;margin-bottom:15rem}.skill-category{background-color:#1b1b1b;border-radius:12px;box-shadow:0 0 10px #0006;flex:1 1 220px;max-width:280px;min-width:220px;padding:20px;transition:transform .3s ease}.skill-category:hover{transform:translateY(-5px)}.skill-category h3{color:#6a5acd;font-size:1.3rem;margin-bottom:15px}.skill-category ul{list-style:none;margin:0;padding:0}.skill-category li{color:#ccc;font-size:1rem;font-weight:300;margin-bottom:10px}.skill-icon{height:20px;margin-bottom:-3px;margin-right:5px;width:20px}.top-nav{align-items:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#111111d9;border-bottom:1px solid #ffffff0d;display:flex;flex-wrap:wrap;gap:clamp(.75rem,2vw,1.5rem);justify-content:space-between;left:0;padding:12px clamp(1rem,4vw,2.5rem);position:fixed;top:0;width:100%;z-index:999}.nav-name{align-items:center;color:#ececec;display:inline-flex;font-size:clamp(1rem,2vw,1.2rem);font-weight:700;margin:0;text-decoration:none;white-space:nowrap}.nav-left{min-width:max-content}.nav-links{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem clamp(.85rem,2.2vw,2rem);justify-content:flex-end;list-style:none;margin:0;min-width:0;padding:0}.nav-links a{color:#ececec;font-size:clamp(.78rem,1.5vw,.95rem);font-weight:700;text-decoration:none;transition:color .3s ease;white-space:nowrap}.nav-links a:hover{color:#6a5acd}.top-nav ul{display:flex;flex-wrap:wrap;gap:.45rem clamp(.85rem,2.2vw,2rem);justify-content:flex-end;list-style:none;margin:0;padding:0}.top-nav a{color:#ececec;font-weight:400;text-decoration:none;transition:color .4s ease}.top-nav a:hover{color:#6a5acd}.main-container{padding-top:80px}.projects-section{margin-bottom:5rem}.projects{background-color:initial;padding:4rem 2rem}.section-title{font-size:2.2rem}.projects-grid{grid-gap:clamp(1rem,2.5vw,1.5rem);display:grid;gap:clamp(1rem,2.5vw,1.5rem);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}@media (min-width:768px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1180px){.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.project-link{color:inherit;display:block;min-height:100%;text-decoration:none}.hover-overlay{align-items:center;color:#d7d3ff;display:inline-flex;font-size:.86rem;font-weight:700;gap:.4rem;letter-spacing:0;margin-top:auto;transition:color .25s ease}.hover-overlay span{font-family:Satoshi,sans-serif;font-family:var(--font-body);font-size:1rem;transition:transform .25s ease}.project-card:hover .hover-overlay span{transform:translateX(4px)}.project-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:linear-gradient(145deg,hsla(0,0%,100%,.055),hsla(0,0%,100%,.014)),#18181acc;border:1px solid #6a5acd2e;border-radius:16px;box-shadow:0 14px 34px #00000047;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease}.project-card:hover{background:linear-gradient(145deg,#6a5acd1f,rgba(79,195,247,.034)),#18181ae0;border-color:#6a5acd94;box-shadow:0 20px 46px #40025c57;transform:translateY(-7px)}.project-image{aspect-ratio:16/9;background-position:50%;background-size:cover;min-height:180px;overflow:hidden;position:relative;transition:transform .45s ease,filter .45s ease}.project-image-artifact{background-position:center 34%}.project-image-car-build{background-position:center 62%}.project-image:after{background:linear-gradient(180deg,#0000000a,#00000080),linear-gradient(135deg,#6a5acd2e,#4fc3f70f);content:"";inset:0;opacity:.55;position:absolute;transition:opacity .3s ease}.project-image-overlay{align-items:flex-end;background:linear-gradient(0deg,#000000d1,#0000);color:#f7f7ff;display:flex;font-family:Satoshi,sans-serif;font-family:var(--font-body);font-size:.84rem;inset:auto 0 0;min-height:70%;opacity:0;padding:1rem;position:absolute;transform:translateY(10px);transition:opacity .28s ease,transform .28s ease;z-index:1}.project-card:hover .project-image-overlay{opacity:1;transform:translateY(0)}.project-content{display:flex;flex:1 1;flex-direction:column;padding:clamp(1rem,2vw,1.25rem)}.project-content h3{color:#fff;font-size:clamp(1.05rem,2vw,1.28rem);margin-bottom:.5rem}.project-content p{color:#cfcfd7;font-size:.88rem;line-height:1.5;margin:0 0 .8rem}.project-content .tech{color:#9f96dd;font-size:.8rem;font-weight:600;margin-bottom:1rem}.project-content a{color:#4fc3f7;display:inline-block;font-weight:500;margin-top:.8rem;text-decoration:none;transition:color .3s ease}.project-card:hover .project-image{filter:saturate(1.08);transform:scale(1.035)}.project-card:hover .project-image:after{opacity:.72}.project-content a:hover{color:#81d4fa}.initiatives{background-color:#111;color:#ececec;padding:4rem 2rem}.initiatives-grid{display:flex;flex-direction:column;gap:2rem}.initiative-card{background-color:#1a1a1a;border-radius:12px;box-shadow:0 4px 12px #0000004d;padding:1.5rem;transition:transform .3s ease}.initiative-card:hover{transform:translateY(-5px)}.initiative-type{color:#4fc3f7;display:inline-block;font-size:.9rem;font-weight:500;margin-top:.5rem}.pps-section{margin-bottom:15rem}.workshops{background-color:initial;padding:4rem 2rem}.workshops h2{font-size:2rem;margin-bottom:2rem;text-align:center}.workshop-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.workshop-card{background:#1a1a1a;border:1px solid #333;border-radius:12px;box-shadow:0 0 0 #0000;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.workshop-card:hover{border-color:#6a5acd;box-shadow:0 10px 20px rgba(64,2,92,.438);transform:translateY(-5px)}.card-content h3{color:#fff;font-size:1.25rem;margin-bottom:.5rem}.card-content p{color:#ccc;font-size:.95rem;margin-bottom:1rem}.tag{background-color:#6a5acd;border-radius:100px;color:#000;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.tag.research{background-color:#ff57a2}.view-link{color:#00c3ff;font-size:.85rem;text-decoration:none;transition:color .2s ease}.view-link:hover{color:#fff;text-decoration:underline}.gallery-section{margin-bottom:5rem}.gallery{background-color:#111;color:#ececec;overflow:hidden;padding:4rem 2rem}.gallery-title{font-size:2rem;margin-bottom:2rem;text-align:center}.gallery-carousel{display:flex;overflow-x:auto;position:relative;scroll-snap-type:x mandatory;width:100%}.gallery-track{display:flex;gap:1rem}.gallery-slide{background-color:#1c1c1c;border-radius:1rem;box-shadow:0 4px 12px #0000004d;flex:0 0 80%;overflow:hidden;position:relative;scroll-snap-align:start;transition:transform .3s ease}.gallery-slide img{display:block;height:auto;object-fit:cover;width:100%}.caption{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background-color:#000000b3;bottom:0;color:#eee;font-size:.95rem;padding:1rem;position:absolute;text-align:center;width:100%}.contact-section{margin-bottom:5rem;max-width:600px}.contact{background-color:initial;color:#ececec;padding:4rem 2rem;text-align:center}.contact h2{font-size:2.5rem;margin-bottom:.5rem}.contact-subtext{color:#aaa;font-size:1rem;line-height:1.6;margin:0 auto 2rem;max-width:620px}.contact-form{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:linear-gradient(145deg,hsla(0,0%,100%,.055),hsla(0,0%,100%,.015)),#16161894;border:1px solid #6a5acd2e;border-radius:16px;box-shadow:0 18px 42px #0000003d;display:flex;flex-direction:column;gap:1.2rem;margin:0 auto;max-width:700px;padding:clamp(1rem,3vw,1.5rem)}.form-row{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.form-row input{flex:1 1;min-width:240px}.contact-form input,.contact-form textarea{background-color:#0c0c0ed1;border:1px solid #6a5acd2e;border-radius:8px;color:#ececec;padding:.9rem 1.2rem;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease;width:100%}.contact-form input:focus,.contact-form textarea:focus{background-color:#121216f0;border-color:#6a5acd;box-shadow:0 0 0 3px #6a5acd29,0 0 22px #6a5acd14;outline:none}.submit-button{background-color:#6a5acd;border:none;border-radius:8px;box-shadow:0 10px 24px #6a5acd2e;color:#fff;cursor:pointer;font-size:1rem;padding:1rem 2rem;transition:transform .22s ease,background-color .22s ease,box-shadow .22s ease}.submit-button:hover{background-color:#5844d8;box-shadow:0 14px 32px #6a5acd4d;transform:translateY(-2px)}.submit-button:disabled{box-shadow:0 8px 18px #6a5acd24;cursor:not-allowed;opacity:.68;transform:none}.submit-button:active{box-shadow:0 8px 18px #6a5acd38;transform:translateY(0)}.form-status{color:#aaa;font-size:.88rem;line-height:1.45;margin:-.2rem 0 0;text-align:center}.form-status.success{color:#6a5acd}.form-status.error{color:#ffb3b3}.social-links{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2rem}.social-links a{color:#ececec;text-decoration:none}.social-email-link{border-bottom:1px solid #6a5acd57;color:#b8b5d6;font-size:.8rem;line-height:1;transition:color .2s ease,border-color .2s ease;white-space:nowrap}.social-email-link:hover{border-color:#6a5acdb8;color:#fff}.social-icon-button{align-items:center;background:linear-gradient(145deg,#ffffff12,hsla(0,0%,100%,.018)),#161618b8;border:1px solid #6a5acd47;border-radius:999px;box-shadow:0 10px 24px #00000038;color:#ececec;display:inline-flex;font-size:1.1rem;height:46px;justify-content:center;pointer-events:auto;position:relative;transition:transform .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;width:46px;z-index:1}.social-icon-button svg{fill:currentColor;display:block;height:1.25rem;pointer-events:none;transition:transform .22s ease,color .22s ease,filter .22s ease;width:1.25rem}.social-icon-button:hover{background:linear-gradient(145deg,#6a5acd2e,rgba(79,195,247,.052)),#161618e0;border-color:#6a5acdb8;box-shadow:0 14px 34px #40025c52,0 0 24px #6a5acd33;color:#fff;transform:translateY(-4px)}.social-icon-button:hover svg{color:#d7fff3;filter:drop-shadow(0 0 8px rgba(79,195,247,.42));transform:translateY(-1px) scale(1.08)}.social-icon-button:active{transform:translateY(-1px)}.social-links i{margin-right:0}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.site-footer{color:#aaa;font-size:.8rem;opacity:.55;padding:1.5rem 1rem 2rem;text-align:center}.site-footer p{margin:0}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#0a0a0a}::-webkit-scrollbar-thumb{background:#6a5acd;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#8a79ff}*{scrollbar-color:#6a5acd #0a0a0a;scrollbar-width:thin}.beyond{padding:4rem 2rem}.fade-in{position:relative;z-index:1}.section-title{border-bottom:2px solid #444;display:inline-block;font-size:2.5rem;margin-bottom:2rem;padding-bottom:.5rem;text-align:center}.beyond-grid{grid-gap:2rem;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.beyond-card{background:#1a1a1a;border:1px solid #2a2a2a;box-shadow:0 0 0 #0000;padding:1.5rem;transition:transform .3s ease,box-shadow .3s ease}.beyond-card:hover{box-shadow:0 8px 20px rgba(78,5,138,.678)}.beyond-icon{font-size:2rem;margin-bottom:1rem}.beyond-content h3{color:#6a5acd;font-size:1.3rem;margin-bottom:.5rem}.beyond-content p{color:#ccc;font-size:.95rem;line-height:1.5}.fade-in{animation:fadeInPage .6s ease-in forwards;opacity:0}@keyframes fadeInPage{to{opacity:1}}body,html{overflow-x:hidden}body,html,img{max-width:100%}h1{font-size:clamp(2.75rem,7vw,5rem);font-size:clamp(2.75rem,7vw,var(--text-5xl))}.about h2,.section-title,h2{font-size:clamp(2rem,4vw,3.25rem)}h3{font-size:clamp(1.15rem,2.4vw,1.5rem);font-size:clamp(1.15rem,2.4vw,var(--text-xl))}.main-container{margin:0 auto;padding:clamp(88px,9vw,112px) clamp(1rem,4vw,2rem) clamp(4rem,7vw,6rem);width:min(100%,1180px)}.about,.beyond,.contact,.experience,.intro,.projects,.skills,.workshops{width:100%}.intro{grid-gap:clamp(2rem,6vw,4.5rem);align-items:center;display:grid;gap:clamp(2rem,6vw,4.5rem);grid-template-columns:minmax(220px,320px) minmax(0,1fr);margin-bottom:clamp(3rem,7vw,5.5rem);min-height:clamp(540px,72vh,760px)}.intro-text2{margin-left:0;max-width:680px}.intro-text2 p{max-width:620px}.profile-img{aspect-ratio:3/4;float:none;height:auto;justify-self:center;margin:0;object-fit:cover;width:min(100%,300px)}.clear-fix{display:none}.about,.beyond,.contact,.experience,.projects,.skills,.workshops{padding:clamp(2.75rem,6vw,4.5rem) 0}.about-blurb{margin-bottom:clamp(1.75rem,4vw,2.5rem);margin-right:0;max-width:860px}.about-layout{grid-gap:clamp(2rem,5vw,4rem);align-items:start;display:grid;gap:clamp(2rem,5vw,4rem);grid-template-columns:minmax(0,1fr) minmax(190px,260px)}.about-content{margin-bottom:0;min-width:0}.about-tabs{display:flex;flex-wrap:wrap;gap:.75rem}.about-tabs button{margin-right:0}.about-image{justify-self:end;margin-top:-1.25rem;width:min(100%,260px)}.about-image img{aspect-ratio:4/5}.certification-list{margin:.5rem 0 0;padding-left:1.2rem}.certification-list li{color:#bbb;font-size:.95rem;line-height:1.45;margin-bottom:.35rem}.experience{contain:layout paint;overflow:visible;text-align:center}.experience-timeline{grid-gap:clamp(1.25rem,3vw,2rem);display:grid;gap:clamp(1.25rem,3vw,2rem);margin-top:clamp(1.5rem,4vw,2.5rem);overflow:visible;padding-block:.5rem;padding-inline:clamp(.25rem,2vw,1rem);position:relative;text-align:left}.experience-timeline:before{background:linear-gradient(180deg,#0000,#6a5acd8c,#4fc3f738,#0000);bottom:0;content:"";left:50%;position:absolute;top:0;transform:translateX(-50%);width:1px}.experience-card{opacity:1;position:relative;transform:none;transform-origin:center;width:min(47%,540px);will-change:transform,opacity}.experience-card.left{justify-self:start;padding-right:clamp(1.5rem,4vw,3rem)}.experience-card.right{justify-self:end;padding-left:clamp(1.5rem,4vw,3rem)}.experience-card:before{background:#6a5acd;border-radius:50%;box-shadow:0 0 14px #6a5acd94;content:"";height:10px;position:absolute;top:1.6rem;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;width:10px}.experience-card.left:before{right:-5px}.experience-card.right:before{left:-5px}.experience-card:hover:before{background:#8a79ff;box-shadow:0 0 24px #6a5acddb,0 0 42px #4fc3f72e;transform:scale(1.28)}.experience-card-inner{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:linear-gradient(145deg,hsla(0,0%,100%,.065),hsla(0,0%,100%,.018)),#161618c7;border:1px solid #6a5acd47;border-radius:16px;box-shadow:0 16px 38px #00000057;height:100%;padding:clamp(1.1rem,2.4vw,1.5rem);transform:translateZ(0);transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease}.experience-card-inner:hover{background:linear-gradient(145deg,#6a5acd24,rgba(79,195,247,.052)),#161618e0;border-color:#6a5acdad;box-shadow:0 22px 48px #40025c5c,0 0 26px #6a5acd14;transform:translateY(-6px)}.experience-meta span{color:#9f96dd;display:inline-block;font-family:JetBrains Mono,monospace;font-family:var(--font-heading);font-size:.78rem;letter-spacing:0;margin-bottom:.65rem}.experience-card h3{color:#fff;font-size:clamp(1.15rem,2vw,1.35rem);margin-bottom:.2rem}.experience-organization{color:#6a5acd;font-size:.98rem;font-weight:600;margin:0 0 .15rem}.experience-location{color:#8c8c98;font-size:.82rem;line-height:1.35;margin:0 0 .85rem}.experience-achievements p,.experience-description{color:#ccc;font-size:.92rem;line-height:1.5}.experience-description{margin:0 0 1rem}.experience-achievements{grid-gap:.5rem;display:grid;gap:.5rem;margin:0 0 1rem}.experience-achievements p{background:hsla(0,0%,100%,.028);border-left:2px solid #6a5acd80;border-radius:0 8px 8px 0;margin:0;padding:.55rem .65rem .55rem .9rem;position:relative}.experience-tags{display:flex;flex-wrap:wrap;gap:.5rem}.experience-tags span{align-items:center;background:#6a5acd1f;border:1px solid #6a5acd47;border-radius:999px;color:#d7d3ff;display:inline-flex;font-family:Satoshi,sans-serif;font-family:var(--font-body);font-size:.74rem;padding:.28rem .62rem}.skills-container{grid-gap:clamp(1rem,3vw,1.75rem);display:grid;gap:clamp(1rem,3vw,1.75rem);grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));margin-bottom:clamp(3rem,7vw,5rem)}.skill-category{height:100%;max-width:none;min-width:0}.beyond-grid,.projects-grid,.workshop-grid{gap:clamp(1rem,3vw,1.75rem);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.project-card{min-height:100%}.project-image{min-height:190px;width:100%}.project-content{min-width:0;padding:clamp(1rem,2.5vw,1.5rem)}.project-content .tech{margin-bottom:1.5rem}.beyond-card,.workshop-card{height:100%}.contact-form,.social-links{width:min(100%,720px)}.form-row input{min-width:min(100%,240px)}.top-nav{box-sizing:border-box;gap:1rem}.nav-links,.top-nav ul{column-gap:clamp(.9rem,2vw,1.75rem);flex-wrap:wrap;row-gap:.5rem}@media (max-width:1024px){.main-container{width:min(100%,960px)}.intro{grid-template-columns:minmax(200px,280px) minmax(0,1fr);min-height:auto;padding-block:clamp(3rem,7vw,5rem)}.about-layout{grid-template-columns:minmax(0,1fr) minmax(170px,220px)}}@media (max-width:820px){.top-nav{align-items:center;justify-content:center;padding:10px clamp(.85rem,4vw,1.25rem);row-gap:.45rem}.nav-left{flex:1 1 100%;text-align:center}.nav-links,.top-nav ul{gap:.45rem clamp(.7rem,2.5vw,1.2rem);justify-content:center;width:100%}.top-nav a{font-size:clamp(.76rem,2vw,.9rem)}.main-container{padding-top:142px}.about-layout,.intro{grid-template-columns:1fr}.intro{gap:1.75rem;justify-items:center;margin-bottom:1.5rem;padding-block:2.5rem 3.5rem;text-align:center}.intro-text2{max-width:620px}.profile-img{width:min(72vw,280px)}.about-image{justify-self:center;width:min(58vw,240px)}.experience-timeline{gap:1.25rem}.experience-timeline:before{left:.35rem}.experience-card,.experience-card.left,.experience-card.right{justify-self:stretch;padding-left:1.6rem;padding-right:0;width:100%;will-change:transform,opacity}.experience-card.left:before,.experience-card.right:before{left:0;right:auto}.project-card{flex-direction:column}.project-image{min-height:220px;width:100%}}@media (max-width:560px){a,button,input,li,p,textarea{font-size:1rem}.top-nav{padding:9px .8rem;position:fixed}.nav-name{font-size:.96rem}.nav-links,.top-nav ul{gap:.4rem .7rem}.top-nav a{font-size:.76rem}.main-container{padding:132px 1rem 3.5rem}.intro{padding-block:2rem 2.75rem}.resume-button,.submit-button{text-align:center;width:100%}.about,.beyond,.contact,.experience,.projects,.skills,.workshops{padding:2.5rem 0}.about-tabs button{flex:1 1 140px}.beyond-grid,.projects-grid,.skills-container,.workshop-grid{grid-template-columns:1fr}.project-image{min-height:190px}.hover-overlay{display:inline-block;margin-top:.75rem;opacity:1;position:static;transform:none}.form-row{gap:1.2rem}.social-links{gap:.85rem 1rem}}@media (max-width:430px){.top-nav{padding-inline:.65rem}.nav-links,.top-nav ul{gap:.35rem .58rem}.top-nav a{font-size:.7rem}.main-container{padding-top:128px}}@media (max-width:360px){.nav-name{font-size:.9rem}.top-nav a{font-size:.66rem}.nav-links,.top-nav ul{gap:.3rem .48rem}.main-container{padding-top:124px}}@media (prefers-reduced-motion:reduce){.experience-card,.experience-card-inner{transform:none!important;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}}.beyond{background:#0000;color:#ececec;padding:clamp(2.75rem,6vw,4.5rem) 0;position:relative}.beyond-heading{margin-bottom:clamp(1.5rem,4vw,2.25rem);max-width:760px}.beyond-heading .section-title{margin-bottom:.75rem}.beyond-heading p{color:#aaa;font-size:.98rem;line-height:1.55;margin:0;max-width:680px}.beyond-grid{grid-gap:clamp(1rem,2.2vw,1.35rem);display:grid;gap:clamp(1rem,2.2vw,1.35rem);grid-template-columns:repeat(3,minmax(0,1fr))}.beyond-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:linear-gradient(145deg,hsla(0,0%,100%,.055),hsla(0,0%,100%,.015)),#161618c7;border:1px solid #6a5acd33;border-radius:16px;box-shadow:0 14px 34px #00000047;display:flex;flex-direction:column;min-height:100%;overflow:hidden;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease,background .28s ease}.beyond-card:hover{background:linear-gradient(145deg,#6a5acd1f,rgba(79,195,247,.035)),#161618db;border-color:#6a5acd8f;box-shadow:0 18px 42px #40025c52;transform:translateY(-6px)}.beyond-image{aspect-ratio:16/10;background-color:#171717;background-image:linear-gradient(135deg,#6a5acd38,#4fc3f714);background-position:50%;background-size:cover;min-height:168px;overflow:hidden;position:relative}.beyond-image:before{background:inherit;background-position:50%;background-size:cover;content:"";inset:0;position:absolute;transform:scale(1);transition:transform .45s ease}.beyond-image:after{background:linear-gradient(180deg,#0000000d,#0000006b),linear-gradient(135deg,#6a5acd3d,#4fc3f714);content:"";inset:0;opacity:.42;position:absolute;transition:opacity .3s ease}.beyond-card:hover .beyond-image:before{transform:scale(1.06)}.beyond-card:hover .beyond-image:after{opacity:.62}.beyond-image-caption{align-items:flex-end;background:linear-gradient(0deg,#000000d1,#0000);color:#f5f5ff;display:flex;inset:auto 0 0;min-height:72%;opacity:0;padding:1rem;position:absolute;transform:translateY(12px);transition:opacity .28s ease,transform .28s ease;z-index:1}.beyond-card:hover .beyond-image-caption{opacity:1;transform:translateY(0)}.beyond-image-caption span{font-family:var(--font-body);font-size:.82rem;line-height:1.35}.beyond-content{display:flex;flex:1 1;flex-direction:column;padding:clamp(1rem,2.2vw,1.25rem)}.beyond-label{color:#9f96dd;font-size:.76rem;font-weight:600;letter-spacing:.04em;margin:0 0 .45rem;text-transform:uppercase}.beyond-content h3{color:#fff;font-size:clamp(1.05rem,2vw,1.25rem);margin-bottom:.55rem}.beyond-content p:not(.beyond-label){color:#c9c9d1;flex:1 1;font-size:.9rem;line-height:1.5;margin:0 0 1rem}.beyond-tags{display:flex;flex-wrap:wrap;gap:.45rem}.beyond-tags span{align-items:center;background:#6a5acd1c;border:1px solid #6a5acd42;border-radius:999px;color:#d7d3ff;display:inline-flex;font-family:var(--font-body);font-size:.72rem;padding:.25rem .58rem}@media (max-width:1024px){.beyond-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.beyond-heading{margin-bottom:1.25rem}.beyond-grid{grid-template-columns:1fr}.beyond-image{min-height:180px}.beyond-image-caption{opacity:1;transform:none}}.portfolio-chatbot{bottom:clamp(1rem,3vw,1.5rem);font-family:sans-serif;font-family:var(--font-body,sans-serif);position:fixed;right:clamp(1.65rem,4vw,2.75rem);z-index:1200}.chatbot-toggle{background:linear-gradient(145deg,#6a5acd38,#4fc3f70d),#121216e6;border:1px solid #6a5acd7a;border-radius:999px;box-shadow:0 14px 34px #0000004d,0 0 22px #6a5acd29;color:#f4f3ff;cursor:pointer;font-size:.9rem;font-weight:700;padding:.78rem 1.1rem;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.chatbot-toggle:hover{border-color:#6a5acdc7;box-shadow:0 18px 40px #00000057,0 0 28px #6a5acd3d;transform:translateY(-3px)}.chatbot-attention{animation:chatbotAttentionPulse 1.35s ease-in-out 4}@keyframes chatbotAttentionPulse{0%,to{box-shadow:0 14px 34px #0000004d,0 0 18px #6a5acd24;transform:translateY(0) scale(1)}50%{box-shadow:0 18px 42px #00000057,0 0 34px #6a5acd57;transform:translateY(-2px) scale(1.035)}}.chatbot-panel{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:linear-gradient(145deg,hsla(0,0%,100%,.055),hsla(0,0%,100%,.014)),#121216f5;border:1px solid #6a5acd4d;border-radius:16px;bottom:calc(100% + .85rem);box-shadow:0 24px 58px #00000075,0 0 28px #6a5acd1f;display:flex;flex-direction:column;max-height:min(72vh,500px);overflow:hidden;position:absolute;right:0;transform-origin:bottom right;width:min(92vw,360px)}.chatbot-header{align-items:center;border-bottom:1px solid #ffffff14;display:flex;gap:1rem;justify-content:space-between;padding:.9rem 1rem}.chatbot-header span{color:#fff;font-size:.95rem;font-weight:800}.chatbot-header p{color:#9f96dd;font-size:.75rem;margin:.16rem 0 0}.chatbot-header button{background:hsla(0,0%,100%,.045);border:1px solid #6a5acd40;border-radius:999px;color:#d7d3ff;cursor:pointer;font-size:.74rem;padding:.38rem .62rem}.chatbot-messages{display:flex;flex:1 1;flex-direction:column;gap:.62rem;max-height:210px;overflow-y:auto;padding:.9rem 1rem;scroll-behavior:smooth}.chatbot-message{border-radius:14px;color:#ececec;font-size:.84rem;line-height:1.45;max-width:88%;padding:.62rem .72rem}.chatbot-message.assistant{align-self:flex-start;background:hsla(0,0%,100%,.045);border:1px solid #6a5acd2e}.chatbot-message.user{align-self:flex-end;background:#6a5acd52}.chatbot-starters{display:flex;flex-wrap:wrap;gap:.45rem;padding:0 1rem .8rem}.chatbot-starters button{background:#6a5acd17;border:1px solid #6a5acd38;border-radius:999px;color:#d7d3ff;cursor:pointer;font-size:.72rem;padding:.42rem .58rem}.chatbot-input-row{border-top:1px solid #ffffff14;display:flex;gap:.55rem;padding:.85rem 1rem 1rem}.chatbot-input-row input{background:#0c0c0ed6;border:1px solid #6a5acd33;border-radius:10px;color:#ececec;flex:1 1;min-width:0;outline:none;padding:.68rem .72rem}.chatbot-input-row input:focus{border-color:#6a5acdad;box-shadow:0 0 0 3px #6a5acd1f}.chatbot-input-row button{background:#6a5acd;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;padding:.68rem .78rem}.chatbot-input-row button:disabled,.chatbot-starters button:disabled{cursor:not-allowed;opacity:.58}@media (max-width:480px){.portfolio-chatbot{bottom:.85rem;right:1rem}.chatbot-panel{max-height:min(70vh,480px);width:calc(100vw - 1.7rem)}.chatbot-messages{max-height:190px}}@media (prefers-reduced-motion:reduce){.chatbot-attention{animation:none}.chatbot-message,.chatbot-panel,.chatbot-toggle{transition:none}}*,:after,:before{box-sizing:border-box}.project-shell,body{background:#111}.project-shell{isolation:isolate;min-height:100vh;overflow-x:hidden;position:relative}.particle-background{height:100%;inset:0;opacity:.85;pointer-events:none;position:fixed;width:100%;z-index:0}.project-shell .top-nav{box-sizing:border-box}.project-page{color:#e8e8ec;font-family:Satoshi,Manrope,sans-serif;margin:0 auto;min-height:100vh;padding:clamp(112px,10vw,132px) clamp(1rem,4vw,2rem) clamp(4rem,7vw,6rem);position:relative;width:min(100%,1040px);z-index:1}.project-hero{grid-gap:clamp(1.5rem,5vw,3.25rem);align-items:center;border-bottom:1px solid #ffffff14;display:grid;gap:clamp(1.5rem,5vw,3.25rem);grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);padding-bottom:clamp(2rem,5vw,3.25rem)}.project-eyebrow{color:#9f96dd;font-size:.78rem;font-weight:700;letter-spacing:.08em;margin:0 0 .75rem;text-transform:uppercase}.project-hero h1{color:#fff;font-size:clamp(2.3rem,6vw,4.3rem);letter-spacing:0;line-height:1.04;margin:0 0 1rem;max-width:760px}.project-summary{color:#d4d4dc;font-size:clamp(1rem,2vw,1.18rem);line-height:1.65;margin:0;max-width:720px}.project-tech-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.35rem}.project-links a,.project-tech-pills span,.snapshot-item{background:#6a5acd1a;border:1px solid #6a5acd47}.project-tech-pills span{border-radius:999px;color:#d7d3ff;font-size:.78rem;font-weight:650;padding:.34rem .68rem}.project-hero-media{background:linear-gradient(145deg,#ffffff0a,hsla(0,0%,100%,.012)),#171717;border:1px solid #6a5acd38;border-radius:18px;box-shadow:0 18px 44px #00000052;overflow:hidden}.case-image-grid img,.case-image-grid video,.project-hero-media img{display:block;transition:transform .35s ease,filter .35s ease;width:100%}.project-hero-media img{aspect-ratio:16/10;object-fit:cover}.case-image-grid figure:hover img,.case-image-grid figure:hover video,.project-hero-media:hover img{filter:saturate(1.06);transform:scale(1.025)}.project-snapshot{border-bottom:1px solid #ffffff14;display:flex;flex-wrap:wrap;gap:.75rem;padding:clamp(1.25rem,4vw,2rem) 0}.snapshot-item{border-radius:12px;display:inline-flex;flex-direction:column;min-width:min(100%,170px);padding:.72rem .9rem}.snapshot-item span{color:#9b9baa;font-family:inherit;font-family:var(--font-body,inherit);font-size:.75rem;font-weight:650;text-transform:uppercase}.snapshot-item strong{color:#fff;font-size:.94rem;line-height:1.35}.case-section{border-bottom:1px solid #ffffff14;padding:clamp(1.6rem,4vw,2.35rem) 0}.case-section h2{color:#fff;font-size:clamp(1.3rem,3vw,1.9rem);line-height:1.2;margin:0 0 .85rem}.case-section p{color:#d0d0d5;font-size:1rem;line-height:1.72;margin:0 0 .85rem;max-width:850px}.case-section p:last-child{margin-bottom:0}.case-list{grid-gap:.7rem;display:grid;gap:.7rem;margin:0;max-width:900px;padding:0}.case-list li{color:#d4d4dc;font-size:.98rem;line-height:1.62;list-style:none;padding-left:1.3rem;position:relative}.case-list li:before{background:#6a5acd;border-radius:50%;box-shadow:0 0 12px #6a5acd8c;content:"";height:7px;left:0;position:absolute;top:.72rem;width:7px}.case-image-grid{grid-gap:clamp(1rem,3vw,1.4rem);display:grid;gap:clamp(1rem,3vw,1.4rem);grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));margin-top:1rem}.case-image-grid figure{background:#171717;border:1px solid #6a5acd2e;border-radius:16px;box-shadow:0 14px 34px #0000003d;margin:0;overflow:hidden}.case-image-grid img,.case-image-grid video{background:linear-gradient(145deg,hsla(0,0%,100%,.035),hsla(0,0%,100%,.012)),#171717;height:clamp(240px,42vw,460px);object-fit:contain}.case-image-grid figcaption{border-top:1px solid #ffffff0f;color:#aaa;font-size:.85rem;line-height:1.45;padding:.75rem .95rem}.project-links{display:flex;flex-wrap:wrap;gap:.85rem;padding-top:clamp(1.4rem,4vw,2rem)}.project-links a{align-items:center;border-radius:999px;color:#f4f2ff;display:inline-flex;font-size:.9rem;font-weight:650;min-height:38px;padding:.56rem .9rem;text-decoration:none;transition:transform .22s ease,border-color .22s ease,background .22s ease}.project-links a:hover{background:#6a5acd2e;border-color:#6a5acd9e;transform:translateY(-2px)}@media (max-width:860px){.project-hero{grid-template-columns:1fr}.project-hero-media{max-width:680px}}@media (max-width:768px){.project-page{padding:112px 1rem 3.5rem}.snapshot-item{flex:1 1 150px}}@media (max-width:560px){.project-page{padding-top:1.25rem}.project-shell .top-nav{position:sticky}.project-links{flex-direction:column}.project-links a{justify-content:center}}
/*# sourceMappingURL=main.823f7354.css.map*/