.home{margin-top:var(--headerHeight)}
.cta{border-radius:.25rem;width:fit-content;padding:.75rem 1.5rem;font-weight:500;text-decoration:none}.cta.light{background-color:var(--backgroundLight);border:1px solid var(--borderColorLight);color:var(--colorTextDark)}.cta.dark{background-color:var(--backgroundDark);border:1px solid var(--borderColorDark);color:var(--colorTextSecondary)}
.homeHero{border-left:6px solid var(--primary-red);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.homeHero-content{max-width:56rem}.homeHero-title{white-space:pre-wrap;margin-bottom:2rem;font-size:1.875rem;font-weight:700;line-height:2.25rem}.homeHero-title .underscore{opacity:1;animation:1s infinite blink}.homeHero-subTitle{color:var(--colorTextSecondary);margin-bottom:1rem;font-size:1.25rem;font-weight:500;line-height:1.75rem}.homeHero-subTitle .red{color:var(--primary-red);margin-right:.5rem}.homeHero-description{color:var(--colorTextTertiary);margin-bottom:3rem;padding-left:1.5rem;font-size:1rem;font-weight:400;line-height:1.5rem}.homeHero-ctas{flex-direction:column;gap:1rem;display:flex}@media screen and (min-width:1000px){.homeHero-content{max-width:56rem;margin:0 auto}.homeHero-title{font-size:3rem;line-height:3.5rem}.homeHero-subTitle{font-size:1.5rem;line-height:2rem}.homeHero-description{font-size:1.25rem;line-height:1.75rem}.homeHero-ctas{flex-direction:row;gap:1rem}}@keyframes blink{0%{opacity:1}50%{opacity:0}to{opacity:1}}
.homeAboutButton{background-color:var(--backgroundDark);border:1px solid var(--borderColorDark);color:var(--colorTextSecondary);text-align:center;border-radius:.25rem;padding:1.25rem 1.75rem;font-weight:500;transition:all .2s ease-in-out}.homeAboutButton:hover{background-color:var(--primary-orange);border:1px solid var(--primary-orange);color:var(--colorTextDark)}
.homeAbout{border-left:6px solid var(--primary-orange);min-height:100vh;scroll-margin-top:var(--headerHeight);flex-direction:column;justify-content:center;padding:2rem 1rem;display:flex}.homeAbout-content{max-width:56rem;margin:0 auto}.homeAbout-title{color:var(--colorTextPrimary);margin-bottom:2.5rem;font-size:1.875rem;font-weight:600;line-height:2.25rem}.homeAbout-title .orange{color:var(--primary-orange)}.homeAbout-section{margin-bottom:2rem}.homeAbout-sectionTitle{color:var(--colorTextTertiary);margin-bottom:.5rem;font-size:1rem;font-weight:600}.homeAbout-sectionDescription{color:var(--colorTextSecondary);line-height:1.625}.homeAbout-stackGrid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media screen and (min-width:1000px){.homeAbout-stackGrid{grid-template-columns:repeat(4,1fr)}}
.homeSkills{border-left:6px solid var(--primary-yellow);min-height:100vh;scroll-margin-top:var(--headerHeight);flex-direction:column;justify-content:center;padding:2rem 1rem;display:flex}.homeSkills-content{max-width:56rem;margin:0 auto}.homeSkills-title{color:var(--colorTextPrimary);margin-bottom:2.5rem;font-size:1.875rem;font-weight:600;line-height:2.25rem}.homeSkills-title .yellow{color:var(--primary-yellow)}.homeSkills-sectionItem{margin-bottom:2rem}.homeSkills-sectionItemTitle{color:var(--colorTextTertiary);margin-bottom:.75rem;font-weight:600}.homeSkills-sectionItemList{margin:0;padding:0;list-style:none}.homeSkills-sectionItemDescription{color:var(--colorTextSecondary);line-height:1.625}.homeSkills-currentFocus{background-color:var(--backgroundDark);border:1px solid var(--borderColorDark);border-radius:.25rem;margin:1rem;padding:1.5rem}.homeSkills-currentFocusTitle{color:var(--colorTextTertiary);margin-bottom:.5rem;font-size:.85rem;font-weight:600}.homeSkills-currentFocusDescription{color:var(--colorTextSecondary);line-height:1.625}.homeSkills-currentFocusDescription strong{color:var(--primary-yellow)}@media screen and (min-width:1000px){.homeSkills-sectionGrid{grid-template-columns:repeat(2,1fr);gap:2rem;display:grid}}
.homeSkillsItem{color:var(--colorTextSecondary);align-items:center;gap:.5rem;margin-bottom:.3rem;line-height:1.625;display:flex}.homeSkillsItem-icon{color:var(--primary-yellow);font-size:.65rem}.homeSkillsItem-skill{white-space:nowrap}.homeSkillsItem-line{background-color:var(--borderColorLight);width:100%;max-width:100%;height:2px}
.homeProjects{border-left:6px solid var(--primary-green);min-height:100vh;scroll-margin-top:var(--headerHeight);flex-direction:column;justify-content:center;padding:2rem 1rem;display:flex}.homeProjects-content{max-width:56rem;margin:0 auto}.homeProjects-title{color:var(--colorTextPrimary);margin-bottom:2.5rem;font-size:1.875rem;font-weight:600;line-height:2.25rem}.homeProjects-title .green{color:var(--primary-green)}.homeProjects-list{flex-direction:column;gap:1rem;display:flex}@media screen and (min-width:1000px){.homeProjects-content{max-width:56rem;margin:0 auto}.homeProjects-list{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}}
.homeProject{background-color:var(--backgroundDark);border:1px solid var(--borderColorLight);cursor:pointer;height:100%;color:var(--colorTextPrimary);border-radius:8px;flex-direction:column;padding:1.5rem;text-decoration:none;transition:all .3s;display:flex}.homeProject:hover{border-color:var(--primary-green);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.homeProject:hover .homeProject-title,.homeProject:hover .homeProject-link{color:var(--primary-green)}.homeProject-header{justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;display:flex}.homeProject-title{flex:1;margin:0;font-size:1.25rem;font-weight:600}.homeProject-status{letter-spacing:.5px;color:var(--colorTextDark);border-radius:4px;padding:.25rem .75rem;font-size:.75rem;font-weight:400}.homeProject-status.status-production{background-color:var(--primary-green)}.homeProject-status.status-beta{background-color:var(--primary-yellow)}.homeProject-status.status-development{background-color:var(--borderColorLight);color:var(--colorTextLight)}.homeProject-description{color:var(--colorTextSecondary);margin:0 0 1rem;font-size:.875rem;line-height:1.5}.homeProject-technologies{flex-wrap:wrap;gap:.5rem;display:flex}.homeProject-tech-tag{background-color:var(--borderColorLight);color:var(--colorTextPrimary);border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.homeProject-details{margin-top:1.5rem}.homeProject-link{color:var(--primary-green);cursor:pointer;padding:0;font-size:.875rem;text-decoration:none}@media screen and (min-width:768px){.homeProject{padding:2rem}.homeProject-title{font-size:1.5rem}.homeProject-description{font-size:1rem}}
.homeContact{border-left:6px solid var(--primary-blue);min-height:100vh;scroll-margin-top:var(--headerHeight);flex-direction:column;justify-content:center;padding:2rem 1rem;display:flex}.homeContact-title{color:var(--colorTextPrimary);margin-bottom:2.5rem;font-size:1.875rem;font-weight:600;line-height:2.25rem}.homeContact-title .blue{color:var(--primary-blue)}.homeContact-description{font-family:var(--fontMono);color:var(--colorTextSecondary);margin-bottom:3rem;font-size:1rem}.homeContact-links{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;width:100%;max-width:1200px;display:grid}@media screen and (min-width:1000px){.homeContact-content{max-width:56rem;margin:0 auto}}
.homeContactCard{background-color:var(--backgroundDark);border:1px solid var(--borderColorLight);cursor:pointer;border-radius:.75rem;grid-template-columns:1.5rem 1fr;grid-template-areas:"icon label""value value";align-items:flex-start;gap:1rem;padding:1.5rem;transition:all .3s;display:grid}.homeContactCard:hover{border-color:var(--primary-blue);transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.homeContactCard:hover svg{fill:var(--primary-blue);color:var(--primary-blue)}.homeContactCard-link{color:inherit;text-decoration:none;display:block}.homeContactCard-icon{grid-area:icon;width:1.5rem;height:1.5rem}.homeContactCard-icon svg{width:100%;height:100%;fill:var(--colorTextSecondary)}.homeContactCard-label{font-family:var(--fontMono);color:var(--colorTextSecondary);text-transform:lowercase;grid-area:label;align-self:center;font-size:.875rem}.homeContactCard-value{font-family:var(--fontMono);color:var(--colorTextPrimary);word-break:break-all;grid-area:value;font-size:1rem}
