* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  background-color: #1a1615 !important; /* 强制所有页面使用该颜色 */
  color: #e2cca8; /* 默认文字颜色 */
  min-height: 100%;
}

/* 打字机光标闪烁效果 */
.cursor {
  display: inline-block;
  color: #c1a481;
  animation: blink 1s infinite;
  font-weight: bold;
}

@keyframes blink {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}

.typing-text {
  color: #e2cca8;
  font-family: "Inconsolata", monospace;
  font-weight: bold;
}

section {
  background-color: #1a1615;
}

.main-header {
  background: rgba(26, 22, 21, 0.6) !important;

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  border-bottom: 1px solid rgba(193, 164, 129, 0.1);

  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;

  transition: background var(--transition-speed), border var(--transition-speed);
}

body {
  font-family: "Inconsolata", monospace;
  background-color: #1a1615;
  color: #e2cca8;
  line-height: 1.6;
  margin: 0;
  padding: 0;
}

footer {
  background-color: #1a1615;
}

.main-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 32px;
  position: sticky;
  top: 0;
  z-index: 999;
}

.header-logo img {
  height: 50px;
  width: auto;
}

.header-nav ul {
  list-style: none;
  display: flex;
  gap: 32px;
}

.header-nav a {
  text-decoration: none;
  color: #c1a481;
  font-family: "Cormorant", serif;
  font-size: 18px;
}

.header-nav a:hover {
  color: #6e685f;
}

.header-cta a {
  background-color: #6e685f;
  color: #e2cca8;
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 4px;
  font-family: "Cormorant", serif;
}

.header-cta a:hover {
  background-color: #c1a481;
  color: #1a1615;
}

.header-nav a.active {
  color: #c1a481; /* 您的强调色 */
  border-bottom: 2px solid #c1a481;
  padding-bottom: 2px;

  cursor: default;
}

.header-nav a.active:hover {
  color: #c1a481; /* 保持强调色 */
  background-color: transparent; /* 确保没有背景色变化 */
}

/* --- Global Project Navigation --- */
.project-nav-container {
  padding: 60px 8% 20px;
  background-color: #1a1615;
  text-align: center;
}

.nav-title {
  font-family: "Inconsolata", monospace;
  color: #c1a481;
  font-size: 12px;
  letter-spacing: 4px;
  margin-bottom: 30px;
  opacity: 0.6;
}

.nav-links-grid {
  display: flex;
  justify-content: center;
  gap: 15px;
  max-width: 1200px;
  margin: 0 auto;
}

.nav-item {
  flex: 1;
  background-color: #26211e;
  border: 1px solid rgba(193, 164, 129, 0.15);
  border-radius: 12px;
  padding: 25px 15px;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: all 0.4s ease;
}

.nav-label {
  font-family: "Inconsolata", monospace;
  font-size: 11px;
  color: #c1a481;
  margin-bottom: 8px;
}

.nav-text {
  font-family: "Cormorant", serif;
  font-size: 18px;
  color: #e2cca8;
  white-space: nowrap;
}

.nav-item:hover {
  border-color: #c1a481;
  background-color: #2d2723;
  transform: translateY(-5px);
}

.nav-item:hover .nav-text {
  color: #c1a481;
}

footer {
  color: #e2cca8;
  text-align: center;
  padding: 60px 20px;
}

.footer-cta h2 {
  font-family: "Cormorant", serif;
  font-size: 40px;
  margin-bottom: 20px;
  font-weight: 400;
}

.footer-cta p {
  color: #e2cca8;
  margin-bottom: 20px;
}

.social-links {
  margin-top: 30px;
  margin-bottom: 15px;
  display: flex;
  justify-content: center;
  gap: 25px;
}

.social-links a {
  color: #c1a481;
  font-size: 24px;
  transition: transform 0.3s ease, color 0.3s ease;
}

.social-links a:hover {
  color: #e2cca8;
  transform: translateY(-3px);
}

.get-in-touch-text {
  font-family: "Inconsolata", monospace;
  font-size: 14px;
  letter-spacing: 4px;
  color: #c1a481;
  margin-top: 10px;
  text-transform: uppercase;
  font-weight: 500;
}

#back-to-top {
  position: fixed;
  bottom: 24px;
  right: 24px;
  display: none;
  background-color: #6e685f;
  color: #e2cca8;
  border: none;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  font-size: 24px;
  cursor: pointer;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
  transition: background-color 0.3s, transform 0.2s;
  z-index: 1000;
}
#back-to-top:hover {
  background-color: #c1a481;
  color: #1a1615;
  transform: translateY(-2px);
}

.split-identity-section {
  display: flex;
  width: 100%;
  height: 85vh; /* 占据大部分屏幕高度，营造沉浸感 */
  background-color: #1a1615;
  overflow: hidden;
  border-top: 1px solid rgba(193, 164, 129, 0.2);
  border-bottom: 1px solid rgba(193, 164, 129, 0.2);
}

/* 面板通用样式 */
.split-panel {
  position: relative;
  flex: 1; /* 默认左右各占 50% */
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 4vw;
  transition: flex 0.8s cubic-bezier(0.25, 1, 0.5, 1); /* 高级缓动曲线 */
  overflow: hidden;
}

.panel-left {
  border-right: 1px solid rgba(193, 164, 129, 0.2);
}

.split-panel:hover {
  flex: 2.5; /* 展开占据更多空间 */
  background-color: #1f1b1a; /* 稍微变亮一点点，增加层次 */
}

/* 当鼠标悬停在左边时，右边变暗一点 */
.split-identity-section:hover .split-panel:not(:hover) {
  opacity: 0.4;
  filter: blur(2px); /* 没选中的部分稍微模糊，强调焦点 */
}

