@charset "UTF-8";
/* CSS Document */
#intro-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #fff; /* 背景黑色，左右留空時唔會露底 */
  z-index: 9999;
  /* Flexbox 將影片水平及垂直居中 */
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 1s ease;
}
/* 影片尺寸設定 */
#intro-video {
  height: 100%; /* 固定 100% 高度 */
  width: auto; /* 寬度按 3:4 比例自動調整 */
  max-width: none; /* 防止被其他全域 CSS 限制寬度 */
  object-fit: contain; /* 確保影片比例唔會被扭曲 */
}
/* 淡出與隱藏 */
#intro-overlay.fade-out {
  opacity: 0;
  pointer-events: none;
}
#intro-overlay.hidden {
  display: none;
}
/* =========================================
       基本設定 (Reset & Typography)
       ========================================= */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
 html { scroll-behavior: smooth; } /* 讓回到最頂有平滑捲動效果 */
body {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #111;
  background-color: #fff;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a {
  text-decoration: none;
  color: inherit;
}
ul {
  list-style: none;
}
/* =========================================
       大版面佈局 (Desktop Layout)
       ========================================= */
.site-container {
  display: flex;
  min-height: 100vh;
  margin-left: auto;
  margin-right: auto;
  max-width: 1400px;
}
/* 左側側邊欄 - 完全置中對齊 */
.sidebar-content {
  width: 260px;
  padding: 60px 20px;
  position: fixed;
  height: 100vh;
  overflow-y: auto;
  background: #fff;
  z-index: 10;
  text-align: center; /* 置中所有內容 */
  display: flex;
  flex-direction: column;
  align-items: center;
}
.logo a {
  font-size: 24px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  line-height: 1.2;
  display: block;
  margin-bottom: 50px;
}
.project-cover .title {
  text-align: center;
}
/* 選單設定 */
nav ul {
  margin-bottom: 40px;
  width: 100%;
}
nav ul li { /*margin-bottom: 15px;*/
}
.gallery-title {
  margin-bottom: 25px;
}
.gallery-title a {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: #999;
  text-transform: uppercase;
}
nav a {
  font-size: 13px;
  color: #6f6f6f;
  transition: color 0.3s ease;
}
nav a:hover {
  color: #111;
}
.page-title {
  margin-bottom: 15px;
  font-size: 13px;
  color: #999;
}
.page-title a {
  color: #999;
  transition: 0.3s;
}
.page-title a:hover {
  color: #111;
}
/* 社交媒體 Icon 置中 */
.social {
  width: 100%;
  margin-top: 30px;
  color: #999;
  font-size: 13px;
}
.social ul {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-bottom: 0;
}
.social .icon {
  width: 16px;
  height: 16px;
  fill: #999;
  transition: fill 0.3s;
}
.social a:hover .icon {
  fill: #111;
}
/* 右側主內容區 - 零 Padding */
main {
  flex: 1;
  margin-left: 260px; /* 配合側邊欄闊度 */
  padding: 0; /* 移除外圍空白，做到全滿版 */
}
/* =========================================
       無縫網格作品區 (Zero-gap Grid)
       ========================================= */
.project-covers {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 嚴格2欄佈局 */
  gap: 0; /* 圖片零間隙 */
}
.project-cover {
  display: block;
  background: #f5f5f5;
  transition: opacity 0.3s ease;
  position: relative;
}
.project-cover:hover .details-wrap {
  opacity: 1; /* 輕微變暗效果 */
}
.cover-image-wrap {
  width: 100%;
  aspect-ratio: 1 / 1; /* 強制正方形 */
  overflow: hidden;
  display: block;
}
.cover__img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 確保圖片不變形填滿格子 */
  display: block;
}
/* 隱藏圖片下方文字以符合原版設計 */
.details-wrap {
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.5s;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.7);
  font-size: 24px;
  font-weight: 700;
}
.details-wrap span {
  font-size: 16px;
  font-weight: 400;
  display: block;
  text-align: center;
}
.details-wrap .skill {}
/* =========================================
       手機版響應式設計 (Mobile Responsive)
       ========================================= */
.hamburger-click-area {
  display: none;
}
.js-responsive-nav {
  display: none;
}
  .project-gallery {
      max-width: 900px;
      margin: 0 auto;
      padding: 0 40px;
      display: flex;
      flex-direction: column;
      /*gap: 30px;*/ /* 圖片之間的間距 */
      width: 100%;
    }
    .project-gallery img {
      width: 100%;
      height: auto;
      display: block;
    }
    .project-header {
      padding: 100px 20px 60px;
      text-align: center;
		max-width: 900px;
    margin: 0 auto;
    }
    .project-header h1 {
      font-size: 28px;
      font-weight: 700;
      letter-spacing: 0px;
      margin-bottom: 20px;
		line-height: 1.2;
    }
	 
    .project-header p {
      font-size: 15px;
      color: #666;
      max-width: 600px;
      margin: 0 auto;
      line-height: 1.5;
    }

