* { box-sizing: border-box; }

html { color-scheme: dark; background: #000; }

body {
    width: min(100% - 24px, 1100px);
    margin: 0 auto;
    padding: 24px 0 48px;
    color: #fff;
    font: 15px/1.5 Verdana, Arial, sans-serif;
}

header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}

h1 { margin: 0; color: #e1252c; font-size: clamp(1.35rem, 5vw, 2rem); }
a { color: #fff; }
a:hover, a:focus-visible { color: #ff3038; }
.back { font-weight: 700; }

.gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 12px;
}

.gallery a {
    display: block;
    overflow: hidden;
    border: 1px solid #333;
    border-radius: 4px;
    background: #111;
    aspect-ratio: 4 / 3;
}

.gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .2s ease;
}

.gallery a:hover img, .gallery a:focus-visible img { transform: scale(1.04); }
