    :root {
  --circle-size: clamp(150px, 20vw, 250px);
      --font-family: "Noto Sans KR", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
    }

.container.section-title {
  position: relative;
  width: 100%;
  padding: 100px 0; /* ✅ 위아래 여백만 남기기 (원하는 높이로 조절) */
  background: linear-gradient(to bottom, #ffffff 0%, #e6e6e6 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}


/* 내부 콘텐츠 정렬 */
.container.section-title .wrap {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 오버레이 제거 (혹시 남아 있다면 주석 처리) */
/*
.container.section-title::before {
  content: none;
}
*/

/* 메뉴가 정상적으로 위에 표시되도록 */
.container.section-title .menu-row {
  position: relative;
  z-index: 1;
}



    /* ✅ 모든 요소의 기본 여백 제거 */
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    /* ✅ Hero, Footer, Wrap 간의 간격 제거 */
    section, header, footer, main {
      margin: 0;
      padding: 0;
    }

    /* ✅ wrap: 배경 위 중앙 배치 */
    .wrap {
      width: 100vw;
      height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    /* ✅ 메뉴 행: 양옆 여백 제거하고 가운데 정렬 */
    .menu-row {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 5vw;
      flex-wrap: wrap;
      width: 100%;
      max-width: none;
    }

    /* ✅ 메뉴 아이템 */
    .menu-item {
      width: var(--circle-size);
      height: var(--circle-size);
      border-radius: 50%;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      text-decoration: none;
      color: #fff;
      font-weight: 800;
      letter-spacing: 0.02em;
      font-size: clamp(18px, 2.5vw, 28px);
      border: 2px solid rgba(255,255,255,0.25);
      box-shadow: 0 10px 26px rgba(0,0,0,0.18);
      cursor: pointer;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .menu-item img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      z-index: 0;
      transition: transform 0.4s ease;
    }

    .menu-item::after {
      content: "";
      position: absolute;
      inset: 0;
      border-radius: 50%;
      background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,0.45) 85%);
      z-index: 1;
      opacity: 0;
      transition: opacity 0.4s ease;
    }

    .menu-item span {
      position: relative;
      z-index: 2;
      text-shadow: 0 2px 8px rgba(0,0,0,0.45);
      opacity: 0;
      transform: translateY(10px);
      transition: opacity 0.4s ease, transform 0.4s ease;
    }

    .menu-item .sub {
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translate(-50%, 14px);
      font-weight: 600;
      font-size: 13px;
      color: #fff;
      text-shadow: 0 1px 4px rgba(0,0,0,0.6);
      opacity: 0;
      transition: opacity 0.4s ease, transform 0.4s ease;
      z-index: 2;
    }

    /* ✅ hover 시 텍스트 등장 + 이미지 확대 */
    .menu-item:hover {
      transform: translateY(-8px) scale(1.04);
      box-shadow: 0 18px 42px rgba(0,0,0,0.28);
    }

    .menu-item:hover img {
      transform: scale(1.08);
    }

    .menu-item:hover::after {
      opacity: 1;
    }

    .menu-item:hover span {
      opacity: 1;
      transform: translateY(0);
    }

    .menu-item:hover .sub {
      opacity: 1;
      transform: translate(-50%, 8px);
    }

    /* ✅ 모바일 대응 */
    @media (max-width: 700px) {
      .menu-row {
        flex-direction: column;
        gap: 30px;
      }
      .wrap {
        height: 100vh;
      }
    }