:root {
  --ink: #38202f !important;
  --cream: #f3ecef !important;
  --paper: #fcfafb !important;
  --plum: #6d3a55 !important;
  --plum-soft: #d8c3cd;
  --line: rgba(56,32,47,.16) !important;
}

.hero::after {
  background: linear-gradient(90deg,rgba(45,23,37,.98),rgba(72,37,58,.84) 46%,rgba(72,37,58,.18)) !important;
}

.hero-plan {
  background-image: url('/photos/palmela-11.jpg') !important;
  filter: none !important;
  opacity: .72 !important;
}

.gallery-section {
  background: var(--plum);
  color: #fff;
  padding: 105px 0 28px;
  overflow: hidden;
}

.gallery-head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: end;
  margin-bottom: 55px;
}

.gallery-head h2 {
  font-size: clamp(42px,5vw,70px);
  line-height: 1.03;
}

.gallery-head h2 em { color: var(--plum-soft); }

.gallery-note {
  margin: 0;
  padding: 24px 0 0;
  border-top: 1px solid #ffffff3d;
  color: #f4eaf0cc;
  line-height: 1.7;
  font-size: 13px;
  display: flex;
  gap: 14px;
}

.gallery-note span {
  flex: 0 0 24px;
  height: 24px;
  border: 1px solid #ffffff66;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font: italic 14px Georgia,serif;
}

.gallery-track {
  display: grid;
  grid-template-columns: repeat(4,minmax(260px,1fr));
  grid-auto-rows: 310px;
  gap: 8px;
  padding: 0 8px;
}

.gallery-track figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #4a263a;
}

.gallery-track figure.wide { grid-column: span 2; }
.gallery-track img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s ease; }
.gallery-track figure:hover img { transform: scale(1.025); }

.gallery-track figcaption {
  position: absolute;
  bottom: 14px;
  right: 16px;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 1px solid #ffffff99;
  border-radius: 50%;
  font-size: 9px;
  color: #fff;
  background: #3a1f30aa;
}

footer { background: #2d1725 !important; }

@media (max-width: 900px) {
  .gallery-head { grid-template-columns: 1fr; gap: 35px; }
  .gallery-track { grid-template-columns: repeat(2,1fr); grid-auto-rows: 300px; }
}

@media (max-width: 620px) {
  .gallery-section { padding-top: 75px; }
  .gallery-track { grid-template-columns: 1fr; grid-auto-rows: 280px; }
  .gallery-track figure.wide { grid-column: auto; }
  .gallery-track figure:nth-child(n+7) { display: none; }
}
