.project-row{display:grid;grid-template-columns:140px minmax(0,1fr) auto;grid-template-areas:"thumb name date" "thumb desc desc" "thumb tech tech" "link link link";grid-template-rows:auto auto auto 1fr;column-gap:1.25rem}.project-summary-link{display:contents;color:inherit;text-decoration:none}.project-row:has(.project-summary-link:hover) .project-name{color:var(--color-accent-vermilion)}.project-row:has(.project-summary-link:hover) .project-desc{color:#1a1a1ad9}.project-thumb{grid-area:thumb;display:block;width:140px;height:90px;align-self:start;contain-intrinsic-size:140px 90px}.project-row-deferred{content-visibility:auto;contain-intrinsic-size:auto 180px}.project-name{grid-area:name;align-self:baseline;font-size:1.05rem;font-weight:400;line-height:1.3}.project-date{grid-area:date;align-self:baseline;justify-self:end;font-size:.72rem;color:#1a1a1a8c;white-space:nowrap}.project-desc{grid-area:desc;font-size:.88rem;line-height:1.5;color:#1a1a1ab3;margin:.6rem 0 .55rem}.project-tech{grid-area:tech;align-self:start;font-size:.7rem;color:#1a1a1a80;letter-spacing:.02em}.project-link{grid-area:link;justify-self:start;align-self:start;margin-top:.45rem;font-size:.7rem;color:#1a1a1a80;text-decoration:underline;text-decoration-color:#1a1a1a40;text-underline-offset:3px;letter-spacing:.02em;position:relative;z-index:1}.project-link:hover{color:var(--color-accent-vermilion);text-decoration-color:var(--color-accent-vermilion)}@media(max-width:640px){.project-row{grid-template-columns:104px minmax(0,1fr);grid-template-areas:"thumb name" "thumb date" "thumb tech" "desc desc" "link link";grid-template-rows:auto auto 1fr auto auto;column-gap:1.1rem}.project-thumb{width:104px;height:68px}.project-name{font-size:1rem}.project-date{justify-self:start;margin-top:.35rem}.project-tech{margin-top:.55rem}.project-desc{margin:1rem 0 0}.project-link{margin-top:.5rem}}
