@font-face {
    font-family: 'Syncopate-Bold';
    src: url('font/Syncopate-Bold.ttf') format('truetype');
}

@font-face {
    font-family: 'Syncopate-Regular';
    src: url('font/Syncopate-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Roboto-Medium';
    src: url('font/Roboto-Medium.ttf') format('truetype');
}

@font-face {
    font-family: 'Roboto-Regular';
    src: url('font/Roboto-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Roboto-Light';
    src: url('font/Roboto-Regular.ttf') format('truetype');
}

/* 제일 큰 글자들 (Syncopate-Bold) */
.logo-text,
h2,
.footer-title,
.project-detail-container h1 {
    font-family: 'Syncopate-Bold', sans-serif;
    font-size: 1rem;
}

/* 중간 글자들 (Syncopate-Regular) */
.navbar-toggle,
.menu-items a,
.sub-menu a,
.footer-email-label,
.footer-social,
.menu-link,
.category-menu a,
.alphabet-btn {
    font-family: 'Syncopate-Regular', sans-serif;
}

/* 설명글들 (Roboto-Medium) */
p,
.member-info h3,
.member-info p,
.footer-email,
.project-item h4,
.project-item p,
.detail-item h3,
.detail-item p {
    font-family: 'Roboto-Medium', sans-serif;
}

/* CONTACT 페이지 이메일 주소 */
.contact-email {
    font-family: 'Roboto-Medium', Arial, sans-serif !important;
    font-weight: 500;
}

/* 본문(내용)용 Roboto-Regular 적용 */
p,
.project-item p,
.detail-item p,
.footer-email,
.about-content,
.team-member p,
.studio-section,
.team-section,
.project-info-section > p,
.project-detail-container > .project-info-section > p {
    font-family: 'Roboto-Regular', Arial, sans-serif !important;
    font-weight: normal !important;
}

html, body {
    height: 100%; /* html과 body가 전체 뷰포트 높이를 차지하도록 설정 */
    margin: 0; /* body의 기본 마진 제거 (이미 적용되어 있을 수 있음) */
    width: 100%;
    min-width: 0;
    overflow-x: hidden;
}

body {
    margin: 0;
    font-family: Arial, sans-serif;
    /* background-image: url('image/1.jpg'); */
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

.header {
    position: relative;
    padding-top: 48px;
    padding-bottom: 0px;
    width: 100%;
    box-sizing: border-box;
    z-index: 10;
    background: #fff;
    height: 200px !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

.headerabout {
    position: relative;
    padding-top: 0 !important;
    padding-right: 10px;
    padding-bottom: calc(5vh + 28px);
    padding-left: 10px;
    width: 100%;
    box-sizing: border-box;
    z-index: 10;
    background-color: #fff;
    border-bottom: none !important;
    margin-top: 0 !important;
}

.logo-link {
    position: absolute;
    top: 109px;
    left: 70px;
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
}

.logo {
    width: 72px;
    height: 72px;
    object-fit: contain;
    filter: brightness(0) invert(1); /* 로고를 흰색으로 변경 */
}

.navbar-toggle {
    position: absolute;
    top: 66px !important;
    right: 38px;
    cursor: pointer;
    padding: 0;
    z-index: 101;
    transform: none;
    transform-origin: top right;
}

.burger-icon-container {
    width: 32px;
    height: 32px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.icon-bar {
    width: 32px;
    height: 3.6px;
    border-radius: 0;
    background-color: #fff !important;
    margin: 2px 0;
    display: block;
}

/* 오버레이 스타일 */
.overlay {
    display: none; /* 기본적으로 숨김 */
    position: fixed; /* 화면 전체를 덮도록 */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* 검은색, 투명도 50% */
    z-index: 99; /* 메뉴 아이템보다는 아래, 다른 콘텐츠보다는 위 */
}

body.menu-active .overlay {
    display: block; /* 메뉴 활성 시 오버레이 표시 */
}
/* 오버레이 스타일 끝 */

body {
    margin: 0;
    font-family: Arial, sans-serif;
    /* background-image: url('image/1.jpg'); */
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

.slider {
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    position: relative;
    left: 50%;
    margin-left: -50vw;
    box-sizing: border-box;
    max-width: 100vw;
    padding: 0;
    background: #fff;
}
.slides {
    display: flex;
    transition: transform 0.5s ease;
    height: 100vh;
}
.slide {
    min-width: 100vw;
    height: 100vh;
    background-position: center center;
    background-size: cover;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4rem;
}

/* 메뉴 활성 시 로고 아이콘 스타일 */
.menu-active-logo-icon {
    display: none; /* 평소에는 숨김 */
    width: 48px; /* 버거 아이콘과 비슷한 크기 또는 원하는 크기로 조정, 20% 증가 (40px -> 48px) */
    height: auto;
    filter: brightness(0) invert(1); /* 로고를 흰색으로 변경 */
}

body.menu-active .navbar-toggle .burger-icon-container {
    display: none; /* 메뉴 활성 시 햄버거 아이콘 숨김 */
}

body.menu-active .navbar-toggle .menu-active-logo-icon {
    display: block; /* 메뉴 활성 시 로고 아이콘 표시 */
}
/* 메뉴 활성 시 로고 아이콘 스타일 끝 */

/* 메뉴가 활성화되었을 때 홈페이지 로고 숨기기 */
body.menu-active .header .logo-link {
    display: none;
}
/* 메뉴가 활성화되었을 때 홈페이지 로고 숨기기 끝 */

.menu-items {
    display: none;
    position: absolute; /* .navbar-toggle 기준으로 위치 잡기 위해 fixed에서 absolute로 변경 */
    top: 100%; /* .navbar-toggle 바로 아래 */
    right: 0; /* .navbar-toggle 오른쪽에 맞춤 */
    /* left, transform 제거 */
    background-color: transparent; 
    padding: 10px; /* 내부 여백 약간 추가 */
    border-radius: 5px;
    /* text-align: center; 제거하고 align-items로 제어 */
    z-index: 100; 
}

body.menu-active .menu-items {
    display: flex; 
    flex-direction: column; 
    align-items: flex-start; /* 좌측 정렬 */
}

.menu-items a {
    display: block;
    color: #000; /* 메뉴 글자 검정색으로 변경 */
    text-decoration: none;
    margin: 8px 0; /* 위아래 간격 조정 */
    padding: 5px 10px; /* 내부 여백으로 클릭 영역 확보 및 보기 좋게 */
}

.menu-items a:hover {
    background-color: rgba(0,0,0,0.1); /* 호버 효과 */
}

/* ABOUT 페이지 스타일 시작 */

/* 헤더 텍스트 로고 */
.header .logo-text, .headerabout .logo-text {
    font-size: 24px; 
    font-weight: bold;
    color: #fff; /* 흰색으로 변경 */
    position: absolute; 
    top: 50%;
    left: 50%; 
    transform: translate(-50%, -50%); 
    text-align: center; /* 추가: 텍스트 로고 중앙 정렬 */
}

/* 메뉴 활성 시 ABOUT 페이지의 텍스트 로고도 숨김 처리 */
body.menu-active .headerabout .logo-text {
    display: none;
}

body.about-page main.about-content {
    padding-left: 18px !important;
    padding-right: 18px !important;
    margin-top: 32px !important;
}

.studio-section, .team-section {
    padding-left: 20px;
    padding-right: 18px;
    margin-top: 0;
}

.studio-section h2, .team-section h2 {
    font-size: 1.35rem !important;
    margin-bottom: 60px;
    color: #333;
}

/* "OUR TEAM" 타이틀 양옆 선 추가 */
.team-section h2 {
    display: flex;
    align-items: center; /* 텍스트와 선의 수직 정렬 */
}

.team-section h2::before,
.team-section h2::after {
    display: none !important;
}

.team-section h2::before {
    margin-right: 15px; /* 왼쪽 선과 텍스트 사이 간격 */
}

.team-section h2::after {
    margin-left: 15px;  /* 텍스트와 오른쪽 선 사이 간격 */
}

.image-gallery {
    display: flex;
    justify-content: space-between;
    gap: 40px;
}

.image-gallery img {
    width: 47.5%;
    height: auto;
    object-fit: cover;
    margin: 0;
}

.team-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    justify-content: flex-start;
}

.team-member {
    width: calc((100% - 2 * 40px) / 3);
    box-sizing: border-box;
}

.team-member img {
    width: 100%;
    height: auto;
    border-radius: 0; /* 원형 이미지 제거 */
    margin-bottom: 10px; /* 이미지와 정보 사이 간격 */
    object-fit: cover; /* 이미지 비율 유지하며 요소 채우기 */
    aspect-ratio: 1/1; /* 정사각형 비율 */
    object-position: top; /* 위쪽을 맞추고 아래부분 자르기 */
}

.team-member .member-info {
    padding: 10px;
}

.team-member .member-name {
    font-size: 18px; /* 이름 글꼴 크기 */
    margin-bottom: 4px; /* 이름과 직책 사이 간격 (8px에서 절반으로) */
    color: #333;
    display: block; /* 이름을 별도 줄에 표시 */
    font-family: 'Syncopate', sans-serif;
    font-weight: 500;
}

.team-member .member-position {
    font-size: 14px !important; /* 직책 글꼴 크기 */
    color: #666 !important;
    display: block !important; /* 직책을 별도 줄에 표시 */
    margin-bottom: 2.5px !important; /* 직책과 이메일 사이 간격 (5px에서 절반으로) */
    font-family: 'Syncopate', sans-serif !important;
    font-weight: 700 !important;
}

.team-member .member-email {
    font-size: 12px !important; /* 이메일 글꼴 크기 */
    color: #888 !important;
    display: block !important; /* 이메일을 별도 줄에 표시 */
    font-family: 'Syncopate', sans-serif !important;
    font-weight: 700 !important;
}

.about-footer {
    position: relative;
    left: 50%;
    right: 50%;
    width: 100vw;
    margin-left: -50vw;
    margin-right: -50vw;
    box-sizing: border-box;
    padding-left: var(--side-padding);
    padding-right: var(--side-padding);
    background-color: #565656; /* 푸터 배경색 */
    color: white;
    padding: 90px 200px 90px 200px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
}

.footer-left {
    width: auto;
    margin-bottom: 0;
}

.footer-left-top {
    position: relative;
    top: -80px; /* -54px에서 -80px로 변경하여 한 칸씩 더 위로 */
}

.footer-right {
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    width: auto;
    align-self: flex-end;
}

.footer-title {
    font-size: 30px;
    font-weight: bold;
    margin: 60px 0 18px 0;
    color: white;
    font-family: 'Syncopate-Bold', sans-serif;
}

.footer-address {
    font-size: 19.5px; /* 13px * 1.5 = 19.5px */
    font-weight: normal;
    margin: 4.5px 0;
    color: #ccc;
    font-family: 'Syncopate-Regular', sans-serif;
}

.footer-email-label {
    font-size: 18.9px; /* 21px * 0.9 = 18.9px (10% 감소) */
    font-weight: normal;
    margin-top: 22.5px;
    margin-bottom: 0px;
    color: white;
    font-family: 'Syncopate-Regular', sans-serif;
    text-align: left; /* 수평 라인으로 봤을 때만 왼쪽 정렬 */
}

.footer-email {
    font-size: 18.9px; /* 21px * 0.9 = 18.9px (10% 감소) */
    font-weight: normal;
    color: #ccc;
    margin-top: 3px;
    margin-bottom: 30px;
    font-family: 'Syncopate-Regular', sans-serif;
    text-align: left; /* 수평 라인으로 봤을 때만 왼쪽 정렬 */
}

.footer-social-row {
    display: flex;
    align-items: center;
    gap: 24px;
}

.footer-copyright {
    font-size: 16.2px;
    color: #aaa;
    font-family: 'Syncopate', 'Roboto', Arial, sans-serif;
    font-weight: 400;
    letter-spacing: 0.9px;
    margin: 0;
}

.footer-social-links {
    display: flex;
    align-items: center;
    margin-top: 0;
}

.footer-social {
    color: white;
    text-decoration: none;
    font-size: 18.9px; /* 21px * 0.9 = 18.9px (10% 감소) */
    font-weight: normal; /* 볼드체 제거 */
}

.footer-social:hover {
    text-decoration: underline;
}

.social-divider {
    color: white;
    margin: 0 8px;
    font-weight: bold;
}

/* ABOUT 페이지 스타일 끝 */

/* 서브 페이지 메뉴 아이콘 기본 상태 (로고) */
.navbar-toggle.subpage-menu .burger-icon-container {
    display: none; /* 서브 페이지에서는 기본적으로 햄버거 숨김 */
}

.navbar-toggle.subpage-menu .menu-active-logo-icon {
    display: block; /* 서브 페이지에서는 기본적으로 로고 아이콘 표시 */
}

/* 메뉴 활성 시 로고 아이콘 스타일 (기존 코드와 통합 또는 유지) */
.menu-active-logo-icon {
    display: none; /* 평소에는 숨김 */
    width: 48px; /* 버거 아이콘과 비슷한 크기 또는 원하는 크기로 조정, 20% 증가 (40px -> 48px) */
    height: auto;
}

body.menu-active .navbar-toggle .burger-icon-container {
    display: none; 
}

body.menu-active .navbar-toggle .menu-active-logo-icon {
    display: block; 
}

.navbar-toggle:focus {
    outline: 0;
}

/* .navbar-toggle이 .headerabout 내부에서도 올바르게 위치하도록 */
.headerabout .navbar-toggle {
    position: absolute;
    top: 30px; /* 50%에서 30px로 변경하여 로고와 하단 정렬 */
    right: 20px;
    transform: none; /* translateY(-50%) 제거 */
    /* 기존 .navbar-toggle 스타일 상속 또는 필요한 부분만 재정의 */
    cursor: pointer;    
    padding: 8px;     
    z-index: 101; 
}

/* ABOUT 페이지 전용 흰색 배경 */
body.about-page {
    background-image: none; /* 기존 배경 이미지 제거 */
    background-color: #fff; /* 흰색 배경 설정 */
}

/* 하위 메뉴 스타일 */
.sub-menu {
    position: absolute;
    bottom: 10px; /* 헤더 하단과의 간격은 그대로 유지 (늘어난 헤더 기준) */
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
}

.sub-menu a, .project-sub-menu a {
    font-family: 'Syncopate-Regular', Arial, sans-serif;
    font-size: 1.056rem !important;
    color: #555; /* 글자 색상 */
    text-decoration: none;
    margin: 0 10px; /* 좌우 간격 */
    padding: 5px 0; /* 상하 패딩 */
}

.sub-menu a:hover, .project-sub-menu a:hover {
    color: #000; /* 호버 시 글자 색상 변경 */
    text-decoration: underline;
}

/* 활성화된 하위 메뉴 링크 스타일 (예: HIGHLIGHTS) */
.sub-menu a.active-sub-menu, .project-sub-menu a.active-sub-menu {
    color: #000 !important;
    font-weight: bold;
}

/* Projects 페이지 전용 스타일 시작 */
body.projects-page {
    background-color: #fff; /* 흰색 배경 설정 */
    background-image: none; /* 기존 배경 이미지 제거 */
}

/* Projects 페이지 헤더 하위 메뉴 (HIGHLIGHTS, OTHER PROJECTS) */
.project-sub-menu {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    margin-top: 16px;
    margin-bottom: 0 !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

/* 프로젝트 페이지 전용 서브메뉴 스타일 */
body.projects-page .project-sub-menu {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
}

/* 어바웃 페이지 전용 서브메뉴 스타일 */
body.about-page .project-sub-menu {
    padding-top: 5px !important;
    padding-bottom: 70px !important;
}

/* Projects 페이지 메인 컨텐츠 영역 패딩 */
.projects-main-content {
    padding-left: 18px;
    padding-right: 18px;
    padding-top: 10px !important;
    margin-top: 0 !important;
    padding-bottom: 60px;
    overflow: visible;
}

/* HIGHLIGHTS 섹션 및 OTHER PROJECTS 섹션 공통 */
.highlights-section, .other-projects-section {
    margin-bottom: 60px; /* 섹션 간 간격 */
}

.other-projects-section {
    margin-bottom: 60px;
    /* padding-left: 200px; 제거 */
    /* padding-right: 200px; 제거 */
}

.other-projects-section h2 {
    display: none;
}

/* 카테고리 메뉴 (ALL, ARCHITECTURE, INTERIOR/RENDERING) */
.projects-page .category-menu {
    margin-top: 0 !important;
}

.category-menu {
    text-align: center;
    margin-top: 0 !important;
    margin-bottom: 35px;
    position: relative;
    border-bottom: none !important;
    box-shadow: none !important;
}

.category-menu a {
    font-size: 16px;
    color: #bcbcbc;
    text-decoration: none;
    margin: 0 15px;
    padding: 8px 0;
    position: relative;
    font-weight: normal;
    transition: color 0.2s, font-weight 0.2s;
}

.category-menu a.active,
.category-menu a:hover {
    color: #000;
    font-weight: bold;
}

/* FILTER 버튼 스타일 */
.filter-toggle-btn {
    font-size: 16px;
    color: #ccc;
    background: none;
    border: none;
    padding: 8px 0;
    cursor: pointer;
    text-decoration: none;
    border-radius: 0;
    font-family: 'Syncopate-Regular', sans-serif;
    position: absolute;
    right: 36px;
    bottom: 0;
    top: auto;
    transform: none;
}

.filter-toggle-btn:hover {
    color: #999;
}

/* 활성 메뉴 또는 호버 시 밑줄 (제공된 이미지와 유사하게) */
.category-menu a.active::after {
    display: none !important;
}

/* 알파벳 필터 컨테이너 */
.alphabet-filter-container {
    margin-bottom: 20px;
}

.alphabet-filter {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 15px 0;
    flex-wrap: nowrap;
    width: 100%;
    max-width: 100vw;
    overflow-x: auto;
}

.alphabet-btn {
    font-family: 'Syncopate-Regular', Arial, sans-serif;
    font-size: 0.45rem;
    color: #777;
    background: none;
    border: 1.5px solid #ddd;
    padding: 1px 1px;
    min-width: 0;
    flex: 1 1 0;
    max-width: 100%;
    white-space: nowrap;
    box-sizing: border-box;
    overflow: visible;
    text-overflow: clip;
    border-radius: 4px;
}

.alphabet-btn:hover {
    color: #000;
    border-color: #000;
}

.alphabet-btn.active {
    color: #000;
    border-color: #000;
    background-color: #f5f5f5;
}

/* 프로젝트 캐러셀 컨테이너 */
.project-carousel-container {
    position: relative; /* 화살표 버튼의 absolute positioning 기준 */
    display: flex; /* 내부 아이템(버튼, 그리드) 정렬 */
    align-items: center; /* 수직 중앙 정렬 */
    margin-bottom: 30px; /* 아래 요소와의 간격 */
    width: 100%; /* 화면 전체 너비 사용 */
}

.slide-arrow {
    background-color: transparent;
    border: none;
    color: #fff;
    cursor: pointer;
    padding: 10px;
    font-size: 22px; /* 36px의 60% */
    z-index: 10;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.slide-arrow:hover {
    background-color: transparent; /* 호버 시 배경 변경 없음 */
    /* border-color: #aaa; 제거 */
    color: #eee; /* 호버 시 화살표 색상 약간 변경 (선택적) */
}

.prev-arrow {
    left: 20px; /* 화면 왼쪽 가장자리에서 약간 안쪽으로 이동 */
}

.next-arrow {
    right: 20px; /* 화면 오른쪽 가장자리에서 약간 안쪽으로 이동 */
}

/* 프로젝트 그리드 (기존 스타일에서 ALL 카테고리 그리드 특화) */
.project-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px; /* 프로젝트 아이템 간 간격 */
}

/* ALL 카테고리 프로젝트 그리드 (가로 스크롤) */
.all-projects-grid {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    gap: 20px;
    padding: 10px 0;
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-snap-type: x mandatory;
}

.all-projects-grid::-webkit-scrollbar {
    display: none; /* Chrome/Safari/Opera 스크롤바 숨김 */
}

.all-projects-grid .project-item {
    flex: 0 0 auto;
    width: 336px;
    overflow: hidden;
    scroll-snap-align: center;
}

/* .all-projects-grid .project-item:last-child {
    margin-right: 0;
} */

.project-item {
    text-align: left; /* 제목 왼쪽 정렬 */
}

.project-item img {
    width: 100%;
    height: calc(280px * 1.8); /* 너비의 1.8배로 이미지 높이 설정 */
    /* margin-bottom: 10px; /* 이미지와 제목 사이 간격 - project-info에서 관리 */
    object-fit: cover; /* 이미지 비율 유지하며 요소 채우기, 넘치는 부분은 잘림 */
    display: block; /* 이미지 하단 여백 제거 */
}

.project-info {
    padding: 10px; /* 텍스트 내용 주변 여백 */
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.project-item h4 {
    font-size: 16px;
    color: #333;
    font-weight: bold;
    margin: 0;
    text-align: left;
}

.project-item p {
    font-size: 14px;
    color: #999;
    margin: 0;
    text-align: right;
    font-weight: normal;
}

/* Projects 페이지 전용 스타일 끝 */

/* 가로 스크롤 이미지 섹션 스타일 */
#horizontal-image-section {
    margin-top: 60px;
    padding: 0 20px; /* 좌우 패딩 20px로 줄임 */
    overflow-x: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    position: relative;
}

#horizontal-image-section::-webkit-scrollbar {
    display: none; /* Chrome/Safari/Opera 스크롤바 숨김 */
}

.horizontal-scroll-images {
    display: flex;
    gap: 10px;
    padding: 0;
    box-sizing: border-box;
    overflow-x: hidden;
    scroll-behavior: smooth;
}

.horizontal-scroll-images img {
    height: 600px; /* 이미지 높이 두 배로 설정 (300px * 2) */
    width: auto; /* 높이에 맞춰 너비 자동 조정 */
    object-fit: cover; /* 이미지 비율 유지하며 채우기 */
    flex-shrink: 0; /* 이미지가 줄어들지 않도록 방지 */
}

/* 가로 스크롤 화살표 스타일 */
.horizontal-slide-arrow {
    position: absolute; /* fixed에서 absolute로 변경 */
    top: 50%;
    transform: translateY(-50%);
    background-color: transparent;
    color: #fff;
    border: none;
    padding: 10px;
    cursor: pointer;
    z-index: 20;
    font-size: 24px;
    opacity: 0.8;
    transition: opacity 0.2s ease;
}

.horizontal-prev-arrow {
    left: 24px;
}

.horizontal-next-arrow {
    right: 24px;
}

/* 프로젝트 세부사항 페이지 스타일 시작 */
.project-detail-section,
.project-detail-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
    background-color: #fff;
    min-height: 100vh;
}

.project-detail-section .headerabout {
    position: relative; 
    padding-top: 5vh;
    padding-right: 20px;
    padding-bottom: calc(5vh + 30px);
    padding-left: 20px;
    width: 100%; 
    box-sizing: border-box; 
    z-index: 10; 
    background-color: #fff;
    border-bottom: none !important; /* 프로젝트 상세 헤더의 하단 라인 제거 */
    margin-top: 0 !important;
}

.project-detail-category-menu,
.other-projects-category-menu {
    gap: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 35px;
    margin-top: 0;
    padding: 0;
}

.project-detail-category-menu a,
.other-projects-category-menu a {
    color: #bcbcbc !important;
    font-family: 'Syncopate-Regular', Arial, sans-serif;
    font-size: 16px;
    padding: 8px 0;
    margin: 0 15px;
    text-decoration: none;
    font-weight: normal;
    transition: color 0.2s, font-weight 0.2s;
}

.project-detail-category-menu a:not(.back-to-list-btn),
.project-detail-category-menu a:hover {
    color: #000 !important;
    font-weight: bold !important;
}

.project-detail-category-menu a.active::after {
    display: none !important;
}

/* 뒤로가기 버튼 스타일 - 왼쪽에 배치 */
.project-detail-category-menu .back-to-list-btn {
    order: -1;
    margin-left: 0 !important;
    margin-right: 32px !important;
    padding: 8px 18px;
    font-size: 16px;
    color: #555555;
    background: none;
    border: none;
    font-family: 'Syncopate-Regular', Arial, sans-serif;
    font-weight: normal;
    cursor: pointer;
    transition: color 0.2s;
}

.project-detail-category-menu .back-to-list-btn:hover {
    color: #000;
}

.project-detail-content {
    padding-bottom: 60px;
}

.project-detail-container {
    display: flex;
    max-width: 1400px;
    margin: 0 auto;
    padding-left: 10px;
    padding-right: 0;
    gap: 40px;
    align-items: stretch;
    overflow: visible;
    position: relative;
}

.project-info-section {
    flex: 0 0 400px;
    min-width: 400px;
    max-width: 400px;
    align-self: stretch;
    margin-top: -20px; /* -32px에서 -20px로 조정하여 위로 올림 */
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 70vh; /* 메인 이미지 높이와 맞춤, 필요시 조정 */
    position: relative;
    z-index: 10;
}

.project-images-section {
    flex: 1;
    min-width: 0;
    position: relative;
    right: 0;
    margin-right: calc(-1 * ((100vw - 100%) / 2));
    display: flex;
    align-items: stretch;
    height: 100%;
    min-height: 400px;
}

.project-detail-slider {
    width: 100%;
    height: 650px;
    min-height: 400px;
    max-height: 900px;
    display: flex;
    align-items: stretch;
    justify-content: center;
    position: relative;
    overflow: hidden;
    background: #f8f8f8;
}

.project-detail-slides {
    height: 100%;
}

.project-detail-slide {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: auto;
    min-width: 0;
    background: none;
    border: none;
    outline: none;
    z-index: 10;
    position: relative;
}

.project-detail-slide img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    margin: 0;
    box-shadow: none;
    background: none;
    border: none;
    outline: none;
    z-index: 10;
    position: relative;
}

.project-detail-slide::before,
.project-detail-slide::after {
    display: none !important;
}

.project-detail-slide img::before,
.project-detail-slide img::after {
    display: none !important;
}

.project-detail-container h1 {
    margin-top: 20px;
    margin-bottom: 8px !important;
    font-size: 2.7rem;
    max-width: 100%;
    word-break: break-all;
    box-sizing: border-box;
}

.project-detail-container > .project-info-section > p {
    font-size: 16px;
    color: #666;
    margin-bottom: 24px; /* 40px에서 24px로 줄여서 카테고리와 상세정보 간격 감소 */
    text-transform: uppercase;
    font-family: 'Syncopate-Regular', Arial, sans-serif !important;
    letter-spacing: 0.5px !important;
}

.project-details {
    margin-top: auto;
}

.detail-item {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    margin-bottom: 16px;
    padding-left: 0;
    padding-bottom: 8px;
}

.detail-item:last-child {
    margin-bottom: 0;
}

.detail-item h3 {
    font-size: 13.6px;
    color: #111;
    margin-bottom: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: bold;
    text-align: left;
    font-family: 'Syncopate-Bold', sans-serif;
    max-width: 100%;
    overflow: visible;
    text-overflow: unset;
    white-space: normal;
    word-break: break-word;
    padding-bottom: 8px;
    display: inline-block;
    position: relative;
}

.detail-item h3::after {
    display: none !important;
    content: none !important;
}
/* 미디어 쿼리 내 ::after 라인도 제거 */

.detail-item p {
    font-size: 12px;
    color: #222;
    line-height: 1.4;
    margin: 4px 0 0 0;
    text-align: right;
    font-family: 'Syncopate-Regular', sans-serif;
    font-weight: normal;
    align-self: flex-end;
    max-width: 100%;
    overflow: visible;
    text-overflow: unset;
    white-space: normal;
    word-break: break-word;
}

.project-detail-slides {
    display: flex;
    flex-direction: row;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    scroll-behavior: smooth;
    gap: 0;
}
.project-detail-slides::-webkit-scrollbar {
    display: none;
}

.project-detail-slide {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: auto;
    min-width: 0;
    background: none;
}

.project-detail-slide img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    margin: 0;
    box-shadow: none;
    background: none;
}

.detail-slide-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: transparent;
    border: none;
    color: #fff;
    cursor: pointer;
    padding: 15px;
    font-size: 24px;
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.2s ease;
}

.detail-slide-arrow:hover {
    color: #eee;
}

.detail-prev-arrow {
    left: 20px;
}

.detail-next-arrow {
    right: 80px; /* 오른쪽 마진 80px로 두 배로 변경 */
    left: auto;
}

/* 반응형 디자인 */
@media (max-width: 1024px) {
    .project-detail-container {
        flex-direction: column;
        gap: 40px;
        padding: 0 20px;
    }
    
    .project-info-section {
        flex: none;
        max-width: 100%;
        min-width: auto;
        order: 1;
    }
    
    .project-images-section {
        flex: none;
        order: 2;
    }
    
    .project-detail-slider {
        height: 48vh;
        min-height: 320px;
        max-height: 600px;
    }
    
    .project-detail-container h1 {
        font-size: 24px;
        margin-bottom: 32px;
    }
    .detail-item h3 {
        font-size: 11.2px;
    }
    .detail-item p {
        font-size: 13px;
    }
}

@media (max-width: 768px) {
    .project-detail-container {
        padding: 0 15px;
        gap: 30px;
    }
    
    .project-info-section {
        order: 1;
    }
    
    .project-images-section {
        order: 2;
    }
    
    .project-detail-slider {
        height: 32vh;
        min-height: 180px;
        max-height: 400px;
    }
    
    .project-detail-container h1 {
        font-size: 18px;
        margin-bottom: 24px;
    }
    .detail-item h3 {
        font-size: 9.6px;
    }
    .detail-item p {
        font-size: 11px;
    }
    
    .project-detail-category-menu {
        flex-wrap: wrap;
        gap: 10px;
    }
}
/* 프로젝트 세부사항 페이지 스타일 끝 */

/* OTHER PROJECTS 리스트 테이블 스타일 */
.project-list-container {
    padding-right: 0;
    padding-left: 0;
    box-sizing: border-box;
    margin-left: -25px !important;
    margin-right: -25px !important;
}

.project-list-container table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 15px;
    table-layout: fixed;
}
.project-list-container th,
.project-list-container td {
    text-align: center;
    padding: 17px 24px;
    border-bottom: 1px dashed #ccc;
    width: 14.28% !important; /* 7개 컬럼 균등 배치 (100% / 7) */
    font-size: 15px;
}

