:root{color-scheme:light;--paper:#fff;--orange:#ff4d00;--ink:#171717;--blue:#244dff;--display:"Archivo Black", Impact, sans-serif;--body:"Space Grotesk", Arial, sans-serif;--page-width:1360px;--content-width:1080px;--page-gutter:clamp(1.25rem, 5.5vw, 4.75rem);--section-space:clamp(3.75rem, 6vw, 5.5rem);--rule:1px solid var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1.5rem}body{background:var(--paper) url(/images/grid-pattern.avif) repeat 0 0 / 740px 740px;color:var(--ink);font:17px/1.6 var(--body);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}::selection{background:var(--orange);color:var(--ink)}.folio-page{width:min(calc(100% - 56px), var(--page-width));background:var(--paper);min-height:100vh;box-shadow:-6px 6px 0 var(--paper), -7px 7px 0 #1717177a, -14px 14px 20px #17171721;border-inline:1px solid #17171747;margin-inline:auto}.page-inner{width:min(100% - var(--page-gutter) * 2, var(--content-width));margin-inline:auto}.eyebrow,.detail-label{letter-spacing:.13em;margin:0;font-size:.68rem;font-weight:700;line-height:1.4}.eyebrow span{color:var(--orange)}.site-header{border-bottom:var(--rule);justify-content:space-between;align-items:center;gap:2rem;min-height:76px;display:flex}.wordmark{font:1.25rem/1 var(--display);letter-spacing:-.07em;white-space:nowrap;flex:none}.wordmark span{color:var(--orange)}.site-header nav{flex-wrap:wrap;align-items:center;gap:clamp(.75rem,2vw,1.8rem);display:flex}.site-header nav a{align-items:center;min-height:44px;font-size:.78rem;font-weight:600;display:inline-flex}.site-header nav a:hover,.site-footer a:hover{color:var(--orange)}.site-header nav a span{color:var(--orange);padding-left:.2em}.intro{padding-block:clamp(3rem,5vw,4.5rem) clamp(2.75rem,5vw,4rem)}.intro-topline{border-bottom:var(--rule);justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.65rem;display:flex}.intro-topline>p:last-child{letter-spacing:.1em;margin:0;font-size:.64rem;font-weight:700}.intro-topline>p:last-child span{color:var(--orange);padding-left:.4rem}.intro h1{border-bottom:var(--rule);font:clamp(3rem, 11.4vw, 9.5rem)/.95 var(--display);letter-spacing:-.085em;margin:0 0 .1rem -.07em;padding-block:.45rem .6rem}.intro h1 span{color:var(--orange)}.intro-base{grid-template-columns:minmax(150px,.7fr) minmax(0,1.7fr);gap:2rem;padding-top:1rem;display:grid}.intro-name{margin:0;font-size:.86rem;font-weight:700}.intro-name span{color:#555;letter-spacing:.08em;text-transform:uppercase;margin-top:.15rem;font-size:.65rem;font-weight:500;display:block}.intro-deck{max-width:620px;margin:0 0 1rem;font-size:clamp(1.05rem,1.7vw,1.45rem);line-height:1.4}.intro-link{border-bottom:1px solid var(--orange);align-items:center;gap:1rem;padding-block:.5rem;font-size:.85rem;font-weight:700;display:inline-flex}.intro-link span{color:var(--orange);transition:transform .18s}.intro-link:hover span{transform:translateY(3px)}.work-section,.recognition-section,.interests-section,.about-section,.contact-section{padding-block:var(--section-space);border-top:var(--rule)}.section-heading{max-width:760px;margin-bottom:clamp(2rem,5vw,3.5rem)}.section-heading h2,.recognition-row h2{font:clamp(2.25rem, 5.5vw, 4.5rem)/1.02 var(--display);letter-spacing:-.065em;margin:.55rem 0 .6rem}.section-heading>p:last-child{color:#444;max-width:520px;margin:0;font-size:.98rem}.project{border-top:1px solid #777;padding-block:clamp(2.75rem,6vw,5rem)}.project:last-child{border-bottom:1px solid #777}.project-heading{grid-template-columns:58px minmax(0,1fr);align-items:start;gap:clamp(.8rem,2vw,1.5rem);max-width:900px;margin-bottom:1.75rem;display:grid}.project-number{letter-spacing:-.08em;margin:.35rem 0 0;font-size:1.65rem;font-weight:600;line-height:1}.project-number span{color:var(--orange);font-weight:400}.project-index{color:#555;letter-spacing:.12em;margin:0;font-size:.62rem;font-weight:700}.project-index span{color:var(--orange);padding-inline:.35rem}.project-heading h3{font:clamp(2.7rem, 6vw, 4.75rem)/.98 var(--display);letter-spacing:-.075em;margin:.55rem 0 .45rem}.project-summary{max-width:620px;margin:0;font-size:clamp(1.05rem,1.8vw,1.3rem);font-weight:500;line-height:1.45}.project-visual{border:1px solid var(--ink);background:var(--paper) url(/images/grid-pattern.avif) repeat 0 0 / 740px 740px;margin:0;padding:clamp(.8rem,2.8vw,2rem)}.project-visual>figcaption{letter-spacing:.04em;padding-top:.55rem;font-size:.68rem;font-weight:600}.project-visual-mem{padding:clamp(1rem,4vw,3rem)}.terminal-top{background:var(--ink);color:var(--paper);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:1rem;padding:.65rem .9rem;font-size:.65rem;font-weight:700;display:flex}.terminal-top span:last-child{color:var(--orange)}.project-visual-mem pre{background:var(--ink);color:var(--paper);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:clamp(1rem,3vw,2rem);font:clamp(.75rem,1.45vw,.98rem)/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-x:auto}.terminal-prompt,.terminal-hit,.terminal-mark{color:var(--orange)}.project-visual-airblued{padding:clamp(1rem,4vw,3rem)}.visual-label{letter-spacing:.13em;margin:0 0 1.5rem;font-size:.65rem;font-weight:700}.system-flow{grid-template-columns:1fr auto 1fr auto 1.15fr auto 1fr;align-items:center;gap:clamp(.4rem,1.6vw,1.25rem);display:grid}.system-flow>div{border-block:1px solid var(--ink);flex-direction:column;gap:.35rem;min-width:0;padding:.8rem 0;display:flex}.system-flow>div span{color:#555;letter-spacing:.09em;font-size:.57rem;font-weight:700}.system-flow>div strong{overflow-wrap:anywhere;font-size:clamp(.78rem,1.4vw,1rem)}.system-flow>div:nth-of-type(3){border-color:var(--blue)}.system-flow>b{color:var(--orange);font-size:1.1rem}.project-details{grid-template-columns:minmax(0,1.45fr) minmax(220px,.75fr);gap:clamp(2rem,7vw,6rem);padding-top:1.5rem;display:grid}.detail-label{color:#555;margin-bottom:.65rem}.project-description-block>p:not(.detail-label){max-width:700px;margin:0}.implementation-note{border-left:2px solid var(--orange);padding-left:.9rem;font-size:.9rem;margin-top:1rem!important}.implementation-note span{color:#555;letter-spacing:.1em;margin-bottom:.25rem;font-size:.62rem;font-weight:700;display:block}.project-meta{flex-direction:column;align-items:flex-start;gap:1.1rem;display:flex}.project-tech{width:100%}.tags{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.tags li{border:1px solid #888;padding:.28rem .5rem;font-size:.7rem;line-height:1.4}.project-link{border-bottom:1px solid var(--orange);align-items:center;gap:.8rem;padding-block:.25rem;font-size:.8rem;font-weight:700;display:inline-flex}.project-link span{color:var(--orange)}.recognition-section{border-bottom:var(--rule)}.recognition-row{grid-template-columns:minmax(100px,.3fr) 1fr;align-items:center;gap:clamp(1rem,5vw,4rem);max-width:820px;margin-top:1.5rem;display:grid}.recognition-count{color:var(--orange);font:clamp(5.5rem, 12vw, 8rem)/.9 var(--display);letter-spacing:-.1em;margin:0}.recognition-row h2{margin-top:0;font-size:clamp(2rem,4vw,3.5rem)}.recognition-row div>p{color:#444;max-width:560px;margin:0}.achievement-detail{margin-top:.9rem}.achievement-detail p{color:#444;margin:.25rem 0}.achievement-detail strong{color:var(--ink)}.achievement-detail a{border-bottom:1px solid var(--orange);font-weight:700}.interest-list{border-top:1px solid #777;margin:2rem 0 0;padding:0;list-style:none}.interest-list li{border-bottom:1px solid #aaa;grid-template-columns:42px minmax(180px,.8fr) 1fr;align-items:baseline;gap:1rem;padding:1rem 0;display:grid}.interest-list li>span{color:var(--orange);font-size:.68rem;font-weight:700}.interest-list strong{font-size:.95rem}.interest-list p{color:#555;margin:0;font-size:.88rem}.about-section{grid-template-columns:minmax(150px,.7fr) minmax(0,2fr);align-items:start;gap:clamp(1.5rem,5vw,4rem);display:grid}.about-section>.eyebrow{grid-column:1/-1}.about-copy{grid-area:2/2;max-width:760px}.about-copy h2{max-width:700px;font:clamp(2.4rem, 5.2vw, 4.2rem)/1.03 var(--display);letter-spacing:-.065em;margin:-.2rem 0 1.25rem}.about-copy p{color:#333;max-width:680px;margin:0 0 .9rem}.about-photo{grid-area:2/1;width:min(100%,220px);margin:.25rem 0 0}.about-photo img{aspect-ratio:1;border:1px solid var(--ink);object-fit:cover;border-radius:50%;width:100%;height:auto;display:block}.about-photo figcaption{text-align:center;letter-spacing:.12em;margin-top:.65rem;font-size:.58rem;font-weight:700}.contact-section{border-bottom:var(--rule)}.contact-row{justify-content:space-between;align-items:end;gap:2rem;margin-top:1.25rem;display:flex}.contact-row h2{max-width:690px;font:clamp(2.7rem, 6vw, 5.5rem)/.98 var(--display);letter-spacing:-.075em;margin:0}.contact-links{flex-direction:column;align-items:flex-start;gap:.35rem;display:flex}.contact-link{border-bottom:1px solid var(--orange);flex:none;align-items:center;gap:1rem;min-height:48px;font-size:.82rem;font-weight:700;display:inline-flex}.contact-link span{color:var(--orange)}.site-footer{justify-content:space-between;align-items:center;gap:1rem;min-height:84px;font-size:.68rem;font-weight:600;display:flex}.site-footer>span{color:#555}.site-footer>a:last-child{align-items:center;min-height:44px;display:inline-flex}@media (width<=760px){:root{--page-gutter:1.25rem;--section-space:4.25rem}.folio-page{width:calc(100% - 24px)}.site-header{gap:.8rem;min-height:68px}.site-header nav{justify-content:end;gap:.1rem .75rem}.site-header nav a{min-height:40px;font-size:.72rem}.intro{padding-block:3.5rem}.intro-base{grid-template-columns:minmax(100px,.65fr) minmax(0,1.7fr);gap:1rem}.intro-deck{max-width:500px}.project-details{grid-template-columns:1fr;gap:1.5rem}.project-meta{gap:1rem}.recognition-row{grid-template-columns:90px 1fr;gap:1.25rem}.recognition-count{font-size:5rem}.interest-list li{grid-template-columns:32px 1fr;gap:.25rem .7rem}.interest-list li p{grid-column:2}.about-section{grid-template-columns:1fr;gap:1.5rem}.about-section>.eyebrow,.about-copy,.about-photo{grid-area:auto/1}.contact-row{flex-direction:column;align-items:flex-start;gap:1.25rem}}@media (width<=430px){:root{--page-gutter:1rem}.folio-page{width:calc(100% - 16px)}.site-header{flex-direction:column;align-items:flex-start;padding-block:1rem .8rem}.site-header nav{justify-content:flex-start;gap:0 .85rem}.site-header nav a{min-height:44px}.intro-topline{gap:.5rem}.intro-topline>p:last-child{letter-spacing:.06em;font-size:.55rem}.intro-base{grid-template-columns:1fr;gap:.8rem}.intro-name span{margin-left:0;display:block}.project-heading{grid-template-columns:36px minmax(0,1fr);gap:.6rem}.project-number{font-size:1.25rem}.project-heading h3{font-size:2.75rem}.terminal-top{flex-direction:column;align-items:flex-start;gap:.2rem}.project-visual-mem pre{font-size:.72rem}.system-flow{grid-template-columns:1fr;gap:.35rem}.system-flow>div{padding:.55rem 0}.system-flow>b{justify-self:center;line-height:1;transform:rotate(90deg)}.recognition-row{grid-template-columns:70px 1fr;gap:.9rem}.recognition-count{font-size:4rem}.site-footer{flex-wrap:wrap;min-height:72px;padding-block:.8rem}.site-footer>span{font-size:.62rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
