#fm-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;width:100%}
/* Phones: 2 across by 3 down */
@media(max-width:700px){#fm-icons{grid-template-columns:repeat(2,1fr);gap:10px}}
.fm-box{display:flex;flex-direction:column;background:#000;border-radius:8px;overflow:hidden;text-decoration:none;aspect-ratio:1/1;container-type:inline-size}
.fm-pics{position:relative;flex:1;min-height:0}
/* Every photo sits inside a black border (4% of the box on each side) */
.fm-pics img{position:absolute;top:4%;left:4%;width:92%;height:92%;object-fit:cover;object-position:center;opacity:0;transition:opacity 1s ease-in-out}
.fm-pics img.on{opacity:1}
/* Title under the photos: bold white. Size follows the box width (7.5% of it). */
.fm-box .fm-title{flex:0 0 14%;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 6px;color:#fff!important;text-decoration:none!important;font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:20px;font-size:7.5cqw;line-height:1.1}
/* Smaller boxes on phones: slightly smaller title so long names still fit on one line */
@media(max-width:700px){.fm-box .fm-title{font-size:12px;font-size:6.6cqw}}