.panel-content {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* 巨大的标题 */
.big-title {
  font-family: "Cormorant", serif;
  font-size: 8vw; /* 响应式超大字体 */
  line-height: 0.9;
  color: #c1a481;
  margin: 0;
  transition: all 0.8s ease;
  transform-origin: left center;
  white-space: nowrap;
}

/* 详细文字内容 (默认隐藏) */
.detail-text {
  max-width: 600px;
  margin-top: 40px;
  opacity: 0; /* 初始不可见 */
  transform: translateY(50px); /* 初始位置靠下 */
  transition: all 0.6s ease 0.1s; /* 延迟一点点出现 */
}

.detail-text h3 {
  font-family: "Cormorant", serif;
  font-size: 2rem;
  margin-bottom: 20px;
  font-weight: 300;
}

.detail-text p {
  font-family: "Inconsolata", monospace;
  font-size: 1.1rem;
  color: rgba(193, 164, 129, 0.9);
  line-height: 1.6;
}

/* --- 激活时的文字动画 --- */

/* 悬停时，大标题变小并上移，腾出空间 */
.split-panel:hover .big-title {
  font-size: 4vw;
  transform: translateY(-20px);
  opacity: 0.8;
}

/* 悬停时，详细文字浮现 */
.split-panel:hover .detail-text {
  opacity: 1;
  transform: translateY(0);
}

/* --- 交互效果 --- */
.avatar-wrapper:hover .profile-image {
  transform: scale(1.05); /* 头像稍微放大 */
  box-shadow: 0 0 50px rgba(193, 164, 129, 0.6);
}

/* --- New Text-Only Hero Section (无照片主页) --- */

.profile-hero-text {
  position: relative;
  height: 100vh; /* 全屏高度 */
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

#vanta-particles-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}

.hero-content-centered {
  text-align: center;
  z-index: 2;
  mix-blend-mode: normal; /* 保持清晰 */
}

/* 巨大的名字标题 */
.hero-main-title {
  font-family: "Cormorant", serif;
  font-size: 15vw; /* 极大的字体，撑满屏幕视觉 */
  font-weight: 300;
  color: #c1a481;
  line-height: 0.8;
  margin: 0;
  letter-spacing: -2px;
  animation: fadeInUp 1s ease-out 0.5s backwards; /* 入场动画 */
}

/* 下方的信息行 */
.hero-meta-row {
  margin-top: 20px;
  font-family: "Inconsolata", monospace;
  font-size: 1.2rem;
  color: rgba(193, 164, 129, 0.8);
  letter-spacing: 2px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  animation: fadeInUp 1s ease-out 0.8s backwards;
}

.separator {
  color: #4a4a4a;
}

/* 滚动提示 */
.scroll-indicator {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  animation: fadeIn 1s ease-out 1.5s backwards;
}

.scroll-indicator span {
  font-family: "Inconsolata", monospace;
  font-size: 10px;
  color: rgba(193, 164, 129, 0.5);
  letter-spacing: 2px;
}

.scroll-indicator .line {
  width: 1px;
  height: 40px;
  background: linear-gradient(to bottom, #c1a481, transparent);
}

/* --- 动画帧 --- */
@keyframes orbit1 {
  from {
    transform: rotateX(70deg) rotateY(10deg) rotateZ(0deg);
  }
  to {
    transform: rotateX(70deg) rotateY(10deg) rotateZ(360deg);
  }
}

@keyframes orbit2 {
  from {
    transform: rotateX(75deg) rotateY(-20deg) rotateZ(0deg);
  }
  to {
    transform: rotateX(75deg) rotateY(-20deg) rotateZ(360deg);
  }
}

/* --- Skills Section (黑金线条版) --- */
.skills-section {
  padding: 120px 5% 100px 5%;
  max-width: 1400px; /* 让宽屏显示更舒服 */
  margin: 0 auto;
  background-color: #1a1615;
}

/* 顶部大标题 */
.skills-header {
  text-align: center;
  margin-bottom: 80px;
}

.skills-title {
  font-family: "Cormorant", serif;
  font-size: 5rem;
  line-height: 0.9;
  color: #c1a481;
  margin-bottom: 20px;
}

.skills-subtitle {
  font-family: "Inconsolata", monospace;
  color: rgba(193, 164, 129, 0.7);
  font-size: 1.1rem;
  max-width: 600px;
  margin: 0 auto;
}

/* Bento Grid 布局 */
.skills-bento-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  grid-auto-flow: dense;
}

.skill-bento-card {
  position: relative;
  padding: 40px;
  border: 1px solid rgba(193, 164, 129, 0.2); /* 细金线边框 */
  border-radius: 4px; /* 稍微一点点圆角 */
  background: rgba(30, 26, 25, 0.3); /* 极淡的背景 */
  overflow: hidden;
  transition: all 0.4s ease;
  display: flex;
  flex-direction: column;
}

.skill-wide {
  grid-column: span 2;
}

.skill-tall {
  grid-row: span 2;
}

.skill-bento-card:hover {
  border-color: #c1a481;
  background: rgba(30, 26, 25, 0.6);
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.skill-bento-card h3 {
  font-family: "Cormorant", serif;
  font-size: 2rem;
  margin-top: 0;
  margin-bottom: 20px;
  position: relative;
  z-index: 2;
}

.skill-bento-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
  z-index: 2;
}

.skill-bento-card li,
.skill-bento-card p {
  font-family: "Inconsolata", monospace;
  font-size: 1rem;
  line-height: 1.8;
  margin-bottom: 5px;
}

.skill-bento-card li::before {
  content: "- ";
  color: #c1a481;
  margin-right: 5px;
}

.skill-bg-icon {
  position: absolute;
  bottom: -20px;
  right: -20px;
  font-size: 8rem;
  color: rgba(193, 164, 129, 0.05);
  transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  z-index: 1;
  transform: rotate(-15deg);
}

.skill-bento-card:hover .skill-bg-icon {
  transform: scale(1.2) rotate(0deg); /* 变大且回正 */
  color: rgba(193, 164, 129, 0.15); /* 稍微变亮 */
  bottom: -10px;
  right: -10px;
}

/* --- New About Hero (匹配首页风格) --- */
.about-hero-section {
  min-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 120px 5% 60px 5%;
  background-color: #1a1615;
}

.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  max-width: 1200px;
  align-items: center;
}

/* 照片样式：带金线框 */
.about-image-wrapper {
  position: relative;
  padding: 20px 0 0 20px; /* 给边框留位 */
}

.image-border {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(193, 164, 129, 0.4);
  z-index: 1;
  transition: transform 0.5s ease;
}

.about-portrait {
  position: relative;
  width: 100%;
  max-width: 450px;
  height: auto;
  display: block;
  z-index: 2;
  filter: grayscale(20%) contrast(110%);
  transition: filter 0.5s ease;
}

.about-image-wrapper:hover .image-border {
  transform: translate(-10px, -10px);
}
.about-image-wrapper:hover .about-portrait {
  filter: grayscale(0%);
}

.about-title {
  font-family: "Cormorant", serif;
  font-size: 5rem;
  line-height: 0.9;
  color: #c1a481;
  margin-bottom: 30px;
}

.about-bio {
  font-family: "Inconsolata", monospace;
  font-size: 1.1rem;
  line-height: 1.6;
  max-width: 500px;
}

/* --- 1. 旋转印章动画样式 --- */
.about-text-content {
  position: relative; /* 让印章可以绝对定位 */
}

.rotating-badge {
  position: absolute;
  top: -60px; /* 调整位置在 About Me 右上方 */
  right: 0;
  width: 130px;
  height: 130px;
  z-index: 10;
  pointer-events: none; /* 让鼠标可以穿透它点击下面的文字 */
}

.badge-svg {
  width: 100%;
  height: 100%;
  animation: rotateBadge 15s linear infinite; /* 15秒转一圈 */
}

.badge-text {
  fill: #c1a481;
  font-family: "Inconsolata", monospace;
  font-size: 13px;
  letter-spacing: 2px;
  font-weight: bold;
}

.badge-star {
  fill: #c1a481;
  font-size: 24px;
  dominant-baseline: middle;
  text-anchor: middle;
}

@keyframes rotateBadge {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* 手机端隐藏印章，防止遮挡文字 */
@media (max-width: 768px) {
  .rotating-badge {
    display: none;
  }
}

/* --- 2. 视差效果过渡 --- */
.about-portrait,
.image-border {
  transition: transform 0.1s ease-out; /* 保证鼠标跟随的流畅度 */
}

.section-heading {
  text-align: center;
  font-family: "Cormorant", serif;
  font-size: 3rem;
  color: #c1a481;
  margin: 80px 0 60px 0;
  font-weight: 300;
}

.goals-minimal-section {
  padding: 0 5% 80px 5%;
}

.goals-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  max-width: 1000px;
  margin: 0 auto;
}

.goal-type {
  font-family: "Inconsolata", monospace;
  font-size: 14px;
  letter-spacing: 2px;
  color: rgba(193, 164, 129, 0.6);
  border-bottom: 1px solid rgba(193, 164, 129, 0.2);
  padding-bottom: 15px;
  margin-bottom: 30px;
}

.goal-item {
  margin-bottom: 40px;
}

.goal-category {
  font-family: "Cormorant", serif;
  font-size: 1.5rem;
  display: block;
  margin-bottom: 10px;
}

.goal-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.goal-list li {
  font-family: "Inconsolata", monospace;
  margin-bottom: 8px;
  padding-left: 15px;
  position: relative;
}

.goal-list li::before {
  content: "•";
  color: #c1a481;
  position: absolute;
  left: 0;
}

.language-section {
  border-top: 1px solid rgba(193, 164, 129, 0.2);
  border-bottom: 1px solid rgba(193, 164, 129, 0.2);
  padding: 40px 0;
  background: rgba(30, 26, 25, 0.5);
}

.lang-container {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 800px;
  margin: 0 auto;
}

.lang-block {
  text-align: center;
  flex: 1;
}

.lang-block h3 {
  font-family: "Inconsolata", monospace;
  font-size: 12px;
  letter-spacing: 2px;
  color: rgba(193, 164, 129, 0.5);
  margin-bottom: 10px;
}

.lang-block p {
  font-family: "Cormorant", serif;
  font-size: 1.5rem;
}

.lang-divider {
  width: 1px;
  height: 50px;
  background: rgba(193, 164, 129, 0.2);
  margin: 0 40px;
}

.experience-section {
  padding: 0 5% 100px 5%;
}

.timeline-minimal {
  max-width: 1000px;
  margin: 0 auto;
}

.timeline-row {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 40px;
  padding: 40px 0;
  border-top: 1px solid rgba(193, 164, 129, 0.2);
  transition: background 0.3s;
}

.timeline-row:hover {
  background: linear-gradient(90deg, rgba(193, 164, 129, 0.05), transparent);
}

.timeline-date {
  font-family: "Inconsolata", monospace;
  color: #c1a481;
  font-size: 14px;
  padding-top: 5px;
}

.timeline-detail h3 {
  font-family: "Cormorant", serif;
  font-size: 2rem;
  margin: 0 0 5px 0;
}

.timeline-detail .role {
  font-family: "Inconsolata", monospace;
  font-size: 1rem;
  color: #c1a481;
  margin-bottom: 15px;
  font-style: italic;
}

.timeline-detail .desc {
  font-family: "Inconsolata", monospace;
  line-height: 1.6;
}

.resume-section {
  padding: 0 5% 120px 5%;
  text-align: center;
  background-color: #1a1615;
}

.resume-pdf-container {
  width: 100%;
  max-width: 1000px; /* 保持和你原来的一样宽 */
  height: 1100px;    /* 给 PDF 一个足够的高度，方便阅读 */
  margin: 0 auto 60px auto;
  border: 1px solid rgba(193, 164, 129, 0.3); /* 金色边框 */
  background-color: #26211e; /* PDF加载前的背景色 */
  opacity: 0.95;
  transition: all 0.4s ease; /* 保留丝滑过渡 */
  overflow: hidden; 
}

.resume-pdf-container {
    width: 100%;
    max-width: 1000px;
    height: 1100px;   
    margin: 0 auto 60px auto;
    border: 1px solid rgba(193, 164, 129, 0.3);
    background-color: #26211e;
}

.resume-frame {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

@media (max-width: 768px) {
  .resume-pdf-container {
    height: 500px; /* 手机上改矮一点 */
  }
}

.resume-download-btn {
  display: inline-block;
  padding: 15px 40px;
  font-family: "Inconsolata", monospace;
  font-size: 16px;
  letter-spacing: 2px;
  color: #c1a481;
  text-decoration: none;
  border: 1px solid #c1a481;
  transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
  position: relative;
  overflow: hidden;
  background: transparent;
}

.resume-download-btn:hover {
  background-color: #c1a481;
  color: #1a1615;
  box-shadow: 0 0 20px rgba(193, 164, 129, 0.4);
}

.skills {
  background-color: #1a1615;
  color: #e2cca8;
  padding: 60px 20px;
  text-align: center;
}

.skills h2 {
  font-size: 60px;
  margin-bottom: 40px;
  font-family: "Cormorant", serif;
  color: #c1a481;
}

.skills-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;

  max-width: 900px;
  margin: 0 auto;
  text-align: left;
}

.skill {
  background-color: #2a2625;
  padding: 20px;
  border-radius: 6px;
  text-align: left;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease;
}

.skill:hover {
  transform: translateY(-5px);
}

.skill h3 {
  font-size: 25px;
  margin-bottom: 10px;
  font-family: "Cormorant", serif;
  color: #c1a481;
}

.skills-grid .skill:nth-child(5) {
  grid-row: span 2;
}

.skills-grid .skill:nth-child(1) {
  grid-row: span 2;
}

.skill ul {
  list-style-type: disc;
  padding-left: 20px;
  margin-top: 10px;
}

.skill li {
  margin-bottom: 5px;
  font-family: "Inconsolata", monospace;
  color: #e2cca8;
}

.sub-projects-container {
  padding: 80px 8%;
  background-color: #1a1615;
  text-align: center;
}

.sub-projects-grid {
  display: flex;
  justify-content: center;
  gap: 25px;
  flex-wrap: wrap; /* 确保在手机端能自动换行 */
  max-width: 1200px;
  margin: 0 auto;
}

/* 核心卡片样式：参考 Bento 风格 */
.bento-sub-card {
  background-color: #26211e; /* 与 Bento 保持一致的深褐色 */
  border: 1px solid rgba(193, 164, 129, 0.15); /* 淡淡的金色边框 */
  border-radius: 15px;
  padding: 40px 30px;
  width: 320px; /* 固定的宽度确保三行排开 */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  text-decoration: none; /* 去掉链接下划线 */
}

/* 悬停效果：边框加亮、轻微位移 */
.bento-sub-card:hover {
  border-color: #c1a481;
  transform: translateY(-10px);
  background-color: #2d2723;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4);
}

.bento-sub-card h3 {
  font-family: "Cormorant", serif;
  font-size: 26px;
  color: #c1a481;
  margin-bottom: 15px;
  text-transform: none; /* 保持首字母大写，更有设计感 */
}

.bento-sub-card p {
  font-family: "Inconsolata", monospace;
  font-size: 15px;
  color: #e2cca8;
  line-height: 1.6;
  margin-bottom: 25px;
  opacity: 0.8;
}

/* --- Photography 摄影板块统一高级样式 --- */
.photography-section {
  padding: 100px 8%;
  background-color: #1a1615; /* 统一深色背景 */
  text-align: center;
}

.photography-subtitle {
  font-family: "Inconsolata", monospace;
  color: #e2cca8;
  opacity: 0.8;
  margin-bottom: 60px;
}

.photography-cards {
  display: flex;
  justify-content: center;
  gap: 30px; /* 卡片间距 */
  flex-wrap: wrap;
  max-width: 1300px;
  margin: 0 auto;
  align-items: stretch; /* 确保所有卡片等高 */
}

/* 核心卡片样式：参考 Bento 风格 */
.photography-card {
  background-color: #26211e; /* 统一深褐色 */
  border: 1px solid rgba(193, 164, 129, 0.15); /* 淡淡的金色边框 */
  border-radius: 15px;
  padding: 25px;
  width: 380px; /* 略微调宽，确保三张并排 */
  display: flex;
  flex-direction: column; /* 垂直布局 */
  transition: all 0.4s ease;
}

.photography-card:hover {
  border-color: #c1a481;
  transform: translateY(-10px);
  background-color: #2d2723;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4);
}

/* 图片容器：保持原图高度，但设定底部间距 */
.photography-card img {
  width: 100%;
  height: auto; /* 保持原图比例 */
  border-radius: 8px;
  margin-bottom: 25px;
}

/* 文字区：这是确保水平线对齐的关键 */
.photography-text-content {
  margin-top: auto; /* 将文字推至底部对齐 */
  text-align: left; /* 建议左对齐或居中，左对齐更显高级 */
}

.photography-card h3 {
  font-family: "Cormorant", serif;
  font-size: 24px;
  color: #c1a481;
  margin-bottom: 12px;
}

.photography-card p {
  font-family: "Inconsolata", monospace;
  font-size: 14px;
  color: #e2cca8;
  line-height: 1.6;
  opacity: 0.8;
}

/* 底部链接样式：参考 Bento 的箭头风格 */
.bento-sub-link {
  font-family: "Inconsolata", monospace;
  color: #c1a481;
  font-weight: bold;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: 0.3s;
}

.bento-sub-card:hover .bento-sub-link {
  letter-spacing: 2px;
}

/* --- Bento Project Gallery (黑金极简版) --- */

.projects-bento-section {
  padding: 120px 5% 100px 5%;
  background-color: #1a1615;
  color: #e2cca8;
}

.bento-header {
  text-align: center;
  margin-bottom: 80px;
}

.bento-header h2 {
  font-family: "Cormorant", serif;
  font-size: 5rem;
  line-height: 0.9;
  color: #c1a481;
  margin: 0 0 20px 0;
}

.bento-header p {
  font-family: "Inconsolata", monospace;
  color: rgba(193, 164, 129, 0.7);
  font-size: 1.1rem;
  max-width: 600px;
  margin: 0 auto;
}

.bento-grid-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 300px; /* 稍微增加高度，让大数字更舒展 */
  gap: 30px; /* 增加间距 */
  max-width: 1400px;
  margin: 0 auto;
}

