.azng { --azng-accent:#8b2530; --azng-ink:#282323; --azng-muted:#655d5b; max-width:1200px; margin:clamp(2rem,5vw,5rem) auto; padding:0 1.25rem; color:var(--azng-ink); }
.azng, .azng * { box-sizing:border-box; }
.azng .azng__header { display:flex; align-items:center; justify-content:space-between; gap:1rem 2rem; flex-wrap:wrap; margin-bottom:1.75rem; }
.azng .azng__header h2 { margin:0; font-size:clamp(1.6rem,3vw,2.4rem); line-height:1.2; color:inherit; }
.azng .azng__all { display:inline-flex; align-items:center; gap:.6rem; padding:.65rem 0; color:var(--azng-accent); font-weight:700; text-underline-offset:.25em; }
.azng .azng__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; list-style:none; padding:0; margin:0; }
.azng .azng__card { list-style:none; padding:0; margin:0; border:1px solid #e5ddda; border-radius:14px; background:#fff; min-width:0; box-shadow:0 4px 18px #28232308; }
.azng .azng__link { display:flex; flex-direction:column; height:100%; border-radius:14px; color:inherit; text-decoration:none; }
.azng .azng__media { aspect-ratio:4/3; overflow:hidden; border-radius:13px 13px 0 0; background:#f0e9e4; }
.azng .azng__media img { display:block; width:100%; height:100%; max-width:none; object-fit:cover; transition:transform .25s ease; }
.azng .azng__placeholder { display:flex; height:100%; align-items:center; justify-content:center; padding:1rem; text-align:center; color:var(--azng-muted); }
.azng .azng__body { display:flex; flex:1; flex-direction:column; align-items:flex-start; gap:1rem; padding:1.3rem; }
.azng .azng__body h3 { margin:0; color:inherit; font-size:1.2rem; line-height:1.4; overflow-wrap:anywhere; }
.azng .azng__cta { margin-top:auto; color:var(--azng-accent); font-weight:700; }
.azng .azng__link:hover .azng__cta { text-decoration:underline; text-underline-offset:.2em; }
.azng .azng__link:hover img { transform:scale(1.035); }
.azng a:focus-visible { outline:3px solid var(--azng-accent); outline-offset:5px; }
.azng .azng__empty, .azng .azng__notice { padding:1.25rem; background:#f7f3ef; border-radius:8px; }
@media (max-width:900px) { .azng .azng__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .azng .azng__grid { grid-template-columns:minmax(0,1fr); } }
@media (prefers-reduced-motion:reduce) { .azng .azng__media img { transition:none; } .azng .azng__link:hover img { transform:none; } }
