@font-face{font-family:geonms;src:url(../media/geonms_font-s.p.2l8hdnpx0dbvk.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:geonms Fallback;src:local(Arial);ascent-override:104.0%;descent-override:26.66%;line-gap-override:0.0%;size-adjust:86.81%}.geonms_42578e94-module__sjiGFa__className{font-family:geonms,geonms Fallback;font-weight:400}
@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(../media/198d17f2fc7b7e24-s.3ln4cacw7vm32.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(../media/bb835a708696869b-s.0_i4fxg1pnle5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6c7c54d92ecafd95-s.02co4hodosnv0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(../media/4b825e536f0add60-s.15vlspr5uap8d.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c825fd02acae0153-s.p.1q3-y3vmyf3p6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Raleway;font-style:normal;font-weight:700;font-display:swap;src:url(../media/198d17f2fc7b7e24-s.3ln4cacw7vm32.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Raleway;font-style:normal;font-weight:700;font-display:swap;src:url(../media/bb835a708696869b-s.0_i4fxg1pnle5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Raleway;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6c7c54d92ecafd95-s.02co4hodosnv0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Raleway;font-style:normal;font-weight:700;font-display:swap;src:url(../media/4b825e536f0add60-s.15vlspr5uap8d.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Raleway;font-style:normal;font-weight:700;font-display:swap;src:url(../media/c825fd02acae0153-s.p.1q3-y3vmyf3p6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Raleway Fallback;src:local(Arial);ascent-override:90.51%;descent-override:22.53%;line-gap-override:0.0%;size-adjust:103.86%}.raleway_b69f4746-module__Wuxbea__className{font-family:Raleway,Raleway Fallback;font-style:normal}
.socials-module__6h8D3a__socialLinks{grid-gap:12px;grid-template-columns:repeat(4,1fr);display:grid}.socials-module__6h8D3a__socialLinks a{font-size:1.2rem;text-decoration:none}@media screen and (max-width:768px){.socials-module__6h8D3a__socialLinks{grid-gap:20px}.socials-module__6h8D3a__socialLinks a{font-size:1.8rem;text-decoration:none}}
.hero-module__q_m67W__hero{background:var(--hero-gradient);padding:72px 24px 24px}.hero-module__q_m67W__heroContent{grid-gap:100px;grid-template-columns:1fr 1fr;align-items:center;max-width:fit-content;margin:0 auto;display:grid}.hero-module__q_m67W__heroInfo{flex-direction:column;align-items:flex-start;padding:32px;display:flex}.hero-module__q_m67W__heroInfo h1{color:var(--foreground);font-size:2.4rem}.hero-module__q_m67W__heroInfo .hero-module__q_m67W__tagline{color:var(--foreground);font-size:1.2rem}.hero-module__q_m67W__headshot{grid-gap:8px;color:var(--dark-text);grid-template-columns:repeat(4,1fr);grid-template-areas:"functionDef functionDef a a""headshotImg headshotImg headshotImg headshotImg""b b functionBlock functionBlock";place-items:center;display:grid}@keyframes hero-module__q_m67W__headshotFloat{0%{transform:translateY(0)}50%{transform:translateY(-15px)}to{transform:translateY(0)}}@keyframes hero-module__q_m67W__functionDefFloat{0%{transform:translateY(0)}50%{transform:translateY(-15px)}to{transform:translateY(0)}}@keyframes hero-module__q_m67W__functionBlockFloat{0%{transform:translateY(0)}50%{transform:translateY(-15px)}to{transform:translateY(0)}}.hero-module__q_m67W__headshot .hero-module__q_m67W__functionDef{background-color:var(--dark-teal);border:var(--hero-outlines);box-shadow:var(--hero-background-glow);border-radius:100px;grid-area:functionDef;min-width:220px;padding:16px 20px;font-weight:700;animation-name:hero-module__q_m67W__functionDefFloat;animation-duration:5s;animation-timing-function:cubic-bezier(.5,.3,.5,1.31);animation-iteration-count:infinite;animation-delay:.4s}.hero-module__q_m67W__headshot .hero-module__q_m67W__headshotImg{grid-area:headshotImg;width:400px;height:400px;animation-name:hero-module__q_m67W__headshotFloat;animation-duration:5s;animation-timing-function:cubic-bezier(.5,.3,.5,1.31);animation-iteration-count:infinite;animation-delay:.1s;-webkit-mask-image:radial-gradient(circle,#000 67%,#0000 70%);mask-image:radial-gradient(circle,#000 67%,#0000 70%)}.hero-module__q_m67W__headshot .hero-module__q_m67W__functionBlock{background-color:var(--dark-teal);border:var(--hero-outlines);box-shadow:var(--hero-background-glow);border-radius:100px;grid-area:functionBlock;min-width:200px;padding:16px 32px;font-weight:700;animation-name:hero-module__q_m67W__functionBlockFloat;animation-duration:5s;animation-timing-function:cubic-bezier(.5,.3,.5,1.31);animation-iteration-count:infinite;animation-delay:.5s}.hero-module__q_m67W__headshot .hero-module__q_m67W__functionBlock p:nth-child(2){padding-left:16px}@media screen and (max-width:1500px){.hero-module__q_m67W__headshot .hero-module__q_m67W__functionDef,.hero-module__q_m67W__headshot .hero-module__q_m67W__functionBlock{font-size:.8rem}}@media screen and (max-width:830px){.hero-module__q_m67W__hero{padding:32px 12px}.hero-module__q_m67W__heroInfo{padding:16px 24px}.hero-module__q_m67W__heroContent{grid-gap:20px;grid-template-columns:1fr}}@media screen and (max-width:520px){.hero-module__q_m67W__headshot{grid-gap:12px;grid-template-columns:repeat(3,1fr);grid-template-areas:"functionDef functionDef a""headshotImg headshotImg headshotImg""b functionBlock functionBlock"}.hero-module__q_m67W__headshot .hero-module__q_m67W__functionDef,.hero-module__q_m67W__headshot .hero-module__q_m67W__functionBlock{min-width:fit-content}.hero-module__q_m67W__headshot .hero-module__q_m67W__headshotImg{width:300px;height:300px}}@media screen and (max-width:360px){.hero-module__q_m67W__headshot{grid-gap:12px;grid-template-columns:repeat(2,1fr);grid-template-areas:"functionDef functionDef""headshotImg headshotImg""functionBlock functionBlock"}}
.skillsGrid-module__BJVbBa__skillsSection{background-color:var(--skills-background);padding:48px}.skillsGrid-module__BJVbBa__skillsSection h2{text-align:center}.skillsGrid-module__BJVbBa__skillsGrid{grid-template-columns:repeat(5,1fr);grid-auto-rows:1fr;gap:16px;max-width:1100px;margin:0 auto;padding:24px;display:grid}.skillsGrid-module__BJVbBa__skillItem{text-align:center;background-color:var(--skills-charms);border-radius:8px;justify-content:center;align-items:center;max-width:200px;padding:16px;display:flex}@media screen and (max-width:900px){.skillsGrid-module__BJVbBa__skillsGrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media screen and (max-width:750px){.skillsGrid-module__BJVbBa__skillItemSecondary{display:none}}@media screen and (max-width:520px){.skillsGrid-module__BJVbBa__skillsSection{padding:16px}.skillsGrid-module__BJVbBa__skillsGrid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.skillsGrid-module__BJVbBa__skillItem{padding:8px}}
.projectCard-module__Sr9CKq__projectCard{background-color:var(--project-card-background);border-radius:10px;grid-template-rows:200px auto 1fr auto 60px;grid-template-columns:repeat(6,1fr);grid-template-areas:"image image image image image image""title title title title title title""desc desc desc desc desc desc""tech tech tech tech tech tech""links links links links links links";align-items:start;gap:16px;max-width:400px;padding-bottom:10px;display:grid;overflow:hidden}.projectCard-module__Sr9CKq__projectCard h3{text-align:center;grid-area:title;font-size:1.5rem;font-weight:700}.projectCard-module__Sr9CKq__projectCard .projectCard-module__Sr9CKq__imageContainer{grid-area:image;width:100%;height:100%;overflow:hidden}.projectCard-module__Sr9CKq__projectCard img{object-fit:cover;border-bottom:2px solid var(--project-card-dividers);border-radius:10px 10px 0 0}.projectCard-module__Sr9CKq__projectCard p{grid-area:desc;padding:0 20px}.projectCard-module__Sr9CKq__techList{border-top:1px solid var(--project-card-dividers);border-bottom:1px solid var(--project-card-dividers);flex-wrap:wrap;grid-area:tech;justify-content:center;gap:10px;margin:0;padding:10px;list-style:none;display:flex}.projectCard-module__Sr9CKq__techList li{background-color:var(--skills-charms);border-radius:5px;padding:5px 10px}.projectCard-module__Sr9CKq__links{grid-area:links;grid-template-columns:1fr auto;align-items:center;min-height:100%;padding:0 10px;display:grid}.projectCard-module__Sr9CKq__links .projectCard-module__Sr9CKq__siteLink{align-items:center;padding:0 10px;display:flex}.projectCard-module__Sr9CKq__links .projectCard-module__Sr9CKq__gitHub{grid-template-columns:1fr auto;align-items:center;display:grid}.projectCard-module__Sr9CKq__links .projectCard-module__Sr9CKq__gitHubLinks{flex-direction:column;justify-content:flex-end;align-items:flex-end;gap:.5rem;padding:0 10px;display:flex}.projectCard-module__Sr9CKq__links a{font-size:.8rem;font-weight:700}@media screen and (max-width:1100px){.projectCard-module__Sr9CKq__projectCard p{font-size:.8rem}}@media screen and (max-width:768px){.projectCard-module__Sr9CKq__links .projectCard-module__Sr9CKq__gitHubLinks{gap:1.5rem}.projectCard-module__Sr9CKq__links a{font-size:1.2rem}}@media screen and (max-width:520px){.projectCard-module__Sr9CKq__projectCard{grid-template-rows:200px auto 1fr auto auto}}
.projectsGrid-module__3B2kxq__projectsSection{padding:48px 0}.projectsGrid-module__3B2kxq__projectsSection h2{text-align:center}.projectsGrid-module__3B2kxq__projectsGrid{grid-template-columns:repeat(3,1fr);justify-items:center;gap:24px;max-width:1300px;margin:0 auto;padding:24px;display:grid}@media screen and (max-width:830px){.projectsGrid-module__3B2kxq__projectsGrid{grid-template-columns:repeat(2,1fr)}}@media screen and (max-width:520px){.projectsGrid-module__3B2kxq__projectsGrid{grid-template-columns:1fr}}
.page-module___8aEwW__about{padding:24px 80px;font-size:1rem}.page-module___8aEwW__about p{margin:16px 0}@media screen and (max-width:520px){.page-module___8aEwW__about{padding:32px}.page-module___8aEwW__about p{margin:12px 0}}@media screen and (max-width:360px){.page-module___8aEwW__about{padding:24px}}
