body {
      margin: 0;
      font-family: 'Noto Sans KR', sans-serif;
      line-height: 1.6;
      color: #333;
      background: #fff;
    }
    nav {
      background: #333;
      color: #fff;
      display: flex;
      justify-content: center;
      padding: 1em;
    }
    nav a {
      color: #fff;
      text-decoration: none;
      margin: 0 1em;
      font-weight: bold;
      font-size: 16px;
    }
    nav a:hover {
      text-decoration: underline;
    }
    /* 히어로 영역 */
.hero {
  background: url('초심건설중기메인.jpeg') center top / cover no-repeat;
  height: 500px;
  /* 아래 속성들은 h1이 hero 밖으로 나가면서 필요 없어지므로 제거 */
  /* display: flex; */
  /* align-items: flex-end; */
  /* justify-content: center; */
  /* color: #fff; */
  /* text-shadow: 2px 2px 5px #000; */
  /* padding-bottom: 30px; */
  /* text-align: center; */
}

/* 히어로 텍스트 박스 (새로운 스타일 - 기존 .hero h1 대체) */
.hero-title-box {
  background: rgba(0, 0, 0, 0.5); /* 기존 h1 배경 유지 */
  padding: 10px 30px;
  border-radius: 10px;
  font-size: 28px;
  color: #fff; /* 텍스트 색상 추가 */
  text-shadow: 2px 2px 5px #000; /* 텍스트 그림자 추가 */
  margin: 0 auto; /* 중앙 정렬 */
  max-width: fit-content; /* 내용물 너비만큼만 차지 */
  margin-top: 40px; /* 기존 -50px에서 40px로 변경 (더 아래로) */
  position: relative; /* z-index를 위해 */
  z-index: 10; /* 다른 요소 위에 오도록 */
}

/* 반응형 조정 */
@media (max-width: 600px) {
  .hero {
    height: 300px;
  }
  .hero-title-box {
    font-size: 20px;
    padding: 8px 16px;
    margin-top: 30px; /* 기존 -30px에서 30px로 변경 (모바일에서도 더 아래로) */
  }
}

.hero-title-box {
  background: rgba(0, 0, 0, 0.5);
  padding: 10px 30px;
  border-radius: 10px;
  font-size: 28px;
  color: #fff;
  text-shadow: 2px 2px 5px #000;
  margin: 0 auto;
  max-width: fit-content;
  margin-top: 40px; /* 필요에 따라 조절 */
  position: relative;
  z-index: 10;
  text-align: center; /* 전체 텍스트 가운데 정렬 */
}

