.page-head{padding-top:9rem;padding-bottom:clamp(2rem,5vw,4rem)}.page-head__index{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-faint);margin-bottom:1.5rem;display:block}.page-head__title{font-size:clamp(3rem,7vw,7rem);line-height:.92}.page-head__lede{max-width:46ch;font-size:var(--fs-h3);color:var(--fg-dim);margin-top:2rem}.filters{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.6rem;padding-bottom:2.5rem;display:flex}.filter{border:1px solid var(--line);font-family:var(--font-mono);font-size:var(--fs-small);letter-spacing:.04em;text-transform:uppercase;color:var(--fg-dim);transition:color var(--dur-fast), border-color var(--dur-fast), background var(--dur-fast);border-radius:999px;padding:.55em 1.1em}.filter:hover{color:var(--fg);border-color:var(--line-strong)}.filter[aria-pressed=true]{background:var(--fg);color:var(--bg);border-color:#0000}.filter__count{opacity:.5;margin-left:.4em;font-size:.85em}.works-grid{grid-template-columns:repeat(2,1fr);gap:clamp(2rem,4vw,4rem);padding-top:clamp(2.5rem,5vw,4.5rem);display:grid}.work{display:block;position:relative}.work[hidden]{display:none}.work__media{aspect-ratio:16/11;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-card);position:relative;overflow:hidden}.work__media img,.work__media video{object-fit:cover;width:100%;height:100%;transition:transform var(--dur-slow) var(--ease-out), filter var(--dur-med) var(--ease-out);filter:grayscale(.45)brightness(.82);position:absolute;inset:0}.work__media video{pointer-events:none}.work:hover .work__media img,.work:hover .work__media video{filter:grayscale(0)brightness();transform:scale(1.05)}.work__cats{z-index:2;flex-wrap:wrap;gap:.4rem;display:flex;position:absolute;top:1rem;left:1rem}.work__cat{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.05em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f5f3ef;background:#0a0a0c9e;border:1px solid #f5f3ef40;border-radius:999px;padding:.3em .7em}.work__body{padding-top:1.1rem}.work__body h3{font-size:var(--fs-h3)}.work__body p{color:var(--fg-dim);max-width:46ch;margin-top:.5rem}.work__meta{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.05em;text-transform:uppercase;color:var(--fg-faint);margin-top:.8rem}.works-empty{color:var(--fg-dim);padding:4rem 0}@media (width<=800px){.works-grid{grid-template-columns:1fr}}.about-page{gap:var(--space-gutter);grid-template-columns:1fr 1fr;align-items:start;display:grid}.prose__photo{aspect-ratio:2/3;object-fit:cover;border-radius:var(--radius);width:220px;margin-bottom:2rem}.prose p{max-width:52ch;color:var(--fg-dim)}.prose p+p{margin-top:1.25rem}.prose h3{font-size:var(--fs-h3);color:var(--fg);margin-top:2.5rem;margin-bottom:1rem}.cv{flex-direction:column;display:flex}.cv__row{border-top:1px solid var(--line);grid-template-columns:7rem 1fr;gap:1.5rem;padding:1.2rem 0;display:grid}.cv__row:last-child{border-bottom:1px solid var(--line)}.cv__when{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.05em;color:var(--fg-faint);padding-top:.25em}.cv__what strong{font-weight:600;display:block}.cv__what span{color:var(--fg-dim);font-size:var(--fs-small)}@media (width<=900px){.about-page{grid-template-columns:1fr}}.contact-grid{gap:var(--space-gutter);grid-template-columns:1.2fr 1fr;align-items:start;display:grid}.contact-huge{font-size:clamp(2.5rem,6vw,5.5rem);line-height:1.02}.contact-huge a{text-underline-offset:.12em;transition:color var(--dur-fast);text-decoration:underline;text-decoration-thickness:.06em}.contact-huge a:hover{color:var(--accent)}.contact-links{flex-direction:column;display:flex}.contact-link{border-top:1px solid var(--line);font-family:var(--font-mono);font-size:var(--fs-small);letter-spacing:.04em;text-transform:uppercase;transition:color var(--dur-fast), padding-left var(--dur-med) var(--ease-out);justify-content:space-between;align-items:center;gap:1rem;padding:1.3rem 0;display:flex}.contact-link:last-child{border-bottom:1px solid var(--line)}.contact-link:hover{color:var(--accent);padding-left:.6rem}.contact-link span:last-child{color:var(--fg-faint)}@media (width<=900px){.contact-grid{grid-template-columns:1fr}}
