@font-face{font-family:lekton;src:url(/_next/static/media/4d371da5eda5bbb1-s.p.ttf) format("truetype");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:lekton;src:url(/_next/static/media/e395f9e9b2cca315-s.p.ttf) format("truetype");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:lekton;src:url(/_next/static/media/671bbd3c3fc6f8dc-s.p.ttf) format("truetype");font-display:swap;font-weight:400;font-style:italic}@font-face{font-family:lekton Fallback;src:local("Arial");ascent-override:68.45%;descent-override:22.82%;line-gap-override:0.00%;size-adjust:109.58%}.__className_ccd420{font-family:lekton,lekton Fallback}.__variable_ccd420{--font-lekton:"lekton","lekton Fallback"}:root{color-scheme:light dark;--bg:#f7f3ec;--bg-elevated:#fffdf8;--text:#1c1a17;--text-secondary:#6b645a;--border:rgba(28,26,23,0.16);--rule:rgba(28,26,23,0.28);--accent:#c2410c;--accent-contrast:#fffdf8;--accent-soft:rgba(194,65,12,0.16);--nav-bg:rgba(247,243,236,0.88);--font-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-display:var(--font-lekton),ui-monospace,"SF Mono",Menlo,Consolas,monospace}@media (prefers-color-scheme:dark){:root{--bg:#161310;--bg-elevated:#1e1a15;--text:#ece5da;--text-secondary:#a39a8d;--border:rgba(236,229,218,0.16);--rule:rgba(236,229,218,0.3);--accent:#fb923c;--accent-contrast:#1c1a17;--accent-soft:rgba(251,146,60,0.2);--nav-bg:rgba(22,19,16,0.88)}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:1.1;letter-spacing:-.01em;margin:0}p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:.25em}::selection{background:var(--accent);color:var(--accent-contrast)}.dot{color:var(--accent)}mark{background:var(--accent-soft);color:inherit;padding:.05em .2em;border-radius:4px;-webkit-box-decoration-break:clone;box-decoration-break:clone}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}img{max-width:100%;display:block}.container{max-width:58rem;margin:0 auto;padding-inline:1.25rem}.skip-link{position:absolute;left:1rem;top:-3rem;z-index:100;background:var(--accent);color:var(--accent-contrast);padding:.5rem 1rem;border-radius:0 0 8px 8px;transition:top .15s ease}.skip-link:focus{top:0}.mlinks{display:flex;flex-wrap:wrap;gap:1.5rem}.mlink{font-family:var(--font-display);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);white-space:nowrap}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:var(--nav-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:3.5rem}.nav-brand{font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--text);white-space:nowrap}.nav-brand:hover{text-decoration:none;color:var(--accent)}.brand-short{display:none}.nav-links{display:flex;gap:1.4rem;list-style:none;margin:0;padding:0}.nav-links a{font-family:var(--font-display);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);white-space:nowrap}.nav-links a:hover{color:var(--accent);text-decoration:none}@media (max-width:30rem){.brand-full{display:none}.brand-short{display:inline}.nav-links{gap:1rem}.nav-links a{font-size:.75rem}}.section{padding-block:4.25rem 0;scroll-margin-top:4.25rem}.section-header{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.75rem}.section-index{font-family:var(--font-display);font-weight:700;font-size:.8rem;color:var(--accent);border:1.5px solid var(--accent);border-radius:5px;padding:.05rem .4rem}.section-header h2{font-size:clamp(1.9rem,4.5vw,2.6rem)}.section-rule{flex:1 1;border-top:1px solid var(--rule);transform:translateY(-.35rem)}.hero{display:flex;align-items:flex-start;gap:3.5rem;padding-block:4.5rem .5rem;animation:rise .5s ease both}.hero-text{flex:1 1;min-width:0}.hero h1{font-size:clamp(2.75rem,7vw,4.5rem);margin-bottom:1.25rem}.hero-lede{font-size:1.12rem;color:var(--text-secondary);max-width:34rem;margin-bottom:2rem}.spec{margin:0 0 2rem;max-width:27rem;border-top:1px solid var(--rule)}.spec-row{display:flex;align-items:baseline;gap:1.5rem;padding-block:.55rem;border-bottom:1px solid var(--border)}.spec-row dt{font-family:var(--font-display);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--text-secondary);width:4.5rem;flex-shrink:0}.spec-row dd{margin:0;font-weight:600;font-size:.98rem}.polaroid{margin:.5rem .5rem 0 0;background:#fffdf8;border:1px solid rgba(28,26,23,.1);border-radius:4px;padding:.55rem .55rem .2rem;box-shadow:0 14px 34px rgba(28,26,23,.22);transform:rotate(-2.5deg);transition:transform .35s ease}.polaroid:hover{transform:rotate(0deg)}.polaroid img{width:13rem;height:15.5rem;object-fit:cover;object-position:70% 20%;border-radius:2px;filter:grayscale(1) contrast(1.05);transition:filter .4s ease}.polaroid:hover img{filter:none}.polaroid figcaption{font-family:var(--font-display);font-style:italic;font-size:.82rem;color:#6b645a;text-align:center;padding-block:.45rem .3rem}@media (max-width:48rem){.hero{flex-direction:column-reverse;gap:2.25rem;padding-block:3rem 0}.polaroid{align-self:flex-start;margin-left:.35rem}.polaroid img{width:10rem;height:12rem}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.story p{max-width:40rem;margin-bottom:1.15rem;font-size:1.05rem}.education{margin-top:1.5rem;padding-top:.9rem;border-top:1px solid var(--border);color:var(--text-secondary);display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem 1.25rem;font-size:.97rem}.education-label{font-family:var(--font-display);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--accent)}.ledger{list-style:none;margin:0;padding:0}.ledger-row:first-child{padding-top:0}.ledger-row{display:grid;grid-template-columns:10.5rem 1fr auto auto;align-items:baseline;grid-column-gap:1.75rem;column-gap:1.75rem;padding-block:1.05rem;border-bottom:1px solid var(--border)}.ledger-row h3{font-size:1.08rem}.ledger-desc{font-size:.97rem}.ledger-desc,.ledger-meta{color:var(--text-secondary)}.ledger-meta{font-family:var(--font-display);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}.ledger-spacer{min-width:3.2rem}.ledger-row .mlink{min-width:3.2rem;text-align:right}@media (max-width:44rem){.ledger-row{grid-template-columns:1fr auto;row-gap:.3rem}.ledger-row h3{grid-column:1}.ledger-meta{grid-column:2;grid-row:1}.ledger-desc{grid-column:1/-1}.ledger-row .mlink,.ledger-spacer{grid-column:1/-1;text-align:left;min-width:0}.ledger-spacer{display:none}}.skills{margin:0}.skills-row:first-child{padding-top:0}.skills-row{display:grid;grid-template-columns:10.5rem 1fr;align-items:baseline;grid-column-gap:1.75rem;column-gap:1.75rem;padding-block:.9rem;border-bottom:1px solid var(--border)}.skills-row dt{font-family:var(--font-display);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--accent)}.skills-row dd{margin:0;font-weight:500}@media (max-width:44rem){.skills-row{grid-template-columns:1fr;row-gap:.25rem}}.projects-more{margin-top:1.25rem;color:var(--text-secondary);font-size:.97rem}.contact-copy{color:var(--text-secondary);max-width:36rem;margin-bottom:1.75rem}.contact-email{display:inline-block;font-family:var(--font-display);font-weight:700;font-size:clamp(1.3rem,4vw,2rem);letter-spacing:-.01em;margin-bottom:1.75rem;border-bottom:2px solid var(--accent);padding-bottom:.15rem}.contact-email:hover{text-decoration:none;color:var(--text);border-color:var(--text)}.footer{margin-top:5rem;border-top:1px solid var(--rule);padding-block:1.4rem}.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;color:var(--text-secondary);font-family:var(--font-display);font-size:.85rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}