/* === Переменные === */
:root {
  --clr-primary: #d4af37;
  --clr-dark: #222;
  --clr-grey: #555;
  --clr-bg-light: #f9fafb;
  --gap: 1.5rem;
  --max-w: 1200px;
}

/* === Сброс === */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Inter',sans-serif; color:var(--clr-dark); background:#fff; }
.section { padding:4rem 1rem; max-width:var(--max-w); margin:0 auto; }

/* === Hero === */
.hero {
  position:relative; height:60vh;
  background-size:cover; background-position:center;
  display:flex; align-items:center; justify-content:center;
}
.hero__overlay {
  position:absolute; inset:0;
  background:rgba(0,0,0,0.4);
}
.hero__text {
  position:relative; text-align:center; color:#fff;
  animation:fadeInUp .8s ease-out both;
}
.hero__text h1 { font-size:clamp(2rem,5vw,3rem); margin-bottom:.5rem; }
.hero__text p { font-size:1.1rem; }

/* === Заголовок раздела === */
.section-title {
  font-family:'PT Serif',serif;
  font-size:2rem; text-align:center; margin-bottom:2rem;
  position:relative;
}
.section-title::after {
  content:''; width:60px; height:4px; background:var(--clr-primary);
  position:absolute; bottom:-.5rem; left:50%; transform:translateX(-50%);
  border-radius:2px;
}

/* === Awards === */
.awards-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:var(--gap);
}
.award-card {
  background:var(--clr-bg-light);
  border-radius:8px; padding:1.5rem;
  text-align:center; cursor:pointer;
  transition:transform .3s, box-shadow .3s;
  animation:fadeInUp .6s ease both;
}
.award-card img { width:48px; margin-bottom:.75rem; }
.award-card h3 { margin-bottom:.5rem; color:var(--clr-primary); }
.award-card p { color:var(--clr-grey); font-size:.95rem; }
.award-card:hover {
  transform:translateY(-5px);
  box-shadow:0 8px 20px rgba(0,0,0,0.1);
}

/* === Stats === */
.stats-grid {
  display:flex; justify-content:space-around;
  flex-wrap:wrap; gap:var(--gap);
}
.stat {
  text-align:center; padding:1rem;
  animation:fadeInUp .6s ease both;
}
.stat-number {
  font-size:2.5rem; font-weight:700; color:var(--clr-primary);
}
.stat p { margin-top:.25rem; color:var(--clr-grey); }

/* === Exhibits === */
.filters {
  text-align:center; margin-bottom:var(--gap);
}
.filter-btn {
  background:none; border:2px solid var(--clr-primary);
  color:var(--clr-primary); padding:.5rem 1rem;
  border-radius:4px; cursor:pointer; margin:0 .25rem;
  transition:background .3s, color .3s;
}
.filter-btn.active,
.filter-btn:hover {
  background:var(--clr-primary); color:#fff;
}
.exhibit-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:var(--gap);
}
.exhibit-card {
  background:#fff; border-radius:8px; overflow:hidden;
  box-shadow:0 4px 12px rgba(0,0,0,0.08);
  transition:transform .3s, box-shadow .3s;
  animation:fadeInUp .6s ease both;
}
.exhibit-card img { width:100%; display:block; }
.exhibit-card h3 {
  margin:1rem; font-size:1.2rem; color:var(--clr-dark);
}
.exhibit-card p {
  margin:0 1rem 1rem; font-size:.95rem; color:var(--clr-grey);
}
.exhibit-card:hover {
  transform:translateY(-6px);
  box-shadow:0 12px 28px rgba(0,0,0,0.12);
}

/* === Модалка === */
.modal {
  display:none; position:fixed; inset:0;
  background:rgba(0,0,0,0.7);
  justify-content:center; align-items:center;
  z-index:1000;
}
.modal img {
  max-width:90%; max-height:90%;
  border-radius:8px;
}

/* === Анимация появления === */
@keyframes fadeInUp {
  from { opacity:0; transform:translateY(20px); }
  to   { opacity:1; transform:translateY(0); }
}