.bento-item {
  position: relative;
  background-color: rgba(30, 26, 25, 0.2);
  border: 1px solid rgba(193, 164, 129, 0.2);
  border-radius: 4px;
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  overflow: hidden;
}

.bento-bg-num {
  position: absolute;
  top: -20px;
  right: 20px;
  font-family: "Cormorant", serif;
  font-size: 10rem;
  font-weight: 700;
  line-height: 1;
  color: rgba(193, 164, 129, 0.03);
  z-index: 0;
  transition: all 0.5s ease;
  pointer-events: none;
}

.bento-card-inner {
  position: relative;
  z-index: 1;
}

.bento-tag {
  font-family: "Inconsolata", monospace;
  font-size: 0.8rem;
  color: #c1a481;
  letter-spacing: 2px;
  text-transform: uppercase;
  display: block;
  margin-bottom: 10px;
}

.bento-item h3 {
  font-family: "Cormorant", serif;
  font-size: 2.2rem;
  margin: 0 0 15px 0;
  line-height: 1;
}

.bento-desc {
  font-family: "Inconsolata", monospace;
  font-size: 1rem;
  line-height: 1.6;

  opacity: 0;
  height: 0;
  transform: translateY(20px);
  transition: all 0.4s ease;
  margin-bottom: 0;
}

.bento-link {
  font-family: "Inconsolata", monospace;
  color: #c1a481;
  text-decoration: none;
  font-weight: bold;
  font-size: 0.9rem;
  display: inline-block;
  margin-top: 15px;
  opacity: 0.8;
  transition: opacity 0.3s;
}

.bento-link:hover {
  opacity: 1;
}

.bento-item:hover {
  border-color: #c1a481;
  background-color: rgba(30, 26, 25, 0.6);
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
}

.bento-item:hover .bento-desc {
  opacity: 1;
  height: auto;
  margin-bottom: 20px;
  transform: translateY(0);
}

.bento-item:hover .bento-bg-num {
  color: rgba(193, 164, 129, 0.1); /* 稍微明显一点 */
  transform: translateX(-10px);
}

.bento-tall {
  grid-row: span 2;
}
.bento-wide {
  grid-column: span 2;
}
.bento-standard {
  grid-column: span 1;
  grid-row: span 1;
}

/* --- Graphic Design Page Styles (黑金线条版 + Lightbox) --- */

.graphic-design-section {
  padding: 120px 5% 100px 5%;
  max-width: 1400px;
  margin: 0 auto;
  background-color: #1a1615;
  color: #e2cca8;
}

/* 顶部 Hero */
.project-hero {
  text-align: center;
  margin-bottom: 100px;
}

.project-title {
  font-family: "Cormorant", serif;
  font-size: 5rem;
  line-height: 0.9;
  color: #c1a481;
  margin-bottom: 20px;
}

.project-subtitle {
  font-family: "Inconsolata", monospace;
  font-size: 1.1rem;
  color: rgba(193, 164, 129, 0.7);
  max-width: 700px;
  margin: 0 auto;
}

/* 通用设计块 */
.design-block {
  margin-bottom: 120px;
}

.block-title {
  font-family: "Inconsolata", monospace;
  font-size: 1.2rem;
  color: rgba(193, 164, 129, 0.5);
  border-bottom: 1px solid rgba(193, 164, 129, 0.2);
  padding-bottom: 20px;
  margin-bottom: 40px;
  letter-spacing: 2px;
}

/* 图片画框样式 (核心) */
.img-frame {
  border: 1px solid rgba(193, 164, 129, 0.2);
  padding: 10px; /* 留白 */
  background: transparent;
  transition: all 0.3s ease;
  display: flex;
  justify-content: center;
  align-items: center;
}

.img-frame img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease;
}

/* 放大镜效果 */
.zoomable {
  cursor: zoom-in; /* 鼠标变成放大镜 */
}

.img-frame.zoomable:hover {
  border-color: #c1a481; /* 悬停金框变亮 */
  background: rgba(193, 164, 129, 0.05);
}

/* --- Lightbox Styles (大图查看器) --- */
.lightbox {
  display: none; /* 默认隐藏 */
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.95); /* 深黑背景 */
  justify-content: center;
  align-items: center;
  flex-direction: column;
  animation: fadeIn 0.3s;
}

.lightbox-content {
  max-width: 90%;
  max-height: 85%;
  border: 1px solid #c1a481; /* 给大图也加个金框 */
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.8);
  animation: zoomIn 0.3s;
}

