:root{--vw-capped: min(100vw, 1920px);--fluid-t: max(0px, calc((var(--vw-capped) - 390px) / 1050));--color-neutral-0: #ffffff;--color-neutral-50: #f5f5f5;--color-neutral-100: #ebebeb;--color-neutral-200: #d4d4d4;--color-neutral-300: #bebebe;--color-neutral-400: #8a8a8a;--color-neutral-500: #6b6b6b;--color-neutral-600: #464646;--color-neutral-700: #393939;--color-neutral-800: #2e2e2e;--color-neutral-900: #1a1a1a;--color-neutral-1000: #000000;--color-black-a5: rgb(0 0 0 / .05);--color-black-a10: rgb(0 0 0 / .1);--color-black-a15: rgb(0 0 0 / .15);--color-black-a20: rgb(0 0 0 / .2);--color-black-a30: rgb(0 0 0 / .3);--color-black-a40: rgb(0 0 0 / .4);--color-black-a50: rgb(0 0 0 / .5);--color-black-a60: rgb(0 0 0 / .6);--color-black-a70: rgb(0 0 0 / .7);--color-black-a80: rgb(0 0 0 / .8);--color-black-a90: rgb(0 0 0 / .9);--color-black-a95: rgb(0 0 0 / .95);--color-white-a5: rgb(255 255 255 / .05);--color-white-a10: rgb(255 255 255 / .1);--color-white-a15: rgb(255 255 255 / .15);--color-white-a20: rgb(255 255 255 / .2);--color-white-a30: rgb(255 255 255 / .3);--color-white-a40: rgb(255 255 255 / .4);--color-white-a50: rgb(255 255 255 / .5);--color-white-a60: rgb(255 255 255 / .6);--color-white-a70: rgb(255 255 255 / .7);--color-white-a80: rgb(255 255 255 / .8);--color-white-a90: rgb(255 255 255 / .9);--color-white-a95: rgb(255 255 255 / .95);--color-green: #70ff98;--color-green-muted: #429659;--color-yellow: #fffa78;--color-yellow-muted: #949146;--color-blue: #78efff;--color-blue-muted: #487d85;--color-coral: #ffac9a;--color-coral-muted: #6b4a40;--space-0: 0px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--space-32: 128px;--space-35: 140px;--size-0: 0px;--size-1: 4px;--size-2: 8px;--size-4: 16px;--size-6: 24px;--size-8: 32px;--size-10: 40px;--size-12: 48px;--size-16: 64px;--size-20: 80px;--size-24: 96px;--size-32: 128px;--size-40: 160px;--size-48: 192px;--size-64: 256px;--radius-none: 0px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--opacity-0: 0;--opacity-5: .05;--opacity-10: .1;--opacity-20: .2;--opacity-25: .25;--opacity-30: .3;--opacity-40: .4;--opacity-50: .5;--opacity-60: .6;--opacity-70: .7;--opacity-75: .75;--opacity-80: .8;--opacity-90: .9;--opacity-95: .95;--opacity-100: 1;--text-primary: var(--color-black-a80);--text-secondary: var(--color-black-a70);--text-muted: var(--color-black-a40);--text-hint: var(--color-black-a20);--text-inverse: var(--color-white-a95);--surface-page: var(--color-neutral-50);--surface-card: var(--color-neutral-0);--surface-inverse: var(--color-neutral-800);--border-default: var(--color-neutral-200);--border-muted: var(--color-neutral-100);--border-divider: var(--color-black-a30);--project-green: var(--color-green);--project-green-muted: var(--color-green-muted);--project-yellow: var(--color-yellow);--project-yellow-muted: var(--color-yellow-muted);--project-blue: var(--color-blue);--project-blue-muted: var(--color-blue-muted);--project-coral: var(--color-coral);--project-coral-muted: var(--color-coral-muted);--section-bg-header: var(--color-neutral-50);--section-bg-projects: var(--color-green);--section-bg-tangents: var(--color-yellow);--section-bg-about: var(--color-blue);--section-bg-contact: var(--color-neutral-50);--grid-columns: 4;--grid-gutter: 16px;--grid-margin: 16px;--spacing-page-x: calc(16px + 32 * var(--fluid-t));--spacing-main-section-top: calc(80px + 60 * var(--fluid-t));--spacing-main-section-bottom: calc(24px + 24 * var(--fluid-t));--spacing-main-section-gap: calc(8px + 2 * var(--fluid-t));--spacing-grid-gutter: calc(16px + 4 * var(--fluid-t));--spacing-paragraph: 40px;--spacing-detail-page-y: calc(40px + 40 * var(--fluid-t));--spacing-detail-section-gap: calc(40px + 24 * var(--fluid-t));--spacing-detail-content-gap: calc(32px + 16 * var(--fluid-t));--spacing-detail-header-gap: calc(20px + 8 * var(--fluid-t))}@media(min-width:768px){:root{--grid-columns: 12;--grid-margin: 48px}}:root{--font-display: "acumin-pro-condensed", "Arial Narrow", sans-serif;--font-heading: "acumin-pro-condensed", "Arial Narrow", sans-serif;--font-nav: "acumin-pro-wide", "Arial", sans-serif;--font-semicondensed: "acumin-pro-semi-condensed", "Arial", sans-serif;--font-body: "IBM Plex Mono", "SF Mono", "Consolas", monospace;--font-mono: var(--font-body);--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-ultra-black: 900;--font-size-caption: calc(12px + 2 * var(--fluid-t));--font-size-body: calc(14px + 2 * var(--fluid-t));--font-size-body-large: calc(16px + 2 * var(--fluid-t));--font-size-nav-button: 16px;--font-size-section-label: calc(24px + 12 * var(--fluid-t));--font-size-headline: calc(40px + 32 * var(--fluid-t));--font-size-display-project: calc(48px + 96 * var(--fluid-t));--line-height-none: 1;--line-height-caption: calc(18px + 2 * var(--fluid-t));--line-height-body: calc(18px + 8 * var(--fluid-t));--line-height-body-large: calc(20px + 8 * var(--fluid-t));--line-height-section-label: calc(32px + 16 * var(--fluid-t));--line-height-headline: calc(44px + 21 * var(--fluid-t));--line-height-display-project: calc(56px + 92 * var(--fluid-t));--letter-spacing-tighter: -.05em;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em}.text-display{font-family:var(--font-display);font-weight:var(--font-weight-ultra-black);font-style:italic;line-height:var(--line-height-none);letter-spacing:var(--letter-spacing-tight)}.text-heading{font-family:var(--font-heading);font-weight:var(--font-weight-ultra-black);letter-spacing:var(--letter-spacing-tight)}.text-nav{font-family:var(--font-nav);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide)}.text-body{font-family:var(--font-body);font-weight:var(--font-weight-regular);font-size:var(--font-size-body-large);line-height:var(--line-height-body-large)}.text-caption{font-family:var(--font-body);font-weight:var(--font-weight-regular);font-size:var(--font-size-caption);line-height:var(--line-height-caption)}.text-mono{font-family:var(--font-mono);font-weight:var(--font-weight-regular)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{font-size:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--font-size-body-large);line-height:var(--line-height-body-large);color:var(--text-primary);background-color:var(--surface-page);min-height:100vh;min-height:100dvh}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}*{text-box-trim:trim-both;text-box-edge:cap alphabetic}.skip-nav{position:absolute;top:-100%;left:var(--space-4);z-index:200;padding:var(--space-2) var(--space-4);background:var(--text-primary);color:var(--surface-page);font-family:var(--font-mono);font-size:var(--font-size-caption);text-decoration:none;border-radius:var(--radius-sm)}.skip-nav:focus{top:var(--space-4)}.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}h1,h2,h3{font-family:var(--font-heading);font-weight:var(--font-weight-ultra-black);color:var(--text-primary)}p{font-family:var(--font-body)}a{color:var(--text-secondary);text-decoration:none}a:hover{color:var(--text-primary)}.container{width:100%;max-width:1440px;margin-inline:auto;padding-inline:var(--spacing-page-x)}.section{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding:var(--spacing-main-section-top) var(--spacing-page-x) var(--spacing-main-section-bottom);margin-bottom:var(--spacing-main-section-gap)}@media(min-width:768px){.section{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--spacing-grid-gutter);align-items:start}}.link-list{display:flex;flex-direction:column;gap:32px;list-style:none;padding:0}@media(min-width:768px){.link-list{grid-column:4 / 11;gap:56px}}
