@font-face{font-family:Museo Sans;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/MuseoSans500.woff2)format("woff2")}@font-face{font-family:Museo Sans;font-weight:500;font-style:italic;font-display:swap;src:url(/fonts/MuseoSans500Italic.woff2)format("woff2")}@font-face{font-family:Museo;font-weight:300;font-style:normal;font-display:swap;src:url(/fonts/Museo300.woff2)format("woff2")}@font-face{font-family:Museo;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/Museo500.woff2)format("woff2")}@font-face{font-family:Museo;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/Museo700.woff2)format("woff2")}@font-face{font-family:Museo Slab;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/MuseoSlab500.woff2)format("woff2")}@font-face{font-family:Museo Slab;font-weight:500;font-style:italic;font-display:swap;src:url(/fonts/MuseoSlab500Italic.woff2)format("woff2")}:root{--color-bg:#fff;--color-foreground:#14181f;--color-heading:#14181f;--color-muted:#5b6572;--color-border:#d5d5d5;--font-sans:"Museo Sans", "Museo", ui-sans-serif, system-ui, -apple-system, blinkmacsystemfont, "Segoe UI", sans-serif;--font-serif:"Museo Slab", ui-serif, georgia, "Times New Roman", serif;--font-mono:ui-monospace, sfmono-regular, menlo, monospace;--font-size-small:.875rem;--font-size-base:1rem;--font-size-large:1.125rem;--font-size-h6:1rem;--font-size-h5:1.125rem;--font-size-h4:1.25rem;--font-size-h3:1.5rem;--font-size-h2:1.875rem;--font-size-h1:clamp(2rem, 1.4rem + 2.4vw, 2.75rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-16:4rem;--space-24:6rem;--frame-width:10px;--site-width:64rem;--article-width:42rem}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#14181f;--color-foreground:#e9ecf1;--color-heading:#fff;--color-muted:#9aa3af;--color-border:#2f2f2f;color-scheme:dark}}:root[data-theme=dark]{--color-bg:#14181f;--color-foreground:#e9ecf1;--color-heading:#fff;--color-muted:#9aa3af;--color-border:#2f2f2f;color-scheme:dark}*,:before,:after{box-sizing:border-box;border-color:var(--color-border)}html{scroll-behavior:smooth}body{border:var(--frame-width) solid var(--color-border);background:var(--color-bg);min-height:100vh;color:var(--color-foreground);font-family:var(--font-sans);font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.6}h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-4);color:var(--color-heading);font-family:var(--font-serif);text-wrap:balance;font-weight:500;line-height:1.15}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}h4{font-size:var(--font-size-h4)}h5{font-size:var(--font-size-h5)}h6{font-size:var(--font-size-h6)}p{margin:0 0 var(--space-4);text-wrap:pretty}a{color:inherit;text-decoration:none}a:hover{text-underline-offset:2px;text-decoration:underline}small{font-size:var(--font-size-small)}img{max-width:100%;height:auto;display:block}figure{margin:0}button{color:inherit;font:inherit}:focus-visible{outline:2px solid var(--color-foreground);outline-offset:2px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms;animation-duration:.01ms}}.site{width:100%;max-width:var(--site-width);padding-inline:var(--space-5);margin-inline:auto}.site__main{margin-bottom:var(--space-24)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:10000;background:var(--color-foreground);color:var(--color-bg);border-radius:.5rem;padding:.75rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{outline:3px solid var(--color-bg);outline-offset:2px;transform:translateY(0)}.page__title{margin-bottom:var(--space-10)}.work__title{margin-bottom:var(--space-4)}.work__cover{margin:0 0 var(--space-16)}.work__cover img{width:100%;height:auto}.not-found__title{margin-bottom:var(--space-6)}.prose{max-width:var(--article-width);font-size:var(--font-size-large);line-height:1.75}.prose>*+*{margin-block-start:var(--space-6)}.prose :where(a:not([class])){text-underline-offset:2px;text-decoration:underline}.prose :where(ul,ol){font-size:var(--font-size-base);padding-left:1.4em}.prose :where(li+li){margin-top:var(--space-1)}.prose :where(h2,h3,h4){margin:2em 0 .6em}.prose :where(blockquote){border-left:3px solid var(--color-border);color:var(--color-muted);margin:1.5em 0;padding-left:1em}.prose :where(hr){border:0;border-top:1px solid var(--color-border);margin:2.5em 0}.prose :where(code){font-family:var(--font-mono);font-size:.9em}.prose :where(pre){border:1px solid var(--color-border);border-radius:4px;padding:1em 1.15em;font-size:.9rem;overflow-x:auto}.prose :where(table){border-collapse:collapse;width:100%;font-size:.95rem}.prose :where(th,td){border:1px solid var(--color-border);text-align:left;padding:.5em .75em}.prose--wide{max-width:none}.site-header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-8);margin-bottom:var(--space-16);flex-wrap:wrap;display:flex}.site-header__brand{font-family:var(--font-sans);font-size:var(--font-size-base);margin:0;font-weight:700}.site-nav{align-items:center;gap:var(--space-6);flex-wrap:wrap;margin:0;padding:0;font-weight:500;list-style:none;display:flex}.site-nav__link{color:inherit}.site-footer{align-items:flex-start;gap:var(--space-2);padding-block:var(--space-4);flex-direction:column;display:flex}.site-footer__line{font-size:var(--font-size-small);margin:0}.site-footer__line a{color:inherit}.work-card{margin-bottom:var(--space-6);break-inside:avoid}.work-card[hidden]{display:none}.work-card__link{color:inherit;text-decoration:none;display:block}.work-card__link:hover{text-decoration:none}.work-card__link:hover .work-card__title{text-underline-offset:4px;text-decoration:underline}.work-card__cover{aspect-ratio:16/10;overflow:hidden}.work-card__image{object-fit:cover;width:100%;height:100%}.work-card__body{padding-block:var(--space-6);flex-direction:column;gap:.375rem;display:flex}.work-card__title{margin:0;font-size:1.5rem;line-height:1.1;display:inline}.work-card__meta{align-items:center;gap:var(--space-2);color:var(--color-muted);font-size:var(--font-size-small);flex-wrap:wrap;margin:0;display:flex}.work-grid__filters{align-items:center;gap:var(--space-4);margin-bottom:var(--space-8);display:flex}.work-grid__filters[hidden]{display:none}.work-grid__label{color:var(--color-muted)}.work-grid__options{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.work-grid__filter{color:var(--color-foreground);font-size:var(--font-size-small);cursor:pointer;background:0 0;border:0;padding:0}.work-grid__filter:hover,.work-grid__filter--active{text-underline-offset:2px;text-decoration:underline}.work-grid__items{columns:1;column-gap:var(--space-6);column-fill:balance}@media (width>=768px){.work-grid__items{columns:2}}@media (width>=1280px){.work-grid__items{columns:3}}.work-grid--empty{margin:0}.related-work{margin-top:var(--space-16)}.related-work__heading{margin-bottom:var(--space-8)}.related-work__items{gap:var(--space-6);grid-template-columns:1fr;display:grid}@media (width>=768px){.related-work__items{grid-template-columns:repeat(2,1fr)}}@media (width>=1280px){.related-work__items{grid-template-columns:repeat(4,1fr)}}.related-work__items .work-card{margin-bottom:0}.work-meta{align-items:center;gap:var(--space-2);margin:0 0 var(--space-10);color:var(--color-muted);flex-wrap:wrap;display:flex}.contact-links{margin:0;padding:0;list-style:none}.contact-links__item+.contact-links__item{margin-top:var(--space-4)}.contact-links__link{color:inherit;flex-direction:column;text-decoration:none;display:inline-flex}.contact-links__link:hover{text-decoration:none}.contact-links__link:hover .contact-links__value{text-underline-offset:2px;text-decoration:underline}.contact-links__label{color:var(--color-muted)}.contact-links__value{font-weight:600}.contact-form{gap:var(--space-8);max-width:var(--article-width);flex-direction:column;display:flex}.contact-form__heading{margin-bottom:var(--space-6)}.contact-form__field{gap:var(--space-2);color:var(--color-muted);font-size:var(--font-size-small);flex-direction:column;margin:0;display:flex}.contact-form__input{border:1px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-foreground);font:inherit;font-size:var(--font-size-base);padding:.5rem .75rem}.contact-form__textarea{resize:vertical}.contact-form__trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-form__privacy{font-size:var(--font-size-small);opacity:.8;margin:0}.contact-form__submit{border:1px solid var(--color-foreground);color:var(--color-foreground);font-size:var(--font-size-small);cursor:pointer;background:0 0;align-self:flex-start;padding:.5rem 1rem;font-weight:600}.contact-form__submit:hover{text-underline-offset:2px;text-decoration:underline}.contact-form__submit:disabled{opacity:.5;cursor:default}.contact-form__status{font-size:var(--font-size-small);margin:0}.contact-form__status:empty{display:none}.contact-form__status--error{color:var(--color-foreground);text-underline-offset:4px;text-decoration:underline wavy}.theme-toggle{z-index:50;border:1px solid var(--color-border);background:var(--color-bg);width:2.5rem;height:2.5rem;color:var(--color-foreground);cursor:pointer;border-radius:8px;place-items:center;font-size:1.05rem;line-height:1;display:grid;position:fixed;bottom:1rem;left:1rem;box-shadow:0 1px 2px #00000014}.consent-banner{right:var(--space-4);bottom:var(--space-4);left:var(--space-4);z-index:50;max-width:28rem;padding:var(--space-6);border:1px solid var(--color-border);background:var(--color-bg);position:fixed}.consent-banner[hidden]{display:none}.consent-banner__text{font-size:var(--font-size-small);margin:0;line-height:1.6}.consent-banner__actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.consent-banner__button{color:var(--color-foreground);font-size:var(--font-size-small);cursor:pointer;background:0 0;border:0;padding:.5rem 1rem}.consent-banner__button:hover{text-underline-offset:2px;text-decoration:underline}.consent-banner__button--accept{border:1px solid var(--color-foreground);font-weight:600}