#lightbox-caption {
  margin-top: 20px;
  font-family: "Inconsolata", monospace;
  color: #c1a481;
  font-size: 1.2rem;
  text-align: center;
}

.close-btn {
  position: absolute;
  top: 30px;
  right: 50px;
  color: #c1a481;
  font-size: 50px;
  font-weight: bold;
  cursor: pointer;
  transition: color 0.3s;
}

.close-btn:hover {
  color: #fff;
}

@keyframes zoomIn {
  from {
    transform: scale(0.9);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

/* --- Personal Practice Grid --- */
.gallery-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 20px;
}

.gallery-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-bottom: 20px;
}

/* --- Magazine Grid --- */
.magazine-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4列 */
  gap: 20px;
  margin-bottom: 40px;
}

.mag-label {
  text-align: center;
  font-family: "Inconsolata", monospace;
  font-size: 0.8rem;
  color: rgba(193, 164, 129, 0.5);
  margin-top: 10px;
}

/* --- Collapsible Info (Know More) --- */
.know-more-btn {
  display: block;
  margin: 0 auto;
  background: transparent;
  border: 1px solid #c1a481;
  color: #c1a481;
  font-family: "Inconsolata", monospace;
  padding: 12px 30px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.know-more-btn:hover {
  background: #c1a481;
  color: #1a1615;
}

.collapsible-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease-out;
  background: rgba(30, 26, 25, 0.5); /* 深色背景 */
  margin-top: 20px;
  border-radius: 4px;
}

.collapsible-content.active {
  max-height: 500px;
  border: 1px solid rgba(193, 164, 129, 0.1);
}

.details-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  padding: 40px;
}

.detail-box {
  margin-bottom: 20px;
}

.detail-box h4 {
  font-family: "Inconsolata", monospace;
  font-size: 0.9rem;
  color: #c1a481;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.detail-box p {
  font-family: "Inconsolata", monospace;
  font-size: 0.95rem;
  line-height: 1.6;
}

/* --- Zine Carousel --- */
.zine-container {
  max-width: 600px; /* 限制宽度 */
  margin: 0 auto 40px auto;
}

.zine-container {
  /* 修改这里：限制最大宽度，让整个框变小 */
  max-width: 500px;
  width: 100%; /* 在小于500px的屏幕上占满 */
  margin: 0 auto 40px auto; /* 保持居中 */
}

.zine-display {
  padding: 20px;
  margin-bottom: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(30, 26, 25, 0.3);
  border-radius: 4px;
  /* 确保框紧贴图片 */
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.zine-page img {
  max-height: 70vh;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.zine-page.active {
  display: block;
}

.zine-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.nav-btn {
  background: none;
  border: none;
  color: #c1a481;
  font-family: "Inconsolata", monospace;
  cursor: pointer;
  font-size: 1rem;
  opacity: 0.7;
  transition: opacity 0.3s;
}
.nav-btn:hover {
  opacity: 1;
}

.zine-indicators .dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: rgba(193, 164, 129, 0.2);
  border-radius: 50%;
  margin: 0 5px;
}
.zine-indicators .dot.active {
  background: #c1a481;
}

/* --- Logo Grid --- */
.logo-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

.logo-card {
  text-align: center;
}

.logo-frame {
  border: 1px solid rgba(193, 164, 129, 0.2);
  padding: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  margin-bottom: 20px;
  transition: border-color 0.3s;
}

.logo-frame:hover {
  border-color: #c1a481;
}

.logo-frame img {
  max-width: 150px;
  max-height: 100px;
}

.logo-info h4 {
  font-family: "Cormorant", serif;
  font-size: 1.5rem;
  margin-bottom: 10px;
}

.logo-info p {
  font-family: "Inconsolata", monospace;
  font-size: 0.95rem;
  line-height: 1.5;
}

/* 分割线 */
.section-divider {
  height: 1px;
  background: rgba(193, 164, 129, 0.1);
  width: 60%;
  margin: 80px auto;
}

/* --- Web Design Page Styles (黑金线条版) --- */
.web-design-section {
  padding: 120px 5% 100px 5%;
  max-width: 1400px;
  margin: 0 auto;
  background-color: #1a1615;
  color: #e2cca8;
}

/* Web Grid (3列布局) */
.web-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-bottom: 40px;
}

/* Web Card (黑金极简卡片) */
.web-card {
  position: relative;
  background-color: rgba(30, 26, 25, 0.2);
  border: 1px solid rgba(193, 164, 129, 0.2);
  border-radius: 4px;
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 350px;
  transition: all 0.4s ease;
  overflow: hidden;
}

.web-card:hover {
  border-color: #c1a481;
  background-color: rgba(30, 26, 25, 0.5);
  transform: translateY(-5px);
}

.web-card-content {
  position: relative;
  z-index: 2;
}

.web-tag {
  font-family: "Inconsolata", monospace;
  font-size: 0.8rem;
  color: #c1a481;
  letter-spacing: 2px;
  text-transform: uppercase;
  display: block;
  margin-bottom: 20px;
}

.web-card h3 {
  font-family: "Cormorant", serif;
  font-size: 2.5rem;
  margin: 0 0 15px 0;
  line-height: 1;
}

.web-card p {
  font-family: "Inconsolata", monospace;
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 30px;
}

.web-link {
  font-family: "Inconsolata", monospace;
  color: #c1a481;
  text-decoration: none;
  font-weight: bold;
  font-size: 0.9rem;
  transition: opacity 0.3s;
}

.web-link:hover {
  opacity: 0.8;
}

/* 背景大数字 */
.web-bg-num {
  position: absolute;
  bottom: -20px;
  right: 10px;
  font-family: "Cormorant", serif;
  font-size: 10rem;
  color: rgba(193, 164, 129, 0.03);
  z-index: 1;
  line-height: 1;
  transition: all 0.5s ease;
}

.web-card:hover .web-bg-num {
  color: rgba(193, 164, 129, 0.1);
  transform: translateX(-10px);
}

/* --- Work Showcase (Silkyo) --- */
.work-showcase {
  display: flex;
  gap: 60px;
  align-items: center;
  border: 1px solid rgba(193, 164, 129, 0.2);
  padding: 60px;
  border-radius: 4px;
  background: rgba(30, 26, 25, 0.1);
}

.work-info {
  flex: 1;
}

.work-info h3 {
  font-family: "Cormorant", serif;
  font-size: 3rem;
  margin-bottom: 20px;
}

.work-info p {
  font-family: "Inconsolata", monospace;
  font-size: 1.1rem;
  line-height: 1.6;
  margin-bottom: 40px;
}

.work-preview {
  flex: 1.5;
}

/* --- 1. Hero Section (左右分栏 + 黑金风格) --- */
.cs-hero-section {
  padding: 120px 5% 80px 5%;
  max-width: 1400px;
  margin: 0 auto;
  background-color: #1a1615;
  color: #e2cca8;
}

.cs-hero-split {
  display: flex;
  align-items: center; /* 垂直居中 */
  gap: 80px;
}

/* 左侧文字区域 */
.cs-hero-text {
  flex: 1;
  text-align: left;
}

/* 右侧图片区域 */
.cs-hero-image {
  flex: 1.2;
  display: flex;
  justify-content: center;
}

/* 核心修复：限制图片最大宽度，防止模糊 */
.cs-hero-image .img-frame {
  border: 1px solid rgba(193, 164, 129, 0.2); /* 细金线框 */
  padding: 10px;
  max-width: 450px; /* 限制宽度，保持精致 */
  width: 100%;
  margin: 0 auto;
}

.cs-hero-image .img-frame img {
  width: 100%;
  height: auto;
  display: block;
}

/* 标题样式 */
.cs-title {
  font-family: "Cormorant", serif;
  font-size: 4.5rem;
  line-height: 0.95;
  margin: 0 0 30px 0;
}

/* 副标题样式 */
.cs-subtitle {
  font-family: "Inconsolata", monospace;
  font-size: 1.1rem;
  line-height: 1.6;
  margin-bottom: 20px;
  max-width: 500px;
}

/* 小分类标签 (移到按钮上方) */
.cs-category {
  font-family: "Inconsolata", monospace;
  font-size: 0.9rem;
  color: #c1a481;
  letter-spacing: 2px;
  display: block;
  margin-bottom: 15px; /* 与按钮的间距 */
  margin-top: 10px;
  font-weight: bold;
}

/* --- 2. Project Details Grid (2x2 信息网格) --- */
.cs-details-section {
  padding: 60px 5%;
  max-width: 1400px;
  margin: 0 auto;
  border-top: 1px solid rgba(193, 164, 129, 0.2); /* 顶部金线 */
  border-bottom: 1px solid rgba(193, 164, 129, 0.2); /* 底部金线 */
}

.cs-details-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 两列布局 */
  gap: 60px;
}

.cs-detail-box h4 {
  font-family: "Inconsolata", monospace;
  font-size: 0.9rem;
  color: #c1a481;
  letter-spacing: 1px;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.cs-detail-box p {
  font-family: "Inconsolata", monospace;
  font-size: 1rem;
  line-height: 1.6;
}

/* --- 3. Visuals / Insights Section (图表展示) --- */
.cs-visual-section {
  padding: 100px 5%;
  max-width: 1400px;
  margin: 0 auto;
}

.cs-section-title {
  text-align: center;
  font-family: "Cormorant", serif;
  font-size: 3rem;
  color: #c1a481;
  margin-bottom: 60px;
}

.cs-gallery-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 两列并排 */
  gap: 40px;
}

.cs-gallery-item {
  display: flex;
  flex-direction: column;
}

