:root{--color-paper: oklch(98.5% .003 235);--color-surface: #ffffff;--color-surface-2: oklch(97.3% .003 233);--color-paper-2: oklch(94% .007 233.6);--color-paper-3: oklch(89% .012 235);--color-rule: oklch(85% .012 235);--color-rule-2: oklch(90% .008 234);--color-muted: oklch(46% .008 122);--color-neutral: oklch(56% .006 122);--color-ink: oklch(31.9% .063 267);--color-ink-2: oklch(38% .06 265);--color-accent: oklch(37.3% .081 259);--color-accent-bright: oklch(65% .079 238.8);--color-accent-soft: oklch(83.3% .067 243.2);--color-accent-deep: oklch(31.9% .063 267);--color-accent-2: oklch(38.9% .134 308);--color-accent-2-deep: oklch(32% .15 298);--color-focus: oklch(38.9% .134 308);--color-deep: oklch(25.6% .067 270);--color-deep-2: oklch(31.9% .063 267);--color-on-deep: oklch(94% .007 233.6);--color-on-deep-muted: oklch(82% .03 240);--font-display: "Open Sans", ui-sans-serif, system-ui, sans-serif;--font-body: "Open Sans", ui-sans-serif, system-ui, sans-serif;--font-outlier: "JetBrains Mono", ui-monospace, monospace;--text-sm: .8rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.375rem;--text-xl: 1.75rem;--text-2xl: 2.1rem;--text-3xl: 2.6rem;--text-display-s: clamp(1.9rem, 2.8vw + .7rem, 2.9rem);--text-display: clamp(2.4rem, 4vw + .9rem, 4.2rem);--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem;--space-4xl: 9rem;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .12s;--dur-short: .22s;--dur-long: .42s;--page-max: 100rem;--page-gutter: clamp(1.25rem, 4.5vw, 4.5rem);--rule-hairline: 1px solid var(--color-rule);--radius-sm: 4px;--radius-md: 8px;--z-base: 1;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-modal: 400;--z-toast: 500}@font-face{font-family:Open Sans;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/open-sans-var.woff2) format("woff2")}@font-face{font-family:Open Sans;font-style:italic;font-weight:300 800;font-display:swap;src:url(/fonts/open-sans-italic-var.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-var.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box}html{overflow-x:clip;scroll-behavior:smooth}body{overflow-x:clip;margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);font-style:normal;font-weight:600;line-height:1.12;letter-spacing:-.025em;margin:0;overflow-wrap:anywhere;min-width:0}p{margin:0;max-width:65ch}img,svg,canvas{max-width:100%;height:auto;display:block}a{color:var(--color-accent);text-decoration-thickness:1px;text-underline-offset:3px;transition:color var(--dur-micro) var(--ease-out)}a:hover{color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.container{max-width:var(--page-max);margin-inline:auto;padding-inline:var(--page-gutter)}.tnum{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-outlier)}.muted{color:var(--color-muted)}.btn{position:relative;display:inline-flex;align-items:center;gap:var(--space-xs);min-height:44px;padding:.65rem 1.5rem .65rem 1.65rem;border-radius:0;border:1px solid transparent;font-family:var(--font-display);font-weight:600;font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform .1s var(--ease-out)}.btn--fill{background-color:var(--color-accent);color:#fff;background-image:linear-gradient(#fff,#fff);background-repeat:no-repeat;background-position:left center;background-size:0% 100%;transition:background-size .32s var(--ease-out),color .24s var(--ease-out),transform .1s var(--ease-out)}.btn--fill:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--color-accent-2)}.btn--fill:hover{background-size:100% 100%;color:var(--color-accent);transform:translateY(-1.5px)}.btn--fill:active{transform:translateY(0)}.btn--outline{background-color:transparent;color:var(--color-ink);border-color:var(--color-rule);background-image:linear-gradient(var(--color-ink),var(--color-ink));background-repeat:no-repeat;background-position:left center;background-size:0% 100%;transition:background-size .32s var(--ease-out),color .2s var(--ease-out),border-color .2s var(--ease-out),transform .1s var(--ease-out)}.btn--outline:hover{background-size:100% 100%;color:#fff;border-color:var(--color-ink);transform:translateY(-1.5px)}.btn--outline:active{transform:translateY(0)}.btn[disabled],.btn[aria-disabled=true]{opacity:.45;pointer-events:none}.reveal{opacity:0;transform:translateY(8px);animation:reveal var(--dur-long) var(--ease-out) forwards;animation-delay:calc(var(--i, 0) * 70ms)}@keyframes reveal{to{opacity:1;transform:none}}.section{padding-block:var(--space-3xl) var(--space-2xl)}.section--tight{padding-block:var(--space-2xl) var(--space-xl)}.section--panel{background:var(--color-paper-2)}.photo{border-radius:var(--radius-md);border:var(--rule-hairline);object-fit:cover;width:100%}.section-head{max-width:56ch;margin-bottom:var(--space-2xl)}.section-head h2{font-size:var(--text-3xl);font-weight:300;text-transform:uppercase;letter-spacing:.02em;line-height:1.08}.section-head .section-head__sub{display:block;margin-top:var(--space-sm);font-family:var(--font-display);font-weight:600;font-size:var(--text-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted)}.section-head p{margin-top:var(--space-md);color:var(--color-muted)}[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out);transition-delay:calc(var(--reveal-i, 0) * 90ms)}[data-reveal].is-revealed{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.15s!important;animation-iteration-count:1!important;transition-duration:.15s!important}html{scroll-behavior:auto}.reveal{animation:reveal-reduced .15s linear forwards}@keyframes reveal-reduced{to{opacity:1;transform:none}}}
