.entrada-lado { min-width: 0; }

.entrada-foto,
.visit-photo,
.sheet-photo {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.entrada-foto {
  display: none;
}

.cover.cover-penumbra {
  min-height: clamp(430px, 39vw, 535px);
  background-color: #130c10;
  background-image: linear-gradient(90deg, #140b1150, #140b1112 75%), url('/assets/penumbra/01-umbral.webp');
  background-position: center, 39% 54%;
}

.cover-penumbra .hero-heading { padding: 0 0 24px; }
.cover-penumbra h1 { font-size: clamp(40px, 15.5cqw, 100px); }
.cover-penumbra .cover-foot { justify-content: flex-start; }
.menu h2 { margin: 0 0 clamp(15px, 2vw, 26px); }

.visit.visit-penumbra {
  color: var(--paper);
  background: linear-gradient(90deg, #1a111655, transparent),
              #1a1116 url('/assets/penumbra/08-lino-y-hoja.webp') center / cover;
  padding-block: clamp(42px, 6.2vw, 94px);
}

.visit-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: clamp(30px, 5.5vw, 80px);
  align-items: center;
}

.visit-title h2 { margin-bottom: clamp(24px, 2.7vw, 36px); }

.info-grid > div {
  display: grid;
  grid-template-columns: minmax(130px, 1fr) minmax(0, 2.7fr);
  align-items: baseline;
  gap: 8px 24px;
  padding-block: 16px;
  border-top: 1px solid #9a7d75;
}

.info-grid > div:last-child { border-bottom: 1px solid #9a7d75; }

.info-grid h3 {
  font: 400 clamp(21px, 1.7vw, 25px)/1.2 var(--serif);
  letter-spacing: -.02em;
}

.info-grid p {
  max-width: 38ch;
  line-height: 1.5;
}

.visitlinks .contact-actions { margin-top: clamp(24px, 3vw, 36px); }

.visit-penumbra .btn {
  color: var(--ink);
  background: var(--paper);
  border-color: var(--paper);
}

.visit-penumbra .btn:hover { background: #e8d4ba; }

.visit-penumbra .contact-call {
  color: var(--paper);
  background: transparent;
}

.visit-penumbra .contact-call:hover { background: #fff2de24; }
.visit-penumbra a:focus-visible { outline-color: var(--leaf); }

.visit-photo {
  aspect-ratio: 3 / 2;
  object-position: 46% center;
}

.poster.poster-penumbra {
  position: relative;
  isolation: isolate;
  color: var(--paper);
  background-color: #160e11;
  background-image: none;
  outline-color: #413037;
}

.poster-penumbra::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, #130c1050, transparent 55%, #130c1060) center / cover,
              url('/assets/penumbra/05-pausa.webp') 37% center / cover;
  transform: scaleX(-1);
}

.poster-penumbra .glyph {
  background: var(--paper);
  padding: 7px;
  border-radius: 50%;
}

.sheet-photo {
  aspect-ratio: 3.4 / 1;
  object-position: center 58%;
  margin-top: 19px;
}

@media (max-width: 900px) {
  .visit-layout {
    grid-template-columns: minmax(0, 680px);
    justify-content: center;
  }
}

@media (max-width: 760px) {
  .entrada-foto {
    display: block;
    aspect-ratio: 2.9 / 1;
    object-position: center 33%;
    margin-top: 17px;
  }
}

@media (max-width: 680px) {
  .cover.cover-penumbra {
    min-height: clamp(296px, 69vw, 380px);
    background-position: center, 36% center;
  }
  .cover-penumbra h1 { font-size: clamp(40px, 15.5cqw, 76px); }
  .poster-penumbra::before { background-position: center, 34% center; }
  .poster-penumbra .glyph { padding: 5px; }
}

@media (max-width: 520px) {
  .info-grid > div {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }
}
