.project-image video{display:block;width:100%;height:100%;object-fit:cover;transition:transform .85s cubic-bezier(.2,.7,.2,1)}.project:hover video,.project:focus-visible video{transform:scale(1.045)}#project-gallery video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#000;object-fit:contain}@media(prefers-reduced-motion:reduce){.project-image video{transition:none}.project:hover video,.project:focus-visible video{transform:none}}

/* Consistent project captions: no shadows, aligned type and arrow. */
.project:last-child{grid-column:auto;width:100%;}
.project-caption{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 24px;text-shadow:none;filter:none;}
.project-caption strong{display:block;line-height:1.2;}
.project-caption small{display:flex;align-items:center;gap:24px;margin:0;line-height:1.2;text-align:right;}
.project-caption b{display:inline-flex;align-items:center;justify-content:center;line-height:1;flex:none;}
#project-website[hidden]{display:none;}
.dialog-footer{flex-wrap:wrap;}
@media(max-width:1100px){.project-caption{grid-template-columns:1fr;align-items:start;gap:10px;}.project-caption small{justify-content:space-between;text-align:left;}}
@media(max-width:700px){.project-caption{left:18px;right:18px;bottom:18px;gap:8px;}.project-caption strong{font-size:22px;}.project-caption small{font-size:13px;}}

/* Match the main portfolio: Unbounded title, arrow enters and pushes the name. */
.project-caption strong{position:relative;overflow:hidden;min-width:0;font-family:var(--font-display);font-weight:500;font-size:clamp(18px,1.7vw,27px);line-height:1.3;letter-spacing:-.035em;padding-left:0;transition:padding-left .3s ease;}
.project-caption strong::before{content:"→";position:absolute;left:0;top:50%;font-family:'NUUK Symbols',Switzer,Arial,sans-serif;font-size:18px;font-weight:400;line-height:1;opacity:0;transform:translate(-24px,-50%);transition:transform .3s ease,opacity .3s ease;}
.project-caption small b{display:none;}
.project:focus-visible .project-caption strong{padding-left:26px;}
.project:focus-visible .project-caption strong::before{opacity:1;transform:translate(0,-50%);}
@media(hover:hover) and (pointer:fine){.project:hover .project-caption strong{padding-left:26px;}.project:hover .project-caption strong::before{opacity:1;transform:translate(0,-50%);}}
@media(hover:none){.project-caption strong{padding-left:26px;}.project-caption strong::before{opacity:1;transform:translate(0,-50%);}}
@media(max-width:700px){.project-caption strong{font-size:clamp(17px,4.5vw,22px);}}
@media(prefers-reduced-motion:reduce){.project-caption strong,.project-caption strong::before{transition:none;}}
