:root{color-scheme:light;--color-paper: #fff;--color-paper-raised: #fff;--color-ink: #1c1d20;--color-ink-strong: #141517;--color-accent: #455ce9;--color-accent-hover: #334bd3;--color-accent-light: #aab4ff;--color-home-hero: #999d9e;--color-surface-muted: #e9eaeb;--color-surface-moss: #77797a;--color-line: rgb(28 29 32 / 17.5%);--color-line-light: rgb(255 255 255 / 20%);--color-muted: #686a70;--font-body: Inter, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--font-display: Inter, Arial, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--gutter-wide: clamp(1.25rem, 8vw, 7.2rem);--gutter-medium: clamp(1.25rem, 16vw, 14.4rem);--container-wide: 75.6rem;--container-medium: 61.2rem;--section-space: clamp(5rem, 21vh, 12rem);--text-body: clamp(1rem, 1.15vw, 1.125rem);--text-caption: .8125rem;--text-heading: clamp(2.85rem, 6.125vw, 5.5125rem);--text-project: clamp(1.96875rem, 2.3vw, 2.07rem);--text-home-project: clamp(1.96875rem, 5.25vw, 4.725rem);--text-marquee: clamp(9rem, 15vw, 13.5rem);--measure-copy: 42rem;--motion-duration-short: .18s;--motion-duration-base: .55s;--motion-ease-standard: cubic-bezier(.22, 1, .36, 1)}@media(max-width:540px){:root{--gutter-wide: clamp(1.25rem, 4vw, 2.5rem);--gutter-medium: clamp(1.25rem, 4vw, 2.5rem);--section-space: clamp(2.5rem, 12vh, 6rem)}}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);scroll-behavior:auto;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-width:320px;min-height:100vh;margin:0;background:var(--color-paper);color:var(--color-ink);font-size:var(--text-body);line-height:1.6;text-rendering:optimizeLegibility}img,svg,video,canvas{display:block;max-width:100%}button,input,select,textarea{color:inherit;font:inherit}button,[role=button]{touch-action:manipulation}a{color:inherit;text-decoration-thickness:from-font;text-underline-offset:.18em}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-accent, #455ce9);outline-offset:4px}::selection{background:color-mix(in srgb,var(--color-accent, #455ce9) 24%,transparent)}::view-transition-old(root),::view-transition-new(root){animation:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important}}.site-shell--foundation{display:flex;min-height:100vh;flex-direction:column}.site-shell--foundation [data-site-header],.site-shell--foundation [data-site-footer]{flex:0 0 auto}.site-shell--foundation [data-motion-root]{flex:1 0 auto}.container-wide{width:min(calc(100% - 2 * var(--gutter-wide)),var(--container-wide));margin-inline:auto}.container-medium{width:min(calc(100% - 2 * var(--gutter-medium)),var(--container-medium));margin-inline:auto}.container-full{width:100%;margin-inline:auto}.section-space{padding-block:var(--section-space)}.grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2.2vw,2rem)}.grid-12>*{min-width:0}@media(max-width:720px){.grid-12{grid-template-columns:repeat(4,minmax(0,1fr))}}.type-display{margin:0;font-family:var(--font-display);font-size:var(--text-heading);font-weight:500;letter-spacing:-.025em;line-height:1.14;text-wrap:balance}.type-project{margin:0;font-family:var(--font-display);font-size:var(--text-project);font-weight:500;letter-spacing:-.015em;line-height:1.12;text-wrap:balance}.type-home-project{font-size:var(--text-home-project)}.type-marquee{margin:0;font-family:var(--font-display);font-size:var(--text-marquee);font-weight:500;letter-spacing:-.06em;line-height:1;white-space:nowrap}.type-caption,.type-meta{font-size:var(--text-caption);font-weight:400;line-height:1.4}.type-caption{letter-spacing:.01em}.type-meta{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.035em;font-variant-numeric:tabular-nums}.measure-copy{max-width:var(--measure-copy, 42rem)}