.hero-title-box .phone-number {
  display: block; /* 줄 바꿈 효과 */
  margin-top: 8px; /* 위쪽 여백 */
  font-weight: 700;
  font-size: 28px; /* 전화번호 글씨 크기 */
}


    /* 소개 영역 좌우 레이아웃 */
    .container {
      display: flex;
      align-items: center;
      max-width: 900px;
      margin: 60px auto 80px;
      gap: 40px;
      border-bottom: 1px solid #ddd;
      padding-bottom: 40px;
      padding-left: 20px;
      padding-right: 20px;
    }
    .left {
      flex: 1;
      text-align: center;
      border-right: 1px solid #ddd;
      padding-right: 40px;
    }
    .left img {
      width: 150px;
      height: 150px;
      border-radius: 50%;
      object-fit: cover;
      margin-bottom: 20px;
      box-shadow: 0 0 8px rgba(0,0,0,0.1);
    }
    .left h2 {
      margin: 0 0 10px;
      font-weight: 700;
      font-size: 22px;
      color: #222;
    }
    .left p {
      margin: 5px 0;
      color: #666;
      font-size: 14px;
      letter-spacing: 0.05em;
    }
    .right {
      flex: 2;
      font-size: 16px;
      color: #333;
    }
    .right p {
      margin-bottom: 12px;
    }

    /* 지도 섹션 */
    .map-section {
      max-width: 1000px;
      margin: 0 auto 60px;
      padding: 0 20px;
      text-align: center;
    }
    .map-section h2 {
      font-size: 24px;
      margin-bottom: 20px;
      color: #222;
      font-weight: 700;
    }
    iframe {
      width: 100%;
      height: 450px;
      border: 0;
      border-radius: 8px;
      box-shadow: 0 0 15px rgba(0,0,0,0.1);
    }

    /* 반응형 */
    @media (max-width: 700px) {
      .hero {
        height: 300px;
        padding-bottom: 20px;
      }
      .hero h1 {
        font-size: 20px;
        padding: 8px 16px;
      }
      nav {
        flex-wrap: wrap;
        padding: 0.8em 0;
      }
      nav a {
        margin: 0.5em 0.8em;
        font-size: 14px;
      }
      .container {
        flex-direction: column;
        border-right: none;
        padding-bottom: 20px;
        gap: 20px;
        margin: 40px 20px 60px;
      }
      .left {
        border-right: none;
        padding-right: 0;
      }
      .left img {
        width: 120px;
        height: 120px;
      }
      .right {
        font-size: 14px;
      }
      iframe {
        height: 300px;
      }
    }

    /* 고정 아이콘 스타일 */
    .fixed-icons {
        position: fixed;
        right: 20px;
        bottom: 100px;
        display: flex;
        flex-direction: column;
        gap: 15px;
        z-index: 9999;
    }
    .fixed-icons button {
        width: 48px;
        height: 48px;
        border-radius: 50%;
        border: none;
        background: rgba(50, 50, 50, 0.8);
        color: white; /* 이모지(전화, 지도)와 TOP 텍스트에 적용 */
        font-size: 24px; /* 이모지(전화, 지도) 폰트 크기 */
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 2px 6px rgba(0,0,0,0.3);
        transition: background 0.3s ease;
        padding: 0; /* 버튼 내부 패딩 제거 (이미지가 꽉 차게) */
    }
    .fixed-icons button:hover {
        background: rgba(80, 80, 80, 1);
    }
    .fixed-icons button.top-button {
        background: white;
        color: black;
        font-weight: bold;
        font-size: 14px;
    }

    /* 블로그 이미지 아이콘 전용 스타일 (새로 추가) */
    .fixed-icons button .icon-img {
      width: 28px; /* 이미지 아이콘의 너비 */
      height: 28px; /* 이미지 아이콘의 높이 */
      object-fit: contain; /* 이미지 비율을 유지하면서 요소 안에 맞춤 */
      display: block; /* 이미지 중앙 정렬을 위해 */
  }

    /* 모달 배경 */
    .modal-overlay {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0,0,0,0.5);
        display: none;
        justify-content: center;
        align-items: center;
        z-index: 10000;
    }
    /* 모달 박스 */
    .modal {
        background: white;
        border-radius: 6px;
        width: 320px;
        max-width: 90%;
        box-shadow: 0 2px 10px rgba(0,0,0,0.3);
        overflow: hidden;
        font-family: 'Noto Sans KR', sans-serif;
    }
    .modal-header {
        background: #3a3f47;
        color: white;
        font-weight: 700;
        padding: 16px 20px;
        font-size: 18px;
    }
    .modal-body {
        padding: 20px;
        text-align: center;
        font-size: 16px;
        color: #222;
    }
    .modal-body .phone-number {
        color: #00b300;
        font-size: 20px;
        margin: 12px 0;
        font-weight: 700;
    }
    .modal-footer {
        padding: 12px 20px;
        text-align: center;
        border-top: 1px solid #ddd;
    }
    .modal-footer button {
        background: #222;
        color: white;
        border: none;
        padding: 8px 24px;
        border-radius: 4px;
        cursor: pointer;
        font-weight: 600;
        font-size: 14px;
    }
    .modal-footer button:hover {
        background: #444;
    }

  /* 기본 갤러리 그리드 */
.gallery-section div[style*="display: grid"] {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 15px !important;
}

/* 메인 페이지 갤러리 섹션 전체 */
.gallery-section {
  max-width: 1000px;
  margin: 0 auto 60px;
  padding: 0 20px; /* 기본 좌우 패딩 (큰 화면) */
}

/* 갤러리 섹션 헤더 (제목과 더보기 링크 포함) */
.gallery-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.gallery-title { /* 갤러리 제목 h3 */
  font-size: 22px;
  font-weight: 700;
  border-bottom: 2px solid #333;
  padding-bottom: 6px;
  margin: 0;
}
.gallery-more-link { /* 더보기 링크 */
  color: #666;
  font-size: 14px;
  text-decoration: none;
  font-weight: 600;
}
.gallery-more-link:hover {
  text-decoration: underline;
}

/* 메인 페이지 갤러리 그리드 컨테이너 */
.gallery-grid-main-page {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 큰 화면에서 3열 */
  gap: 15px; /* 이미지 간 간격 */
}

/* 각 갤러리 이미지 아이템 */
.gallery-item {
  display: block;
  border-radius: 8px;
  overflow: hidden;
}
.gallery-item img {
  width: 100%;
  height: 200px; /* 메인 페이지 갤러리 이미지 높이 */
  object-fit: cover;
  display: block;
}

/* ------------------------------------------------------------------- */
/* 모바일 화면 조정 (max-width: 700px) */
/* ------------------------------------------------------------------- */
@media (max-width: 700px) {
  /* 갤러리 섹션의 좌우 패딩을 줄여서 이미지가 더 넓게 보이도록 함 */
  .gallery-section {
    padding: 0 5px; /* 좌우 패딩을 5px로 줄임 */
  }

  /* 메인 페이지 갤러리 그리드 컨테이너 (모바일) */
  .gallery-grid-main-page {
    grid-template-columns: repeat(1, 1fr); /* 모바일에서 2열로 변경 */
    gap: 10px; /* 모바일에서 이미지 간 간격 줄임 */
  }

  /* 각 갤러리 이미지 아이템 (모바일) */
  .gallery-item img {
    height: 250px; /* 모바일에서 이미지 높이 조정 */
  }

  /* (만약 다른 섹션의 main 태그 패딩도 줄이고 싶다면 아래 추가) */
  /* main {
    padding: 0 5px;
  } */
}

