:root{color:#171715;background:#eeeadd;font-family:Arial,Helvetica,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth;scroll-padding-top:76px}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}::selection{color:#171715;background:#f2d765}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}:root{--paper: #eee7d9;--paper-light: #faf5e9;--ink: #20231f;--ink-soft: #45473f;--red: #a95344;--blue: #315f70;--elsevier-orange: #f47c20;--green: #4d725d;--yellow: #d4b85e;--muted: #716d63;--rule: rgba(32, 35, 31, .28);--note-yellow: #ded09c;--note-blue: #b9cbd0;--note-red: #d5b49f;--note-green: #bccbb7;--note-shadow: rgba(49, 43, 32, .17);--mono: "Courier New", Courier, monospace;--serif: Georgia, "Times New Roman", serif;--sans: Arial, Helvetica, sans-serif}*{box-sizing:border-box}.App{position:relative;min-height:100vh;overflow:hidden;color:var(--ink);background:var(--paper);box-shadow:inset 0 0 170px #4b371e0e}.App:before{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;content:"";background-image:radial-gradient(circle at 1px 1px,rgba(53,44,32,.2) .5px,transparent .68px);background-size:4px 4px;mix-blend-mode:multiply;opacity:.1;pointer-events:none}.background-doodles{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;overflow:hidden;color:var(--blue);pointer-events:none}.background-doodle{--float-delay: 0s;--float-duration: 7s;--spin-direction: normal;--spin-duration: 22s;position:absolute;width:200px;height:auto;overflow:visible;color:var(--blue);fill:none;stroke:currentColor;stroke-dasharray:7 6;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5;opacity:.2;animation:orbit-float var(--float-duration) ease-in-out var(--float-delay) infinite alternate,orbit-spin var(--spin-duration) linear infinite var(--spin-direction);will-change:opacity,scale,translate}.background-doodle--orbit-1{top:4%;right:-25px;width:260px;--float-delay: -2s;--float-duration: 8s}.background-doodle--orbit-2{top:16%;left:-55px;width:180px;--float-delay: -5s;--spin-direction: reverse;--spin-duration: 19s}.background-doodle--orbit-3{top:28%;right:-50px;width:210px;--float-delay: -3s;--float-duration: 8.5s;--spin-duration: 25s}.background-doodle--orbit-4{top:40%;left:-45px;width:195px;--float-delay: -6s;--spin-direction: reverse;--spin-duration: 21s}.background-doodle--orbit-5{top:52%;right:-45px;width:190px;--float-delay: -1s;--float-duration: 7.5s;--spin-duration: 23s}.background-doodle--orbit-6{top:64%;left:-55px;width:220px;--float-delay: -4s;--float-duration: 9s;--spin-direction: reverse;--spin-duration: 26s}.background-doodle--orbit-7{top:76%;right:-40px;width:185px;--float-delay: -2.5s;--spin-duration: 20s}.background-doodle--orbit-8{top:88%;left:-50px;width:205px;--float-delay: -5.5s;--float-duration: 8s;--spin-direction: reverse;--spin-duration: 24s}.background-doodle--orbit-9{top:96%;right:-35px;width:175px;--float-delay: -3.5s;--float-duration: 7.5s;--spin-duration: 18s}.background-doodle__orbit-ring{fill:none;animation:orbit-ink 4s linear infinite;transform:none}.background-doodle__orbit-node{fill:currentColor;animation:orbit-pulse 1.8s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}.background-doodle__orbit-node:nth-of-type(4){animation-delay:-.6s}.background-doodle__orbit-node:nth-of-type(5){animation-delay:-1.2s}@keyframes orbit-float{0%{opacity:.14;scale:.94;translate:-8px -14px}to{opacity:.26;scale:1.04;translate:18px 16px}}@keyframes orbit-pulse{0%{scale:.82}to{scale:1.18}}@keyframes orbit-spin{to{rotate:1turn}}@keyframes orbit-ink{to{stroke-dashoffset:52}}@media(prefers-reduced-motion:reduce)and (min-width:721px){.background-doodle{animation-duration:var(--float-duration),var(--spin-duration)!important;animation-iteration-count:infinite,infinite!important}.background-doodle__orbit-ring{animation-duration:4s!important;animation-iteration-count:infinite!important}.background-doodle__orbit-node{animation-duration:1.8s!important;animation-iteration-count:infinite!important}}.skip-link{position:fixed;z-index:100;top:10px;left:50%;padding:10px 14px;border:2px solid var(--ink);color:var(--paper-light);background:var(--ink);font:700 .75rem/1 var(--mono);transform:translate(-50%,-180%)}.skip-link:focus{transform:translate(-50%)}.site-header{position:relative;z-index:10;display:flex;width:min(calc(100% - 64px),1320px);min-height:82px;margin:0 auto;align-items:center;justify-content:flex-end;gap:32px;border-bottom:1px solid var(--ink)}.site-nav{display:flex;align-items:center;gap:clamp(18px,4vw,52px)}.site-nav a{position:relative;display:inline-flex;min-height:44px;align-items:center;color:var(--ink);font:700 .7rem/1 var(--mono);letter-spacing:.04em;text-decoration:none;text-transform:uppercase}.site-nav a:after{position:absolute;right:0;bottom:7px;left:0;height:2px;content:"";background:var(--ink);transform:scaleX(0) rotate(-1deg);transform-origin:right;transition:transform .15s ease}.site-nav a:hover:after,.site-nav a:focus-visible:after{transform:scaleX(1) rotate(-1deg);transform-origin:left}.hero{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));width:min(calc(100% - 80px),1320px);min-height:calc(100vh - 82px);margin:0 auto;padding:clamp(80px,10vh,132px) 0 150px}.hero__copy{position:relative;z-index:2;grid-column:1 / 8}.hero__statement{max-width:760px;margin:0;font-family:var(--serif);font-size:clamp(4.5rem,7.4vw,7.25rem);font-weight:400;letter-spacing:-.075em;line-height:.88}.hero__intro-trigger{display:block;padding:0;border:0;color:inherit;background:transparent;font:inherit;letter-spacing:inherit;line-height:inherit;text-align:left;cursor:pointer}.hero__intro-trigger:focus-visible{outline:3px solid var(--blue);outline-offset:8px}.hero__intro-copy,.hero__intro-prefix,.hero__type{display:block}.hero__type{min-height:1.08em;margin-top:.08em;color:var(--blue);font-style:italic;line-height:1}.hero__type [data-entity=person]{position:relative;display:inline-block;padding:.015em .68em .05em .08em;border:2px solid currentColor;background:#faf5e97a}.hero__type [data-entity=person]:after{position:absolute;top:-.55em;right:.4em;display:block;padding:.34em .5em .29em;color:var(--paper-light);background:var(--blue);content:attr(data-entity);font:800 .13em/1 var(--mono);font-style:normal;letter-spacing:.08em;text-transform:uppercase}.hero__summary{max-width:600px;margin:54px 0 0 8%;color:var(--ink-soft);font-size:clamp(.96rem,1.5vw,1.12rem);line-height:1.65}.hero__actions{display:flex;margin:40px 0 0 8%;flex-wrap:wrap;align-items:center;gap:12px 24px}.hero__actions a,.site-footer a{display:inline-flex;min-height:44px;align-items:center;gap:9px;color:var(--ink);font:800 .8rem/1 var(--mono);letter-spacing:.03em;text-decoration-color:var(--ink);text-decoration-thickness:2px;text-underline-offset:6px}.hero__actions svg,.site-footer svg,.project-card__link svg,.terminal-playlist a svg{width:19px;height:19px;flex:0 0 auto;stroke-width:2.2}.hero__actions a>svg:first-child,.site-footer a>svg:first-child{color:var(--blue)}.hero__actions a>svg:last-child:not(:first-child),.site-footer a>svg:last-child{width:14px;height:14px}.hero__screen-wrap{position:relative;z-index:3;grid-column:8 / 13;align-self:start;justify-self:end;width:min(100%,485px);margin-top:clamp(72px,12vh,138px);transform:rotate(2.1deg)}.identity-screen{position:relative;border:2px solid var(--ink);color:#ece7dc;background:#202520;box-shadow:5px 6px 0 var(--ink)}.identity-screen__toolbar{display:flex;min-height:42px;padding:0 15px;align-items:center;gap:14px;border-bottom:1px solid #555d55;color:#aaa99f;font:.67rem/1 var(--mono)}.identity-screen__lights,.terminal__lights{display:flex;gap:6px}.identity-screen__lights i,.terminal__lights i{display:block;width:8px;height:8px;border:1px solid currentColor;border-radius:50%}.identity-screen__lights i:first-child,.terminal__lights i:first-child{background:var(--red)}.identity-screen__lights i:nth-child(2),.terminal__lights i:nth-child(2){background:var(--yellow)}.identity-screen__lights i:last-child,.terminal__lights i:last-child{background:#83b899}.identity-screen__code{display:flex;width:100%;min-height:330px;padding:54px 38px 48px;border:0;align-items:flex-start;flex-direction:column;justify-content:center;gap:28px;color:inherit;background:transparent;font:clamp(.74rem,1.18vw,.94rem)/1.55 var(--mono);text-align:left}.identity-screen__line{display:flex;width:100%;flex-wrap:wrap;align-items:center;gap:.45em}.identity-screen__line--animated .Typewriter{width:100%}.identity-screen__line--animated .Typewriter__wrapper{display:inline-flex;max-width:calc(100% - 1.2em);flex-wrap:wrap;align-items:center;gap:.45em;vertical-align:middle}.identity-screen__reduced-role{display:flex;flex-wrap:wrap;align-items:center;gap:.45em}.identity-screen__assignment{color:#d8d5ca;white-space:nowrap}.identity-screen__keyword{color:#ce7665}.identity-screen__line [data-entity]{display:inline-flex;padding:.45em .55em;border:1px solid #81b596;align-items:center;color:#94c4a7;white-space:nowrap}.identity-screen__line [data-entity]:after{display:inline-block;margin-left:.75em;padding:.35em .45em .28em;color:#172019;background:#94c4a7;content:attr(data-entity);font-size:.52em;font-weight:800;letter-spacing:.08em;text-transform:uppercase;vertical-align:middle}.identity-screen__line--location [data-entity]{border-color:#cfb86f;color:#dac67f}.identity-screen__line--location [data-entity]:after{background:#dac67f}.typewriter-cursor{display:inline-block;width:.08em;height:.95em;margin-left:.08em;background:currentColor;vertical-align:-.08em}.section-shell{position:relative;width:min(calc(100% - 80px),1320px);margin:0 auto;padding:clamp(110px,13vw,190px) 0;border-top:1px solid var(--ink)}.section-heading{position:relative;z-index:1;margin-bottom:clamp(60px,9vw,110px)}.section-heading h2{margin:0;font:400 clamp(3.6rem,6vw,6rem)/.9 var(--serif);letter-spacing:-.075em}.terminal-frame{position:relative;z-index:1;width:min(88%,1080px);margin:0 auto}.terminal{min-width:0;border:2px solid var(--ink);color:#ece7dc;background:#202520;box-shadow:9px 10px 0 var(--ink)}.terminal__toolbar{display:flex;min-height:43px;padding:0 15px;align-items:center;justify-content:space-between;border-bottom:1px solid #555d55;color:#aaa99f;font:.61rem/1 var(--mono);letter-spacing:.04em}.terminal__output{min-height:360px;max-height:600px;padding:clamp(22px,4vw,40px);overflow-y:auto;overscroll-behavior:contain;font:clamp(.78rem,1.25vw,.94rem)/1.7 var(--mono);scrollbar-color:#73796f transparent}.terminal__entry+.terminal__entry{margin-top:28px;padding-top:24px;border-top:1px dashed #555d55}.terminal__command{margin:0 0 12px;color:#94c4a7;font-weight:700}.terminal__command span{color:#ce7665}.terminal__response{overflow-wrap:anywhere}.terminal__response strong,.terminal__empty strong{padding:.05em .2em;color:var(--ink);background:var(--yellow)}.terminal__response [data-entity]{display:inline-block;margin:0 .08em;padding:.02em .24em;border-bottom:1px solid #9db8c0;color:#c0d1d6}.terminal__response [data-entity]:after{margin-left:.45em;padding:.16em .32em;content:attr(data-entity);color:#172126;background:#a9c1c8;font-size:.58em;font-weight:800;text-transform:uppercase;vertical-align:middle}.terminal__form{display:grid;grid-template-columns:auto minmax(0,1fr) auto;min-height:58px;padding:8px 10px 8px clamp(22px,4vw,40px);align-items:center;gap:12px;border-top:1px solid #555d55;color:#ece7dc;font:700 .82rem/1 var(--mono)}.terminal__form>span{color:#ce7665}.terminal__form input{width:100%;min-width:0;padding:9px 0;border:0;outline:0;color:#ece7dc;background:transparent;font-family:var(--mono)}.terminal__form input::placeholder{color:#8c9087}.terminal__form:focus-within{box-shadow:inset 4px 0 #94c4a7}.terminal__form button,.terminal-shortcuts button{min-height:36px;padding:0 12px;border:1px solid currentColor;color:#ece7dc;background:transparent;font:700 .65rem/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}.terminal__form button:hover,.terminal__form button:focus-visible{color:var(--ink);background:#94c4a7;outline:2px solid #94c4a7;outline-offset:2px}.terminal-shortcuts{display:flex;margin:24px 0 0;flex-wrap:wrap;align-items:center;gap:8px;font:700 .62rem/1 var(--mono)}.terminal-shortcuts button{min-height:32px;border-color:var(--ink);color:var(--ink);background:var(--paper-light)}.terminal-shortcuts button:hover,.terminal-shortcuts button:focus-visible{background:var(--yellow)}.terminal-help{display:grid;grid-template-columns:max-content minmax(0,1fr);margin:0;gap:7px 18px}.terminal-help dt{color:#94c4a7;font-weight:700}.terminal-help dd{margin:0}.terminal-playlist ol{margin:22px 0 0;padding:0;list-style:none}.terminal-playlist li{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:16px 0;align-items:end;gap:18px;border-top:1px solid #50584f}.terminal-playlist__track{display:flex;min-width:0;flex-direction:column;gap:10px}.terminal-playlist__title{display:flex;flex-direction:column}.terminal-playlist__title span{color:#aaa99f;font-size:.78em}.terminal-playlist audio{display:block;width:min(100%,340px);height:34px}.terminal-playlist a{display:inline-flex;align-items:center;gap:5px;color:#ece7dc;font-weight:700;text-underline-offset:4px}.experience-list{position:relative;display:grid;width:min(100%,1160px);margin:0 auto;gap:clamp(38px,5vw,64px)}.experience-entry{position:relative;display:grid;grid-template-columns:minmax(0,1fr);width:100%;padding:clamp(42px,5vw,64px);gap:30px;border:1px solid var(--ink);background:#f4e7b6;box-shadow:8px 10px 0 var(--note-shadow)}.experience-entry:nth-child(2n){background:#d4dfdb}.paper-tape{position:absolute;z-index:5;top:-14px;left:50%;display:block;width:104px;height:31px;background-color:#d3bc73d1;background-image:repeating-linear-gradient(92deg,rgba(255,246,204,.16) 0 2px,transparent 2px 8px),linear-gradient(180deg,#fff4c45c,#79622f1a);box-shadow:inset 0 1px #fffbda7a,1px 3px 2px #312b2033;clip-path:polygon(1% 4%,5% 12%,2% 23%,5% 36%,1% 48%,4% 61%,1% 73%,5% 87%,1% 97%,99% 94%,96% 82%,99% 70%,96% 58%,100% 46%,97% 34%,100% 21%,96% 10%,99% 2%);opacity:.92;pointer-events:none;transform:translate(-50%) rotate(-5deg)}.paper-tape:before{position:absolute;inset:5px 9px auto 13px;height:1px;content:"";background:#fff8d275;box-shadow:0 13px #7760311c;transform:rotate(-1deg)}.paper-tape:after{position:absolute;top:-7px;left:54px;width:1px;height:46px;content:"";background:#fff9da33;transform:rotate(11deg)}.hero__screen-wrap>.paper-tape{top:-10px;right:13%;left:auto;transform:rotate(8deg)}.terminal-frame>.paper-tape--left,.experience-entry>.paper-tape--left{left:12%;transform:rotate(6deg)}.terminal-frame>.paper-tape--right,.experience-entry>.paper-tape--right{right:12%;left:auto;transform:rotate(-5deg)}.experience-entry:nth-child(2)>.paper-tape--left{transform:rotate(-4deg)}.experience-entry:nth-child(2)>.paper-tape--right{transform:rotate(7deg)}.project-card:nth-child(1)>.paper-tape{left:22%;transform:translate(-50%) rotate(-7deg)}.project-card:nth-child(2)>.paper-tape{left:76%;transform:translate(-50%) rotate(6deg)}.project-card:nth-child(3)>.paper-tape{left:64%;transform:translate(-50%) rotate(-4deg)}.project-card:nth-child(4)>.paper-tape{left:30%;transform:translate(-50%) rotate(8deg)}.project-card:nth-child(5)>.paper-tape{left:70%;transform:translate(-50%) rotate(-6deg)}.experience-entry__index{padding-top:6px;color:var(--muted);font:700 .72rem/1.4 var(--mono)}.experience-entry__header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.experience-entry__header .experience-entry__company{width:fit-content;margin:0 0 16px;padding:0;color:var(--blue);font:700 .63rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.experience-entry--elsevier .experience-entry__company,.elsevier-text{color:var(--elsevier-orange)}.experience-entry__header h3{margin:0;font:400 clamp(2.3rem,4.5vw,4.4rem)/1 var(--serif);letter-spacing:-.06em}.experience-progression{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);list-style:none}.experience-progression li{display:grid;padding:16px 18px;gap:7px;border-left:1px solid var(--rule);color:var(--muted);font:.66rem/1.35 var(--mono)}.experience-progression li:first-child{padding-left:0;border-left:0;color:var(--ink);font-weight:700}.experience-progression time{white-space:nowrap}.experience-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 36px;margin:0;padding:0;list-style:none}.experience-highlights li{padding:22px 0 0;border-top:1px solid var(--rule);color:var(--ink-soft);line-height:1.58}.experience-highlights>li:first-child{grid-column:1 / -1;padding:clamp(20px,3vw,32px);border:1px solid var(--rule);background:#fffbe97a}.experience-highlights__title{margin:0 0 12px;color:var(--ink);font:400 1.65rem/1.12 var(--serif);letter-spacing:-.035em}.experience-highlights>li:first-child .experience-highlights__title{font-size:clamp(1.9rem,3vw,2.55rem)}.experience-highlights .experience-highlights__title a{font-weight:inherit;text-decoration-thickness:1px;text-underline-offset:5px}.experience-highlights p{margin:0}.experience-highlights a{color:var(--ink);font-weight:700;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:3px}.experience-technologies{margin-top:32px;padding-top:4px;border-top:1px dashed rgba(32,35,31,.52)}.experience-technologies>p{margin:16px 0 12px;color:var(--blue);font:700 .75rem/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase}.experience-technologies ul{display:flex;margin:0;padding:0;flex-wrap:wrap;gap:8px;list-style:none}.experience-technologies li{padding:7px 11px;border:1px solid var(--rule);color:var(--ink);background:var(--paper-light);font:500 .875rem/1.45 var(--sans)}.projects-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));padding:20px 0 64px;align-items:start;gap:38px}.project-card{position:relative;grid-column:span 6;display:flex;min-width:0;min-height:420px;padding:clamp(26px,4vw,46px);border:1px solid var(--ink);flex-direction:column;color:var(--ink);background:var(--note-yellow);box-shadow:8px 10px 0 var(--note-shadow);transform:rotate(-.35deg)}.project-card--featured{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);grid-template-rows:auto 1fr auto;column-gap:clamp(28px,6vw,88px);min-height:360px}.project-card--supporting{min-height:360px;padding:clamp(24px,3vw,36px)}.project-card:nth-child(2){grid-column:1 / 7;margin-top:24px;background:var(--note-blue);transform:rotate(.45deg)}.project-card:nth-child(3){grid-column:7 / 13;background:var(--note-red);transform:rotate(-.3deg)}.project-card:nth-child(4){grid-column:1 / 7;margin-top:46px;background:var(--note-green);transform:rotate(.3deg)}.project-card:nth-child(5){grid-column:7 / 13;margin-top:18px;transform:rotate(-.4deg)}.project-card:hover,.project-card:focus-within{outline:2px solid var(--ink);outline-offset:3px}.project-card h3{max-width:550px;margin:0 0 20px;font:400 clamp(2.5rem,4.2vw,4.5rem)/.92 var(--serif);letter-spacing:-.065em}.project-card__eyebrow{grid-column:1 / -1;margin:0 0 18px;color:var(--ink-soft);font:700 .64rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.project-card--featured h3{grid-column:1;grid-row:2;align-self:start;font-size:0}.project-card__wordmark{display:block;width:min(100%,420px);height:auto}.project-card p{max-width:58ch;margin:0;color:var(--ink-soft);font-size:.96rem;line-height:1.58}.project-card--featured>p:not(.project-card__eyebrow){grid-column:2;grid-row:2;align-self:center;max-width:42ch}.project-card__tags{display:flex;margin:28px 0 34px;padding:0;flex-wrap:wrap;gap:8px 14px;list-style:none}.project-card--featured .project-card__tags{grid-column:1;grid-row:3;margin-bottom:0}.project-card__tags li{font:700 .62rem/1 var(--mono);letter-spacing:.03em}.project-card__tags li:not(:last-child):after{content:","}.project-card__link{display:grid;grid-template-columns:auto minmax(0,1fr) auto;min-height:45px;margin-top:auto;padding-top:14px;align-items:center;gap:12px;border-top:1px dashed var(--ink);color:var(--ink);font:700 .66rem/1 var(--mono);text-decoration:none}.project-card--featured .project-card__links{grid-column:2;grid-row:3;display:flex;margin-top:0;align-items:center;flex-wrap:wrap;gap:8px 22px;border-top:1px dashed var(--ink)}.project-card--featured .project-card__links .project-card__link{min-height:45px;margin-top:0;padding-top:14px;border-top:0}.project-card--featured .project-card__link--live{font-size:.72rem}.project-card__link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card__link:hover span,.project-card__link:focus-visible span{text-decoration:underline;text-underline-offset:4px}.project-card__link:focus-visible{outline:2px solid var(--ink);outline-offset:6px}.site-footer{display:flex;width:min(calc(100% - 80px),1320px);margin:0 auto;padding:34px 0 64px;align-items:center;justify-content:flex-end;gap:28px;border-top:1px solid var(--ink);color:var(--muted);font:700 .65rem/1.5 var(--mono)}.site-footer__links{display:flex;gap:24px}.back-to-top{position:fixed;z-index:15;right:18px;bottom:18px;display:grid;width:42px;height:42px;border:1px solid var(--ink);place-items:center;color:var(--ink);background:var(--paper)}.back-to-top svg{width:18px;height:18px}.back-to-top:hover,.back-to-top:focus-visible{color:var(--paper);background:var(--ink)}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:1100px){.hero{grid-template-columns:1fr;min-height:auto;padding-bottom:140px}.hero__copy{grid-column:1;max-width:800px}.hero__screen-wrap{grid-column:1;justify-self:center;width:min(68vw,460px);margin:76px 0 0}.hero__statement{font-size:clamp(4.2rem,9.8vw,6.4rem)}.project-card,.project-card:nth-child(2),.project-card:nth-child(3),.project-card:nth-child(4),.project-card:nth-child(5){grid-column:span 6}.project-card.project-card--featured{grid-column:1 / -1}.project-card--supporting{grid-column:span 6}}@media(max-width:720px){.background-doodles{display:none}.site-header{width:calc(100% - 32px);min-height:68px}.site-nav{gap:13px}.site-nav a{font-size:.61rem}.hero{display:flex;width:calc(100% - 38px);padding:72px 0 128px;flex-direction:column}.hero__statement{font-size:clamp(3.55rem,16.5vw,5rem);line-height:.89}.hero__summary{margin:40px 0 0;font-size:.94rem}.hero__actions{margin:34px 0 0;gap:10px 20px}.hero__screen-wrap{width:calc(100% - 18px);margin:84px 0 0;align-self:center;transform:rotate(1.5deg)}.paper-tape{top:-11px;width:78px;height:25px}.hero__screen-wrap>.paper-tape{top:-9px;right:11%}.identity-screen{box-shadow:4px 5px 0 var(--ink)}.identity-screen__code{min-height:300px;padding:43px 20px 40px;gap:22px;font-size:clamp(.7rem,3.2vw,.86rem)}.hero__type [data-entity=person]:after{top:-.45em;right:.32em;font-size:.13em}.identity-screen__line [data-entity]:after{font-size:.48em}.section-shell{width:calc(100% - 38px);padding:108px 0}.section-heading{margin-bottom:58px}.section-heading h2{font-size:clamp(3.5rem,18vw,5.4rem)}.terminal-frame{width:calc(100% - 6px);margin-left:0}.terminal{box-shadow:6px 7px 0 var(--ink)}.terminal__toolbar{font-size:.54rem}.terminal__output{min-height:390px;max-height:560px;padding:18px;font-size:.75rem}.terminal__form{padding-left:17px;gap:8px}.terminal-shortcuts{margin-left:0}.terminal-help{grid-template-columns:1fr;gap:3px}.terminal-help dd{margin-bottom:8px}.terminal-playlist li{grid-template-columns:1fr;gap:10px}.terminal-playlist a{width:fit-content}.experience-entry,.experience-entry:last-child{grid-template-columns:1fr;width:100%;margin-left:0;padding:32px 24px 36px;gap:16px;box-shadow:5px 6px 0 var(--note-shadow)}.experience-entry__index{grid-row:auto;font-size:.68rem}.experience-entry__header{align-items:flex-start;flex-direction:column;gap:16px}.experience-progression{grid-template-columns:repeat(2,minmax(0,1fr));margin:8px 0}.experience-progression li{padding:14px 12px}.experience-progression li:nth-child(odd){padding-left:0;border-left:0}.experience-progression li:nth-child(n+3){border-top:1px solid var(--rule)}.experience-entry__header,.experience-details{grid-column:1}.experience-entry__header h3{font-size:clamp(2.25rem,11.8vw,3.6rem)}.experience-details{margin-top:8px}.experience-highlights{grid-template-columns:minmax(0,1fr);gap:24px}.experience-highlights>li:first-child{padding:20px 14px}.experience-technologies{margin-top:28px}.experience-highlights li{font-size:.91rem}.projects-grid{grid-template-columns:1fr;padding-top:8px;gap:44px}.project-card,.project-card:nth-child(2),.project-card:nth-child(3),.project-card:nth-child(4),.project-card:nth-child(5){grid-column:1;width:100%;min-height:380px;margin-top:0;padding:28px 24px;box-shadow:5px 6px 0 var(--note-shadow);transform:none}.project-card h3{font-size:clamp(2.55rem,13vw,3.9rem)}.project-card--featured{display:flex;min-height:380px}.project-card--supporting{min-height:330px}.project-card--featured h3{font-size:0}.project-card__eyebrow{margin-bottom:14px}.project-card--featured .project-card__tags{margin-bottom:34px}.project-card--featured .project-card__links{margin-top:auto}.site-footer{width:calc(100% - 38px);padding-bottom:80px;justify-content:flex-start}.back-to-top{right:12px;bottom:12px}}@media(max-width:420px){.hero__statement{font-size:3.15rem}.hero__actions a{font-size:.74rem}.identity-screen__code{padding-inline:15px}.identity-screen__code{font-size:.68rem}}