/* 图表画框 */
.cs-gallery-item .img-frame {
  border: 1px solid rgba(193, 164, 129, 0.2);
  padding: 10px;
  margin-bottom: 25px;
  background: rgba(255, 255, 255, 0.02); /* 极淡的背景衬托透明图片 */
  transition: border-color 0.3s ease;
}

.cs-gallery-item .img-frame:hover {
  border-color: #c1a481;
}

.cs-gallery-item img {
  width: 100%;
  height: auto;
  display: block;
}

/* 图表文字说明 */
.cs-caption h3 {
  font-family: "Cormorant", serif;
  font-size: 1.8rem;
  margin-bottom: 10px;
}

.cs-caption p {
  font-family: "Inconsolata", monospace;
  font-size: 0.95rem;
  line-height: 1.5;
}

/* 通用项目详情板块 - 适配所有 UX 项目 */
.project-details-minimal {
  background-color: #1a1615;
  padding: 80px 10%;
  border-bottom: 1px solid rgba(193, 164, 129, 0.1);
}

.details-grid {
  display: flex;
  justify-content: space-between;
  gap: 50px;
  max-width: 1100px;
  margin: 0 auto;
}

.details-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 35px;
}

.detail-item h3 {
  font-family: "Cormorant", serif;
  color: #c1a481; /* 金色标题 */
  font-size: 22px;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 12px;
  border-left: 3px solid #c1a481;
  padding-left: 15px;
}

.detail-item p {
  font-family: "Inconsolata", monospace;
  color: #e2cca8; /* 浅米色文本 */
  line-height: 1.7;
  font-size: 15px;
  margin: 0;
}

.presentation-section {
  padding: 100px 5%;
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  border-top: 1px solid rgba(193, 164, 129, 0.2);
}

.slider-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px; /* 箭头和图片的距离 */
  margin-bottom: 30px;
}

/* 幻灯片画框 */
.slide-frame-container {
  border: 1px solid rgba(193, 164, 129, 0.2); /* 细金框 */
  padding: 15px; /* 留白 */
  background: rgba(30, 26, 25, 0.3); /* 淡背景 */
  max-width: 800px;
  width: 100%;
  transition: border-color 0.3s ease;
}

.slide-frame-container:hover {
  border-color: #c1a481; /* 悬停变亮 */
}

.slide-frame-container img {
  width: 100%;
  height: auto;
  display: block;
  cursor: zoom-in; /* 提示可放大 */
}

/* 切换按钮 (极简线条箭头) */
.slider-btn {
  background: transparent;
  border: 1px solid rgba(193, 164, 129, 0.4);
  color: #c1a481;
  font-family: "Inconsolata", monospace;
  font-size: 1.5rem;
  width: 50px;
  height: 50px;
  border-radius: 50%; /* 圆形按钮 */
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.slider-btn:hover {
  background: #c1a481;
  color: #1a1615;
  border-color: #c1a481;
  transform: scale(1.1);
}

/* 页码计数器 */
.slide-counter {
  font-family: "Inconsolata", monospace;
  font-size: 1.2rem;
  color: #c1a481;
  letter-spacing: 2px;
}

.slide-counter .divider {
  color: rgba(193, 164, 129, 0.4);
  margin: 0 10px;
}

/* --- Low-Fi Section Layout --- */
.single-feature {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.centered-caption {
  margin-top: 20px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

@keyframes hero-floating {
  0% {
    /* 起始位置 */
    transform: translateY(0px);
  }
  50% {
    /* 中间点：向上浮动 15px */
    /* 如果觉得浮动幅度太大或太小，可以调整这个数字 */
    transform: translateY(-15px);
  }
  100% {
    /* 回到起始位置，形成循环 */
    transform: translateY(0px);
  }
}

.cs-hero-image .img-frame {
  animation: hero-floating 4s ease-in-out infinite;
  will-change: transform;
  border: 1px solid rgba(193, 164, 129, 0.2);
  padding: 10px;
  max-width: 300px;
  width: 100%;
  margin: 0 auto;
}

.cs-gallery-grid .cs-gallery-item .img-frame {
  height: 350px; /* 设定一个统一的高度值，你可以根据需要调整这个数字 */
  display: flex;
  align-items: center; /* 让图片垂直居中 */
  justify-content: center; /* 让图片水平居中 */
  overflow: hidden; /* 隐藏超出画框的部分 */
}

.cs-gallery-grid .cs-gallery-item .img-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* 确保从中心开始裁切 */
  object-position: center;
}

#work-website {
  padding: 80px 20px;
  background-color: #1a1615;
  text-align: center; /* 确保标题和副标题居中 */
  width: 100%;
  overflow: hidden; /* 防止图片溢出导致右滑 */
}

.project-container {
  display: flex;
  justify-content: center; /* 关键：水平居中 */
  align-items: center;
  width: 100%;
  margin-top: 40px;
}

/* 卡片样式调整 */
.work-website-card {
  background: rgba(255, 255, 255, 0.05);
  padding: 30px;
  border-radius: 15px;
  border: 1px solid rgba(193, 164, 129, 0.3);
  max-width: 800px; /* 限制最大宽度，防止卡片在超大屏太散 */
  width: 90%; /* 在小屏幕上占据90%宽度 */
  margin: 0 auto; /* 保险起见，设置左右自动 */
  transition: transform 0.3s ease;
}

.work-website-card img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 20px 0;
  display: block; /* 消除图片底部间隙 */
  margin-left: auto;
  margin-right: auto;
}

.btn-live-site {
  display: inline-block;
  margin-top: 15px;
  padding: 12px 30px;
  background-color: transparent; 
  border: 1px solid #c1a481;  
  color: #c1a481; 
  font-family: "Inconsolata", monospace;
  text-decoration: none;
  border-radius: 4px;
  font-weight: bold;
  transition: all 0.3s ease;
}

.btn-live-site:hover {
  background-color: #c1a481;
  color: #1a1615; 
  box-shadow: 0 0 15px rgba(193, 164, 129, 0.4);
}

.journey-image {
  width: 60%;
  max-width: 900px;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

/* --- Media Production Page (黑金线条版) --- */
.media-section {
  padding: 120px 5% 100px 5%;
  max-width: 1400px;
  margin: 0 auto;
  background-color: #1a1615;
  color: #e2cca8;
}

/* 1. Featured Photography Grid */
.photo-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-bottom: 40px;
}

.photo-card {
  display: flex;
  flex-direction: column;
}

.photo-text {
  margin-top: 20px;
}

.photo-text h3 {
  font-family: "Cormorant", serif;
  font-size: 1.8rem;
  margin-bottom: 10px;
}

.photo-text p {
  font-family: "Inconsolata", monospace;
  font-size: 0.95rem;
  line-height: 1.6;
}

/* 2. Complex Gallery Layout (8 Photos) */
.complex-gallery-layout {
  display: flex;
  gap: 20px;
  align-items: stretch;
}

.gallery-col-vertical {
  flex: 1; /* 占比 1份 */
  display: flex;
  flex-direction: column;
}

.img-frame.full-height {
  height: 100%; /* 撑满高度 */
}

.img-frame.full-height img {
  height: 100%;
  object-fit: cover; /* 确保竖图填满框 */
}

.gallery-col-grid {
  flex: 2; /* 占比 2份，更宽 */
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2列 */
  grid-template-rows: repeat(3, 1fr); /* 3行 */
  gap: 20px;
}

/* 3. Video Production */
.video-showcase {
  margin-bottom: 80px;
}

.video-frame {
  border: 1px solid rgba(193, 164, 129, 0.2);
  padding: 10px;
  background: transparent;
  transition: border-color 0.3s ease;
}

.video-frame:hover {
  border-color: #c1a481;
}

.video-frame iframe {
  width: 100%;
  aspect-ratio: 16 / 9; /* 保持视频比例 */
  display: block;
}

.video-info-wrapper {
  margin-top: 30px;
  text-align: center;
}

.video-info-wrapper h3 {
  font-family: "Cormorant", serif;
  font-size: 2.5rem;
  color: #c1a481;
  margin-bottom: 20px;
}

/* 4. Product Photography */
.product-grid {
  display: flex;
  flex-direction: column;
  gap: 60px;
}

.product-item h3 {
  font-family: "Cormorant", serif;
  font-size: 2rem;
  margin-top: 20px;
  text-align: center;
}