/* General Body Styles (from gallery.html inline <style>) */
body {
  font-family: 'Noto Sans KR', sans-serif;
  margin: 20px;
  background: #fff;
  color: #333;
}

/* Navigation Styles (from previous turns, assuming global nav) */
nav {
  background: #333;
  color: #fff;
  display: flex;
  justify-content: center;
  padding: 1em;
}
nav a {
  color: #fff;
  text-decoration: none;
  margin: 0 1em;
  font-weight: bold;
  font-size: 16px; /* Added for consistency */
}
nav a:hover {
  text-decoration: underline;
}

/* Main Content Area (from gallery.html inline style) */
main {
  max-width: 900px;
  margin: 40px auto;
  padding: 0 20px;
  /* font-family and color are already in body, no need to repeat */
}

/* Gallery H2 Title (from gallery.html inline style) */
main h2 {
  border-bottom: 2px solid #007acc;
  padding-bottom: 10px;
  margin-bottom: 30px;
  font-weight: 700;
  color: #007acc;
}

/* Gallery Container (from gallery.html inline style, adjusted for vertical) */
.gallery-container {
  display: flex;
  flex-direction: column; /* For vertical display */
  gap: 20px;
  /* overflow-x: auto; /* Removed for vertical layout */
  /* padding-bottom: 10px; /* Removed for vertical layout */
}

/* Gallery Images (from gallery.html inline style) */
.gallery-container img {
  width: 100%;
  height: 550px; /* User specified height */
  border-radius: 8px;
  cursor: pointer;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.gallery-container img:hover {
  transform: scale(1.05);
}

/* Lightbox Overlay (from gallery.html inline <style> and remembered style.css) */
.lightbox {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.8);
  display: none; /* Default hidden */
  justify-content: center;
  align-items: center;
  z-index: 10000;
}

.lightbox.active { /* For showing lightbox */
  display: flex;
}

/* Lightbox Content (Image Container) (from gallery.html inline <style>) */
.lightbox-content {
  position: relative;
  max-width: 90%;
  max-height: 90%;
}

/* Lightbox Image (from gallery.html inline <style>) */
.lightbox-content img {
  max-width: 100%;
  max-height: 100%;
  border-radius: 8px;
  box-shadow: 0 0 20px rgba(0,0,0,0.7);
}

/* Lightbox Close Button (from gallery.html inline <style> and remembered style.css) */
.close-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  background: rgba(255,255,255,0.8);
  border: none;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  font-size: 24px;
  cursor: pointer;
  line-height: 36px; /* Added for proper centering of 'x' */
  text-align: center; /* Added for proper centering of 'x' */
  color: #333;
  font-weight: bold;
  transition: background 0.3s ease;
}
.close-btn:hover {
  background: white;
}

/* Navigation Buttons (Prev/Next) (from remembered style.css) */
.nav-btn {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.7);
  border: none;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  font-size: 30px;
  cursor: pointer;
  user-select: none;
  color: #333;
  transition: background 0.3s ease;
  z-index: 10001;
}
.nav-btn:hover {
  background: rgba(255,255,255,1);
}
#prevBtn {
  left: 20px;
}
#nextBtn {
  right: 20px;
}

/* 오시는 길 섹션 (메인 페이지용) */
.map-section {
  max-width: 1000px;
  margin: 0 auto 60px;
  padding: 0 20px;
  text-align: center;
}
.map-section .section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.map-section .section-header h2 { /* 메인 페이지 오시는 길 제목 */
  font-size: 22px;
  font-weight: 700;
  border-bottom: 2px solid #333;
  padding-bottom: 6px;
  margin: 0;
}
.map-section .more-link {
  color: #666;
  font-size: 14px;
  text-decoration: none;
  font-weight: 600;
}
.map-section iframe {
  width: 100%;
  height: 450px;
  border: 0;
  border-radius: 8px;
  box-shadow: 0 0 15px rgba(0,0,0,0.1);
}

/* 오시는 길 페이지 (location.html) 전용 스타일 */
.map-section-full { /* location.html의 지도 섹션 */
  max-width: 900px; /* main의 max-width와 동일하게 */
  margin: 30px auto; /* 상단 여백 조절 */
  padding: 0 20px;
  text-align: center;
}
.map-section-full iframe {
  width: 100%;
  height: 500px; /* 메인 페이지보다 지도를 더 크게 보여줌 */
  border: 0;
  border-radius: 8px;
  box-shadow: 0 0 15px rgba(0,0,0,0.1);
}
