@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Inter:opsz,wght@14..32,400;14..32,600;14..32,700&display=swap";.contact{padding-block:var(--space-8)}.contact__layout{gap:var(--space-8);grid-template-columns:minmax(0,1fr) minmax(18rem,.9fr);align-items:start;display:grid}.contact__header{gap:var(--space-2);flex-direction:column;max-inline-size:34rem;display:flex}.contact__label{color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-label);line-height:var(--line-height-label);text-transform:uppercase}.contact__intro{font-size:var(--font-size-body-lg);margin-block-start:var(--space-1)}.contact__links{max-inline-size:none;margin-block-start:0;padding-inline-start:0;list-style:none;display:grid}.contact__link{gap:var(--space-1);border-block-start:var(--border-width-default) solid var(--color-border-subtle);padding-block:var(--space-2);display:grid}.contact__link:last-child{border-block-end:var(--border-width-default) solid var(--color-border-subtle)}.contact__link+.contact__link{margin-block-start:0}.contact__metadata{gap:var(--space-2);color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-label);line-height:var(--line-height-label);text-transform:uppercase;display:flex}.contact__link a{justify-content:space-between;gap:var(--space-2);font-size:var(--font-size-body-lg);text-decoration-thickness:var(--border-width-default);display:flex}.contact__link a span{color:var(--color-text-secondary);font-family:var(--font-family-mono)}.contact__link a:hover span{color:var(--color-link)}.contact__description{max-inline-size:45ch;color:var(--color-text-secondary);font-size:var(--font-size-caption)}@media (width<=40rem){.contact{padding-block:var(--space-6)}.contact__layout{gap:var(--space-6);grid-template-columns:1fr}.contact__intro{font-size:var(--font-size-body)}}.experience__metadata{color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-label)}.experience__timeline{margin-block-start:var(--layout-section-gap);padding-inline-start:0;list-style:none}.experience__item{border-block-start:var(--border-width-default) solid var(--color-border-subtle);padding-block:var(--space-5)}.experience__item:last-child{border-block-end:var(--border-width-default) solid var(--color-border-subtle)}.experience__item+.experience__item{margin-block-start:0}.experience__entry{max-inline-size:65rem}.experience__entry>*+*{margin-block-start:var(--space-4)}.experience__entry-header{gap:var(--space-1);flex-direction:column;display:flex}.experience__entry-header>*{margin-block-start:0}.experience__entry h2,.experience__detail h3{font-size:var(--font-size-heading-md)}.experience__company{font-size:var(--font-size-body-lg);font-weight:var(--font-weight-semibold)}.experience__metadata{line-height:var(--line-height-caption)}.experience__detail h3{margin-block-end:var(--space-2)}.experience__technologies{gap:var(--space-2);flex-wrap:wrap;padding-inline-start:0;list-style:none;display:flex}.experience__technologies li{border:var(--border-width-default) solid var(--color-border-subtle);color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-label);letter-spacing:var(--letter-spacing-label);padding:var(--space-1);text-transform:uppercase}.experience__technologies li+li{margin-block-start:0}@media (width<=40rem){.experience__timeline{margin-block-start:var(--space-6)}.experience__item{padding-block:var(--space-4)}}.home h1{font-size:var(--font-size-display);letter-spacing:var(--letter-spacing-display);line-height:var(--line-height-display)}.home__headline{color:var(--color-text-primary);font-size:var(--font-size-body-lg);font-weight:var(--font-weight-semibold)}.home__actions{margin-block-start:var(--space-1)}.home__actions ul,.home__focus ul{padding-inline-start:0;list-style:none}.home__actions ul{gap:var(--space-2);flex-wrap:wrap;display:flex}.home__actions a{border:var(--border-width-default) solid var(--color-border-strong);padding:var(--space-1) var(--space-2);text-decoration:none;display:inline-block}.home__actions a:hover{border-color:var(--color-accent)}.home__focus,.home__highlight{border-block-start:var(--border-width-default) solid var(--color-border-subtle);margin-block-start:var(--layout-section-gap);padding-block-start:var(--space-3)}.home__focus{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,2fr);display:grid}.home__focus h2,.home__highlight h2{font-size:var(--font-size-heading-md)}.home__focus ul{gap:var(--space-2);flex-wrap:wrap;align-content:start;display:flex}.home__focus li{border:var(--border-width-default) solid var(--color-border-subtle);color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-label);letter-spacing:var(--letter-spacing-label);padding:var(--space-1);text-transform:uppercase}.home__actions li+li,.home__focus li+li{margin-block-start:0}.home__highlight{max-inline-size:42rem}.home__highlight>*+*{margin-block-start:var(--space-2)}@media (width<=40rem){.home h1{font-size:var(--font-size-heading-lg-mobile);letter-spacing:var(--letter-spacing-heading-lg);line-height:var(--line-height-heading-lg-mobile)}.home__focus{grid-template-columns:minmax(0,1fr)}}.professional-summary__focus{border-block-start:var(--border-width-default) solid var(--color-border-subtle);margin-block-start:var(--layout-section-gap);padding-block-start:var(--space-3)}.professional-summary__focus h2{font-size:var(--font-size-heading-md)}.professional-summary__focus ul{gap:var(--space-2);flex-wrap:wrap;padding-inline-start:0;list-style:none;display:flex}.professional-summary__focus li{border:var(--border-width-default) solid var(--color-border-subtle);color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-label);letter-spacing:var(--letter-spacing-label);padding:var(--space-1);text-transform:uppercase}.professional-summary__focus li+li{margin-block-start:0}.resume__metadata{color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-label)}.resume__action{margin-block-start:var(--space-3)}.resume__action a{border:var(--border-width-default) solid var(--color-border-strong);padding:var(--space-1) var(--space-2);text-decoration:none;display:inline-block}.resume__action a:hover{border-color:var(--color-accent)}@media (width<=40rem){.resume__intro{font-size:var(--font-size-body)}}*,:before,:after{box-sizing:border-box}:not(dialog){margin:0}input,button,textarea,select{font:inherit}img,picture,video,canvas,svg{max-width:100%;display:block}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#root{min-height:100vh}:root{--color-background:#131313;--color-surface:#1b1b1b;--color-surface-raised:#1f1f1f;--color-text-primary:#e2e2e2;--color-text-secondary:#cfc4c5;--color-border-subtle:#4c4546;--color-border-strong:#988e90;--color-accent:#bec2ff;--color-link:var(--color-accent);--color-focus:var(--color-accent);--font-family-sans:Inter, ui-sans-serif, system-ui, sans-serif;--font-family-mono:"IBM Plex Mono", ui-monospace, monospace;--font-size-caption:.875rem;--font-size-label:.8125rem;--font-size-body:1rem;--font-size-body-lg:1.25rem;--font-size-heading-md:1.5rem;--font-size-heading-lg-mobile:2rem;--font-size-heading-lg:3rem;--font-size-display:5rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-display:1;--line-height-heading-lg:1.1;--line-height-heading-lg-mobile:1.2;--line-height-heading-md:1.3;--line-height-body:1.6;--line-height-caption:1.4;--line-height-label:1;--letter-spacing-display:-.04em;--letter-spacing-heading-lg:-.02em;--letter-spacing-label:.05em;--space-unit:.5rem;--space-1:var(--space-unit);--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:2.5rem;--space-6:3rem;--space-8:4rem;--space-10:5rem;--space-15:7.5rem;--layout-container-max:80rem;--layout-gutter:var(--space-4);--layout-edge:var(--space-5);--layout-section-gap:var(--space-15);--layout-grid-columns:12;--border-width-default:1px;--border-radius-none:0}html{background-color:var(--color-background);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background-color:var(--color-background);min-block-size:100vh;color:var(--color-text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:var(--line-height-body)}main{max-inline-size:var(--layout-container-max);padding-block:var(--space-6);padding-inline:var(--layout-gutter);margin-inline:auto}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);font-family:var(--font-family-sans);font-weight:var(--font-weight-semibold);line-height:var(--line-height-heading-md)}h1{font-size:var(--font-size-heading-lg);line-height:var(--line-height-heading-lg);letter-spacing:var(--letter-spacing-heading-lg)}a{color:var(--color-link);text-decoration-thickness:var(--border-width-default);text-underline-offset:.16em}a:hover{color:var(--color-text-primary)}:focus-visible{outline:calc(var(--border-width-default) * 2) solid var(--color-focus);outline-offset:var(--space-1)}p{max-inline-size:65ch}section>*+*{margin-block-start:var(--space-3)}ul,ol{padding-inline-start:var(--space-3)}li+li{margin-block-start:var(--space-1)}small{font-family:var(--font-family-mono)}@media (width<=40rem){:root{--layout-gutter:var(--space-2)}}.page-section{padding-block:var(--space-8)}.page-lead{gap:var(--space-2);flex-direction:column;max-inline-size:62rem;display:flex}.eyebrow{color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-label);line-height:var(--line-height-label);text-transform:uppercase}.page-intro{font-size:var(--font-size-body-lg);margin-block-start:var(--space-1)}@media (width<=40rem){.page-section{padding-block:var(--space-6)}}.site-header{border-block-end:var(--border-width-default) solid var(--color-border-subtle)}.site-header__inner,.site-footer__inner{max-inline-size:var(--layout-container-max);padding-inline:var(--layout-gutter);margin-inline:auto}.site-header__inner{align-items:center;gap:var(--space-3);padding-block:var(--space-2);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.site-header__identity,.primary-navigation a,.site-header__contact{font-family:var(--font-family-mono);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-label);line-height:var(--line-height-label);text-transform:uppercase}.site-header__identity{color:var(--color-text-secondary);justify-self:start;text-decoration:none}.primary-navigation{justify-self:center}.primary-navigation ul{justify-content:center;gap:var(--space-2);flex-wrap:wrap;padding-inline-start:0;list-style:none;display:flex}.primary-navigation li+li{margin-block-start:0}.primary-navigation a{border-block-end:var(--border-width-default) solid transparent;color:var(--color-text-primary);padding-block:var(--space-1);text-decoration:none;display:inline-block}.primary-navigation a:hover{border-block-end-color:var(--color-accent)}.primary-navigation .active{color:var(--color-accent);border-block-end-color:var(--color-accent)}.site-header__contact{border:var(--border-width-default) solid var(--color-text-primary);background-color:var(--color-text-primary);color:var(--color-background);padding:var(--space-1) var(--space-2);justify-self:end;text-decoration:none}.site-header__contact:hover{color:var(--color-text-primary);background-color:#0000}.site-footer{border-block-start:var(--border-width-default) solid var(--color-border-subtle)}.site-footer__inner{padding-block:var(--space-6)}.site-footer small{color:var(--color-text-secondary);font-size:var(--font-size-caption)}@media (width<=56rem){.site-header__inner{grid-template-columns:minmax(0,1fr);justify-items:center}.site-header__identity,.primary-navigation,.site-header__contact{justify-self:center}.primary-navigation{grid-column:auto}}
