Overlap image & text using CSS grid

body { background: #d9b19a; padding: 40px 10vw; } .grid-container { display: grid; grid-template: repeat(6, [row] 1fr) / repeat(12, [col] 1fr); grid-gap: 20px; max-width: 650px; margin: 0 auto; overflow: hidden; min-height: 90vh; } .item-1, .item-2 { align-items: center; justify-items: center; line-height: 1; color: white; display: flex; } .item-1 { grid-column: col 2 / span 7; grid-row: row 2 / span 4; z-index: 2; @media (max-width: 700px) { grid-column: col 2 / span 11; grid-row: row 1 / span 3; } } .item-2 { grid-column: col 5 / span 8; grid-row: row 1 / span 6; z-index: 1; @media (max-width: 700px) { grid-column: col 1 / 14; grid-row: row 2 / 7; } } img { width: 100%; height: 100%; object-fit: cover; filter: brightness(0.95); visibility: hidden; max-height: calc(90vh - 40px); @media (max-width: 700px) { height: 100%; max-height: 100%; } } h1 { font-size: 3rem; font-family: termina, sans-serif; text-transform: lowercase; overflow: hidden; display: block; line-height: 1.1; span { visibility: hidden; } }