.project-list-container td {
    font-family: 'Roboto-Regular', Arial, sans-serif;
    color: #1a1a1a;
    font-weight: 100;
    font-size: 14px;
}
.project-list-container th:first-child,
.project-list-container td:first-child {
    text-align: left;
    padding-left: 21px;
}
.project-list-container th:last-child,
.project-list-container td:last-child {
    padding-right: 17px;
    text-align: right;
}

.project-list-container th {
    font-family: 'Syncopate-Regular', Arial, sans-serif !important;
    color: #b3b3b3 !important;
    font-weight: bold;
    border-bottom: 1px solid #999 !important;
}

.project-list-container thead tr th {
    border-top: 1px solid #999;
}

.project-list-container tbody tr:last-child td {
    border-bottom: none; /* 마지막 행의 하단 테두리 제거 */
}

/* 각 열(column)의 너비 조정을 위한 예시 (필요에 따라 수정) */
.project-list-container th:nth-child(1), /* ARCHITECTURE */
.project-list-container td:nth-child(1) {
    width: 18%; 
}

.project-list-container th:nth-child(2), /* CATEGORY */
.project-list-container td:nth-child(2) {
    width: 14%;
    text-align: center;
}

.project-list-container th:nth-child(3), /* TYPE */
.project-list-container td:nth-child(3) {
    width: 10%;
    padding-left: 32px;
    text-align: center;
}

