:root{color-scheme:light;--bg:#f7f5f0;--surface:#f7f5f0;--ink:#252b28;--muted:#606760;--line:#d8dcd2;--accent:#964322;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", monospace;--motion:.65s;--ease:cubic-bezier(.22, .75, .2, 1);font-family:var(--font);color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html{overflow-anchor:none;scroll-padding-top:90px}body{-webkit-font-smoothing:antialiased;margin:0;line-height:1.65}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-underline-offset:4px}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{font:inherit;color:inherit;cursor:pointer}::selection{background:var(--accent);color:var(--surface)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:40;background:var(--surface);padding:12px;position:fixed;top:-100px;left:16px}.skip:focus{top:16px}.resume{max-width:1080px;margin:auto;padding:84px 64px 30px}.station-strip,.brand-orbit,.brand-name,.profession,.diagram,.explore,.readout,.section-index,.section-deck,.contact-panel,.desktop-tools,.desk-note{display:none}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:0 0 24px;display:flex}.brand{text-decoration:none}.brand-initials{font:italic 24px Georgia,serif}.site-header nav{gap:26px;font-size:13px;display:flex}.site-header nav a{text-decoration:none}.site-header nav span{display:none}.hero{padding:58px 0 46px}.hero-copy{flex-direction:column;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:var(--accent);font-size:11px;font-weight:600}.hero-eyebrow{margin-bottom:17px}h1{letter-spacing:-.015em;margin-bottom:22px;font:400 clamp(42px,6.5vw,72px)/1.08 Georgia,Times New Roman,serif}h1 span{display:inline-block}.summary{letter-spacing:-.02em;order:3;max-width:660px;font-size:20px;line-height:1.6}.hero-contact{color:var(--muted);flex-wrap:wrap;order:4;gap:8px 24px;margin-top:23px;font-size:13px;font-style:normal;display:flex}.section{border-top:1px solid var(--line);grid-template-columns:125px minmax(0,1fr);gap:30px;padding:32px 0;display:grid}.section h2{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-top:5px;font-size:11px;font-weight:650}.job-surface{display:contents}.masthead-rule{display:none}.job+.job{margin-top:50px}.job-meta{grid-template-columns:1fr auto;gap:3px 15px;margin-bottom:16px;display:grid}.job h3{letter-spacing:-.02em;font-size:22px;font-weight:650;line-height:1.4}.dates{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;align-self:center;font-size:12px}.role,.location{color:var(--muted);font-size:13px}.location{grid-column:1/-1}.job-body{max-width:65ch;font-size:16px;line-height:1.7}.context{color:var(--muted);margin-bottom:13px}ul{margin:0;padding-left:18px}li{margin:12px 0;padding-left:4px}li::marker{color:var(--accent)}.earlier{color:var(--muted);border-top:1px solid var(--line);margin-top:35px;padding-top:22px;font-size:14px}.skills-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.skill h3{font-size:15px;font-weight:600}.skill p,.school p{color:var(--muted);margin-top:7px;font-size:15px}.school h3{font-size:17px;font-weight:600}.school+.school{margin-top:20px}.folio{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;padding-top:22px;font-size:12px;display:flex}.folio>span:nth-child(2){display:none}.print-button{text-underline-offset:4px;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}html:not([data-enhanced]) :is(.theme-switcher,.print-button){display:none}.theme-switcher{z-index:30;background:var(--surface);color:var(--muted);border:1px solid var(--line);view-transition-name:theme-controls;border-radius:30px;gap:3px;padding:5px;display:flex;position:fixed;top:18px;right:24px;box-shadow:0 3px 15px #0000000d}.theme-switcher button{background:0 0;border:0;border-radius:24px;justify-content:center;align-items:center;gap:8px;width:44px;height:44px;padding:8px;display:flex;position:relative}.theme-switcher button:hover{background:color-mix(in srgb, var(--ink) 7%, transparent)}.theme-switcher button[aria-pressed=true]{background:var(--ink);color:var(--surface)}.theme-switcher svg{fill:none;stroke:currentColor;stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round;width:23px;height:23px}.theme-label{background:var(--ink);color:var(--surface);pointer-events:auto;visibility:hidden;opacity:0;white-space:nowrap;border-radius:3px;padding:5px 9px;font:11px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:opacity .15s;position:absolute;top:calc(100% + 15px);left:50%;transform:translate(-50%)}.theme-switcher button:is(:hover,:focus-visible) .theme-label{visibility:visible;opacity:1}.theme-label:before{content:"";height:15px;position:absolute;top:-15px;left:0;right:0}.theme-switcher button:last-child .theme-label{left:auto;right:0;transform:none}.theme-switcher[data-tooltips=hidden] button .theme-label{visibility:hidden;opacity:0}@media (forced-colors:active){.theme-switcher button[aria-pressed=true]{outline-offset:-3px;outline:2px solid highlight}a:focus-visible,button:focus-visible{outline-color:highlight}}:root[data-theme=interstellar]{color-scheme:dark;--bg:#111b20;--surface:#19262d;--ink:#eeeade;--muted:#a6b0b1;--line:#344047;--accent:#cfab87;--font:"DM Sans", sans-serif}[data-theme=interstellar] .resume{max-width:1320px;padding:82px 60px 30px}[data-theme=interstellar] .station-strip{border-bottom:1px solid var(--line);font:9px/1.7 var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted);justify-content:space-between;padding:0 0 20px;display:flex}[data-theme=interstellar] .site-header{border:0;padding:28px 0}[data-theme=interstellar] .brand{align-items:center;gap:14px;display:flex}[data-theme=interstellar] .brand-initials{display:none}[data-theme=interstellar] .brand-orbit{width:45px;height:45px;stroke:var(--accent);stroke-width:1px;display:block}[data-theme=interstellar] .brand-name{text-transform:uppercase;letter-spacing:2px;font-size:13px;font-weight:650;display:block}[data-theme=interstellar] .brand-name small{font:9px var(--mono);letter-spacing:2px;color:var(--muted);margin-top:7px;display:block}[data-theme=interstellar] .site-header nav span{font:10px var(--mono);color:var(--accent);margin-right:8px;display:inline}[data-theme=interstellar] .hero{grid-template-columns:1.15fr 1fr;align-items:center;gap:60px;padding:52px 0 60px;display:grid}[data-theme=interstellar] .eyebrow{font:10px/1.7 var(--mono);letter-spacing:1px}[data-theme=interstellar] .hero-eyebrow{max-width:400px;margin-bottom:24px}[data-theme=interstellar] h1{font:450 clamp(56px, 6.2vw, 88px)/1.03 var(--font);letter-spacing:-3px;margin-bottom:26px}[data-theme=interstellar] h1 span{display:block}[data-theme=interstellar] h1 span:last-child{color:var(--accent)}[data-theme=interstellar] .summary{color:#c1c8c6;letter-spacing:0;font-size:19px;line-height:1.7}[data-theme=interstellar] .hero-contact{font:10px/1.8 var(--mono);gap:5px 20px;margin-top:24px}[data-theme=interstellar] .explore{background:var(--accent);color:var(--bg);order:3;justify-content:space-between;align-self:start;align-items:center;gap:38px;margin-top:28px;padding:18px 22px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}[data-theme=interstellar] .explore span{font-size:23px;font-weight:400}[data-theme=interstellar] .diagram{border:1px solid var(--line);background:radial-gradient(#263b433d,#0000 70%);padding:20px;display:block;position:relative}.diagram:before,.diagram:after{content:"+";font:18px var(--mono);color:var(--accent);position:absolute}.diagram:before{top:-12px;left:-6px}.diagram:after{bottom:-12px;right:-6px}.diagram svg{width:100%;height:auto;display:block}.diagram-label{font:9px/1.7 var(--mono);letter-spacing:.6px;color:var(--muted);justify-content:space-between;gap:12px;display:flex}figcaption.diagram-label{border-top:1px solid var(--line);padding-top:15px}[data-theme=interstellar] .readout{border:1px solid var(--line);background:var(--surface);grid-template-columns:repeat(3,1fr);margin:0 0 64px;display:grid}[data-theme=interstellar] .readout>div{padding:23px 28px}[data-theme=interstellar] .readout>div+div{border-left:1px solid var(--line)}.readout dt{font:9px var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.readout dd{margin:10px 0 0;font-size:14px}[data-theme=interstellar] .experience{--ink:#111b20;--muted:#616763;--line:#c3c2b6;--accent:#6b5743;color:var(--ink);background:#eeeade;border:0;margin:0 -60px;padding:65px 60px;display:block}[data-theme=interstellar] .section h2{font:10px/1.7 var(--mono);color:var(--accent);letter-spacing:1px}[data-theme=interstellar] .section-index{display:inline}[data-theme=interstellar] .section-deck{letter-spacing:-1.7px;margin-top:23px;font-size:clamp(36px,4vw,54px);font-weight:450;line-height:1.12;display:block}[data-theme=interstellar] .experience .section-heading{margin-bottom:46px}[data-theme=interstellar] .job{border-top:1px solid var(--line);counter-increment:job;grid-template-columns:270px minmax(0,1fr);gap:35px;margin:0;padding:33px 0;display:grid}[data-theme=interstellar] .job-meta{margin:0;padding-left:42px;display:block;position:relative}[data-theme=interstellar] .job-meta:before{content:counter(job, decimal-leading-zero);font:10px var(--mono);color:#80684f;position:absolute;top:8px;left:0}[data-theme=interstellar] .job h3{font-size:25px;font-weight:500}[data-theme=interstellar] .dates{font:10px/1.7 var(--mono);text-transform:uppercase;margin-top:10px}[data-theme=interstellar] .role{margin-top:16px}[data-theme=interstellar] .job-body{line-height:1.75}[data-theme=interstellar] .job ul{padding:0;list-style:none}[data-theme=interstellar] .job li{margin:0 0 16px;padding:0}[data-theme=interstellar] .job li:last-child{margin-bottom:0}[data-theme=interstellar] .earlier{margin-top:25px;font-size:13px}[data-theme=interstellar] .skills{border:0;padding:65px 0;display:block}[data-theme=interstellar] .skills-grid{gap:42px;margin-top:36px}[data-theme=interstellar] .skill{border-top:1px solid var(--line);padding-top:22px}[data-theme=interstellar] .skill h3{font-size:21px;font-weight:500}[data-theme=interstellar] .skill p{margin-top:13px;line-height:1.8}[data-theme=interstellar] .education{grid-template-columns:1fr 1.2fr;gap:80px;padding:55px 0 65px}[data-theme=interstellar] .school h3{font-size:18px;font-weight:500}[data-theme=interstellar] .school+.school{margin-top:28px}[data-theme=interstellar] .contact-panel{background:var(--surface);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;margin:0 -60px;padding:45px 60px;display:flex}[data-theme=interstellar] .contact-panel h2{margin-top:12px;font-size:30px;font-weight:450;line-height:1.2}[data-theme=interstellar] .contact-panel a{white-space:nowrap;font-size:17px}[data-theme=interstellar] .folio{font:9px/1.7 var(--mono);text-transform:uppercase;letter-spacing:.6px;border:0;padding-top:30px}:root[data-theme=paper]{--bg:#e8e6e1;--surface:#fffef9;--ink:#24231f;--muted:#656159;--line:#c0bbae;--accent:#635d50;--font:Baskerville, "Baskerville Old Face", "Palatino Linotype", "Book Antiqua", Georgia, serif}[data-theme=paper] body{background:radial-gradient(at 50% 15%,#f1efea 0,#0000 65%);font-size:17px;line-height:1.48}[data-theme=paper] .resume{background:linear-gradient(110deg,#fffefa,#fffefb 55%,#fcfbf5);border:1px solid #d7d3c9;max-width:850px;margin:0 auto;padding:64px 78px 32px;box-shadow:0 1px 2px #332b1b18,0 7px 18px #332b1b0d,0 25px 60px #332b1b12}[data-theme=paper] .desktop-tools{max-width:850px;color:var(--muted);justify-content:space-between;margin:88px auto 24px;font:11px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}[data-theme=paper] .desktop-tools a{text-decoration:none}[data-theme=paper] .site-header,[data-theme=paper] .hero-eyebrow{display:none}[data-theme=paper] .hero{padding:0}[data-theme=paper] .hero-copy{text-align:center;display:flex}[data-theme=paper] h1{font:400 46px/1.15 var(--font);letter-spacing:.015em;margin:0}[data-theme=paper] .profession{letter-spacing:.19em;text-transform:uppercase;order:1;margin-top:13px;font-size:13px;display:block}[data-theme=paper] .hero-contact{color:var(--ink);order:2;justify-content:center;gap:6px 22px;margin-top:13px;padding-bottom:20px;font-size:14px}@media screen{[data-theme=paper] .masthead-rule{border-bottom:3px double #827d70;order:2;display:block}}[data-theme=paper] .hero-contact a{text-decoration:none}[data-theme=paper] .summary{text-align:left;letter-spacing:0;order:3;max-width:none;margin:24px 0 0;font-size:18px;line-height:1.5}[data-theme=paper] .section{border:0;margin-top:28px;padding:0;display:block}[data-theme=paper] .section h2{letter-spacing:.15em;color:var(--ink);border-bottom:1px solid var(--line);margin:0 0 19px;padding-bottom:7px;font-size:13px;font-weight:400}[data-theme=paper] .job+.job{margin-top:24px}[data-theme=paper] .job-meta{grid-template-columns:1fr auto;gap:2px 15px;margin-bottom:9px}[data-theme=paper] .job h3{letter-spacing:0;font-size:19px;font-weight:600;line-height:1.3}[data-theme=paper] .dates{color:var(--ink);align-self:baseline;font-size:14px}[data-theme=paper] .role{color:var(--ink);font-size:16px;font-style:italic}[data-theme=paper] .location{text-align:right;grid-column:2;align-self:center;font-size:13px}[data-theme=paper] .job-body{max-width:none;font-size:17px;line-height:1.48}[data-theme=paper] .context{color:#514e47;margin-bottom:8px;font-size:16px}[data-theme=paper] li{margin:6px 0;padding-left:3px}[data-theme=paper] li::marker{font-size:10px}[data-theme=paper] .earlier{border:0;margin-top:22px;padding:0;font-size:15px;line-height:1.5}[data-theme=paper] .skills-grid{display:block}[data-theme=paper] .skill h3{font-size:16px;font-weight:600}[data-theme=paper] .skill p{color:var(--ink);margin-top:2px;font-size:16px}[data-theme=paper] .skill+.skill{margin-top:12px}[data-theme=paper] .school h3{font-size:17px}[data-theme=paper] .school p{color:var(--ink);margin-top:2px;font-size:16px}[data-theme=paper] .school+.school{margin-top:13px}[data-theme=paper] .folio{letter-spacing:.065em;font-variant:small-caps;margin-top:34px;padding-top:12px;font-size:11px}[data-theme=paper] .folio>span:nth-child(2){display:block}[data-theme=paper] .folio .print-button{display:none}[data-theme=paper] .desk-note{text-align:center;color:#656159;margin:24px 20px 40px;font:11px/1.6 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:block}::view-transition-group(*){animation-duration:var(--motion);animation-timing-function:var(--ease)}::view-transition-old(*),::view-transition-new(*){animation-duration:calc(var(--motion) - 80ms);animation-timing-function:cubic-bezier(.42,0,.3,1);animation-delay:80ms;animation-fill-mode:both}::view-transition-old(.content-fragment),::view-transition-new(.content-fragment){object-fit:none;object-position:left top;width:100%;height:100%}::view-transition-group(skill-typescript),::view-transition-group(skill-react),::view-transition-group(skill-css),::view-transition-group(school-buffalo),::view-transition-group(school-bentley),::view-transition-group(school-general-assembly){overflow:clip}::view-transition-group(theme-controls){z-index:100}::view-transition-old(theme-controls){opacity:0;animation:none}::view-transition-new(theme-controls){animation:none}.theme-fallback .resume{animation:.24s ease-out theme-arrive}@keyframes theme-arrive{0%{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:none}}@media (width<=1000px){.resume,[data-theme=interstellar] .resume{padding-left:32px;padding-right:32px}[data-theme=interstellar] .hero{gap:30px}[data-theme=interstellar] .experience,[data-theme=interstellar] .contact-panel{margin-inline:-32px;padding-inline:32px}[data-theme=interstellar] .job{grid-template-columns:225px minmax(0,1fr);gap:20px}[data-theme=paper] .resume{margin-inline:24px;padding-inline:8%}[data-theme=paper] .desktop-tools{margin-inline:24px}}@media (width<=700px){.theme-switcher{top:12px;right:16px}.resume{padding:82px 24px 28px}.hero{padding:40px 0 32px}.hero-eyebrow{font-size:10px}.summary{font-size:18px}.site-header nav{gap:15px;font-size:12px}.section{grid-template-columns:1fr;gap:20px;padding:27px 0}.job-meta{grid-template-columns:1fr}.dates{grid-row:2}.role{grid-row:3}.location{grid-row:4}.job+.job{margin-top:40px}.skills-grid{grid-template-columns:1fr;gap:22px}[data-theme=interstellar] .resume{padding-inline:20px}[data-theme=interstellar] .station-strip{letter-spacing:.4px;font-size:8px}[data-theme=interstellar] .station-strip>span:last-child{display:none}[data-theme=interstellar] .site-header{flex-wrap:wrap;gap:24px;padding-bottom:0}[data-theme=interstellar] .site-header nav{justify-content:space-between;width:100%}[data-theme=interstellar] .hero{grid-template-columns:1fr;gap:34px;padding:36px 0 30px}[data-theme=interstellar] h1{letter-spacing:-2px;font-size:60px}[data-theme=interstellar] .summary{font-size:17px}[data-theme=interstellar] .diagram{width:100%;max-width:440px;margin:auto}[data-theme=interstellar] .readout{grid-template-columns:1fr;margin-bottom:40px}[data-theme=interstellar] .readout>div{justify-content:space-between;align-items:center;gap:15px;padding:18px 20px;display:flex}[data-theme=interstellar] .readout>div+div{border-left:0;border-top:1px solid var(--line)}.readout dt{font-size:8px}.readout dd{text-align:right;margin:0;font-size:12px}[data-theme=interstellar] .experience{margin-inline:-20px;padding:42px 20px}[data-theme=interstellar] .experience .section-heading{margin-bottom:30px}[data-theme=interstellar] .job{grid-template-columns:1fr;gap:18px;padding:28px 0 34px}[data-theme=interstellar] .job-meta,[data-theme=interstellar] .job-body{padding-left:30px}[data-theme=interstellar] .role{margin-top:9px}[data-theme=interstellar] .skills{padding:45px 0}[data-theme=interstellar] .skills-grid{gap:28px}[data-theme=interstellar] .education{grid-template-columns:1fr;gap:28px;padding:40px 0}[data-theme=interstellar] .contact-panel{margin-inline:-20px;padding:35px 20px;display:block}[data-theme=interstellar] .contact-panel h2{font-size:27px}[data-theme=interstellar] .contact-panel a{margin-top:22px;font-size:16px;display:inline-block}[data-theme=paper] body{font-size:16px}[data-theme=paper] .desktop-tools{margin:78px 18px 18px}[data-theme=paper] .resume{margin:0 10px;padding:35px 24px 24px}[data-theme=paper] h1{font-size:36px}[data-theme=paper] .profession{letter-spacing:.17em;font-size:10px}[data-theme=paper] .hero-contact{flex-direction:column;gap:3px;font-size:13px}[data-theme=paper] .summary{margin-top:21px;font-size:17px}[data-theme=paper] .section h2{letter-spacing:.13em;font-size:11px}[data-theme=paper] .job-meta{grid-template-columns:1fr}[data-theme=paper] .dates{font-size:13px}[data-theme=paper] .role{margin-top:3px;font-size:15px}[data-theme=paper] .location{text-align:left;grid-column:1;font-size:12px}[data-theme=paper] .job-body{font-size:16px}[data-theme=paper] .school p,[data-theme=paper] .skill p{font-size:15px}}@media (prefers-reduced-motion:reduce){:root{--motion:0s}*,:before,:after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}@page{size:letter;margin:.5in}@media print{html[data-theme]{color-scheme:light;--bg:white;--surface:white;--ink:#111;--muted:#555;--line:#bbb;--accent:#555;--font:Georgia, serif}html[data-theme] body{background:#fff;font:10pt/1.3 Georgia,serif}html[data-theme] .resume{max-width:none;box-shadow:none;background:#fff;border:0;margin:0;padding:0}html[data-theme] .theme-switcher,html[data-theme] .desktop-tools,html[data-theme] .station-strip,html[data-theme] .site-header,html[data-theme] .diagram,html[data-theme] .readout,html[data-theme] .explore,html[data-theme] .hero-eyebrow,html[data-theme] .profession,html[data-theme] .section-deck,html[data-theme] .section-index,html[data-theme] .contact-panel,html[data-theme] .desk-note,html[data-theme] .print-button,.skip{display:none}html[data-theme] .hero{padding:0;display:block}html[data-theme] .hero-copy{text-align:left}html[data-theme] h1{letter-spacing:0;margin:0 0 8px;font:28pt/1.1 Georgia,serif}html[data-theme] h1 span{color:#111;display:inline}html[data-theme] .hero-contact{border:0;order:2;justify-content:flex-start;gap:20px;margin:0;padding:0;font:9pt/1.4 Georgia,serif}html[data-theme] .summary{letter-spacing:0;color:#111;order:3;max-width:none;margin:12px 0;font:11pt/1.4 Georgia,serif}html[data-theme] .section{color:#111;background:#fff;border:0;margin:0;padding:12px 0;display:block}html[data-theme] .section h2{letter-spacing:.1em;text-transform:uppercase;color:#111;border-bottom:1px solid #bbb;margin:0 0 10px;padding-bottom:5px;font:9pt Georgia,serif}html[data-theme] .section-heading{margin:0}html[data-theme] .job{break-inside:avoid;border:0;margin:0;padding:0;display:block}html[data-theme] .job+.job{margin-top:12px}html[data-theme] .job-meta{grid-template-columns:1fr auto;gap:1px 15px;margin:0 0 4px;padding:0;display:grid}html[data-theme] .job-meta:before{display:none}html[data-theme] .job h3{letter-spacing:0;font:600 11pt Georgia,serif}html[data-theme] .dates{text-transform:none;grid-area:1/2;margin:0;font:8pt Georgia,serif}html[data-theme] .role{grid-area:2/1;margin:0;font:italic 9pt Georgia,serif}html[data-theme] .location{text-align:right;grid-area:2/2;font:8pt Georgia,serif}html[data-theme] .job-body{max-width:none;padding:0;font:9pt/1.4 Georgia,serif}html[data-theme] .context{margin:4px 0;font:9pt Georgia,serif}html[data-theme] ul{padding-left:15px;list-style:outside}html[data-theme] li{margin:3px 0;padding-left:0}html[data-theme] .earlier{border:0;margin-top:10px;padding:0;font:8pt/1.4 Georgia,serif}html[data-theme] .skills-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin:0;display:grid}html[data-theme] .skill{border:0;margin:0;padding:0}html[data-theme] .skill h3,html[data-theme] .school h3{font:600 9pt Georgia,serif}html[data-theme] .skill p,html[data-theme] .school p{color:#111;margin-top:3px;font:8pt/1.4 Georgia,serif}html[data-theme] .school+.school{margin-top:8px}html[data-theme] .folio{border-top:1px solid #bbb;margin:12px 0 0;padding-top:7px;font:8pt Georgia,serif}html[data-theme] .folio>span:nth-child(2){display:block}}.mono-signature{display:none}@media screen{:root[data-theme=typewriter]{color-scheme:light;--bg:#f4f1e9;--surface:#f4f1e9;--ink:#30302c;--muted:#716c62;--line:#d6d0c4;--accent:#a04435;--font:"Fira Code", "SFMono-Regular", Consolas, monospace}:root[data-theme=terminal]{color-scheme:dark;--bg:#212627;--surface:#272d2e;--ink:#dee0e1;--muted:#9da5a9;--line:#414b4d;--accent:#4db8ab;--pi-heading:#cd9a22;--pi-link:#69add0;--font:"Fira Code", "SFMono-Regular", Consolas, monospace}:is([data-theme=typewriter],[data-theme=terminal]) body{font-family:var(--font);font-variant-ligatures:common-ligatures contextual;font-feature-settings:"calt" 1, "liga" 1;font-size:14px;line-height:1.85}:is([data-theme=typewriter],[data-theme=terminal]) .resume{max-width:1030px;padding:92px 64px 42px}:is([data-theme=typewriter],[data-theme=terminal]) .brand-initials{font:500 18px var(--font);color:var(--accent)}:is([data-theme=typewriter],[data-theme=terminal]) .site-header{padding-bottom:22px}:is([data-theme=typewriter],[data-theme=terminal]) .site-header nav{gap:25px;font-size:11px}:is([data-theme=typewriter],[data-theme=terminal]) .hero{padding:60px 0 44px}:is([data-theme=typewriter],[data-theme=terminal]) .hero-eyebrow{letter-spacing:normal;margin-bottom:24px;font-size:10px;font-weight:400}:is([data-theme=typewriter],[data-theme=terminal]) h1{font:500 clamp(28px, 4vw, 43px)/1.3 var(--font);letter-spacing:normal;margin-bottom:12px}:is([data-theme=typewriter],[data-theme=terminal]) .mono-signature{color:var(--muted);margin-bottom:28px;font-size:12px;display:block}.mono-signature span{color:var(--accent)}:is([data-theme=typewriter],[data-theme=terminal]) .summary{letter-spacing:normal;max-width:66ch;font-size:16px;line-height:1.85}:is([data-theme=typewriter],[data-theme=terminal]) .hero-contact{gap:8px 28px;margin-top:26px;font-size:11px}:is([data-theme=typewriter],[data-theme=terminal]) .section{padding:32px 0;display:block}:is([data-theme=typewriter],[data-theme=terminal]) .section-heading{margin-bottom:30px}:is([data-theme=typewriter],[data-theme=terminal]) .section h2{letter-spacing:normal;color:var(--accent);font-size:11px;font-weight:500}:is([data-theme=typewriter],[data-theme=terminal]) .section-index{display:inline}:is([data-theme=typewriter],[data-theme=terminal]) .job{grid-template-columns:200px minmax(0,1fr);gap:30px;display:grid}:is([data-theme=typewriter],[data-theme=terminal]) .job+.job{margin-top:42px}:is([data-theme=typewriter],[data-theme=terminal]) .job-meta{margin:0;display:block}:is([data-theme=typewriter],[data-theme=terminal]) .job h3{letter-spacing:normal;font-size:16px;font-weight:500}:is([data-theme=typewriter],[data-theme=terminal]) .dates{margin-top:7px;font-size:10px}:is([data-theme=typewriter],[data-theme=terminal]) .role,:is([data-theme=typewriter],[data-theme=terminal]) .location{font-size:10px;line-height:1.85}:is([data-theme=typewriter],[data-theme=terminal]) .role{margin-top:12px}:is([data-theme=typewriter],[data-theme=terminal]) .job-body{max-width:68ch;font-size:13px;line-height:1.9}:is([data-theme=typewriter],[data-theme=terminal]) li{margin:0 0 14px;padding-left:3px}:is([data-theme=typewriter],[data-theme=terminal]) li:last-child{margin-bottom:0}:is([data-theme=typewriter],[data-theme=terminal]) li::marker{content:"– "}:is([data-theme=typewriter],[data-theme=terminal]) .context{margin-bottom:14px}:is([data-theme=typewriter],[data-theme=terminal]) .earlier{margin-top:35px;font-size:11px;line-height:1.85}:is([data-theme=typewriter],[data-theme=terminal]) .skills-grid{gap:30px}:is([data-theme=typewriter],[data-theme=terminal]) .skill h3,:is([data-theme=typewriter],[data-theme=terminal]) .school h3{font-size:13px;font-weight:500}:is([data-theme=typewriter],[data-theme=terminal]) .skill p,:is([data-theme=typewriter],[data-theme=terminal]) .school p{font-size:12px;line-height:1.85}:is([data-theme=typewriter],[data-theme=terminal]) .folio{font-size:10px}[data-theme=typewriter] .resume{max-width:1000px}[data-theme=typewriter] .site-header{border-bottom-style:dashed}[data-theme=typewriter] .hero{padding-top:65px}[data-theme=typewriter] .section{border-top-style:dashed}[data-theme=typewriter] .job{grid-template-columns:190px minmax(0,1fr)}[data-theme=typewriter] .section h2{text-transform:uppercase}[data-theme=terminal] .site-header{border-color:var(--line)}[data-theme=terminal] .brand-initials:before{content:"> ";font-weight:400}[data-theme=terminal] h1{font-weight:450}[data-theme=terminal] .hero-eyebrow{color:var(--muted)}[data-theme=terminal] .hero-contact a{color:var(--pi-link)}[data-theme=terminal] .section h2{color:var(--pi-heading);text-transform:none;font-size:12px}[data-theme=terminal] .section-index{color:var(--muted)}[data-theme=terminal] .job-surface{background:var(--surface);border-left:1px solid #4b6462;min-width:0;display:block}[data-theme=terminal] .job-body{max-width:none;padding:18px 23px}[data-theme=terminal] .context,[data-theme=terminal] .dates{color:var(--accent)}[data-theme=terminal] .job ul{padding-left:13px}[data-theme=terminal] .job+.job{margin-top:32px}[data-theme=terminal] .skill h3{color:var(--accent)}[data-theme=terminal] .section{border-top:0;padding:30px 0}[data-theme=terminal] .education,[data-theme=terminal] .skills{border-top:1px solid var(--line)}@media (width<=800px){:is([data-theme=typewriter],[data-theme=terminal]) .resume{padding-inline:28px}:is([data-theme=typewriter],[data-theme=terminal]) .job{grid-template-columns:175px minmax(0,1fr);gap:25px}}@media (width<=600px){:is([data-theme=typewriter],[data-theme=terminal]) .resume{padding:85px 24px 28px}:is([data-theme=typewriter],[data-theme=terminal]) .site-header nav{gap:12px;font-size:10px}:is([data-theme=typewriter],[data-theme=terminal]) .hero{padding:40px 0 32px}:is([data-theme=typewriter],[data-theme=terminal]) h1{font-size:clamp(23px,6.25vw,32px)}:is([data-theme=typewriter],[data-theme=terminal]) .hero-eyebrow{font-size:9px;line-height:1.8}:is([data-theme=typewriter],[data-theme=terminal]) .summary{font-size:14px}:is([data-theme=typewriter],[data-theme=terminal]) .hero-contact{font-size:10px}:is([data-theme=typewriter],[data-theme=terminal]) .job{display:block}:is([data-theme=typewriter],[data-theme=terminal]) .job-meta{margin-bottom:16px}:is([data-theme=typewriter],[data-theme=terminal]) .role{margin-top:7px}:is([data-theme=typewriter],[data-theme=terminal]) .job-body{font-size:13px}[data-theme=terminal] .job-body{padding:17px 18px}}}
