:root{--primary-color: #111111;--primary-color-hover: #242424;--secondary-color: #007aff;--secondary-color-hover: #006be0;--gray-1: #eeeeee;--gray-2: #dddddd;--gray-3: #cccccc;--gray-4: #bbbbbb;--gray-5: #9a9a9a;--gray-6: #777777;--primary-font: "Inter", sans-serif;--secondary-font: "JetBrains Mono", monospace}::-moz-selection{color:#fff;background:var(--secondary-color)}::selection{color:#fff;background:var(--secondary-color)}html{scroll-behavior:smooth}body{margin:0;padding:0;box-sizing:border-box;color:var(--primary-color);font-family:var(--primary-font)}p,h1,h2,h3,h4,h5,h6{margin:0;padding:0;letter-spacing:-1%}a{text-decoration:none}a.link{position:absolute;inset:0;z-index:99}section{padding-bottom:6.25em}.container{max-width:48rem;margin:0 auto;padding-inline:1.5em}@media(max-width:48em){.container{padding-inline:1.25em}}.btn{position:relative;display:flex;align-items:center;justify-content:center;outline:transparent;border:0;font-family:var(--primary-font);cursor:pointer}.btn-primary{color:#fff;background-color:var(--primary-color);stroke:red;&:hover{background-color:var(--primary-color-hover)}}.btn-outline{color:var(--primary-color);background-color:#fff;border-radius:.5em;border:1px solid var(--gray-3);transition:all .1s ease-in-out;&:hover{background-color:var(--primary-color);color:#fff;border-color:transparent}}.btn-sm{min-height:2rem;padding:0 1em;gap:.25em;border-radius:.25em;font-size:.875rem;.icon{font-size:1rem}}.btn-lg{min-height:2.5rem;font-size:1rem;font-weight:500;padding:0 1em;gap:.5em;border-radius:.25em;.icon{font-size:1.5rem}}@media(max-width:48em){section{padding-bottom:4em}}header{display:flex;align-items:center;justify-content:space-between;padding:1em 1.5em;.header-title{font-family:var(--secondary-font);font-size:1.125rem;a{text-decoration:none;font-weight:500;color:var(--primary-color)}span{color:var(--gray-5);font-size:.875rem}}.header-nav{display:flex;align-items:center;flex-grow:0;gap:1em;.header-nav-social{display:flex;gap:.75em}.header-nav-social a{line-height:0}.header-nav-social a i svg{min-height:1.5rem;min-width:1.5rem;color:var(--primary-color)}}}@media(max-width:48em){header{padding:.75em 1.25em}header .header-title{font-size:1rem}header .header-title span{font-size:.75rem}header .header-nav .header-nav-social{gap:.25em}header .header-nav .header-nav-social a i svg{min-height:1.25rem;min-width:1.25rem}}@media(max-width:30em){header .header-title span{display:none}header .header-nav{gap:.75em}}footer{background:linear-gradient(0deg,#fff,#007aff1a);.footer-cta{padding:6.25em 0;.footer-cta-content{display:flex;flex-direction:column;text-align:center;gap:1.25em;margin-bottom:2.25em;.email{justify-content:center;display:flex;align-items:center;gap:.75em}p{color:var(--gray-6)}.email a{font-size:clamp(1.5rem,2.5vw + .5rem,2rem);font-weight:600;color:var(--primary-color);line-height:1}.email a:hover{color:var(--secondary-color)}.email i:hover{color:var(--gray-6);cursor:pointer}.email .icon{font-size:1.125rem;color:var(--gray-4)}}.footer-cta-links{.footer-social{display:flex;justify-content:center;gap:.75em}.footer-social a i{display:flex;justify-content:center;align-items:center;height:3rem;aspect-ratio:1 / 1;border-radius:100%;border:1.5px solid var(--gray-2)}.footer-social a i svg{height:1.5rem;aspect-ratio:1 / 1;fill:var(--primary-color)}.footer-social a i:hover svg{fill:#fff;border-color:transparent}.footer-social a i:hover{background-color:var(--primary-color)}}}.footer-credits{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;color:var(--gray-6);border-top:1px solid var(--gray-1);padding-block:1.5em;.footer-social{display:flex;gap:1em}.footer-social a i{height:2.5rem}.footer-social a i svg{height:1.25rem;aspect-ratio:1 / 1;fill:var(--primary-color)}}}@media(max-width:48em){footer{justify-content:center}footer .footer-credits{text-align:center;justify-content:center;padding-block:1em}footer .footer-credits .footer-social{display:none}}.section-heading[data-astro-cid-ytvomcwp]{h1{font-size:clamp(1.5rem,1vw + 1rem,1.75rem);margin-bottom:.25em;color:var(--primary-color)}p{font-size:1rem;color:var(--gray-6);line-height:1.5}}.skill-card[data-astro-cid-u5aykeor]{display:flex;gap:1.25em;align-items:center;span{color:var(--primary-color);font-size:1.125rem}}@media(max-width:48em){.skill-card[data-astro-cid-u5aykeor] span[data-astro-cid-u5aykeor]{font-size:1rem}}.exp-card[data-astro-cid-zco2gica]{display:flex;justify-content:space-between;align-items:center;gap:1em}.exp-card[data-astro-cid-zco2gica] .exp-card-left[data-astro-cid-zco2gica]{display:flex;align-items:center;gap:1.5em}.exp-card[data-astro-cid-zco2gica] .exp-card-logo[data-astro-cid-zco2gica]{border-radius:.375em;border:2px solid var(--gray-1)}.exp-card[data-astro-cid-zco2gica] .exp-card-title[data-astro-cid-zco2gica]{p{font-size:1rem;font-weight:500;color:var(--primary-color);margin-bottom:.25em}span{font-size:.875rem;color:var(--gray-6)}}.exp-card[data-astro-cid-zco2gica] .exp-card-right[data-astro-cid-zco2gica]{display:flex;flex-direction:column;gap:.5em;font-size:.875rem;color:var(--gray-6);width:11rem;.exp-card-info-item i{margin-top:40px;margin-right:.125em}}@media(max-width:30em){.exp-card[data-astro-cid-zco2gica]{align-items:flex-start;flex-direction:column}.exp-card[data-astro-cid-zco2gica] .exp-card-right[data-astro-cid-zco2gica]{flex-direction:row;width:100%;flex-wrap:wrap}.exp-card[data-astro-cid-zco2gica] .exp-card-right[data-astro-cid-zco2gica] .exp-date[data-astro-cid-zco2gica]{margin-right:1.5em}}.project-card[data-astro-cid-mspuyifq]{position:relative;img{width:100%;min-height:17rem;object-fit:cover;border-radius:.5em;margin-bottom:1.5em}h4{font-size:1.25rem;font-weight:500;margin-bottom:.25em}p{font-size:1rem;color:var(--gray-6);line-height:1.5}a{color:inherit}.project-stack{display:flex;flex-wrap:wrap;gap:.5em;margin-top:1em;font-family:JetBrains Mono,monospace}.project-stack span{color:var(--secondary-color);background-color:#007bff14;font-size:.875rem;padding:.25em .5em;border-radius:.25em}}@media(max-width:48em){.project-card[data-astro-cid-mspuyifq] h4[data-astro-cid-mspuyifq]{font-size:1.125rem;margin-bottom:.5em}}.tabs[data-astro-cid-xlvzfuxv]{.tabs-nav{display:flex;gap:.5em;flex-wrap:wrap;margin-bottom:1.5em;button{font-family:Inter,sans-serif;font-size:1rem;min-height:2.25rem;padding:0 .75em;cursor:pointer;color:var(--primary-color);background-color:#fff;border-radius:.5em;border:1px solid var(--gray-3);transition:all .1s ease-in-out}& button[data-astro-cid-xlvzfuxv].active,button[data-astro-cid-xlvzfuxv]:hover{background-color:var(--primary-color);color:#fff;border-color:transparent}}.tabs-content{div[data-tab-content]:not(.active){display:none}}}#hero{padding-top:4.5em;.container{display:flex;align-items:center;gap:4em}.hero-image{img{background:var(--gray-2);border-radius:.5em}}.hero-content{.hero-heading{margin-bottom:.75em;h1{font-size:clamp(2rem,3vw + 1rem,2.5rem)}span{align-content:center;p{display:inline-block;font-weight:400;font-size:1.25rem}img{max-height:1.25rem;margin-left:.2em;line-height:0;font-size:.75rem;height:1rem;width:auto}}}.hero-text{color:var(--gray-6);font-size:1rem;line-height:1.5em}}}@media(max-width:48em){#hero{padding-top:2em}#hero .container{gap:1.5em}}@media(max-width:30em){#hero .container{flex-direction:column}#hero .hero-image{width:100%}#hero .hero-heading span p{font-size:1.125rem}}#skills{.container{display:flex;flex-direction:column;gap:2.75em}.skill-cards{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:auto;gap:1.5em}}@media(max-width:48em){#skills .skill-cards{grid-template-columns:repeat(3,1fr);gap:1.25em 1.5em}}@media(max-width:30em){#skills .skill-cards{grid-template-columns:repeat(2,1fr)}}#projects{.container{display:flex;flex-direction:column;gap:2.75em}.project-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:auto;column-gap:1.5em;row-gap:2.75em}[data-tab-content] button{width:100%;margin-top:2.75em}}@media(max-width:30em){#projects .project-cards-grid{grid-template-columns:1fr;row-gap:2em}}#experience{.container{display:flex;flex-direction:column;gap:2.75em}.experience-cards{display:flex;flex-direction:column;gap:1.5em}}#education{.container{display:flex;flex-direction:column;gap:2.75em}.education-cards{display:flex;flex-direction:column;gap:1.5em}}