.project-list-container th:nth-child(4), /* LOCATION */
.project-list-container td:nth-child(4) {
    width: 18%;
    text-align: center;
    padding-left: 0;
}

.project-list-container th:nth-child(5), /* ORT */
.project-list-container td:nth-child(5) {
    width: 8%;
}

.project-list-container th:nth-child(6), /* JAHR */
.project-list-container td:nth-child(6) {
    width: 14%;
    text-align: center;
}

.project-list-container th:nth-child(7), /* STATUS */
.project-list-container td:nth-child(7) {
    width: 14%;
}

.project-list-container th:nth-child(8), /* FILTER CATEGORY */
.project-list-container td:nth-child(8) {
    width: 14%;
    font-size: 10px; /* 필터 카테고리 텍스트가 길어서 폰트 크기 더 줄임 */
    white-space: normal; /* 줄바꿈 허용 */
    padding: 17px 4px; /* 좌우 패딩 줄임 */
    word-wrap: break-word; /* 긴 단어 줄바꿈 */
}

/* 메뉴 리스트 오른쪽 위 고정 */
.menu-overlay-ex {
    display: none;
    position: fixed;
    top: 0; left: 0; width: 100vw; height: 100vh;
    background: rgba(0,0,0,0.7);
    z-index: 200;
    justify-content: flex-start;
    align-items: flex-end;
}
body.menu-active .menu-overlay-ex,
.menu-overlay-ex.active {
    display: flex;
}
.menu-list {
    position: absolute;
    top: 180px;
    right: 70px;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    z-index: 210;
    gap: 36px;
}
.menu-link-wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 320px; /* 링크드인까지 라인 확장 */
    margin-bottom: 0;
    text-align: left;
    position: relative;
}
.menu-link {
    color: #888;
    font-size: 14.5px;
    text-decoration: none;
    letter-spacing: 2px;
    font-family: 'Syncopate-Regular', sans-serif;
    flex-shrink: 0;
    transition: color 0.2s, background 0.2s, font-weight 0.2s;
    position: relative;
    z-index: 1;
    font-weight: normal;
}
.menu-link.active,
.menu-link:focus {
    color: #fff;
    font-weight: bold;
}
.menu-underline {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    border-bottom: 1px solid #bcbcbc;
    height: 0;
    margin-left: 0;
    min-width: 0;
    z-index: 0;
    pointer-events: none;
}
.menu-social-wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 320px; /* 링크드인까지 라인 확장 */
    padding: 12px 0 12px 0;
    margin-top: 24px;
    box-sizing: border-box;
    background: none;
    border: none;
    text-align: left;
}
.menu-social-link {
    color: #fff !important;
    font-size: 14.5px;
    font-family: 'Syncopate-Bold', sans-serif;
    text-decoration: none;
    letter-spacing: 2px;
    margin: 0 4px;
    transition: color 0.2s, background 0.2s;
    font-weight: bold;
    background: none;
    padding: 12px 0;
    border-radius: 0;
    display: inline-block;
}
.menu-social-link.active,
.menu-social-link:focus {
    color: #fff;
    background: #444;
}
.menu-social-link:not(.active):not(:focus) {
    color: #888;
    background: none;
}
.menu-social-divider {
    color: #fff;
    margin: 0 20px;
    font-weight: bold;
    font-size: 14.5px;
    font-family: Arial, sans-serif;
    display: inline-block;
}
/* MAI STR. 오른쪽 끝, 흰색(기본), 메뉴 활성화 시 회색, 라인은 왼쪽 끝까지 */
.main-bottom-text {
    position: fixed !important;
    right: 80px !important;
    bottom: 60px !important;
    color: #fff !important;
    font-size: 36px !important;
    font-family: 'Syncopate-Bold', sans-serif !important;
    letter-spacing: 2px !important;
    opacity: 0.95 !important;
    z-index: 210 !important;
    display: flex !important;
    align-items: center !important;
    font-weight: bold !important;
    white-space: nowrap !important;
    margin-right: 0 !important;
    top: auto !important;
}
body.menu-active .main-bottom-text {
    color: #bcbcbc;
    opacity: 0.9;
}
.main-bottom-text::before {
    content: '';
    display: inline-block;
    width: var(--line-width, calc(100vw - 340px));
    height: 2px;
    background: currentColor;
    margin-right: 18px;
    vertical-align: middle;
    opacity: 0.95;
}
/* 기존 메뉴 숨김 */
body.menu-active .menu-items,
body.menu-active .overlay {
    display: none !important;
}

