.beg-grid {
  --beg-gap: 18px;
  display: grid;
  grid-template-columns: repeat(var(--beg-columns, 3), minmax(0, 1fr));
  gap: var(--beg-gap);
  margin: 32px 0;
}
.beg-grid[data-columns="1"] { --beg-columns: 1; }
.beg-grid[data-columns="2"] { --beg-columns: 2; }
.beg-grid[data-columns="3"] { --beg-columns: 3; }
.beg-grid[data-columns="4"] { --beg-columns: 4; }
.beg-card { min-width: 0; border: 1px solid rgba(126, 249, 192, .18); background: linear-gradient(145deg, #121a22 0%, #0b1117 100%); box-shadow: 0 12px 32px rgba(0, 0, 0, .2); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.beg-card:hover { transform: translateY(-4px); border-color: rgba(126, 249, 192, .65); box-shadow: 0 16px 42px rgba(0, 0, 0, .35), 0 0 24px rgba(36, 240, 164, .08); }
.beg-card__link { display: flex; height: 100%; flex-direction: column; color: #edf7f2; text-decoration: none; }
.beg-card__media { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #17232d; }
.beg-card__media::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, transparent 45%, rgba(8, 14, 19, .38)); }
.beg-card__image { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .45s ease; }
.beg-card:hover .beg-card__image { transform: scale(1.045); }
.beg-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 24px; }
.beg-card__label { margin: 0 0 12px; color: #7ef9c0; font-size: 11px; font-weight: 700; letter-spacing: .14em; line-height: 1.2; text-transform: uppercase; }
.beg-card__title { margin: 0; color: inherit; font-size: clamp(21px, 2.1vw, 30px); line-height: 1.12; }
.beg-card__excerpt { margin-top: 14px; color: #aabcc2; font-size: 15px; line-height: 1.55; }
.beg-card__more { margin-top: auto; padding-top: 22px; color: #7ef9c0; font-size: 14px; font-weight: 700; }
.beg-card--wide { grid-column: span 2; }
.beg-card--large { grid-column: span 2; grid-row: span 2; }
.beg-card--large .beg-card__media { aspect-ratio: 16 / 8; }
.beg-notice { padding: 12px 16px; border-left: 3px solid #e8b44c; background: #fff8e8; color: #342700; }
@media (max-width: 920px) { .beg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .beg-card--large { grid-row: auto; } }
@media (max-width: 600px) { .beg-grid { grid-template-columns: 1fr; gap: 14px; } .beg-card--wide, .beg-card--large { grid-column: auto; } .beg-card__body { padding: 20px; } }
@media (prefers-reduced-motion: reduce) { .beg-card, .beg-card__image { transition: none; } .beg-card:hover { transform: none; } }
