/* ===== WORK PAGE 공통 스타일 ===== */
body.work-page {
  overflow-x: hidden;
  overflow-y: auto;
  background: var(--bg);
}

body.work-page main {
  position: static;
  inset: unset;
}

/* 헤더 로고 클릭 가능하게 */
.header-logo {
  height: 48px;
  width: auto;
  filter: invert(1);
  cursor: pointer;
  opacity: 0.9;
  transition: opacity 0.3s ease;
}

.header-logo:hover {
  opacity: 1;
}

/* 뒤로가기 */
.back-btn {
  position: fixed;
  bottom: 36px;
  left: 48px;
  z-index: 100;
  color: rgba(255,255,255,0.4);
  text-decoration: none;
  font-size: 11px;
  letter-spacing: 0.2em;
  transition: color 0.3s ease;
}

.back-btn:hover {
  color: var(--white);
}

/* 타이틀 */
.work-title {
  padding: 140px 48px 48px;
  display: flex;
  align-items: baseline;
  gap: 20px;
}

.work-num {
  font-size: 11px;
  letter-spacing: 0.25em;
  color: var(--gray);
}

.work-title h1 {
  font-size: clamp(28px, 5vw, 56px);
  font-weight: 300;
  letter-spacing: 0.15em;
  color: var(--white);
}

/* 이미지 마소너리 그리드 */
.grid {
  padding: 0 48px 120px;
  columns: 3;
  column-gap: 14px;
}

.grid img {
  width: 100%;
  display: block;
  margin-bottom: 14px;
  break-inside: avoid;
  transition: opacity 0.4s ease, transform 0.4s ease;
  cursor: pointer;
}

.grid img:hover {
  opacity: 0.85;
  transform: scale(1.01);
}

/* 랜덤 크기 클래스 */
.grid img.size-s {
  width: 65%;
}
.grid img.size-m {
  width: 100%;
}
.grid img.size-l {
  width: 100%;
  column-span: none;
}

/* 플레이스홀더 */
.placeholder {
  width: 100%;
  aspect-ratio: 3 / 2;
  background: #1c1c1c;
  border: 1px solid #2a2a2a;
  margin-bottom: 14px;
  break-inside: avoid;
}

/* 반응형 */
@media (max-width: 1024px) {
  .grid {
    columns: 2;
  }
}

@media (max-width: 600px) {
  .grid {
    columns: 2;
    column-gap: 8px;
    padding: 0 12px 80px;
  }
}

/* 반응형 */
@media (max-width: 768px) {
  .work-title {
    padding: 120px 24px 36px;
  }

  .grid {
    padding: 0 24px 80px;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  }

  .back-btn {
    left: 24px;
    bottom: 24px;
  }
}
