.ff-root{--ff-ground:#faf8f5;--ff-ink:#181617;--ff-muted:#6b6b6b;--ff-faint:#9a968d;--ff-line:rgba(24,22,23,.14);min-height:100vh;background:var(--ff-ground);color:var(--ff-ink);-webkit-font-smoothing:antialiased}.ff-wrap{max-width:68rem;margin:0 auto;padding:5rem 1.5rem 7rem}.ff-back{display:inline-block;font-family:var(--font-mono,ui-monospace,monospace);font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ff-muted);text-decoration:none;margin-bottom:3.5rem}.ff-back:hover{color:var(--ff-ink)}.ff-head{border-bottom:1px solid var(--ff-line);padding-bottom:2.5rem;margin-bottom:1rem}.ff-title{font-size:clamp(2.5rem,7vw,4.5rem);line-height:.98;letter-spacing:-.02em;text-transform:uppercase;margin:0 0 1.25rem;font-weight:600}.ff-intro{max-width:46ch;font-size:1.0625rem;line-height:1.6;color:var(--ff-muted);margin:0;text-wrap:pretty}.ff-list{list-style:none;margin:0;padding:0}.ff-item{border-bottom:1px solid var(--ff-line)}.ff-link{display:grid;grid-template-columns:1fr;gap:1.25rem;padding:2.5rem 0;text-decoration:none;color:inherit}.ff-item-title{font-size:clamp(1.75rem,4.5vw,2.75rem);line-height:1.02;letter-spacing:-.015em;text-transform:uppercase;margin:0 0 .75rem;font-weight:600;display:inline;background-image:linear-gradient(var(--ff-ink),var(--ff-ink));background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .26s ease}.ff-link:hover .ff-item-title{background-size:100% 1px}.ff-dek{max-width:52ch;font-size:1rem;line-height:1.55;color:var(--ff-muted);margin:0;text-wrap:pretty}.ff-date{font-family:var(--font-mono,ui-monospace,monospace);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ff-faint);margin-top:1rem}.ff-cover{position:relative;aspect-ratio:16/9;overflow:hidden;background:#ece8e1;border:1px solid var(--ff-line)}.ff-cover-base,.ff-cover-hover{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.ff-cover-base{transition:transform .6s cubic-bezier(.4,0,.2,1)}.ff-cover-hover{opacity:0;transition:opacity .48s ease}.ff-link:hover .ff-cover-base{transform:scale(1.04)}.ff-link:hover .ff-cover-hover{opacity:1}@media (prefers-reduced-motion:reduce){.ff-cover-base{transition:none}.ff-link:hover .ff-cover-base{transform:none}}@media (min-width:48rem){.ff-link{grid-template-columns:1.15fr 1fr;gap:3rem;align-items:center}.ff-cover{aspect-ratio:4/3}}.ff-empty{padding:3rem 0;color:var(--ff-muted);font-size:1rem}