#menuLogoIcon {
    width: 41.8px !important; /* 기존 38px에서 10% 증가 */
    height: auto;
    background: none !important;
    filter: none !important;
    opacity: 1 !important;
    box-shadow: none !important;
    position: fixed !important;
    top: 73px !important;
    right: 70px !important;
    z-index: 300 !important;
    pointer-events: auto;
}

/* Header style for pages with logo text (about, projects) */
.header:has(.logo-text) {
    padding-top: 48px; /* 위쪽 여백 0.8배 감소 */
    padding-bottom: 48px; /* 아래쪽 여백 0.8배 감소 */
    padding-left: 20px;
    padding-right: 20px;
    background-color: #fff; /* 흰색 배경 */
    border-bottom: none !important;
    box-shadow: none !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    height: auto;
    box-sizing: border-box;
    position: relative;
}

.header:has(.logo-text) .logo-text {
    font-size: 24px;
    font-weight: bold;
    color: #333;
    position: static;
    top: auto;
    left: auto;
    transform: none;
    text-align: center;
    margin: 0;
    margin-bottom: 120px; /* 서브메뉴와의 간격 150% */
    flex-grow: 0;
    flex-shrink: 0;
}

.header:has(.logo-text) .sub-menu {
    display: flex !important;
}

.header:has(.logo-text) .sub-menu a {
    font-size: 1.056rem !important;
    color: #555;
    text-decoration: none;
}

