*{margin:0; padding:0; box-sizing:border-box;}
        body{font-family:'Noto Sans KR', sans-serif; scroll-behavior:smooth; overflow-x:hidden;
		
		


		/* 기존 스타일 유지 */
		font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
		line-height: 1.6;
		color: #333;

		/* 👇 배경 이미지 관련 설정 👇 */
		background-image: url('your-background-image.jpg'); /* 여기에 이미지 경로를 넣어주세요 */
		background-size: cover; /* 이미지가 화면을 가득 채우도록 크기 조절 */
		background-repeat: no-repeat; /* 이미지 반복 제거 */
		background-attachment: fixed; /* (선택 사항) 스크롤 시 배경 이미지는 고정 */
		background-position: center center; /* 이미지를 중앙에 배치 */
		
		/* body 높이를 최소한 뷰포트 높이만큼 설정 (배경이 꽉 차 보이도록) */
		min-height: 100vh;
		}




        section{min-height:100vh; display:flex; justify-content:center; align-items:center; padding:50px; flex-direction:column; text-align:center;}
		
        /* 네비게이션 */
        nav{
            position:fixed; top:0; left:0; width:100%; 
            background:rgba(255,255,255,0.8); 
            backdrop-filter: blur(10px);
            display:flex; justify-content:center; gap:30px;
            padding:15px; z-index:1000; 
            border-bottom:1px solid #ddd;
        }
        nav a{color:#333; text-decoration:none; font-weight:bold; transition:0.3s;}
        nav a:hover{color:#ff4081;}

        /* Hero */
        #hero{
            background:linear-gradient(270deg, #0078ff, #00c6ff, #ff4081);
            background-size:120% 120%; /* 배경이미지 사이즈 */
            color:white;
            animation:bgGradient 40s ease infinite; /* 배경이미지 움직이는 속도 */
        }
        #hero h1{font-size:48px; margin-bottom:20px;}
        #hero p{font-size:20px; opacity:0.9;}
        .typing{border-right:2px solid white; padding-right:5px; white-space:nowrap; overflow:hidden;}

        @keyframes bgGradient{
            0%{background-position:0% 50%;}
            50%{background-position:100% 50%;}
            100%{background-position:0% 50%;}
        }

        /* 카드 레이아웃 */
        .grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:20px; width:100%; max-width:1200px;}
        .card{
            background:white; border-radius:15px; padding:20px; 
            box-shadow:0 4px 15px rgba(0,0,0,0.1);
            transition:transform 0.3s, box-shadow 0.3s;
        }
        .card:hover{transform:translateY(-10px) rotate(-1deg); box-shadow:0 8px 20px rgba(0,0,0,0.15);}

        /* 애니메이션 */
        .reveal{opacity:0; transform:translateY(40px); transition:all 0.8s ease;}
        .reveal.active{opacity:1; transform:translateY(0);}

        /* 섹션 스타일 */
        #about{background:#f8f8f8;}
        #services{background:#fff;}
        #portfolio{background:#eef7ff;}
        #contact{background:#f8f8f8;}

        /* 반응형 네비게이션 */
        .menu-btn{display:none; background:none; border:none; font-size:28px; cursor:pointer;}
        @media(max-width:768px){
            nav{justify-content:space-between; padding:15px 20px;}
            .menu-btn{display:block;}
            .nav-links{display:none; flex-direction:column; gap:15px; position:absolute; top:60px; right:20px; background:#fff; padding:15px; border-radius:10px; box-shadow:0 4px 10px rgba(0,0,0,0.1);}
            .nav-links.open{display:flex;}
        }

	/* ✅ 네비게이션 고정 */
	nav {
	  position: fixed;
	  top: 0;
	  left: 0;
	  width: 100vw; /* ✅ 100% 대신 100vw 로 확실히 화면 전체 차지 */
	  background: rgba(255,255,255,0.9);
	  backdrop-filter: blur(10px);
	  display: flex;
	  justify-content: space-between;
	  align-items: center;
	  padding: 15px 20px;
	  z-index: 1000;
	  border-bottom: 1px solid #ddd;
	  box-sizing: border-box;

	  /*상단바 배경*/
	   /* 투명도 적용 */
	  background: rgba(255, 255, 255, 0.7); /* 배경색 + 투명도 */
	  
	  /*
	  display: flex;
	  justify-content: space-between;
	  align-items: center;
	  z-index: 1000;
	  box-sizing: border-box;
	  */
	}

	/* ✅ 로고/버튼 폭 고정 */
	nav .logo {
	
	  flex-shrink: 0;
	  width: 120px; /* ✅ 최소 폭 확보 */
	}
	.menu-btn {
	  flex-shrink: 0;
	  font-size: 28px;
	  cursor: pointer;
	  width: 40px; /* ✅ 폭 고정해서 흔들림 방지 */
	  height: 40px;
	  display: flex;
	  justify-content: center;
	  align-items: center;
	  background: none;
	  border: none;
	}

	/* ✅ 메뉴 링크 스타일 */
	.nav-links {
	  display: flex;
	  gap: 30px;
	}
	.nav-links a {
	  text-decoration: none;
	  color: #333;
	  font-weight: bold;
	  transition: 0.3s;
	}
	.nav-links a:hover {
	  color: #ff4081;
	}

	/* ✅ 모바일 반응형 */
	@media (max-width: 768px) {
	  .nav-links {
		display: none;
		flex-direction: column;
		gap: 15px;
		position: absolute;
		top: 60px;
		right: 20px;
		background: #fff;
		padding: 15px;
		border-radius: 10px;
		box-shadow: 0 4px 10px rgba(0,0,0,0.1);
		min-width: 160px;
	  }
	  .nav-links.open {
		display: flex;
	  }
	}


	/* 기본 상태: 데스크탑 화면 */
	.menu-btn {
	  display: none; /* 데스크탑에서는 햄버거 안보임 */
	}

	/* ✅ 모바일 전용 */
	@media (max-width: 768px) {
	  .menu-btn {
		display: block; /* 모바일에서는 햄버거 보이게 */
	  }

	  .nav-links {
		display: none; /* 기본 메뉴는 모바일에서 숨김 */
	  }

	  .nav-links.open {
		display: flex; /* 햄버거 클릭 시에만 보이도록 */
	  }
	}

		


		/* 햄버거 버튼 기본은 데스크탑에서 숨김 */
.menu-btn {
  display: none;
}

/* ✅ 모바일 전용 */
@media (max-width: 768px) {
  .menu-btn {
    display: block;
    font-size: 28px;
    cursor: pointer;
    background: none;
    border: none;
    color: #333;
    z-index: 1100; /* 메뉴 위로 나오게 */
  }

  .nav-links {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px;

    /* ✅ 화면 전체 덮는 스타일 */
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;

    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(6px);
    z-index: 1000;

    font-size: 22px;
    font-weight: bold;
  }

  /* 햄버거 클릭시 열림 */
  .nav-links.open {
    display: flex;
    animation: fadeIn 0.3s ease-in-out;
  }
}

/* 간단한 페이드인 애니메이션 */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}



/***************/

/* 데스크탑 기본 */
.menu-btn {
  display: none;
}

/* ✅ 모바일 전용 */
@media (max-width: 768px) {
  .menu-btn {
    display: block;
    font-size: 28px;
    cursor: pointer;
    background: none;
    border: none;
    color: #333;
    z-index: 1100;
  }

  .nav-links {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px;

    /* 풀스크린 메뉴 */
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;

    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(6px);
    z-index: 1000;

    font-size: 22px;
    font-weight: bold;
  }

  .nav-links.open {
    display: flex;
    animation: fadeIn 0.3s ease-in-out;
  }

  /* ✅ 닫기(X) 버튼 */
  .close-btn {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 28px;
    background: none;
    border: none;
    cursor: pointer;
    color: #333;
  }
}

/* 간단한 페이드인 애니메이션 */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}







/* about */

/* --- 반응형 디자인 (Media Query) --- */

/* 태블릿 (화면 너비 900px 이하) */
@media (max-width: 900px) {
    .services-container {
        gap: 20px; /* 박스 간 간격 */
        justify-content: center; /* 박스들이 중앙에 오도록 */
    }
    /* 박스가 2개씩 표시되도록 조정 */
    .service-box {
        flex: 1 1 calc(50% - 20px); /* 50% 너비에서 gap만큼 빼줌 */
        max-width: calc(50% - 20px); /* 최대 너비도 설정 */
    }
}

