@font-face{font-family:IBM Plex Mono fallback;src:local("Georgia");size-adjust:134.5893%;ascent-override:76.1576%;descent-override:20.4325%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:IBM Plex Mono fallback;src:local("Courier New");size-adjust:99.9837%;ascent-override:102.5167%;descent-override:27.5045%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-display:swap;font-family:IBM Plex Mono;font-style:normal;font-weight:400;src:url(../fonts/ibm-plex-mono-v20-latin-regular.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono fallback;src:local("Georgia");size-adjust:134.5893%;ascent-override:76.1576%;descent-override:20.4325%;line-gap-override:0%;font-style:italic;font-weight:400}@font-face{font-family:IBM Plex Mono fallback;src:local("Courier New");size-adjust:99.9837%;ascent-override:102.5167%;descent-override:27.5045%;line-gap-override:0%;font-style:italic;font-weight:400}@font-face{font-display:swap;font-family:IBM Plex Mono;font-style:italic;font-weight:400;src:url(../fonts/ibm-plex-mono-v20-latin-italic.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono fallback;src:local("Georgia");size-adjust:134.5893%;ascent-override:76.1576%;descent-override:20.4325%;line-gap-override:0%;font-style:normal;font-weight:700}@font-face{font-family:IBM Plex Mono fallback;src:local("Courier New");size-adjust:99.9837%;ascent-override:102.5167%;descent-override:27.5045%;line-gap-override:0%;font-style:normal;font-weight:700}@font-face{font-display:swap;font-family:IBM Plex Mono;font-style:normal;font-weight:700;src:url(../fonts/ibm-plex-mono-v20-latin-700.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono fallback;src:local("Georgia");size-adjust:134.5893%;ascent-override:76.1576%;descent-override:20.4325%;line-gap-override:0%;font-style:italic;font-weight:700}@font-face{font-family:IBM Plex Mono fallback;src:local("Courier New");size-adjust:99.9837%;ascent-override:102.5167%;descent-override:27.5045%;line-gap-override:0%;font-style:italic;font-weight:700}@font-face{font-display:swap;font-family:IBM Plex Mono;font-style:italic;font-weight:700;src:url(../fonts/ibm-plex-mono-v20-latin-700italic.woff2) format("woff2")}@font-face{font-family:Spectral fallback;src:local("Georgia");size-adjust:100.0447%;ascent-override:105.8527%;descent-override:46.2793%;line-gap-override:0%;font-style:normal;font-weight:700}@font-face{font-family:Spectral fallback;src:local("Courier New");size-adjust:74.3212%;ascent-override:142.4896%;descent-override:62.2971%;line-gap-override:0%;font-style:normal;font-weight:700}@font-face{font-display:swap;font-family:Spectral;font-style:normal;font-weight:700;src:url(../fonts/spectral-v15-latin-700.woff2) format("woff2")}:root{isolation:isolate;--clr-primary: #1D37B5;--clr-secondary: #00FFD4;--clr-accent: #FF0059;--clr-white: hsl(150 33% 94%);--clr-black: hsl(225 25% 16%);--ld-white: light-dark(var(--clr-white), var(--clr-primary));--ld-primary: light-dark(var(--clr-primary), var(--clr-white));--ld-secondary: light-dark(var(--clr-secondary), var(--clr-secondary));--ld-accent: light-dark(var(--clr-accent), var(--clr-white));--fs-xs: clamp(.61rem, -.08vi + .63rem, .56rem);--fs-s: clamp(.73rem, .04vi + .72rem, .75rem);--fs-p: clamp(.88rem, .22vi + .82rem, 1rem);--fs-h3: clamp(1.05rem, .5vi + .93rem, 1.33rem);--fs-h2: clamp(1.26rem, .91vi + 1.05rem, 1.78rem);--fs-h1: clamp(1.51rem, 1.51vi + 1.16rem, 2.37rem);--fs-hero: clamp(1.81rem, 2.37vi + 1.26rem, 3.16rem);--ff-body: "IBM Plex Mono", monospace;--ff-heading: "Spectral", serif}[hidden]{display:none}.dark{color-scheme:dark}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*,:before,:after{box-sizing:border-box}html{font-size:16px;font-family:"var(--ff-body)","var(--ff-body) fallback",system-ui;font-optical-sizing:auto;font-weight:400;font-style:normal;font-display:swap}img,picture,video,canvas,svg{display:block;max-width:100%}svg{stroke:light-dark(#1D37B5,hsl(150 33% 94%))}@supports (color: light-dark(red,red)){svg{stroke:light-dark(var(--clr-primary),var(--clr-white))}}input,button,textarea,select{font:inherit}body{margin:0;background:light-dark(hsl(150 33% 94%),#1D37B5);background:var(--ld-white);color:light-dark(#1D37B5,hsl(150 33% 94%));color:var(--ld-primary);-webkit-font-smoothing:antialiased}hr{background:#1d37b5;background:var(--clr-primary);width:55dvw;margin-block:5rem;height:1px;border:0}.light-hr{background:light-dark(#00FFD4,#00FFD4);background:var(--ld-secondary)}p,.body{font-family:IBM Plex Mono,monospace;font-family:var(--ff-body);font-optical-sizing:auto;font-weight:400;font-style:normal}.heading{font-family:Spectral,serif;font-family:var(--ff-heading);font-optical-sizing:auto;font-weight:400;font-style:normal}.bold{font-weight:700}.italic{font-style:italic}p{font-size:clamp(.88rem,.22vi + .82rem,1rem);font-size:var(--fs-p);max-width:85ch;line-height:1.2}h1,h2,h3,h4,h5{line-height:1.25;margin:1rem 0}.display{font-size:var(--fs-display);font-weight:400;margin:2rem 0}h1,.h1{font-family:Spectral,serif;font-family:var(--ff-heading);font-weight:700;margin-top:0;color:light-dark(#1D37B5,hsl(150 33% 94%));color:var(--ld-primary);font-size:clamp(1.51rem,1.51vi + 1.16rem,2.37rem);font-size:var(--fs-h1);position:relative;overflow-x:clip;&:before{content:attr(data-name);display:block;background:text light-dark(#00FFD4,hsl(225 25% 16%));scale:2;-webkit-text-fill-color:transparent;margin-bottom:.025rem;opacity:.05;position:absolute;left:50%;top:50%;transform:translate(-25%,-27.5%);width:-moz-max-content;width:max-content;font-size:clamp(1.51rem,1.51vi + 1.16rem,2.37rem);font-size:var(--fs-h1);font-family:Spectral,serif;font-family:var(--ff-heading);font-weight:400;z-index:-1}@supports (color: light-dark(red,red)){&:before{background:text light-dark(var(--clr-secondary),var(--clr-black))}}}.dark{.h1,h1{&:before{opacity:.15}}}h2,.h2{font-family:Spectral,serif;font-family:var(--ff-heading);font-weight:700;font-optical-sizing:auto;font-style:normal;font-size:clamp(1.26rem,.91vi + 1.05rem,1.78rem);font-size:var(--fs-h2)}h3,.h3{font-family:Spectral,serif;font-family:var(--ff-heading);font-optical-sizing:auto;font-weight:300;font-style:normal;font-size:clamp(1.05rem,.5vi + .93rem,1.33rem);font-size:var(--fs-h3)}h4,.h4{font-family:Spectral,serif;font-family:var(--ff-heading);font-optical-sizing:auto;font-weight:300;font-style:normal;font-size:clamp(.88rem,.22vi + .82rem,1rem);font-size:var(--fs-p)}.subtitle{font-weight:400;font-family:IBM Plex Mono,monospace;font-family:var(--ff-body);text-transform:uppercase;letter-spacing:.25ch;color:light-dark(#00FFD4,#00FFD4);color:var(--ld-secondary)}p,.p{font-size:clamp(.88rem,.22vi + .82rem,1rem);font-size:var(--fs-p);letter-spacing:.05ch;line-height:1.45;& a:not(.btn):not(.btn-secondary){color:light-dark(#FF0059,#00FFD4);position:relative;transition:color cubic-bezier(.54,.78,.34,1.23) .15s;font-style:italic;font-family:IBM Plex Mono,monospace;font-family:var(--ff-body);&:visited{color:light-dark(#1D37B5,hsl(150 33% 94%))}@supports (color: light-dark(red,red)){&:visited{color:light-dark(var(--clr-primary),var(--clr-white))}}&:before{content:"";width:0%;height:100%;background-color:light-dark(#00FFD4,#00FFD4);z-index:-1;position:absolute;left:-.25ch;bottom:0;transition:width cubic-bezier(.54,.78,.34,1.23) .15s}@supports (color: light-dark(red,red)){&:before{background-color:light-dark(var(--clr-secondary),var(--clr-secondary))}}&:hover{color:light-dark(#1D37B5,hsl(225 25% 16%));&:before{width:calc(100% + .5ch)}}@supports (color: light-dark(red,red)){&:hover{color:light-dark(var(--clr-primary),var(--clr-black))}}}@supports (color: light-dark(red,red)){& a:not(.btn):not(.btn-secondary){color:light-dark(var(--clr-accent),var(--clr-secondary))}}}a:not(.btn):not(.btn-secondary){color:inherit;transition:all ease .15s;text-decoration-color:light-dark(#00FFD4,#00FFD4);text-decoration-thickness:2px;text-underline-offset:3px;position:relative;z-index:1;&:before{content:"";width:0%;height:100%;background-color:light-dark(#00FFD4,#00FFD4);position:absolute;left:-.5ch;bottom:0;z-index:-1;transition:width cubic-bezier(.54,.78,.34,1.23) .15s,padding cubic-bezier(.54,.78,.34,1.23) .15s}@supports (color: light-dark(red,red)){&:before{background-color:light-dark(var(--clr-secondary),var(--clr-secondary))}}&:hover:before{padding:0 1ch;width:calc(100% + 1ch)}&:hover svg{stroke:light-dark(#1D37B5,hsl(225 25% 16%))}@supports (color: light-dark(red,red)){&:hover svg{stroke:light-dark(var(--clr-primary),var(--clr-black))}}}@supports (color: light-dark(red,red)){a:not(.btn):not(.btn-secondary){text-decoration-color:light-dark(var(--clr-secondary),var(--clr-secondary))}}.quote{position:relative;width:-moz-fit-content;width:fit-content;margin-bottom:3rem}blockquote{font-family:Spectral,serif;font-family:var(--ff-heading);font-weight:400;font-size:clamp(1.05rem,.5vi + .93rem,1.33rem);font-size:var(--fs-h3);margin:1em 1em 0;max-width:20ch;position:relative;&:before{content:"“"}&:after{content:"”"}}figcaption{font-size:clamp(.73rem,.04vi + .72rem,.75rem);font-size:var(--fs-s);letter-spacing:.15rem;position:absolute;right:0;margin:.6em 2em 0 0;&:before{content:" — "}}.text-caption{font-size:clamp(.73rem,.04vi + .72rem,.75rem);font-size:var(--fs-s);font-style:italic}small,.small{font-size:clamp(.73rem,.04vi + .72rem,.75rem);font-size:var(--fs-s)}.center{text-align:center;margin-inline:auto;justify-content:center}button,.btn-secondary,.btn{padding:.65em 1em;font-size:clamp(.88rem,.22vi + .82rem,1rem);font-size:var(--fs-p);font-family:Spectral,serif;font-family:var(--ff-heading);line-height:1;position:relative;text-decoration:none;margin:.5em;display:inline-block;cursor:pointer;background-color:#00ffd4;background-color:var(--clr-secondary);border:solid 2px #00FFD4;border:solid 2px var(--clr-secondary);color:#1d37b5;color:var(--clr-primary);overflow:hidden;z-index:1;transform:scale(1);filter:brightness(1);transition:transform ease-in .125s,filter ease-in .125s;&:before{content:"";display:block;position:absolute;width:135%;height:100%;clip-path:polygon(0 0,75% 0,100% 100%,0% 100%);aspect-ratio:1 / 1;top:0;left:0;z-index:-1;transition:transform ease-in .25s;transform:translate(-110%);background-color:#ebf5f0;background-color:var(--clr-white)}&:hover{transform:scale(1.05);filter:brightness(1);&:before{transform:translate(0) scale(2)}}&:active{transform:scale(.95);filter:brightness(.98)}}form{margin:2rem}.inputwrap label{position:absolute;left:1rem;top:0;z-index:-1;transition:all cubic-bezier(.85,.42,.4,1.59) .15s}.inputwrap{position:relative;&:focus-within{label{font-size:clamp(.73rem,.04vi + .72rem,.75rem);font-size:var(--fs-s);top:-105%}}}.inputwrap:not(:has(input:-moz-placeholder)){label{font-size:clamp(.73rem,.04vi + .72rem,.75rem);font-size:var(--fs-s);top:-105%}}.inputwrap:not(:has(input:placeholder-shown)){label{font-size:clamp(.73rem,.04vi + .72rem,.75rem);font-size:var(--fs-s);top:-105%}}.inputwrap:has(input:required){label:after{content:"*";color:#00ffd4;color:var(--clr-secondary)}}input{outline:none;font-size:clamp(.88rem,.22vi + .82rem,1rem);font-size:var(--fs-p);padding:1rem;border:none;background-color:#fff0;border-bottom:2px solid #1D37B5;border-bottom:2px solid var(--clr-primary)}input:focus{border-bottom-color:#ff0059;border-bottom-color:var(--clr-accent)}input:invalid:not(:-moz-placeholder){border-bottom-color:#00ffd4;border-bottom-color:var(--clr-secondary)}input:invalid:not(:placeholder-shown){border-bottom-color:#00ffd4;border-bottom-color:var(--clr-secondary)}input[type=checkbox]:checked,input[type=radio]:checked{accent-color:#FF0059;accent-color:var(--clr-accent)}.content-width{max-width:1280px;padding:2rem 3rem;margin:0 auto}header .content-width{display:flex;justify-content:space-between}.theme-selector{position:fixed;right:1.5rem;top:1.5rem;z-index:1000;display:flex;gap:1rem;justify-content:center;align-items:center;padding:1rem;background-color:#fff;border-radius:1rem;height:2rem;box-shadow:0 0 10px -8px #ff0059;box-shadow:0 0 10px -8px var(--clr-accent);& label{height:1rem;opacity:.5;transition:opacity ease .15s,scale ease .15s;cursor:pointer;&:hover{scale:1.1;opacity:1;& svg{fill:#00ffd4;fill:var(--clr-secondary)}}}& input+label svg{stroke:#1d37b5;stroke:var(--clr-primary)}& input:checked+label{opacity:1;cursor:default;& svg{fill:#00ffd4;fill:var(--clr-secondary)}&:hover{scale:1}}}.announcement-bar[data-astro-cid-oha6yzzn]{background-color:var(--clr-secondary);color:var(--clr-off-white);text-align:center;font-size:var(--fs-s);padding:.5rem 1rem;font-weight:400;position:absolute;top:0;left:0;width:100vw;text-transform:uppercase;letter-spacing:.2em}body{min-height:100vh;display:grid;place-items:center;padding:5rem 0}h1[data-astro-cid-p6y6obex],h3[data-astro-cid-p6y6obex]{margin:0}.data[data-astro-cid-p6y6obex],.data--item[data-astro-cid-p6y6obex]{display:flex;gap:1.5rem;justify-content:center;margin-top:.5rem}.data--item[data-astro-cid-p6y6obex]{gap:.5ch;align-items:center}.socials[data-astro-cid-p6y6obex],.profile-card--skills[data-astro-cid-p6y6obex]{display:flex;flex-wrap:wrap;justify-content:stretch;font-size:var(--fs-s);margin:1.5rem 0;gap:.5rem}.profile-card--skills[data-astro-cid-p6y6obex]{gap:0;border-right:2px solid var(--clr-secondary);border-bottom:2px solid var(--clr-secondary)}.skill[data-astro-cid-p6y6obex]{border-top:2px solid var(--clr-secondary);border-left:2px solid var(--clr-secondary);padding:.5rem 1rem;min-height:1.2em;display:flex;align-items:center;flex:1 1 auto;justify-content:center;gap:.5rem;background-color:var(--clr-off-white)}.profile-card--content[data-astro-cid-p6y6obex]{width:min(90vw,600px);padding:2rem;padding-top:calc(50px + 1rem);margin-top:-50px;position:relative}.flex-links[data-astro-cid-p6y6obex]{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:1rem;>a[data-astro-cid-p6y6obex]{display:block}}.profile-card--img[data-astro-cid-p6y6obex]{width:100px;height:100px;border-radius:50%;-o-object-fit:cover;object-fit:cover;margin-bottom:1rem;border:3px solid var(--clr-secondary);margin:0 auto;display:block;z-index:2;position:relative}.logo[data-astro-cid-j7pv25f6]{width:auto;height:70px;margin:50px auto 0;display:block;background-color:var(--clr-white);padding:.5rem}