.header:has(.logo-text) .sub-menu a:hover {
    color: #000;
    text-decoration: underline;
}

/* Adjust logo-link positioning */
.header .logo-link {
    position: absolute;
    top: 73px;
    left: 70px;
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
    z-index: 20;
    padding-bottom: 10px;
}

/* Adjust navbar-toggle positioning */
.navbar-toggle {
    position: absolute;
    top: 133px !important;
    right: 38px;
    cursor: pointer;
    padding: 0;
    z-index: 101;
    transform: none;
    transform-origin: top right;
}

/* Ensure menuLogoIcon is still positioned correctly when menu is active */
#menuLogoIcon {
    width: 38px !important;
    height: auto;
    background: none !important;
    filter: none !important;
    opacity: 1 !important;
    box-shadow: none !important;
    position: fixed !important;
    top: 73px !important;
    right: 70px !important;
    z-index: 300 !important;
    pointer-events: auto;
}

/* Hide main logo on about/projects pages when menu is active */
body.menu-active .header:has(.logo-text) .logo-link {
    display: none;
}

/* Hide logo text when menu is active */
body.menu-active .header:has(.logo-text) .logo-text {
    display: none;
}

/* Hide sub menu when menu is active */
body.menu-active .header:has(.logo-text) .sub-menu {
    display: none;
}

