.cal-article-list{margin:40px 0}.cal-article{display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid #eee;padding:20px;border-radius:8px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.05);transition:box-shadow .3s ease}.cal-article:hover{box-shadow:0 8px 20px rgba(0,0,0,.1)}.cal-thumbnail{margin-bottom:15px;overflow:hidden;border-radius:6px}.cal-thumbnail a{display:block}.cal-thumbnail img{width:100%;height:200px;object-fit:cover;transition:transform .3s ease}.cal-thumbnail img:hover{transform:scale(1.05)}.cal-title{margin:0 0 12px;font-size:1.25em;line-height:1.35;flex-grow:1;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto}.cal-title a{text-decoration:none;color:#1a1a1a}.cal-title a:hover{color:#0073aa;text-decoration:underline}.cal-excerpt{margin:0 0 15px;color:#444;line-height:1.6;font-size:.95em}.cal-read-more{color:#0073aa;text-decoration:none;font-weight:700;margin-top:auto;align-self:flex-start}.cal-read-more:hover{text-decoration:underline}.cal-layout-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:30px}@media (max-width:1024px){.cal-layout-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:768px){.cal-layout-grid{grid-template-columns:1fr}.cal-thumbnail img{height:220px}.cal-title{font-size:1.35em}}