/* ===== Latest posts (Mesmerize-like) ===== */
.dt-latest__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr)); /* 横3つ */
  gap:22px;
}

/* card */
.dt-card__inner{
  background:#fff;
  border:1px solid rgba(0,0,0,.08); /* bordered */
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  transform:translateY(0);          /* y-move */
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.dt-card__inner:hover{
  transform:translateY(-6px);
  box-shadow:0 10px 26px rgba(0,0,0,.10);
  border-color:rgba(0,0,0,.12);
}

/* thumb */
.dt-card__thumb{ background:#f3f4f6; }
.dt-card__thumbLink{ display:block; }
.dt-card__img{
  width:100%;
  aspect-ratio:725 / 465;
  object-fit:cover;
  display:block;
  background:#f3f4f6;
}
.dt-card__noimg{
  width:100%;
  aspect-ratio:16/9;
  background:linear-gradient(135deg, #f2f2f2, #e9e9e9);
}

/* body padding like "col-padding" */
.dt-card__body{
  padding:16px 18px 14px;
}

/* title */
.dt-card__title{
  margin:0 0 10px;
  font-size:16px;
  line-height:1.45;
  font-weight:700;
}
.dt-card__title a{
  color:#111;
  text-decoration:none;
}
.dt-card__title a:hover{ text-decoration:underline; }

/* excerpt */
.dt-card__excerpt{
  margin:0 0 12px;
  font-size:14px;
  line-height:1.75;
  color:#444;
  min-height:3.5em; /* だいたい2行分の見栄え安定 */
}

/* footer row */
.dt-card__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.dt-card__date{
  font-size:12px;
  color:#777;
}

/* Read more link (Mesmerize風に「link」感) */
.dt-card__more{
  font-size:13px;
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid rgba(0,0,0,.25);
  padding-bottom:2px;
  color:#111;
}
.dt-card__more:hover{
  border-bottom-color:rgba(0,0,0,.55);
}

/* responsive */
@media (max-width: 900px){
  .dt-latest__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px){
  .dt-latest__grid{ grid-template-columns:1fr; }
  .dt-card__body{ padding:14px 14px 12px; }
}