/* HOME PAGE V3 */

.home-body { overflow: hidden; height: 100vh; }

/* Full-bleed photo background */
.home__bg {
  position: fixed;
  inset: 0;
  z-index: -1;
}
.home__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
  filter: grayscale(100%);
}
.home__bg-overlay {
  position: absolute;
  inset: 0;
  background: rgba(150, 52, 23, 0.72);
}

/* Main layout */
.home {
  display: grid;
  grid-template-rows: auto 1fr auto;
  height: 100vh;
  padding-top: 66px;
}

/* Tags bar */
.home__tags {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 18px 48px 0;
  flex-wrap: wrap;
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 0.5s var(--ease) 0.1s, transform 0.5s var(--ease) 0.1s;
}
.home__tags.visible { opacity: 1; transform: none; }
.home__tag {
  font-family: var(--font-label);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(232, 225, 213, 0.75);
  padding: 0 10px;
}
.home__tag::after {
  content: ' ·';
  padding-left: 10px;
  color: rgba(232, 225, 213, 0.35);
}
.home__tag:last-child::after {
  content: '';
}

/* Center content: name */
.home__identity {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 48px;
}
.home__name {
  display: block;
  line-height: 0.88;
  margin-bottom: 28px;
}
.home__name-lis,
.home__name-kanzler {
  font-family: var(--font-display);
  display: inline;
  color: var(--linen);
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.7s var(--ease), transform 0.7s var(--ease);
}
.home__name.visible .home__name-lis    { opacity: 1; transform: none; transition-delay: 0.15s; }
.home__name.visible .home__name-kanzler { opacity: 1; transform: none; transition-delay: 0.25s; }
.home__name-lis     { font-size: clamp(52px, 7vw, 96px); letter-spacing: 0.04em; }
.home__name-kanzler { font-size: clamp(52px, 7vw, 96px); letter-spacing: 0.04em; }

.home__bio {
  font-family: var(--font-body);
  font-size: clamp(13px, 1.3vw, 15px);
  font-weight: 300;
  line-height: 1.75;
  color: rgba(232, 225, 213, 0.85);
  max-width: 62vw;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.6s var(--ease) 0.35s, transform 0.6s var(--ease) 0.35s;
}
.home__bio.visible { opacity: 1; transform: none; }

/* Tiles grid - 9 tiles, 3x3 */
.home__projects {
  border-top: 1px solid rgba(232, 225, 213, 0.1);
  padding: 0 48px 0;
  flex-shrink: 0;
}
.tiles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  flex: 1;
  min-height: 0;
  border-top: 1px solid rgba(232, 225, 213, 0.08);
  max-height: 380px;
}
.tile {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 14px 18px 12px;
  border-right: 1px solid rgba(232, 225, 213, 0.08);
  border-bottom: 1px solid rgba(232, 225, 213, 0.08);
  border-radius: 0;
  overflow: hidden;
  cursor: none;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.4s var(--ease), transform 0.4s var(--ease), background 0.3s ease;
}
.tile.visible { opacity: 1; transform: none; }
.tile:nth-child(3n)  { border-right: none; }
.tile:nth-child(7), .tile:nth-child(8), .tile:nth-child(9) { border-bottom: none; }
.tile:hover { background: var(--terra); }

.tile__cat {
  font-family: var(--font-label);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(206, 181, 158, 0.75);
  margin-bottom: 5px;
  transition: color 0.2s ease;
}
.tile:hover .tile__cat { color: rgba(255, 255, 255, 0.9); }

.tile__name {
  font-family: var(--font-display);
  font-size: clamp(13px, 1.4vw, 17px);
  font-weight: normal;
  color: var(--linen);
  margin-bottom: 8px;
  line-height: 1.1;
  text-transform: uppercase;
  transition: color 0.2s ease;
}
.tile:hover .tile__name { color: var(--linen); }

.tile__teaser {
  font-family: var(--font-body);
  font-size: 12px;
  color: rgba(232, 225, 213, 0.75);
  line-height: 1.5;
  transition: color 0.2s ease;
}
.tile:hover .tile__teaser { color: rgba(232, 225, 213, 0.9); }

.tile__arrow {
  align-self: flex-end;
  font-size: 14px;
  color: rgba(206, 181, 158, 0.4);
  transition: color 0.2s ease, transform 0.2s ease;
}
.tile:hover .tile__arrow { color: var(--linen); transform: translateX(4px); }

/* Responsive */
@media (max-width: 1100px) {
  .home__identity { padding: 0 32px; }
  .home__projects { padding: 0 32px; }
  .home__tags { padding: 14px 32px 0; }
}

@media (max-width: 768px) {
  .home-body { overflow: auto; height: auto; }
  .home { grid-template-rows: auto auto auto auto; height: auto; }

  .home__identity { padding: 28px 24px 0; }
  .home__name-lis { font-size: clamp(52px, 18vw, 96px); }
  .home__name-kanzler { font-size: clamp(52px, 11vw, 96px); }

  .home__bio { max-width: 100%; margin-bottom: 36px; }

  .home__projects { padding: 0 24px; }
  .tiles {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
    height: auto;
    max-height: none;
  }
  .tile:nth-child(3n)  { border-right: 1px solid rgba(232,225,213,0.08); }
  .tile:nth-child(2n)  { border-right: none; }
  .tile:nth-child(7), .tile:nth-child(8), .tile:nth-child(9) { border-bottom: 1px solid rgba(232,225,213,0.08); }
  .tile:nth-child(9) { border-bottom: none; }

  .home__tags { padding: 24px 24px 0; }

  /* Desktop/mobile cat label switching */
  .cat-m { display: none; }
}

/* cat-d shown on desktop, cat-m shown on mobile */
.cat-d { display: inline; }
.cat-m { display: none; }
@media (max-width: 768px) {
  .cat-d { display: none; }
  .cat-m { display: inline; }
}
