* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Index", sans-serif;
    line-height: 1.2;
}

body {
    background-color: black;
    overflow-y: auto;
    height: auto;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: repeat(5, 1fr);
    gap: 16px;
    color: white;
    scrollbar-width: none;
    -ms-overflow-style: none;
    
    
    /* Baseline grid setup */
    --baseline-unit: 1rem;
    font-size: 1rem;
}



html {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

html::-webkit-scrollbar {
    display: none;
}


body::-webkit-scrollbar {
  display: none;
}

div:hover > #hov,
div:hover > #hov2,
div:hover > #hov3,
div:hover > #hov4{
  display : block;
}


.Name { 
    position: fixed;
    font-weight: 900;
    font-size: 10vw;
    text-transform: uppercase;
    letter-spacing: -1px;
    text-decoration: none;
    margin: 0;
    left: 8px;
    padding: 0;
    text-shadow: 0 0 8px rgba(0, 0, 0, 0.191);
}   

.Name:hover {
    color: red;
    opacity: 1;
    cursor: nw-resize;
}

#Nachname{
  position: fixed;
  margin-top: 10vw;
  left:8px;
  z-index: 999;
}

a.Name {
    text-decoration: none;
    color: white;
}

.Name:hover {
    opacity: 100%;
    color: red;
}

.contact {
    width: 100%;
    position: sticky;
    bottom: 0px;
    cursor: se-resize;
    grid-column: 6;
    grid-row: 5;
    display: flex;
    align-items: flex-end; /* Add this line */
    color: white;    
    padding-right: 16px;
    justify-content: right;
    font-weight: 900;
    padding-bottom: 16px;
    z-index: 999;
    text-shadow: 0 0 8px rgba(0, 0, 0, 0.28);
}

.container {
grid-column: 2 / 5;
grid-row: 1 / 6;
overflow: visible;
scroll-behavior: smooth;
-ms-overflow-style: none;
scrollbar-width: none;
z-index: 1;
pointer-events: all;
}

.image-container:first-child {
    margin-top: 10vw;
    border: 2px solid black;
    border-bottom: 1px solid black;
}

#main img{
    cursor: none;
}

#hov, #hov2, #hov3, #hov4{
  position:fixed;
  display: none;
  font-size: 2rem;
  font-weight: bold;
  color: rgb(255, 255, 255);
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.191);
  left: 0;
  top: 0;
  transform: translate(-50%, -50%);
  pointer-events: none;       /* very important: never intercept touches/clicks */
  opacity: 1;
  transition: opacity 180ms ease;
  user-select: none;
  z-index: 9999;
}

.image-container {
height: auto;
transition: opacity 0.3s ease;
border-left: 2px solid black;
border-right: 2px solid black;
border-bottom: 1px solid black;
pointer-events: all;
cursor: none;
background-color: white;

}
.image-container img {
width: 100%;
height: auto;
display: block;
cursor: none;
box-shadow: 0 0 16px rgba(0, 0, 0, 0.287);
}


.image-container video {
width: 100%;
height: auto;
display: block;
}

.contact:hover {
    color: red;
}

.email-field {
font-size: 1rem;
  width: auto; /* statt 100% */
  letter-spacing: 1px;
  position: fixed;
  bottom: 0px;
  right: 0px;
  cursor: se-resize;
  display: flex;
  justify-content: right;
  margin-bottom: 40px;
  margin-right: 16px;
  font-weight: 900;
  color: white;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  background-color: black;
  z-index: 999;

}

.email-field :hover{
    color: red;
}
.email-field a {
    text-decoration: none;
    color: inherit
}

.email-field.show {
  opacity: 1;
  pointer-events: all;
}


@media (hover: none) and (pointer: coarse) {
  #hov,
  #hov2,
  #hov3,
  #hov4 {
    display: none !important;
  }
}
@media (max-width: 768px) {
  .container {
    grid-column: 3 / 7; /* Container geht über alle 6 Spalten */
    padding: 0 16px;    /* optional, damit etwas Abstand bleibt */
  }
}