.product-images {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

/* --- Contact Page Styles (最终修复版) --- */
.contact-hero {
  text-align: left; /* 不再居中 */
  /* 左侧留出更多空间，制造高级感 */
  padding: 150px 5% 80px 10%;
  background-color: #1a1615;
}

.contact-title {
  font-family: "Cormorant", serif;
  font-size: 4rem;
  line-height: 1;
  color: #c1a481;
  margin: 0;
  font-weight: 300;
}

/* 特殊强调词样式 */
.title-highlight {
  display: block; /* 独占一行 */
  font-size: 7rem; /* 超大字体 */
  font-style: italic; /* 倾斜体，增加动感 */
  font-weight: 700;
  margin-top: -10px; /* 稍微向上挤压，更紧凑 */
  letter-spacing: -2px;
}

/* --- FAQ Section --- */
.faq-section {
  padding: 60px 5%;
  background-color: #1a1615;
  border-top: 1px solid rgba(193, 164, 129, 0.2);
}

.faq-label {
  text-align: center;
  font-family: "Inconsolata", monospace;
  font-size: 14px;
  letter-spacing: 3px;
  color: rgba(193, 164, 129, 0.6);
  margin-bottom: 40px;
}

.faq-container {
  max-width: 900px;
  margin: 0 auto;
}

.faq-item {
  background: transparent;
  border-bottom: 1px solid rgba(193, 164, 129, 0.2);
  margin-bottom: 0;
  cursor: pointer;
  overflow: hidden;
  transition: all 0.3s ease;
}

.faq-item:first-child {
  border-top: 1px solid rgba(193, 164, 129, 0.2);
}

.faq-header {
  padding: 30px 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.faq-header h3 {
  margin: 0;
  font-family: "Cormorant", serif;
  font-size: 1.8rem;
  color: #e2cca8;
  font-weight: 300;
}

.faq-icon {
  font-size: 24px;
  color: #c1a481;
  transition: transform 0.3s ease;
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  padding: 0 10px;
  transition: max-height 0.4s ease, padding 0.4s ease;
}

.faq-answer p {
  font-family: "Inconsolata", monospace;
  line-height: 1.6;
  padding-bottom: 30px;
  margin: 0;
}

.faq-item.active .faq-icon {
  transform: rotate(45deg);
}

.faq-item.active .faq-answer {
  max-height: 200px;
}

.faq-item:hover .faq-header h3 {
  color: #c1a481;
}

/* --- Infinite Marquee --- */
.marquee-container {
  background-color: #c1a481; /* 金色背景 */
  color: #1a1615; /* 黑色文字 */
  padding: 15px 0;
  overflow: hidden; /* 隐藏超出部分 */
  white-space: nowrap; /* 强制不换行 */
  position: relative;
  border-top: 1px solid #1a1615;
  border-bottom: 1px solid #1a1615;
}

.marquee-content {
  display: inline-block;
  animation: scrollText 20s linear infinite; /* 20秒循环一次 */
}

.marquee-content span {
  font-family: "Inconsolata", monospace;
  font-weight: bold;
  font-size: 16px;
  letter-spacing: 2px;
  margin-right: 0; /* 文字无缝拼接 */
}

@keyframes scrollText {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  } /* 向左移动 */
}

/* 悬停时暂停，方便用户阅读 */
.marquee-container:hover .marquee-content {
  animation-play-state: paused;
}

/* --- Split Contact Section --- */
.contact-split-section {
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 5% 150px 5%;
  gap: 80px;
  background-color: #1a1615;
}

.contact-left {
  flex: 1;
  padding-top: 20px;
}

.info-group {
  margin-bottom: 50px;
}

.info-label {
  display: block;
  font-family: "Inconsolata", monospace;
  font-size: 12px;
  letter-spacing: 2px;
  margin-bottom: 15px;
}

.info-link,
.info-text {
  display: block;
  font-family: "Cormorant", serif;
  font-size: 2rem;
  text-decoration: none;
  line-height: 1.2;
  transition: color 0.3s;
}

.info-link:hover {
  color: #c1a481;
}

.social-text-links a {
  display: inline-block;
  font-family: "Inconsolata", monospace;
  font-size: 1rem;
  color: #c1a481;
  text-decoration: none;
  margin-right: 20px;
  border-bottom: 1px solid transparent;
  transition: border-color 0.3s;
}

.social-text-links a:hover {
  border-bottom-color: #c1a481;
}

.availability-badge {
  display: inline-flex;
  align-items: center;
  font-family: "Inconsolata", monospace;
  font-size: 0.9rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 8px 16px;
  border-radius: 50px;
  margin-top: 20px;
}

.dot {
  width: 8px;
  height: 8px;
  background-color: #00ff88;
  border-radius: 50%;
  margin-right: 10px;
  box-shadow: 0 0 10px rgba(0, 255, 136, 0.5);
}

.contact-right {
  flex: 1.2;
}

.minimal-form {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.form-group {
  position: relative;
}

.minimal-form input,
.minimal-form textarea {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(193, 164, 129, 0.3);
  padding: 15px 0;
  font-family: "Inconsolata", monospace;
  font-size: 1.1rem;
  color: #e2cca8;
  transition: border-color 0.3s;
}

.minimal-form input::placeholder,
.minimal-form textarea::placeholder {
  color: rgba(193, 164, 129, 0.3);
  opacity: 1; /* Firefox需要 */
}

.minimal-form textarea {
  resize: vertical;
}

.minimal-form input:focus,
.minimal-form textarea:focus {
  outline: none;
  border-bottom-color: #c1a481;
}

.minimal-form label {
  position: absolute;
  top: 15px;
  left: 0;
  font-family: "Inconsolata", monospace;
  pointer-events: none;
  transition: all 0.3s ease;
}

.minimal-form input:focus + label,
.minimal-form input:not(:placeholder-shown) + label,
.minimal-form textarea:focus + label,
.minimal-form textarea:not(:placeholder-shown) + label {
  top: -20px;
  font-size: 0.8rem;
  color: #c1a481;
}

.btn-minimal-submit {
  align-self: flex-start;
  background: transparent;
  border: 1px solid #c1a481;
  padding: 15px 30px; /* 增加内边距 */
  font-family: "Cormorant", serif;
  font-size: 1.5rem;
  color: #c1a481; /* 金色文字 */
  cursor: pointer;
  margin-top: 20px;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 15px;
}

.btn-minimal-submit .arrow {
  transition: transform 0.3s ease;
}

.btn-minimal-submit:hover {
  background-color: #c1a481;
  color: #1a1615;
}

.btn-minimal-submit:hover .arrow {
  transform: translateX(10px);
}

.education-minimal-section {
  background-color: #1a1615;
  padding: 80px 4vw 40px 4vw; /* 调整间距 */
  color: #c1a481;
}

.edu-container {
  max-width: 100%;
}

.edu-label {
  font-family: "Inconsolata", monospace;
  font-size: 12px;
  letter-spacing: 2px;
  color: rgba(193, 164, 129, 0.5); /* 调暗一点 */
  margin-bottom: 20px;
  text-transform: uppercase;
}

.edu-row {
  display: flex;
  align-items: baseline; /* 文字基线对齐 */
  padding: 30px 0;
  border-top: 1px solid rgba(193, 164, 129, 0.2); /* 极细的金线 */
  transition: background-color 0.3s ease;
}

.edu-row:hover {
  background: linear-gradient(90deg, rgba(193, 164, 129, 0.05), transparent);
}

.edu-year {
  flex: 0 0 200px; /* 固定宽度，对齐 */
  font-family: "Inconsolata", monospace;
  font-size: 14px;
  color: #c1a481;
  opacity: 0.8;
}

.edu-content {
  flex: 1;
}

.edu-degree {
  font-family: "Cormorant", serif;
  font-size: 2rem; /* 大字体 */
  font-weight: 400;
  margin: 0 0 5px 0;
  line-height: 1.2;
}

.edu-school {
  font-family: "Inconsolata", monospace;
  font-size: 1rem;
  color: rgba(193, 164, 129, 0.6);
  margin: 0;
}

.personal-identity {
  background-color: #1a1615;
  color: #e2cca8;
  padding: 60px 20px;
  max-width: 1200px;
  margin: 0 auto;
}

.personal-identity h2 {
  font-size: 32px;
  margin-bottom: 30px;
  font-family: "Cormorant", serif;
  color: #c1a481;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.identity-content {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
}

.identity-left {
  flex: 1;
}

.identity-left h3 {
  font-size: 28px;
  font-family: "Cormorant", serif;
  color: #c1a481;
  margin-bottom: 20px;
}

.identity-right {
  flex: 1;
}

.identity-right p {
  font-size: 16px;
  font-family: "Inconsolata", monospace;
  line-height: 1.6;
}

.experience {
  padding: 80px 40px;
  background-color: #1a1615;
  text-align: center;
}

.experience h2 {
  font-size: 48px;
  margin-bottom: 40px;
  color: #c1a481;
}

.timeline-content {
  max-width: 700px;
  margin: 20px auto;
  padding: 25px;
}

.timeline {
  position: relative;
  max-width: 800px;
  margin: 0 auto 60px;
  padding: 40px 0;
}

.timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 4px;
  background: #6e685f;
  transform: translateX(-50%);
}

.timeline-item {
  position: relative;
  width: 50%;
  padding: 20px 40px;
  box-sizing: border-box;
  opacity: 0;
  animation: fadeInSlide 0.6s forwards;
}

.timeline-item:nth-child(odd) {
  left: 0;
  text-align: right;
}

.timeline-item:nth-child(even) {
  left: 50%;
}

.timeline-content {
  background: #2a2625;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  position: relative;
  transition: transform 0.4s ease;
}

.timeline-content:hover {
  transform: scale(1.05);
}

.timeline-content::after {
  content: "";
  position: absolute;
  top: 24px;
  width: 0;
  height: 0;
  border: 10px solid transparent;
}

.timeline-item:nth-child(odd) {
  left: 0;
  text-align: right;
}

.timeline-item:nth-child(even) {
  left: 50%;
  text-align: left;
}

.timeline-content h3 {
  margin: 0 0 8px;
  font-size: 20px;
  color: #c1a481;
}

.timeline-content .date {
  display: block;
  font-size: 14px;
  color: #6e685f;
  margin-bottom: 12px;
}

.timeline-content p,
.timeline-content ul {
  font-size: 16px;
  color: #e2cca8;
  line-height: 1.5;
}

.timeline-content ul {
  margin: 12px 0 0;
  padding-left: 20px;
}

@keyframes fadeInSlide {
  to {
    opacity: 1;
    transform: none;
  }
  from {
    opacity: 0;
    transform: translateY(20px);
  }
}

.goals {
  margin-top: 40px;
  background-color: #2a2625;
  padding: 20px;
  border: 1px solid #6e685f;
  border-radius: 4px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.goals h2 {
  font-size: 28px;
  margin-bottom: 30px;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #c1a481;
  text-align: center;
}

.goals-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  padding: 0 40px;
}

.goals-column {
  padding: 0;
  text-align: left;
}

.goals-column h3 {
  font-size: 24px;
  margin-bottom: 16px;
  text-transform: uppercase;
  font-weight: 400;
  color: #c1a481;
}

.goal-category {
  margin-bottom: 20px;
}

.goal-category h4 {
  font-size: 18px;
  margin-bottom: 8px;
  text-transform: uppercase;
  font-weight: 300;
  color: #c1a481;
}

.goal-category ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.goal-category li {
  margin-bottom: 8px;
  font-size: 15px;
  font-weight: 300;
  color: #e2cca8;
}

.language {
  margin-top: 40px;
}

.language h2 {
  font-size: 28px;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #c1a481;
}

.language h3 {
  font-size: 20px;
  text-align: center;
  color: #c1a481;
  margin: 30px 0 10px;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.language-list {
  list-style-type: none;
  padding: 0;
  margin: 0 auto;
  max-width: 600px;
}

.language-list li {
  font-size: 18px;
  font-weight: 300;
  padding: 15px 0;
  border-bottom: 1px solid #6e685f;
  color: #e2cca8;
}

/* --- Jewelry Design Page (黑金线条版) --- */

.jewelry-hero-section {
  padding: 120px 5% 100px 5%;
  max-width: 1400px;
  margin: 0 auto;
  background-color: #1a1615;
  color: #e2cca8;
}

/* 顶部 Hero (复用全站样式) */
.project-hero {
  text-align: center;
  margin-bottom: 100px;
}

.project-title {
  font-family: "Cormorant", serif;
  font-size: 5rem;
  line-height: 0.9;
  color: #c1a481;
  margin-bottom: 20px;
}

.project-subtitle {
  font-family: "Inconsolata", monospace;
  font-size: 1.1rem;
  color: rgba(193, 164, 129, 0.7);
  max-width: 700px;
  margin: 0 auto;
}

/* 作品块 */
.jewelry-work-block {
  margin-bottom: 80px;
}

.work-header {
  margin-bottom: 40px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(193, 164, 129, 0.2);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.work-number {
  font-family: "Inconsolata", monospace;
  font-size: 0.9rem;
  color: rgba(193, 164, 129, 0.5);
  letter-spacing: 2px;
}

.work-header h3 {
  font-family: "Cormorant", serif;
  font-size: 2.5rem;
  margin: 0;
}

/* 阶段卡片容器 */
.phase-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

/* 阶段卡片 (极简风) */
.phase-card {
  border: 1px solid rgba(193, 164, 129, 0.2); /* 细金线框 */
  border-radius: 4px;
  padding: 20px;
  background: transparent;
  transition: all 0.3s ease;
  cursor: zoom-in;
  display: flex;
  flex-direction: column;
}

.phase-card:hover {
  border-color: #c1a481;
  background: rgba(193, 164, 129, 0.05);
  transform: translateY(-5px);
}

/* 特殊强调：我的工作部分 */
.phase-card.my-work {
  border: 1px solid #c1a481; /* 金色实线 */
  background: rgba(193, 164, 129, 0.08); /* 微弱金光 */
  position: relative;
}

/* 阶段标题栏 */
.phase-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.phase-badge {
  font-family: "Inconsolata", monospace;
  font-size: 0.8rem;
  color: #c1a481;
  letter-spacing: 1px;
}

.my-role-tag {
  font-family: "Inconsolata", monospace;
  font-size: 0.7rem;
  background: #c1a481;
  color: #1a1615;
  padding: 2px 6px;
  border-radius: 2px;
  font-weight: bold;
}

/* 图片容器 */
.phase-img {
  border: 1px solid rgba(193, 164, 129, 0.1);
  background: rgba(0, 0, 0, 0.2);
  padding: 10px;
  margin-bottom: 20px;
  height: 250px; /* 固定高度 */
  display: flex;
  align-items: center;
  justify-content: center;
}

.phase-img img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.phase-card:hover .phase-img img {
  transform: scale(1.05);
}

/* 描述文字 */
.phase-desc {
  font-family: "Inconsolata", monospace;
  font-size: 0.9rem;
  line-height: 1.5;
  margin-top: auto; /* 底部对齐 */
}

/* 分割线 */
.section-divider {
  height: 1px;
  background: rgba(193, 164, 129, 0.1);
  width: 60%;
  margin: 80px auto;
}

/* Lightbox 样式 (复用) */
.lightbox {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.95);
  justify-content: center;
  align-items: center;
  flex-direction: column;
  animation: fadeIn 0.3s;
}

.lightbox-content {
  max-width: 90%;
  max-height: 85%;
  border: 1px solid #c1a481;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.8);
  animation: zoomIn 0.3s;
}

#lightbox-caption {
  margin-top: 20px;
  font-family: "Inconsolata", monospace;
  color: #c1a481;
  font-size: 1.2rem;
  text-align: center;
}

.close-btn {
  position: absolute;
  top: 30px;
  right: 50px;
  color: #c1a481;
  font-size: 50px;
  font-weight: bold;
  cursor: pointer;
}

/* 核心 Bento 按钮 */
.next-page-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 800px;
  margin: 0 auto;
  padding: 40px;
  background-color: #26211e;
  border: 1px solid rgba(193, 164, 129, 0.15);
  border-radius: 20px;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* 悬停时的流光效果 */
.next-page-box::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -100%;
  width: 30%;
  height: 200%;
  background: linear-gradient(
    to right,
    transparent,
    rgba(193, 164, 129, 0.2),
    transparent
  );
  transform: rotate(30deg);
}

