:root{color-scheme:dark;--font-mono: ui-monospace, "SF Mono", "SFMono-Regular", Menlo, Monaco, "Cascadia Mono", "Cascadia Code", Consolas, "Lucida Console", "Roboto Mono", "Droid Sans Mono", "Noto Sans Mono", "Ubuntu Mono", "DejaVu Sans Mono", "Liberation Mono", "Courier New", monospace;--color-bg: #040506;--color-panel: #0c1014;--color-panel-strong: #10161c;--color-border: #202835;--color-border-strong: #3a4656;--color-text: #eef6ff;--color-muted: #a4b0c2;--color-start: #00b6ff;--color-mid: #39ff79;--color-warning: #ffbc3a;--color-danger: #ff1f5a;--color-alpha: #b86cff;--color-beta: #ff6fce;--color-neutral: #d0d7e2;--fill-start: rgba(0, 182, 255, .18);--fill-mid: rgba(57, 255, 121, .16);--fill-warning: rgba(255, 188, 58, .16);--fill-danger: rgba(255, 31, 90, .18);--shadow-key: 0 1px 0 rgba(255, 255, 255, .12) inset, 0 4px 0 rgba(0, 0, 0, .7);--radius-card: 8px;--radius-panel: 10px;--radius-control: 8px;--content-width: min(96rem, calc(100vw - 2rem) );--transition: .12s ease-out}:root,.app-shell{--shadow-key-active: 0 1px 0 rgba(255, 255, 255, .05) inset, 0 2px 0 rgba(0, 0, 0, .65);--color-section: var(--color-bg);--color-section-alt: var(--color-panel);--color-link-decoration: rgba(57, 255, 121, .42);--title-glow: 0 0 16px rgba(0, 182, 255, .26);--email-image-filter: invert(1)}:root[data-theme=light],.app-shell[data-theme=light]{color-scheme:light;--color-bg: #f5f8fc;--color-panel: #ffffff;--color-panel-strong: #eef4fb;--color-border: #bac8d9;--color-border-strong: #7f94ad;--color-text: #101d2f;--color-muted: #506178;--color-start: #007edb;--color-mid: #12b84b;--color-warning: #cc7a00;--color-danger: #cc1f4d;--fill-start: rgba(0, 126, 219, .14);--fill-mid: rgba(18, 184, 75, .13);--fill-warning: rgba(204, 122, 0, .14);--fill-danger: rgba(204, 31, 77, .13);--shadow-key: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 4px 0 rgba(70, 90, 115, .35);--shadow-key-active: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 2px 0 rgba(70, 90, 115, .32);--color-section: #f5f8fc;--color-section-alt: #e9f0f8;--color-link-decoration: rgba(18, 184, 75, .42);--title-glow: 0 0 14px rgba(0, 126, 219, .14);--email-image-filter: none}:root[data-content-width=min]{--content-width: min(48rem, calc(100vw - 2rem) )}:root[data-content-width=standard]{--content-width: min(96rem, calc(100vw - 2rem) )}:root[data-content-width="1080"]{--content-width: min(1080px, calc(100vw - 2rem) )}:root[data-content-width="1440"]{--content-width: min(1440px, calc(100vw - 2rem) )}:root[data-content-width="1920"]{--content-width: min(1920px, calc(100vw - 2rem) )}:root[data-content-width=full]{--content-width: calc(100vw - 2rem) }*{box-sizing:border-box}html{background:var(--color-bg);font-family:var(--font-mono);letter-spacing:0;scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-mono);font-size:16px;line-height:1.6}body,button,input,select,textarea{font-family:var(--font-mono)}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--color-mid);text-decoration-color:var(--color-link-decoration);text-underline-offset:.22em}a:hover{color:var(--color-start);text-decoration-color:currentColor}button{border:0}.app-shell{min-height:100vh;background:var(--color-bg)}.page-section{width:100%;padding:5rem 0;border-top:1px solid var(--color-border);background:var(--color-section)}.page-section:first-of-type{border-top:0}.page-section:nth-of-type(2n){background:var(--color-section-alt)}.content-shell{width:var(--content-width);margin:0 auto}.section-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem;margin:0 0 2rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border-strong)}.section-kicker{color:var(--color-muted);font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.section-title{margin:0;color:var(--color-start);font-size:clamp(2rem,5vw,4.3rem);line-height:1.05;text-shadow:var(--title-glow)}.panel{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-panel)}.card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-panel-strong);transition:border-color var(--transition)}.card:hover{border-color:var(--color-start)}.key-button{display:inline-flex;align-items:center;justify-content:center;min-width:2.65rem;min-height:2.65rem;padding:.55rem .75rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-panel-strong);color:var(--color-text);box-shadow:var(--shadow-key);cursor:pointer;font-size:.9rem;font-weight:700;line-height:1;transition:transform var(--transition),border-color var(--transition),color var(--transition),background-color var(--transition)}.key-button:hover{border-color:var(--color-start);color:var(--color-start)}.key-button:focus-visible{outline:2px solid var(--color-warning);outline-offset:3px}.key-button:active,.key-button[aria-pressed=true]{transform:translateY(2px);box-shadow:var(--shadow-key-active)}.key-button[aria-pressed=true]{border-color:var(--color-mid);color:var(--color-mid);background:var(--fill-mid)}.meta-chip{display:inline-flex;align-items:center;gap:.45rem;min-height:1.9rem;padding:.35rem .55rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-panel);color:var(--color-muted);font-size:.78rem;font-weight:700}.dot{width:.52rem;height:.52rem;border-radius:999px;background:var(--color-mid)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){body{font-size:15px}.page-section{padding:3.5rem 0}.content-shell{width:min(100% - 1rem,76rem)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media print{@page{size:letter;margin:.45in}:root,:root[data-theme=light],.app-shell,.app-shell[data-theme=light]{color-scheme:light;--color-bg: #ffffff;--color-panel: #ffffff;--color-panel-strong: #ffffff;--color-border: #d6d6d6;--color-border-strong: #9a9a9a;--color-text: #111111;--color-muted: #4b4b4b;--color-start: #111111;--color-mid: #111111;--color-warning: #111111;--color-danger: #111111;--fill-start: transparent;--fill-mid: transparent;--fill-warning: transparent;--fill-danger: transparent;--shadow-key: none;--shadow-key-active: none;--color-section: #ffffff;--color-section-alt: #ffffff;--color-link-decoration: #777777;--title-glow: none;--email-image-filter: none;--content-width: 100%}*,*:before,*:after{background:transparent!important;box-shadow:none!important;filter:none!important;text-shadow:none!important;transition:none!important}html{background:#fff!important;color:#111!important;font-size:10pt;scroll-behavior:auto}body{min-width:0;min-height:0;background:#fff!important;color:#111!important;font-size:10pt;line-height:1.35}a,a:visited{color:#111!important;text-decoration-color:#777!important}svg{color:currentColor!important;stroke-width:1.8!important}.app-shell,main{min-height:0!important;background:#fff!important}.control-deck,.matrix-backdrop,.hero-fade,.scroll-cue,.projects-toggle-row,.experience-toggle-row,.reveal-button{display:none!important}.hero{display:block!important;min-height:0!important;overflow:visible!important;border-bottom:1px solid #111111!important;background:#fff!important;break-after:avoid}.hero-content{display:block!important;width:100%!important;margin:0!important;padding:0 0 .16in!important}.hero-copy{display:block!important;max-width:none!important;text-align:left!important}.hero-kicker{display:block!important;margin:0 0 .04in!important;color:#333!important;font-size:9pt!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important}.hero-kicker svg,.project-icon,.skill-group-heading svg,.experience-group-heading svg,.contact-card>svg{display:none!important}.hero h1{margin:0!important;color:#111!important;font-size:24pt!important;line-height:1.05!important}.hero-divider{width:100%!important;height:0!important;margin:.08in 0!important;border-top:0!important}.hero p{display:none!important}.hero-meta{justify-content:flex-start!important;gap:.16in!important;margin-top:0!important}.meta-chip{display:inline-flex!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;color:#333!important;font-size:8.5pt!important;font-weight:700!important;line-height:1.3!important}.dot{display:none!important}.page-section{padding:.16in 0 0!important;border-top:1px solid #d6d6d6!important;background:#fff!important}.page-section:first-of-type{border-top:0!important}.content-shell{width:100%!important;margin:0!important}.section-heading{display:block!important;margin:0 0 .1in!important;padding:0 0 .04in!important;border-bottom:1px solid #9a9a9a!important;break-after:avoid}.section-heading .section-kicker{display:none!important}.section-title{margin:0!important;color:#111!important;font-size:13pt!important;line-height:1.15!important}.panel,.card,.detail-cell,.skill-group,.experience-row,.contact-card{border-color:#d6d6d6!important;border-radius:0!important;background:#fff!important;break-inside:avoid;page-break-inside:avoid}.about-grid{display:block!important}.about-copy{padding:0!important}.about-copy p{max-width:none!important;margin:0!important;color:#111!important;font-size:9pt!important;line-height:1.4!important}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.07in!important;margin-top:.1in!important}.detail-cell{min-height:0!important;padding:.07in!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important}.detail-label,.contact-card strong,.experience-role{color:#333!important;font-size:7.5pt!important;font-weight:800!important;letter-spacing:.04em!important}.detail-value{margin-top:.03in!important;color:#111!important;font-size:8.4pt!important;line-height:1.25!important}.project-list{gap:.08in!important}.project-card{gap:.06in!important;padding:.08in 0!important;border-right:0!important;border-left:0!important;border-bottom:0!important}.project-card:first-child{padding-top:0!important;border-top:0!important}.project-heading{display:block!important}.project-heading h3,.experience-group-heading h3{margin:0!important;color:#111!important;font-size:10pt!important;line-height:1.2!important}.project-heading p{max-width:none!important;margin:.03in 0 0!important;color:#333!important;font-size:8.4pt!important;line-height:1.35!important}.project-body{display:block!important}.project-highlights{display:block!important;gap:.025in!important;margin-top:.04in!important;padding-left:.15in!important;list-style:disc!important}.project-highlights li{display:list-item!important;color:#111!important;font-size:8.3pt!important;line-height:1.3!important}.project-highlights svg{display:none!important}.technology-list{display:block!important;margin-top:.04in!important;color:#333!important;font-size:7.8pt!important;line-height:1.35!important}.technology-list .meta-chip{display:inline!important;font-size:inherit!important;font-weight:700!important}.technology-list .meta-chip:not(:last-child):after{content:", "}.skill-groups{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:.36in!important;row-gap:.1in!important}.skill-group{overflow:visible!important}.skill-group-heading{min-height:0!important;padding:.06in .07in!important;border-bottom:1px solid #d6d6d6!important;color:#111!important}.skill-group-heading h3{margin:0!important;color:#111!important;font-size:9pt!important;line-height:1.2!important}.skill-list{gap:0!important;padding:.04in .12in .06in .07in!important}.skill-row{grid-template-columns:minmax(0,1fr) minmax(.5in,auto)!important;column-gap:.12in!important;min-height:0!important;padding:.018in .08in .018in 0!important;border:0!important;color:#111!important;font-size:7.8pt!important;font-weight:700!important;line-height:1.25!important}.rating-pips{display:block!important;justify-self:end!important;min-width:.5in!important;width:auto!important;padding-right:.08in!important;color:#333!important;font-size:7.8pt!important;font-weight:800!important;line-height:1.25!important;text-align:right!important}.rating-pips span{display:none!important}.rating-pips:before{content:attr(aria-label)}.experience-groups{gap:.14in!important}.experience-group{gap:.06in!important}.experience-group-heading{color:#111!important;break-after:avoid}.experience-list{gap:0!important}.experience-row{grid-template-columns:1.35in minmax(0,1fr)!important;gap:.12in!important;padding:.08in 0!important;border-right:0!important;border-left:0!important;border-bottom:0!important}.experience-row:first-child{border-top:0!important;padding-top:0!important}.experience-time h4{margin:0!important;color:#111!important;font-size:9pt!important;line-height:1.2!important}.experience-time div,.experience-location{color:#333!important;font-size:7.5pt!important;font-weight:800!important;line-height:1.25!important}.experience-description{gap:.025in!important;margin-top:.04in!important}.experience-description p{color:#111!important;font-size:8.2pt!important;line-height:1.32!important}.experience-location{display:block!important;margin-top:.04in!important}.experience-location svg{display:none!important}.contact-section{padding-bottom:0!important}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.08in!important}.contact-card{display:block!important;min-height:0!important;padding:.07in!important;color:#111!important}.email-address{min-height:0!important}.email-local-image{height:.16in!important}}html[data-print-view=true]{background:#d6dbe2!important;color:#111!important;color-scheme:light;font-size:10pt;scroll-behavior:auto}html[data-print-view=true] body{min-width:0;min-height:0;background:#d6dbe2!important;color:#111!important;font-size:10pt;line-height:1.35}html[data-print-view=true],html[data-print-view=true] .app-shell,html[data-print-view=true] .app-shell[data-theme=light]{--color-bg: #ffffff;--color-panel: #ffffff;--color-panel-strong: #ffffff;--color-border: #d6d6d6;--color-border-strong: #9a9a9a;--color-text: #111111;--color-muted: #4b4b4b;--color-start: #111111;--color-mid: #111111;--color-warning: #111111;--color-danger: #111111;--fill-start: transparent;--fill-mid: transparent;--fill-warning: transparent;--fill-danger: transparent;--shadow-key: none;--shadow-key-active: none;--color-section: #ffffff;--color-section-alt: #ffffff;--color-link-decoration: #777777;--title-glow: none;--email-image-filter: none;--content-width: 100%}html[data-print-view=true] .app-shell.print-view{width:min(100%,8.5in);min-height:0!important;margin:0 auto;padding:.45in;background:#fff!important;color:#111!important}html[data-print-view=true] .app-shell.print-view main,html[data-print-view=true] .app-shell.print-view main *{box-shadow:none!important;filter:none!important;text-shadow:none!important;transition:none!important}html[data-print-view=true] .app-shell.print-view main{min-height:0!important;background:#fff!important}html[data-print-view=true] .app-shell.print-view main a,html[data-print-view=true] .app-shell.print-view main a:visited{color:#111!important;text-decoration-color:#777!important}html[data-print-view=true] .matrix-backdrop,html[data-print-view=true] .hero-fade,html[data-print-view=true] .scroll-cue,html[data-print-view=true] .projects-toggle-row,html[data-print-view=true] .experience-toggle-row,html[data-print-view=true] .reveal-button{display:none!important}html[data-print-view=true] .hero{display:block!important;min-height:0!important;overflow:visible!important;border-bottom:1px solid #111111!important;background:#fff!important}html[data-print-view=true] .hero-content{display:block!important;width:100%!important;margin:0!important;padding:0 0 .16in!important}html[data-print-view=true] .hero-copy{display:block!important;max-width:none!important;text-align:left!important}html[data-print-view=true] .hero-kicker{display:block!important;margin:0 0 .04in!important;color:#333!important;font-size:9pt!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important}html[data-print-view=true] .hero-kicker svg,html[data-print-view=true] .project-icon,html[data-print-view=true] .skill-group-heading svg,html[data-print-view=true] .experience-group-heading svg,html[data-print-view=true] .contact-card>svg{display:none!important}html[data-print-view=true] .hero h1{margin:0!important;color:#111!important;font-size:24pt!important;line-height:1.05!important}html[data-print-view=true] .hero-divider{width:100%!important;height:0!important;margin:.08in 0!important;border-top:0!important}html[data-print-view=true] .hero p{display:none!important}html[data-print-view=true] .hero-meta{justify-content:flex-start!important;gap:.16in!important;margin-top:0!important}html[data-print-view=true] .meta-chip{display:inline-flex!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;color:#333!important;font-size:8.5pt!important;font-weight:700!important;line-height:1.3!important}html[data-print-view=true] .dot{display:none!important}html[data-print-view=true] .page-section{padding:.16in 0 0!important;border-top:1px solid #d6d6d6!important;background:#fff!important}html[data-print-view=true] .page-section:first-of-type{border-top:0!important}html[data-print-view=true] .content-shell{width:100%!important;margin:0!important}html[data-print-view=true] .section-heading{display:block!important;margin:0 0 .1in!important;padding:0 0 .04in!important;border-bottom:1px solid #9a9a9a!important}html[data-print-view=true] .section-heading .section-kicker{display:none!important}html[data-print-view=true] .section-title{margin:0!important;color:#111!important;font-size:13pt!important;line-height:1.15!important}html[data-print-view=true] .panel,html[data-print-view=true] .card,html[data-print-view=true] .detail-cell,html[data-print-view=true] .skill-group,html[data-print-view=true] .experience-row,html[data-print-view=true] .contact-card{border-color:#d6d6d6!important;border-radius:0!important;background:#fff!important}html[data-print-view=true] .about-grid,html[data-print-view=true] .project-heading,html[data-print-view=true] .project-body{display:block!important}html[data-print-view=true] .about-copy{padding:0!important}html[data-print-view=true] .about-copy p{max-width:none!important;margin:0!important;color:#111!important;font-size:9pt!important;line-height:1.4!important}html[data-print-view=true] .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.07in!important;margin-top:.1in!important}html[data-print-view=true] .detail-cell{min-height:0!important;padding:.07in!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important}html[data-print-view=true] .detail-label,html[data-print-view=true] .contact-card strong,html[data-print-view=true] .experience-role{color:#333!important;font-size:7.5pt!important;font-weight:800!important;letter-spacing:.04em!important}html[data-print-view=true] .detail-value{margin-top:.03in!important;color:#111!important;font-size:8.4pt!important;line-height:1.25!important}html[data-print-view=true] .project-list{gap:.08in!important}html[data-print-view=true] .project-card{gap:.06in!important;padding:.08in 0!important;border-right:0!important;border-left:0!important;border-bottom:0!important}html[data-print-view=true] .project-card:first-child{padding-top:0!important;border-top:0!important}html[data-print-view=true] .project-heading h3,html[data-print-view=true] .experience-group-heading h3{margin:0!important;color:#111!important;font-size:10pt!important;line-height:1.2!important}html[data-print-view=true] .project-heading p{max-width:none!important;margin:.03in 0 0!important;color:#333!important;font-size:8.4pt!important;line-height:1.35!important}html[data-print-view=true] .project-highlights{display:block!important;margin-top:.04in!important;padding-left:.15in!important;list-style:disc!important}html[data-print-view=true] .project-highlights li{display:list-item!important;color:#111!important;font-size:8.3pt!important;line-height:1.3!important}html[data-print-view=true] .project-highlights svg{display:none!important}html[data-print-view=true] .technology-list{display:block!important;margin-top:.04in!important;color:#333!important;font-size:7.8pt!important;line-height:1.35!important}html[data-print-view=true] .technology-list .meta-chip{display:inline!important;font-size:inherit!important;font-weight:700!important}html[data-print-view=true] .technology-list .meta-chip:not(:last-child):after{content:", "}html[data-print-view=true] .skill-groups{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:.36in!important;row-gap:.1in!important}html[data-print-view=true] .skill-group{overflow:visible!important}html[data-print-view=true] .skill-group-heading{min-height:0!important;padding:.06in .07in!important;border-bottom:1px solid #d6d6d6!important;color:#111!important}html[data-print-view=true] .skill-group-heading h3{margin:0!important;color:#111!important;font-size:9pt!important;line-height:1.2!important}html[data-print-view=true] .skill-list{gap:0!important;padding:.04in .12in .06in .07in!important}html[data-print-view=true] .skill-row{grid-template-columns:minmax(0,1fr) minmax(.5in,auto)!important;column-gap:.12in!important;min-height:0!important;padding:.018in .08in .018in 0!important;border:0!important;color:#111!important;font-size:7.8pt!important;font-weight:700!important;line-height:1.25!important}html[data-print-view=true] .rating-pips{display:block!important;justify-self:end!important;min-width:.5in!important;width:auto!important;padding-right:.08in!important;color:#333!important;font-size:7.8pt!important;font-weight:800!important;line-height:1.25!important;text-align:right!important}html[data-print-view=true] .rating-pips span{display:none!important}html[data-print-view=true] .rating-pips:before{content:attr(aria-label)}html[data-print-view=true] .experience-groups{gap:.14in!important}html[data-print-view=true] .experience-group{gap:.06in!important}html[data-print-view=true] .experience-group-heading{color:#111!important}html[data-print-view=true] .experience-list{gap:0!important}html[data-print-view=true] .experience-row{grid-template-columns:1.35in minmax(0,1fr)!important;gap:.12in!important;padding:.08in 0!important;border-right:0!important;border-left:0!important;border-bottom:0!important}html[data-print-view=true] .experience-row:first-child{border-top:0!important;padding-top:0!important}html[data-print-view=true] .experience-time h4{margin:0!important;color:#111!important;font-size:9pt!important;line-height:1.2!important}html[data-print-view=true] .experience-time div,html[data-print-view=true] .experience-location{color:#333!important;font-size:7.5pt!important;font-weight:800!important;line-height:1.25!important}html[data-print-view=true] .experience-description{gap:.025in!important;margin-top:.04in!important}html[data-print-view=true] .experience-description p{color:#111!important;font-size:8.2pt!important;line-height:1.32!important}html[data-print-view=true] .experience-location{display:block!important;margin-top:.04in!important}html[data-print-view=true] .experience-location svg{display:none!important}html[data-print-view=true] .contact-section{padding-bottom:0!important}html[data-print-view=true] .contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.08in!important}html[data-print-view=true] .contact-card{display:block!important;min-height:0!important;padding:.07in!important;color:#111!important}html[data-print-view=true] .email-address{min-height:0!important}html[data-print-view=true] .email-local-image{height:.16in!important}@media(max-width:760px){html[data-print-view=true] .app-shell.print-view{width:100%;padding:.35in .18in}}.about-grid.svelte-22v3ng{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(20rem,.9fr);gap:1.2rem;align-items:start}.about-copy.svelte-22v3ng{padding:1rem 0}.about-copy.svelte-22v3ng p:where(.svelte-22v3ng){max-width:58rem;margin:.7rem 0 0;color:var(--color-text);font-size:1.05rem}.detail-grid.svelte-22v3ng{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.detail-cell.svelte-22v3ng{min-height:7.25rem;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-panel);transition:border-color var(--transition)}.detail-cell.svelte-22v3ng{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem}.detail-cell.svelte-22v3ng svg{color:var(--color-start)}.detail-cell.svelte-22v3ng:hover{border-color:var(--color-start)}.detail-label.svelte-22v3ng{color:var(--color-muted);font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.detail-value.svelte-22v3ng{margin-top:.45rem;color:var(--color-text);font-weight:700;line-height:1.35;white-space:pre-line}@media(max-width:900px){.about-grid.svelte-22v3ng{grid-template-columns:1fr}}@media(max-width:620px){.detail-grid.svelte-22v3ng{grid-template-columns:1fr}}.ats-resume.svelte-fb7nah{width:min(100% - 2rem,8.25in);margin:0 auto;padding:2rem 0 4rem;background:#fff;color:#111;font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.45}.ats-resume.svelte-fb7nah *{font-family:inherit;letter-spacing:0}.resume-header.svelte-fb7nah{padding-bottom:1rem;border-bottom:2px solid #111111}h1.svelte-fb7nah,h2.svelte-fb7nah,h3.svelte-fb7nah,p.svelte-fb7nah,ul.svelte-fb7nah{margin-top:0}h1.svelte-fb7nah{margin-bottom:.25rem;font-size:2.05rem;line-height:1.1}h2.svelte-fb7nah{margin-bottom:.55rem;padding-bottom:.18rem;border-bottom:1px solid #999999;font-size:1.05rem;line-height:1.2;text-transform:uppercase}h3.svelte-fb7nah{margin-bottom:.18rem;font-size:.98rem;line-height:1.25}section.svelte-fb7nah{margin-top:1.25rem}section.svelte-fb7nah section:where(.svelte-fb7nah){margin-top:0}p.svelte-fb7nah{margin-bottom:.55rem}ul.svelte-fb7nah{margin-bottom:.75rem;padding-left:1.25rem}li.svelte-fb7nah{margin-bottom:.18rem}.resume-title.svelte-fb7nah{margin-bottom:.45rem;font-weight:700}.contact-line.svelte-fb7nah{display:flex;flex-wrap:wrap;gap:.25rem .75rem;color:#222;font-size:.94rem}.contact-line.svelte-fb7nah span:where(.svelte-fb7nah):not(:last-child):after{content:"|";margin-left:.75rem;color:#777}.skill-groups.svelte-fb7nah{display:grid;gap:.65rem}.skill-group.svelte-fb7nah h3:where(.svelte-fb7nah){margin-bottom:.12rem}.skill-group.svelte-fb7nah p:where(.svelte-fb7nah){margin-bottom:0}.resume-entry.svelte-fb7nah{margin-top:.85rem;break-inside:avoid;page-break-inside:avoid}.entry-meta.svelte-fb7nah{display:flex;flex-wrap:wrap;gap:.2rem .7rem;margin-bottom:.35rem;color:#222}.entry-meta.svelte-fb7nah span:where(.svelte-fb7nah):not(:last-child):after,.entry-meta.svelte-fb7nah strong:where(.svelte-fb7nah):after{content:"|";margin-left:.7rem;color:#777;font-weight:400}.repository-line.svelte-fb7nah,.technology-line.svelte-fb7nah{margin-bottom:0}@media print{.ats-resume.svelte-fb7nah{width:100%;padding:0;font-size:10pt;line-height:1.35}h1.svelte-fb7nah{font-size:20pt}h2.svelte-fb7nah{font-size:11pt}h3.svelte-fb7nah{font-size:10pt}}.contact-section.svelte-1mt7jo5{padding-bottom:8rem;background:var(--color-panel)}.contact-grid.svelte-1mt7jo5{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.contact-card.svelte-1mt7jo5{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.85rem;min-height:4.8rem;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg);color:var(--color-text);text-decoration:none;transition:border-color var(--transition)}.contact-card.svelte-1mt7jo5:hover{border-color:var(--color-start)}.contact-card.svelte-1mt7jo5:focus-visible{outline:2px solid var(--color-warning);outline-offset:3px}.contact-card.svelte-1mt7jo5 svg:first-child{color:var(--color-mid)}.contact-card.svelte-1mt7jo5 span:where(.svelte-1mt7jo5){min-width:0;overflow-wrap:anywhere}.contact-card.svelte-1mt7jo5 strong:where(.svelte-1mt7jo5){display:block;color:var(--color-muted);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.email-card.svelte-1mt7jo5{grid-template-columns:auto minmax(0,1fr) auto}.email-address.svelte-1mt7jo5{display:flex;align-items:center;gap:.15rem;min-height:1.75rem}.email-image-link.svelte-1mt7jo5{display:inline-flex;align-items:center;min-width:0;border-radius:4px}.email-image-link.svelte-1mt7jo5:focus-visible,.reveal-button.svelte-1mt7jo5:focus-visible{outline:2px solid var(--color-warning);outline-offset:3px}.email-local-image.svelte-1mt7jo5{display:block;width:auto;height:1.5rem;filter:var(--email-image-filter)}.email-placeholder.svelte-1mt7jo5{color:var(--color-muted)}.reveal-button.svelte-1mt7jo5{gap:.45rem;min-height:2.35rem;white-space:nowrap}@media(max-width:720px){.contact-grid.svelte-1mt7jo5{grid-template-columns:1fr}.email-card.svelte-1mt7jo5{grid-template-columns:auto minmax(0,1fr)}.reveal-button.svelte-1mt7jo5{grid-column:2;justify-self:start}}.control-deck.svelte-kbemss{position:fixed;top:.75rem;left:.75rem;z-index:30;display:flex;align-items:flex-start;flex-wrap:wrap;gap:.55rem;max-width:calc(100vw - 1.5rem)}.language-control.svelte-kbemss{position:relative}.language-trigger.svelte-kbemss{gap:.5rem;justify-content:flex-start;max-width:min(21rem,calc(100vw - 13.8rem))}.language-trigger.svelte-kbemss span:where(.svelte-kbemss){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flag.svelte-kbemss{width:1.25rem;height:.85rem;object-fit:cover;border:1px solid rgba(255,255,255,.35)}.language-trigger.svelte-kbemss span.open:where(.svelte-kbemss){transform:rotate(180deg)}.language-menu.svelte-kbemss{position:absolute;top:calc(100% + .5rem);left:0;display:grid;width:min(22rem,calc(100vw - 1.5rem));padding:.45rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:#0c1014f5;box-shadow:0 1rem 2.5rem #00000059}.control-deck.light.svelte-kbemss .language-menu:where(.svelte-kbemss){background:#f8fbfff5}.language-option.svelte-kbemss{display:flex;align-items:center;gap:.55rem;width:100%;min-height:2.45rem;padding:.5rem .65rem;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--color-text);cursor:pointer;font-size:.88rem;font-weight:700;text-align:left}.language-option.svelte-kbemss:hover{border-color:var(--color-start);background:var(--fill-start)}.language-option.svelte-kbemss:focus-visible{outline:2px solid var(--color-warning);outline-offset:2px}.language-option.selected.svelte-kbemss{border-color:var(--color-mid);background:var(--fill-mid)}.icon-button.svelte-kbemss{padding-inline:.7rem}.control-link.svelte-kbemss{text-decoration:none}@media(max-width:640px){.control-deck.svelte-kbemss{top:.5rem;left:.5rem;gap:.4rem}.language-trigger.svelte-kbemss{max-width:calc(100vw - 12.9rem)}.language-trigger.svelte-kbemss span:where(.svelte-kbemss){max-width:8.8rem}}.experience-groups.svelte-1nqhbn7{display:grid;gap:3rem}.experience-group.svelte-1nqhbn7{display:grid;gap:1rem}.experience-group-heading.svelte-1nqhbn7{display:flex;align-items:center;gap:.65rem;color:var(--color-start)}.experience-group-heading.svelte-1nqhbn7 h3:where(.svelte-1nqhbn7){margin:0;font-size:1.35rem;line-height:1.2}.experience-list.svelte-1nqhbn7{display:grid;gap:.85rem}.experience-row.svelte-1nqhbn7{display:grid;grid-template-columns:minmax(12rem,.34fr) minmax(0,.66fr);gap:1rem;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-panel);transition:border-color var(--transition)}.experience-row.svelte-1nqhbn7:hover{border-color:var(--color-start)}.experience-time.svelte-1nqhbn7 h4:where(.svelte-1nqhbn7){margin:0;color:var(--color-text);font-size:1rem;line-height:1.25}.experience-time.svelte-1nqhbn7 div:where(.svelte-1nqhbn7){margin-top:.35rem;color:var(--color-muted);font-size:.78rem;font-weight:800}.experience-role.svelte-1nqhbn7{color:var(--color-muted);font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.experience-description.svelte-1nqhbn7{display:grid;gap:.3rem;margin-top:.65rem}.experience-description.svelte-1nqhbn7 p:where(.svelte-1nqhbn7){margin:0;color:var(--color-text);font-size:.92rem;line-height:1.5}.experience-location.svelte-1nqhbn7{display:inline-flex;align-items:center;gap:.35rem;margin-top:.85rem;color:var(--color-muted);font-size:.78rem;font-weight:800}.experience-toggle-row.svelte-1nqhbn7{display:flex;justify-content:center;margin-top:.4rem}.experience-toggle.svelte-1nqhbn7{gap:.55rem;min-width:min(100%,14rem)}.experience-count.svelte-1nqhbn7{display:inline-grid;place-items:center;min-width:1.65rem;min-height:1.4rem;padding:0 .4rem;border-radius:999px;background:var(--fill-start);color:var(--color-start);font-size:.74rem;line-height:1}.experience-description a{font-weight:800}@media(max-width:820px){.experience-row.svelte-1nqhbn7{grid-template-columns:1fr}}.matrix-backdrop.svelte-1r1qoe5{position:absolute;inset:0;width:100%;height:100%;display:block;background:var(--color-bg)}.matrix-backdrop.banded.svelte-1r1qoe5{bottom:auto;height:60%;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 95%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 95%,transparent 100%)}.hero.svelte-1q37ri0{position:relative;display:grid;min-height:100svh;overflow:hidden;border-bottom:1px solid var(--color-border);background:var(--color-bg)}.hero-fade.svelte-1q37ri0{position:absolute;inset:0;background:#04050608;box-shadow:inset 0 9rem #04050647,inset 0 -16rem #04050685;pointer-events:none}.hero.light.svelte-1q37ri0 .hero-fade:where(.svelte-1q37ri0){background:#f5f8fc0a;box-shadow:inset 0 9rem #f5f8fc42,inset 0 -16rem #f5f8fc94}.hero-content.svelte-1q37ri0{position:relative;z-index:2;display:grid;place-items:center;width:var(--content-width);margin:0 auto;padding:6rem 0 5rem}.hero-copy.svelte-1q37ri0{display:grid;justify-items:center;max-width:56rem;text-align:center}.hero-kicker.svelte-1q37ri0{display:inline-flex;align-items:center;gap:.55rem;margin-bottom:.9rem;color:var(--color-mid)}h1.svelte-1q37ri0{margin:0;color:var(--color-text);font-size:clamp(3.2rem,10vw,8.6rem);font-weight:800;line-height:.95;text-shadow:0 0 22px rgba(0,0,0,.9),0 0 28px rgba(0,182,255,.18)}.hero.light.svelte-1q37ri0 h1:where(.svelte-1q37ri0){text-shadow:0 1px 0 rgba(255,255,255,.75),0 0 24px rgba(0,126,219,.16)}.hero-divider.svelte-1q37ri0{width:min(18rem,62vw);height:1px;margin:1.5rem 0 1rem;background:transparent}p.svelte-1q37ri0{margin:0;color:var(--color-text);font-size:clamp(1.1rem,2vw,1.45rem);font-weight:700}.hero-meta.svelte-1q37ri0{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem;margin-top:1.6rem}.scroll-cue.svelte-1q37ri0{position:absolute;right:50%;bottom:1rem;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;color:var(--color-text);transform:translate(50%);opacity:.9}.scroll-cue.svelte-1q37ri0:hover,.scroll-cue.svelte-1q37ri0:focus-visible{color:var(--color-start);outline:none}@media(max-width:760px){.hero.svelte-1q37ri0{min-height:100svh}.hero-content.svelte-1q37ri0{padding-top:7rem}.hero-meta.svelte-1q37ri0{align-items:stretch}.hero-meta.svelte-1q37ri0 .meta-chip:where(.svelte-1q37ri0){justify-content:center;width:100%;max-width:24rem}}.projects-section.svelte-1adnqlh{background:var(--color-bg)}.project-list.svelte-1adnqlh{display:grid;gap:1rem}.project-card.svelte-1adnqlh{display:grid;gap:1rem;padding:1rem}.project-heading.svelte-1adnqlh{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.9rem;align-items:start}.project-icon.svelte-1adnqlh{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--fill-start);color:var(--color-start)}.project-heading.svelte-1adnqlh h3:where(.svelte-1adnqlh){margin:0;color:var(--color-text);font-size:1.15rem;line-height:1.25}.project-title-link.svelte-1adnqlh{display:inline-flex;align-items:center;gap:.4rem;color:inherit;text-decoration:none}.project-title-link.svelte-1adnqlh:hover{color:var(--color-start)}.project-title-link.svelte-1adnqlh svg{flex:0 0 auto}.project-heading.svelte-1adnqlh p:where(.svelte-1adnqlh){max-width:72rem;margin:.45rem 0 0;color:var(--color-muted);font-size:.95rem;line-height:1.55}.project-body.svelte-1adnqlh{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,.32fr);gap:1rem;align-items:start}.project-highlights.svelte-1adnqlh{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.project-highlights.svelte-1adnqlh li:where(.svelte-1adnqlh){display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem;color:var(--color-text);font-size:.9rem;line-height:1.45}.project-highlights.svelte-1adnqlh svg{margin-top:.22rem;color:var(--color-mid)}.technology-list.svelte-1adnqlh{display:flex;flex-wrap:wrap;gap:.45rem}.projects-toggle-row.svelte-1adnqlh{display:flex;justify-content:center;margin-top:1.25rem}.projects-toggle.svelte-1adnqlh{gap:.55rem;min-width:min(100%,14rem)}.project-count.svelte-1adnqlh{display:inline-grid;place-items:center;min-width:1.65rem;min-height:1.4rem;padding:0 .4rem;border-radius:999px;background:var(--fill-start);color:var(--color-start);font-size:.74rem;line-height:1}@media(max-width:960px){.project-body.svelte-1adnqlh{grid-template-columns:1fr}}@media(max-width:640px){.project-card.svelte-1adnqlh{padding:.85rem}.project-heading.svelte-1adnqlh{grid-template-columns:1fr}}.rating-pips.svelte-iobt8t{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.28rem;width:6.4rem}.rating-pips.svelte-iobt8t span:where(.svelte-iobt8t){height:.55rem;border:1px solid var(--color-border-strong);border-radius:999px;background:#a4b0c21f}.rating-pips.svelte-iobt8t span.active:where(.svelte-iobt8t){border-color:#39ff79bf;background:var(--color-mid);box-shadow:0 0 12px #39ff7947}.skills-section.svelte-ehyn8l{background:var(--color-panel)}.skill-groups.svelte-ehyn8l{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.skill-group.svelte-ehyn8l{min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-bg);overflow:hidden;transition:border-color var(--transition)}.skill-group.svelte-ehyn8l:hover{border-color:var(--color-start)}.skill-group-heading.svelte-ehyn8l{display:flex;align-items:center;gap:.65rem;min-height:3.5rem;padding:.9rem 1rem;border-bottom:1px solid var(--color-border);color:var(--color-start)}.skill-group-heading.svelte-ehyn8l h3:where(.svelte-ehyn8l){margin:0;color:inherit;font-size:1rem;line-height:1.2}.skill-list.svelte-ehyn8l{display:grid;gap:.15rem;padding:.65rem}.skill-row.svelte-ehyn8l{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:2.35rem;padding:.42rem .45rem;border:1px solid transparent;border-radius:6px;color:var(--color-text);font-size:.9rem;font-weight:700}.skill-row.svelte-ehyn8l:hover{border-color:var(--color-border);background:var(--color-panel-strong)}.skill-row.svelte-ehyn8l span:where(.svelte-ehyn8l){min-width:0;overflow-wrap:anywhere}@media(max-width:1400px){.skill-groups.svelte-ehyn8l{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.skill-groups.svelte-ehyn8l{grid-template-columns:1fr}.skill-list.svelte-ehyn8l{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.skill-list.svelte-ehyn8l{grid-template-columns:1fr}.skill-row.svelte-ehyn8l{grid-template-columns:minmax(0,1fr);align-items:start}}.loading-screen.svelte-1n46o8q{position:relative;display:grid;place-items:center;min-height:100svh;overflow:hidden}.loading-copy.svelte-1n46o8q{position:relative;z-index:2;text-align:center}.loading-copy.svelte-1n46o8q h1:where(.svelte-1n46o8q){margin:.35rem 0 0;font-size:clamp(2.4rem,8vw,6rem);line-height:1}.error-screen.svelte-1n46o8q{display:grid;align-items:center;min-height:100vh}.error-screen.svelte-1n46o8q h1:where(.svelte-1n46o8q){margin:0;color:var(--color-danger)}.error-screen.svelte-1n46o8q p:where(.svelte-1n46o8q){max-width:42rem}.resume-shell.svelte-1n46o8q{min-height:100vh;background:#fff;color:#111}.ats-loading.svelte-1n46o8q{display:grid;align-content:center;min-height:100vh;padding:2rem;background:#fff;color:#111;font-family:Arial,Helvetica,sans-serif}.ats-loading.svelte-1n46o8q h1:where(.svelte-1n46o8q){margin:0;font-size:2rem}.ats-loading.svelte-1n46o8q p:where(.svelte-1n46o8q){margin:.4rem 0 0}html[data-route=resume]{background:#fff;color-scheme:light}html[data-route=resume] body{background:#fff;color:#111}
