.category-portfolio{margin-top:24px;padding-top:18px;border-top:1px solid var(--line,#d6dde4);color:var(--ink,#17212b)}
.category-portfolio>h2{margin:0 0 14px;font-size:18px;font-weight:700}
.category-portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}
.category-portfolio-item{min-width:0;margin:0;overflow:hidden;border:1px solid var(--line,#d6dde4);border-radius:8px;background:var(--card,#fff);color:var(--ink,#17212b)}
.category-portfolio-item>img,.category-portfolio-item>video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--soft,#edf1f4)}
.category-portfolio-item>figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;font-size:13px}
.category-portfolio-item>figcaption span{min-width:0;overflow-wrap:anywhere}
.category-portfolio-item>figcaption a{flex:none;color:var(--blue,#176b87);font-weight:700;text-decoration:none}
.category-portfolio-item>figcaption a:hover{text-decoration:underline}
.carousel-image-slot video.category-media-preview{width:100%;height:108px;aspect-ratio:16/9;object-fit:cover;border-radius:10px;background:var(--soft,#edf1f4)}
@media(max-width:600px){.category-portfolio-grid{grid-template-columns:1fr}.category-portfolio-item>figcaption{align-items:flex-start;flex-direction:column;gap:6px}}
@media(max-width:480px){.carousel-image-slot video.category-media-preview{height:96px;grid-row:span 3}}
@media(prefers-reduced-motion:reduce){.category-portfolio-item video{scroll-behavior:auto}}
