.dy-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:clamp(1.5rem,3vw,3rem);align-items:center;margin-top:1.5rem;
  padding:clamp(1.5rem,2.4vw,2.5rem);border:1px solid var(--line);
  border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}
.dy-art{margin:0;border-radius:18px;overflow:hidden;background:var(--canvas)}
.dy-art img{display:block;width:100%;height:auto}
.dy-say{display:flex;flex-direction:column;gap:1rem}
.dy-line{margin:0;font-family:"Noto Serif TC","Songti TC",serif;font-weight:900;
  font-size:clamp(1.75rem,2.6vw,2.75rem);line-height:1.65;text-wrap:balance}
.dy-by{margin:0;color:var(--muted);font-size:var(--fs-lead)}
.dy-by a{color:inherit;text-underline-offset:4px}
.dy-gloss{margin:0;padding:1.125rem 1.375rem;border-radius:16px;
  background:var(--sand-soft);color:#5a5347;font-size:var(--fs-body);line-height:2}
.dy-go{margin:0;font-size:var(--fs-small)}
.dy-wait{padding:3rem 1.5rem;text-align:center;color:var(--muted);
  border:1px dashed var(--line);border-radius:var(--radius);margin-top:1.5rem}
.dy-grid{display:grid;gap:1rem;margin-top:1.25rem;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr))}
.dy-card{display:flex;flex-direction:column;border:1px solid var(--line);
  border-radius:18px;overflow:hidden;background:var(--surface);
  text-decoration:none;color:inherit}
.dy-card:hover{border-color:var(--teal);box-shadow:var(--shadow)}
.dy-card img{display:block;width:100%;height:auto}
.dy-card .t{padding:1rem 1.125rem 1.125rem;display:flex;flex-direction:column;gap:0.25rem}
.dy-card b{font-family:"Noto Serif TC","Songti TC",serif;
  font-size:var(--fs-body);font-weight:700;line-height:1.75}
.dy-card span{color:var(--muted);font-size:var(--fs-small)}
@media(max-width:860px){.dy-hero{grid-template-columns:1fr}}