/* Edge-to-edge project photographs, with captions revealed by the pointer. */
#projects{--gallery-inset:clamp(18px,4vw,64px)}
#projects .album-list{display:flex;flex-direction:column;gap:2px;width:calc(100% + var(--gallery-inset)*2);margin:24px calc(var(--gallery-inset)*-1) 0;background:#fff}
.album-row{display:flex;gap:2px;height:clamp(240px,25vw,430px);min-width:0}
.album-row:nth-child(3n+2){height:clamp(210px,21vw,370px)}
.album-row:nth-child(3n){height:clamp(240px,24vw,410px)}
#projects .album-card{position:relative;display:block;flex:var(--tile-weight,1) 1 0;min-width:0;height:100%;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:#e7e6e0;box-shadow:none;transform:none;isolation:isolate;transition:none}
#projects .album-card img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0;filter:none;transition:transform .65s cubic-bezier(.2,.65,.3,1)}
#projects .album-card:hover{transform:none;box-shadow:none}
#projects .album-card:hover img{transform:scale(1.025);filter:none}
#projects .album-card .album-name{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);padding:8px 12px;margin:0;background:rgba(20,32,25,.9);color:#fff;font-family:"Microsoft JhengHei","PingFang TC",sans-serif;font-size:14px;line-height:1.5;font-weight:400;letter-spacing:.03em;opacity:0;pointer-events:none;transition:opacity .18s ease;overflow-wrap:anywhere}
#projects .album-card .album-total{display:none}
#projects .album-card:focus-visible{outline:3px solid #de7047;outline-offset:-5px}
#projects .album-card:focus-visible .album-name{opacity:1}
.project-cursor-caption{position:fixed;left:0;top:0;z-index:1000;width:max-content;max-width:min(340px,calc(100vw - 24px));padding:10px 15px;background:rgba(20,32,25,.94);color:#fff;font-family:"Microsoft JhengHei","PingFang TC",sans-serif;font-size:15px;font-weight:400;line-height:1.5;letter-spacing:.035em;pointer-events:none;opacity:0;transition:opacity .16s ease;will-change:transform}
.project-cursor-caption.is-visible{opacity:1}
@media(max-width:900px){#projects .album-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.album-row{display:contents}#projects .album-card{height:260px}}
@media(max-width:600px){#projects .album-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}#projects .album-card{height:clamp(230px,64vw,340px)}#projects .album-card .album-name{left:8px;bottom:8px;max-width:calc(100% - 16px);font-size:13px;padding:7px 9px;opacity:1}#projects .album-card img{transform:none}.project-cursor-caption{display:none}}
@media(hover:none),(pointer:coarse){#projects .album-card .album-name{opacity:1}.project-cursor-caption{display:none}}
@media(prefers-reduced-motion:reduce){#projects .album-card img,#projects .album-card .album-name,.project-cursor-caption{transition:none}#projects .album-card:hover img{transform:none}}
