.section-heading{border-bottom:1px solid var(--gray-1);padding-bottom:1em}.section-heading h2{color:var(--primary-color);margin-bottom:.25em;font-size:clamp(1.5rem,1vw + 1rem,1.75rem)}.section-heading p{color:var(--gray-6);font-size:1rem;line-height:1.5}.project-card{position:relative}.project-card img{object-fit:cover;background-color:var(--gray-2);border-radius:.5em;width:100%;min-height:17rem;margin-bottom:1.5em}.project-card h4{margin-bottom:.25em;font-size:1.25rem;font-weight:500;line-height:1.45}.project-card p{color:var(--gray-6);font-size:1rem;line-height:1.5}.project-card a{color:inherit}.project-card .project-stack{flex-wrap:wrap;gap:.5em;margin-top:1em;font-family:JetBrains Mono,monospace;display:flex}.project-card .project-stack span{color:var(--secondary-color);background-color:#3b9bff1f;border-radius:.25em;padding:.25em .5em;font-size:.875rem}@media (width<=48em){.project-card h4{margin-bottom:.5em;font-size:1.125rem}}.archive-heading{border-bottom:1px solid var(--gray-1);max-width:30rem;padding-bottom:1em}.archive-heading h2{color:var(--primary-color);margin-bottom:.25em;font-size:clamp(1.5rem,2.7778vw + .6rem,2rem)}.archive-heading p{color:var(--gray-6);font-size:1rem;line-height:1.5}:root{--bg:#0f1013;--surface:#17191d;--primary-color:#f0f1f3;--primary-color-hover:#fff;--secondary-color:#3b9bff;--secondary-color-hover:#62aeff;--gray-1:#23262b;--gray-2:#2b2f35;--gray-3:#3a3f47;--gray-4:#4b515a;--gray-5:#7c848e;--gray-6:#9aa2ac;--primary-font:"Inter", sans-serif;--secondary-font:"JetBrains Mono", monospace}::selection{color:#fff;background:var(--secondary-color)}html{scroll-behavior:smooth;background-color:var(--bg)}body{box-sizing:border-box;color:var(--primary-color);background-color:var(--bg);font-family:var(--primary-font);margin:0;padding:0}p,h1,h2,h3,h4,h5,h6{letter-spacing:-1%;margin:0;padding:0}a{text-decoration:none}a.link{z-index:99;position:absolute;inset:0}section{padding-bottom:3.5em}@media (width<=48em){section{padding-bottom:2.5em}}.container{max-width:48rem;margin:0 auto;padding-inline:1.5em}@media (width<=48em){.container{padding-inline:1.25em}}.btn{font-family:var(--primary-font);cursor:pointer;border:0;outline:#0000;justify-content:center;align-items:center;display:flex;position:relative}.btn-primary{color:var(--bg);background-color:var(--primary-color)}.btn-primary:hover{background-color:var(--primary-color-hover)}.btn-outline{color:var(--primary-color);background-color:var(--surface);border:1px solid var(--gray-3);border-radius:.5em;transition:all .1s ease-in-out}.btn-outline:hover{background-color:var(--primary-color);color:var(--bg);border-color:#0000}.btn-sm{border-radius:.25em;gap:.25em;min-height:2rem;padding:0 1em;font-size:.875rem}.btn-sm .icon{font-size:1rem}.btn-lg{border-radius:.25em;gap:.5em;min-height:2.5rem;padding:0 1em;font-size:1rem;font-weight:500}.btn-lg .icon{font-size:1.5rem}.icon{justify-content:center;align-items:center;display:inline-flex}.icon svg{width:1em;height:1em;display:block}.project-cards-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto;gap:2.75em 1.5em;display:grid}@media (width<=30em){.project-cards-grid{grid-template-columns:1fr;row-gap:2em}}header{grid-template-columns:1fr auto 1fr;align-items:center;padding:1em 1.5em;display:grid}header .header-title{font-family:var(--secondary-font);grid-column:1;justify-self:start;font-size:1.125rem}header .header-title a{color:var(--primary-color);font-weight:500;text-decoration:none}header .header-title span{color:var(--gray-5);font-size:.875rem}header .header-nav{grid-column:2;justify-self:center;align-items:center;display:flex}header .header-nav .header-nav-links{gap:1em;display:flex}header .header-nav .header-nav-links a{color:var(--gray-6);font-size:.875rem;font-weight:500;text-decoration:none;transition:color .12s ease-in-out}header .header-nav .header-nav-links a:hover{color:var(--secondary-color)}header .header-nav-social{grid-column:3;justify-self:end;gap:.75em;display:flex}header .header-nav-social a{line-height:0}header .header-nav-social a i svg{min-width:1.5rem;min-height:1.5rem;fill:var(--primary-color)}@media (width<=48em){header{padding:.75em 1.25em}header .header-title{font-size:1rem}header .header-title span{font-size:.75rem}header .header-nav{display:none}header .header-nav-social{gap:.25em}header .header-nav-social a i svg{min-width:1.25rem;min-height:1.25rem}}@media (width<=30em){header .header-title span{display:none}}footer{border-top:1px solid var(--gray-1);background:linear-gradient(#3b9bff14 0%,#0000 100%);margin-top:2em;padding:2.5em 0}footer .container{text-align:center;flex-direction:column;align-items:center;gap:1.25em;display:flex}footer .footer-social{justify-content:center;gap:.75em;display:flex}footer .footer-social a i{aspect-ratio:1;border:1.5px solid var(--gray-2);border-radius:100%;justify-content:center;align-items:center;height:2.5rem;transition:all .12s ease-in-out;display:flex}footer .footer-social a i svg{aspect-ratio:1;height:1.25rem;fill:var(--primary-color)}footer .footer-social a:hover i{background-color:var(--primary-color);border-color:#0000}footer .footer-social a:hover i svg{fill:var(--bg)}footer .footer-quote{color:var(--gray-6);max-width:30rem;font-size:.9375rem;font-style:italic;line-height:1.5}footer .footer-credit{font-family:var(--secondary-font);color:var(--gray-5);font-size:.8125rem}@media (width<=30em){footer{padding:2em 0}}#hero{padding-top:4.5em}#hero .container{align-items:center;gap:4em;display:flex}#hero .hero-image img{background:var(--gray-2);border-radius:.5em}#hero .hero-content .hero-heading{margin-bottom:.75em}#hero .hero-content .hero-heading h1{font-size:clamp(2rem,3vw + 1rem,2.5rem)}#hero .hero-content .hero-heading span{align-content:center}#hero .hero-content .hero-heading span p{color:var(--secondary-color);font-size:1.25rem;font-weight:400;display:inline-block}#hero .hero-content .hero-text{color:var(--gray-6);max-width:28rem;font-size:1rem;line-height:1.5em}#hero .hero-content .hero-about{color:var(--gray-6);max-width:34rem;margin-top:1.125em;font-size:1rem;line-height:1.6em}#hero .hero-content .hero-about strong{color:var(--primary-color);font-weight:600}@media (width<=48em){#hero{padding-top:2em}#hero .container{gap:1.5em}}@media (width<=30em){#hero .container{flex-direction:column}#hero .hero-image{width:100%}#hero .hero-heading span p{font-size:1.125rem}}#skills .container{flex-direction:column;gap:2.75em;display:flex}#skills .skill-groups{flex-direction:column;gap:2em;display:flex}#skills .skill-group h3{text-transform:uppercase;letter-spacing:.08em;color:var(--gray-6);margin-bottom:1em;font-size:.8125rem;font-weight:600}#skills .skill-group .skill-tags{flex-wrap:wrap;gap:.75em;display:flex}#skills .skill-group .skill-tags .skill-break{flex-basis:100%;width:0;height:0}#skills .skill-group .skill-tag{border:1px solid var(--gray-1);background:var(--surface);border-radius:.625em;align-items:center;gap:.625em;padding:.5em .9em .5em .5em;display:inline-flex}#skills .skill-group .skill-tag .skill-code{background:var(--secondary-color);min-width:1.875rem;height:1.875rem;color:var(--bg);font-family:var(--secondary-font);border-radius:.375em;justify-content:center;align-items:center;padding:0 .25em;font-size:.75rem;font-weight:700;display:inline-flex}#skills .skill-group .skill-tag .skill-logo{background:var(--surface);border:1px solid var(--gray-1);border-radius:.375em;justify-content:center;align-items:center;width:1.375rem;height:1.375rem;padding:.2em;display:inline-flex}#skills .skill-group .skill-tag .skill-logo svg{width:100%;height:100%;display:block}#skills .skill-group .skill-tag .skill-logo.invert svg{filter:invert()}#skills .skill-group .skill-tag .skill-name{color:var(--primary-color);font-size:.9375rem}#projects .container{flex-direction:column;gap:2.75em;display:flex}#projects .btn-lg{width:100%;margin-top:2.75em}:is(#experience,#education) .container{flex-direction:column;gap:2.75em;display:flex}:is(#experience,#education) .experience-list{flex-direction:column;gap:1.5em;display:flex}:is(#experience,#education) .exp-entry{border-bottom:1px solid var(--gray-1);flex-direction:column;gap:.25em;padding-bottom:1.5em;display:flex}:is(#experience,#education) .exp-entry:last-child{border-bottom:0;padding-bottom:0}:is(#experience,#education) .exp-entry .exp-head{justify-content:space-between;align-items:baseline;gap:1em;display:flex}:is(#experience,#education) .exp-entry .exp-head h4{color:var(--primary-color);font-size:1.125rem;font-weight:600}:is(#experience,#education) .exp-entry .exp-head .cert-date{font-family:var(--secondary-font);color:var(--secondary-color);flex-shrink:0;font-size:.8125rem}:is(#experience,#education) .exp-entry .exp-role{color:var(--gray-6);font-size:.9375rem}:is(#experience,#education) .exp-entry .exp-desc{color:var(--gray-5);max-width:34em;margin-top:.5em;font-size:.9375rem;line-height:1.6em}#certificates .container{flex-direction:column;gap:2.75em;display:flex}#certificates .cert-list{flex-direction:column;gap:1em;margin:0;padding:0;list-style:none;display:flex}#certificates .cert-list li{color:var(--gray-6);align-items:center;gap:.75em;font-size:1rem;line-height:1.5;display:flex}#certificates .cert-list li:before{content:"";background-color:var(--secondary-color);border-radius:50%;flex-shrink:0;width:.5em;height:.5em}#certificates .cert-list li span:first-of-type{flex:1}#certificates .cert-list .cert-date{font-family:var(--secondary-font);color:var(--secondary-color);flex-shrink:0;font-size:.8125rem}@media (width<=48em){#experience .exp-head .cert-date,#education .exp-head .cert-date{font-size:.6875rem}}.archive-hero{padding:5em 0}.archive-hero .back-btn{aspect-ratio:1;border:1px solid var(--gray-1);text-align:center;height:2.5rem;color:var(--primary-color);border-radius:100%;align-content:center;margin-bottom:2em;font-size:1.25rem;display:inline-block}.archive-hero .back-btn:hover{background:var(--gray-1)}.alert-bar{border-block:1px solid var(--gray-1);color:var(--gray-6);padding:1em 0;font-size:.875rem;line-height:1.5}.alert-bar .container{place-content:center;gap:1em;display:flex}.alert-bar .icon{color:var(--secondary-color);font-size:1.125rem}@media (width<=48em){.archive-hero{padding:3em 0}}
