/* ==========================================================================
   1. 초기화 및 기본 세팅 (전체적인 조화를 위한 폰트 및 마진 초기화)
   ========================================================================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Noto Sans KR', sans-serif;
}

html {
    scroll-behavior: smooth; /* 부드러운 스크롤 효과로 UX 향상 고민 반영 */
}

body {
    background-color: #fcfbf7; /* 그로구의 옷 색상과 어울리는 따뜻한 아이보리 톤 */
    color: #333;
}

/* ==========================================================================
   2. 헤더 및 네비게이션 (상단 고정 및 레이아웃 고민)
   ========================================================================== */
header {
    background-color: #8fbc8f; /* 그로구를 상징하는 내추럴 연두색(시폼 그린) */
    color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 10%;
    position: sticky; /* 스크롤 내려도 상단에 고정되도록 구현 */
    top: 0;
    z-index: 100;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.logo {
    font-size: 1.3rem;
    font-weight: bold;
}

nav ul {
    display: flex;
    list-style: none;
}

nav ul li {
    margin-left: 20px;
}

nav ul li a {
    color: white;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s;
}

nav ul li a:hover {
    color: #f5f5dc; /* 마우스 올렸을 때 베이지색으로 변경되는 인터랙션 */
}

/* ==========================================================================
   3. 메인 비주얼 (Hero Section)
   ========================================================================== */
.hero {
    background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), 
                url('https://images.unsplash.com/photo-1579546929518-9e396f3cc809?q=80&w=1200') no-repeat center/cover;
    height: 60vh;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: white;
}

.hero-content h1 {
    font-size: 3rem;
    margin-bottom: 15px;
}

.hero-content p {
    font-size: 1.2rem;
    margin-bottom: 25px;
}

.btn {
    background-color: #8fbc8f;
    color: white;
    padding: 10px 25px;
    text-decoration: none;
    border-radius: 30px;
    font-weight: bold;
    transition: background-color 0.3s;
}

.btn:hover {
    background-color: #76a076;
}

/* ==========================================================================
   4. 프로필 영역 (Flexbox 레이아웃 활용)
   ========================================================================== */
.profile-section, .gallery-section {
    padding: 80px 10%;
    text-align: center;
}

.profile-section h2, .gallery-section h2 {
    font-size: 2.2rem;
    margin-bottom: 40px;
    color: #556b2f; /* 진한 올리브 그린 컬러로 타이틀 강조 */
}

.profile-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 50px;
    flex-wrap: wrap; /* 모바일 반응형을 위한 고민 해결 */
}

.profile-img img {
    width: 300px;
    height: 300px;
    border-radius: 50%; /* 이미지를 동그랗게 만들어 귀여운 느낌 강조 */
    object-fit: cover;
    border: 5px solid #8fbc8f;
}

.profile-info {
    text-align: left;
    max-width: 500px;
}

.profile-info h3 {
    margin-bottom: 15px;
    color: #333;
}

.profile-info ul {
    list-style-type: square;
    padding-left: 20px;
}

.profile-info ul li {
    margin-bottom: 12px;
    font-size: 1.1rem;
}

/* ==========================================================================
   5. 갤러리 영역 (Grid 레이아웃을 통해 불규칙한 이미지 크기 고민 해결)
   ========================================================================== */
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); /* 반응형 그리드 배치 */
    gap: 30px;
}

.gallery-item {
    background-color: white;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    transition: transform 0.3s;
}

/* 마우스 호버 시 카드가 살짝 떠오르는 애니메이션 효과 구현 */
.gallery-item:hover {
    transform: translateY(-5px);
}

.gallery-item img {
    width: 100%;
    height: 250px;
    object-fit: cover; /* 이미지가 찌그러지지 않도록 크기 맞춤 고민 해결 */
}

.gallery-item p {
    padding: 15px;
    font-weight: 500;
    color: #555;
}

/* ==========================================================================
   6. 푸터 영역
   ========================================================================== */
footer {
    background-color: #333;
    color: #bbb;
    text-align: center;
    padding: 30px;
    font-size: 0.9rem;
}