@font-face{font-family:Portfolio Inter;src:url(/fonts/Inter-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Portfolio Inter;src:url(/fonts/Inter-Medium.woff2)format("woff2");font-weight:400 600;font-style:normal;font-display:swap}:root{--color-bg:#fff;--color-surface:#fff;--color-surface-raised:#fff;--color-ink:#000;--color-ink-muted:#575757;--color-accent:#000;--color-accent-hover:#575757;--color-accent-ink:#fff;--color-line:#d9d9d9;--color-browser-bar:#e8e8ed;--font-sans:"Portfolio Inter", "Helvetica Neue", arial, sans-serif;--font-mono:var(--font-sans);--text-xs:.75rem;--text-s:.875rem;--text-base:1rem;--text-l:1.25rem;--text-xl:1.75rem;--text-2xl:clamp(2.5rem, 2rem + 2vw, 3rem);--text-hero:clamp(3rem, 2rem + 4vw, 5rem);--hero-measure:12ch;--leading-display:1.05;--tracking-display:-.03em;--target-min:2.75rem;--viewport-height:100dvh;--section-space:clamp(5rem, 10vw, 8rem);--weight-medium:500;--weight-semibold:500;--leading-tight:1.14;--leading-body:1.4;--tracking-tight:-.01em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2.5rem;--space-7:4rem;--space-8:7rem;--measure:42rem;--page-max:160rem;--header-max:160rem;--card-min:18rem;--timeline-col:8rem;--portrait-width:16rem;--portrait-float:8rem;--list-indent:1.1em;--radius-s:0;--radius-m:0;--radius-frame:0;--radius-dot:50%;--border-hairline:1px;--shadow-1:0 .5rem 2rem #00000014;--focus-ring-width:2px;--focus-ring-offset:3px;--underline-thickness:1px;--underline-offset:3px;--preview-ratio:16 / 10;--preview-dot:.5rem;--full:100%;--reveal-transform-start:translateY(3rem) scale(.9);--reveal-transform-end:translateY(0) scale(1);--reveal-range-start:entry 0%;--reveal-range-end:cover 40%;--reveal-easing:linear;--motion-fast:.18s;--motion-instant:0s;--locale-delay:.45s;--motion-ease:cubic-bezier(.2, 0, 0, 1);--press-transform:scale(.97);--offscreen-block-start:-100rem;--print-paper:#fff;--print-ink:#000;--print-text-body:10pt;--print-text-h1:16pt;--print-text-h2:12pt;--print-text-h3:10pt;--print-leading:1.3;--print-space-1:4pt;--print-space-2:6pt;--gutter:clamp(1rem, 1.2vw, 2rem);--gallery-gap:1rem;--gallery-height:clamp(19rem, 32vw, 44rem);--hero-height:clamp(24rem, 28vw, 38rem);--intro-width:48%;--monogram-width:49%;--text-caption:clamp(.875rem, 1.05vw, 1.125rem);--text-intro-lead:clamp(1.25rem, 1.5vw, 1.5rem);--text-editorial:clamp(1rem, 1.25vw, 1.5rem);--text-statement:clamp(2rem, 4vw, 5rem);--art-type:clamp(2rem, 4vw, 5rem);--ink-on-dark:#fff;--art-ground:#f8f8f8;--motion-gallery:.6s;--gallery-ease:cubic-bezier(.16, 1, .3, 1);--footer-gap:clamp(5rem, 12vw, 16rem);--portrait-editorial:24rem;--layer-header:2;--layer-skip:3;--gallery-scale:scale(1.025);--visible:1;--grid-count-full:4;--grid-count-half:2;--span-two:span 2;--span-three:span 3;--column-copy:2;--footer-columns:1fr 1fr 1fr;--header-columns:1fr 1fr 2fr;--icon-stroke:1.5;--logo-ink:currentcolor;--header-clearance:4rem;--hero-flow-height:calc(var(--hero-height) - var(--header-clearance));--header-mobile-columns:repeat(3, minmax(0, 1fr));--logo-small-width:4.5rem;--logo-start-width:calc((100vw - 2 * var(--gutter) - var(--gallery-gap)) / 2);--logo-start-top:var(--gutter);--logo-ratio:1;--logo-aspect:1;--brand-mark:none;--logo-compact-scale:1;--logo-compact-y:calc((var(--target-min) - var(--logo-small-width) * var(--logo-aspect)) / 2);--logo-ease:cubic-bezier(.25, .1, .25, 1);--weight-bold:700;--intro-settle:-2rem;--layer-title:1;--compact-nav-clearance:10rem;--nav-column:2 / -1;--legal-anchor-clearance:var(--space-2);--focus-scroll-clearance:calc(var(--header-clearance) + var(--text-statement) * var(--leading-tight) + 3 * var(--space-4) + var(--space-2));--service-heading-top:calc(var(--header-clearance) + var(--text-statement) * var(--leading-tight) + 3 * var(--space-4));--column-intro-width:calc((var(--full) - var(--space-7)) / 2);--gallery-intro-width:calc((var(--full) - var(--gallery-gap)) / 2);--nav-current-opacity:.7;--intro-settle-transform:translateY(var(--intro-settle));--logo-compact-transform:translateY(var(--logo-compact-y)) scale(var(--logo-compact-scale));--logo-expanded-transform:translateY(calc(var(--logo-start-top) - var(--space-2))) scale(1);--mobile-logo-clearance:max(0px, calc((100vw - 2 * var(--gutter) - var(--gallery-gap)) * var(--logo-aspect) / 2 - var(--header-clearance)))}@media (width<60rem){:root{--logo-small-width:2.8125rem}}@media (width<48rem){:root{--mobile-logo-clearance:calc((100vw - 2 * var(--gutter)) * var(--logo-aspect));--logo-start-width:calc(100vw - 2 * var(--gutter));--logo-start-top:var(--header-clearance);--logo-small-width:3.5625rem}}*,:before,:after{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin-block:0 var(--space-4);text-wrap:balance;font-weight:var(--weight-semibold)}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-l)}p{margin-block:0 var(--space-4);max-width:var(--measure)}a{text-decoration-thickness:var(--underline-thickness);text-underline-offset:var(--underline-offset);color:inherit}::selection{background:var(--color-accent);color:var(--color-accent-ink)}.link-arrow:before{content:"→"}.button-link{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--target-min);padding:var(--space-3) var(--space-5);border-radius:var(--radius-s);font-size:var(--text-s);color:var(--color-ink);border:0;border-bottom:var(--border-hairline) solid var(--color-ink);font-weight:var(--weight-medium);background:0 0;padding-inline:0;text-decoration:none;display:inline-flex}.button-link:hover{color:var(--color-ink-muted);background:0 0}:focus-visible{outline:var(--focus-ring-width) solid var(--color-accent);outline-offset:var(--focus-ring-offset)}@media (prefers-reduced-motion:no-preference){a{transition:color var(--motion-fast) var(--motion-ease), background-color var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease)}.button-link{transition:background-color var(--motion-fast) var(--motion-ease), transform var(--motion-fast) var(--motion-ease)}.button-link:active{transform:var(--press-transform)}}html{overscroll-behavior-x:none;scrollbar-color:var(--color-ink) var(--color-bg);scroll-padding-block-start:var(--focus-scroll-clearance);overflow-x:clip}img{max-width:var(--full);height:auto}button,summary{font:inherit;color:inherit}a:hover{text-decoration:underline}@media screen{.page-intro{max-width:none;padding-block:var(--space-4)}.about h1{font-size:var(--text-statement)}.page-intro h1,.project>header h1{font-size:var(--text-statement);font-weight:var(--weight-medium)}.service{max-width:none}.service-body{max-width:var(--measure);margin-inline-start:auto}.services{gap:var(--space-7);display:grid}.project>header{max-width:var(--measure);padding-block:var(--space-8) var(--space-6)}.project>.prose{margin-inline-start:auto}.about .intro{padding-block:var(--space-7)}.about .portrait{width:var(--full);max-width:var(--portrait-editorial)}.about .timeline{max-width:var(--measure);margin-inline-start:auto}}@media (width<40rem){.service-body,.project>.prose{margin-inline-start:0}}@media screen and (width>=60rem){.about .intro{column-gap:var(--space-7);grid-template-columns:1fr 1fr}.about .portrait{justify-self:end}}.card-grid>article:first-child,.card-grid>article:nth-child(4),.card-grid>article:nth-child(5),.card-grid>article:nth-child(6n){grid-column:var(--span-two)}@media (width<40rem){.card-grid>article:nth-child(n){grid-column:auto}}@media screen{body{padding-block-start:var(--header-clearance)}:target{scroll-margin-block-start:var(--header-clearance)}}@media screen and (prefers-reduced-motion:no-preference){html[data-motion-animated] .home-work{transition:transform var(--motion-gallery) var(--logo-ease)}html[data-logo-state=compact][data-motion-ready] .home-work{transform:var(--intro-settle-transform)}html[data-motion-ready] .monogram[data-expanded]{width:var(--logo-start-width);transform:var(--logo-compact-transform);position:absolute;top:0;right:0}html[data-motion-animated] .monogram[data-expanded]{transition:transform var(--motion-gallery) var(--logo-ease)}html[data-logo-state=expanded][data-motion-ready] .monogram[data-expanded]{transform:var(--logo-expanded-transform)}}html[data-logo-state=expanded][data-motion-ready] .site-header[data-home] .compact-language{visibility:hidden;opacity:0;transition:none}html[data-logo-state=expanded][data-motion-ready] .site-header[data-home] .nav-language{display:inline-flex}@media screen and (width<60rem) and (prefers-reduced-motion:no-preference){html[data-motion-ready] .hero:before{content:"";width:var(--full);height:var(--mobile-logo-clearance);flex-shrink:0;display:block}}@media screen and (48rem<=width<60rem){html[data-logo-state=expanded][data-motion-ready] .site-header[data-home] .desktop-nav{grid-column:var(--column-copy);padding-inline-end:0}}@media screen and (prefers-reduced-motion:no-preference){html[data-motion-animated] .site-header[data-home] .compact-language{transition:opacity var(--motion-fast) var(--logo-ease) var(--locale-delay), visibility var(--motion-instant) linear var(--locale-delay)}html[data-logo-state=expanded][data-motion-ready][data-motion-animated] .site-header[data-home] .compact-language{transition:none}}.card-grid:has(>.card){row-gap:var(--gallery-gap)}@media screen and (width<48rem) and (prefers-reduced-motion:no-preference){html:has(.mobile-menu[open]) .monogram[data-expanded]{transform:var(--logo-compact-transform);transition:none}}@media print{html:not(#print-css-specificity-guard) .site-header,html:not(#print-css-specificity-guard) .site-footer,html:not(#print-css-specificity-guard) .no-print{display:none}html:not(#print-css-specificity-guard) body{background:var(--print-paper);color:var(--print-ink);font-size:var(--print-text-body);line-height:var(--print-leading)}html:not(#print-css-specificity-guard) body main{max-width:none;padding-inline:0}html:not(#print-css-specificity-guard) a{color:var(--print-ink)}html:not(#print-css-specificity-guard) h1{font-size:var(--print-text-h1);margin-block-end:var(--print-space-1)}html:not(#print-css-specificity-guard) h2{font-size:var(--print-text-h2);margin-block:var(--print-space-2) var(--print-space-1)}html:not(#print-css-specificity-guard) h3{font-size:var(--print-text-h3)}html:not(#print-css-specificity-guard) .timeline-item{break-inside:avoid;padding-block:var(--print-space-1)}}.logo-anchor[data-astro-cid-n22k7olv]{right:var(--gutter);top:var(--space-2);width:var(--logo-small-width);height:var(--target-min);pointer-events:none;align-items:center;display:flex;position:absolute}.monogram[data-astro-cid-n22k7olv]{width:var(--full);aspect-ratio:var(--logo-ratio);background:var(--logo-ink);mask:var(--brand-mark) center / contain no-repeat;transform-origin:100% 0;flex-shrink:0;display:block}.site-header[data-astro-cid-nen7h5rs]{grid-template-columns:var(--header-columns);padding:var(--space-2) var(--gutter);max-width:var(--header-max);font-size:var(--text-caption);width:var(--full);color:var(--ink-on-dark);mix-blend-mode:difference;pointer-events:none;z-index:var(--layer-header);align-items:start;margin-inline:auto;display:grid;position:fixed;inset-block-start:0;inset-inline:0}a[data-astro-cid-nen7h5rs]{min-height:var(--target-min);color:inherit;pointer-events:auto;align-items:center;text-decoration:none;display:inline-flex}a[data-astro-cid-nen7h5rs]:hover{text-decoration:underline}.desktop-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current]{opacity:var(--nav-current-opacity)}.wordmark[data-astro-cid-nen7h5rs]{font-weight:var(--weight-medium)}.compact-language[data-astro-cid-nen7h5rs]{right:calc(var(--gutter) + var(--logo-small-width) + var(--space-4));top:var(--space-2);position:absolute}.nav-language[data-astro-cid-nen7h5rs],.mobile-menu[data-astro-cid-nen7h5rs],summary[data-astro-cid-nen7h5rs]{display:none}a[data-astro-cid-nen7h5rs]:focus-visible,summary[data-astro-cid-nen7h5rs]:focus-visible{outline-color:var(--logo-ink)}.desktop-nav[data-astro-cid-nen7h5rs]{grid-column:var(--nav-column);padding-inline-end:var(--compact-nav-clearance)}nav[data-astro-cid-nen7h5rs]{gap:0 var(--space-4);flex-wrap:wrap;display:flex}.contact[data-astro-cid-nen7h5rs]{margin-inline-start:0}@media screen and (width<48rem){html:has(.mobile-menu[open]){overflow:hidden}html:has(.mobile-menu[open]) body>:not(.site-header){visibility:hidden}.site-header[data-astro-cid-nen7h5rs]{grid-template-columns:var(--header-mobile-columns)}.desktop-nav[data-astro-cid-nen7h5rs]{display:none}.mobile-menu[data-astro-cid-nen7h5rs]{grid-column:var(--column-copy);pointer-events:auto;justify-self:center;display:block}summary[data-astro-cid-nen7h5rs]{min-height:var(--target-min);cursor:pointer;align-items:center;list-style:none;display:flex}summary[data-astro-cid-nen7h5rs]::-webkit-details-marker{display:none}summary[data-astro-cid-nen7h5rs]:after{content:"+";margin-inline-start:var(--space-2)}details[data-astro-cid-nen7h5rs][open] summary[data-astro-cid-nen7h5rs]:after{content:"−"}nav[data-astro-cid-nen7h5rs]{inset:var(--header-clearance) 0 0;background:var(--color-bg);padding:var(--space-7) var(--gutter) var(--space-5);font-size:var(--text-2xl);flex-direction:column;align-items:flex-start;gap:0;display:flex;position:absolute;overflow-y:auto}.mobile-menu[data-astro-cid-nen7h5rs]:not([open]) nav[data-astro-cid-nen7h5rs]{display:none}.site-header[data-astro-cid-nen7h5rs]:has(details[open]) .compact-language[data-astro-cid-nen7h5rs]{visibility:hidden}.site-header[data-astro-cid-nen7h5rs]:has(details[open]){mix-blend-mode:normal;height:var(--viewport-height);color:var(--color-ink);background:var(--color-bg);pointer-events:auto;align-content:start}}.site-footer[data-astro-cid-jo6i4kqk]{grid-template-columns:var(--footer-columns);gap:var(--space-5);padding:var(--space-6) var(--gutter);font-size:var(--text-caption);font-weight:var(--weight-bold);margin-block-start:var(--footer-gap);display:grid}p[data-astro-cid-jo6i4kqk]{min-height:var(--target-min);align-items:center;margin:0;display:flex}a[data-astro-cid-jo6i4kqk]{color:inherit;min-height:var(--target-min);overflow-wrap:anywhere;align-items:center;text-decoration:none;display:inline-flex}a[data-astro-cid-jo6i4kqk]:hover{text-decoration:underline}nav[data-astro-cid-jo6i4kqk]{gap:var(--space-4);flex-wrap:wrap;display:flex}.legal[data-astro-cid-jo6i4kqk]{flex-direction:column;align-items:flex-start;gap:0}@media (width<40rem){.site-footer[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr}}main[data-astro-cid-hkbrpulz]{max-width:var(--page-max);padding-inline:var(--gutter);margin-inline:auto}.skip-link[data-astro-cid-hkbrpulz]{z-index:var(--layer-skip);padding-block:var(--space-2);padding-inline:var(--space-3);background:var(--color-surface);color:var(--color-ink);border-radius:var(--radius-s);box-shadow:var(--shadow-1);position:absolute;inset-block-start:var(--offscreen-block-start);inset-inline-start:var(--space-4)}.skip-link[data-astro-cid-hkbrpulz]:focus{inset-block-start:var(--space-4)}
