:root{--paper: #F1F1EF;--surface: #FFFFFF;--surface-dim: #E9E9E6;--ink: #131313;--ink-soft: #3E3E3C;--ink-muted: #8C8C89;--line: #DEDEDA;--inverse-surface: #131314;--inverse-ink: #F2F2F0;--inverse-muted: #838386;--inverse-line: #2B2B2E;--bg-default: var(--paper);--bg-soft: var(--surface-dim);--bg-elevated: var(--surface);--bg-inverse: var(--inverse-surface);--text-primary: var(--ink);--text-secondary: var(--ink-soft);--text-muted: var(--ink-muted);--text-on-dark: var(--inverse-ink);--text-on-dark-muted: var(--inverse-muted);--border-hairline: var(--line);--border-hairline-inverse: var(--inverse-line);--glass-chip: rgba(19, 19, 20, .3);--glass-chip-blur: blur(12px);--glass-surface: rgba(241, 241, 239, .55);--glass-blur: blur(14px);--font-display: "Exposure", Georgia, serif;--font-sans: "Instrument Sans", "Helvetica Neue", sans-serif;--font-mono: "Space Mono", monospace;--font-size-display-xl: 72px;--font-size-display-lg: 56px;--font-size-display-md: 40px;--font-size-display-sm: 28px;--font-size-body-lg: 19px;--font-size-body-md: 16px;--font-size-body-sm: 14px;--font-size-micro: 12px;--font-size-mono-sm: var(--font-size-micro);--font-size-h4: 20px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-bold: 700;--line-height-display: 1.06;--line-height-tight: 1.1;--line-height-normal: 1.6;--line-height-loose: 1.7;--tracking-display: -.02em;--tracking-tight: -.02em;--tracking-micro: .12em;--tracking-wide: var(--tracking-micro);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--space-10: 128px;--page-max: 1360px;--page-pad: 32px;--measure: 60ch;--radius-media: 16px;--radius-card: 24px;--radius-pill: 999px;--duration-fast: .15s;--duration-base: .25s;--duration-slow: .5s;--ease: cubic-bezier(.2, .6, .2, 1);--ease-out: var(--ease);--hover-scale: 1.03}@media(max-width:720px){:root{--font-size-display-xl: 46px;--font-size-display-lg: 40px;--font-size-display-md: 32px;--font-size-display-sm: 24px;--page-pad: 20px}}@font-face{font-family:Exposure;src:url(/fonts/Exposure-VariableFont.ttf) format("truetype-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Exposure;src:url(/fonts/Exposure-Italic-VariableFont.ttf) format("truetype-variations");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/InstrumentSans-VariableFont_wdth,wght.ttf) format("truetype-variations");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/InstrumentSans-Italic-VariableFont_wdth,wght.ttf) format("truetype-variations");font-weight:400 700;font-style:italic;font-display:swap}@font-face{font-family:Space Mono;src:url(/fonts/SpaceMono-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Space Mono;src:url(/fonts/SpaceMono-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Space Mono;src:url(/fonts/SpaceMono-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body,h1,h2,h3,h4,h5,h6,p,figure{margin:0}img,svg,video{display:block;max-width:100%}body{background-color:var(--bg-default);color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--font-size-body-md);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-weight-medium);line-height:var(--line-height-display);letter-spacing:var(--tracking-display);color:var(--text-primary)}a{color:inherit}code,pre{font-family:var(--font-mono)}.container{max-width:var(--page-max);margin:0 auto;padding-left:var(--page-pad);padding-right:var(--page-pad)}.section-label{font-family:var(--font-mono);font-size:var(--font-size-micro);letter-spacing:var(--tracking-micro);text-transform:uppercase;color:var(--text-muted)}.section-label--inverse{color:var(--text-on-dark-muted)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:14px;padding:12px 24px;border-radius:var(--radius-pill);border:1px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;transition:opacity var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease)}.btn:active{transform:scale(.98)}.btn--sm{font-size:13px;padding:8px 16px}.btn--solid{background:var(--ink);color:var(--surface)}.btn--solid:hover{background:var(--ink-soft)}.btn--outline{background:transparent;color:var(--ink);border-color:var(--border-hairline)}.btn--outline:hover{background:var(--surface)}.btn--inverse{background:transparent;color:var(--text-on-dark);border-color:var(--border-hairline-inverse)}.btn--inverse:hover{background:var(--text-on-dark);color:var(--bg-inverse)}.chip{font-family:var(--font-mono);font-size:13px;padding:7px 16px;border-radius:var(--radius-pill);border:1px solid var(--border-hairline);background:transparent;color:var(--ink);cursor:pointer;white-space:nowrap;text-decoration:none;transition:background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.chip:hover{background:var(--surface)}.chip[aria-pressed=true]{background:var(--ink);color:var(--surface)}.chip--inverse{border-color:var(--border-hairline-inverse);color:var(--text-on-dark)}.chip--inverse:hover{background:#ffffff14}.media-placeholder{width:100%;min-height:80px;border-radius:var(--radius-media);border:1px solid var(--border-hairline);background:repeating-linear-gradient(-45deg,var(--surface-dim) 0 10px,var(--paper) 10px 20px)}html.js-reveal [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .9s var(--ease) var(--reveal-delay, 0ms),transform .9s var(--ease) var(--reveal-delay, 0ms)}html.js-reveal [data-reveal].in{opacity:1;transform:none}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.js-reveal [data-reveal]{opacity:1;transform:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.section-label[data-astro-cid-j7pv25f6]:not(.section-label--inverse){color:var(--text-secondary)}.pill-list[data-astro-cid-j7pv25f6]{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.intro[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-8);align-items:end;padding:var(--space-9) 0 var(--space-9)}.intro__portrait[data-astro-cid-j7pv25f6]{width:100%;max-width:480px;height:auto;aspect-ratio:4 / 5;object-fit:cover;object-position:50% 30%;border-radius:var(--radius-media);background:var(--surface-dim)}.intro__body[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;gap:var(--space-5)}.intro__name[data-astro-cid-j7pv25f6]{font-size:var(--font-size-display-xl)}.intro__bio[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;gap:var(--space-4);max-width:var(--measure);font-size:var(--font-size-body-lg)}.intro__contact[data-astro-cid-j7pv25f6]{font-style:normal;padding-top:var(--space-2)}.recent__head[data-astro-cid-j7pv25f6]{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:var(--space-4)}.work-list[data-astro-cid-j7pv25f6]{margin:0;padding:0;list-style:none}.work[data-astro-cid-j7pv25f6]{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--space-7);align-items:start;padding:var(--space-6) 0 var(--space-8);border-top:1px solid var(--border-hairline)}.work__frame[data-astro-cid-j7pv25f6]{overflow:hidden;aspect-ratio:16 / 9;border-radius:var(--radius-media);border:1px solid var(--border-hairline);background:var(--surface-dim)}.work__media[data-astro-cid-j7pv25f6]{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slow) var(--ease)}.work__body[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;gap:var(--space-3)}.work__meta[data-astro-cid-j7pv25f6]{order:-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2) var(--space-4);font-family:var(--font-mono);font-size:var(--font-size-micro);letter-spacing:var(--tracking-micro);text-transform:uppercase;color:var(--text-secondary)}.work__title[data-astro-cid-j7pv25f6]{font-size:var(--font-size-display-sm);text-wrap:balance}.work__link[data-astro-cid-j7pv25f6]{text-decoration:none;transition:opacity var(--duration-fast) var(--ease)}.work__link[data-astro-cid-j7pv25f6]:after{content:"";position:absolute;inset:0}.work__link[data-astro-cid-j7pv25f6]:focus-visible{outline:none}.work[data-astro-cid-j7pv25f6]:has(.work__link:focus-visible){outline:2px solid var(--ink);outline-offset:4px;border-radius:var(--radius-media)}.work[data-astro-cid-j7pv25f6]:hover .work__link[data-astro-cid-j7pv25f6]{opacity:.6}.work[data-astro-cid-j7pv25f6]:hover .work__media[data-astro-cid-j7pv25f6]{transform:scale(var(--hover-scale))}.work__role[data-astro-cid-j7pv25f6]{font-family:var(--font-mono);font-size:var(--font-size-body-sm);color:var(--text-primary)}.work__note[data-astro-cid-j7pv25f6]{max-width:var(--measure)}.work__links[data-astro-cid-j7pv25f6]{position:relative;z-index:1;padding-top:var(--space-2)}.footer[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;gap:var(--space-9);margin-top:var(--space-8);padding:40px var(--page-pad) var(--space-6);background:var(--bg-inverse);border-radius:var(--radius-card) var(--radius-card) 0 0}.footer[data-astro-cid-j7pv25f6] [data-astro-cid-j7pv25f6]:focus-visible{outline-color:var(--text-on-dark)}.footer__name[data-astro-cid-j7pv25f6]{font-weight:var(--font-weight-medium);font-size:var(--font-size-body-sm);color:var(--text-on-dark);text-align:center}.footer__cta[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding-bottom:var(--space-7);text-align:center}.footer__cta-link[data-astro-cid-j7pv25f6]{font-family:var(--font-display);font-weight:var(--font-weight-medium);font-size:var(--font-size-display-lg);letter-spacing:var(--tracking-display);line-height:var(--line-height-display);color:var(--text-on-dark);text-decoration:none;transition:opacity var(--duration-fast) var(--ease)}.footer__cta-link[data-astro-cid-j7pv25f6]:hover{opacity:.6}@media(max-width:720px){.intro[data-astro-cid-j7pv25f6]{grid-template-columns:1fr;gap:var(--space-6);padding:var(--space-7) 0 var(--space-8)}.intro__portrait[data-astro-cid-j7pv25f6]{max-width:260px}.intro__bio[data-astro-cid-j7pv25f6]{font-size:var(--font-size-body-md)}.work[data-astro-cid-j7pv25f6]{grid-template-columns:1fr;gap:var(--space-5);padding-bottom:var(--space-7)}.footer[data-astro-cid-j7pv25f6]{gap:var(--space-8)}}@media(prefers-reduced-motion:reduce){.work[data-astro-cid-j7pv25f6]:hover .work__media[data-astro-cid-j7pv25f6]{transform:none}}
