:root{--navy: #0a192f;--light-navy: #112240;--lightest-navy: #233554;--navy-shadow: rgba(2, 12, 27, .7);--dark-slate: #495670;--slate: #8892b0;--light-slate: #a8b2d1;--lightest-slate: #ccd6f6;--white: #e6f1ff;--green: #64ffda;--green-tint: rgba(100, 255, 218, .1);--accent: var(--green);--black: var(--navy);--gray: var(--slate);--gray-light: var(--light-slate);--gray-gradient: linear-gradient(180deg, var(--navy) 0%, var(--light-navy) 100%);--box-shadow: 0 10px 30px -15px var(--navy-shadow);--font-sans: __inter_20b187, __inter_Fallback_20b187, ui-sans-serif, system-ui, -apple-system, "system-ui", "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: "SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", monospace;--fz-xxs: 12px;--fz-xs: 13px;--fz-sm: 14px;--fz-md: 16px;--fz-lg: 18px;--fz-xl: 20px;--fz-xxl: 22px;--fz-heading: 32px;--border-radius: 4px;--nav-height: 100px;--nav-scroll-height: 70px;--tab-height: 42px;--tab-width: 120px;--transition: all .25s cubic-bezier(.645, .045, .355, 1)}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}body{font-family:var(--font-sans);margin:0;padding:0;text-align:left;background:var(--navy);word-wrap:break-word;overflow-wrap:break-word;color:var(--slate);font-size:var(--fz-lg);line-height:1.7;min-height:100vh;overflow-x:hidden}main{width:100%;max-width:1600px;margin:0 auto;padding:110px 0 0;position:relative;counter-reset:section}section{margin:0 auto;padding:50px 0;max-width:1000px}.section-heading{display:flex;align-items:center;position:relative;margin:10px 0 40px;width:100%;font-size:clamp(26px,5vw,var(--fz-heading));white-space:nowrap;color:var(--lightest-slate);font-weight:600}.section-heading:before{position:relative;counter-increment:section;content:"0" counter(section) ".";margin-right:10px;color:var(--green);font-family:var(--font-mono);font-size:clamp(var(--fz-md),3vw,var(--fz-xl));font-weight:400}.section-heading:after{content:"";display:block;position:relative;width:300px;height:1px;margin-left:20px;background-color:var(--lightest-navy)}.container{width:100%;padding:0 150px;margin:0 auto}@media (max-width: 1080px){.container{padding:0 100px}}@media (max-width: 768px){.container{padding:0 50px}}@media (max-width: 480px){.container{padding:0 25px}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}h1,h2,h3,h4,h5,h6{margin:0 0 .5rem;color:var(--lightest-slate);line-height:1.1;font-weight:600}h1{font-size:clamp(40px,8vw,80px);font-weight:700;letter-spacing:-.03em;margin-bottom:1rem}h2{font-size:clamp(var(--fz-heading),5vw,60px);font-weight:600;letter-spacing:-.02em;margin:2rem 0 1rem}h3{font-size:clamp(var(--fz-xl),4vw,32px);font-weight:600;letter-spacing:-.02em;margin:1.5rem 0 .75rem}h4{font-size:var(--fz-xl);font-weight:600;margin:1.25rem 0 .5rem}h5{font-size:var(--fz-lg);font-weight:600;margin:1rem 0 .5rem}strong,b{font-weight:700;color:var(--lightest-slate)}a{color:var(--green);text-decoration:none;transition:var(--transition);position:relative}a:hover,a:focus{color:var(--green)}a.inline-link{display:inline-block;text-decoration:none;text-decoration-skip-ink:auto;position:relative;transition:var(--transition);color:var(--green)}a.inline-link:hover,a.inline-link:focus{color:var(--green);outline:0}a.inline-link:hover:after,a.inline-link:focus:after{width:100%}a.inline-link:after{content:"";display:block;width:0;height:1px;position:relative;bottom:.1em;background-color:var(--green);transition:var(--transition);opacity:.5}.navbar{position:fixed;top:0;z-index:11;width:100%;height:70px;padding:0 50px;background-color:#0a192fd9;backdrop-filter:blur(10px);transition:var(--transition);display:flex;justify-content:flex-end}.logo a{color:var(--green);font-family:var(--font-mono);font-size:var(--fz-xl);font-weight:700;text-decoration:none}.nav-links{display:flex;align-items:center}.nav-links ol{display:flex;justify-content:space-between;align-items:center;padding:0;margin:0;list-style:none}.nav-links li{margin:0 5px;position:relative;counter-increment:item 1;font-size:var(--fz-xs)}.nav-links a{padding:10px;text-decoration:none;color:var(--lightest-slate)}.nav-links a:hover{color:var(--green)}.nav-links a span{color:var(--green);font-family:var(--font-mono);font-size:var(--fz-xxs);margin-right:5px}.home-subnav{position:fixed;left:40px;bottom:0;z-index:10;width:40px;writing-mode:vertical-rl;display:flex;align-items:center;justify-content:center;gap:30px;padding:0;margin:0;height:100vh;background-color:transparent}.home-subnav a{color:var(--light-slate);text-decoration:none;font-size:var(--fz-sm);font-family:var(--font-mono);padding:10px;letter-spacing:.1em;transform:rotate(180deg)}.home-subnav a:hover{color:var(--green)}body:has(.hero-section) .home-subnav{display:flex;justify-content:center;gap:20px}.social-links{display:none}.social-icons{display:flex;justify-content:center;margin-top:30px;gap:20px}.social-icons a{color:var(--lightest-slate);transition:var(--transition)}.social-icons a:hover{color:var(--green);transform:translateY(-3px)}.social-icons svg{width:20px;height:20px}.big-heading{margin:0;font-size:clamp(40px,8vw,80px);font-weight:600;line-height:1.1}.hero-subtitle{color:var(--slate);font-size:var(--fz-xl);line-height:1.5}.button{color:var(--green);background-color:transparent;border:1px solid var(--green);border-radius:var(--border-radius);padding:1.25rem 1.75rem;font-size:var(--fz-sm);font-family:var(--font-mono);line-height:1;text-decoration:none;cursor:pointer;transition:var(--transition);display:inline-block}.button:hover,.button:focus{background-color:var(--green-tint);outline:none}.about-grid{display:grid;grid-template-columns:3fr 2fr;gap:50px}.about-text{max-width:540px}.about-pic{position:relative;max-width:300px}.about-pic .wrapper{display:block;position:relative;width:100%;border-radius:var(--border-radius);background-color:var(--green)}.about-pic .wrapper:hover:before,.about-pic .wrapper:hover .img{background:transparent;filter:none}.about-pic .wrapper:before{content:"";position:absolute;width:100%;height:100%;border-radius:var(--border-radius);transition:var(--transition);background-color:var(--navy);mix-blend-mode:screen}.about-pic .img{position:relative;border-radius:var(--border-radius);mix-blend-mode:multiply;filter:grayscale(100%) contrast(1);transition:var(--transition);max-width:100%}.projects-grid{display:flex;flex-direction:column;gap:100px;position:relative;margin-top:50px}.project-card{display:grid;grid-template-columns:repeat(12,1fr);align-items:center;gap:10px}.project-card.reverse .project-content{grid-column:7 / -1;text-align:right}.project-card.reverse .project-image{grid-column:1 / 8}.project-content{position:relative;grid-column:1 / 7;grid-row:1 / -1;z-index:2}.project-image{grid-column:6 / -1;grid-row:1 / -1;position:relative;z-index:1;border-radius:var(--border-radius);height:300px;background-color:var(--green)}.project-image-placeholder{height:100%;display:flex;align-items:center;justify-content:center;color:var(--navy);font-weight:600;border-radius:var(--border-radius)}.project-overline{margin:10px 0;color:var(--green);font-family:var(--font-mono);font-size:var(--fz-xs);font-weight:400}.project-title{color:var(--lightest-slate);font-size:clamp(24px,5vw,28px);margin:0 0 20px}.project-description{position:relative;padding:25px;border-radius:var(--border-radius);background-color:var(--light-navy);color:var(--light-slate);font-size:var(--fz-lg);z-index:2}.project-tech-list{display:flex;flex-wrap:wrap;position:relative;z-index:2;margin:25px 0 10px;padding:0;list-style:none}.project-card.reverse .project-tech-list{justify-content:flex-end}.project-tech-list li{margin:0 20px 5px 0;color:var(--light-slate);font-family:var(--font-mono);font-size:var(--fz-xs);white-space:nowrap}.project-card.reverse .project-tech-list li{margin:0 0 5px 20px}.project-links{display:flex;align-items:center;position:relative;margin-top:10px;color:var(--lightest-slate)}.project-card.reverse .project-links{justify-content:flex-end}.project-links a{display:flex;justify-content:center;align-items:center;padding:10px;color:var(--lightest-slate)}.project-links a:hover{color:var(--green)}.project-links svg{width:20px;height:20px}@media (max-width: 768px){.project-card{display:block}.project-card.reverse .project-content,.project-content{display:flex;flex-direction:column;text-align:left;padding:40px 40px 30px}.project-card.reverse .project-tech-list,.project-card.reverse .project-links{justify-content:flex-start}.project-card.reverse .project-tech-list li{margin:0 20px 5px 0}.project-image{height:100%;opacity:.25}}.skills-content{max-width:700px}.skills-content>p{margin-bottom:30px;font-size:var(--fz-xl)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:30px;margin-top:30px}.skills-category-title{color:var(--lightest-slate);font-size:var(--fz-lg);font-weight:600;margin-bottom:20px;position:relative;padding-left:20px}.skills-category-title:before{content:"▹";position:absolute;left:0;color:var(--green)}.skills-list{padding:0;margin:0;list-style:none}.skills-list li{position:relative;padding-left:20px;margin-bottom:10px;font-family:var(--font-mono);font-size:var(--fz-sm);color:var(--slate)}.skills-list li:before{content:"▹";position:absolute;left:0;color:var(--green)}.experience-content{max-width:700px}.tab-container{display:flex;margin-top:20px}.tab-list{display:flex;flex-direction:column;position:relative;width:120px;margin-right:25px;border-left:2px solid var(--lightest-navy)}.tab-button{display:flex;align-items:center;width:100%;height:42px;padding:0 20px;border:none;border-left:2px solid transparent;background-color:transparent;color:var(--slate);font-family:var(--font-mono);font-size:var(--fz-xs);text-align:left;white-space:nowrap;cursor:pointer;transition:var(--transition);margin-left:-2px}.tab-button:hover{color:var(--green);background-color:var(--light-navy)}.tab-button.active{color:var(--green);border-left:2px solid var(--green)}.tab-panels{position:relative;width:100%;margin-left:20px}.tab-panel{display:none;animation:fadeIn .5s}.tab-panel.active{display:block}.job-title{font-size:var(--fz-xxl);font-weight:500;margin-bottom:5px;color:var(--lightest-slate)}.company{color:var(--green)}.job-duration{font-family:var(--font-mono);font-size:var(--fz-xs);color:var(--light-slate);margin-bottom:25px}.job-duties{padding:0;margin:0;list-style:none}.job-duties li{position:relative;padding-left:30px;margin-bottom:10px;font-size:var(--fz-lg);color:var(--slate)}.job-duties li:before{content:"▹";position:absolute;left:0;color:var(--green)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.navbar{padding:0 25px}.nav-links,.social-links{display:none}.about-grid{grid-template-columns:1fr;gap:30px}.about-pic{margin:0 auto}.tab-container{display:block}.tab-list{display:flex;flex-direction:row;overflow-x:auto;width:100%;margin-bottom:30px;margin-right:0;border-left:0;border-bottom:2px solid var(--lightest-navy)}.tab-button{border-left:0;border-bottom:2px solid transparent;padding:0 15px 15px;min-width:120px;margin-left:0;margin-bottom:-2px}.tab-button.active{border-left:0;border-bottom:2px solid var(--green)}.tab-panels{margin-left:0}.hero-content h1{font-size:40px}.hero-subtitle{font-size:16px}.project-card{height:auto}.project-content{padding:25px}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}section{margin:80px 0}.section-heading{font-size:24px}}p{margin:0 0 1.5em;max-width:68ch}.prose p{margin-bottom:2em;line-height:1.9}textarea{width:100%;font-size:16px}input{font-size:16px}table{width:100%}img{max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 12px rgba(var(--gray),.1);margin:1.5rem 0;transition:transform .2s ease}img:hover{transform:scale(1.01)}.sr-only{border:0;padding:0;margin:0;position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}.navbar[data-astro-cid-3ef6ksr2]{position:fixed;top:0;z-index:11;width:100%;height:70px;padding:0 50px;background-color:#0a192fd9;backdrop-filter:blur(10px);transition:var(--transition)}nav[data-astro-cid-3ef6ksr2]{display:flex;justify-content:space-between;align-items:center;position:relative;width:100%;height:100%;color:var(--lightest-slate);font-family:var(--font-mono);counter-reset:item 0;z-index:12}.logo-link[data-astro-cid-3ef6ksr2]{display:flex;justify-content:center;align-items:center;color:var(--green);width:42px;height:42px;font-size:20px;font-weight:700}.logo-container[data-astro-cid-3ef6ksr2]{display:flex;justify-content:center;align-items:center;width:42px;height:42px;border:2px solid var(--green);border-radius:var(--border-radius)}.nav-links[data-astro-cid-3ef6ksr2]{display:flex;align-items:center}.nav-links[data-astro-cid-3ef6ksr2] ol[data-astro-cid-3ef6ksr2]{display:flex;justify-content:space-between;align-items:center;padding:0;margin:0;list-style:none}.nav-links[data-astro-cid-3ef6ksr2] ol[data-astro-cid-3ef6ksr2] li[data-astro-cid-3ef6ksr2]{margin:0 5px;position:relative;counter-increment:item 1;font-size:var(--fz-xs)}.nav-links[data-astro-cid-3ef6ksr2] ol[data-astro-cid-3ef6ksr2] li[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:10px;color:var(--lightest-slate)}.nav-links[data-astro-cid-3ef6ksr2] ol[data-astro-cid-3ef6ksr2] li[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{color:var(--green)}.nav-links[data-astro-cid-3ef6ksr2] ol[data-astro-cid-3ef6ksr2] li[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]{color:var(--green);font-size:var(--fz-xxs);margin-right:5px}.social-links[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;margin-left:15px}.social-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:10px;color:var(--lightest-slate)}.social-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{color:var(--green);transform:translateY(-3px)}.sr-only[data-astro-cid-3ef6ksr2]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (max-width: 768px){.navbar[data-astro-cid-3ef6ksr2]{padding:0 25px}.nav-links[data-astro-cid-3ef6ksr2] ol[data-astro-cid-3ef6ksr2]{display:none}}footer[data-astro-cid-sz7xmlte]{padding:2em 1em 6em;background:linear-gradient(var(--gray-gradient)) no-repeat;color:rgb(var(--gray));text-align:center;font-size:var(--fz-sm)}