/* Hide burger menu when menu is active */
body.menu-active .navbar-toggle .burger-icon-container {
    display: none !important;
}

/* 현재 페이지 메뉴 링크 스타일 (기존 규칙 삭제) */
/*.menu-link.is-current-page {
    color: #fff !important;
}*/

/* 페이지별 현재 메뉴 링크 스타일 */
.index-page .menu-list .menu-link[href="index.html"],
.about-page .menu-list .menu-link[href="ABOUT.html"],
.projects-page .menu-list .menu-link[href="PROJECTS.html"],
.contact-page .menu-list .menu-link[href="CONTACT.html"] {
    color: #fff !important; /* 해당 페이지 메뉴 링크 글자색을 흰색으로 */
}

.category-divider {
    display: inline-block;
    width: 1.5px;
    height: 16px;
    background: #ccc;
    margin: 0 8px;
    vertical-align: middle;
    border-radius: 1px;
}

.logo-text-link {
    text-decoration: none;
}

.project-sub-menu a {
    font-size: 1.056rem !important;
    color: #bcbcbc !important;
    text-decoration: none;
    margin: 0 15px;
    padding: 8px 0;
    font-weight: normal !important;
    transition: color 0.2s, font-weight 0.2s;
}

.project-sub-menu a.active-sub-menu,
.project-sub-menu a:hover {
    color: #000 !important;
    font-weight: bold !important;
}

.detail-divider {
    width: 100%;
    height: 2px;
    background: #222;
    margin: 6px 0 6px 0;
    border: none;
    display: block;
}

#project-detail-title {
    margin-top: 20px;
    margin-bottom: 8px !important;
    font-size: 2.7rem;
    max-width: 100%;
    word-break: break-all;
    box-sizing: border-box;
}
#project-detail-category {
    margin-top: 0 !important;
    margin-bottom: 40px !important;
    font-size: 16px;
    color: #bbb;
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: 1.5px;
    font-family: 'Syncopate-Regular', Arial, sans-serif;
}

/* 푸터 전체 기본: Syncopate-Regular */
.about-footer, .about-footer * {
    font-family: 'Syncopate-Regular', Arial, sans-serif;
}

/* 볼드 적용: 타이틀, 주소, EMAIL, INSTAGRAM, LINKEDIN */
.about-footer .footer-title,
.about-footer .footer-email-label,
.about-footer .footer-social-links .footer-social {
    font-family: 'Syncopate-Bold', Arial, sans-serif;
}

/* 주소는 얇은 글씨체로 */
.about-footer .footer-address {
    font-family: 'Syncopate-Regular', Arial, sans-serif !important;
    font-weight: normal !important;
}

/* @2025, 이메일 주소는 Regular */
.about-footer .footer-copyright,
.about-footer .footer-email {
    font-family: 'Syncopate-Regular', Arial, sans-serif;
    font-weight: normal;
}

/* 푸터 내 모든 텍스트 요소에 Syncopate 폰트 강제 적용 */
.about-footer .footer-left,
.about-footer .footer-right,
.about-footer .footer-left-top,
.about-footer .footer-title,
.about-footer .footer-address,
.about-footer .footer-email-label,
.about-footer .footer-email,
.about-footer .footer-copyright,
.about-footer .footer-social-links,
.about-footer .footer-social,
.about-footer .social-divider {
    font-family: 'Syncopate-Regular', Arial, sans-serif !important;
}

/* 볼드가 필요한 요소들 */
.about-footer .footer-title,
.about-footer .footer-email-label,
.about-footer .footer-social {
    font-family: 'Syncopate-Bold', Arial, sans-serif !important;
}

:root {
    --side-padding: 36px;
}

body, .about-content, .projects-main-content, .about-footer {
    padding-left: var(--side-padding) !important;
    padding-right: var(--side-padding) !important;
    max-width: 100vw;
    box-sizing: border-box;
}

.studio-section, .team-section {
    padding-left: 0;
    padding-right: 0;
}

