.home-updates { padding: 34px 0 42px; border-top: 1px solid var(--line); }
.home-updates h2 { font-size: clamp(1.8rem, 3vw, 2.4rem); margin-bottom: 6px; }
.home-updates-intro { margin-bottom: 22px; }
.home-updates-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.home-updates-grid > .home-update { min-width: 0; }
.home-update { border: 1px solid #ded7cb; border-radius: 9px; background: #fcf9f2; overflow: hidden; box-shadow: 0 2px 5px #27332908; transition: transform 180ms ease, box-shadow 180ms ease; }
.home-update > a { display: flex; flex-direction: column; height: 100%; color: var(--ink); }
.home-update-image { position: relative; }
.home-update-image img { display: block; width: 100%; height: auto; aspect-ratio: 2.7; object-fit: cover; }
.home-update-label { position: absolute; left: 16px; bottom: 10px; padding: 3px 13px; border-radius: 20px; background: #efd0ca; color: #432f31; font-size: .72rem; letter-spacing: .05em; text-transform: uppercase; }
.home-update-copy { position: relative; padding: 15px 20px 35px; flex: 1; }
.home-update h3 { font-size: 1.35rem; margin: 0 0 7px; }
.home-update p { font-size: .95rem; line-height: 1.4; margin: 0; }
.home-update-arrow { position: absolute; right: 18px; bottom: 8px; font-size: 1.4rem; }
.home-update:hover { border-color: var(--olive); }
.home-update > a:focus-visible { outline-offset: -4px; }
@media (hover: hover) and (pointer: fine) {
  .home-update:hover { transform: translateY(-4px); box-shadow: 0 7px 18px #27332912; }
}
.home-update:focus-within { transform: translateY(-4px); box-shadow: 0 7px 18px #27332912; }
@media (prefers-reduced-motion: reduce) {
  .home-update { transition: none; transform: none !important; }
}
html[data-asv-motion="true"] .home-update { transition: none; transform: none !important; }
@media (max-width: 700px) {
  .home-updates-grid { grid-template-columns: 1fr; }
  .home-update-image img { aspect-ratio: 2.5; }
}
