.editorial-writing{min-width:0;color:var(--fg);font-family:var(--font-sans)}.editorial-writing-heading{letter-spacing:-.0125em;text-wrap:balance;margin:0 0 20px;font-size:24px;font-weight:500;line-height:32px}.editorial-writing-header{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:20px;display:flex}.editorial-writing-heading{margin-bottom:0}.editorial-writing-all{min-height:44px;color:var(--muted);white-space:nowrap;text-underline-offset:4px;align-items:center;font-size:14px;text-decoration:underline;display:inline-flex}.editorial-writing-copy{min-width:0}.editorial-writing-row-link{color:inherit;text-decoration:none}.editorial-writing-art{aspect-ratio:3/2;background:var(--surface);border-radius:12px;display:block;position:relative;overflow:hidden}.editorial-writing-art:after{border-radius:inherit;outline:1px solid var(--image-outline);outline-offset:-1px;pointer-events:none;content:"";position:absolute;inset:0}.editorial-writing-art img{object-fit:contain}.editorial-writing-copy h3{letter-spacing:-.0125em;text-wrap:balance;overflow-wrap:break-word;margin:0;font-size:24px;font-weight:500;line-height:32px}.editorial-writing-description{color:var(--muted);overflow-wrap:break-word;text-wrap:pretty;margin:10px 0 0;font-size:16px;font-weight:400;line-height:24px}.editorial-writing-meta{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 16px;margin-top:16px;font-size:14px;line-height:20px;display:flex}.editorial-writing-meta>*{white-space:nowrap}.editorial-writing-archive{margin:0;padding:0;list-style:none}.editorial-writing-row{border-top:1px solid var(--border)}.editorial-writing-row-link{grid-template-columns:minmax(0,1fr) 156px;align-items:start;gap:32px;padding-block:32px;display:grid}.editorial-writing-row-link[data-has-art=false]{grid-template-columns:minmax(0,1fr)}@media (hover:hover){.editorial-writing-row-link:hover h3{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}}.editorial-writing-row-link:focus-visible{outline:2px solid var(--accent);outline-offset:6px}@media (max-width:639px){.editorial-writing-row-link{grid-template-columns:minmax(0,1fr) 100px;gap:0 20px;padding-block:28px}.editorial-writing-row .editorial-writing-copy{display:contents}.editorial-writing-row h3{grid-area:1/1}.editorial-writing-row .editorial-writing-art{grid-area:1/2}.editorial-writing-row .editorial-writing-description,.editorial-writing-row .editorial-writing-meta{grid-column:1/-1}.editorial-writing-row .editorial-writing-description{margin-top:16px}}
.featured-work{min-width:0;color:var(--fg);font-family:var(--font-sans);scroll-margin-top:32px}.featured-work-heading{letter-spacing:-.0125em;margin:0 0 20px;font-size:24px;font-weight:500;line-height:32px}.featured-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:32px 20px;display:grid}.featured-work-project{min-width:0;scroll-margin-top:24px}.featured-work-link{color:inherit;border-radius:16px;text-decoration:none;transition:scale .2s ease-out;display:block}.featured-work-frame{--frame-radius:16px;--frame-inset:4px;padding:var(--frame-inset);border-radius:var(--frame-radius);background:var(--bg);box-shadow:0 0 0 1px var(--image-outline)}.featured-work-cover{aspect-ratio:3/2;border-radius:calc(var(--frame-radius) - var(--frame-inset));background:var(--preview-bg);position:relative;overflow:hidden}.featured-work-cover img{object-fit:contain;border-radius:inherit;outline:1px solid var(--image-outline);outline-offset:-1px}.featured-work-caption{margin-top:12px}.featured-work-caption h3,.featured-work-caption p{letter-spacing:normal;text-wrap:pretty;overflow-wrap:anywhere;margin:0;font-size:16px;font-weight:400;line-height:24px}.featured-work-caption h3{color:var(--fg);text-wrap:balance;font-weight:500}.featured-work-caption p{color:var(--caption-muted)}.featured-work-link:focus-visible{outline:2px solid var(--accent);outline-offset:6px}@media (max-width:600px){.featured-work-grid{grid-template-columns:minmax(0,1fr)}}@media (hover:hover) and (pointer:fine){.featured-work-link:hover h3{text-underline-position:from-font;text-decoration-skip-ink:auto;text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:from-font}}@media (prefers-reduced-motion:no-preference){.featured-work-link:active{scale:.98}}@media (prefers-reduced-motion:reduce){.featured-work-link{transition:none}}
.profile{width:100%;max-width:760px;font-family:var(--font-sans);flex-direction:column;gap:128px;margin-inline:auto;padding:104px 20px 72px;display:flex}.profile-person{align-items:center;gap:18px;margin-bottom:28px;display:flex}.profile-portrait{flex-shrink:0}.profile-location{color:var(--muted);align-items:center;gap:6px;font-size:14px;display:flex}.profile-location svg{width:14px;height:14px}.profile-intro h1{letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:60px;font-weight:500;line-height:60px}.profile-intro :where(h1) a{color:inherit;text-decoration:none}.profile-intro :where(h1) a,.profile-summary a{font-family:var(--font-italic),Georgia,serif;font-feature-settings:normal;font-style:italic;font-weight:400}.profile-summary{color:var(--paragraph);letter-spacing:normal;text-wrap:pretty;margin-top:32px;font-size:18px;line-height:28px}.profile-summary>*+*{margin-top:20px}.profile-summary a{color:var(--fg);text-decoration:underline;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);text-underline-offset:4px;text-decoration-thickness:1px}.profile-summary ul{padding-left:1.25em;list-style:outside}.profile-socials{margin-top:32px}.profile-social-links{flex-wrap:wrap;gap:8px;display:flex}.profile-social-link{background:var(--preview-bg);min-height:44px;box-shadow:0 0 0 1px var(--image-outline);color:var(--fg);border:0;border-radius:999px;align-items:center;gap:7px;padding:8px 14px 8px 12px;font-size:14px;font-weight:500;line-height:20px;text-decoration:none;transition:background-color .15s,color .15s,scale .2s ease-out;display:inline-flex}.profile-social-link:active{scale:.97}.profile-social-link svg{pointer-events:none;width:16px;height:16px}@media (hover:hover){.profile-intro :where(h1) a:hover{text-decoration:underline;text-decoration-thickness:1px}.profile-summary a:hover{-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}.profile-social-link:hover{background:var(--surface)}}@media (max-width:767px){.profile-summary{font-size:16px;line-height:26px}}@media (max-width:639px){.profile{gap:96px;padding-block:80px 48px}.profile-person{margin-bottom:24px}.profile-intro h1{font-size:40px;line-height:44px}.profile-social-link{min-height:44px;padding-inline:11px 13px}}@media (prefers-reduced-motion:reduce){.profile-social-link{transition:none;scale:none}}