@media (max-width: 900px) {
  .site-container {
    flex-direction: column;
  }
  .sidebar-content {
    width: 100%;
    height: auto;
    position: relative;
    padding: 20px 30px;
    display: block; /* 覆蓋電腦版嘅 flex-column 設定 */
  }
  /* 將 Logo 同漢堡選單橫向平排、左右對齊 */
  .site-header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }
  .logo a {
    margin-bottom: 0;
    font-size: 20px;
    line-height: 1.1;
    text-align: left;
  }
  .sidebar-content nav {
    display: none;
  }
  main {
    margin-left: 0;
    padding: 0;
  }
  .project-covers {
    grid-template-columns: 1fr; /* 手機變單行滿版 */
  }
  /* 漢堡選單按鈕 */
  .hamburger-click-area {
    display: block;
    cursor: pointer;
    padding: 10px;
    margin-right: -10px;
  }
  .hamburger i {
    display: block;
    width: 24px;
    height: 2px;
    background: #111;
    margin-bottom: 6px;
    transition: 0.3s;
  }
  .hamburger i:last-child {
    margin-bottom: 0;
  }
  /* 手機版彈出選單 */
  .js-responsive-nav {
    display: block;
    position: fixed;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100vh;
    background: #fff;
    z-index: 100;
    padding: 40px;
    transition: left 0.4s ease;
    overflow-y: auto;
  }
  .js-responsive-nav.is-open {
    left: 0;
  }
  .close-responsive-button {
    font-size: 40px;
    line-height: 1;
    text-align: right;
    cursor: pointer;
    margin-bottom: 30px;
    color: #111;
  }
  .close-responsive-button::after {
    content: "×";
  }
  .js-responsive-nav nav {
    text-align: center;
  }
  .js-responsive-nav nav ul li {
    margin-bottom: 18px;
    font-size: 18px;
  }
	.dropdown-menu li {
		margin-bottom: 0!important;
	}
  .js-responsive-nav .page-title {
    margin-bottom: 20px;
    font-size: 18px;
  }
  .project-title {
    margin-bottom: 20px !important; /* 分類之間的間距 */
  }
	.project-gallery { padding: 0 0px!important; gap: 0px; }
      .project-header { padding: 50px 20px 30px; }
}
/* 選單基本設定 */
.nav-menu {
  list-style: none;
  padding: 0;
  margin: 0;
}
.project-title {
  margin-bottom: 20px; /* 分類之間的間距 */
}
/* 預設隱藏 Dropdown，讓 JS 用 slideToggle / slideDown 控制 */
.dropdown-menu {
  display: none;
  list-style: none;
  margin: 4px 0 8px 0;
  background-color: #ffffff; /* 白底 */
}
/* 子項目連結：灰字 */
.dropdown-menu li a {
  display: block;
  padding: 4px 0;
  color: #888888; /* 灰字 */
  font-size: 13px;
  text-decoration: none;
  transition: color 0.2s ease;
  opacity: .7;
}
/* Hover 時變黑字 / 深色 */
.dropdown-menu li a:hover {
  color: #000000;
}
.social img{
	height: 20px;
	width: auto;
	
}

 .cny-bg{
		  background: #fff;
		  font-size: 12px;
		  padding:5%;
		  text-align: center;
		 
	  }
	  .cny-bg h1{text-align: center;
		  line-height: 1.2;
		  margin-bottom: 20px;}
	  .cny-bg li{
		  margin-top: 10px;
	  }
	  .w-bg{
		  font-size: 12px;
		   padding:5%;
		  text-align: center;
	  }
	   .cny-bg h1{
		  
	  }
	  .knf{
		  display: flex;
		  width: 100%;
	  }
	  .knf-p1{
		  width: 50%;
		  height: auto;
	  }
	  .knf-p2{
		  width: 50%;
	  height: auto;
	  }
	  .knf-p2 img,.knf-p1 video{
		  width: 100%;
		  height: auto;
	  }

    .back-to-top {
      text-align: center;
      padding: 60px 0 60px;
    }
    .back-to-top a {
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: 2px;
      color: #999;
      transition: color 0.3s;
    }
    .back-to-top a:hover { color: #111; }
    .arrow { margin-right: 5px; }

  /* =========================================
       推薦作品區 (You may also like)
       ========================================= */
    .other-projects {
    max-width: 900px;
    margin: 0 auto;
    margin-top: 60px;
    }
    .other-projects-title {
      text-align: center;
      font-size: 13px;
      text-transform: uppercase;
      letter-spacing: 2px;
      color: #999;
      margin-bottom: 40px;
    }
    
    /* 沿用無縫網格設計 */
    .project-covers {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 0;
    }
    .project-cover { display: block; background: #f5f5f5; transition: opacity 0.3s ease; }
    .project-cover:hover { opacity: 0.85; }
    .cover-image-wrap { width: 100%; aspect-ratio: 1 / 1; overflow: hidden; display: block; }
    .cover__img { width: 100%; height: 100%; object-fit: cover; display: block; }
    
    /* 隱藏圖片下方文字以符合極簡設計 */
    .details-wrap { display: none; }