:root{--background:#fff;--foreground:#0a0a0a;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--blue-50:#eff6ff;--blue-100:#dbeafe;--blue-400:#60a5fa;--blue-500:#3b82f6;--blue-600:#2563eb;--blue-700:#1d4ed8;--purple-700:#7e22ce}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--foreground);background:var(--background);font-family:var(--font-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}.srOnly{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.navbar{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--slate-800);background:#0f172af2;position:sticky;top:0}.navbar,.brandMark,.navLinks,.mobileNav,.socialRow,.heroActions,.techCloud,.projectActions,.footerLinks,.footerSocials,.metaLine{align-items:center;display:flex}.navbar{justify-content:space-between;min-height:4rem;padding:0 1rem}.brandMark{height:4rem}.brandInitials{background:var(--blue-500);color:#fff;border-radius:.5rem;place-items:center;width:2rem;height:2rem;font-size:.78rem;font-weight:800;transition:opacity .2s;display:grid}.brandMark:hover .brandInitials{opacity:.8}.navLinks{gap:2rem;display:none}.navLinks a{color:var(--slate-300);font-weight:600;transition:color .2s}.navLinks a:hover{color:#fff}.navContact{background:var(--blue-500);border-radius:.5rem;padding:.5rem 1rem;transition:background .2s;color:#fff!important}.navContact:hover{background:var(--blue-600)}.menuButton{color:var(--slate-300);cursor:pointer;background:0 0;border:0;transition:color .2s}.menuButton:hover{color:#fff}.mobileNav{background:var(--slate-900);border-bottom:1px solid var(--slate-800);flex-direction:column;align-items:stretch;gap:.5rem;padding:1rem;position:absolute;top:4rem;left:0;right:0}.mobileNav a{color:var(--slate-300);border-radius:.5rem;padding:.5rem 1rem;display:block}.mobileNav a:hover{color:#fff;background:var(--slate-800)}.sectionWrap{max-width:80rem;margin:0 auto;padding:0 1rem}.heroSection{background:linear-gradient(135deg, var(--slate-900), var(--slate-800), var(--slate-900));justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.heroGlow{pointer-events:none;position:absolute;inset:0}.heroGlowOne{background:radial-gradient(at 100% 0,#1d4ed833,#0000 55%)}.heroGlowTwo{background:radial-gradient(at 0 100%,#7e22ce33,#0000 55%)}.heroGrid{z-index:1;grid-template-columns:1fr;align-items:center;gap:3rem;padding-top:5rem;padding-bottom:5rem;display:grid;position:relative}.heroCopy{text-align:center;gap:1.5rem;display:grid}.heroIntro{gap:.5rem;display:grid}.heroIntro p{color:var(--blue-400);font-size:1.125rem;font-weight:600}.heroIntro h1{color:#fff;letter-spacing:-.04em;font-size:clamp(3rem,11vw,4.5rem);line-height:1;font-family:var(--font-display), var(--font-sans), sans-serif}.heroIntro strong{color:var(--slate-300);font-size:clamp(1.5rem,6vw,1.875rem);font-weight:700}.heroHeadline{max-width:42rem;color:var(--slate-400);margin:0 auto;font-size:1.25rem}.heroBio{max-width:42rem;color:var(--slate-300);margin:0 auto;font-size:1.125rem;line-height:1.75}.mobilePortrait{justify-content:center;display:flex}.desktopPortrait{display:none}.heroPortraitCard{position:relative}.heroPortraitCard:before{content:"";background:linear-gradient(135deg, var(--blue-500), #9333ea);filter:blur(2rem);opacity:.3;border-radius:1rem;animation:2.5s ease-in-out infinite pulse;position:absolute;inset:0}.heroPortrait{object-fit:cover;border:4px solid var(--slate-700);border-radius:1rem;width:18rem;height:18rem;position:relative;box-shadow:0 25px 50px #00000059}.heroActions{flex-direction:column;justify-content:center;gap:1rem;padding-top:1rem}.buttonPrimary,.buttonSecondary{border-radius:.5rem;justify-content:center;align-items:center;padding:1rem 2rem;font-weight:700;transition:all .2s;display:inline-flex}.buttonPrimary{background:var(--blue-600);color:#fff;box-shadow:0 10px 28px #3b82f659}.buttonPrimary:hover{background:var(--blue-700);box-shadow:0 12px 34px #3b82f680}.buttonSecondary{color:#fff;border:2px solid #fff}.buttonSecondary:hover{color:var(--slate-900);background:#fff}.heroMeta{display:none}.socialRow{justify-content:center;gap:1rem;padding-top:1.5rem}.socialRow a{background:var(--slate-800);width:3rem;height:3rem;color:var(--slate-300);border-radius:.5rem;place-items:center;font-weight:800;transition:all .2s;display:grid}.socialRow svg{width:1.35rem;height:1.35rem}.socialRow a:hover{background:var(--slate-700);color:#fff;transform:scale(1.1)}.scrollCue{border:2px solid var(--slate-400);border-radius:999px;justify-content:center;width:1.5rem;height:2.5rem;padding:.5rem;animation:1.5s infinite bounce;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.scrollCue:before{content:"";background:var(--slate-400);border-radius:999px;width:.25rem;height:.75rem;animation:1.5s ease-in-out infinite scroll}.sectionBlock{background:var(--slate-50);padding:5rem 0}.sectionWhite{background:#fff}.sectionHeader{text-align:center;margin-bottom:4rem}.sectionHeader h2,.contactCard h2{color:var(--slate-900);letter-spacing:-.03em;font-size:clamp(2.25rem,7vw,3rem);font-weight:800;line-height:1.1;font-family:var(--font-display), var(--font-sans), sans-serif}.sectionHeader p,.contactCard p{max-width:42rem;color:var(--slate-600);margin:1rem auto 0;font-size:1.25rem}.timeline{position:relative}.timeline:before{display:none}.timelineItem{grid-template-columns:1fr;gap:2rem;margin-bottom:3rem;display:grid;position:relative}.timelineMarker{display:none}.timelineCard{background:#fff;border-radius:.75rem;padding:1.5rem;transition:box-shadow .3s;box-shadow:0 10px 28px #0f172a1f}.timelineCard:hover,.projectCard:hover,.skillCard:hover{box-shadow:0 20px 40px #0f172a29}.cardHeader{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.cardHeader h3{color:var(--slate-900);font-size:1.5rem;font-weight:800;line-height:1.2}.cardHeader p{color:var(--blue-600);font-size:1.125rem;font-weight:700}.cardHeader span,.durationPill{background:var(--slate-100);color:var(--slate-600);border-radius:.25rem;flex:none;padding:.25rem .5rem;font-size:.8rem;font-weight:700}.metaLine{color:var(--slate-600);gap:1rem;margin-top:.75rem;font-size:.875rem}.durationPill{margin-top:.75rem;display:inline-flex}.cardSummary{color:var(--slate-700);margin:1rem 0}.textButton{color:var(--blue-600);cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;margin-bottom:1rem;font-weight:700;transition:color .2s;display:inline-flex}.textButton:hover{color:var(--blue-700)}.detailsPanel{margin-bottom:1rem;animation:.3s reveal}.detailsPanel ul{color:var(--slate-700);gap:.5rem;padding-left:1.1rem;display:grid}.techCloud{flex-wrap:wrap;gap:.5rem}.techCloud span{background:var(--slate-100);color:var(--slate-700);border-radius:999px;padding:.25rem .75rem;font-size:.875rem;font-weight:700}.skillsGrid{grid-template-columns:1fr;gap:2rem;display:grid}.skillCard{background:var(--slate-50);border-radius:.75rem;padding:1.5rem;transition:box-shadow .3s}.skillCard h3{color:var(--slate-900);font-size:1.25rem;font-weight:800}.skillCard div{gap:.75rem;margin-top:1rem;display:grid}.skillCard span{color:var(--slate-700);font-weight:700}.projectsGrid{grid-template-columns:1fr;gap:2rem;display:grid}.projectCard{background:#fff;border-radius:.75rem;transition:transform .3s,box-shadow .3s;overflow:hidden;box-shadow:0 10px 28px #0f172a1f}.projectCard:hover{transform:translateY(-.25rem)}.projectHeader{border-bottom:1px solid var(--slate-100);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem;display:flex}.projectHeader h3{color:var(--slate-900);margin-bottom:.5rem;font-size:1.5rem;font-weight:800}.projectHeader p{color:var(--slate-600)}.projectHeader span{background:var(--blue-100);color:var(--blue-700);border-radius:999px;flex:none;padding:.25rem .75rem;font-size:.875rem;font-weight:800}.projectBody{padding:1rem 1.5rem 1.5rem}.projectActions{gap:.75rem;margin-top:1rem}.projectActions a{border:2px solid var(--slate-900);color:var(--slate-900);border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:700;transition:all .2s;display:inline-flex}.projectActions a:first-child,.projectActions a:hover{background:var(--slate-900);color:#fff}.contactSection{background:#fff;padding:5rem 0}.contactCard{text-align:center;max-width:48rem;margin:0 auto;padding:0 1rem}.contactCard .buttonPrimary{color:#fff;margin-top:3rem}.footer{background:var(--slate-900);color:var(--slate-300);grid-template-columns:1fr;gap:2rem;padding:3rem 1rem;display:grid}.footer h2{color:#fff;margin-bottom:1rem;font-size:1.125rem;font-weight:800}.footer p{color:var(--slate-400);font-size:.875rem}.footerLinks,.footerSocials{flex-direction:column;align-items:flex-start;gap:.5rem;font-size:.875rem}.footer a:hover{color:#fff}.copyright{border-top:1px solid var(--slate-800);padding-top:2rem}.notFound{text-align:center;background:var(--slate-900);min-height:100vh;color:var(--slate-300);place-content:center;gap:1rem;padding:2rem;display:grid}.notFound h2{color:#fff;font-size:3rem}.notFound a{color:var(--blue-400);font-weight:800}.backToTop{z-index:60;background:var(--slate-900);color:#fff;opacity:0;pointer-events:none;border:1px solid #ffffff29;border-radius:.75rem;place-items:center;width:3rem;height:3rem;font-size:1.25rem;font-weight:800;transition:opacity .2s,transform .2s,background .2s;display:grid;position:fixed;bottom:1rem;right:1rem;transform:translateY(.75rem);box-shadow:0 18px 40px #0f172a47}.backToTop:hover{background:var(--blue-600)}.backToTopVisible{opacity:1;pointer-events:auto;transform:translateY(0)}@keyframes scroll{0%,to{transform:translateY(0)}50%{transform:translateY(.5rem)}}@keyframes bounce{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-.5rem)}}@keyframes pulse{0%,to{opacity:.3}50%{opacity:.42}}@keyframes reveal{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (min-width:640px){.heroActions{flex-direction:row}.sectionWrap,.navbar,.footer{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:768px){.navbar{padding-left:max(1.5rem,50vw - 38.5rem);padding-right:max(1.5rem,50vw - 38.5rem)}.navLinks{display:flex}.menuButton{display:none}.heroIntro h1{font-size:4.5rem}.timeline:before{content:"";background:var(--slate-300);width:2px;display:block;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timelineItem{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.timelineItemRight .timelineCard{grid-column:2}.timelineMarker{background:var(--blue-600);color:#0000;border:4px solid #fff;border-radius:999px;width:1rem;height:1rem;display:block;position:absolute;top:2rem;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 8px 20px #0f172a2e}.timelineItemLeft .timelineCard{margin-right:3rem}.timelineItemRight .timelineCard{margin-left:3rem}.skillsGrid,.footer{grid-template-columns:repeat(3,minmax(0,1fr))}.projectsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.copyright{grid-column:1/-1}}@media (min-width:1024px){.heroGrid{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr))}.heroCopy{text-align:left}.heroHeadline,.heroBio{margin-left:0}.heroActions,.socialRow{justify-content:flex-start}.mobilePortrait{display:none}.desktopPortrait{justify-content:flex-end;display:flex}.heroPortrait{width:24rem;height:24rem}.skillsGrid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_570df373-module__JM1yhG__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_570df373-module__JM1yhG__variable{--font-sans:"Inter", "Inter Fallback"}
