.project-card{gap:16px;position:relative}.project-link:after{content:"";border-radius:var(--radius);position:absolute;inset:0}.project-link:focus-visible{outline:none}.project-card:has(.project-link:focus-visible){outline:3px solid var(--navy);outline-offset:2px}@media (hover:hover){.project-card:hover{box-shadow:var(--shadow-lift);border-color:var(--navy)}.project-card:hover .project-more:after{translate:3px}}.project-media-wrap{position:relative}.project-media-wrap>picture{display:contents}.project-media,.project-media-wrap .media-slot{aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius);box-sizing:border-box;width:100%;height:100%;display:block}.project-body{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.project-body :is(h2,h3){font-size:var(--fs-subheading);line-height:var(--lh-display);margin:0}.project-body p{font-size:var(--fs-small);line-height:var(--lh-body);color:var(--navy-deep);margin:0}.project-pill,.project-badge{font-size:var(--fs-mono);letter-spacing:.06em;text-transform:uppercase;font-weight:600;line-height:var(--lh-body);border-radius:var(--radius-pill);padding:4px 12px}.project-pill{background:var(--navy-08);color:var(--navy)}.project-badge{background:var(--navy);color:var(--cream);position:absolute;bottom:20px;left:20px}.project-tags{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.project-tags li{border-radius:var(--radius);background:var(--navy-08);font-size:var(--fs-mono);line-height:var(--lh-body);color:var(--navy-deep);align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.project-tag-icon{width:16px;height:16px;color:var(--navy);flex:none}.project-more{font-size:var(--fs-small);color:var(--navy);place-self:end;align-items:center;gap:10px;margin-top:auto;font-weight:700;display:inline-flex}.project-more:after{content:"→";border:1.5px solid var(--navy);border-radius:var(--radius-pill);width:28px;height:28px;transition:translate .2s var(--ease);place-items:center;display:grid}.project-lead{padding:12px 12px 20px}.project-lead .project-media-wrap{flex:auto;min-height:300px}.project-lead .project-media,.project-lead .media-slot{aspect-ratio:auto;height:100%}.project-lead .project-body,.project-lead .project-tags,.project-lead .project-more{margin-inline:16px}.project-lead .project-body :is(h2,h3){font-size:var(--fs-heading)}.project-lead .project-body p{font-size:var(--fs-body)}.project-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-template-areas:"media body body""tags tags more";gap:16px 20px;padding:12px 16px 16px 12px;display:grid}.project-row .project-media-wrap{grid-area:media}.project-row .project-body{grid-area:body;padding-top:10px}.project-row .project-tags{grid-area:tags}.project-row .project-more{grid-area:more}.project-feature{grid-template:"media body"1fr"media tags""media more"/minmax(0,1.25fr) minmax(0,1fr);gap:18px 36px;padding:12px 32px 12px 12px;display:grid}.project-feature .project-media-wrap{grid-area:media}.project-feature .project-media{aspect-ratio:16/10}.project-feature .project-body{grid-area:body;align-self:end}.project-feature .project-body :is(h2,h3){font-size:var(--fs-heading)}.project-feature .project-body p{font-size:var(--fs-body)}.project-feature .project-tags{grid-area:tags}.project-feature .project-more{grid-area:more;margin-bottom:20px}.project-tile{padding:12px 12px 20px}.project-tile .project-body,.project-tile .project-tags,.project-tile .project-more{margin-inline:8px}.project-grid{gap:20px;display:grid}.project-grid-home{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.project-grid-home>.project-lead{grid-row:1/span 2}.project-grid-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}.project-grid-list>.project-feature{grid-column:1/-1}.project-grid-pairs{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid-pairs .project-tile .project-media{aspect-ratio:16/9}.project-grid-auto{grid-template-columns:repeat(3,minmax(0,1fr))}.project-grid-auto:has(>:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=1024px){.project-grid-auto{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.project-grid-home,.project-grid-list{grid-template-columns:1fr}.project-grid-home>.project-lead{grid-row:auto}.project-lead .project-media-wrap{min-height:0}.project-lead .project-media,.project-lead .media-slot{aspect-ratio:16/10;height:auto}.project-row,.project-feature{grid-template-rows:none;grid-template-columns:1fr;grid-template-areas:"media""body""tags""more";padding:12px 16px 16px 12px}.project-feature .project-body :is(h2,h3){font-size:var(--fs-subheading)}}
