.resume-doc[data-astro-cid-yatgpmno]{display:flex;flex-direction:column;gap:.28in;width:8.5in}.resume-page[data-astro-cid-yatgpmno]{--resume-bg: #e63622;--resume-ink: #000;--resume-muted: rgba(0, 0, 0, .72);--resume-faint: rgba(0, 0, 0, .55);--resume-rule: rgba(0, 0, 0, .28);--resume-key: rgba(0, 0, 0, .45);--resume-hatch: rgba(0, 0, 0, .28);--resume-pad-x: .16in;box-sizing:border-box;width:8.5in;height:11in;padding:.48in var(--resume-pad-x) .46in;background:var(--resume-bg);color:var(--resume-ink);position:relative;display:flex;flex-direction:column;gap:.36in;overflow:hidden;box-shadow:0 18px 48px #00000047;-webkit-print-color-adjust:exact;print-color-adjust:exact}.resume-page[data-astro-cid-yatgpmno][data-resume-tone=white]{--resume-bg: #fff;--resume-muted: #333;--resume-faint: #717171;--resume-rule: rgba(0, 0, 0, .22);--resume-key: rgba(0, 0, 0, .42);--resume-hatch: #d6d6d6}.resume-page__top[data-astro-cid-yatgpmno]{display:flex;flex-direction:column;gap:.16in}.resume-page__lockup[data-astro-cid-yatgpmno]{display:grid;align-items:center;justify-items:start;width:max-content}.resume-page__script-wrap[data-astro-cid-yatgpmno]{grid-area:1 / 1;z-index:1;margin-left:calc(-1 * var(--resume-pad-x));line-height:0;pointer-events:none}.resume-page__script[data-astro-cid-yatgpmno]{display:block;width:3.85in;height:auto;max-width:none;border-radius:0;opacity:1;filter:brightness(0) invert(1)}.resume-page[data-astro-cid-yatgpmno][data-resume-tone=white] .resume-page__script[data-astro-cid-yatgpmno]{filter:none}.resume-page__eric[data-astro-cid-yatgpmno]{grid-area:1 / 1;z-index:0;margin:0;font-family:var(--font-display);font-weight:700;font-size:1.07in;line-height:1.1;letter-spacing:-.02em;text-transform:uppercase;color:#000;transform:translate(-.057em,.256em)}.resume-page__role[data-astro-cid-yatgpmno],.resume-page__label[data-astro-cid-yatgpmno]{margin:0;font-family:var(--font-display);font-weight:700;font-size:14pt;letter-spacing:.02em;text-transform:uppercase;line-height:1;color:var(--resume-ink)}.resume-page__lede[data-astro-cid-yatgpmno]{margin:0;font-size:14pt;line-height:1.4;color:var(--resume-ink)}.resume-page__continued[data-astro-cid-yatgpmno]{display:flex;justify-content:space-between;align-items:baseline;gap:.2in;padding-bottom:.1in;border-bottom:1px solid var(--resume-rule)}.resume-page__continued-name[data-astro-cid-yatgpmno],.resume-page__continued-role[data-astro-cid-yatgpmno]{margin:0}.resume-page__spec-key[data-astro-cid-yatgpmno],.resume-page__spec-val[data-astro-cid-yatgpmno],.resume-page__dates[data-astro-cid-yatgpmno],.resume-page__title[data-astro-cid-yatgpmno],.resume-page__continued-name[data-astro-cid-yatgpmno],.resume-page__continued-role[data-astro-cid-yatgpmno],.resume-page__page[data-astro-cid-yatgpmno]{font-family:var(--font-mono);font-weight:700;font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;line-height:1}.resume-page__continued-role[data-astro-cid-yatgpmno]{color:var(--resume-faint)}.resume-page__page[data-astro-cid-yatgpmno]{position:absolute;right:var(--resume-pad-x);bottom:.2in;margin:0;color:var(--resume-faint)}.resume-page--follow[data-astro-cid-yatgpmno]{gap:.28in;padding-top:.42in}.resume-page__spec[data-astro-cid-yatgpmno]{border-top:1px solid var(--resume-rule);border-bottom:6px solid var(--resume-rule)}.resume-page__spec-row[data-astro-cid-yatgpmno]{display:grid;grid-template-columns:1fr 1fr}.resume-page__spec-row[data-astro-cid-yatgpmno]+.resume-page__spec-row[data-astro-cid-yatgpmno]{border-top:1px solid var(--resume-rule)}.resume-page__spec-cell[data-astro-cid-yatgpmno]{display:flex;flex-direction:column;gap:.045in;min-width:0;padding:.07in 0}.resume-page__spec-cell[data-astro-cid-yatgpmno]:first-child{border-right:1px solid var(--resume-rule);padding-right:.16in}.resume-page__spec-cell[data-astro-cid-yatgpmno]:last-child{padding-left:.16in}.resume-page__spec-cell--empty[data-astro-cid-yatgpmno],.resume-page__spec-cell--empty[data-astro-cid-yatgpmno]:last-child{padding:0;align-self:stretch;color:var(--resume-hatch);background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6'%3E%3Cpath d='M-1 1l2-2M0 6l6-6M5 7l2-2' stroke='%23000' stroke-width='1' fill='none'/%3E%3C/svg%3E") 0 0 / 6px 6px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6'%3E%3Cpath d='M-1 1l2-2M0 6l6-6M5 7l2-2' stroke='%23000' stroke-width='1' fill='none'/%3E%3C/svg%3E") 0 0 / 6px 6px}.resume-page__spec-key[data-astro-cid-yatgpmno]{color:var(--resume-key)}.resume-page__spec-val[data-astro-cid-yatgpmno]{color:var(--resume-ink)}.resume-page__spec-val[data-astro-cid-yatgpmno] a[data-astro-cid-yatgpmno]{color:inherit;text-decoration:none}.resume-page__section[data-astro-cid-yatgpmno],.resume-page__jobs[data-astro-cid-yatgpmno]{display:flex;flex-direction:column;gap:.2in}.resume-page--follow[data-astro-cid-yatgpmno] .resume-page__section[data-astro-cid-yatgpmno],.resume-page--follow[data-astro-cid-yatgpmno] .resume-page__jobs[data-astro-cid-yatgpmno]{gap:.2in}.resume-page__meta[data-astro-cid-yatgpmno]{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45em;margin:.04in 0 0}.resume-page__dates[data-astro-cid-yatgpmno]:before{content:"•";margin-right:.45em}.resume-page__org[data-astro-cid-yatgpmno],.resume-page__title[data-astro-cid-yatgpmno],.resume-page__detail[data-astro-cid-yatgpmno],.resume-page__dates[data-astro-cid-yatgpmno],.resume-page__skills[data-astro-cid-yatgpmno]{margin:0}.resume-page__org[data-astro-cid-yatgpmno],.resume-page__detail[data-astro-cid-yatgpmno],.resume-page__skills[data-astro-cid-yatgpmno]{font-family:var(--font-body);font-size:12pt;line-height:1.45}.resume-page__org[data-astro-cid-yatgpmno]{font-weight:700;color:var(--resume-ink)}.resume-page__dates[data-astro-cid-yatgpmno],.resume-page__title[data-astro-cid-yatgpmno]{color:var(--resume-faint)}.resume-page__detail[data-astro-cid-yatgpmno]{margin-top:16px;font-weight:400;color:var(--resume-ink)}@media print{.resume-doc[data-astro-cid-yatgpmno]{gap:0}.resume-page[data-astro-cid-yatgpmno]{box-shadow:none}}.resume-page__stat[data-astro-cid-yatgpmno]{font-family:var(--font-body);font-weight:700;color:var(--resume-ink)}.resume-page__skills[data-astro-cid-yatgpmno]{font-weight:400;color:var(--resume-ink)}.resume-tone[data-astro-cid-z5aoyxlu]{display:flex;align-items:center;gap:.7rem}.resume-tone[data-astro-cid-z5aoyxlu] button[data-astro-cid-z5aoyxlu]{appearance:none;width:.875rem;height:.875rem;margin:0;padding:0;border:0;border-radius:1px;cursor:pointer;box-shadow:0 0 0 1px #ffffff59}.resume-tone[data-astro-cid-z5aoyxlu] button[data-astro-cid-z5aoyxlu][data-resume-tone-set=red]{background:#e63622}.resume-tone[data-astro-cid-z5aoyxlu] button[data-astro-cid-z5aoyxlu][data-resume-tone-set=white]{background:#fff}.resume-tone[data-astro-cid-z5aoyxlu] button[data-astro-cid-z5aoyxlu][aria-pressed=true]{box-shadow:0 0 0 1px #fff,0 0 0 3px #ffffff47}.resume-tone[data-astro-cid-z5aoyxlu] button[data-astro-cid-z5aoyxlu]:focus-visible{outline:1px solid #fff;outline-offset:4px}@media print{.resume-tone[data-astro-cid-z5aoyxlu]{display:none!important}}@font-face{font-family:Soehne;src:url(/fonts/soehne-buch.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Soehne Breit;src:url(/fonts/soehne-breit-buch.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Soehne Breit;src:url(/fonts/soehne-breit-dreiviertelfett.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Soehne Mono;src:url(/fonts/soehne-mono-buch.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Soehne Mono;src:url(/fonts/soehne-mono-dreiviertelfett.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--color-black: #000000;--color-white: #ffffff;--color-cream: #eae6df;--color-red: #dd0000;--color-red-hover: #b80000;--color-gray-100: #f5f5f5;--color-gray-200: #eeeeee;--color-gray-400: #aaaaaa;--color-gray-600: #717171;--color-gray-800: #333333;--color-bg: var(--color-cream);--page-bg: var(--color-bg);--color-text: var(--color-black);--color-text-muted: var(--color-gray-600);--color-accent: var(--color-red);--color-border: #d4cfc6;--nav-hover: var(--color-accent);--nav-num: var(--color-accent);--nav-stroke: var(--nav-num);--font-body: "Soehne", "Inter", system-ui, -apple-system, sans-serif;--font-display: "Soehne Breit", "Soehne", "Inter", system-ui, sans-serif;--font-mono: "Soehne Mono", "Courier New", monospace;--text-xs: .6875rem;--text-sm: .75rem;--text-base: 1rem;--text-kicker: 1.4rem;--text-md: 1.125rem;--text-lg: 1.375rem;--text-xl: 1.75rem;--text-2xl: 2.25rem;--text-lede: var(--text-2xl);--text-3xl: 3rem;--text-4xl: 3.75rem;--text-5xl: 5rem;--text-display: 7.8125rem;--leading-tight: 1.1;--leading-snug: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.7;--tracking-wide: .08em;--tracking-wider: .12em;--tracking-normal: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--space-40: 10rem;--space-48: 12rem;--section-gap: 7.5rem;--section-lead: var(--space-24);--section-gap-lg: var(--space-48);--section-gap-sm: var(--space-20);--container-max: none;--container-wide: none;--gutter: 1.667rem;--gutter-mobile: 1.111rem;--content-narrow: 720px;--content-medium: 960px;--content-wide: 1100px;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 8px;--border-width: 1px;--ease-out-quad: cubic-bezier(.25, .46, .45, .94);--ease-out-cubic: cubic-bezier(.215, .61, .355, 1);--ease-out-quart: cubic-bezier(.165, .84, .44, 1);--ease-in-out-cubic: cubic-bezier(.645, .045, .355, 1);--duration-fast: .15s;--duration-base: .3s;--duration-slow: .5s;--duration-slower: .8s;--transition-base: var(--duration-base) var(--ease-out-quad);--grid-columns: 12;--grid-gap: var(--gutter);--grid-gap-mobile: var(--gutter-mobile);--nav-height: 72px;--nav-height-mobile: 60px}:root[data-theme=red]{--page-bg: #e63622;--nav-hover: rgba(0, 0, 0, .5);--nav-num: var(--color-white);--nav-stroke: var(--nav-num)}:root[data-theme=black]{--page-bg: #000000;--color-text: var(--color-white);--nav-hover: rgba(255, 255, 255, .5);--nav-num: var(--color-accent);--nav-stroke: var(--nav-num)}@media(max-width:1199px){:root{--section-gap: var(--space-20);--section-lead: var(--space-20)}}@media(max-width:767px){:root{--text-kicker: 1rem;--text-lede: 1.5rem;--text-display: 4.6875rem}}@media(prefers-reduced-motion:reduce){:root{--duration-fast: 0ms;--duration-base: 0ms;--duration-slow: 0ms;--duration-slower: 0ms}}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth;background-color:#000}html:has(body[data-project-page]){background-color:#fff}html[data-theme=black]{background-color:#e63622}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body{animation:none}img:not([data-loaded]){opacity:1;animation:none}img[data-loaded]{transition:none}}body{margin:0;padding:0;background-color:var(--page-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;animation:page-in .38s var(--ease-out-cubic) both}@keyframes page-in{0%{opacity:0}to{opacity:1}}html:has(body[data-nav-open]),body[data-nav-open]{overflow:hidden}body[data-nav-open]{position:fixed;left:0;right:0;width:100%}h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-body);font-weight:400;line-height:var(--leading-tight);letter-spacing:var(--tracking-normal)}p{margin:0 0 1em}p:last-child{margin-bottom:0}a{color:inherit;text-decoration:none}.prose a{color:var(--color-black);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}.brush-link{--brush-duration: .28s;--brush-out: .14s;position:relative;padding-bottom:clamp(.4rem,.18em,.9rem)}.brush-link:not(.next-page__kicker){display:inline-block}.brush-link:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:clamp(.5rem,.22em,1.15rem);pointer-events:none;background-color:var(--nav-stroke);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 24' preserveAspectRatio='none'%3E%3Cpath d='M2 8.2C34 5.8 68 3.8 98 2' fill='none' stroke='%23fff' stroke-width='3.6' stroke-linecap='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 24' preserveAspectRatio='none'%3E%3Cpath d='M2 8.2C34 5.8 68 3.8 98 2' fill='none' stroke='%23fff' stroke-width='3.6' stroke-linecap='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat;transform:rotate(-1.3deg);transform-origin:left center;clip-path:inset(0 100% 0 0);opacity:0;transition:clip-path var(--brush-duration) var(--ease-out-cubic),opacity .01s linear var(--brush-duration)}.brush-link:hover:after,.brush-link:focus-visible:after,a:hover .brush-link:after,a:focus-visible .brush-link:after,a.is-active .brush-link:after{clip-path:inset(0 0 0 0);opacity:1;transition:clip-path var(--brush-duration) var(--ease-out-cubic),opacity 0s}.next-page .brush-link{padding-bottom:calc(.18em + 24px)}.next-page .brush-link:after{height:clamp(.7rem,.14em,1.85rem);bottom:.02em;transform:rotate(-1.3deg);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 24' preserveAspectRatio='none'%3E%3Cpath d='M2 13.2C34 12.2 68 12.6 98 12.4' fill='none' stroke='%23fff' stroke-width='5.4' stroke-linecap='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 24' preserveAspectRatio='none'%3E%3Cpath d='M2 13.2C34 12.2 68 12.6 98 12.4' fill='none' stroke='%23fff' stroke-width='5.4' stroke-linecap='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat;transition:clip-path var(--brush-duration) cubic-bezier(.12,.7,.18,1)}.next-page a:not(:hover):not(:focus-visible) .brush-link:after,.next-page .brush-link:not(:hover):not(:focus-visible):after{transition-duration:var(--brush-out);transition-timing-function:cubic-bezier(.4,0,1,1)}.site-footer{--nav-stroke: var(--color-accent)}:root[data-theme=black] .site-footer{--nav-stroke: var(--color-white)}.next-page[data-tone=black],.company-section[data-tone=black]{--nav-stroke: var(--color-white)}:root:not([data-theme=red]) .next-page[data-tone=red],.company-section[data-tone=red]{--nav-stroke: var(--color-black)}@media(prefers-reduced-motion:reduce){.brush-link:after{transition:none}}img,video{display:block;max-width:100%;height:auto;border-radius:8px}video.full-width-media__video--ambient::-webkit-media-controls,video.full-width-media__video--ambient::-webkit-media-controls-enclosure,video.full-width-media__video--ambient::-webkit-media-controls-panel,video.full-width-media__video--ambient::-webkit-media-controls-start-playback-button,video.full-width-media__video--ambient::-webkit-media-controls-overlay-play-button,video.full-width-media__video--ambient::-webkit-media-controls-overlay-enclosure,video.media-grid__video--ambient::-webkit-media-controls,video.media-grid__video--ambient::-webkit-media-controls-enclosure,video.media-grid__video--ambient::-webkit-media-controls-panel,video.media-grid__video--ambient::-webkit-media-controls-start-playback-button,video.media-grid__video--ambient::-webkit-media-controls-overlay-play-button,video.media-grid__video--ambient::-webkit-media-controls-overlay-enclosure{display:none!important;-webkit-appearance:none;opacity:0!important;pointer-events:none!important;width:0!important;height:0!important}:root{--shimmer-a: rgba(0, 0, 0, .05);--shimmer-b: rgba(0, 0, 0, .1)}html[data-theme=black]{--shimmer-a: rgba(255, 255, 255, .05);--shimmer-b: rgba(255, 255, 255, .1)}@keyframes img-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}img:not([data-loaded]){opacity:0;background:linear-gradient(90deg,var(--shimmer-a) 25%,var(--shimmer-b) 50%,var(--shimmer-a) 75%);background-size:200% 100%;animation:img-shimmer 1.6s linear infinite}img[data-loaded]{opacity:1;transition:opacity .45s var(--ease-out-cubic);animation:none;background:none}ul,ol{margin:0;padding:0;list-style:none}button{cursor:pointer;border:none;background:none;padding:0;font:inherit;color:inherit}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}summary:focus,summary:focus-visible,.project-modal__close:focus,.project-modal__close:focus-visible{outline:none}:root[data-theme=red] .site-header__logo-img{filter:brightness(0)}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--gutter);padding-right:var(--gutter)}.container--narrow{max-width:var(--content-narrow)}.label{font-family:var(--font-mono);font-weight:700;font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;line-height:1}.meta-hatch{padding:0;color:#d6d6d6;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6'%3E%3Cpath d='M-1 1l2-2M0 6l6-6M5 7l2-2' stroke='%23000' stroke-width='1' fill='none'/%3E%3C/svg%3E") 0 0 / 6px 6px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6'%3E%3Cpath d='M-1 1l2-2M0 6l6-6M5 7l2-2' stroke='%23000' stroke-width='1' fill='none'/%3E%3C/svg%3E") 0 0 / 6px 6px}:root[data-theme=black] .meta-hatch{color:#ffffff38}:root[data-theme=red] .meta-hatch{color:#00000047}.grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter)}.col-span-1{grid-column:span 1}.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.col-span-4{grid-column:span 4}.col-span-5{grid-column:span 5}.col-span-6{grid-column:span 6}.col-span-7{grid-column:span 7}.col-span-8{grid-column:span 8}.col-span-9{grid-column:span 9}.col-span-10{grid-column:span 10}.col-span-11{grid-column:span 11}.col-span-12{grid-column:span 12}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:767px){.container{padding-left:var(--gutter-mobile);padding-right:var(--gutter-mobile)}.grid-12{column-gap:var(--gutter-mobile)}}
