:root{--color-light:#e1ebee;--color-dark:#005878;--text-color:var(--color-light);--bg-color:var(--color-dark);--font-sans:"Brockmann",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-size-base:20px;--font-size-sm:.875rem;--font-size-md:1.125rem;--font-size-lg:1.25rem;--font-size-xl:1.875rem;--line-height-base:1.5;--line-height-relaxed:1.6;--line-height-tight:1.1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--opacity-muted:.7;--opacity-subtle:.8;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-section:4rem;--max-width-content:56rem;--max-width-reading:40ch;--max-width-narrow:25ch;--max-width-cv-text:50ch;--photo-size:16rem;--transition-fast:.2s}@supports (color:color(display-p3 0 0 0)){:root{--color-dark:color(display-p3 0 .346 .47)}}@font-face{font-family:Brockmann;src:url(/fonts/local/brockmann/brockmann-regular-webfont.woff2)format("woff2"),url(/fonts/local/brockmann/brockmann-regular-webfont.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Brockmann;src:url(/fonts/local/brockmann/brockmann-medium-webfont.woff2)format("woff2"),url(/fonts/local/brockmann/brockmann-medium-webfont.woff)format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Brockmann;src:url(/fonts/local/brockmann/brockmann-semibold-webfont.woff2)format("woff2"),url(/fonts/local/brockmann/brockmann-semibold-webfont.woff)format("woff");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Brockmann;src:url(/fonts/local/brockmann/brockmann-bold-webfont.woff2)format("woff2"),url(/fonts/local/brockmann/brockmann-bold-webfont.woff)format("woff");font-weight:700;font-style:normal;font-display:swap}*,:before,:after{box-sizing:border-box}html{font-size:var(--font-size-base);line-height:var(--line-height-base);font-family:var(--font-sans);color:var(--text-color)}body{background-color:var(--bg-color);color:var(--text-color);padding:var(--spacing-sm);margin:0}@media (min-width:400px){body{padding:var(--spacing-md)}}@media (min-width:600px){body{padding:var(--spacing-xl)}}::selection{color:var(--bg-color);background-color:var(--text-color)}main{max-width:var(--max-width-content);padding:var(--spacing-md);margin-inline:auto}@media (min-width:768px){main{padding:var(--spacing-xl)}}main a{color:inherit;transition:all var(--transition-fast);text-decoration:underline}main a:hover{color:#fff;background-color:#000;text-decoration:none}@media (min-width:768px){.content-grid{gap:var(--spacing-xl);grid-template-columns:1fr auto;align-items:start;display:grid}}@media (min-width:768px){.content-primary{grid-area:1/1}}@media (min-width:768px){.content-secondary{grid-area:1/2}}h1{font-size:clamp(2rem,1.25rem + 3.3vw,3.75rem);font-weight:var(--font-weight-light);line-height:var(--line-height-tight);margin-block:var(--spacing-2xl)}h1 span{color:#fff}h2,h3,h4{margin-block:0}h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-light);line-height:var(--line-height-relaxed);color:#fff;margin-block-end:var(--spacing-md)}h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-light)}h4{font-size:1rem;font-weight:var(--font-weight-medium)}.bio-section p{max-width:var(--max-width-narrow);font-weight:var(--font-weight-light);font-size:clamp(1.25rem,.9rem + 1.5vw,1.875rem);line-height:var(--line-height-relaxed);margin-block-end:var(--spacing-md)}.profile-photo{width:var(--photo-size);height:var(--photo-size);margin:0;margin-block:1.25rem var(--spacing-xl)}@media (min-width:768px){.profile-photo{flex-shrink:0;margin-block-end:0}}.profile-photo img{object-fit:cover;border-radius:.5rem;width:100%;height:100%}.links-section{margin-block-start:var(--spacing-section)}.links-section ul{gap:var(--spacing-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.links-section li{font-size:var(--font-size-lg);font-weight:var(--font-weight-light)}.cv-section{margin-block-start:var(--spacing-section)}.cv-section>ul{gap:var(--spacing-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.cv-header,.cv-entry-header{gap:var(--spacing-xs);flex-direction:column;display:flex}@media (min-width:400px){.cv-header,.cv-entry-header{flex-direction:row;justify-content:space-between;align-items:baseline}}.cv-header{margin-block-end:var(--spacing-md)}.cv-entry{margin-block-end:var(--spacing-lg)}.cv-entry-header span{font-size:var(--font-size-sm);opacity:var(--opacity-subtle)}.cv-entry-meta{font-size:var(--font-size-sm);opacity:var(--opacity-muted);margin-block-start:var(--spacing-xs)}.cv-entry-description{max-width:var(--max-width-cv-text);margin-block-start:var(--spacing-sm)}.cv-entry-description p{font-size:var(--font-size-md);line-height:var(--line-height-relaxed)}.cv-projects{gap:var(--spacing-sm);flex-direction:column;margin-block-start:var(--spacing-md);margin-inline-start:var(--spacing-md);padding-inline-start:var(--spacing-md);list-style:outside;display:flex}.cv-projects p{font-size:var(--font-size-sm);margin:0}.cv-projects .project-learned{opacity:var(--opacity-muted);font-style:italic}.toggle-button{appearance:none;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-light);color:#fff;padding:var(--spacing-sm)var(--spacing-md);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);background:0 0;border:1px solid #fff;border-radius:9999px}@media (min-width:600px){.toggle-button{padding:var(--spacing-sm)var(--spacing-xl)}}.toggle-button:hover{color:#000;background-color:#fff}.toggle-button:focus-visible{outline-offset:2px;outline:2px solid #fff}.toggle-button .toggle-text-short{display:inline}@media (min-width:600px){.toggle-button .toggle-text-short{display:none}}.toggle-button .toggle-text-full{display:none}@media (min-width:600px){.toggle-button .toggle-text-full{display:inline}}@media print{:root{--bg-color:white;--text-color:black;--color-light:black}body{background-color:#fff;padding:0}h1,h2,h3,h4,h1 span{color:#000}main{max-width:none;padding:0}main a{color:#000;text-decoration:underline}main a:hover{color:#000;background-color:#0000}main a:after{content:" (" attr(href)")";opacity:var(--opacity-muted);font-size:.8em}.toggle-button{display:none}.profile-photo{width:8rem;height:8rem}.cv-section,.cv-entry{break-inside:avoid}}