.image-gallery, .team-grid, .project-detail-container, .footer-left, .footer-right {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.image-gallery img, .team-member img, .project-detail-slide img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.about-footer-inner {
    max-width: none;
    padding-left: var(--side-padding);
    padding-right: var(--side-padding);
    margin: 0;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    gap: 40px;
}

.header-divider {
    width: 100vw;
    height: 1px;
    background: #eaeaea;
    position: relative;
    left: 50%;
    margin-left: -50vw;
    border: none;
    margin-top: 0;
    margin-bottom: 0;
    z-index: 10;
}

.wide-divider {
    width: 100vw;
    height: 1px;
    background: #ccc;
    position: relative;
    left: 50%;
    margin-left: -50vw;
    border: none;
    margin-top: 30px;
    margin-bottom: 40px;
    z-index: 1;
}

.team-title-row {
    position: relative;
    width: 100vw;
    left: 50%;
    margin-left: -50vw;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 40px;
    margin-top: 0;
}
.wide-divider-bg {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    background: #ccc;
    transform: translateY(-50%);
    z-index: 0;
}
.team-title-row h2 {
    font-family: 'Syncopate-Bold', Arial, sans-serif;
    font-size: 0.8rem;
    position: relative;
    z-index: 1;
    background: #fff;
    padding: 0 33px;
    margin: 0;
    white-space: nowrap;
    text-align: center;
}

/* STUDIO 텍스트의 패딩을 OUR TEAM보다 30% 더 크게 설정 */
.studio-title-row h2 {
    padding: 0 57px;
}
/* 기존 .team-title-row .wide-divider 스타일 삭제 */
.team-title-row .wide-divider {
    display: none !important;
}

.sub-menu a, .project-sub-menu a {
    font-family: 'Syncopate-Regular', Arial, sans-serif;
    font-size: 1.056rem !important;
    padding: 2px 0; /* 패딩을 줄여서 더 컴팩트하게 */
    margin: 0; /* 마진 제거 */
}

/* 부메뉴 세로 구분선 스타일 */
.sub-menu-divider {
    color: #bcbcbc;
    margin: 0 18px;
    font-size: 1.056rem;
    font-family: 'Syncopate-Regular', Arial, sans-serif;
    align-self: center;
    height: 24px;
    display: flex;
    align-items: center;
}

.project-sub-menu {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    margin-top: 16px;
    margin-bottom: 0 !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

.highlights-section {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.project-list-container td,
.project-list-container th {
    padding-left: 24px;
    padding-right: 24px;
}
.project-list-container td:first-child,
.project-list-container th:first-child {
    padding-left: 21px;
}
.project-list-container td:last-child,
.project-list-container th:last-child {
    padding-right: 21px;
}

.other-projects-category-menu {
    margin-bottom: 35px;
    margin-top: 0;
}

.project-detail-category-menu .category-divider,
.other-projects-category-menu .category-divider {
    margin: 0 15px;
}

.other-projects-category-menu a.active,
.other-projects-category-menu a.active-sub-menu {
    color: #000 !important;
    font-weight: bold;
}

#detail-interior-link,
#detail-architecture-link,
#detail-all-link {
    color: #bcbcbc !important;
    font-weight: normal !important;
}
#detail-interior-link.active,
#detail-architecture-link.active,
#detail-all-link.active {
    color: #000 !important;
    font-weight: bold !important;
}

.horizontal-scroll-images::-webkit-scrollbar {
    display: none;
}

.studio-section {
    margin-top: 0px;
    margin-bottom: 120px;
}

.team-section {
    margin-top: 120px;
    margin-bottom: 120px;
}

/* 서브메뉴를 100px 아래로 내리기 */
.sub-menu {
    position: absolute;
    top: 0px; /* 100px 아래로 내리기 */
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    padding-bottom: 0;
    margin-bottom: 0;
    height: auto;
    min-height: 0;
}

.sub-menu a, .project-sub-menu a {
    font-family: 'Syncopate-Regular', Arial, sans-serif;
    font-size: 1.056rem !important;
}

.fixed-header-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 120px;
    background: #fff;
    z-index: 3000;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    /* border-bottom: 1px solid #eee; 구분선 제거 */
    box-sizing: border-box;
    padding: 0 40px 10px 40px; /* 하단 패딩 추가 */
    box-shadow: none;
}
.fixed-header-bar .logo-text {
    font-size: 25px;
    font-weight: bold;
    color: #333;
    text-align: center;
    line-height: 1;
    margin: 0;
    position: static;
    left: auto;
    transform: none;
    width: auto;
    max-width: none;
    box-sizing: border-box;
}
.fixed-header-bar .menu-active-logo-icon {
    width: 48px;
    height: auto;
    margin-right: 0;
    margin-left: auto;
    display: block;
    align-self: center;
}

.projects-page .header {
  margin-top: 50px !important;
  min-height: 60px !important;
  background: none !important;
  position: relative !important;
  z-index: 1001 !important;
  display: block !important;
}

body.menu-active .fixed-header-bar {
  background: #fff !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
body.menu-active .fixed-header-bar .logo-text {
  color: #bcbcbc !important;
}
body.menu-active .fixed-header-bar .menu-active-logo-icon {
  filter: grayscale(1) brightness(0.7) !important;
  opacity: 0.5 !important;
}

body.menu-active .projects-page .project-sub-menu a,
body.menu-active .projects-page .project-sub-menu a.active-sub-menu {
  color: #bcbcbc !important;
  font-weight: normal !important;
}

body.menu-active .projects-page .project-sub-menu {
  pointer-events: none !important;
}

body.menu-active .fixed-header-bar,
body.menu-active .projects-page .project-sub-menu {
  pointer-events: none !important;
}
body.menu-active .projects-page .header {
  pointer-events: auto !important;
}
body.menu-active .menu-overlay-ex {
  z-index: 9999 !important;
}

body.index-page .header {
    background: transparent !important;
    border-bottom: none !important;
}

body.index-page .slider {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    z-index: 1;
    margin: 0 !important;
    padding: 0 !important;
}

body.index-page .header .logo-link {
    bottom: 60px !important; /* 하단으로 이동 */
    top: auto !important;
}

body.index-page .navbar-toggle {
    top: 71px !important; /* 기존 56px에서 15px 아래로 */
}

body.index-page #menuLogoIcon {
    top: 73px !important; /* 기존 93px에서 20px 위로 */
    filter: brightness(0) invert(1) !important;
    background: none !important;
}

.about-page .header {
    border-bottom: none !important;
    box-shadow: none !important;
}

.about-page .header:has(.project-sub-menu) {
    border-bottom: none !important;
    box-shadow: none !important;
}

.contact-page .header {
    border-bottom: none !important;
    box-shadow: none !important;
}

.category-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
    margin-top: 0 !important;
    margin-bottom: 20px;
    position: relative;
    border-bottom: none !important;
    box-shadow: none !important;
    transform: translateX(25px);
}

.filter-toggle-btn {
    position: absolute;
    right: 20px;
    bottom: 0;
    top: auto;
    transform: none;
    z-index: 20;
    font-size: 16px;
    color: #ccc;
    background: none;
    border: none;
    padding: 8px 16px;
    cursor: pointer;
    text-decoration: none;
    border-radius: 0;
    font-family: 'Syncopate-Regular', sans-serif;
    height: 32px;
    display: flex;
    align-items: center;
    margin-left: 0;
}

.alphabet-filter {
    gap: 4px;
    overflow-x: hidden;
}

.alphabet-btn {
    font-size: 0.85rem;
    padding: 6px 6px;
    min-width: 0;
    flex: 1 1 0;
    max-width: 100%;
    white-space: nowrap;
    box-sizing: border-box;
    border-radius: 4px;
}

/* 어바웃 페이지 서브메뉴 스타일 */
.about-page .sub-menu {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    margin-top: 0px;
    margin-bottom: 0 !important;
    border-bottom: none !important;
    box-shadow: none !important;
    position: relative;
    text-align: center;
}

/* 필터 버튼과 서브메뉴 수평 정렬 */
.filter-toggle-btn {
    position: absolute !important;
    right: 20px !important;
    bottom: 0 !important;
    top: auto !important;
    transform: none !important;
    z-index: 20 !important;
}