.next-page-box:hover::after {
  left: 150%;
  transition: all 1s ease;
}

.next-page-box:hover {
  border-color: #c1a481;
  background-color: #2d2723;
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
}

.next-num {
  display: block;
  font-family: "Inconsolata", monospace;
  color: #c1a481;
  font-size: 14px;
  margin-bottom: 8px;
  text-align: left;
}

.next-title {
  font-family: "Cormorant", serif;
  color: #e2cca8;
  font-size: 36px;
  display: block;
}

.next-arrow {
  font-family: "Inconsolata", monospace;
  color: #c1a481;
  font-size: 14px;
  letter-spacing: 2px;
  transition: all 0.3s ease;
}

.next-page-box:hover .next-arrow {
  transform: translateX(10px);
  color: #fff;
}

/* =========================================
   FIX: Next Page Navigation Alignment
   (修复底部导航文字位置，使其居中)
   ========================================= */

.next-page-nav {
  /* 确保容器内所有内容垂直排列并居中 */
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;

  padding: 80px 10% 60px;
  background-color: #1a1615;
  position: relative;
  overflow: hidden;
}

.nav-hint {
  font-family: "Inconsolata", monospace;
  color: #c1a481;
  font-size: 12px;
  letter-spacing: 4px;
  margin-bottom: 20px; /* 控制文字和下方按钮的距离 */
  opacity: 0.6;

  /* 确保文字本身居中 */
  width: 100%;
  text-align: center;
}

/* 确保按钮盒子本身没有多余的偏移 */
.next-page-box {
  margin: 0 auto; /* 保持水平居中 */
  width: 100%;
  max-width: 800px;
}

/* 全局容器设置 */
.graphic-design-gallery {
  max-width: 1000px; /* 限制整体宽度，防止图片过大 */
  margin: 0 auto;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 40px; /* 每一组之间的间距 */
}

/* 基础图片样式 */
.design-item img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px; /* 轻微圆角更现代 */
  transition: transform 0.3s ease;
}

.design-item:hover img {
  transform: scale(1.02); /* 鼠标悬停微调 */
}

.gallery-single {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}
.gallery-single img {
  max-height: 450px;
  object-fit: cover; /* 裁剪成一致高度 */
}

.gallery-pair-horizontal {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.gallery-pair-horizontal img {
  max-height: 300px; /* 横向图片不需要太高 */
  object-fit: cover;
}

.gallery-pair-vertical {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
}
.gallery-pair-vertical img {
  max-height: 400px;
  object-fit: cover;
}

/* --- Loading Screen 核心样式 --- */
#loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #1a1615; /* 与你原本背景色一致 */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10000;
  /* 帷幕拉开效果 */
  transition: transform 1.2s cubic-bezier(0.85, 0, 0.15, 1);
}

.loader-content {
  text-align: center;
}

.loader-text {
  font-family: "Cormorant", serif;
  font-size: 14px;
  letter-spacing: 6px;
  color: #c1a481;
  margin-bottom: 10px;
  opacity: 0;
  animation: fadeInUp 0.8s forwards 0.2s;
}

.loader-subtext {
  font-family: "Inconsolata", monospace;
  font-size: 10px;
  color: rgba(193, 164, 129, 0.5);
  margin-bottom: 40px;
  opacity: 0;
  animation: fadeInUp 0.8s forwards 0.4s;
}

.counter {
  font-family: "Cormorant", serif;
  font-size: 15vw; /* 超大数字，极具视觉冲击力 */
  font-weight: 300;
  color: #c1a481;
  line-height: 1;
}

