/* ===== 字体（如全局已引入可去重） ===== */
@font-face {
  font-family: "Inter";
  src: url("../font/inter/Inter_24pt-Regular.ttf") format("truetype");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("../font/inter/Inter_24pt-SemiBold.ttf") format("truetype");
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("../font/inter/Inter_28pt-Black.ttf") format("truetype");
  font-weight: 900; font-style: normal; font-display: swap;
}

:root{
  --fs-body: clamp(14px, 1.1vw, 20px);
  --fs-h1: clamp(40px, 5vw, 80px);
  --fs-h2: clamp(24px, 2.4vw, 40px);
  --fs-lead: clamp(16px, 1.4vw, 22px);
  --fs-sub: clamp(13px, 1.1vw, 18px);

  --pad-x: clamp(20px, 4vw, 96px);

  --c-lg:#dadada; --c-md:#c6c6c6; --c-sm:#ececec; --c-xs:#bfbfbf;

  /* 卡片统一间距 */
  --card-gap: clamp(28px, 4vw, 56px);
}

*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
body{
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;
  color:#111;background:#fff;line-height:1.6;
}

/* 容器与段落 */
.wrapper{max-width:clamp(1040px,74vw,1560px);margin:0 auto;padding:0 var(--pad-x);}
.section-full{min-height:100vh;display:flex;align-items:center;}

