:root{--ink:#0a1f44;--paper:#fbfaf6;--coral:#1fb5a8;--blue:#0f3d91;--acid:#b4ece1;--on-coral:#0a1f44;--pink:#c9dcf5;--tape-blue:#8fb3e8;--grid-line:#0f3d911a;--mark-shadow:#0f3d91;--font:"Space Grotesk", system-ui, sans-serif;--mono:"DM Mono", ui-monospace, monospace;--bg:#fafaf9;--fg:#1c1917;--muted:#78716c;--border:#e7e5e4;--card:#fff;--accent:#0f3d91;--radius:12px;--width:44rem}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{background-color:var(--paper);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);min-width:320px;color:var(--ink);font:1.0625rem/1.65 var(--font);background-size:26px 26px;margin:0}a{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}a,button{touch-action:manipulation}h1,h2,h3{text-wrap:balance}.skip-link{z-index:100;border:2px solid var(--ink);background:var(--acid);color:var(--ink);font:500 12px var(--mono);padding:10px 14px;position:absolute;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}[id]{scroll-margin-top:90px}main.page-main{width:min(1180px,100% - 64px);min-height:calc(100vh - 140px);margin:0 auto;padding:62px 0 74px}main.page-main>h1{color:var(--ink);letter-spacing:-.04em;text-transform:uppercase;margin:0 0 28px;padding:3px 6px 0 0;font-size:clamp(3rem,8vw,6rem);line-height:.85;display:inline-block}main.page-main>h2{color:var(--blue);letter-spacing:.08em;text-transform:uppercase;margin:44px 0 18px;font-size:1.1rem}main.page-main>p{max-width:760px}.muted{color:#0a1f44a3;font-family:var(--mono);font-size:.84em}.grid{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem;display:grid}.card{border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);background:#fff9dee6;border-radius:0;padding:1.25rem}.card h3{margin:0 0 .25rem}.card p{margin:.25rem 0 .75rem}.card a{color:var(--blue)}.tag{border:1px solid var(--ink);background:var(--acid);color:var(--ink);font:.8rem var(--mono);border-radius:0;margin:0 .25rem .25rem 0;padding:.1rem .6rem;display:inline-block}main.page-main>p a{color:var(--blue);font-family:var(--mono)}@media (width<=760px){main.page-main{width:min(100% - 36px,580px);padding:42px 0 54px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--navy:#0a1f44;--cream:#fff8e1}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#081428;--ink:#fdf3cf;--blue:#8db3f2;--coral:#2dd4bf;--on-coral:#081428;--acid:#f5d547;--grid-line:#8db3f217;--mark-shadow:#122a55;--shadow:#020711;--panel:#122a55}:root[data-theme=dark] :is(.portrait-card,.sticky-note,.about-note,.terminal,.work-button,.talk-button,.contact-button,.model-label,.code-sticker,mark,.skip-link,.theme-toggle:hover,.theme-toggle:focus-visible){--ink:var(--navy);--paper:var(--cream);--blue:#0f3d91}:root[data-theme=dark] :is(.portrait-card,.sticky-note,.about-note,.talk-button,.model-label,.code-sticker,mark,.skip-link,.theme-toggle:hover,.theme-toggle:focus-visible){color:var(--navy)}:root[data-theme=dark] :is(.skill-group,.project-card:nth-child(n),.education,.journey-card,.availability,.stack){background:var(--panel);color:var(--ink)}:root[data-theme=dark] .talk-button{background:var(--coral)}:root[data-theme=dark] .project-card b{background:var(--paper)}:root[data-theme=dark] .learning,:root[data-theme=dark] .languages{color:#fdf3cfbd}:root[data-theme=dark] .portfolio-shell:after{mix-blend-mode:screen;opacity:.05}:root[data-theme=dark] .tag{border-color:var(--coral);color:var(--ink);background:0 0}.site-header[data-astro-cid-nen7h5rs]{z-index:10;border-bottom:2px solid var(--ink);background:var(--paper);position:relative}.header-inner[data-astro-cid-nen7h5rs]{grid-template-columns:1fr auto 1fr;align-items:center;width:min(1180px,100% - 64px);min-height:77px;margin:0 auto;padding:18px 0;display:grid}.badge[data-astro-cid-nen7h5rs]{flex:none;width:48px;height:48px;transition:transform .15s;display:block}.badge[data-astro-cid-nen7h5rs] svg[data-astro-cid-nen7h5rs]{width:48px;height:48px;display:block}.badge[data-astro-cid-nen7h5rs] .m-tile[data-astro-cid-nen7h5rs]{fill:var(--ink)}.badge[data-astro-cid-nen7h5rs] .m-shadow[data-astro-cid-nen7h5rs]{fill:var(--mark-shadow)}.badge[data-astro-cid-nen7h5rs] .m-fold[data-astro-cid-nen7h5rs]{fill:var(--coral)}.monogram[data-astro-cid-nen7h5rs]:hover .badge[data-astro-cid-nen7h5rs],.monogram[data-astro-cid-nen7h5rs]:focus-visible .badge[data-astro-cid-nen7h5rs]{transform:translate(2px,2px)}.wordmark[data-astro-cid-nen7h5rs]{gap:3px;line-height:1;display:grid}.wordmark[data-astro-cid-nen7h5rs] strong[data-astro-cid-nen7h5rs]{font:700 17px/1 var(--font);letter-spacing:-.03em}.wordmark[data-astro-cid-nen7h5rs] small[data-astro-cid-nen7h5rs]{color:var(--ink);opacity:.65;font:400 11px/1 var(--mono);letter-spacing:.02em}.monogram[data-astro-cid-nen7h5rs]{color:var(--ink);justify-self:start;align-items:center;gap:12px;text-decoration:none;display:inline-flex}nav[data-astro-cid-nen7h5rs]{gap:22px;display:flex}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--ink);font:500 12px var(--mono);text-transform:uppercase;padding:4px 0;text-decoration:none;position:relative}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs] small[data-astro-cid-nen7h5rs]{color:var(--blue);vertical-align:1px;font-size:10px}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:after{background:var(--coral);content:"";transform-origin:0;height:3px;transition:transform .2s;position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)rotate(-1deg)}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover:after,nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:focus-visible:after,nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current]:after{transform:scaleX(1)rotate(-1deg)}.header-actions[data-astro-cid-nen7h5rs]{justify-content:flex-end;align-items:center;gap:14px;display:flex}.theme-toggle[data-astro-cid-nen7h5rs]{border:2px solid var(--ink);width:36px;height:36px;color:var(--ink);cursor:pointer;background:0 0;padding:0;font-size:18px;line-height:1}.theme-toggle[data-astro-cid-nen7h5rs]:hover,.theme-toggle[data-astro-cid-nen7h5rs]:focus-visible{background:var(--acid)}.talk-button[data-astro-cid-nen7h5rs]{border:2px solid var(--ink);background:var(--acid);box-shadow:3px 3px 0 var(--shadow,var(--ink));color:var(--ink);font:500 12px var(--mono);text-transform:uppercase;justify-self:end;padding:10px 12px 9px;text-decoration:none;transition:transform .15s,box-shadow .15s}.talk-button[data-astro-cid-nen7h5rs]:hover,.talk-button[data-astro-cid-nen7h5rs]:focus-visible{box-shadow:none;transform:translate(3px,3px)}@media (width<=480px){.wordmark[data-astro-cid-nen7h5rs] small[data-astro-cid-nen7h5rs]{display:none}}@media (width<=760px){.header-inner[data-astro-cid-nen7h5rs]{grid-template-columns:1fr auto;width:min(100% - 36px,580px)}nav[data-astro-cid-nen7h5rs]{display:none}}.ticker[data-astro-cid-jo6i4kqk]{z-index:7;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);background:var(--blue);width:100%;color:var(--paper);font:500 12px var(--mono);letter-spacing:.08em;white-space:nowrap;margin:8px 0 0;padding:11px 0;position:relative;overflow:hidden}.ticker[data-astro-cid-jo6i4kqk] div[data-astro-cid-jo6i4kqk]{width:max-content;padding-left:15px}.ticker[data-astro-cid-jo6i4kqk] i[data-astro-cid-jo6i4kqk]{color:var(--acid);padding:0 8px;font-style:normal}.skyline[data-astro-cid-rbd7p7sj]{width:100%;height:auto;display:block}.front[data-astro-cid-rbd7p7sj],.ground[data-astro-cid-rbd7p7sj]{fill:var(--ink)}.back[data-astro-cid-rbd7p7sj],.trees[data-astro-cid-rbd7p7sj]{fill:var(--tape-blue)}.bridge[data-astro-cid-rbd7p7sj]{fill:none;stroke:var(--ink);stroke-width:4px}body{background:var(--paper);color:var(--ink);font-family:var(--font)}.portfolio-shell[data-astro-cid-lcdefpme]{background-color:var(--paper);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:26px 26px;min-height:100vh;position:relative;overflow:hidden}.portfolio-shell[data-astro-cid-lcdefpme]:after{content:"";pointer-events:none;opacity:.1;mix-blend-mode:multiply;z-index:5;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");position:fixed;inset:0}.portfolio-main[data-astro-cid-lcdefpme]{width:min(1180px,100% - 64px);margin:0 auto}a[data-astro-cid-lcdefpme]:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.hero[data-astro-cid-lcdefpme]{grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);align-items:center;gap:68px;min-height:calc(100vh - 116px);padding:58px 0 78px;display:grid}.availability[data-astro-cid-lcdefpme]{border:1px solid var(--ink);font:500 11px var(--mono);letter-spacing:.04em;background:#fff8e1d6;align-items:center;gap:8px;margin:0 0 24px;padding:7px 9px;display:inline-flex}.availability[data-astro-cid-lcdefpme] span[data-astro-cid-lcdefpme],.model-label[data-astro-cid-lcdefpme] i[data-astro-cid-lcdefpme]{background:var(--coral);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, var(--coral) 15%, transparent);flex:none;animation:2s ease-in-out infinite status-pulse}.headline-wrap[data-astro-cid-lcdefpme]{display:inline-block;position:relative}.headline-tape[data-astro-cid-lcdefpme]{z-index:-1;background:color-mix(in srgb, var(--acid) 82%, transparent);clip-path:polygon(2% 11%,100% 0,97% 90%,8% 100%);width:88px;height:27px;position:absolute;top:-11px;right:1%;transform:rotate(6deg)}h1[data-astro-cid-lcdefpme]{letter-spacing:-.04em;margin:0;font-size:clamp(56px,6.7vw,101px);font-weight:700;line-height:.82}h1[data-astro-cid-lcdefpme] span[data-astro-cid-lcdefpme]{white-space:nowrap;display:block}h1[data-astro-cid-lcdefpme] .outline[data-astro-cid-lcdefpme]{color:var(--paper);-webkit-text-stroke:2.5px var(--ink);text-shadow:3px 3px 0 var(--coral)}h1[data-astro-cid-lcdefpme] em[data-astro-cid-lcdefpme]{color:var(--blue);letter-spacing:-.09em;margin-right:.08em;font-family:Georgia,serif;font-size:1.12em;font-style:italic;font-weight:700;display:inline-block;transform:rotate(-7deg)translateY(2px)}.crosses[data-astro-cid-lcdefpme]{color:var(--coral);font:500 14px var(--mono);letter-spacing:.35em;position:absolute;bottom:-24px;right:2%;transform:rotate(-7deg)}.intro[data-astro-cid-lcdefpme]{max-width:560px;font:400 17px/1.6 var(--font);margin:36px 0 28px}mark[data-astro-cid-lcdefpme]{background:var(--acid);color:inherit;padding:1px 3px}.actions[data-astro-cid-lcdefpme]{flex-wrap:wrap;align-items:center;gap:25px;display:flex}.work-button[data-astro-cid-lcdefpme]{background:var(--coral);color:var(--on-coral);box-shadow:5px 5px 0 var(--shadow,var(--ink));padding:14px 15px 13px;font-size:12px;text-decoration:none}.work-button[data-astro-cid-lcdefpme] span[data-astro-cid-lcdefpme]{margin-left:18px;font-size:17px;line-height:0}.work-button[data-astro-cid-lcdefpme]:hover,.work-button[data-astro-cid-lcdefpme]:focus-visible{box-shadow:none;transform:translate(5px,5px)}.hello-link[data-astro-cid-lcdefpme]{color:var(--ink);font:400 12px var(--mono);padding-bottom:4px;text-decoration:none;position:relative}.learning[data-astro-cid-lcdefpme]{color:#0a1f44ad;font:500 11px var(--mono);letter-spacing:.12em;margin:39px 0 14px}.learning[data-astro-cid-lcdefpme] span[data-astro-cid-lcdefpme]{color:var(--blue);font-size:12px}.stack[data-astro-cid-lcdefpme]{border:1px solid var(--ink);width:fit-content;max-width:100%;font:400 11px var(--mono);letter-spacing:.05em;background:#fff8e1bf;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex;box-shadow:3px 3px #0a1f4466}.stack[data-astro-cid-lcdefpme] b[data-astro-cid-lcdefpme]{color:var(--blue);font-weight:500}.stack[data-astro-cid-lcdefpme] i[data-astro-cid-lcdefpme]{background:var(--coral);width:4px;height:4px}.artwork[data-astro-cid-lcdefpme]{width:100%;min-width:0;height:520px;position:relative}.portrait-card[data-astro-cid-lcdefpme]{z-index:3;border:2px solid var(--ink);width:330px;box-shadow:9px 9px 0 var(--shadow,var(--ink));background:#fff;padding:14px;position:absolute;top:42px;left:23px;transform:rotate(2.5deg)}.portrait-tape[data-astro-cid-lcdefpme]{z-index:4;clip-path:polygon(0 10%,100% 0,98% 91%,5% 100%);background:#78cee6b8;width:122px;height:31px;position:absolute;top:-15px;left:98px;transform:rotate(-4deg)}.portrait-frame[data-astro-cid-lcdefpme]{border:2px solid var(--ink);background-color:var(--blue);background-image:linear-gradient(#ffffff2e 1px,#0000 1px),linear-gradient(90deg,#ffffff2e 1px,#0000 1px);background-size:16px 16px;justify-content:center;align-items:end;height:355px;display:flex;position:relative;overflow:hidden}.model-label[data-astro-cid-lcdefpme]{z-index:3;border:1px solid var(--ink);box-shadow:2px 2px 0 var(--shadow,var(--ink));background:var(--paper);font:400 10.5px var(--mono);align-items:center;gap:5px;padding:5px 6px;display:flex;position:absolute;top:10px;left:9px}.model-label[data-astro-cid-lcdefpme] i[data-astro-cid-lcdefpme]{width:5px;height:5px;box-shadow:none}.pixel-person[data-astro-cid-lcdefpme]{filter:drop-shadow(6px 6px #0a1f4494);width:288px;height:360px;image-rendering:pixelated;display:block}.portrait-caption[data-astro-cid-lcdefpme]{font:500 12px var(--mono);justify-content:space-between;margin:12px 0 1px;display:flex}.portrait-caption[data-astro-cid-lcdefpme] b[data-astro-cid-lcdefpme]{color:var(--coral);font-size:17px;transform:rotate(-15deg)}.sticky-note[data-astro-cid-lcdefpme]{z-index:6;border:2px solid var(--ink);background-color:var(--acid);width:208px;box-shadow:5px 5px 0 var(--shadow,var(--ink));background-image:linear-gradient(90deg,#0000 89%,#0f3d912e 89%),linear-gradient(#0000 89%,#0f3d912e 89%);background-size:14px 14px;padding:14px 13px 16px;position:absolute;bottom:34px;right:-1px;transform:rotate(-5deg)}.sticky-note[data-astro-cid-lcdefpme] small[data-astro-cid-lcdefpme]{font:400 11px var(--mono);margin-bottom:10px;display:block}.sticky-note[data-astro-cid-lcdefpme] strong[data-astro-cid-lcdefpme]{font:700 16px/.98 var(--font);letter-spacing:-.045em}.terminal[data-astro-cid-lcdefpme]{z-index:5;border:2px solid var(--ink);background:var(--ink);width:172px;color:var(--paper);box-shadow:4px 4px 0 var(--coral);font-family:var(--mono);padding:0 10px 10px;position:absolute;top:184px;right:8px;overflow:hidden;transform:rotate(-1deg)}.terminal-top[data-astro-cid-lcdefpme]{background:#0b2150;border-bottom:1px solid #2c4a82;align-items:center;gap:4px;height:25px;margin:0 -10px 9px;padding:0 8px;display:flex}.terminal-top[data-astro-cid-lcdefpme] i[data-astro-cid-lcdefpme]{background:var(--coral);border-radius:50%;width:5px;height:5px}.terminal-top[data-astro-cid-lcdefpme] i[data-astro-cid-lcdefpme]:nth-child(2){background:var(--acid)}.terminal-top[data-astro-cid-lcdefpme] i[data-astro-cid-lcdefpme]:nth-child(3){background:var(--tape-blue)}.terminal-top[data-astro-cid-lcdefpme] b[data-astro-cid-lcdefpme]{color:#d4dff5;margin-left:auto;font-size:10px;font-weight:400}.terminal[data-astro-cid-lcdefpme] p[data-astro-cid-lcdefpme],.terminal[data-astro-cid-lcdefpme] strong[data-astro-cid-lcdefpme],.terminal[data-astro-cid-lcdefpme] small[data-astro-cid-lcdefpme]{margin:0;display:block}.terminal[data-astro-cid-lcdefpme] p[data-astro-cid-lcdefpme]{font-size:10px}.terminal[data-astro-cid-lcdefpme] strong[data-astro-cid-lcdefpme]{color:var(--acid);margin:5px 0;font-size:12px;font-weight:500}.terminal[data-astro-cid-lcdefpme] small[data-astro-cid-lcdefpme]{color:var(--tape-blue);font-size:10px}.terminal-caret[data-astro-cid-lcdefpme]{animation:1s step-end infinite blink}.decoration[data-astro-cid-lcdefpme]{z-index:2;position:absolute}.sparkle[data-astro-cid-lcdefpme]{color:var(--ink);font-size:42px;top:5px;right:25px;transform:rotate(15deg)}.pixel-cursor[data-astro-cid-lcdefpme]{z-index:4;background:var(--acid);clip-path:polygon(0 0,0 100%,25% 74%,39% 100%,54% 91%,40% 66%,70% 66%);width:51px;height:68px;filter:drop-shadow(4px 4px 0 var(--ink));top:193px;left:-3px}.code-sticker[data-astro-cid-lcdefpme]{border:2px solid var(--ink);background:var(--coral);width:87px;height:56px;box-shadow:4px 4px 0 var(--shadow,var(--ink));border-radius:50%;place-items:center;display:grid;bottom:43px;right:172px;transform:rotate(10deg)}.code-sticker[data-astro-cid-lcdefpme] b[data-astro-cid-lcdefpme]{font:500 22px var(--mono)}.code-sticker[data-astro-cid-lcdefpme] i[data-astro-cid-lcdefpme]{color:var(--paper);font-style:normal}.direction[data-astro-cid-lcdefpme]{color:var(--coral);font:700 64px/.6 var(--font);bottom:3px;right:18px;transform:rotate(24deg)}.content-section[data-astro-cid-lcdefpme]{border-top:2px solid var(--ink);width:min(1180px,100% - 64px);margin:0 auto;padding:88px 0;scroll-margin-top:28px}.section-kicker[data-astro-cid-lcdefpme]{font:500 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;margin-bottom:25px}.section-kicker[data-astro-cid-lcdefpme] span[data-astro-cid-lcdefpme]{color:var(--blue)}.content-section[data-astro-cid-lcdefpme] h2[data-astro-cid-lcdefpme]{letter-spacing:-.045em;margin:0;font-size:clamp(48px,7.2vw,92px);line-height:.85}.content-section[data-astro-cid-lcdefpme] h2[data-astro-cid-lcdefpme] em[data-astro-cid-lcdefpme]{color:var(--blue);letter-spacing:-.06em;font-family:Georgia,serif;font-size:.95em;font-style:italic}.about-grid[data-astro-cid-lcdefpme]{grid-template-columns:minmax(0,1fr) 300px;align-items:end;gap:74px;display:grid}.about-grid[data-astro-cid-lcdefpme] p[data-astro-cid-lcdefpme]{max-width:640px;font:400 17px/1.65 var(--font);margin:24px 0 0}.about-note[data-astro-cid-lcdefpme]{border:2px solid var(--ink);background:var(--acid);box-shadow:6px 6px 0 var(--shadow,var(--ink));padding:22px;position:relative;transform:rotate(2deg)}.about-note[data-astro-cid-lcdefpme] small[data-astro-cid-lcdefpme]{font:400 11px var(--mono);text-transform:uppercase;margin-bottom:16px;display:block}.about-note[data-astro-cid-lcdefpme] strong[data-astro-cid-lcdefpme]{letter-spacing:-.055em;font-size:22px;line-height:.95;display:block}.about-note[data-astro-cid-lcdefpme] i[data-astro-cid-lcdefpme]{color:var(--coral);font-size:28px;font-style:normal;position:absolute;bottom:9px;right:14px}.skill-groups[data-astro-cid-lcdefpme]{grid-template-columns:repeat(3,1fr);gap:15px;margin-top:54px;display:grid}.skill-group[data-astro-cid-lcdefpme]{border:2px solid var(--ink);box-shadow:4px 4px 0 var(--shadow,var(--ink));background:#ffffffd9;padding:15px}.skill-group[data-astro-cid-lcdefpme] summary[data-astro-cid-lcdefpme]{justify-content:space-between;align-items:center;list-style:none;display:flex}.skill-group[data-astro-cid-lcdefpme] summary[data-astro-cid-lcdefpme]::-webkit-details-marker{display:none}.skill-group[data-astro-cid-lcdefpme] h3[data-astro-cid-lcdefpme]{color:var(--blue);font:500 12px var(--mono);letter-spacing:.09em;text-transform:uppercase;margin:0}.skill-group[data-astro-cid-lcdefpme] summary[data-astro-cid-lcdefpme]>span[data-astro-cid-lcdefpme]{font:500 19px/1 var(--mono);display:none}.skill-group[data-astro-cid-lcdefpme] p[data-astro-cid-lcdefpme]{margin:13px 0 0}.languages[data-astro-cid-lcdefpme]{font:400 12px var(--mono);color:#0a1f44ab;margin:32px 0 0}.work-section[data-astro-cid-lcdefpme]>h2[data-astro-cid-lcdefpme],.experience-section[data-astro-cid-lcdefpme]>h2[data-astro-cid-lcdefpme]{margin-bottom:42px}.project-grid[data-astro-cid-lcdefpme]{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.project-card[data-astro-cid-lcdefpme]{border:2px solid var(--ink);min-height:335px;box-shadow:6px 6px 0 var(--shadow,var(--ink));background:#fffffff0;padding:20px 20px 48px;position:relative}.project-card[data-astro-cid-lcdefpme]:nth-child(2){background:var(--pink)}.project-card[data-astro-cid-lcdefpme]:nth-child(3){background:var(--acid)}.project-card[data-astro-cid-lcdefpme]>span[data-astro-cid-lcdefpme]:first-child{color:var(--blue);font:500 12px var(--mono)}.project-card[data-astro-cid-lcdefpme] h3[data-astro-cid-lcdefpme]{letter-spacing:-.035em;max-width:270px;margin:28px 0 12px;font-size:26px;line-height:1}.project-card[data-astro-cid-lcdefpme] p[data-astro-cid-lcdefpme]{font:400 14.5px/1.55 var(--font);margin:0 0 17px}.project-card[data-astro-cid-lcdefpme] ul[data-astro-cid-lcdefpme]{flex-wrap:wrap;gap:5px;margin:0 0 14px;padding:0;list-style:none;display:flex}.project-card[data-astro-cid-lcdefpme] li[data-astro-cid-lcdefpme]{background:var(--blue);color:var(--paper);font:500 11px var(--mono);padding:3px 6px}.project-card[data-astro-cid-lcdefpme] b[data-astro-cid-lcdefpme]{border:1px solid var(--ink);background:var(--paper);font:500 11px var(--mono);margin:0 4px 4px 0;padding:3px 5px;display:inline-block}.project-cta[data-astro-cid-lcdefpme],.project-status[data-astro-cid-lcdefpme]{color:var(--blue);font:500 11.5px var(--mono);text-transform:uppercase;position:absolute;bottom:15px;right:18px}.project-status[data-astro-cid-lcdefpme]{color:var(--blue)}.timeline[data-astro-cid-lcdefpme]{border-top:2px solid var(--ink)}.experience-item[data-astro-cid-lcdefpme]{border-bottom:2px solid var(--ink)}.experience-item[data-astro-cid-lcdefpme] summary[data-astro-cid-lcdefpme]{grid-template-columns:180px minmax(0,1fr) auto;gap:22px;padding:25px 0 8px;list-style:none;display:grid}.experience-item[data-astro-cid-lcdefpme] summary[data-astro-cid-lcdefpme]::-webkit-details-marker{display:none}.experience-item[data-astro-cid-lcdefpme] summary[data-astro-cid-lcdefpme]>span[data-astro-cid-lcdefpme]{color:var(--blue);font:500 12px var(--mono)}.experience-item[data-astro-cid-lcdefpme] summary[data-astro-cid-lcdefpme] i[data-astro-cid-lcdefpme]{font:500 21px/1 var(--mono);font-style:normal;display:none}.timeline[data-astro-cid-lcdefpme] h3[data-astro-cid-lcdefpme]{letter-spacing:-.04em;margin:0;font-size:22px}.timeline[data-astro-cid-lcdefpme] h4[data-astro-cid-lcdefpme]{color:var(--blue);font:500 12px var(--mono);margin:3px 0 0}.experience-item[data-astro-cid-lcdefpme]>p[data-astro-cid-lcdefpme]{max-width:720px;font:400 15.5px/1.65 var(--font);margin:0 0 25px 202px}.education[data-astro-cid-lcdefpme]{border:2px solid var(--ink);background:var(--tape-blue);box-shadow:5px 5px 0 var(--shadow,var(--ink));margin-top:45px;padding:21px}.education[data-astro-cid-lcdefpme] h3[data-astro-cid-lcdefpme]{margin:0 0 15px;font-size:20px}.education[data-astro-cid-lcdefpme] p[data-astro-cid-lcdefpme]{justify-content:space-between;gap:18px;margin:7px 0;font-size:14px;display:flex}.education[data-astro-cid-lcdefpme] p[data-astro-cid-lcdefpme] span[data-astro-cid-lcdefpme]{font:400 11px var(--mono)}.contact-section[data-astro-cid-lcdefpme]{padding-bottom:102px}.contact-section[data-astro-cid-lcdefpme]>p[data-astro-cid-lcdefpme]{max-width:580px;font:400 17px/1.65 var(--font);margin:28px 0 27px}.contact-button[data-astro-cid-lcdefpme]{border:2px solid var(--ink);background:var(--coral);box-shadow:5px 5px 0 var(--shadow,var(--ink));color:var(--on-coral);font:500 12px var(--mono);padding:15px 16px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-block}.contact-button[data-astro-cid-lcdefpme]:hover,.contact-button[data-astro-cid-lcdefpme]:focus-visible{box-shadow:none;transform:translate(5px,5px)}.contact-button[data-astro-cid-lcdefpme] span[data-astro-cid-lcdefpme]{margin-left:23px;font-size:17px}.contact-meta[data-astro-cid-lcdefpme]{flex-wrap:wrap;gap:8px 18px;display:flex;max-width:none!important;font:500 12px var(--mono)!important;margin:34px 0 0!important}.contact-meta[data-astro-cid-lcdefpme] span[data-astro-cid-lcdefpme]:before{color:var(--coral);content:"■";margin-right:8px}.contact-meta[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]{color:var(--blue)}.social-links[data-astro-cid-lcdefpme]{gap:20px;margin-top:20px;display:flex}.social-links[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]{color:var(--blue);font:500 12px var(--mono);text-decoration:none;position:relative}.social-links[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]:after{background:var(--blue);content:"";transform-origin:0;height:2px;transition:transform .2s;position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.social-links[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]:hover:after,.social-links[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]:focus-visible:after{transform:scaleX(1)}@keyframes status-pulse{50%{opacity:.45}}@keyframes blink{50%{opacity:0}}@media (width<=960px){.hero[data-astro-cid-lcdefpme]{gap:32px}.portrait-card[data-astro-cid-lcdefpme]{width:305px;left:0}.portrait-frame[data-astro-cid-lcdefpme]{height:320px}.pixel-person[data-astro-cid-lcdefpme]{transform-origin:bottom;transform:scale(.9)}.terminal[data-astro-cid-lcdefpme]{right:0}.sticky-note[data-astro-cid-lcdefpme]{right:-8px}}@media (width>=761px){.skill-group[data-astro-cid-lcdefpme]:not([open])>p[data-astro-cid-lcdefpme],.experience-item[data-astro-cid-lcdefpme]:not([open])>p[data-astro-cid-lcdefpme]{display:block}}@media (width<=760px){.portfolio-main[data-astro-cid-lcdefpme],.content-section[data-astro-cid-lcdefpme]{width:min(100% - 36px,580px)}.hero[data-astro-cid-lcdefpme]{min-height:0;padding:42px 0 20px;display:block}.artwork[data-astro-cid-lcdefpme]{width:min(100%,490px);height:530px;margin:53px auto 0}.portrait-card[data-astro-cid-lcdefpme]{left:calc(50% - 165px)}.sticky-note[data-astro-cid-lcdefpme],.terminal[data-astro-cid-lcdefpme]{right:0}.content-section[data-astro-cid-lcdefpme]{padding:58px 0}.about-grid[data-astro-cid-lcdefpme]{grid-template-columns:1fr;gap:35px}.about-note[data-astro-cid-lcdefpme]{justify-self:end;width:min(300px,100%)}.skill-groups[data-astro-cid-lcdefpme],.project-grid[data-astro-cid-lcdefpme]{grid-template-columns:1fr;gap:16px}.skill-groups[data-astro-cid-lcdefpme]{margin-top:40px}.skill-group[data-astro-cid-lcdefpme] summary[data-astro-cid-lcdefpme]{cursor:pointer}.skill-group[data-astro-cid-lcdefpme] summary[data-astro-cid-lcdefpme]>span[data-astro-cid-lcdefpme]{display:block}.skill-group[data-astro-cid-lcdefpme][open] summary[data-astro-cid-lcdefpme]>span[data-astro-cid-lcdefpme]{transform:rotate(45deg)}.project-card[data-astro-cid-lcdefpme]{min-height:260px}.experience-item[data-astro-cid-lcdefpme] summary[data-astro-cid-lcdefpme]{cursor:pointer;grid-template-columns:1fr auto;gap:7px 15px;padding:22px 0}.experience-item[data-astro-cid-lcdefpme] summary[data-astro-cid-lcdefpme]>span[data-astro-cid-lcdefpme]{grid-column:1/-1}.experience-item[data-astro-cid-lcdefpme] summary[data-astro-cid-lcdefpme] i[data-astro-cid-lcdefpme]{display:block}.experience-item[data-astro-cid-lcdefpme][open] summary[data-astro-cid-lcdefpme] i[data-astro-cid-lcdefpme]{transform:rotate(45deg)}.experience-item[data-astro-cid-lcdefpme]>p[data-astro-cid-lcdefpme]{margin:-7px 0 22px}.education[data-astro-cid-lcdefpme] p[data-astro-cid-lcdefpme]{display:block}.education[data-astro-cid-lcdefpme] p[data-astro-cid-lcdefpme] span[data-astro-cid-lcdefpme]{margin-top:4px;display:block}.contact-section[data-astro-cid-lcdefpme]{padding-bottom:72px}.contact-meta[data-astro-cid-lcdefpme]{gap:8px;display:grid}}@media (width<=420px){h1[data-astro-cid-lcdefpme]{font-size:clamp(45px,15.2vw,62px)}h1[data-astro-cid-lcdefpme] .outline[data-astro-cid-lcdefpme]{-webkit-text-stroke-width:2px}.intro[data-astro-cid-lcdefpme]{font-size:13px}.actions[data-astro-cid-lcdefpme]{gap:19px}.artwork[data-astro-cid-lcdefpme]{height:490px}.portrait-card[data-astro-cid-lcdefpme]{width:275px;padding:11px;left:calc(50% - 137px)}.portrait-frame[data-astro-cid-lcdefpme]{height:289px}.pixel-person[data-astro-cid-lcdefpme]{transform:scale(.78)}.portrait-caption[data-astro-cid-lcdefpme]{font-size:10px}.sticky-note[data-astro-cid-lcdefpme]{width:158px;padding:10px;bottom:28px}.sticky-note[data-astro-cid-lcdefpme] strong[data-astro-cid-lcdefpme]{font-size:12px}.terminal[data-astro-cid-lcdefpme]{width:154px;top:164px}.code-sticker[data-astro-cid-lcdefpme]{bottom:18px;right:140px;transform:scale(.75)rotate(10deg)}.pixel-cursor[data-astro-cid-lcdefpme]{top:178px;left:0;transform:scale(.8)}.stack[data-astro-cid-lcdefpme]{gap:6px;font-size:10px}.direction[data-astro-cid-lcdefpme]{right:5px}}@media (prefers-reduced-motion:reduce){[data-astro-cid-lcdefpme],[data-astro-cid-lcdefpme]:before,[data-astro-cid-lcdefpme]:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.role-line[data-astro-cid-lcdefpme]{font-size:.8em}.portrait-card[data-astro-cid-lcdefpme]{animation:.8s cubic-bezier(.2,.9,.3,1.15) both card-drop}@keyframes card-drop{0%{opacity:0;transform:translateY(-70px)rotate(-4deg)}to{opacity:1;transform:rotate(2.5deg)}}.journey[data-astro-cid-lcdefpme]{grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr);align-items:center;gap:8px;margin-top:46px;display:grid}.journey-card[data-astro-cid-lcdefpme]{border:2px solid var(--ink);box-shadow:6px 6px 0 var(--shadow,var(--ink));background:#fffffff0;margin:0;padding:18px 18px 20px}.journey-card[data-astro-cid-lcdefpme] figcaption[data-astro-cid-lcdefpme]{border-top:2px dashed var(--ink);margin-top:16px;padding-top:14px}.journey-card[data-astro-cid-lcdefpme] strong[data-astro-cid-lcdefpme]{letter-spacing:-.04em;font-size:20px;display:block}.journey-card[data-astro-cid-lcdefpme] span[data-astro-cid-lcdefpme]{color:var(--blue);font:500 12px var(--mono);margin:3px 0 10px;display:block}.journey-card[data-astro-cid-lcdefpme] p[data-astro-cid-lcdefpme]{font:400 14.5px/1.55 var(--font);margin:0}.route[data-astro-cid-lcdefpme] svg[data-astro-cid-lcdefpme]{width:100%;display:block;overflow:visible}.route[data-astro-cid-lcdefpme] path[data-astro-cid-lcdefpme]{fill:none;stroke:var(--coral);stroke-width:3px;stroke-dasharray:2 7;stroke-linecap:round}.route[data-astro-cid-lcdefpme] .head[data-astro-cid-lcdefpme]{fill:var(--coral);stroke:none}@media (width<=860px){.journey[data-astro-cid-lcdefpme]{grid-template-columns:1fr;gap:14px}.route[data-astro-cid-lcdefpme]{width:70px;margin:0 auto;transform:rotate(90deg)}}.project-link[data-astro-cid-lcdefpme]{color:inherit;text-decoration:none}.project-link[data-astro-cid-lcdefpme]:after{content:"";position:absolute;inset:0}.project-link[data-astro-cid-lcdefpme]:hover{text-decoration:underline;text-decoration-thickness:2px}@media (width>=761px){.project-grid[data-astro-cid-lcdefpme]{grid-template-columns:repeat(2,1fr)}}.project-links[data-astro-cid-lcdefpme]{flex-wrap:wrap;gap:6px 18px;margin:18px 0 0;display:flex}.project-links[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]{z-index:1;color:var(--blue);font:500 12px var(--mono);border-bottom:2px solid;text-decoration:none;position:relative}.project-links[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]:hover{color:var(--ink)}