/* 프로젝트 페이지 서브메뉴를 필터 버튼과 같은 라인에 맞춤 */
body.projects-page .project-sub-menu {
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    z-index: 10 !important;
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

/* 필터 버튼과 서브메뉴를 정확히 같은 높이에 맞춤 */
body.projects-page .header {
    position: relative !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    padding-bottom: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* 모든 기존 스타일을 덮어쓰는 최강력 스타일 */
body.projects-page .project-sub-menu {
    position: absolute !important;
    bottom: 0 !important;
    left: calc(50% + 10px) !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    top: auto !important;
    z-index: 10 !important;
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
}

body.projects-page .filter-toggle-btn {
    position: absolute !important;
    bottom: 0 !important;
    right: 20px !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    top: auto !important;
    z-index: 10 !important;
    height: 32px !important;
    display: flex !important;
    align-items: center !important;
}

nav.category-menu.other-projects-category-menu {
    margin-bottom: 35px !important;
}

/* 프로젝트 상세페이지 카테고리 텍스트 글자 간격 강제 적용 */
.project-detail-container .project-info-section > p {
    letter-spacing: 0.5px !important;
}

/* 프로젝트 상세페이지 h3 오른쪽 선 강제 적용 */
.project-detail-container .detail-item h3 {
    position: relative !important;
    overflow: visible !important;
    border-bottom: 1px solid #bbb !important;
}

.project-detail-container .detail-item h3::before {
    display: none !important;
    content: none !important;
}

/* 인덱스 페이지 텍스트 오른쪽 라인 강제 적용 */
body.index-page .main-bottom-text {
    position: relative !important;
    overflow: visible !important;
}

/* 팀 멤버 폰트 강제 적용 */
.team-member .member-position,
.team-member .member-email {
    font-family: 'Syncopate-Regular', sans-serif !important;
    font-weight: 100 !important;
    font-size: 12px !important;
}

.team-member .member-position {
    color: #666 !important;
    margin-bottom: 2.5px !important;
}

.team-member .member-email {
    color: #888 !important;
}

body.index-page .main-bottom-text::after {
    content: '' !important;
    position: absolute !important;
    left: 100% !important;
    top: 50% !important;
    width: 100vw !important;
    height: 2px !important;
    background: currentColor !important;
    z-index: 10 !important;
    pointer-events: none !important;
    display: var(--after-display, block) !important;
    margin-left: 20px !important;
    transform: translateY(-50%) !important;
}

/* 움직이는 텍스트 하단 위치 강제 적용 */
body.index-page .main-bottom-text {
    position: fixed !important;
    right: 80px !important;
    bottom: 60px !important;
    top: auto !important;
    color: #fff !important;
    font-size: 36px !important;
    font-family: 'Syncopate-Bold', sans-serif !important;
    letter-spacing: 2px !important;
    opacity: 0.95 !important;
    z-index: 210 !important;
    display: flex !important;
    align-items: center !important;
    font-weight: bold !important;
    white-space: nowrap !important;
    margin-right: 0 !important;
    transform: none !important;
}

/* studio-section 정사각형 이미지 박스 */
.square-image {
    flex: 1;
    aspect-ratio: 1/1;
    min-width: 380px;
    max-width: 700px;
    width: 100%;
    background: #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 2.5rem;
    box-sizing: border-box;
}

.studio-description {
    font-size: 1.25em;
}

.studio-flex-row {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

.square-image {
    flex: 1 1 0;
    aspect-ratio: 1/1;
    min-width: 0;
    max-width: none;
    width: auto;
    background: #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 2.5rem;
    box-sizing: border-box;
}

.studio-description {
    flex: 1 1 0;
    min-width: 0;
    max-width: none;
    width: auto;
    font-size: 18px;
    line-height: 1.7;
    overflow-wrap: break-word;
    word-wrap: break-word;
    hyphens: auto;
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
}

/* 어바웃 페이지 STUDIO 섹션 반응형 조정 */
@media (max-width: 1200px) {
    .studio-description {
        font-size: 17px;
        padding: 18px;
    }
}

@media (max-width: 1024px) {
    .studio-description {
        font-size: 16px;
        padding: 16px;
    }
}

@media (max-width: 768px) {
    .studio-description {
        font-size: 15px;
        padding: 15px;
    }
    .studio-flex-row {
        flex-direction: column;
        gap: 20px;
    }
    .square-image {
        min-width: 300px;
        max-width: 400px;
    }
}

@media (max-width: 480px) {
    .studio-description {
        font-size: 14px;
        padding: 12px;
    }
    .square-image {
        min-width: 250px;
        max-width: 300px;
    }
}

/* 로고 애니메이션 스타일 */
.logo-animation {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    transition: opacity 0.5s ease;
}

.logo-animation-container {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.logo-animation-image {
    position: absolute;
    width: 100px;
    height: auto;
    transition: opacity 0.8s ease;
    opacity: 0;
}

.logo-animation-text {
    position: absolute;
    font-family: 'Syncopate-Bold', sans-serif;
    font-size: 2rem;
    color: #000;
    letter-spacing: 0.1em;
    transition: opacity 0.8s ease;
    white-space: nowrap;
    text-align: center;
    opacity: 0;
}

.studio-description {
    flex: 1 1 0;
    min-width: 0;
    max-width: none;
    width: auto;
    font-size: 22px;
    line-height: 1.8;
    overflow-wrap: break-word;
    word-wrap: break-word;
    hyphens: auto;
    padding: 30px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
    background: #fafafa;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

/* 어바웃 페이지 STUDIO 섹션 반응형 조정 */
@media (max-width: 1200px) {
    .studio-description {
        font-size: 20px;
        padding: 25px;
    }
}

@media (max-width: 1024px) {
    .studio-description {
        font-size: 18px;
        padding: 22px;
    }
}

@media (max-width: 768px) {
    .studio-description {
        font-size: 16px;
        padding: 20px;
    }
    .studio-flex-row {
        flex-direction: column;
        gap: 30px;
    }
    .square-image {
        aspect-ratio: 1/1;
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
    }
}

@media (max-width: 480px) {
    .studio-description {
        font-size: 15px;
        padding: 18px;
    }
    .square-image {
        max-width: 300px;
    }
}

.studio-description {
    flex: 1 1 0;
    min-width: 0;
    max-width: none;
    width: auto;
    font-size: 20px;
    line-height: 1.6;
    overflow-wrap: break-word;
    word-wrap: break-word;
    hyphens: auto;
    padding: 25px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    max-height: 100%;
    overflow: hidden;
    background: #fafafa;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

/* 어바웃 페이지 STUDIO 섹션 반응형 조정 */
@media (max-width: 1200px) {
    .studio-description {
        font-size: 18px;
        padding: 22px;
    }
}

@media (max-width: 1024px) {
    .studio-description {
        font-size: 16px;
        padding: 20px;
    }
}

@media (max-width: 768px) {
    .studio-description {
        font-size: 15px;
        padding: 18px;
        height: auto;
        overflow: visible;
    }
    .studio-flex-row {
        flex-direction: column;
        gap: 30px;
    }
    .square-image {
        aspect-ratio: 1/1;
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
    }
}

@media (max-width: 480px) {
    .studio-description {
        font-size: 14px;
        padding: 16px;
    }
    .square-image {
        max-width: 300px;
    }
}

