.nav__list{display:flex;margin-right:1.5em}.nav__list-item{margin-left:1.5em}.app .nav__hamburger{display:none}.nav__theme{margin-top:.4em}@keyframes blink{0%{opacity:1}50%{opacity:0}to{opacity:1}}.nav__list-item--news a{animation:blink 1.5s infinite;color:#ff4500}.nav__list-item--news a:hover{animation:none;color:tomato}@media (max-width:600px){.nav__list{align-items:center;display:none;flex-direction:column;height:100%;inset:0;justify-content:center;position:fixed;width:100%;z-index:2}.nav__list-item{margin:.5em 0}.app .nav__hamburger{display:flex;margin-left:.8em;z-index:2}}.header{height:8em;justify-content:space-between;margin:0 auto;max-width:1100px;width:95%}@media (max-width:600px){.header{height:6em}}.hero-section{align-items:center;background:var(--clr-bg);display:flex;flex-direction:column;justify-content:center;min-height:100vh;overflow:hidden;padding:2rem;position:relative}.hero-content{max-width:800px;text-align:center;z-index:2}.hero-name{color:var(--clr-fg-alt);font-size:5rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.5rem;text-shadow:0 4px 12px #0000004d}.hero-role{color:var(--clr-fg);font-size:2rem;font-weight:500;margin-bottom:2rem;text-shadow:0 2px 8px #0003}.hero-description{color:var(--clr-fg);font-size:1.2rem;line-height:1.6;margin-bottom:1rem;opacity:.9;text-shadow:0 1px 4px #0003}.hero-social{display:flex;gap:1.5rem;justify-content:center;margin-top:2rem}.hero-social .link--icon{color:var(--clr-primary);font-size:2rem;transition:all .3s ease}.hero-social .link--icon:hover{color:var(--clr-fg-alt);transform:scale(1.2) translateY(-3px)}.scroll-indicator{background:none;border:none;bottom:3rem;color:var(--clr-primary);cursor:pointer;font-size:2rem;left:50%;position:absolute;transform:translateX(-50%);transition:all .3s ease;z-index:2}.scroll-indicator:hover{color:var(--clr-fg-alt);transform:translateX(-50%) translateY(5px)}.bounce{animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@media (max-width:900px){.hero-name{font-size:3.5rem}.hero-role{font-size:1.5rem}.hero-description{font-size:1rem}}@media (max-width:600px){.hero-section{padding:1rem}.hero-name{font-size:2.5rem}.hero-role{font-size:1.2rem}.hero-description{font-size:.95rem}.hero-social .link--icon{font-size:1.5rem}}.role-selector{margin:0 auto;max-width:1200px;padding:4rem 2rem}.role-selector__subtitle{color:var(--clr-fg);font-size:1.1rem;margin-bottom:3rem;opacity:.8;text-align:center}.role-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:2rem}.role-card{border:2px solid #0000;cursor:pointer;overflow:hidden;padding:2.5rem;position:relative;text-align:center;transition:all .3s ease}.role-card:hover{border-color:var(--clr-primary);transform:translateY(-8px)}.role-card__icon{filter:grayscale(30%);font-size:4rem;margin-bottom:1rem;transition:all .3s ease}.role-card:hover .role-card__icon{filter:grayscale(0);transform:scale(1.1) rotate(5deg)}.role-card__title{color:var(--clr-fg-alt);font-size:1.5rem;font-weight:700;margin-bottom:1rem;transition:all .3s ease}.role-card:hover .role-card__title{color:var(--clr-primary)}.role-card__description{color:var(--clr-fg);font-size:1rem;line-height:1.6;margin-bottom:1.5rem;opacity:.9}.role-card__cta{color:var(--clr-primary);font-size:.95rem;font-weight:600;opacity:0;transform:translateY(10px);transition:all .3s ease}.role-card:hover .role-card__cta{opacity:1;transform:translateY(0)}.role-card:focus{outline:2px solid var(--clr-primary);outline-offset:4px}@media (max-width:900px){.role-grid{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.role-card{padding:2rem}.role-card__icon{font-size:3rem}.role-card__title{font-size:1.3rem}}@media (max-width:600px){.role-selector{padding:3rem 1rem}.role-grid{gap:1rem;grid-template-columns:1fr}.role-card{padding:1.5rem}.role-selector__subtitle{font-size:1rem}}.project-showcase{margin:0 auto;max-width:1400px;padding:4rem 2rem}.project-showcase__header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:3rem}.btn--back{background:var(--clr-bg-alt);border:1px solid var(--clr-primary);color:var(--clr-fg);font-weight:500;padding:.7em 1.5em}.btn--back:hover{background:var(--clr-primary);color:var(--clr-bg)}.project-showcase__role-info{align-items:center;display:flex;flex-wrap:wrap;gap:1.5rem}.role-badge{align-items:center;background:var(--clr-primary);border-radius:50px;box-shadow:var(--shadow);color:var(--clr-bg);display:flex;font-size:1.1rem;font-weight:600;gap:.8rem;padding:.8rem 1.5rem}.role-badge__icon{font-size:1.5rem}.btn-resume{white-space:nowrap}.resume-hint{color:var(--clr-fg);font-size:.75rem;margin-top:.5rem;max-width:200px;opacity:.6;text-align:center}.project-showcase__subtitle{color:var(--clr-fg);font-size:1.1rem;margin-bottom:3rem;opacity:.8;text-align:center}.projects-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:2rem}.project-card{display:flex;flex-direction:column;min-height:300px;padding:2rem;position:relative}.project-card--featured{border:2px solid var(--clr-primary);grid-column:span 1}.project-card__badge{background:var(--clr-primary);border-radius:20px;color:var(--clr-bg);font-size:.75rem;font-weight:700;letter-spacing:.5px;padding:.4rem 1rem;position:absolute;right:1rem;text-transform:uppercase;top:1rem}.project-card__title{color:var(--clr-fg-alt);font-size:1.5rem;font-weight:700;margin-bottom:1rem;margin-top:.5rem}.project-card__description{color:var(--clr-fg);flex-grow:1;font-size:.95rem;line-height:1.6;margin-bottom:1.5rem;opacity:.9}.project-card__stack{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tech-tag{background:var(--clr-bg-alt);border:1px solid var(--clr-primary);border-radius:20px;color:var(--clr-fg-alt);font-size:.8rem;font-weight:500;padding:.4rem .9rem;transition:all .2s ease}.tech-tag:hover{background:var(--clr-primary);color:var(--clr-bg);transform:translateY(-2px)}.project-card__links{display:flex;gap:1rem;margin-top:auto}.project-link{align-items:center;background:#0000;border:2px solid var(--clr-primary);border-radius:8px;color:var(--clr-primary);display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.6rem 1.2rem;text-decoration:none;transition:all .3s ease}.project-link:hover{background:var(--clr-primary);box-shadow:0 4px 12px #0003;color:var(--clr-bg);transform:translateY(-2px)}@media (max-width:1200px){.projects-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:900px){.project-showcase__header{align-items:flex-start;flex-direction:column}.projects-grid{gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.project-card--featured{grid-column:span 1}}@media (max-width:600px){.project-showcase{padding:3rem 1rem}.projects-grid{gap:1rem;grid-template-columns:1fr}.project-card{padding:1.5rem}.role-badge{font-size:1rem;padding:.6rem 1.2rem}.project-card__title{font-size:1.3rem}.project-card__links{flex-direction:column}.project-link{justify-content:center}}.timeline{margin:0 auto;max-width:1000px;padding:4rem 2rem}.timeline__subtitle{color:var(--clr-fg);font-size:1.1rem;margin-bottom:3rem;opacity:.8;text-align:center}.timeline-container{display:flex;flex-direction:column;gap:2rem;position:relative}.timeline-container:before{background:var(--clr-primary);bottom:0;content:"";left:0;opacity:.2;position:absolute;top:0;width:2px}.timeline-item{padding:2rem 2rem 2rem 3rem;position:relative;transition:all .3s ease}.timeline-item:before{background:var(--clr-primary);border:3px solid var(--clr-bg);border-radius:50%;box-shadow:0 0 0 2px var(--clr-primary);content:"";height:14px;left:-6px;position:absolute;top:2.5rem;width:14px}.timeline-item:hover{transform:translateX(10px)}.timeline-item:hover:before{box-shadow:0 0 0 4px var(--clr-primary);transform:scale(1.3)}.timeline-item__date{color:var(--clr-primary);font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.timeline-item__title{color:var(--clr-fg-alt);font-size:1.4rem;font-weight:700;margin-bottom:1rem}.timeline-item__description{color:var(--clr-fg);font-size:1rem;line-height:1.6;margin-bottom:1rem;opacity:.9}.timeline-item__link{align-items:center;color:var(--clr-primary);display:inline-flex;font-weight:600;gap:.5rem;text-decoration:none;transition:all .3s ease}.timeline-item__link:hover{gap:1rem;text-decoration:underline}@media (max-width:900px){.timeline-item{padding:1.5rem 1.5rem 1.5rem 2.5rem}.timeline-item__title{font-size:1.2rem}}@media (max-width:600px){.timeline{padding:3rem 1rem}.timeline-container:before{left:.5rem}.timeline-item{padding:1.5rem 1.5rem 1.5rem 2rem}.timeline-item:before{left:.1rem}.timeline-item:hover{transform:translateX(5px)}.timeline__subtitle{font-size:1rem}}.skills__list{display:flex;flex-wrap:wrap;justify-content:center;margin:0 auto;max-width:450px;width:95%}.skills__list-item{margin:.5em}.blogpost__list{display:flex;flex-wrap:wrap;justify-content:center;margin:0 auto;max-width:450px;width:95%}.blogpost__list-item{margin:.5em}.blogpost__item-link{color:var(--clr-primary);margin-bottom:.5em}.blogpost__item-link,.blogpost__item-link:hover{text-decoration:underline}.scroll-top{background-color:initial;bottom:2em;position:fixed;right:4em}@media (max-width:900px){.scroll-top{display:none}}.contact{flex-direction:column}.footer{margin-top:4em;padding:3em 0;text-align:center}.footer__link{color:var(--clr-fg);font-size:.9rem;font-weight:600}@media (max-width:600px){.footer{margin-top:3em;padding:2em}}.app{background-color:var(--clr-bg);color:var(--clr-fg);font-family:Poppins,sans-serif;line-height:1.5}.light{--clr-bg:#fff;--clr-bg-alt:#f8f8f8;--clr-fg:#2a2a2a;--clr-fg-alt:#1a1a1a;--clr-primary:#1a1a1a;--shadow:#00000014 0px 4px 12px 0px}.dark{--clr-bg:#0a0a0a;--clr-bg-alt:#1a1a1a;--clr-fg:#f5f5f5;--clr-fg-alt:#fff;--clr-primary:#fff;--shadow:#ffffff1a 0px 4px 12px 0px,#ffffff0d 0px 2px 4px 0px}main{margin:0 auto;max-width:1100px;width:95%}.section{margin-top:5em}.section__title{margin-bottom:1em;text-align:center;text-transform:uppercase}.center{align-items:center;display:flex}.link{padding:0 0 .3em;position:relative}.link,.link:hover{color:var(--clr-primary)}.link:before{background-color:var(--clr-primary);bottom:0;content:"";display:inline;height:.2em;position:absolute;transition:width .2s ease-in;width:0}.link:focus:before,.link:hover:before{width:100%}.link--nav{font-weight:500;text-transform:lowercase}.link--icon,.link--nav{color:var(--clr-fg)}.btn{border-radius:8px;cursor:pointer;display:block;font-size:.9rem;font-weight:500;padding:.8em 1.4em;text-transform:lowercase;transition:transform .2s ease-in-out}.btn--outline{border:2px solid var(--clr-primary);color:var(--clr-primary);overflow:hidden;position:relative;z-index:1}.btn--outline:focus,.btn--outline:hover{color:var(--clr-bg)}.btn--outline:before{background-color:var(--clr-primary);bottom:0;content:"";left:0;position:absolute;right:100%;top:0;transition:right .2s ease-in-out;z-index:-1}.btn--outline:focus:before,.btn--outline:hover:before{right:0}.btn--plain{background-color:var(--clr-bg-alt);border:0;box-shadow:var(--shadow);text-transform:none}.btn--plain:hover{transform:translateY(-4px)}.btn--icon{padding:0}.btn--icon:focus,.btn--icon:hover{color:var(--clr-primary)}.btn--icon:active{transform:translateY(-5px)}@media (max-width:600px){.section{margin-top:4em}}:root{--glass-bg-light:#ffffffb3;--glass-border-light:#ffffff4d;--glass-shadow-light:#0000001a;--glass-bg-dark:#1a1a1ab3;--glass-border-dark:#ffffff1a;--glass-shadow-dark:#ffffff0d}.glass-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffffb3;background:var(--glass-bg-light);border:1px solid #ffffff4d;border:1px solid var(--glass-border-light);border-radius:16px;box-shadow:0 8px 32px 0 #0000001a;box-shadow:0 8px 32px 0 var(--glass-shadow-light);transition:all .3s ease}.dark .glass-card{background:#1a1a1ab3;background:var(--glass-bg-dark);border:1px solid #ffffff1a;border:1px solid var(--glass-border-dark);box-shadow:0 8px 32px 0 #ffffff0d;box-shadow:0 8px 32px 0 var(--glass-shadow-dark)}.glass-card-hover:hover{box-shadow:0 16px 48px 0 #0003;transform:translateY(-8px) scale(1.02)}.dark .glass-card-hover:hover{box-shadow:0 16px 48px 0 #ffffff1a}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.float-animation{animation:float 6s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .6s ease-out forwards}.fade-in-delay-1{animation:fadeIn .6s ease-out .1s forwards;opacity:0}.fade-in-delay-2{animation:fadeIn .6s ease-out .2s forwards;opacity:0}.fade-in-delay-3{animation:fadeIn .6s ease-out .3s forwards;opacity:0}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}.slide-in-left{animation:slideInLeft .6s ease-out forwards}@keyframes slideInRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}.slide-in-right{animation:slideInRight .6s ease-out forwards}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.scale-in{animation:scaleIn .4s ease-out forwards}.glow-on-hover{overflow:hidden;position:relative}.glow-on-hover:before{background:radial-gradient(circle,#ffffff4d,#0000);border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.glow-on-hover:hover:before{height:300px;width:300px}.transition-all{transition:all .3s ease}.transition-transform{transition:transform .3s ease}.bento-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:2rem 0}.bento-large{grid-column:span 2;grid-row:span 2}@media (max-width:768px){.bento-large{grid-column:span 1;grid-row:span 1}}.scroll-reveal{opacity:0;transform:translateY(50px);transition:opacity .6s ease,transform .6s ease}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--clr-bg)}::-webkit-scrollbar-thumb{background:var(--clr-primary);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--clr-fg-alt)}@supports not ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.glass-card{background:var(--clr-bg-alt)}}*{background-color:inherit;border:0;box-shadow:none;box-sizing:border-box;color:inherit;font-family:inherit;font-size:inherit;margin:0;outline:0;padding:0}html{scroll-behavior:smooth}h1,h2,h3,h4{color:var(--clr-fg-alt);line-height:1.2}h1{font-size:4rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.3rem}ul{list-style-type:none}a{text-decoration:none}button{cursor:pointer}@media (max-width:900px){h1{font-size:2.6rem}}
/*# sourceMappingURL=main.fc953c02.css.map*/