.sora2-gallery{padding:clamp(32px,5vw,56px) 0}
.sora2-sec-ttl{font-size:clamp(20px,2vw,28px);margin:0 0 1em}
.sora2-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.sora2-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,.08)}
.sora2-card .thumb img{width:100%;height:200px;object-fit:cover;display:block}
.sora2-card .title{font-size:16px;margin:.7em .9em}
.sora2-card .meta{font-size:12px;color:#666;margin:0 .9em 1em}
.sora2-empty{color:#666}

/* ===== Sora2 Gallery (TOP) ===== */
.sora2-gallery{background:#f9fcff; padding:60px 20px}
.sora2-gallery .sora2-sec-ttl{text-align:center; font-size:clamp(24px,3vw,36px); margin-bottom:28px}
.sora2-gallery p.lead{text-align:center; margin:0}

.sora2-gallery .thumb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin:18px auto 8px}
.sora2-gallery .thumb-card{
  display:block;background:#fff;border:1px solid rgba(11,16,32,.08);border-radius:16px;overflow:hidden;
  box-shadow:0 10px 26px rgba(0,0,0,.06);text-decoration:none;color:inherit;transition:.15s
}
.sora2-gallery .thumb-card:hover{transform:translateY(-2px);box-shadow:0 14px 38px rgba(0,0,0,.1)}
.sora2-gallery .ph{position:relative;aspect-ratio:16/9;background:#0f1224}
.sora2-gallery .ph img{width:100%;height:100%;object-fit:cover;display:block}
.sora2-gallery .play{
  position:absolute;right:12px;bottom:12px;background:rgba(0,0,0,.6);color:#fff;
  padding:6px 10px;border-radius:999px;font-weight:900;font-size:12px
}
.sora2-gallery h3{margin:12px 12px 6px;font-size:16px}
.sora2-gallery p.desc{margin:0 12px 12px;font-size:14px;line-height:1.6;color:#333}
