/* 기본 초기화 및 부드러운 스크롤 설정 */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Pretendard', sans-serif;
}

html {
    scroll-behavior: smooth; /* 클릭 시 부드럽게 스크롤 */
}

body {
    line-height: 1.6;
    color: #333;
}

a {
    text-decoration: none;
    color: inherit;
}

/* 레이아웃 컨테이너 */
.container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

.center-text {
    text-align: center;
}

/* 상단 고정 헤더 */
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: rgba(255, 255, 255, 255);
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    z-index: 1000;
    transition: 0.3s;
}

header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 70px;
}

.logo {
    font-size: 24px;
    font-weight: bold;
}

.nav-links {
    list-style: none;
    display: flex;
    gap: 30px;
}

.nav-links a {
    font-size: 16px;
    font-weight: 500;
    transition: color 0.3s;
}

.nav-links a:hover,
.nav-links a.active {
    color: #01A081; /* 활성화 및 호버 시 색상 */
}

/* 메인 배너 (Hero) */
.hero-section-bottom {
    height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;

    padding-top: 70px;

    /* 배경 이미지 + 검정색 반투명 */
    background-image:
        linear-gradient(rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.55)),
        url('/img/t4.png');

    /* 이미지 반복 여부: 반복 안 함 */
    background-repeat: no-repeat;

    /* 이미지 위치: 정중앙 */
    background-position: center;

    /* 이미지 크기: 요소 전체를 꽉 채우도록 확대/축소 */
    background-size: cover;

    /* 스크롤 시 이미지 고정 여부 */
    background-attachment: fixed;
}


/* 메인 배너 (Hero) */
.hero-section {
    height: 750px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;

    padding-top: 70px;
	  background-image: url('/img/t1.jpg');

  /* 이미지 반복 여부: 반복 안 함 */
  background-repeat: no-repeat;

  /* 이미지 위치: 정중앙 */
  background-position: center;

  /* 이미지 크기: 요소 전체를 꽉 채우도록 확대/축소 */
  background-size: cover;

  /* 스크롤 시 이미지 고정 여부 (선택 사항) */
  background-attachment: fixed;
}


.hero-content p {
    font-size: 18px;
    margin-bottom: 30px;
    color: #666;
}

.btn {
    display: inline-block;
    padding: 12px 30px;
    background-color: #333;
    color: #fff;
    border-radius: 50px;
    font-weight: bold;
    transition: 0.3s;
}

.btn:hover {
    background-color: #01A081;
}

/* 일반 섹션 공통 스타일 */
.section {
    padding:10px 0;
    min-height: 30vh;
}



.bg-light {
   //  background-color: #f9f9f9;
}




/* --- 포트폴리오 그리드2 --- */
.grid-container2 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}


/* --- 포트폴리오 그리드 & 애니메이션 --- */
.grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

.grid-item {
    background: #fff;
  //  padding: 50px 20px;
  //  text-align: center;
  //  border-radius: 8px;
   // box-shadow: 0 5px 15px rgba(0,0,0,0.05);
   // font-size: 20px;
  //  font-weight: bold;
    
    /* 애니메이션 초기 상태 (투명하고 아래로 50px 내려가 있음) */
    opacity: 0; 
    transform: translateY(50px); 
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* 자바스크립트에 의해 .show 클래스가 붙었을 때의 상태 */
.grid-item.show {
    opacity: 1; 
    transform: translateY(0); 
}



/* 하단 푸터 */
footer {
    background-color: #000;
    color: #fff;
    text-align: center;
    padding: 30px 0;
}



/* CSS */
.transparent-layer {
  width: 737px;
  height: 350px;
  padding-top: 50px;

  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 25px;

  box-sizing: border-box;

  transform: translateX(300px);
}