.loader-hidden {
  transform: translateY(-100%); /* 向上抽离消失 */
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* =================================================================
   📱 MOBILE RESPONSIVE MASTER LIST (移动端终极适配表)
   把这段代码放在 n.styles.css 的【最后面】，替换掉之前所有散乱的 media query
   ================================================================= */

@media (max-width: 1024px) {
  /* 平板/小笔记本适配 (1024px 以下) */

  /* Bento Grid 改为双列 */
  .bento-grid-container {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .bento-wide {
    grid-column: span 2 !important;
  }

  /* Web Design / Graphic Design 网格调整 */
  .web-grid,
  .photo-cards-grid,
  .gallery-grid-3,
  .phase-container {
    grid-template-columns: repeat(
      2,
      1fr
    ) !important; /* 平板上改双列，不至于太挤 */
  }

  /* 复杂布局改为垂直堆叠 */
  .work-showcase,
  .cs-hero-split {
    flex-direction: column !important;
    text-align: center;
  }
  .work-preview,
  .work-info {
    width: 100%;
  }

  /* UX 详情页图片限制 */
  .cs-hero-image .img-frame {
    max-width: 80%;
    margin: 0 auto;
  }
}

@media (max-width: 768px) {
  /* 手机适配 (768px 以下) - 强制单列流 */

  /* --- 1. 全局字体与间距压缩 --- */
  html,
  body {
    overflow-x: hidden;
  } /* 防止横向溢出 */

  /* 统一缩小大标题，防止撑破屏幕 */
  .hero-main-title {
    font-size: 15vw !important;
  }
  .project-title,
  .skills-title,
  .contact-title,
  .cs-title,
  .about-title {
    font-size: 3.5rem !important;
    line-height: 1.1;
  }
  .title-highlight {
    font-size: 4rem !important;
  }

  /* 统一缩小板块内边距 */
  section,
  .skills-section,
  .projects-bento-section,
  .graphic-design-section,
  .web-design-section,
  .media-section,
  .jewelry-hero-section,
  .contact-hero,
  .contact-split-section,
  .about-hero-section,
  .experience-section,
  .resume-section,
  .cs-details-section {
    padding-left: 5% !important;
    padding-right: 5% !important;
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }

  /* --- 2. 导航栏 (Header) --- */
  .main-header {
    flex-direction: column;
    padding: 15px;
    background: #1a1615 !important; /* 手机端背景不透明 */
  }
  .header-nav ul {
    gap: 15px;
    flex-wrap: wrap;
    justify-content: center;
    padding: 10px 0;
  }
  .header-cta {
    display: none;
  } /* 手机端隐藏右上角按钮 */

  /* --- 3. 首页 (Home) --- */
  .split-identity-section {
    flex-direction: column;
    height: auto;
  }
  .panel-left,
  .panel-right {
    border-right: none;
    border-bottom: 1px solid rgba(193, 164, 129, 0.2);
    padding: 40px 20px;
  }
  .big-title {
    font-size: 4rem !important;
  }
  .edu-row {
    flex-direction: column;
    align-items: flex-start;
  }
  .edu-year {
    margin-bottom: 5px;
    opacity: 0.7;
    font-size: 12px;
  }

  /* --- 4. Bento Grid (Skills & Projects) 强制单列 --- */
  .skills-bento-grid,
  .bento-grid-container {
    grid-template-columns: 1fr !important;
    grid-auto-rows: auto !important;
  }
  /* 重置所有跨列/跨行 */
  .skill-wide,
  .skill-tall,
  .bento-wide,
  .bento-tall,
  .bento-standard {
    grid-column: span 1 !important;
    grid-row: span 1 !important;
  }
  .bento-bg-num {
    font-size: 5rem !important;
    top: 10px;
  } /* 数字变小 */

  /* --- 5. About Me 页面 --- */
  .about-grid,
  .goals-grid {
    grid-template-columns: 1fr !important;
    gap: 40px;
  }
  .timeline-row {
    grid-template-columns: 1fr !important;
    gap: 10px;
  }
  .resume-previews-container {
    flex-direction: column !important;
    gap: 30px;
  }
  .resume-preview-item {
    width: 100% !important;
    max-width: 100%;
  }

  /* --- 6. Graphic / Web / UX / Media / Jewelry 所有网格 --- */
  .gallery-grid-3,
  .gallery-grid-2,
  .magazine-grid,
  .logo-grid,
  .web-grid,
  .photo-cards-grid,
  .product-images,
  .phase-container,
  .cs-details-grid,
  .cs-gallery-grid,
  .details-grid,
  .gallery-col-grid {
    grid-template-columns: 1fr !important;
    gap: 30px;
  }

  /* 复杂布局转垂直 */
  .complex-gallery-layout,
  .work-showcase,
  .cs-hero-split,
  .contact-split-section {
    flex-direction: column !important;
  }

  /* UX 详情页特殊处理：图在上，文在下 */
  .cs-hero-split {
    flex-direction: column-reverse !important;
    gap: 30px;
  }

  /* 限制图片宽度 */
  .cs-hero-image .img-frame,
  .zine-container {
    max-width: 100% !important;
  }

  /* 珠宝页图片高度自适应 */
  .phase-img {
    height: auto !important;
    padding: 20px;
  }

  /* --- 7. Contact Page & Footer --- */
  .contact-hero {
    text-align: center;
  }
  .social-links {
    flex-wrap: wrap;
  }

  /* 底部“下一页”导航 */
  .next-page-box {
    flex-direction: column;
    text-align: center;
    padding: 30px;
    width: 100%;
  }
  .next-num,
  .next-arrow {
    text-align: center;
    margin-top: 10px;
  }

  /* 全局页脚导航 (Footer Nav) */
  .nav-links-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important; /* 手机上改2列，不用单列太长 */
    gap: 10px;
  }
}

/* --- 1. Custom Cursor (Gemstone Diamond Style) --- */
@media (min-width: 1024px) {
  body {
    cursor: none; /* 隐藏默认鼠标 */
  }

  .cursor-dot,
  .cursor-outline {
    position: fixed;
    top: 0;
    left: 0;
    transform: translate(-50%, -50%) rotate(45deg);
    border-radius: 0;
    z-index: 9999;
    pointer-events: none; 
  }

  .cursor-dot {
    width: 6px; 
    height: 6px;
    background-color: #c1a481;
    box-shadow: 0 0 6px rgba(193, 164, 129, 0.8);
  }

  /* 外部空心菱形边框 */
  .cursor-outline {
    width: 30px;
    height: 30px;
    border: 1px solid rgba(193, 164, 129, 0.5);
    transition: width 0.3s, height 0.3s, background-color 0.3s, border-color 0.3s, transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  }

  /* 悬停状态：变大 + 旋转特效 */
  body.hovering .cursor-outline {
    width: 55px;
    height: 55px;
    background-color: rgba(193, 164, 129, 0.05); /* 极淡的金色背景 */
    border-color: #c1a481;
    transform: translate(-50%, -50%) rotate(135deg);
  }

  /* 隐藏链接原本的鼠标手型 */
  a,
  button,
  .zoomable {
    cursor: none !important;
  }
}

/* INTERACTIVE DARK SHIMMER (鼠标跟随变深特效) */
.interactive-shimmer {
  display: inline-block; 
  
  color: #c1a481; 
  
  --mouse-x: 50%;
  --mouse-y: 50%;
  
  transition: color 0.2s ease, background-image 0.2s ease;
}

.interactive-shimmer:hover {
  color: transparent !important;
  
  background-image: radial-gradient(
    circle at var(--mouse-x) var(--mouse-y),
    #8a6d3b 0%,       /* 鼠标中心：深褐色/深金色 */
    #b88a44 40px,     /* 向外过渡：中等金色 */
    #c1a481 100px     /* 远处：恢复正常的亮金色 */
  );
  
  -webkit-background-clip: text;
  background-clip: text;
  background-repeat: no-repeat;
}

/* --- Reading Progress Bar --- */
#progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px; /* 极细 */
  background: #c1a481; /* 金色 */
  width: 0%; /* 初始宽度 */
  z-index: 99999; /* 保证在最顶层 */
  box-shadow: 0 0 10px rgba(193, 164, 129, 0.5); /* 加一点发光 */
  transition: width 0.1s ease-out;
}

/* --- Global Custom Scrollbar --- */
::-webkit-scrollbar {
  width: 8px; /* 电脑端细一点更精致 */
}

::-webkit-scrollbar-track {
  background: #1a1615; /* 与网页背景同色，隐藏轨道 */
}

::-webkit-scrollbar-thumb {
  background-color: rgba(193, 164, 129, 0.3); /* 半透明金色 */
  border-radius: 4px; /* 圆角 */
  border: 2px solid #1a1615; /* 加个边框让它看起来更细，有悬浮感 */
}

::-webkit-scrollbar-thumb:hover {
  background-color: #c1a481; /* 激活变成实心金 */
}

/* =========================================
   GLOBAL TYPOGRAPHY COLORS UPDATE
   ========================================= */
/* 1. 全局正文颜色：改为柔和的灰白色 */
body,
p,
li {
  color: rgba(255, 255, 255, 0.8);
  font-weight: 300; /* 稍微细一点，更显精致 */
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #c1a481 !important;
}

a,
.bento-link,
.web-link,
.btn-live-site {
  color: #c1a481;
}

.project-subtitle,
.cs-subtitle,
.photography-subtitle,
.phase-desc,
.timeline-date,
.phase-badge,
.ux-category,
.cs-category {
  color: rgba(193, 164, 129, 0.7) !important;
}

input,
textarea {
  color: #e0e0e0 !important;
}

.cs-detail-box p,
.detail-block p,
.timeline-list li {
  color: rgba(255, 255, 255, 0.75) !important;
}

footer p {
  color: rgba(255, 255, 255, 0.5);
}