/* ===== Hero ===== */
.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;justify-items:center;gap:clamp(16px,3vw,40px);}
.hero-text{width:min(100%,46rem);text-align:left;}
.hero-title{font-size:var(--fs-h1);font-weight:900;letter-spacing:-.01em;margin:0 0 .5rem;}
.hero-lead{font-size:var(--fs-lead);margin:0 0 8px;line-height:1.35;}
.hero-sub{font-size:var(--fs-sub);color:#333;max-width:42rem;}

.hero-ornaments{position:relative;width:clamp(260px,28vw,420px);height:clamp(260px,28vw,420px);}
.orb{position:absolute;border-radius:50%;filter:saturate(.95);}
.orb-lg{width:65%;height:65%;left:18%;top:28%;background:var(--c-lg);animation:float 10s ease-in-out infinite alternate;box-shadow:0 12px 28px rgba(0,0,0,.12);}
.orb-md{width:34%;height:34%;right:6%;top:4%;background:var(--c-md);animation:float 7s ease-in-out infinite alternate-reverse;}
.orb-sm{width:22%;height:22%;left:0;top:6%;background:var(--c-sm);animation:float 6s ease-in-out infinite alternate;}
.orb-xs{width:16%;height:16%;right:12%;bottom:6%;background:var(--c-xs);animation:float 5s ease-in-out infinite alternate-reverse;}
.orb-ring{width:52%;height:52%;left:26%;top:12%;border:1.5px solid #bdbdbd;border-radius:50%;background:transparent;animation:pulse 4.5s ease-in-out infinite;}
@keyframes float{from{transform:translateY(0) translateX(0);}to{transform:translateY(-8%) translateX(4%);}}
@keyframes pulse{0%,100%{transform:scale(1);opacity:.7;}50%{transform:scale(1.06);opacity:1;}}
@media (prefers-reduced-motion:reduce){.orb,.orb-ring{animation:none;}}

/* ===== Projects：统一 section 与间距 ===== */
.projects-section{
  padding-block: clamp(24px, 5vw, 64px);
}
.projects-section .project-card{
  margin-block: var(--card-gap);
}
.projects-section .project-card:first-of-type{ margin-top: 0; }
.projects-section .project-card:last-of-type{  margin-bottom: 0; }

/* 桌面端加大间距 */
@media (min-width:769px){
  :root{ --card-gap: clamp(64px, 6vw, 120px); }
}

/* ===== 项目卡片：16:9 外壳（桌面） ===== */
.project-card{
  width:100%;
  aspect-ratio:16/9;           /* 桌面端固定 16:9 */
  position:relative;
  border-radius:22px;
  overflow:hidden;
  background:#bfbfbf;
}

/* 用 <a> 包裹整张卡片 */
.project-card > .card-link{
  display:block;
  height:100%;
  color:inherit;
  text-decoration:none;
  border-radius:inherit;
  cursor:pointer;
}
.project-card > .card-link:focus-visible{
  outline:3px solid rgba(0,120,255,.6);
  outline-offset:4px;
  border-radius:inherit;
}

/* 内部网格铺满卡片，不破坏外层比例 */
.card-inner{
  position:absolute; inset:0;
  display:grid;
  grid-template-columns:1fr 1fr;
}
.card-left,.card-right{display:flex;flex-direction:column;justify-content:center;}
.card-left{padding:clamp(24px,4.4vw,60px);gap:10px;}
.pill{display:inline-block;font-size:12px;background:#ffdfe0;border-radius:999px;padding:4px 10px;width:fit-content;}
.card-title{font-size:clamp(22px,2.2vw,34px);font-weight:800;line-height:1.25;}
.card-desc{font-size:var(--fs-sub);color:#202020;max-width:48ch;}
.tags{display:flex;flex-wrap:wrap;gap:8px 12px;}
.tags span{display:inline-block;background:#fff;border-radius:999px;padding:4px 12px;font-size:12px;}

.card-right{
  position:relative;
  overflow:hidden;
  background:#666 center/cover no-repeat;
  min-width:0;
  filter:saturate(.95);
}

/* ===== 媒体风格 1：视频填充（手机屏） ===== */
.card-right.is-video{ background:none; }
.card-right.is-video .card-video{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center;
  display:block;
}

/* ===== 媒体风格 2：宽屏视频（白底 + 80% 宽，不裁切，播完停止） ===== */
.card-right.is-video-wide{
  background:#fff;
  display:flex; align-items:center; justify-content:center;
}
.card-right.is-video-wide .card-video{
  position:static; width:80%; height:auto; max-height:100%;
  object-fit:contain; object-position:center;
  display:block;
}

/* ===== 媒体风格 3：图片完整显示（FIXA 专用，深灰底） ===== */
.card-right.is-image-contain{
  background:#3A3A3A;
  display:flex; align-items:center; justify-content:center;
}
.card-right.is-image-contain .card-media{
  width:100%; height:100%;
  object-fit:contain; object-position:center;
  display:block;
}

/* ===== 媒体风格 4：图片填充（cover） ===== */
.card-right.is-image{ position:relative; overflow:hidden; background:none; }
.card-right.is-image .card-media{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center;
  display:block;
}

/* ===== 移动端：上下栈叠、媒体不裁切 ===== */
@media (max-width:768px){
  .section-full{min-height:unset;}
  .hero{grid-template-columns:1fr;}
  .hero-ornaments{order:2;width:clamp(220px,60vw,360px);height:auto;aspect-ratio:1/1;}

  .project-card{ aspect-ratio:auto; position:relative; border-radius:18px; }
  .card-link{ height:auto; }
  .card-inner{ position:static; display:flex; flex-direction:column; }

  .card-right{
    order:-1;
    width:100%;
    height:auto;              /* 让高度随内容 */
    background-position:center bottom;
    background-size:cover;
  }

  /* 移动端：所有视频与图片都按原比例展示（contain） */
  .card-right.is-video .card-video,
  .card-right.is-video-wide .card-video{
    position:static;
    width:100%; height:auto;
    object-fit:contain; object-position:center;
  }

  .card-right.is-image .card-media{
    position:static;
    width:100%; height:auto;
    object-fit:contain; object-position:center;
  }

  .card-right.is-image-contain{
    height:auto;
  }
  .card-right.is-image-contain .card-media{
    width:100%; height:auto;
    object-fit:contain;
  }
}


/* ===== Hero 照片与线条 ===== */
.hero-media{
  position: relative;
  width: clamp(260px, 34vw, 520px);
  aspect-ratio: 5/6; /* 近似 600x720 */
  translate: 0 6px; /* 轻微下沉更稳 */
  will-change: transform;
}

.hero-blob{
  position: relative;
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 16px 32px rgba(0,0,0,.18))
          drop-shadow(0 3px 8px rgba(0,0,0,.08));
  transition: transform .4s ease;
  transform-style: preserve-3d;
}

/* 轮廓描边动画 */
.blob-stroke{
  stroke: color-mix(in oklab, #0b60ff 60%, #00c9a7 40%);
  stroke-width: 2.4;
  stroke-linejoin: round;
  stroke-dasharray: 14 10;
  stroke-dashoffset: 0;
  opacity: .85;
  animation: dashMove 6s linear infinite;
}
@keyframes dashMove{
  to { stroke-dashoffset: -48; }
}

/* 互动线条画布：盖在最底层 */
.hero-lines{
  position: absolute;
  inset: -6% -10% -10% -6%;
  width: 120%;
  height: 120%;
  pointer-events: none;   /* 只做视觉，不挡交互 */
  opacity: .7;
  filter: blur(.1px) contrast(1.02);
}

/* 悬停轻微抬头 */
@media (hover:hover){
  .hero-media:hover .hero-blob{ transform: translateZ(0) scale(1.01); }
}

/* 深色偏好适配（若你有主题切换，也可自行覆盖） */
@media (prefers-color-scheme: dark){
  .blob-stroke{ stroke: color-mix(in oklab, #9ac2ff 60%, #7fe9cc 40%); opacity: .95; }
}

/* ===== 容器与排版（与主页一致的宽度控制） ===== */
:root{
  --pad-x: clamp(20px, 4vw, 96px);
  --wrap-max: clamp(1040px, 74vw, 1560px);
  --fs-body: clamp(14px, 1.1vw, 20px);
  --fs-h2: clamp(24px, 2.4vw, 40px);
  --fs-degree: clamp(18px, 1.8vw, 30px);
  --edu-logo-col: clamp(260px, 22vw, 420px);
  --edu-logo-h: clamp(84px, 8vw, 140px);
}

*{ box-sizing: border-box; }
html,body{ margin:0; }
body{ font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC","Microsoft YaHei", sans-serif; font-size: var(--fs-body); color:#111; line-height:1.6; }

.wrapper{ max-width: var(--wrap-max); margin: 0 auto; padding: 0 var(--pad-x); }

/* ===== 教育区块 ===== */
.edu-wrap{ padding-block: clamp(24px, 7vh, 96px); }

.edu-title{
  margin:0;
  font-weight:800;
  font-size: var(--fs-h2);
}
.edu-rule{
  border:0; height:1px; background:#eee;
  margin: 12px 0 40px;
}

/* 2 列：左文右 Logo */
.edu-wrap{
  display: grid;
  grid-template-columns: minmax(0,1fr) var(--edu-logo-col);
  column-gap: clamp(16px, 2vw, 24px);
  row-gap: 0;
}
.edu-title, .edu-rule{ grid-column: 1 / -1; }

.edu-item{ display: contents; }        /* 让子块直接占网格 */
.edu-left{
  grid-column:1; padding: 24px 0; border-top:1px solid #eee; min-width:0;
}
.edu-right{
  grid-column:2; padding: 24px 0; display:flex; align-items:center; justify-content:flex-end;
}
.edu-item:last-of-type .edu-left{ border-bottom:1px solid #eee; }

.edu-degree{
  margin:0 0 6px; font-weight:800; font-size: var(--fs-degree); line-height:1.3;
  overflow-wrap:anywhere;
}
.edu-school{ margin:0; color:#202020; }

.edu-logo{
  height: var(--edu-logo-h);
  width: auto; max-width:100%;
  object-fit: contain; object-position: right center;
  display:block;
}

/* ===== 移动端：上下堆叠，Logo 居中更大 ===== */
@media (max-width:768px){
  .edu-wrap{ display:block; }
  .edu-title{ text-align:center; font-size: clamp(26px, 7vw, 38px); }
  .edu-rule{ margin-bottom: 28px; }

  .edu-item{
    display:grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 14px;
    row-gap: 12px;
    padding: 20px 0;
    border-top:1px solid #eee;
  }
  .edu-item + .edu-item{ margin-top: 14px; }
  .edu-item:last-of-type{ border-bottom:1px solid #eee; }

  .edu-right{
    order:-1; grid-column: 1 / 3; justify-content:center; padding:0;
  }
  .edu-left{
    grid-column: 1 / 3; padding:0;
  }
  .edu-logo{ height: clamp(90px, 26vw, 150px); }
}

/* 兜底：避免误溢出导致横向滚动条 */
html, body{ overflow-x:hidden; }
img{ max-width:100%; height:auto; }

/* ===== Hero 图片（替换原泡泡） ===== */
.hero-photo{
  width: clamp(260px, 34vw, 520px);
  aspect-ratio: 4 / 5;                 /* 可按你的图改比例 */
  display: grid;
  place-items: center;
  border-radius: 28px;                  /* 圆角容器 */
  background: radial-gradient(120% 120% at 20% 10%, #f4f6f8 0%, #e9edf2 60%, #e6eaef 100%);
  box-shadow:
    0 18px 42px rgba(0,0,0,.16),
    0 3px 8px rgba(0,0,0,.08);
  overflow: hidden;
}

.hero-img{
  width: 100%;
  height: 100%;
  object-fit: cover;                    /* 充满容器 */
  object-position: center;
  display: block;
  transform: translateZ(0);
}

/* 可选：悬停微动效（桌面） */
@media (hover:hover){
  .hero-photo{ transition: transform .35s ease; }
  .hero-photo:hover{ transform: translateY(-2px) scale(1.01); }
}

/* 移动端尺寸调整 */
@media (max-width: 768px){
  .hero-photo{
    width: clamp(220px, 60vw, 360px);
    aspect-ratio: 1 / 1;               /* 手机上改成正方形更稳 */
    border-radius: 24px;
  }
}
/* === 教育经历：仅左侧文字块（.edu-left）毛玻璃，浅灰风格 === */
.edu-left{
  position: relative;
  border-radius: 16px;
  padding: clamp(16px, 2vw, 24px);          /* 轻微内边距，保留你原来的也行 */
  background: rgba(244,246,248,.55);        /* very light gray */
  border: 1px solid rgba(140,150,170,.18);
  backdrop-filter: blur(12px) saturate(1.03);
  -webkit-backdrop-filter: blur(12px) saturate(1.03);
  box-shadow:
    0 1px 0 rgba(255,255,255,.55) inset,
    0 8px 24px rgba(17,18,20,.06);
}

/* 让标题与院校信息在玻璃内保持层次 */
.edu-degree{ position: relative; z-index: 1; }
.edu-school{ position: relative; z-index: 1; }

/* 可选：在玻璃上叠一点极淡的纹理（更有质感），不需要可删除 */
.edu-left::after{
  content:"";
  position:absolute; inset:0; border-radius: inherit; pointer-events:none;
  opacity:.05; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.45'/%3E%3C/svg%3E");
  background-size: 160px 160px;
}

/* 兼容降级：不支持 backdrop-filter 的浏览器用浅灰渐变替代 */
@supports not ((backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px))){
  .edu-left{
    background: linear-gradient(180deg, #f6f8fb 0%, #eef1f5 100%);
    border-color: rgba(140,150,170,.28);
    box-shadow:
      0 1px 0 rgba(255,255,255,.6) inset,
      0 8px 22px rgba(17,18,20,.08);
  }
  .edu-left::after{ display:none; }
}

/* === 整条教育项毛玻璃（含左右两列与图片） === */
.edu-card{
  position: relative;
  grid-column: 1 / -1;        /* 占满两列，再用内层列布局 */
  display: grid;
  grid-template-columns: minmax(0,1fr) var(--edu-logo-col);
  column-gap: clamp(16px, 2vw, 24px);
  padding: clamp(16px, 2vw, 22px);
  margin: 12px 0;             /* 与上下一致的呼吸感 */
  border-radius: 18px;

  /* 玻璃底色 + 描边 */
  background: rgba(244,246,248,.50);
  border: 1px solid rgba(140,150,170,.18);
  backdrop-filter: blur(14px) saturate(1.03);
  -webkit-backdrop-filter: blur(14px) saturate(1.03);

  /* 阴影与内高光 */
  box-shadow:
    0 1px 0 rgba(255,255,255,.52) inset,
    0 10px 28px rgba(17,18,20,.06);
}

/* 保留分隔线：把原先的上/下边线挪到外层，避免双线叠加 */
.edu-item + .edu-item{ margin-top: 16px; }
.edu-title + .edu-card{ margin-top: 6px; }

/* 左右列在玻璃内的内边距（可按需微调） */
.edu-card .edu-left{ padding: 6px 0; border: 0; }
.edu-card .edu-right{ padding: 6px 0; border: 0; display:flex; align-items:center; justify-content:flex-end; }

/* === 右侧 Logo 的“子玻璃容器” === */
.logo-frame{
  position: relative;
  border-radius: 14px;
  padding: clamp(8px, 1.4vw, 12px);
  background: rgba(255,255,255,.28);
  border: 1px solid rgba(140,150,170,.22);
  backdrop-filter: blur(6px) saturate(1.02);
  -webkit-backdrop-filter: blur(6px) saturate(1.02);
  box-shadow:
    0 1px 0 rgba(255,255,255,.40) inset,
    0 6px 16px rgba(17,18,20,.05);
  max-width: min(100%, var(--edu-logo-col));
}

/* 图片本身保持清晰；让其在子容器内等比居中 */
.logo-frame .edu-logo{
  display:block;
  height: var(--edu-logo-h);
  width: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
}

/* === 移动端：玻璃卡改为单列，Logo 居中 === */
@media (max-width:768px){
  .edu-card{
    grid-template-columns: 1fr;
    row-gap: 12px;
    padding: clamp(14px, 4vw, 18px);
  }
  .edu-card .edu-right{ justify-content: center; }
  .logo-frame{ padding: clamp(10px, 3.5vw, 14px); }
  .logo-frame .edu-logo{ height: clamp(90px, 26vw, 150px); }
}

/* === 兼容降级：无 backdrop-filter 时使用渐变模拟 === */
@supports not ((backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px))){
  .edu-card{
    background:
      linear-gradient(180deg, #f6f8fb 0%, #eef1f5 100%);
    border-color: rgba(140,150,170,.28);
    box-shadow:
      0 1px 0 rgba(255,255,255,.6) inset,
      0 10px 26px rgba(17,18,20,.08);
  }
  .logo-frame{
    background: rgba(255,255,255,.5);
    border-color: rgba(140,150,170,.26);
    -webkit-backdrop-filter: none; backdrop-filter: none;
  }
}

/* 细节：防溢出与点击体验 */
.edu-card *{ border-radius: inherit; }
html, body{ overflow-x: hidden; }
/* 1) 左侧文字区：在所在 div 内垂直居中 */
.edu-card{
  align-items: center; /* 让当前行内的两个格子在纵向居中 */
}
.edu-card .edu-left{
  display: flex;
  flex-direction: column;
  justify-content: center;   /* 垂直方向居中内容 */
  /* 可选：让文字区至少与 Logo 高度接近，避免显得靠上 */
  min-height: var(--edu-logo-h);
}

/* 2) 右侧图片容器：边框内填充为纯白 */
.logo-frame{
  background: #fff !important;           /* 纯白填充 */
  border: 1px solid rgba(140,150,170,.22);
  backdrop-filter: none;                  /* 取消玻璃模糊（可保留也行） */
  -webkit-backdrop-filter: none;
  box-shadow:
    0 1px 0 rgba(255,255,255,.60) inset,
    0 6px 16px rgba(17,18,20,.05);
}

/* 保持图片等比居中 */
.logo-frame .edu-logo{
  display: block;
  height: var(--edu-logo-h);
  width: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
}

/* 移动端也居中显示 */
@media (max-width:768px){
  .edu-card{ align-items: center; }
  .edu-card .edu-left{ min-height: 0; }   /* 小屏不强制等高 */
}
/* 让每行两列等高 */
.edu-card{
  align-items: stretch;                 /* grid 单元格拉伸到同高 */
}

/* 两侧容器都占满可用高度 */
.edu-card .edu-left,
.edu-card .edu-right{ height: 100%; }

/* 左侧：内容垂直居中，同时与右侧同高 */
.edu-card .edu-left{
  display: flex;
  flex-direction: column;
  justify-content: center;
  /* 如果之前加过 min-height，移除它以免破坏等高 */
  min-height: 0 !important;
}

/* 右侧：用一个满高的白色框承载 Logo */
.edu-card .edu-right{
  display: flex;
  align-items: stretch;   /* 让子元素充满右列高度 */
}

.logo-frame{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;                          /* 关键：与左列同高 */
  width: 100%;
  background: #fff;                      /* 你要求的纯白填充 */
  border: 1px solid rgba(140,150,170,.22);
  border-radius: 14px;
  box-shadow:
    0 1px 0 rgba(255,255,255,.60) inset,
    0 6px 16px rgba(17,18,20,.05);
}

/* Logo 在白框内自适应，不拉伸变形 */
.logo-frame .edu-logo{
  max-width: 100%;
  max-height: 80%;                        /* 预留上下内边距，避免顶满 */
  height: auto;
  object-fit: contain;
  object-position: center;
}

/* 移动端：依然保持居中，但不强制等高 */
@media (max-width:768px){
  .edu-card{
    align-items: center;
  }
  .logo-frame{ height: auto; }
}
:root{ --edu-card-pad: clamp(16px, 2vw, 24px); }

/* 同行两列等高 */
.edu-card{ align-items: stretch; }

/* 左侧与右侧都用 box-sizing，避免因 padding 影响视觉高度 */
.edu-card .edu-left{ 
  box-sizing: border-box;
  padding: var(--edu-card-pad);
  min-height: 0 !important;   /* 移除之前的 min-height 以免卡死高度 */
}

/* 关键：右列自身不留内边距，白框去占满整列高度 */
.edu-card .edu-right{
  padding: 0 !important;
  display: flex;
  align-items: stretch;        /* 让子元素充满右列高度 */
}

/* 白框与左侧同高 */
.logo-frame{
  height: 100%;                /* 跟随右列（=左列）高度 */
  width: 100%;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;

  /* 你的纯白填充与描边 */
  background: #fff;
  border: 1px solid rgba(140,150,170,.22);
  border-radius: 14px;
  box-shadow:
    0 1px 0 rgba(255,255,255,.60) inset,
    0 6px 16px rgba(17,18,20,.05);

  /* 把原先右列的内边距转移到白框上，左右对齐更一致 */
  padding: var(--edu-card-pad);
}

/* Logo 在框内等比缩放 */
.logo-frame .edu-logo{
  max-width: 100%;
  max-height: 80%;
  height: auto;
  object-fit: contain;
  object-position: center;
}

/* 移动端：不强制等高，避免超长文字拉高白框 */
@media (max-width:768px){
  .edu-card{ align-items: center; }
  .logo-frame{ height: auto; padding: clamp(10px, 3.5vw, 14px); }
}

/* ===== 软件技能 ===== */
.skills-wrap{
  padding-block: clamp(24px, 7vh, 96px);
}
.skills-title{
  margin: 0;
  font-weight: 800;
  font-size: clamp(24px, 2.4vw, 40px);
}
.skills-rule{
  border: 0; height: 1px; background: #eee;
  margin: 12px 0 28px;
}

/* 网格：桌面 3 列，平板 3/2 列，移动 2 列 */
.skills-grid{
  list-style: none; margin: 0; padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2.6vw, 28px);
}

/* 单个技能卡 */
.skill-card{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;

  /* 卡片视觉 */
  padding: clamp(12px, 1.8vw, 16px) clamp(12px, 1.8vw, 20px);
  border-radius: 16px;
  background: rgba(255,255,255,1);
  box-shadow:
    0 1px 0 rgba(255,255,255,.55) inset,
    0 10px 22px rgba(17,18,20,.06);
  border: 1px solid rgba(140,150,170,.16);
}

/* 图标的内框（与右侧 logo 风格一致） */
.icon-frame{
  width: clamp(84px, 7vw, 112px);
  height: clamp(84px, 7vw, 112px);
  display: grid; place-items: center;
  background: #fff;
  border: 1px solid rgba(140,150,170,.22);
  border-radius: 14px;
  box-shadow:
    0 1px 0 rgba(255,255,255,.60) inset,
    0 6px 16px rgba(17,18,20,.05);
}
.skill-icon{
  max-width: 70%;
  max-height: 70%;
  object-fit: contain;
}

/* 文字 */
.skill-name{
  margin: 2px 0 0;
  font-weight: 600;
  color: #111;
  text-align: center;
  line-height: 1.3;
}

/* 交互：轻微抬升 */
@media (hover:hover){
  .skill-card{ transition: transform .25s ease, box-shadow .25s ease; }
  .skill-card:hover{
    transform: translateY(-2px);
    box-shadow:
      0 1px 0 rgba(255,255,255,.55) inset,
      0 14px 28px rgba(17,18,20,.08);
  }
}

/* 响应式 */
@media (max-width:1024px){
  .skills-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width:768px){
  .skills-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ========== Reading Section ========== */
.section-reading{
  padding-block: clamp(36px, 8vw, 96px);
}

.reading-grid{
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  align-items: center;
  gap: clamp(16px, 3vw, 36px);
}

/* 左侧文本 */
.reading-left{
  display: flex;
  flex-direction: column;
  gap: clamp(10px, 1.4vw, 16px);
  max-width: 58ch; /* 控制行宽，跟你站点风格一致 */
}

.reading-title{
  margin: 0;
  font-weight: 800;
  font-size: var(--fs-h2, clamp(24px, 2.4vw, 40px));
  line-height: 1.2;
  letter-spacing: -.01em;
}

.reading-lead{
  margin: 0;
  font-size: var(--fs-sub, clamp(13px, 1.1vw, 18px));
  color:#202020;
  line-height: 1.65;
}

/* 向下按钮（胶囊按钮） */
.btn-down{
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: clamp(8px, 1.4vw, 14px);
  padding: 10px 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(140,150,170,.18);
  box-shadow:
    0 1px 0 rgba(255,255,255,.55) inset,
    0 8px 18px rgba(17,18,20,.06);
  font-weight: 600;
  cursor: pointer;
  user-select: none;
  transition: transform .2s ease, box-shadow .2s ease;
}
.btn-down__icon{ width: 18px; height: 18px; }
@media (hover:hover){
  .btn-down:hover{
    transform: translateY(-1px);
    box-shadow:
      0 1px 0 rgba(255,255,255,.55) inset,
      0 12px 26px rgba(17,18,20,.09);
  }
}
.btn-down:active{ transform: translateY(0); }

/* 右侧图片：等比、不可溢出、视觉居中 */
.reading-right{
  display: grid;
  place-items: center;
}
.reading-img{
  display: block;
  max-width: 100%;
  max-height: min(72vh, 760px);
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center;
  border-radius: 18px;
  background: #fff; /* 透明 PNG 看起来更干净 */
  box-shadow: 0 10px 28px rgba(17,18,20,.08);
}

/* 小屏：上下堆叠 */
@media (max-width: 768px){
  .reading-grid{
    grid-template-columns: 1fr;
    gap: clamp(14px, 4vw, 18px);
  }
  .reading-left{ max-width: 100%; }
  .reading-img{
    max-height: 60vh;
    border-radius: 16px;
  }
}
/* === Reading Section：图片占满整屏高度 & 去圆角 === */
.section-reading{
  padding-block: 0 !important;     /* 取消上下内边距，满屏更干净 */
}
.section-reading .reading-grid{
  min-height: 100vh;               /* 整段满一屏高度 */
  align-items: stretch;             /* 两列等高 */
}

/* 左列文字：在一屏内垂直居中 */
.section-reading .reading-left{
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* 右列图片容器：充满列高 */
.section-reading .reading-right{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;               /* 关键：右列高度 = 100vh */
}

/* 图片：高度拉满整屏，不要圆角、不要阴影和背景 */
.section-reading .reading-img{
  height: 100vh;                   /* 占据整个屏幕高度 */
  width: auto;                     /* 按比例自适应宽度 */
  max-width: 100%;                 /* 避免横向溢出 */
  object-fit: contain;             /* 保持完整显示，避免裁切；需充满可改为 cover */
  object-position: center;
  border-radius: 0 !important;     /* 去圆角 */
  background: transparent !important;
  box-shadow: none !important;
}

/* 小屏时仍保持整屏高度；上下堆叠 */
@media (max-width: 768px){
  .section-reading .reading-grid{
    grid-template-columns: 1fr;
  }
  .section-reading .reading-left{
    min-height: auto;              /* 移动端文字区允许自然高度 */
    padding-block: clamp(16px, 6vw, 24px);
  }
  .section-reading .reading-right{
    min-height: 100vh;             /* 图片还是一屏高 */
  }
  .section-reading .reading-img{
    height: 100vh;
    width: auto;
    max-width: 100%;
    object-fit: contain;           /* 如需铺满可换成 cover（会裁切） */
  }
}

/* ========== Project Background（标题侧栏 + 右侧内容） ========== */
.section-brief{
  padding-block: clamp(36px, 8vw, 96px);
}

.brief-grid{
  display: grid;
  grid-template-columns: minmax(0, 280px) minmax(0, 1fr); /* 左 280px 侧栏 + 右自适应 */
  gap: clamp(16px, 3vw, 36px);
  align-items: start;
}

/* 左侧标题列（可轻微“吸附”停留） */
.brief-aside{
  position: sticky;
  top: clamp(16px, 4vh, 48px);
  align-self: start;
  padding-block: 6px;
  border-right: 1px solid #eee;
}
.brief-title{
  margin: 0 0 6px 0;
  font-weight: 800;
  font-size: var(--fs-h2, clamp(24px, 2.4vw, 40px));
  line-height: 1.2;
  letter-spacing: -.01em;
}
.brief-sub{
  margin: 0;
  color: #555;
  font-size: clamp(12px, .95vw, 14px);
}

/* 右侧内容 */
.brief-body{
  min-width: 0; /* 防止溢出 */
}

/* 定义列表样式化为“键-值”卡片 */
.brief-list{
  margin: 0; padding: 0;
}
.brief-item{
  display: grid;
  grid-template-columns: minmax(120px, 22%) minmax(0, 1fr);
  gap: clamp(10px, 1.8vw, 18px);
  padding: clamp(14px, 2vw, 20px) 0;
  border-bottom: 1px solid #eee;
}
.brief-item:first-child{ border-top: 1px solid #eee; }

.brief-term{
  margin: 0;
  font-weight: 600;
  color: #111;
}
.brief-def{
  margin: 0;
  color: #202020;
  line-height: 1.65;
  max-width: 70ch; /* 控制行宽，阅读舒适 */
}

/* 项目工具为列表时的内边距与行距 */
.brief-bullets{
  margin: 0; padding: 0 0 0 1.2em;
  display: grid;
  row-gap: .35em;
}

/* 响应式：小屏上下堆叠，去 sticky 与右边框 */
@media (max-width: 768px){
  .brief-grid{
    grid-template-columns: 1fr;
    gap: clamp(12px, 4vw, 18px);
  }
  .brief-aside{
    position: static;
    border-right: 0;
    padding-bottom: 4px;
  }
  .brief-item{
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 14px 0;
  }
  .brief-def{ max-width: none; }
}
/* ====== Project Background：移动端阅读优化 ====== */
@media (max-width: 768px){
  /* 整体留白更舒适 */
  .section-brief{
    padding-block: clamp(20px, 6.5vw, 32px);
  }

  /* 栅格改为单列，去 sticky / 右分隔线 */
  .brief-grid{
    grid-template-columns: 1fr !important;
    gap: clamp(12px, 4.5vw, 18px);
  }
  .brief-aside{
    position: static !important;
    top: auto !important;
    border-right: 0 !important;
    padding: 0 0 4px 0;
  }

  /* 标题更大一点、子标题更轻 */
  .brief-title{
    font-size: clamp(22px, 7vw, 28px);
    line-height: 1.25;
    letter-spacing: -.01em;
    margin-bottom: 2px;
  }
  .brief-sub{
    font-size: clamp(12px, 3.5vw, 13px);
    color:#666;
  }

  /* 列表项上下排，留白更足、可点区域更大 */
  .brief-item{
    grid-template-columns: 1fr !important;
    gap: 6px;
    padding: clamp(12px, 3.8vw, 16px) 0;
    border-bottom: 1px solid #eee;
  }
  .brief-item:first-child{ border-top: 1px solid #eee; }

  /* 术语标签更像小标题，易扫读 */
  .brief-term{
    font-size: clamp(14px, 4.2vw, 16px);
    font-weight: 700;
    color:#111;
  }

  /* 正文行长放宽但不溢出；行距更松 */
  .brief-def{
    font-size: clamp(14px, 4.2vw, 16px);
    line-height: 1.75;
    max-width: none !important;
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  /* 列表（项目工具）缩进更合理、行距略增 */
  .brief-bullets{
    padding-left: 1.1em;
    row-gap: .4em;
  }
  .brief-bullets li{
    line-height: 1.7;
  }
}

/* 超小屏兜底（如 320–360px） */
@media (max-width: 360px){
  .section-brief{ padding-block: 18px; }
  .brief-title{ font-size: 20px; }
  .brief-sub{ font-size: 12px; }
  .brief-item{ padding: 12px 0; }
  .brief-term{ font-size: 15px; }
  .brief-def{ font-size: 14px; line-height: 1.7; }
}

/* ========== Book Choice Section ========== */
.section-choose{
  padding-block: clamp(36px, 8vw, 96px);
}
.choose-grid{
  display: grid;
  grid-template-columns: minmax(0,1.35fr) minmax(0,.65fr);
  gap: clamp(16px, 3vw, 40px);
  align-items: start;
}
.choose-title{
  margin: 0 0 6px 0;
  font-weight: 800;
  font-size: var(--fs-h2, clamp(24px, 2.4vw, 40px));
  line-height: 1.2;
  letter-spacing: -.01em;
}
.choose-body{
  grid-column: 1;
  display: grid;
  gap: clamp(10px, 1.6vw, 16px);
  max-width: 72ch;                /* 舒适行长 */
  color: #202020;
  line-height: 1.75;
}
.choose-figure{
  grid-column: 2;
  margin: 0;
  display: grid;
  gap: 8px;
  align-content: start;
}
.choose-img{
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  cursor: zoom-in;                /* 提示可放大 */
  user-select: none;
  border: 1px solid rgba(140,150,170,.18);
  background: #fff;
}

/* 说明文字 */
.choose-cap{
  font-size: 12px;
  color: #666;
}

/* —— 响应式（≤1024：两列比例更均衡） —— */
@media (max-width: 1024px){
  .choose-grid{
    grid-template-columns: 1fr 1fr;
  }
}

/* —— 移动端（≤768：上下布局，图片置于文本后） —— */
@media (max-width: 768px){
  .section-choose{ padding-block: clamp(22px, 6.5vw, 32px); }
  .choose-grid{ grid-template-columns: 1fr; gap: clamp(12px, 4.5vw, 18px); }
  .choose-body{ max-width: none; }
  .choose-figure{ order: 3; }
  .choose-title{ font-size: clamp(22px, 7vw, 28px); }
}

/* ========== 通用图片灯箱（无依赖） ========== */
.img-lightbox[aria-hidden="false"]{ display: grid; }
.img-lightbox{
  position: fixed;
  inset: 0;
  display: none;
  place-items: center;
  background: rgba(10,12,14,.78);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  z-index: 9999;
}
.lb-img{
  max-width: min(92vw, 1600px);
  max-height: 92vh;
  object-fit: contain;
  box-shadow: 0 12px 30px rgba(0,0,0,.35);
  background: #fff;
}
.lb-close{
  position: absolute;
  top: clamp(10px, 2vw, 18px);
  right: clamp(10px, 2vw, 18px);
  width: 36px; height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.55);
  background: rgba(20,22,26,.35);
  color: #fff; font-size: 22px; line-height: 1;
  display: grid; place-items: center;
  cursor: pointer;
}
@media (hover:hover){
  .lb-close:hover{ background: rgba(20,22,26,.55); }
}

/* 打开灯箱时禁用页面滚动（配合 JS 给 body 加类名） */
body.no-scroll{ overflow: hidden; }

/* ========== 故事梗概：排版强化 ========== */
.section-synopsis{
  padding-block: clamp(36px, 8vw, 96px);
}

.syn-title{
  margin: 0;
  font-weight: 800;
  font-size: var(--fs-h2, clamp(24px, 2.4vw, 40px));
  line-height: 1.2;
  letter-spacing: -.01em;
}
.syn-rule{
  border: 0;
  height: 1px;
  background: #e9e9e9;
  margin: 10px 0 18px;
}

.syn-body{
  display: grid;
  gap: clamp(14px, 2vw, 22px);
  max-width: 72ch;                 /* 控制行长，保证可读性 */
  color: #202020;
  line-height: 1.75;
}

/* 分节块：左导引线 + 内边距，营造栅格感 */
.syn-block{
  position: relative;
  padding-left: clamp(14px, 1.8vw, 18px);
}
.syn-block::before{
  content: "";
  position: absolute;
  left: 0; top: .5em; bottom: .5em;
  width: 2px;
  background: linear-gradient(#e6e6e6, #f1f1f1);
  border-radius: 2px;
}

/* 小标题（加粗已由内容控制，这里只做节奏与对齐） */
.syn-sub{
  margin: 0 0 6px 0;
  font-size: clamp(16px, 1.4vw, 18px);
  line-height: 1.4;
}

/* 段落细节：中文排版更稳 */
.syn-body p{
  margin: 0 0 .7em 0;
  text-wrap: pretty;
  hanging-punctuation: first allow-end; /* 支持的浏览器会更美观 */
}

/* —— 平板优化（≤1024px） —— */
@media (max-width: 1024px){
  .syn-body{ max-width: 68ch; }
}

/* —— 移动端优化（≤768px） —— */
@media (max-width: 768px){
  .section-synopsis{ padding-block: clamp(22px, 6.5vw, 32px); }
  .syn-title{ font-size: clamp(22px, 7vw, 28px); }
  .syn-body{
    gap: clamp(12px, 4.2vw, 16px);
    max-width: none;             /* 撑满容器，便于留白布局 */
    line-height: 1.85;
  }
  .syn-block{ padding-left: 12px; }
  .syn-block::before{ width: 1.5px; }
  .syn-sub{ font-size: clamp(15px, 4.4vw, 17px); margin-bottom: 4px; }
  .syn-body p{ margin-bottom: .65em; }
}

/* —— 超小屏兜底（≤360px） —— */
@media (max-width: 360px){
  .syn-sub{ font-size: 15px; }
  .syn-body{ line-height: 1.8; }
}
/* ===== 故事梗概：双纵栏排版（替换原有样式） ===== */
.section-synopsis{
  padding-block: clamp(36px, 8vw, 96px);
}

/* 头部仅保留主标题风格 */
.syn-title{
  margin: 0 0 10px 0;
  font-weight: 800;
  font-size: var(--fs-h2, clamp(24px, 2.4vw, 40px));
  line-height: 1.2;
  letter-spacing: -.01em;
}
.syn-rule{ display:none; } /* 删除上版式的分隔线 */

.syn-body{
  /* 核心：两栏文本 */
  column-count: 2;
  column-gap: clamp(24px, 4.5vw, 56px);
  /* 行高与颜色 */
  color:#202020;
  line-height: 1.75;
  /* 行长限制，避免过宽 */
  max-width: 88ch;
}

/* 每个小节为一个“不可拆分”的块，避免被栏间断开 */
.syn-block{
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  margin: 0 0 1.1em 0;
  padding: 0;
}

/* 次级标题：加粗、和正文形成节奏 */
.syn-sub{
  margin: 0 0 .35em 0;
  font-weight: 800;
  font-size: clamp(15px, 1.3vw, 18px);
  line-height: 1.4;
}
.syn-body p{
  margin: 0 0 .7em 0;
  text-wrap: pretty;
}

/* —— 平板优化（≤1024px）：仍保持两栏，但间距更紧 —— */
@media (max-width: 1024px){
  .syn-body{
    column-gap: clamp(20px, 3.8vw, 40px);
    max-width: 80ch;
  }
}

/* —— 移动端（≤768px）：改为单栏，增大留白 —— */
@media (max-width: 768px){
  .section-synopsis{ padding-block: clamp(22px, 6.5vw, 32px); }
  .syn-title{ font-size: clamp(22px, 7vw, 28px); margin-bottom: 6px; }
  .syn-body{
    column-count: 1;
    max-width: none;
    line-height: 1.85;
  }
  .syn-sub{ font-size: clamp(15px, 4.4vw, 17px); margin-bottom: .4em; }
}

/* —— 超小屏兜底（≤360px） —— */
@media (max-width: 360px){
  .syn-body{ line-height: 1.8; }
  .syn-sub{ font-size: 15px; }
}
/* ===== 故事梗概：四纵列栅格（桌面4列 / 平板3列 / 小屏2~1列） ===== */
.section-synopsis{
  padding-block: clamp(36px, 8vw, 96px);
}

.syn-title{
  margin: 0 0 14px 0;
  font-weight: 800;
  font-size: var(--fs-h2, clamp(24px, 2.4vw, 40px));
  line-height: 1.2;
  letter-spacing: -.01em;
}

/* 核心：四列网格 */
.syn-body{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(16px, 3.2vw, 36px);
  align-items: start;
  color:#202020;
}

/* 单列块：标题+正文，控制行长与节奏 */
.syn-block{
  display: grid;
  gap: 8px;
  padding: clamp(10px, 1.6vw, 14px);
  border-radius: 12px;
  background: rgba(245,247,250,.65);          /* 轻底色，接近示例 */
  border: 1px solid rgba(140,150,170,.18);
  box-shadow:
    0 1px 0 rgba(255,255,255,.55) inset,
    0 8px 18px rgba(17,18,20,.04);
}

.syn-sub{
  margin: 0;
  font-weight: 800;
  font-size: clamp(18px, 1.6vw, 22px);        /* 列标题更强调 */
  line-height: 1.25;
  letter-spacing: -.01em;
}

.syn-block p{
  margin: 0;
  font-size: clamp(14px, 1.1vw, 16px);
  line-height: 1.75;
  text-wrap: pretty;
}

/* —— 断点：宽屏略收敛间距 —— */
@media (max-width: 1200px){
  .syn-body{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}

/* —— 平板：两列 —— */
@media (max-width: 900px){
  .syn-body{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}

/* —— 手机：单列，增大留白与行距 —— */
@media (max-width: 600px){
  .section-synopsis{ padding-block: clamp(22px, 6.5vw, 32px); }
  .syn-title{ font-size: clamp(22px, 7vw, 28px); }
  .syn-body{ grid-template-columns: 1fr; gap: clamp(12px, 4.5vw, 18px); }
  .syn-block{ padding: clamp(12px, 4vw, 16px); }
  .syn-block p{ line-height: 1.85; }
}

/* ========== 视觉基调与修辞（调研扩展） ========== */
.section-rhetoric{
  padding-block: clamp(36px, 8vw, 96px);
}

/* 两列栅格：文字 1.15fr / 图片 0.85fr */
.rhe-grid{
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr);
  gap: clamp(18px, 3.5vw, 44px);
  align-items: start;
}

/* 标题与引导段 */
.rhe-title{
  margin: 0 0 .35em 0;
  font-weight: 800;
  font-size: var(--fs-h2, clamp(24px, 2.4vw, 40px));
  letter-spacing: -.01em;
  line-height: 1.2;
}
.rhe-lead{
  margin: 0 0 .9em 0;
  color:#1a1a1a;
  font-size: clamp(14px, 1.15vw, 18px);
  line-height: 1.75;
}

/* 分块与小标题 */
.rhe-block{ margin: 0 0 1.1em 0; }
.rhe-sub{
  margin: 0 0 .4em 0;
  font-weight: 800;
  font-size: clamp(16px, 1.3vw, 20px);
  line-height: 1.35;
  letter-spacing: -.005em;
}
.rhe-block p{
  margin: 0;
  color:#202020;
  line-height: 1.8;
}

/* 自定义要点列表（干净的圆点 + 更好的行距） */
.rhe-list{
  margin: .2em 0 0 0;
  padding: 0 0 0 1.1em;
  display: grid;
  row-gap: .45em;
  color:#202020;
}
.rhe-list li{ line-height: 1.75; }

/* 右侧图片卡：等比、带轻描边与阴影；可放大 */
.rhe-right{
  margin: 0;
  display: grid;
  gap: 8px;
  align-content: start;
}
.rhe-img{
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  background: #fff;
  border: 1px solid rgba(140,150,170,.18);
  box-shadow: 0 10px 24px rgba(17,18,20,.06);
  cursor: zoom-in;
  user-select: none;
}
.rhe-cap{
  font-size: 12px;
  color:#666;
}

/* —— 断点优化 —— */
@media (max-width: 1024px){
  .rhe-grid{ grid-template-columns: 1fr 1fr; gap: clamp(14px, 3vw, 28px); }
}
@media (max-width: 768px){
  .section-rhetoric{ padding-block: clamp(22px, 6.5vw, 32px); }
  .rhe-grid{ grid-template-columns: 1fr; }
  .rhe-title{ font-size: clamp(22px, 7vw, 28px); }
  .rhe-lead{ line-height: 1.85; }
  .rhe-right{ order: 2; }         /* 小屏：图片放在文字之后 */
  .rhe-img{ box-shadow: 0 8px 18px rgba(17,18,20,.05); }
}

/* ========== 视觉基调与修辞 v2：标题 / 中图 / 下方两栏文字 ========== */
.section-rhetoric{
  padding-block: clamp(36px, 8vw, 96px);
}

/* 标题 */
.rhe-title{
  margin: 0 0 clamp(12px, 1.6vw, 18px);
  font-weight: 800;
  font-size: var(--fs-h2, clamp(24px, 2.4vw, 40px));
  line-height: 1.2;
  letter-spacing: -.01em;
}

/* 中间配图：等比、直角、细描边；与示例风格接近 */
.rhe-visual{
  margin: 0 0 clamp(18px, 3vw, 28px);
  display: grid;
  gap: 8px;
  place-items: center;
}
.rhe-img{
  display: block;
  width: min(100%, 1200px);
  height: auto;
  object-fit: contain;
  background: #fff;
  border: 1px solid rgba(140,150,170,.28);
  box-shadow: 0 8px 20px rgba(17,18,20,.06);
  cursor: zoom-in;         /* 若已装灯箱可点击放大 */
}
.rhe-cap{
  font-size: 12px;
  color: #666;
}

/* 文字容器：参考示例的“浅蓝底+描边”视觉 */
.rhe-box{
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 10px;
  background: linear-gradient(180deg, #eef3f9 0%, #e8eef6 100%);
  padding: clamp(14px, 2.4vw, 22px);
  box-shadow:
    0 1px 0 rgba(255,255,255,.55) inset,
    0 10px 22px rgba(17,18,20,.05);
}

/* 两栏正文：桌面 2 栏，列间距充足；小屏自动单栏 */
.rhe-columns{
  column-count: 2;
  column-gap: clamp(20px, 4.5vw, 56px);
  color:#1b1b1b;
  line-height: 1.8;
  font-size: clamp(14px, 1.1vw, 16px);
}
.rhe-columns > *{
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  margin: 0 0 .9em 0;
}

/* 小标题与列表 */
.rhe-sub{
  font-weight: 800;
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.45;
  margin: .2em 0 .3em;
}
.rhe-list{
  margin: 0 0 .4em 0;
  padding-left: 1.2em;
}
.rhe-list li{ margin: .25em 0; }

/* 断点适配 */
@media (max-width: 1024px){
  .rhe-columns{ column-gap: clamp(18px, 3.8vw, 40px); }
}
@media (max-width: 768px){
  .section-rhetoric{ padding-block: clamp(22px, 6.5vw, 32px); }
  .rhe-title{ font-size: clamp(22px, 7vw, 28px); }
  .rhe-img{ width: 100%; }
  .rhe-box{ padding: clamp(12px, 4.5vw, 16px); }
  .rhe-columns{
    column-count: 1;
    line-height: 1.9;
    font-size: clamp(14px, 4.2vw, 16px);
  }
}

/* 覆盖：rhe-box 改为纯白背景 */
.section-rhetoric .rhe-box{
  background: #fff !important;             /* 纯白 */
  border: 1px solid rgba(120,130,150,.18); /* 轻描边 */
  box-shadow:
    0 1px 0 rgba(255,255,255,.55) inset,
    0 10px 22px rgba(17,18,20,.05);         /* 维持柔和阴影 */
}
/* 如需更干净，可去掉内阴影：把上面的 box-shadow 改成 `0 8px 18px rgba(17,18,20,.05)` 即可 */
/* ========== 版式探索（头脑风暴）：标题 / 中图 / 两栏说明 ========== */
.section-ideation{
  padding-block: clamp(36px, 8vw, 96px);
}

/* 标题与引导句 */
.ide-title{
  margin: 0 0 .35em 0;
  font-weight: 800;
  font-size: var(--fs-h2, clamp(24px, 2.4vw, 40px));
  line-height: 1.2;
  letter-spacing: -.01em;
}
.ide-intro{
  margin: 0 0 clamp(14px, 2vw, 20px);
  color:#1b1b1b;
  line-height: 1.75;
  max-width: 72ch;
}

/* 中间配图：直角、细描边、轻阴影 */
.ide-visual{
  margin: 0 0 clamp(18px, 3vw, 28px);
  display: grid;
  gap: 8px;
  place-items: center;
}
.ide-img{
  width: min(100%, 1200px);
  height: auto;
  display: block;
  object-fit: contain;
  background: #fff;
  border: 1px solid rgba(140,150,170,.24);
  box-shadow: 0 8px 20px rgba(17,18,20,.06);
  cursor: zoom-in;
}
.ide-cap{
  font-size: 12px;
  color:#666;
}

/* 白色说明盒：两栏文本 */
.ide-box{
  background: #fff; /* 纯白，如你要求 */
  border: 1px solid rgba(120,130,150,.18);
  border-radius: 10px;
  padding: clamp(14px, 2.4vw, 22px);
  box-shadow:
    0 1px 0 rgba(255,255,255,.55) inset,
    0 10px 22px rgba(17,18,20,.05);
}
.ide-columns{
  column-count: 2;
  column-gap: clamp(20px, 4.5vw, 56px);
  color:#202020;
  line-height: 1.8;
  font-size: clamp(14px, 1.1vw, 16px);
}
.ide-columns > *{
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  margin: 0 0 .9em 0;
}

/* 小标题与列表 */
.ide-sub{
  font-weight: 800;
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.45;
  margin: .2em 0 .3em;
}
.ide-list{
  margin: 0 0 .4em 0;
  padding-left: 1.2em;
}
.ide-list li{ margin: .25em 0; }

/* 断点适配 */
@media (max-width: 1024px){
  .ide-columns{ column-gap: clamp(18px, 3.8vw, 40px); }
}
@media (max-width: 768px){
  .section-ideation{ padding-block: clamp(22px, 6.5vw, 32px); }
  .ide-title{ font-size: clamp(22px, 7vw, 28px); }
  .ide-box{ padding: clamp(12px, 4.5vw, 16px); }
  .ide-columns{
    column-count: 1;
    line-height: 1.9;
    font-size: clamp(14px, 4.2vw, 16px);
  }
}

/* ========== 字体与标题排版：标题 / 三图画廊 / 白底两栏文案 ========== */
.section-type{
  padding-block: clamp(36px, 8vw, 96px);
}

/* 标题 */
.type-title{
  margin: 0 0 .35em 0;
  font-weight: 800;
  font-size: var(--fs-h2, clamp(24px, 2.4vw, 40px));
  line-height: 1.2;
  letter-spacing: -.01em;
}

/* 三图画廊：桌面三列，等高卡片风格 */
.type-gallery{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: clamp(14px, 2.6vw, 24px);
  margin: 0 0 clamp(18px, 3vw, 28px);
}
.type-fig{
  display: grid;
  gap: 8px;
  align-content: start;
  margin: 0;
}
.type-img{
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  background: #fff;
  border: 1px solid rgba(140,150,170,.24);
  box-shadow: 0 8px 20px rgba(17,18,20,.06);
  cursor: zoom-in;              /* 若已装灯箱可点击放大 */
}
.type-cap{
  font-size: 12px;
  color:#666;
}

/* 文案盒（白色，两栏） */
.type-box{
  background: #fff;
  border: 1px solid rgba(120,130,150,.18);
  border-radius: 10px;
  padding: clamp(14px, 2.4vw, 22px);
  box-shadow:
    0 1px 0 rgba(255,255,255,.55) inset,
    0 10px 22px rgba(17,18,20,.05);
}
.type-columns{
  column-count: 2;
  column-gap: clamp(20px, 4.5vw, 56px);
  color:#202020;
  line-height: 1.8;
  font-size: clamp(14px, 1.1vw, 16px);
}
.type-columns > *{
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  margin: 0 0 .9em 0;
}
.type-sub{
  font-weight: 800;
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.45;
  margin: .2em 0 .3em;
}

/* 断点适配 */
@media (max-width: 1024px){
  .type-gallery{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .type-columns{ column-gap: clamp(18px, 3.8vw, 40px); }
}
@media (max-width: 768px){
  .section-type{ padding-block: clamp(22px, 6.5vw, 32px); }
  .type-title{ font-size: clamp(22px, 7vw, 28px); }
  .type-gallery{ grid-template-columns: 1fr; }
  .type-box{ padding: clamp(12px, 4.5vw, 16px); }
  .type-columns{
    column-count: 1;
    line-height: 1.9;
    font-size: clamp(14px, 4.2vw, 16px);
  }
}

/* ========== 最终设计：标题 / 全幅大图 / 两栏分析 ========== */
.section-final{
  padding-block: clamp(28px, 6vw, 64px);
}

.final-title{
  margin: 0 0 clamp(10px, 1.4vw, 16px);
  font-weight: 800;
  font-size: var(--fs-h2, clamp(24px, 2.4vw, 40px));
  line-height: 1.2;
  letter-spacing: -.01em;
}

/* —— 全幅大图（突破 wrapper，占据 100vw） —— */
.final-bleed{
  /* 让容器“破格”到页面边缘 */
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-bottom: clamp(18px, 3vw, 28px);
}
.final-img{
  display: block;
  width: 100vw;          /* 100% 视口宽度 */
  max-width: 100vw;
  height: auto;
  object-fit: contain;   /* 保持比例，不裁切 */
  background: #fff;
  cursor: zoom-in;       /* 若已装灯箱可点击放大 */
  border-top: 1px solid rgba(140,150,170,.18);
  border-bottom: 1px solid rgba(140,150,170,.18);
  box-shadow: 0 8px 20px rgba(17,18,20,.06);
}

/* —— 分析文字：白底两栏 —— */
.final-box{
  background: #fff;
  border: 1px solid rgba(120,130,150,.18);
  border-radius: 10px;
  padding: clamp(14px, 2.4vw, 22px);
  box-shadow:
    0 1px 0 rgba(255,255,255,.55) inset,
    0 10px 22px rgba(17,18,20,.05);
}

.final-columns{
  column-count: 2;
  column-gap: clamp(20px, 4.5vw, 56px);
  color:#202020;
  line-height: 1.8;
  font-size: clamp(14px, 1.1vw, 16px);
}
.final-columns > *{
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  margin: 0 0 .9em 0;
}
.final-sub{
  font-weight: 800;
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.45;
  margin: .2em 0 .3em;
}

/* —— 响应式 —— */
@media (max-width: 1024px){
  .final-columns{ column-gap: clamp(18px, 3.8vw, 40px); }
}
@media (max-width: 768px){
  .section-final{ padding-block: clamp(20px, 6.5vw, 32px); }
  .final-title{ font-size: clamp(22px, 7vw, 28px); }
  .final-columns{
    column-count: 1;
    line-height: 1.9;
    font-size: clamp(14px, 4.2vw, 16px);
  }
  /* 小屏可选去掉上下描边，保留阴影即可 */
  .final-img{ border-top: 0; border-bottom: 0; }
}

/* ===== 最终设计：说明文字排版升级 ===== */
.section-final .final-columns{
  /* 仍然是两栏，但整体阅读更松 */
  column-count: 2;
  column-gap: clamp(24px, 4.8vw, 60px);
  line-height: 1.9;
  color:#181818;
  font-size: clamp(14px, 1.08vw, 16px);
  counter-reset: finalSec; /* 小节自动编号 */
}

/* 小节标题：编号 + 顶部分隔线 + 间距 */
.section-final .final-sub{
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  position: relative;
  margin: clamp(12px, 1.6vw, 18px) 0 .45em;
  padding-top: clamp(10px, 1.2vw, 14px);
  font-weight: 800;
  font-size: clamp(15px, 1.2vw, 18px);
  letter-spacing: .002em;
  line-height: 1.35;
  border-top: 1px solid rgba(0,0,0,.08);
}

.section-final .final-sub::before{
  counter-increment: finalSec;
  content: counter(finalSec, decimal-leading-zero);
  position: absolute;
  top: 0; left: 0;
  transform: translateY(-55%);
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  font-size: .82em;
  color: #999;
  background: #fff;
  padding: 0 .35em;
}

/* 段落：更平稳的行距与尾距，中文排版细节 */
.section-final .final-columns p{
  margin: 0 0 .8em 0;
  text-wrap: pretty;
  hanging-punctuation: first allow-end;
}






/* 简单可靠的“总结”高亮：标题精确匹配 */
.section-final .final-sub:where(:not(.x))::after{ content:""; }
.section-final .final-sub:where(:not(.x)) + p { background: none; }
.section-final .final-sub{ text-transform: none; }
/* 用属性选择器更稳：如果你愿意，可在“总结”标题上加 data-emphasis="true" */
.section-final .final-sub[data-emphasis="true"]{
  border-top-color: rgba(0,0,0,.1);
}
.section-final .final-sub[data-emphasis="true"] + p{
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(0,0,0,.06);
  padding: .8em .9em;
  border-radius: 8px;
  box-shadow: 0 1px 0 rgba(255,255,255,.6) inset;
  break-inside: avoid;
}

/* 更紧凑的高分辨率显示 */
@media (min-width:1400px){
  .section-final .final-columns{ font-size: 16px; column-gap: 60px; }
}

/* 平板与手机：单栏、更大行距、更大的标题 */
@media (max-width: 768px){
  .section-final .final-columns{
    column-count: 1;
    line-height: 1.95;
    font-size: clamp(14px, 4.2vw, 16px);
  }
  .section-final .final-sub{
    font-size: clamp(16px, 5vw, 18px);
    margin: 12px 0 6px;
  }
}

/* ===== 最终设计：3 列文本卡片网格 ===== */
.final-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)); /* 每行 3 列 */
  gap: clamp(14px, 2.6vw, 24px);
}

.final-card{
  background:#fff;
  border:1px solid rgba(255, 255, 255, 0.16);
  border-radius: 12px;
  padding: clamp(14px, 2vw, 18px);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.55) inset,
    0 10px 22px rgba(255, 255, 255, 0.05);
  display:flex;
  flex-direction:column;
  gap: .5em;
}

.final-card-title{
  margin:0;
  font-weight:800;
  font-size: clamp(16px, 1.3vw, 20px);
  line-height:1.35;
  letter-spacing:-.005em;
}

.final-card p{
  margin:0;
  color:#202020;
  line-height:1.8;
  font-size: clamp(14px, 1.05vw, 16px);
  text-wrap: pretty;
}

/* 强调卡片（如“总结”） */
.final-card-accent{
  background: linear-gradient(180deg,#fbfbfc, #f6f8fb);
  border-color: rgba(255, 255, 255, 0.22);
}

/* 断点：<=1200px 改为 2 列；<=680px 改为 1 列 */
@media (max-width:1200px){
  .final-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width:680px){
  .final-grid{ grid-template-columns: 1fr; }
  .final-card{ border-radius:10px; }
}

/* === 最终设计：统一为纯白配色 === */
.section-final .final-box{
  background:#fff !important;
  border:1px solid rgba(120,130,150,.16);
  box-shadow:0 10px 22px rgba(17,18,20,.05);
}

.section-final .final-card,
.section-final .final-card-accent{          /* 取消强调卡的渐变 */
  background:#fff !important;
  border:1px solid rgba(120,130,150,.16);
  box-shadow:
    0 1px 0 rgba(255,255,255,.55) inset,
    0 10px 22px rgba(17,18,20,.05);
}

/* 大图保持白底 */
.section-final .final-img{
  background:#fff !important;
}

/* === Book Choice Section · 栅格区域命名（桌面与移动） === */
.section-choose .choose-grid{
  display: grid;
  grid-template-columns: minmax(0,1.35fr) minmax(0,.65fr);
  grid-template-areas:
    "head  fig"
    "body  fig";
  gap: clamp(16px, 3vw, 40px);
  align-items: start;
}
.section-choose .choose-head   { grid-area: head; }
.section-choose .choose-body   { grid-area: body; }
.section-choose .choose-figure { grid-area: fig;  }

/* 取消之前可能设置的 order，避免影响栅格区域顺序 */
.section-choose .choose-figure,
.section-choose .choose-body,
.section-choose .choose-head { order: initial; }

/* —— 移动端：改为纵向排列：标题 → 正文 → 图片 —— */
@media (max-width: 768px){
  .section-choose{ padding-block: clamp(22px, 6.5vw, 32px); }

  .section-choose .choose-grid{
    grid-template-columns: 1fr;
    grid-template-areas:
      "head"
      "body"
      "fig";
    gap: clamp(12px, 4.5vw, 18px);
  }

  .section-choose .choose-title{
    font-size: clamp(22px, 7vw, 28px);
  }
  .section-choose .choose-body{
    max-width: none;         /* 允许正文在小屏撑满容器 */
  }

  .section-choose .choose-img{
    width: 100%;
    height: auto;
    object-fit: contain;
  }
}


/* ========== 目标用户（3 列卡片网格） ========== */
.section-users{
  padding-block: clamp(36px, 8vw, 96px);
}
.users-title{
  margin: 0 0 clamp(12px, 2vw, 18px);
  font-weight: 800;
  font-size: var(--fs-h2, clamp(24px, 2.4vw, 40px));
  line-height: 1.2;
  letter-spacing: -.01em;
}

/* 网格：桌面三列 / 平板两列 / 手机单列 */
.user-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 3vw, 28px);
}

/* 卡片 */
.user-card{
  background:#fff;
  border:1px solid rgba(120,130,150,.16);
  border-radius: 14px;
  box-shadow:
    0 1px 0 rgba(255,255,255,.55) inset,
    0 10px 22px rgba(17,18,20,.05);
  display:flex;
  flex-direction:column;
}
.user-head{
  padding: clamp(10px, 1.6vw, 14px) clamp(12px, 1.8vw, 18px) 0;
}
.user-badge{
  display:inline-block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
  padding: 6px 10px;
  border-radius: 999px;
  background: #111;
  color:#fff;
}
.user-body{
  padding: clamp(12px, 2vw, 18px);
  display:grid;
  gap: .5em;
}
.user-sub{
  margin: .2em 0 .2em;
  font-weight: 800;
  font-size: clamp(14px, 1.1vw, 16px);
  line-height: 1.35;
}
.user-body p{
  margin: 0 0 .6em 0;
  color:#202020;
  line-height: 1.8;
  font-size: clamp(14px, 1.05vw, 16px);
  text-wrap: pretty;
}

/* 响应式断点 */
@media (max-width: 1200px){
  .user-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 768px){
  .section-users{ padding-block: clamp(22px, 6.5vw, 32px); }
  .users-title{ font-size: clamp(22px, 7vw, 28px); }
  .user-grid{ grid-template-columns: 1fr; }
  .user-sub{ font-size: clamp(15px, 5vw, 17px); }
  .user-body{ gap: .65em; }
}

/* ========== Process ========== */
.section-process{ padding-block: clamp(36px, 8vw, 96px); background: transparent; }
.proc-title{
  margin:0 0 .35em; font-weight:800;
  font-size: var(--fs-h2, clamp(24px, 2.4vw, 40px));
  line-height:1.2; letter-spacing:-.01em;
}
.proc-intro{ margin:0 0 clamp(12px,2vw,18px); line-height:1.8; color:#202020; }

/* 次级标题 */
.proc-sub{
  margin: clamp(18px,3vw,28px) 0 .6em;
  font-weight:800; font-size: clamp(18px,1.6vw,22px); line-height:1.3;
}

/* 白底说明盒 */
.proc-box{
  background:#fff; border:1px solid rgba(120,130,150,.16);
  border-radius:12px; padding: clamp(14px,2.2vw,20px);
  box-shadow: 0 1px 0 rgba(255,255,255,.55) inset, 0 10px 22px rgba(17,18,20,.05);
  color:#202020; line-height:1.85;
}

/* 图墙：3×2，自适应 */
.proc-gallery{
  display:grid; gap: clamp(12px,2vw,20px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.proc-fig{ margin:0; background:#fff; border:1px solid rgba(140,150,170,.22); border-radius:10px;
  box-shadow: 0 8px 20px rgba(17,18,20,.06); overflow:hidden; }
.proc-fig img{ display:block; width:100%; height:auto; object-fit:contain; }

/* 100vw 全宽图片（水平/垂直草图） */
.proc-bleed{ margin: clamp(14px,3vw,28px) 0; }
.proc-bleed-img{
  display:block; width:100vw; max-width:100vw; height:auto; object-fit:contain;
  background:#fff; border-top:1px solid rgba(140,150,170,.18); border-bottom:1px solid rgba(140,150,170,.18);
  margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
  box-shadow: 0 8px 20px rgba(17,18,20,.06);
}

/* 水平草图说明：白底两列卡片（自动换行） */
.proc-notes{
  display:grid; gap: clamp(12px,2vw,18px);
  grid-template-columns: repeat(2, minmax(0,1fr));
}
.proc-notes .note{
  background:#fff; border:1px solid rgba(120,130,150,.14);
  border-radius:10px; padding: clamp(12px,2vw,16px);
  box-shadow: 0 1px 0 rgba(255,255,255,.55) inset, 0 8px 18px rgba(17,18,20,.05);
}
.proc-notes h4{ margin:0 0 .35em; font-weight:800; font-size: clamp(15px,1.2vw,18px); }
.proc-notes p{ margin:0; }

/* 垂直草图说明：有序列表优化 */
.note-list{
  margin:.2em 0 0 1.2em; padding:0; font-size: inherit; line-height:1.85;
}
.note-list li{ margin:.3em 0; }

/* 响应式 */
@media (max-width:1200px){
  .proc-gallery{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .proc-notes{ grid-template-columns: 1fr; }
}
@media (max-width:768px){
  .section-process{ padding-block: clamp(22px,6.5vw,32px); }
  .proc-title{ font-size: clamp(22px,7vw,28px); }
  .proc-bleed-img{ border-top:0; border-bottom:0; }
  .proc-gallery{ grid-template-columns: 1fr; }
}

/* 移动端：超宽图保持 1 屏高度（仍等比显示） */
@media (max-width: 768px){
  .proc-bleed{ margin: 0; }
  .proc-bleed-img{
    /* 仍然铺满宽度，并把盒子高度设为 1 屏 */
    width: 100vw;
    height: 80vh;      /* 回退 */
    height: 80vh;     /* 更准确的“可视区高度”，新浏览器优先 */
    object-fit: contain;/* 等比完整显示，不裁切 */
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    border-top: 0;      /* 小屏更干净 */
    border-bottom: 0;
    box-shadow: none;
  }
}
/* 移动端：超宽图加高，并允许水平滚动查看全图 */
@media (max-width: 768px){
  .proc-bleed{
    position: relative;
    width: 100vw;
    margin: 0;
    overflow-x: auto;          /* 关键：允许左右滑动 */
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    background: #fff;
    border: 0;
  }
  .proc-bleed-img{
    /* 容器内加高显示，宽度自适应超出视口，从而可横向滑动 */
    height: 80svh;            /* 新浏览器：约 1.2 屏高 */
    height: 80vh;             /* 旧浏览器回退 */
    width: auto;               /* 让宽度随高度等比放大——会超出视口，从而可滚动 */
    max-width: none;           /* 取消最大宽度限制 */
    object-fit: contain;
    display: block;
    margin: 0;                 /* 取消左右对齐 hack */
    box-shadow: none;
    border: 0;
  }

  /* 小提示（可删）：告诉用户可左右滑动 */
  .proc-bleed::after{
    content: "↔︎ 滑动查看全图";
    position: absolute;
    right: 10px; bottom: 10px;
    font-size: 12px; color: #666;
    background: rgba(255,255,255,.9);
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 999px;
    padding: 4px 8px;
  }
}

/* ========== 最终迭代&可用性测试 ========== */
.section-iterate{ padding-block: clamp(36px, 8vw, 96px); }
.iter-title{
  margin: 0 0 .35em;
  font-weight: 800;
  font-size: var(--fs-h2, clamp(24px, 2.4vw, 40px));
  line-height: 1.2; letter-spacing: -.01em;
}
.iter-box{
  background:#fff;
  border:1px solid rgba(120,130,150,.16);
  border-radius:12px;
  padding: clamp(14px, 2.2vw, 20px);
  box-shadow: 0 1px 0 rgba(255,255,255,.55) inset,
              0 10px 22px rgba(17,18,20,.05);
  color:#202020; line-height:1.85;
}
.section-iterate p{ margin: 0 0 .8em; }

@media (max-width:768px){
  .section-iterate{ padding-block: clamp(22px, 6.5vw, 32px); }
  .iter-title{ font-size: clamp(22px, 7vw, 28px); }
}
/* 只把带 .is-normal 的超宽图改回“正常图片”尺寸 */
.section-iterate .proc-bleed.is-normal{
  width: auto !important;
  margin: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  box-shadow: none !important;
}
.section-iterate .proc-bleed.is-normal .proc-bleed-img{
  width: 100% !important;        /* 自适应容器宽 */
  max-width: 100% !important;
  height: auto !important;       /* 保持等比 */
  object-fit: contain !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* 仅针对 迭代区 的“普通图”做固定屏高展示 */
.section-iterate .proc-bleed.is-normal{
  width: 100% !important;        /* 回到跟随版心 */
  max-width: 100% !important;
  margin: 0 auto !important;
  height: 50vh;                   /* 桌面端：占据 50% 屏幕高度 */
  height: 50svh;                  /* 新浏览器更准确的视口高度 */
  overflow: hidden;               /* 防止图像溢出 */
  border: 0 !important;
  box-shadow: none !important;
}
.section-iterate .proc-bleed.is-normal .proc-bleed-img{
  width: 100% !important;         /* 让图片填满容器宽 */
  height: 100% !important;        /* 等比铺满容器高 */
  object-fit: contain !important; /* 保持比例显示完整图 */
  display: block;
  margin: 0 auto;
}

/* 移动端：占据 80% 屏幕高度 */
@media (max-width: 768px){
  .section-iterate .proc-bleed.is-normal{
    height: 80vh;
    height: 80svh;
  }
}
