:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#182235;background:#f4f6f8;line-height:1.5}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.wall{width:min(1100px,calc(100% - 24px));margin:24px auto 70px}
.hero,section,.privacy,footer{background:#fff;border:1px solid #dce1e8;border-radius:18px;padding:clamp(18px,4vw,34px);margin-bottom:16px;position:relative}
.hero{background:linear-gradient(135deg,#182235,#264c80);color:#fff;overflow:hidden}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;
  background:repeating-linear-gradient(135deg,#ee6b37 0 18px,#182235 18px 36px);
  opacity:.9}
.hero h1{font-size:clamp(2rem,6vw,3.6rem);line-height:1.02;max-width:800px;margin:.3rem 0 1rem}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:850;font-size:.75rem;color:#ee6b37}
.privacy{background:#fff7df;border-color:#e9d9a5;font-size:.92rem}

.filters{display:flex;flex-wrap:wrap;gap:8px;padding:14px 4px;margin-bottom:8px;background:none;border:0}
.filters button{border:1px solid #aab5c5;background:#fff;color:#182235;border-radius:999px;padding:.5rem 1rem;font-weight:700;font-size:.85rem;cursor:pointer}
.filters button[aria-pressed="true"]{background:#182235;color:#fff;border-color:#182235}
.filters button:focus-visible{outline:3px solid #7db7ff;outline-offset:2px}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.card{border:1px solid #dce1e8;border-radius:16px;overflow:hidden;background:#f8f9fb;display:flex;flex-direction:column}
.card-media{position:relative;aspect-ratio:4/3;background:repeating-linear-gradient(135deg,#e2e6ec 0 14px,#eceff3 14px 28px);display:flex;align-items:center;justify-content:center}
.card-media img{width:100%;height:100%;object-fit:cover;display:block}
.card-media img:not([src]),.card-media img[src=""]{display:none}
.card-media .no-image{color:#66738a;font-size:.8rem;font-weight:700;text-align:center;padding:0 16px}
.tag{position:absolute;top:10px;left:10px;background:#ee6b37;color:#fff;font-weight:800;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;padding:.3rem .6rem;border-radius:999px}
.card-body{padding:16px;display:flex;flex-direction:column;gap:10px}
.caption{font-weight:800;color:#264c80;margin:0}
dl{margin:0;display:grid;gap:8px}
dl div{display:grid;gap:2px}
dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#66738a}
dd{margin:0;font-size:.9rem}

.empty{text-align:center;color:#66738a;padding:32px 0}
footer{font-size:.86rem;color:#4c596d}

@media(max-width:520px){.hero h1{font-size:1.8rem}}
