@import "https://fonts.googleapis.com/css2?family=Jersey+15&family=Manrope:wght@400;500;600;700;800&family=Pixelify+Sans:wght@500;600;700&display=swap";body{background:radial-gradient(circle at 88% 7%,#f7c75d20 0,transparent 22rem),radial-gradient(circle at 3% 22%,#87bd4b22 0,transparent 29rem),radial-gradient(circle at 52% 91%,#8e30421c 0,transparent 32rem),var(--ink);position:relative;overflow-x:hidden}body:before{z-index:-2;opacity:.8;background-image:radial-gradient(#f7c75d 1.5px,#0000 1.7px),radial-gradient(#87bd4b 1px,#0000 1.3px),radial-gradient(#fff8e8 1px,#0000 1.2px);background-position:0 0,19px 33px,47px 11px;background-size:89px 89px,131px 131px,173px 173px;animation:20s steps(20,end) infinite pixel-drift;-webkit-mask-image:linear-gradient(145deg,#000 0% 42%,#0000 92%);mask-image:linear-gradient(145deg,#000 0% 42%,#0000 92%)}body:after{content:"";z-index:-1;pointer-events:none;opacity:.38;background-image:linear-gradient(90deg,#0000 0 49%,#87bd4b20 49% 50%,#0000 50%),linear-gradient(0deg,#0000 0 49%,#f7c75d16 49% 50%,#0000 50%);background-size:240px 240px;animation:18s steps(18,end) infinite grid-shift;position:fixed;inset:0;-webkit-mask-image:radial-gradient(#000,#0000 72%);mask-image:radial-gradient(#000,#0000 72%)}.button.secondary{border-color:var(--lime);color:#f7fff1;background:#103c46;box-shadow:5px 5px #1d5d42,0 0 18px #9dcd5924}.character-card{border-color:var(--gold);background:linear-gradient(145deg,#123c55,#0a2238 73%);box-shadow:10px 10px #06101b,0 0 0 5px #204d62,0 0 32px #87bd4b24}.skill-card,.toolbelt,.project-card,.evidence-card{background:linear-gradient(145deg,#113a52,#0a2238);border-color:#47728a;box-shadow:7px 7px #06101b}.skill-pin{border-color:var(--gold);background:#87bd4b;box-shadow:3px 3px #8e3042}.toolbelt>div>span,.project-media{background:#081d30;border-color:#365e70}.project-icon{color:#a7d46a;background:#163d4d;box-shadow:3px 3px #8e3042}.text-link{color:var(--gold)}.experience-photo,.case-gallery a{border-color:#47728a;box-shadow:7px 7px #06101b}.contact-action{background:linear-gradient(145deg,#173e51,#0a2335);box-shadow:9px 9px #06101b,0 0 28px #f7c75d14}.case-hero-image,.image-lightbox figure{box-shadow:9px 9px #06101b}.case-header,footer{border-color:#365e70}@keyframes pixel-drift{0%{background-position:0 0,19px 33px,47px 11px}50%{background-position:44px -88px,84px -27px,109px 98px}to{background-position:0 -176px,19px -99px,47px 185px}}@keyframes grid-shift{to{background-position:240px 240px,-240px 240px}}@media (width<=620px){.site-header nav{background:#092136;border-color:#47728a}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.contents{display:contents}.hidden{display:none}.table{display:table}.italic{font-style:italic}.underline{text-decoration-line:underline}}:root{--ink:#07111f;--surface:#0d1b2f;--surface-2:#13243d;--line:#3e5d7c;--text:#f7f3ed;--muted:#c1cbd6;--cyan:#b896ff;--gold:#f6c96e;--lime:#c7ec7c;--pink:#ce6c98;--shadow:#4b2944;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 88% 5%,#53233d 0,transparent 25rem),radial-gradient(circle at 4% 18%,#382052 0,transparent 30rem),var(--ink);color:var(--text);margin:0;font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.6}body:before{content:"";z-index:-1;pointer-events:none;opacity:.18;background-image:radial-gradient(#d7c5ff 1px,#0000 1.5px);background-size:9px 9px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 83%);mask-image:linear-gradient(#000,#0000 83%)}a{color:inherit}.wrap{width:min(var(--max),100%);margin:auto;padding:7.5rem 2rem}.skip{z-index:100;background:var(--lime);color:#061009;padding:.7rem 1rem;font:700 12px Pixelify Sans,monospace;position:fixed;top:-4rem;left:1rem}.skip:focus{top:1rem}.eyebrow{color:var(--cyan);letter-spacing:.03em;text-transform:uppercase;margin:0 0 .8rem;font:600 11px/1.5 Pixelify Sans,monospace}.section-heading{max-width:780px}.section-heading h2,.metrics-grid h2{letter-spacing:-.085em;margin:0;font:800 clamp(2rem,4vw,3.7rem)/1.05 Manrope,sans-serif}.section-intro{max-width:48rem;color:var(--muted);margin:1rem 0 0;font-size:1rem}.button{border:2px solid #0000;justify-content:center;align-items:center;gap:.65rem;min-height:48px;padding:.85rem 1rem;font:600 11px Pixelify Sans,monospace;text-decoration:none;transition:transform .13s steps(2,end),box-shadow .13s steps(2,end);display:inline-flex}.button:focus-visible,.menu-button:focus-visible,.image-button:focus-visible,.text-link:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}.button:hover{transform:translate(2px,2px)}.button.primary{background:var(--lime);color:#09120b;box-shadow:4px 4px #527329}.button.secondary{border-color:var(--cyan);background:var(--surface);color:var(--text);box-shadow:4px 4px #39234f}.boot{z-index:110;text-align:center;color:var(--text);background:#07111f;place-content:center;gap:.9rem;animation:.14s steps(2,end) .54s forwards boot-out;display:grid;position:fixed;inset:0}.boot p,.boot small{color:var(--cyan);margin:0;font:600 11px Pixelify Sans,monospace}.boot b{color:var(--gold);text-shadow:3px 3px 0 var(--pink);font:700 clamp(1.2rem,4vw,2.4rem) Pixelify Sans,monospace}.boot span{border:2px solid var(--gold);width:min(300px,70vw);height:16px;padding:3px;display:block}.boot i{background:repeating-linear-gradient(90deg,var(--lime) 0 15px,#6c9d45 15px 18px,transparent 18px 22px);width:100%;height:100%;animation:.5s steps(4,end) test-run;display:block}@keyframes test-run{0%{width:5%}to{width:100%}}@keyframes boot-out{to{opacity:0;visibility:hidden}}.wave-progress{z-index:40;background:#081522;border-bottom:1px solid #51376f;width:100%;height:13px;position:fixed;top:0;left:0}.wave-progress svg{width:100%;height:100%;display:block}.wave-progress path:first-child{stroke:#3e2b5b;stroke-width:3px;stroke-dasharray:7 5}.wave-progress .wave-fill{stroke:var(--cyan);stroke-width:4px;filter:drop-shadow(0 0 4px #b896ff);transition:stroke-dasharray 80ms linear}.site-header{z-index:30;height:78px;padding:0 max(1.25rem,calc((100vw - var(--max))/2));box-shadow:6px 6px 0 var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#081525f2;border:2px solid #547193;align-items:center;gap:1.5rem;display:flex;position:sticky;top:13px}.brand{align-items:center;line-height:1;text-decoration:none;display:flex}.brand-mark{width:42px;height:42px;filter:drop-shadow(3px 3px 0 var(--pink));place-items:center;display:grid}.brand-mark img{width:42px;height:42px;image-rendering:pixelated;display:block}.site-header nav{gap:1.1rem;margin-left:auto;display:flex}.site-header nav a{color:#e5edf1;font:600 9px Pixelify Sans,monospace;text-decoration:none;position:relative}.site-header nav a.active:after{content:"";background:var(--cyan);height:3px;box-shadow:0 0 8px var(--cyan);position:absolute;bottom:-12px;left:0;right:0}.menu-button{border:2px solid var(--cyan);color:var(--text);background:0 0;margin-left:auto;padding:.5rem .65rem;font:600 9px Pixelify Sans,monospace;display:none}.header-cta{background:var(--gold);color:#17100a;box-shadow:3px 3px 0 var(--pink);padding:.7rem .9rem;font:600 10px Pixelify Sans,monospace;text-decoration:none}.hero{grid-template-columns:minmax(0,1.16fr) minmax(330px,.84fr);align-items:center;gap:5rem;min-height:690px;display:grid;position:relative}.hero:before{content:"";z-index:-1;opacity:.32;background-image:linear-gradient(#b896ff22 1px,#0000 1px),linear-gradient(90deg,#b896ff22 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(120deg,#000 0% 55%,#0000 88%);mask-image:linear-gradient(120deg,#000 0% 55%,#0000 88%)}.hello{color:var(--gold);margin:0 0 1rem;font:600 14px Manrope,sans-serif}.hero h1{letter-spacing:-.1em;max-width:12ch;margin:0;font:800 clamp(2.6rem,5.1vw,5.25rem)/.98 Manrope,sans-serif}.hero h1 em{color:var(--cyan);text-shadow:3px 3px #39234f;font-style:normal;display:block}.lede{max-width:43rem;color:var(--muted);margin:1rem 0 0;font-size:1rem}.strong-lede{color:var(--text);font-size:1.16rem;font-weight:700}.actions{flex-wrap:wrap;gap:.8rem;margin-top:1.9rem;display:flex}.hero-contact{color:var(--muted);flex-wrap:wrap;gap:.65rem 1rem;margin-top:1.5rem;font-size:.8rem;display:flex}.hero-contact a{color:var(--text);-webkit-text-decoration-color:var(--cyan);-webkit-text-decoration-color:var(--cyan);-webkit-text-decoration-color:var(--cyan);text-decoration-color:var(--cyan);text-underline-offset:4px}.character-card{border:3px solid var(--gold);width:350px;box-shadow:9px 9px 0 var(--shadow),0 0 0 5px #17344a;background:#0c1a2d;justify-self:end;padding:1rem;position:relative}.character-card:before{content:"";pointer-events:none;border:1px solid #b896ff66;position:absolute;inset:8px}.card-top{z-index:1;justify-content:space-between;align-items:center;margin-bottom:.85rem;display:flex;position:relative}.card-top span{color:var(--gold);font:700 1.2rem Pixelify Sans,monospace}.card-top small{color:var(--cyan);font:600 8px Pixelify Sans,monospace}.portrait-frame{z-index:1;border:2px solid var(--cyan);aspect-ratio:4/3;background:#162b44;position:relative;overflow:hidden}.portrait-frame img{object-fit:cover;object-position:center 24%;filter:saturate(.96)contrast(1.05);width:100%;height:100%}.character-card h2{z-index:1;letter-spacing:-.08em;margin:1rem 0 .35rem;font:700 2.1rem/.95 Pixelify Sans,monospace;position:relative}.character-card>p{z-index:1;color:var(--muted);margin:0;font-size:.8rem;line-height:1.45;position:relative}.character-card dl{z-index:1;margin:1rem 0 0;position:relative}.character-card dl div{border-top:1px solid #41617e;grid-template-columns:70px 1fr;gap:.8rem;padding:.55rem 0;display:grid}.character-card dt{color:var(--cyan);font:600 8px Pixelify Sans,monospace}.character-card dd{color:var(--text);margin:0;font-size:.78rem}.metrics-band{background:#081725;border-block:2px solid #315c76}.metrics-grid{grid-template-columns:1.25fr repeat(4,1fr);align-items:center;gap:0;padding-top:1.8rem;padding-bottom:1.8rem;display:grid}.metrics-grid h2{letter-spacing:-.06em;font-size:1.35rem}.metric,.plain-metric{border-left:2px dashed #41617e;align-content:center;gap:.5rem;min-height:116px;padding:.8rem 1rem;display:grid}.metric span,.plain-metric span{color:var(--cyan);font:600 8px Pixelify Sans,monospace}.metric b,.plain-metric b{color:var(--gold);font:700 1.1rem Pixelify Sans,monospace}.metric i{border:2px solid var(--gold);background:#07111f;height:13px;padding:2px;display:block}.metric em{background:var(--lime);height:100%;display:block}.plain-metric small{color:var(--muted);font-size:.75rem}.section{scroll-margin-top:90px}.pixel-panel{box-shadow:8px 8px 0 var(--shadow);background:linear-gradient(145deg,#132740,#0b182a);border:2px solid #41617e}.body-copy{color:#e2eaf0;padding:2.2rem}.body-copy p{margin:0 0 1rem}.body-copy ul{margin:1rem 0 0;padding-left:1.25rem}.body-copy li{margin:.65rem 0}.timeline{border-left:3px solid var(--gold);margin:2.4rem 0 0 .5rem}.timeline>div{grid-template-columns:88px 1fr;gap:1.5rem;padding:0 0 2.2rem 2rem;display:grid;position:relative}.timeline>div:before{content:"";border:3px solid var(--cyan);background:var(--ink);width:14px;height:14px;position:absolute;top:.25rem;left:-9px}.timeline>div>b{color:var(--gold);font:600 11px Pixelify Sans,monospace}.timeline strong{font-size:1.05rem;display:block}.timeline small{color:var(--muted);margin-top:.25rem;display:block}.timeline mark{color:var(--lime);background:#c7ec7c1c;margin-top:.7rem;padding:.3rem .45rem;font:600 9px Pixelify Sans,monospace;display:inline-block}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem 4rem;margin-top:2.5rem;padding:1rem 2.2rem;display:grid;position:relative}.skill-grid:before{content:"";background:repeating-linear-gradient(180deg,var(--cyan) 0 10px,transparent 10px 16px);width:4px;position:absolute;top:0;bottom:0;left:50%;box-shadow:3px 0 #223d56}.skill-card{background:#0d1b2f;border:3px solid #557093;min-height:220px;padding:1.55rem;position:relative;box-shadow:6px 6px #28374f}.skill-card:before{content:"";background:repeating-linear-gradient(90deg,var(--cyan) 0 9px,transparent 9px 14px);width:2.05rem;height:4px;position:absolute;top:50%}.skill-card:nth-child(odd):before{left:100%}.skill-card:nth-child(2n):before{right:100%}.skill-pin{border:3px solid var(--gold);background:var(--lime);width:20px;height:20px;box-shadow:3px 3px 0 var(--pink);position:absolute;top:calc(50% - 10px)}.skill-card:nth-child(odd) .skill-pin{right:-2.7rem}.skill-card:nth-child(2n) .skill-pin{left:-2.7rem}.skill-card h3{color:var(--gold);margin:.4rem 0 .9rem;font:700 1.15rem/1.35 Pixelify Sans,monospace}.skill-card p:last-child{color:var(--muted);margin:0;font-size:.94rem;line-height:1.75}.toolbelt{background:#0d1b2f;border:3px solid #41617e;margin-top:2rem;padding:1.2rem;box-shadow:6px 6px #28374f}.toolbelt>div{flex-wrap:wrap;gap:.7rem;margin-top:.75rem;display:flex}.toolbelt>div>span{background:#0a1626;border:2px solid #41617e;align-items:center;gap:.5rem;min-width:130px;padding:.55rem .65rem;display:flex}.toolbelt img{object-fit:contain;width:27px;height:27px}.toolbelt b{white-space:nowrap;font-size:.78rem}.project-grid{grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.4rem;display:grid}.project-card{background:#0d1b2f;border:3px solid #557093;flex-direction:column;transition:transform .15s steps(2,end),border-color .15s;display:flex;box-shadow:7px 7px #28374f}.project-card:hover{border-color:var(--cyan);transform:translateY(-4px)}.project-media{background:#081522;border-bottom:2px solid #41617e;height:205px;position:relative;overflow:hidden}.project-media:after{content:"";pointer-events:none;border:1px solid #b896ff77;position:absolute;inset:8px}.project-media img{object-fit:cover;width:100%;height:100%}.project-number{z-index:1;background:var(--gold);color:#151109;padding:.32rem .45rem;font:600 9px Pixelify Sans,monospace;position:absolute;top:.75rem;left:.75rem}.project-icon{z-index:1;border:2px solid var(--gold);width:40px;height:40px;color:var(--cyan);box-shadow:3px 3px 0 var(--pink);background:#152b47;place-items:center;font:700 1.6rem Pixelify Sans,monospace;display:grid;position:absolute;bottom:.65rem;right:.75rem}.project-body{flex-direction:column;flex:1;padding:1.3rem;display:flex}.project-body h3{letter-spacing:-.04em;margin:.2rem 0 .8rem;font:700 1.3rem/1.25 Manrope,sans-serif}.project-body>p:not(.eyebrow){color:var(--muted);margin:0;font-size:.9rem}.project-body ul,.case-tags{flex-wrap:wrap;gap:.4rem;padding:0;list-style:none;display:flex}.project-body ul{margin:1rem 0}.project-body li,.case-tags span{color:var(--cyan);border:1px solid #41617e;padding:.28rem .4rem;font:600 8px Pixelify Sans,monospace}.text-link{color:var(--cyan);align-self:flex-start;margin-top:auto;font:600 10px Pixelify Sans,monospace;text-decoration:none}.text-link:hover{color:var(--gold)}.experience-grid{grid-template-columns:.95fr 1.05fr;align-items:stretch;gap:2rem;margin-top:2.3rem;display:grid}.image-button{width:100%;color:inherit;text-align:left;cursor:zoom-in;background:#0a1626;border:0;padding:0;display:block;position:relative}.image-button img{object-fit:cover;width:100%;height:100%;display:block}.image-button>span{border:1px solid var(--gold);color:var(--gold);opacity:0;background:#07111fdd;padding:.35rem .45rem;font:600 8px Pixelify Sans,monospace;transition:opacity .15s;position:absolute;bottom:.65rem;right:.65rem}.image-button:hover>span,.image-button:focus-visible>span{opacity:1}.experience-photo{border:3px solid #557093;height:100%;min-height:340px;box-shadow:7px 7px #28374f}.experience-photo img{object-fit:contain;background:#07111f}.hands-grid,.recognition-featured{grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem;display:grid}.evidence-card{background:#0d1b2f;border:3px solid #557093;margin:0;padding:.75rem;box-shadow:5px 5px #28374f}.evidence-card .image-button{height:165px}.evidence-card .image-button img{object-fit:cover}.evidence-card figcaption{gap:.3rem;padding:.8rem .1rem .1rem;display:grid}.evidence-card figcaption b{color:var(--gold);font:600 9px/1.4 Pixelify Sans,monospace}.evidence-card figcaption span{color:var(--muted);font-size:.76rem;line-height:1.35}.recognition-featured{grid-template-columns:repeat(3,1fr)}.recognition-featured .evidence-card .image-button{height:220px}.recognition-featured .image-button img{object-fit:contain;background:#fff}.recognition-list{grid-template-columns:repeat(2,1fr);gap:.9rem;margin-top:1.2rem;display:grid}.recognition-list>div{border-left:3px solid var(--cyan);background:#0d1b2f;gap:.3rem;padding:1rem;display:grid}.recognition-list b{color:var(--gold);font:600 10px Pixelify Sans,monospace}.recognition-list span{color:var(--muted);font-size:.86rem}.contact-grid{grid-template-columns:1.1fr .9fr;gap:1.5rem;margin-top:2.3rem;display:grid}.contact-line{color:var(--text);border-top:1px solid #41617e;grid-template-columns:28px 80px 1fr;align-items:center;gap:.7rem;padding:1rem 0;text-decoration:none;display:grid}.contact-line>span{border:2px solid var(--cyan);width:23px;height:23px;color:var(--cyan);place-items:center;font:600 11px Pixelify Sans,monospace;display:grid}.contact-line b{font:600 9px Pixelify Sans,monospace}.contact-line em{color:var(--muted);font-size:.84rem;font-style:normal}.contact-action{border:3px solid var(--gold);box-shadow:8px 8px 0 var(--shadow);background:#13243d;padding:2.1rem}.contact-action h3{color:var(--text);margin:.5rem 0 1rem;font:700 1.8rem/1.2 Pixelify Sans,monospace}.contact-action>p:not(.eyebrow){color:var(--muted)}.contact-action .button{width:100%;margin-top:.7rem}footer{padding:1.5rem max(1.5rem,calc((100vw - var(--max))/2));color:var(--muted);border-top:2px solid #315c76;justify-content:space-between;gap:1rem;font-size:.76rem;display:flex}footer a{color:var(--cyan);text-decoration:none}.image-lightbox{z-index:120;background:#030811e8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.image-lightbox figure{border:3px solid var(--gold);max-width:min(1100px,100%);max-height:calc(100vh - 2rem);box-shadow:9px 9px 0 var(--pink);background:#0d1b2f;margin:0;padding:1rem;position:relative}.image-lightbox img{object-fit:contain;max-width:100%;max-height:calc(100vh - 7rem);margin:auto;display:block}.image-lightbox button{border:2px solid var(--cyan);background:var(--ink);width:38px;height:38px;color:var(--text);cursor:pointer;place-items:center;font-size:1.8rem;display:grid;position:absolute;top:1.4rem;right:1.4rem}.image-lightbox figcaption{text-align:center;color:var(--muted);padding:.7rem 0 0;font-size:.8rem}.case-page{min-height:100vh}.case-header{width:min(var(--max),100%);border-bottom:2px solid #41617e;justify-content:space-between;align-items:center;margin:auto;padding:2rem;display:flex}.case-study{max-width:980px}.case-study h1{letter-spacing:-.09em;max-width:18ch;margin:.3rem 0 1.2rem;font:800 clamp(2rem,5vw,4.25rem)/1.03 Manrope,sans-serif}.case-summary{max-width:780px;color:var(--muted);margin:0;font-size:1.17rem}.case-hero-image{border:3px solid var(--gold);box-shadow:8px 8px 0 var(--shadow);background:#13243d;margin:2.2rem 0 1.1rem;padding:.8rem}.case-hero-image img{object-fit:contain;background:#fff;width:100%;max-height:520px;display:block}.case-tags{margin:1.2rem 0 2.2rem}.case-metrics{background:#0d1b2f;border:3px solid #41617e;grid-template-columns:repeat(4,1fr);display:grid}.case-metrics>div{border-right:2px solid #41617e;gap:.4rem;padding:1.2rem;display:grid}.case-metrics>div:last-child{border:0}.case-metrics b{color:var(--gold);font:600 1.1rem Pixelify Sans,monospace}.case-metrics span{color:var(--muted);font-size:.78rem}.case-section{max-width:800px;margin:3.7rem 0}.case-section h2{color:var(--gold);margin:0 0 1rem;font:700 1.4rem/1.3 Pixelify Sans,monospace}.case-section p,.case-section li{color:#e0e8ee;font-size:1rem;line-height:1.75}.case-section ol{gap:.8rem;padding-left:1.35rem;display:grid}.content-needed{border:2px dashed var(--gold);background:#f6c96e14;padding:1rem;font-weight:700;color:var(--gold)!important}.case-gallery{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.case-gallery a{background:#0d1b2f;border:3px solid #41617e;padding:.5rem;display:block;position:relative;box-shadow:5px 5px #28374f}.case-gallery img{object-fit:cover;width:100%;height:220px;display:block}.case-gallery span{color:var(--cyan);padding:.65rem 0 .1rem;font:600 8px Pixelify Sans,monospace;display:block}.project-code{margin-bottom:2rem}.not-found{background:var(--ink);place-content:center;min-height:100vh;padding:2rem;display:grid}.not-found h1{font:700 clamp(2rem,6vw,4rem) Pixelify Sans,monospace}@media (width<=980px){.site-header{padding-inline:1rem}.site-header nav{box-shadow:5px 5px 0 var(--shadow);background:#081525;border:2px solid #547193;flex-direction:column;gap:0;padding:.75rem;display:none;position:absolute;top:75px;left:-2px;right:-2px}.site-header nav.open{display:flex}.site-header nav a{padding:.7rem}.site-header nav a.active:after{width:46px;bottom:.25rem;right:auto}.menu-button{display:block}.header-cta{display:none}.hero{grid-template-columns:1fr;gap:2.2rem;min-height:0}.character-card{order:-1;justify-self:center}.metrics-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.metrics-grid>div:first-child{grid-column:1/-1}.metric,.plain-metric{border-top:2px dashed #41617e;border-left:0;padding:1rem 0}.skill-grid{gap:1.2rem 3.2rem;padding-inline:.4rem}.skill-card:nth-child(odd) .skill-pin{right:-2.1rem}.skill-card:nth-child(2n) .skill-pin{left:-2.1rem}.skill-card:before{width:1.45rem}.experience-grid,.contact-grid{grid-template-columns:1fr}.hands-grid{grid-template-columns:repeat(2,1fr)}.recognition-featured{grid-template-columns:repeat(3,1fr)}.project-grid{grid-template-columns:1fr}.project-card{grid-template-columns:220px 1fr;display:grid}.project-media{height:auto}.project-body{min-height:270px}.case-header{padding:1.5rem}.case-metrics{grid-template-columns:repeat(2,1fr)}.case-metrics>div:nth-child(2){border-right:0}.case-metrics>div:nth-child(n+3){border-top:2px solid #41617e}}@media (width<=620px){.wave-progress{height:9px}.site-header{height:66px;top:9px}.brand-mark{width:33px;height:33px;font-size:1.05rem}.brand b{font-size:.85rem}.brand small{font-size:7px}.wrap{padding:5.1rem 1.25rem}.hero h1{font-size:clamp(2.2rem,11vw,3.25rem)}.strong-lede{font-size:1.04rem}.character-card{width:min(350px,94vw)}.metrics-grid{grid-template-columns:1fr}.metrics-grid>div:first-child{grid-column:auto}.metric,.plain-metric{min-height:0}.section-heading h2{font-size:2.15rem}.timeline{margin-left:.2rem}.timeline>div{grid-template-columns:63px 1fr;gap:.8rem;padding-left:1.3rem}.skill-grid{margin-top:2rem;padding:1.3rem 0 1rem 2.2rem;display:block}.skill-grid:before{top:2rem;bottom:1.5rem;left:11px}.skill-card{min-height:0;margin-bottom:1rem}.skill-card:before{width:1.7rem;height:3px;top:1.65rem;left:-1.65rem!important;right:auto!important}.skill-card .skill-pin{top:calc(1.65rem - 9px);left:-2.5rem!important;right:auto!important}.skill-card h3{font-size:1rem}.toolbelt>div>span{flex:calc(50% - .7rem);min-width:0}.toolbelt b{font-size:.7rem}.project-card{display:block}.project-media{height:210px}.project-body{min-height:0}.hands-grid,.recognition-featured,.recognition-list,.case-gallery{grid-template-columns:1fr}.evidence-card .image-button,.recognition-featured .evidence-card .image-button{height:auto}.evidence-card .image-button img{aspect-ratio:16/10;height:auto}.recognition-featured .image-button img{object-fit:contain}.contact-line{grid-template-columns:28px 1fr}.contact-line em{grid-column:2}.contact-action h3{font-size:1.5rem}.contact-action{padding:1.5rem}.case-header{gap:1rem;padding:1.1rem 1.25rem}.case-header .header-cta{font-size:8px;display:block}.case-study h1{font-size:2.35rem}.case-summary{font-size:1rem}.case-metrics{grid-template-columns:1fr}.case-metrics>div{border-top:2px solid #41617e;border-right:0}.case-metrics>div:first-child{border-top:0}.case-section{margin:2.8rem 0}.case-section h2{font-size:1.15rem}.case-gallery img{height:auto}.case-page .brand small{font-size:6px}footer{gap:.45rem;display:grid}.image-button>span{opacity:1}}.project-icon{display:none}.project-links{grid-template-columns:1fr 1fr;gap:.65rem;margin-top:auto;display:grid}.project-button{letter-spacing:.01em;border:2px solid;justify-content:center;align-items:center;gap:.45rem;min-height:46px;padding:.72rem .65rem;font:600 9px Pixelify Sans,monospace;text-decoration:none;transition:transform .13s steps(2,end),box-shadow .13s steps(2,end);display:inline-flex;box-shadow:3px 3px #28374f}.project-button:hover{transform:translate(2px,2px);box-shadow:1px 1px #28374f}.project-button:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.case-button{border-color:var(--cyan);background:var(--cyan);color:#160d22}.repository-kicker{letter-spacing:.04em;text-transform:uppercase;margin:0 0 .45rem;color:var(--cyan)!important;font:600 10px Pixelify Sans,monospace!important}.project-code{background:linear-gradient(135deg,#241535,#111b30);border:3px solid #b896ff;padding:1.6rem;box-shadow:8px 8px #160d22}.project-code h2{margin-bottom:.65rem}.github-button{color:#160d22;background:#b896ff;border-color:#e4daff;width:min(100%,470px);min-height:58px;margin-top:1.25rem;font-size:11px;box-shadow:6px 6px #160d22}@media (width<=620px){.project-links{grid-template-columns:1fr}.project-button{min-height:46px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.brand-mark img{width:100%;height:100%}.hero h1,.section-heading h2,.metrics-grid h2,.character-card h2,.skill-card h3,.project-body h3,.contact-action h3,.case-study h1,.case-section h2,.not-found h1{letter-spacing:.015em;font-family:"Jersey 15",sans-serif;font-weight:400}.hero h1,.case-study h1{line-height:1.03}.section-heading h2,.metrics-grid h2,.character-card h2,.skill-card h3,.project-body h3,.contact-action h3,.case-section h2{line-height:1.08}body{background:radial-gradient(circle at 88% 8%,#ff795e36 0,transparent 27rem),radial-gradient(circle at 4% 16%,#28d6c237 0,transparent 31rem),radial-gradient(circle at 48% 80%,#ffc8571e 0,transparent 35rem),var(--ink);background-attachment:fixed}body:before{opacity:.25;background-image:radial-gradient(#ffd18b 1px,#0000 1.5px);background-size:13px 13px}body:after{content:"";z-index:-1;pointer-events:none;opacity:.42;background:linear-gradient(115deg,#0000 0 37%,#43d6a10d 37% 38%,#0000 38% 66%,#ff8f700b 66% 67%,#0000 67%) 0 0/210px 210px;position:fixed;inset:0}.eyebrow{color:#ffbc63;letter-spacing:.09em}.section-heading h2,.metrics-grid h2{color:#fffaf1;text-shadow:3px 3px #302344}.button{letter-spacing:.055em;border-radius:2px}.button.primary{color:#21121b;background:linear-gradient(135deg,#ffb85d,#ff8f70);box-shadow:5px 5px #9c3d61,0 0 22px #ff9b6a42}.button.primary:hover{box-shadow:2px 2px #9c3d61,0 0 28px #ff9b6a6e}.boot{background:radial-gradient(circle,#1f2944,#090d1a 62%)}.wave-progress{background:#0d1323;border-color:#554064}.header-cta{background:#ffbc63;box-shadow:3px 3px #f77ab5}.hero:before{opacity:.52;background-image:linear-gradient(#43d6a126 1px,#0000 1px),linear-gradient(90deg,#43d6a126 1px,#0000 1px);background-size:38px 38px}.hero:after{content:"";z-index:-1;border:2px dashed #ffbc6361;border-radius:50%;width:260px;height:260px;animation:10s linear infinite orbit-glow;position:absolute;top:8%;right:2%;box-shadow:0 0 0 22px #43d6a108,0 0 0 46px #f77ab50a}.hello{color:#ffbc63}.hero h1 em{color:#43d6a1;text-shadow:3px 3px #25504b}.character-card{background:linear-gradient(145deg,#202943,#12172a 73%);border-color:#ffbc63;box-shadow:10px 10px #38244d,0 0 0 5px #3d486c,0 0 32px #f77ab526}.card-top small,.character-card dt{color:#43d6a1}.portrait-frame:after{content:"";pointer-events:none;background:linear-gradient(#0000 50%,#ffbc6312 50%) 0 0/100% 5px;position:absolute;inset:0}.character-card dl div{border-color:#536182}.metric,.plain-metric{border-color:#5e5270}.metric span,.plain-metric span{color:#43d6a1}.metric b,.plain-metric b{color:#ffbc63}.pixel-panel{background:linear-gradient(145deg,#202a46,#12182b 68%);border-color:#5c678c;box-shadow:9px 9px #38244d,0 0 22px #43d6a10e}.timeline>div>b{color:#ffbc63}.skill-card{background:linear-gradient(145deg,#1d2640,#111729);border-color:#5d688b;box-shadow:7px 7px #38244d}.skill-card:nth-child(odd){border-top-color:#43d6a1}.skill-card:nth-child(2n){border-top-color:#ffbc63}.skill-card h3{color:#ffbc63}.toolbelt{background:#111729;border-color:#5d688b;box-shadow:7px 7px #38244d}.project-card{background:linear-gradient(155deg,#1d2741,#111729 68%);border-color:#5d688b;box-shadow:8px 8px #38244d}.project-number{background:#ffbc63}.project-icon{color:#43d6a1;background:#24304c;border-color:#ffbc63;box-shadow:3px 3px #f77ab5}.text-link{color:#ffbc63;text-underline-offset:5px;-webkit-text-decoration:underline #ffbc6370;text-decoration:underline #ffbc6370}.github-link{color:#ff8f70}.contact-line{border-color:#536182}.contact-line>span{color:#43d6a1;border-color:#43d6a1}.case-hero-image{background:#1a2138;border-color:#ffbc63;box-shadow:9px 9px #38244d}.case-metrics b,.case-section h2{color:#ffbc63}.case-gallery a{background:#111729;border-color:#5d688b;box-shadow:6px 6px #38244d}.image-lightbox figure{background:#151b30;border-color:#ffbc63;box-shadow:10px 10px #38244d}.image-lightbox button{border-color:#43d6a1}@keyframes orbit-glow{to{transform:rotate(360deg)}}@media (width<=620px){.hero:after{width:150px;height:150px;top:4%;right:-38px}.site-header nav{background:#11182b;border-color:#69547a}}:root{--ink:#e9dfbe;--surface:#e9dfbe;--surface-2:#789498;--line:#172e19;--text:#172e19;--muted:#652f2d;--cyan:#789498;--gold:#cc7d2c;--lime:#172e19;--pink:#652f2d;--shadow:#652f2d}body{color:#172e19;background-color:#e9dfbe;background-image:radial-gradient(circle at 92% 4%,#cc7d2c42,#0000 25rem),radial-gradient(circle at 6% 23%,#78949847,#0000 29rem),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}body:before{opacity:.32;background-image:radial-gradient(#172e19 1px,#0000 1.4px);background-size:12px 12px;-webkit-mask-image:linear-gradient(#000,#0000 88%);mask-image:linear-gradient(#000,#0000 88%)}body:after{content:"";z-index:-1;pointer-events:none;opacity:.5;background:linear-gradient(115deg,#0000 0 36%,#78949829 36% 37%,#0000 37% 65%,#cc7d2c24 65% 66%,#0000 66%) 0 0/190px 190px;animation:18s linear infinite beige-circuit-drift;position:fixed;inset:0}@keyframes beige-circuit-drift{to{background-position:190px 190px}}.skip{color:#e9dfbe;background:#172e19}.eyebrow,.text-link,.github-link,.hello,.hero h1 em{color:#652f2d}.section-heading h2,.metrics-grid h2,.hero h1,.character-card h2,.project-body h3,.contact-action h3,.case-study h1{color:#172e19;text-shadow:3px 3px #cc7d2c57}.section-intro,.lede,.hero-contact,.body-copy,.body-copy p,.body-copy li,.timeline small,.skill-card p:last-child,.project-body>p:not(.eyebrow),.recognition-list span,.contact-line em,.contact-action>p:not(.eyebrow),footer,.case-summary,.case-section p,.case-section li,.character-card>p,.character-card dd,.case-metrics span{color:#652f2d}.button.primary,.header-cta{color:#172e19;background:#cc7d2c;box-shadow:5px 5px #652f2d}.button.primary:hover,.header-cta:hover{box-shadow:2px 2px #652f2d}.button.secondary{color:#172e19;background:#789498;border-color:#172e19;box-shadow:5px 5px #652f2d}.button.secondary:hover{box-shadow:2px 2px #652f2d}.button:focus-visible,.menu-button:focus-visible,.image-button:focus-visible,.text-link:focus-visible{outline-color:#cc7d2c}.boot,.wave-progress{background:#172e19}.boot p,.boot small{color:#e9dfbe}.boot b{color:#cc7d2c;text-shadow:3px 3px #652f2d}.boot i{background:repeating-linear-gradient(90deg,#cc7d2c 0 15px,#789498 15px 18px,#0000 18px 22px)}.wave-progress{border-color:#652f2d}.wave-progress path:first-child{stroke:#652f2d}.wave-progress .wave-fill{stroke:#cc7d2c;filter:drop-shadow(0 0 4px #cc7d2cb3)}.site-header{background:#e9dfbeed;border-color:#172e19;box-shadow:7px 7px #652f2d}.brand-mark{filter:drop-shadow(3px 3px #cc7d2c)}.site-header nav a,.menu-button{color:#172e19}.site-header nav a:hover,.site-header nav a.active{color:#652f2d}.site-header nav a.active:after{background:#cc7d2c;box-shadow:0 0 8px #cc7d2ca6}.menu-button{border-color:#172e19}.hero:before{opacity:.42;background-image:linear-gradient(#172e192b 1px,#0000 1px),linear-gradient(90deg,#172e192b 1px,#0000 1px)}.hero:after{border-color:#cc7d2cb8;box-shadow:0 0 0 22px #78949833,0 0 0 46px #652f2d1f}.hero-contact a{color:#172e19;text-decoration-color:#cc7d2c}.hero-contact a:hover{color:#652f2d}.character-card,.pixel-panel,.skill-card,.project-card,.toolbelt,.evidence-card{background:#e9dfbe;border-color:#172e19;box-shadow:8px 8px #652f2d}.character-card:before{border-color:#172e1957}.portrait-frame{background:#789498;border-color:#172e19}.portrait-frame:after{background:linear-gradient(#0000 50%,#cc7d2c21 50%) 0 0/100% 5px}.character-card dl div,.metric,.plain-metric{border-color:#172e19}.character-card dt,.metric b,.plain-metric b{color:#172e19}.card-top span{color:#cc7d2c}.card-top small,.metric span,.plain-metric span{color:#652f2d}.metrics-band{background:linear-gradient(90deg,#e9dfbe,#789498 48%,#e9dfbe);border-color:#172e19}.metric i{background:#e9dfbe;border-color:#172e19}.metric em{background:#cc7d2c}.timeline{border-color:#cc7d2c}.timeline>div:before{background:#e9dfbe;border-color:#172e19;box-shadow:0 0 9px #78949873}.timeline>div>b,.skill-card h3,.toolbelt b,.evidence-card figcaption b,.recognition-list b,.case-section h2,.case-metrics b{color:#652f2d}.timeline mark{color:#172e19;background:#cc7d2c2b}.skill-grid:before{background:repeating-linear-gradient(#172e19 0 10px,#0000 10px 16px);box-shadow:3px 0 #789498}.skill-card:nth-child(odd),.skill-card:nth-child(2n){border-top-color:#cc7d2c}.skill-card:before{background:repeating-linear-gradient(90deg,#172e19 0 9px,#0000 9px 14px)}.skill-pin{background:#cc7d2c;border-color:#172e19;box-shadow:3px 3px #652f2d}.toolbelt>div>span{background:#e9dfbe;border-color:#172e19}.project-card:hover{border-color:#cc7d2c;box-shadow:10px 10px #652f2d}.project-media{background:#789498;border-color:#172e19}.project-media:after{border-color:#172e19a3}.project-number{color:#172e19;background:#cc7d2c}.project-body li,.case-tags span{color:#652f2d;border-color:#172e19}.text-link{color:#652f2d;text-decoration-color:#cc7d2cb3}.text-link:hover,.github-link:hover{color:#cc7d2c}.project-button{box-shadow:3px 3px #652f2d}.project-button:hover{box-shadow:1px 1px #652f2d}.case-button{color:#172e19;background:#cc7d2c;border-color:#172e19}.github-link{color:#172e19;background:#789498;border-color:#172e19;box-shadow:4px 4px #652f2d}.github-link:hover{color:#172e19;background:#cc7d2c}.repository-kicker{color:#652f2d!important}.project-code{background:#e9dfbe;border-color:#172e19;box-shadow:8px 8px #652f2d}.github-button{color:#172e19;background:#cc7d2c;border-color:#172e19;box-shadow:6px 6px #652f2d}.github-button:hover{background:#789498;box-shadow:3px 3px #652f2d}.experience-photo,.evidence-card{border-color:#172e19;box-shadow:7px 7px #652f2d}.evidence-card{background:#e9dfbe}.recognition-featured .evidence-card:first-child{border-color:#cc7d2c}.recognition-list>div{background:#e9dfbe;border-left-color:#cc7d2c}.contact-line,.contact-line>span{color:#172e19;border-color:#172e19}.contact-line:hover{color:#652f2d}.contact-action{background:#789498;border-color:#172e19;box-shadow:9px 9px #652f2d}.contact-action.contact-action--beige{color:#172e19;background:#e9dfbe;box-shadow:9px 9px #652f2d,0 0 0 4px #cc7d2c24}.contact-action.contact-action--beige h3{color:#172e19}.contact-action.contact-action--beige>p:not(.eyebrow){color:#652f2d}footer,.case-header{border-color:#172e19}footer a{color:#652f2d}.case-hero-image,.case-gallery a,.image-lightbox figure{background:#e9dfbe;border-color:#172e19;box-shadow:8px 8px #652f2d}.case-metrics{background:#e9dfbe;border-color:#172e19}.case-metrics>div{border-color:#172e19}.case-gallery span{color:#652f2d}.image-lightbox{background:#172e19ed}.image-lightbox button{color:#172e19;background:#e9dfbe;border-color:#cc7d2c}.content-needed{background:#cc7d2c26;border-color:#cc7d2c;color:#172e19!important}@media (width<=980px){.site-header nav{background:#e9dfbe;border-color:#172e19}}@media (prefers-reduced-motion:reduce){body:after{animation:none}}
