@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.d8e4bce2.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:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.a62025f2.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:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_1e504277-module__bmC67a__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_1e504277-module__bmC67a__variable{--font-dm-sans:"DM Sans","DM Sans Fallback"}
@font-face{font-family:DM Serif Display;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8dd8a3188b79fd8f-s.a45bde5b.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:DM Serif Display;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0c8f209abc35ee02-s.p.a4b9a15b.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:DM Serif Display Fallback;src:local(Times New Roman);ascent-override:94.37%;descent-override:30.51%;line-gap-override:0.0%;size-adjust:109.78%}.dm_serif_display_ca93dde2-module__UlhNCa__className{font-family:DM Serif Display,DM Serif Display Fallback;font-style:normal;font-weight:400}.dm_serif_display_ca93dde2-module__UlhNCa__variable{--font-dm-serif:"DM Serif Display","DM Serif Display Fallback"}
@font-face{font-family:Teko;font-style:normal;font-weight:500;font-display:swap;src:url(../media/be96dfd95bc1b3a9-s.814f80fe.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Teko;font-style:normal;font-weight:500;font-display:swap;src:url(../media/470057c32c573b0a-s.8ccea0d6.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:Teko;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b897c54bb211cfcd-s.p.972ad4ab.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:Teko;font-style:normal;font-weight:600;font-display:swap;src:url(../media/be96dfd95bc1b3a9-s.814f80fe.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Teko;font-style:normal;font-weight:600;font-display:swap;src:url(../media/470057c32c573b0a-s.8ccea0d6.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:Teko;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b897c54bb211cfcd-s.p.972ad4ab.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:Teko Fallback;src:local(Arial);ascent-override:146.26%;descent-override:72.52%;line-gap-override:0.0%;size-adjust:65.5%}.teko_96841560-module__oTiyDa__className{font-family:Teko,Teko Fallback;font-style:normal}.teko_96841560-module__oTiyDa__variable{--font-teko:"Teko","Teko Fallback"}
:root{--color-bg:#080810;--color-surface:#10101e;--color-surface-2:#161628;--color-accent:#4fc3f7;--color-accent-purple:#7c4dff;--color-accent-glow:#4fc3f726;--color-text-primary:#f0f4ff;--color-text-secondary:#8892aa;--border-subtle:#ffffff12;--border-accent:#4fc3f733}body{font-family:var(--font-dm-sans),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text-primary);background-color:var(--color-bg);margin:0;font-size:16px;overflow-x:hidden}h1,h2{font-family:var(--font-teko),"Teko",sans-serif}h1{letter-spacing:.04em;margin:0;font-size:4em;line-height:1.5}h2{letter-spacing:.02em;margin:0;font-size:3em;font-weight:300}h3{font-size:1.75em;font-weight:400;font-family:var(--font-dm-serif),Georgia,serif;letter-spacing:.01em;margin:0}p{font-family:var(--font-dm-sans),sans-serif;font-size:1em;line-height:1.65}a{color:inherit;text-decoration:none}@media only screen and (max-width:800px){body{font-size:15px}}.app{text-align:center;background:var(--color-bg);margin-top:0;position:relative}.app:before{content:"";opacity:.025;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");background-size:200px 200px;position:fixed;inset:0}#sections{scroll-snap-type:y mandatory;height:100vh;max-height:100dvh;overflow:hidden scroll}#sections>div{scroll-snap-align:center;height:100vh;max-height:100dvh}#sections>div#about,div#portfolio,div#components,div#contact{margin:0 auto}#sections>div:first-of-type{scroll-snap-align:center;height:125vh}#sections>div:last-of-type{padding:0}.heading{z-index:3;position:relative}.heading h1{z-index:2;color:var(--color-text-primary)}.header-title-text{z-index:2;color:var(--color-text-primary);opacity:0;transition:all 1s ease-in-out;transform:translateY(-20px)translate(-10px)}.animate{opacity:1;transform:translateY(0)translate(0)}.heading h2{z-index:2;color:var(--color-text-primary);margin:.25em 0 0}@media (max-width:320px){h3{font-size:1.5em}}.main-container{text-align:center;max-width:1200px;height:calc(100vh - 6em);color:var(--color-text-primary);margin:0 auto;padding:4em 1em 2em}.flex-center{justify-content:center;align-items:center;display:flex}@media (max-width:400px){.main-container{text-align:center;height:calc(100vh - 4em);padding:2em 1em}.heading h2{margin:.25em 0 0}}
