:root{
  --bg:#eef2f4;
  --ink:#23313d;
  --muted:#5c6b76;
  --warm:#f6efe6;
}

*{ box-sizing:border-box; }

body{
  margin:0;
  font-family: Georgia, "Times New Roman", serif;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,222,180,.55), transparent 26%),
    radial-gradient(circle at 82% 18%, rgba(185,211,226,.65), transparent 34%),
    linear-gradient(180deg, var(--warm) 0%, var(--bg) 52%, #dce6eb 100%);
  color:var(--ink);
  min-height:100vh;
}

.container{
  max-width:1100px;
  margin:0 auto;
  padding:60px 20px 38px;
  text-align:center;
}

h1{
  font-size:clamp(56px, 10vw, 96px);
  font-weight:400;
  letter-spacing:.03em;
  margin:0;
}

.tagline{
  color:var(--muted);
  margin:12px 0 54px;
  font-size:18px;
}

.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 280px));
  justify-content:center;
  gap:42px;
}

.release{
  text-decoration:none;
  color:inherit;
  display:block;
}

.release img{
  width:280px;
  height:280px;
  max-width:100%;
  object-fit:cover;
  border-radius:14px;
  box-shadow:0 18px 40px rgba(35,49,61,.16);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.release:hover img{
  transform:translateY(-4px);
  box-shadow:0 24px 52px rgba(35,49,61,.24);
  filter:saturate(1.03);
}

.title{
  margin-top:14px;
  font-size:21px;
  line-height:1.25;
}

footer{
  margin-top:76px;
  color:var(--muted);
  font-size:14px;
  line-height:1.7;
}

footer a{
  color:var(--ink);
  text-decoration:none;
  border-bottom:1px solid rgba(35,49,61,.22);
}

footer a:hover{
  border-bottom-color:var(--ink);
}

@media (max-width:640px){
  .container{ padding-top:42px; }
  .tagline{ margin-bottom:42px; }
  .grid{ gap:36px; }
  .release img{
    width:260px;
    height:260px;
  }
}
