/* ============= 基础 ============= */
*,*::before,*::after { box-sizing: border-box; }
html,body { margin:0; padding:0; }
html { scroll-behavior: smooth; }

:root{
  --bg:#0a0a0a;
  --bg-2:#111111;
  --ink:#f4f1ea;
  --ink-dim:#9a958c;
  --ink-faint:#5a574f;
  --orange:#ff4a1c;
  --orange-2:#ff6a3d;
  --line:rgba(255,255,255,.08);
  --card:#161514;
  --card-2:#1d1c1a;
  --maxw:1280px;
}

body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter', system-ui, -apple-system, "PingFang SC","Microsoft Yahei", sans-serif;
  font-weight:400;
  line-height:1.5;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

/* ============= 背景纹理 ============= */
.bg-texture{
  position:fixed; inset:0; z-index:-2;
  background:
    radial-gradient(1200px 600px at 20% -10%, rgba(255,74,28,.10), transparent 60%),
    radial-gradient(900px 500px at 110% 10%, rgba(255,255,255,.04), transparent 60%),
    linear-gradient(180deg, #0b0b0b 0%, #0a0a0a 100%);
}
.bg-vignette{
  position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,.02) 0 2px, transparent 2px 7px);
  mix-blend-mode:overlay;
  opacity:.6;
}

/* 品牌签名:贯穿全页的「缝线」(Yesseam = the seam) */
.side-rail{
  position:fixed; top:0; right:0; bottom:0;
  width:16px; z-index:50; pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(255,74,28,.06));
}
.side-rail::before{   /* 居中的针脚缝线 */
  content:""; position:absolute; top:0; bottom:0; left:50%; width:2px; transform:translateX(-50%);
  background:repeating-linear-gradient(180deg, var(--orange) 0 11px, transparent 11px 22px);
  box-shadow:0 0 14px rgba(255,74,28,.5);
}
.side-rail::after{    /* 缝线起针的小结 */
  content:""; position:absolute; top:18px; left:50%; width:7px; height:7px; transform:translateX(-50%);
  border-radius:50%; background:var(--orange); box-shadow:0 0 12px rgba(255,74,28,.7);
}

/* ============= 顶部导航 ============= */
.topbar{
  position:fixed; top:0; left:0; right:6px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:22px 36px;
  z-index:40;
  background:linear-gradient(180deg, rgba(10,10,10,.85), rgba(10,10,10,0));
  backdrop-filter: blur(8px);
}
.brand{
  font-family:'JetBrains Mono', monospace;
  font-size:12px;
  letter-spacing:.22em;
  color:var(--ink);
  font-weight:500;
}
.menu-trigger{
  justify-self:center;
  background:none; border:none; color:var(--ink);
  display:flex; flex-direction:column; align-items:center; gap:6px;
  cursor:pointer; padding:6px 14px;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.3em;
}
.menu-bar{
  width:46px; height:1px; background:var(--ink);
  transition:width .3s ease;
}
.menu-trigger:hover .menu-bar{ width:64px; background:var(--orange); }
.menu-label{ color:var(--ink); }
.cta-link{
  justify-self:end;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.3em;
  color:var(--ink); text-decoration:none;
  padding:8px 0;
  border-bottom:1px solid transparent;
  transition:.2s;
}
.cta-link:hover{ color:var(--orange); border-color:var(--orange); }

/* ============= 全屏菜单 ============= */
.fullmenu{
  position:fixed; inset:0;
  background:rgba(8,8,8,.96);
  backdrop-filter:blur(20px);
  z-index:100;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  opacity:0; pointer-events:none;
  transition:opacity .35s ease;
}
.fullmenu.open{ opacity:1; pointer-events:auto; }
.menu-close{
  position:absolute; top:22px; left:50%; transform:translateX(-50%);
  background:none; border:none; color:var(--ink);
  display:flex; flex-direction:column; align-items:center; gap:6px;
  cursor:pointer;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.3em;
}
.menu-list{
  list-style:none; padding:0; margin:0;
  text-align:center;
}
.menu-list li{ margin:8px 0; }
.menu-list a{
  font-family:'Inter', sans-serif;
  font-size:clamp(36px, 6vw, 78px);
  font-weight:300;
  letter-spacing:.04em;
  color:var(--ink);
  text-decoration:none;
  position:relative;
  transition:.3s;
  display:inline-block;
}
.menu-list a::before{
  content:attr(data-i);
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.2em;
  color:var(--orange);
  position:absolute; top:18%; left:-46px;
  opacity:0; transition:.3s;
}
.menu-list a:hover{ color:var(--orange); letter-spacing:.08em; }
.menu-list a:hover::before{ opacity:1; left:-58px; }
.menu-foot{
  position:absolute; bottom:36px; left:0; right:0;
  display:flex; justify-content:space-between;
  padding:0 60px;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.25em;
  color:var(--ink-faint);
}

/* ============= HERO ============= */
.hero{
  min-height:100vh;
  display:grid;
  grid-template-rows:auto 1fr auto;
  padding:120px 60px 50px;
  position:relative;
  overflow:hidden;
}
.hero-stage{
  position:absolute; inset:0; z-index:0;
  overflow:hidden;
}
.hero-clip{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  opacity:0;
  transition:opacity 1.8s ease;   /* 只做交叉淡入,镜头本身纹丝不动 → 不晃 */
  will-change:opacity;
}
.hero-clip.active{ opacity:1; }

.hero-mask{
  position:absolute; inset:0; z-index:1;
  background:
    /* 标题正后方一圈柔和暗晕,保证白字可读;四周让明亮车间透出来 */
    radial-gradient(74% 56% at 50% 50%, rgba(6,7,9,.66) 0%, rgba(6,7,9,.34) 50%, transparent 80%),
    linear-gradient(180deg, rgba(8,8,9,.52) 0%, rgba(8,8,9,.10) 20%, rgba(8,8,9,.24) 58%, rgba(8,8,9,.90) 100%);
}
.hero > *:not(.hero-stage):not(.hero-mask){ position:relative; z-index:2; }

/* hero 文字也随镜头淡入淡出,呼应"一直在变换" */
.hero-title .word{
  display:inline-block;
  transition:opacity .8s ease, transform .8s ease;
}
.hero-sub{ transition:opacity .8s ease; }
.hero-title.swap .word{ opacity:0; transform:translateY(20px); }
.hero-sub.swap{ opacity:0; }
.hero-meta{
  display:flex; justify-content:space-between;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.3em;
  color:#b8b2a7;
}
.hero-meta.bottom{ justify-content:center; }

.hero-title{
  margin:0;
  align-self:center;
  text-align:center;
  font-family:'Inter', sans-serif;
  font-weight:200;
  font-size:clamp(96px, 18vw, 260px);
  line-height:.9;
  letter-spacing:-.04em;
  color:var(--ink);
}
.hero-title .word{
  display:inline-block;
  animation: rise 1.2s cubic-bezier(.2,.8,.2,1) both;
}
.hero-sub{
  text-align:center;
  margin:14px 0 0;
  font-family:'JetBrains Mono', monospace;
  letter-spacing:.4em;
  font-size:12px;
  color:var(--ink-dim);
  animation: fade .9s .35s both;
}

.scroll-cue{
  display:flex; flex-direction:column; align-items:center; gap:14px;
  color:var(--ink-dim);
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.3em;
  animation: fade 1s .6s both;
}
.mouse{
  width:18px; height:28px;
  border:1px solid var(--ink-dim);
  border-radius:12px;
  display:inline-flex; justify-content:center; padding-top:5px;
}
.dot{
  width:2px; height:6px; background:var(--ink-dim);
  border-radius:1px;
  animation: dotmove 1.6s infinite;
}

@keyframes dotmove{
  0%{ transform:translateY(0); opacity:1; }
  60%{ transform:translateY(8px); opacity:0; }
  100%{ transform:translateY(0); opacity:0; }
}
@keyframes rise{
  from{ transform:translateY(40px); opacity:0; }
  to{ transform:translateY(0); opacity:1; }
}
@keyframes fade{
  from{ opacity:0; transform:translateY(8px); }
  to{ opacity:1; transform:translateY(0); }
}

/* ============= 通用 card / 标签 ============= */
.eyebrow{
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.4em;
  color:var(--ink-dim);
  display:inline-block;
  margin-bottom:30px;
}
.eyebrow-orange{ color:var(--orange); }

.card{
  background:linear-gradient(180deg, var(--card) 0%, var(--card-2) 100%);
  border:1px solid var(--line);
  border-radius:18px;
  padding:80px 80px;
  max-width:1100px;
  margin:0 auto;
  box-shadow:
    0 30px 80px rgba(0,0,0,.5),
    inset 0 1px 0 rgba(255,255,255,.03);
  position:relative;
  overflow:hidden;
}
.card.center{ text-align:center; }
.card::after{
  content:""; position:absolute;
  top:0; right:0; width:4px; height:60px;
  background:var(--orange);
  border-radius:0 0 0 4px;
}

.big-copy{
  margin:0 0 36px;
  font-family:'Inter', sans-serif;
  font-weight:300;
  font-size:clamp(20px, 2.6vw, 38px);
  line-height:1.25;
  letter-spacing:.005em;
  text-transform:uppercase;
  color:var(--ink);
}

.btn-orange{
  display:inline-block;
  padding:16px 38px;
  background:var(--orange);
  color:#fff;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.35em;
  text-decoration:none;
  border-radius:4px;
  transition:.25s;
  box-shadow:0 10px 30px rgba(255,74,28,.35);
}
.btn-orange:hover{
  background:var(--orange-2);
  transform:translateY(-2px);
  box-shadow:0 16px 40px rgba(255,74,28,.5);
}
.btn-lg{ padding:20px 48px; font-size:12px; }

/* ============= ABOUT ============= */
.about{
  padding:140px 60px 100px;
  position:relative;
  overflow:hidden;
}
.bg-video{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  z-index:0;
  filter:brightness(.86) saturate(.98);   /* 明亮可信,不再灰暗;无运镜 */
}
.about-mask{
  position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(180deg, var(--bg) 0%, rgba(10,10,10,.28) 22%, rgba(10,10,10,.3) 78%, var(--bg) 100%);
}
/* 视频上的卡片改成更通透的毛玻璃 → 充分露出工厂视频 */
.about .card, .cta .card{
  background:rgba(10,10,12,.26);
  -webkit-backdrop-filter:blur(9px) saturate(1.05);
  backdrop-filter:blur(9px) saturate(1.05);
  border-color:rgba(255,255,255,.12);
}
.about .card .big-copy, .cta .card .big-copy, .about .card .lead, .cta .card .cta-sub{ text-shadow:0 2px 22px rgba(0,0,0,.75); }
.about > .card{ position:relative; z-index:2; }

/* ============= WHAT WE DO / Slider ============= */
.what{ padding:60px 60px 140px; }
.slider{
  max-width:1100px; margin:0 auto;
  background:linear-gradient(180deg, var(--card) 0%, var(--card-2) 100%);
  border:1px solid var(--line);
  border-radius:18px;
  padding:50px 60px 60px;
  position:relative;
  box-shadow:0 30px 80px rgba(0,0,0,.5);
}
.slider::after{
  content:""; position:absolute;
  top:0; right:0; width:4px; height:60px;
  background:var(--orange);
  border-radius:0 0 0 4px;
}
.slider-head{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:36px;
}
.slider-head .eyebrow{ margin:0; }
.slider-nav{ display:flex; gap:8px; }
.snav{
  width:40px; height:40px;
  border:1px solid var(--line);
  background:transparent;
  color:var(--ink-dim);
  border-radius:50%;
  font-size:18px; cursor:pointer;
  transition:.2s;
}
.snav:hover{ color:var(--orange); border-color:var(--orange); }
.slider-count{
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.3em;
  color:var(--ink-dim);
}
.slider-count #sCur{ color:var(--orange); }

.slides{
  position:relative;
  height:560px;
  border-radius:14px;
  overflow:hidden;
  background:#0a0a0a;
}
.slide{
  position:absolute; inset:0;
  opacity:0;
  transition:opacity .7s ease;
  pointer-events:none;
}
.slide.active{ opacity:1; pointer-events:auto; }
.slide-media{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  z-index:0;
  /* 视频本身已是明亮基调,这里只做轻微提色,不再大幅提亮 */
  filter:saturate(1.04) contrast(1.02);
}
.slide-mask{
  position:absolute; inset:0; z-index:1;
  /* 只压底部文字区,中上部让画面透出来 */
  background:
    linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.05) 45%, rgba(0,0,0,.55) 78%, rgba(0,0,0,.9) 100%);
}
.slide-body{
  position:absolute; left:0; right:0; bottom:0;
  z-index:2;
  padding:42px 50px 46px;
  display:flex; flex-direction:column; gap:10px;
}
.slide-tag{
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.3em;
  color:var(--orange);
}
.slide-body h3{
  font-family:'Inter', sans-serif;
  font-weight:300;
  font-size:clamp(28px,3vw,46px);
  letter-spacing:.02em;
  margin:0;
  text-transform:uppercase;
  color:var(--ink);
}
.slide-body p{
  color:rgba(244,241,234,.82);
  font-size:15px; line-height:1.7;
  max-width:56ch;
  margin:6px 0 0;
}

/* ============= NUMBERS ============= */
.numbers{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--line);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  margin:0 0 0 0;
}
.num{
  background:var(--bg);
  padding:60px 36px;
  display:flex; flex-direction:column; gap:14px;
}
.num .n{
  font-family:'Inter', sans-serif;
  font-weight:200;
  font-size:clamp(56px, 7vw, 110px);
  line-height:.9;
  letter-spacing:-.04em;
  color:var(--ink);
  display:flex; align-items:flex-start; gap:8px;
}
.num .n small{
  font-size:.25em;
  font-family:'JetBrains Mono', monospace;
  letter-spacing:.2em;
  color:var(--orange);
  margin-top:.4em;
}
.num .l{
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.3em;
  color:var(--ink-dim);
  line-height:1.6;
}

/* ============= FABRIC LIB ============= */
.fabric-lib{ padding:140px 60px; max-width:var(--maxw); margin:0 auto; }
.lib-head{ margin-bottom:60px; }
.lib-head h2{
  font-family:'Inter', sans-serif;
  font-weight:200;
  font-size:clamp(40px, 6vw, 84px);
  line-height:1;
  letter-spacing:-.03em;
  margin:14px 0 0;
}
.lib-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
}
.lib-card{
  background:var(--bg);
  padding:40px 30px 50px;
  display:flex; flex-direction:column; gap:14px;
  transition:.3s;
}
.lib-card:hover{ background:#0e0d0d; }
.lib-num{
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.3em;
  color:var(--orange);
}
.lib-card h4{
  margin:6px 0 6px;
  font-family:'Inter', sans-serif;
  font-weight:400;
  font-size:24px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.lib-card p{
  color:var(--ink-dim);
  font-size:14px;
  margin:0;
}

/* ============= CTA ============= */
.cta{
  padding:60px 60px 140px;
  position:relative;
  overflow:hidden;
}
.cta .bg-video{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  z-index:0;
  filter:saturate(.95) brightness(.78);
}
.cta-mask{
  position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(180deg, var(--bg) 0%, rgba(10,10,10,.32) 26%, rgba(10,10,10,.34) 74%, var(--bg) 100%);
}
.cta > .card{ position:relative; z-index:2; }
.cta-card{ padding:100px 60px; }
.cta-card .big-copy{
  font-size:clamp(36px, 5.5vw, 76px);
  font-weight:200;
  letter-spacing:-.02em;
  margin-bottom:14px;
}
.cta-sub{
  color:#cdc7bc;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.26em;
  line-height:2;
  margin:0 0 40px;
  text-shadow:0 1px 14px rgba(0,0,0,.85);
}

/* ============= FOOTER ============= */
.foot{
  padding:50px 60px 70px;
  border-top:1px solid var(--line);
}
.foot-row{
  display:flex; justify-content:space-between; align-items:center;
  padding:18px 0;
}
.foot-row.small{
  border-top:1px solid var(--line);
  font-family:'JetBrains Mono', monospace;
  font-size:10px; letter-spacing:.25em;
  color:var(--ink-faint);
}
.foot-meta{
  display:flex; gap:36px;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.25em;
  color:var(--ink-dim);
}

/* ============= 可访问性 ============= */
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* ============= HERO 文案块 ============= */
.hero-center{
  align-self:center;
  display:flex; flex-direction:column; align-items:center; text-align:center;
  gap:20px;
}
.hero-motif{
  font-family:'Inter', sans-serif;
  font-weight:200;
  font-size:clamp(64px, 11vw, 172px);
  line-height:.9; letter-spacing:-.04em;
  color:var(--ink);
}
.hero-motif #heroWord{
  display:inline-block;
  transition:opacity .8s ease, transform .8s ease;
  animation: rise 1.2s cubic-bezier(.2,.8,.2,1) both;
}
.hero-motif.swap #heroWord{ opacity:0; transform:translateY(18px); }
.hero-h1{
  margin:0;
  font-family:'Inter', sans-serif;
  font-weight:300;
  font-size:clamp(22px, 3.1vw, 40px);
  letter-spacing:.01em; line-height:1.15;
  color:var(--ink);
  animation: fade .9s .3s both;
}
.hero-pos{
  margin:0;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.26em; line-height:1.6;
  color:var(--orange);
  animation: fade .9s .4s both;
  text-shadow:0 2px 16px rgba(0,0,0,.7);
}
.hero-motif{ text-shadow:0 4px 30px rgba(0,0,0,.55); }
.hero-h1{ text-shadow:0 2px 20px rgba(0,0,0,.6); }
.hero-tagline{
  margin:0; max-width:42ch;
  font-family:'JetBrains Mono', monospace;
  font-size:12.5px; letter-spacing:.12em; line-height:1.75;
  color:#e9e5dc;
  text-shadow:0 1px 16px rgba(0,0,0,.92), 0 0 2px rgba(0,0,0,.55);
  animation: fade .9s .5s both;
}
.hero-btn{ margin-top:10px; animation: fade .9s .6s both; }
/* 转化保证行 */
.hero-reassure{
  display:flex; flex-wrap:wrap; justify-content:center; gap:10px 22px; margin:4px 0 0;
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.12em; color:var(--ink-dim);
  animation: fade .9s .75s both; text-shadow:0 1px 10px rgba(0,0,0,.6);
}
.hero-reassure span{ display:inline-flex; align-items:center; gap:7px; }
.hero-reassure b{ color:var(--orange); font-weight:600; }

/* ============= 通用段落 / 段头 ============= */
.lead{
  font-size:16px; line-height:1.8;
  color:var(--ink-dim);
  max-width:62ch; margin:26px auto 34px;
}
.about .lead, .serve .lead{ margin-left:auto; margin-right:auto; }
.sec-head{
  max-width:var(--maxw); margin:0 auto 56px;
}
.sec-head h2{
  font-family:'Inter', sans-serif;
  font-weight:200;
  font-size:clamp(34px, 5vw, 72px);
  line-height:1.02; letter-spacing:-.03em;
  margin:14px 0 0;
}
.sec-head .lead{ margin:22px 0 0; }

/* ============= SERVICES ============= */
.services{ padding:140px 60px; max-width:var(--maxw); margin:0 auto; }
.svc-grid{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px; background:var(--line);
  border:1px solid var(--line); border-radius:14px; overflow:hidden;
}
.svc{ background:var(--bg); padding:44px 36px 50px; transition:.3s; }
.svc:hover{ background:#0e0d0d; }
.svc-num{
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.3em; color:var(--orange);
}
.svc h3{
  margin:14px 0 12px;
  font-family:'Inter', sans-serif; font-weight:400; font-size:22px;
  letter-spacing:.01em; color:var(--ink);
}
.svc p{ margin:0; color:var(--ink-dim); font-size:14.5px; line-height:1.7; }

/* ============= PROCESS ============= */
.process{ padding:60px 60px 140px; max-width:var(--maxw); margin:0 auto; }
.steps{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(5,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
  border-radius:14px; overflow:hidden; counter-reset:step;
}
.step{ background:var(--bg); padding:40px 26px 46px; }
.step-n{
  font-family:'JetBrains Mono', monospace;
  font-size:13px; letter-spacing:.2em; color:var(--orange);
  display:block; margin-bottom:18px;
}
.step h3{
  margin:0 0 10px;
  font-family:'Inter', sans-serif; font-weight:500; font-size:17px;
  color:var(--ink);
}
.step p{ margin:0; color:var(--ink-dim); font-size:13.5px; line-height:1.65; }

/* ============= WHO WE SERVE ============= */
.serve{ padding:60px 60px 140px; }
.serve-card{ max-width:1000px; text-align:center; }
.serve-card .big-copy{ font-size:clamp(26px,3.4vw,46px); margin-bottom:0; }
.serve-list{
  list-style:none; padding:0; margin:32px auto 0; max-width:680px;
  display:grid; grid-template-columns:1fr 1fr; gap:14px 32px; text-align:left;
}
.serve-list li{
  position:relative; padding-left:28px;
  font-size:15px; color:var(--ink); line-height:1.5;
}
.serve-list li::before{
  content:"›"; position:absolute; left:6px; top:0;
  color:var(--orange); font-weight:600;
}

/* ============= FAQ ============= */
.faq{ padding:60px 60px 140px; max-width:980px; margin:0 auto; }
.faq-list{ border-top:1px solid var(--line); }
.faq-item{ border-bottom:1px solid var(--line); }
.faq-q{
  list-style:none; cursor:pointer;
  padding:26px 44px 26px 0; position:relative;
  font-family:'Inter', sans-serif; font-weight:400;
  font-size:clamp(17px,2vw,21px); color:var(--ink);
}
.faq-q::-webkit-details-marker{ display:none; }
.faq-q::after{
  content:"+"; position:absolute; right:6px; top:24px;
  font-weight:300; font-size:24px; color:var(--orange);
  transition:transform .3s ease;
}
.faq-item[open] .faq-q::after{ transform:rotate(45deg); }
.faq-a{ padding:0 44px 28px 0; }
.faq-a p{ margin:0; color:var(--ink-dim); font-size:15.5px; line-height:1.8; }
.faq-a a{ color:var(--orange); text-decoration:none; border-bottom:1px solid var(--orange); }

/* ============= FOOTER 扩展 ============= */
.foot-grid{
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px;
  padding:20px 0 50px;
}
.foot-col{ display:flex; flex-direction:column; gap:12px; }
.foot-col h4{
  margin:0 0 6px;
  font-family:'JetBrains Mono', monospace; font-weight:500;
  font-size:11px; letter-spacing:.25em; color:var(--ink-faint); text-transform:uppercase;
}
.foot-col a, .foot-col span{
  color:var(--ink-dim); text-decoration:none; font-size:14px; line-height:1.5;
  transition:.2s;
}
.foot-col a:hover{ color:var(--orange); }
.foot-tag{ color:var(--ink-dim); font-size:13px; line-height:1.7; margin:10px 0 0; }
.foot-col address{ font-style:normal; display:flex; flex-direction:column; gap:12px; }

/* ============= 粘性收缩头部 ============= */
.topbar{ transition: padding .3s ease, background .3s ease, backdrop-filter .3s ease; }
.topbar.scrolled{
  padding-top:12px; padding-bottom:12px;
  background:rgba(10,10,10,.92);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(12px);
}
/* Hero 顶部 meta 可读性增强 */
.hero-meta{ text-shadow:0 1px 12px rgba(0,0,0,.7); }

/* ============= 信任条 ============= */
.trustbar{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:14px 40px;
  padding:22px 60px;
  border-bottom:1px solid var(--line);
  background:#0c0c0c;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.22em; color:var(--ink-dim);
}
.trustbar b{ color:var(--ink); font-weight:600; }
.trustbar .dot-sep{ color:var(--orange); }

/* ============= 浮动操作 ============= */
.floaters{ position:fixed; right:20px; bottom:22px; z-index:60; display:flex; flex-direction:column; gap:12px;
  transition:opacity .35s ease, transform .35s ease; }
.floaters.hide{ opacity:0; transform:translateY(20px); pointer-events:none; }   /* 表单在视口时自动让位,不挡内容 */
.floaters a{
  display:flex; align-items:center; gap:8px;
  padding:13px 18px; border-radius:40px;
  font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:.2em;
  text-decoration:none; color:#fff; box-shadow:0 10px 30px rgba(0,0,0,.45);
  transition:.2s;
}
.floaters a:hover{ transform:translateY(-2px); }
.float-quote{ background:var(--orange); }
.float-quote:hover{ background:var(--orange-2); }
.float-wa{ background:#25d366; }
.float-ico{ width:18px; height:18px; flex:none; }
@media (max-width:560px){ .floaters a span{ display:none; } .floaters a{ padding:14px; } }

/* ============= 品类网格(首页 What we make) ============= */
.cats{ padding:140px 60px; max-width:var(--maxw); margin:0 auto; }
.cat-grid{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px; background:var(--line); border:1px solid var(--line);
  border-radius:14px; overflow:hidden; margin-top:50px;
}
.cat{
  background:var(--bg); padding:40px 32px 46px; text-decoration:none; display:block;
  transition:.3s; position:relative;
}
.cat:hover{ background:#0e0d0d; }
.cat .cat-n{ font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:.3em; color:var(--orange); }
.cat h3{ margin:12px 0 10px; font-family:'Inter',sans-serif; font-weight:400; font-size:21px; color:var(--ink); letter-spacing:.01em; }
.cat p{ margin:0; color:var(--ink-dim); font-size:14px; line-height:1.65; }
.cat .cat-go{ margin-top:16px; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.2em; color:var(--ink-dim); transition:.2s; }
.cat:hover .cat-go{ color:var(--orange); }

/* ============= 子页:page-hero / 面包屑 / 正文排版 ============= */
.page-hero{
  padding:160px 60px 70px; max-width:var(--maxw); margin:0 auto;
  border-bottom:1px solid var(--line);
}
.breadcrumb{
  font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:.2em;
  color:var(--ink-faint); margin-bottom:26px;
}
.breadcrumb a{ color:var(--ink-dim); text-decoration:none; }
.breadcrumb a:hover{ color:var(--orange); }
.page-hero h1{
  margin:0; font-family:'Inter',sans-serif; font-weight:200;
  font-size:clamp(38px,6vw,84px); line-height:1.02; letter-spacing:-.03em;
}
.page-hero .lead{ margin:26px 0 0; max-width:70ch; }
.article{ max-width:860px; margin:0 auto; padding:80px 60px 40px; }
.article h2{
  font-family:'Inter',sans-serif; font-weight:300;
  font-size:clamp(26px,3.4vw,40px); letter-spacing:-.01em; line-height:1.15;
  margin:54px 0 18px;
}
.article h3{ font-family:'Inter',sans-serif; font-weight:500; font-size:20px; margin:34px 0 12px; color:var(--ink); }
.article p{ color:var(--ink-dim); font-size:16.5px; line-height:1.85; margin:0 0 18px; }
.article ul{ color:var(--ink-dim); font-size:16px; line-height:1.8; padding-left:0; list-style:none; margin:0 0 22px; }
.article ul li{ position:relative; padding-left:26px; margin-bottom:10px; }
.article ul li::before{ content:"›"; position:absolute; left:4px; color:var(--orange); font-weight:600; }
.article strong{ color:var(--ink); }
.article a{ color:var(--orange); text-decoration:none; border-bottom:1px solid rgba(255,74,28,.4); }
.kw-tags{ display:flex; flex-wrap:wrap; gap:10px; margin:8px 0 26px; }
.kw-tags span{
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.06em;
  color:var(--ink-dim); border:1px solid var(--line); border-radius:30px; padding:7px 14px;
}

/* ============= 表单(无后端 / Formspree) ============= */
.form-wrap{ max-width:640px; margin:40px auto 0; }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-grid .full{ grid-column:1 / -1; }
.field label{
  display:block; font-family:'JetBrains Mono',monospace; font-size:11px;
  letter-spacing:.2em; color:var(--ink-dim); margin-bottom:8px;
}
.field input, .field textarea, .field select{
  width:100%; background:#201d1b; border:1px solid rgba(255,255,255,.2); border-radius:8px;
  color:var(--ink); padding:15px 16px; font-family:'Inter',sans-serif; font-size:15px;
  transition:.2s;
}
.field input::placeholder, .field textarea::placeholder{ color:#8a857c; }
.field input:focus, .field textarea:focus, .field select:focus{
  outline:none; border-color:var(--orange); background:#26221f;
  box-shadow:0 0 0 3px rgba(255,74,28,.15);
}
.field textarea{ min-height:130px; resize:vertical; }
.form-wrap button{
  margin-top:18px; width:100%; border:none; cursor:pointer;
  padding:18px; background:var(--orange); color:#fff; border-radius:6px;
  font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.3em;
  transition:.2s;
}
.form-wrap button:hover{ background:var(--orange-2); transform:translateY(-2px); }
.form-note{ text-align:center; color:var(--ink-faint); font-size:12px; margin-top:16px; line-height:1.6; }

@media (max-width:900px){
  .trustbar{ padding:18px 22px; gap:10px 24px; }
  .cats{ padding:90px 22px; }
  .cat-grid{ grid-template-columns:1fr; }
  .page-hero{ padding:130px 22px 50px; }
  .article{ padding:50px 22px 30px; }
  .form-grid{ grid-template-columns:1fr; }
}

/* ============= 关键词跑马灯(动态/有记忆点)============= */
.marquee{
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  background:#0c0c0c; overflow:hidden; white-space:nowrap; padding:20px 0;
}
.marquee-track{ display:inline-flex; gap:0; animation:marq 38s linear infinite; }
.marquee:hover .marquee-track{ animation-play-state:paused; }
.marquee span{
  font-family:'Inter',sans-serif; font-weight:200;
  font-size:clamp(20px,3vw,40px); letter-spacing:-.01em;
  color:var(--ink); padding:0 28px; display:inline-flex; align-items:center;
}
.marquee span::after{ content:"·"; color:var(--orange); margin-left:56px; font-weight:400; }
@keyframes marq{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ============= 语言切换 ============= */
.lang-switch{ display:flex; gap:10px; align-items:center; }
.lang-switch a{
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.15em;
  color:var(--ink-faint); text-decoration:none; transition:.2s;
}
.lang-switch a:hover, .lang-switch a.active{ color:var(--orange); }
.menu-foot .lang-switch a{ font-size:12px; }

/* ============= ONE SEAM 品牌签名特写段 ============= */
.feature{
  position:relative; height:88vh; min-height:560px; overflow:hidden;
  display:flex; align-items:center;
}
.feature video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.feature .f-mask{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, rgba(8,8,9,.86) 0%, rgba(8,8,9,.5) 42%, rgba(8,8,9,.12) 70%, transparent 100%);
}
.feature .f-body{ position:relative; z-index:2; max-width:760px; padding:0 60px; }
.feature .eyebrow{ margin-bottom:18px; }
.feature h2{
  font-family:'Inter',sans-serif; font-weight:200;
  font-size:clamp(40px,6.5vw,92px); line-height:.98; letter-spacing:-.03em; margin:0;
}
.feature h2 em{ font-style:normal; color:var(--orange); }
.feature p{ color:rgba(244,241,234,.86); font-size:17px; line-height:1.8; max-width:46ch; margin:26px 0 30px; }
@media (max-width:760px){
  .feature{ height:auto; min-height:0; padding:90px 0; }
  .feature .f-mask{ background:linear-gradient(180deg, rgba(8,8,9,.4), rgba(8,8,9,.82)); }
  .feature .f-body{ padding:0 22px; }
}

/* ============= Lookbook 作品集 ============= */
.lookbook{ padding:140px 60px; max-width:var(--maxw); margin:0 auto; }
.lb-grid{
  display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin-top:50px;
}
.lb-card{
  position:relative; border-radius:12px; overflow:hidden;
  background:#141312; border:1px solid var(--line);
  aspect-ratio:1122/1402; display:block; text-decoration:none;
}
.lb-card img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .6s ease, filter .4s ease; filter:saturate(.98);
}
.lb-card:hover img{ transform:scale(1.06); }
.lb-cap{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  padding:18px 16px 16px;
  background:linear-gradient(180deg, transparent, rgba(0,0,0,.85));
}
.lb-cap .t{ display:block; color:#fff; font-size:13.5px; font-weight:500; line-height:1.3; }
.lb-cap .m{ display:block; color:var(--ink-dim); font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.12em; margin-top:6px; }
.lb-tag{
  position:absolute; top:12px; left:12px; z-index:2;
  font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.12em;
  color:#fff; background:rgba(255,74,28,.92); padding:5px 9px; border-radius:4px;
}
.lb-note{ text-align:center; color:var(--ink-faint); font-size:13px; margin-top:34px; }

@media (max-width:1000px){ .lb-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .lb-grid{ grid-template-columns:1fr 1fr; gap:10px; } .lookbook{ padding:90px 18px; } }

/* ============= 询盘价值钩子 ============= */
.inq-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:1px;
  background:var(--line); border:1px solid var(--line);
  border-radius:12px; overflow:hidden; max-width:780px;
  margin:8px auto 34px; text-align:left;
}
.inq{ background:rgba(16,15,14,.74); padding:24px 24px; }
.inq .ic{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.2em; color:var(--orange); }
.inq h4{ margin:10px 0 7px; font-family:'Inter',sans-serif; font-weight:500; font-size:15.5px; letter-spacing:.01em; color:var(--ink); }
.inq p{ margin:0; font-size:13px; line-height:1.65; color:#c4bdb2; }

/* 询盘引导横条(lookbook 之后) */
.inq-strip{
  max-width:var(--maxw); margin:0 auto; padding:0 60px 130px;
}
.inq-strip-inner{
  border:1px solid var(--line); border-radius:16px;
  background:linear-gradient(120deg, rgba(255,74,28,.12), rgba(20,19,18,.5));
  padding:46px 48px; display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap;
}
.inq-strip-inner h3{
  margin:0; font-family:'Inter',sans-serif; font-weight:300;
  font-size:clamp(22px,2.6vw,34px); line-height:1.2; letter-spacing:-.01em; color:var(--ink); max-width:22ch;
}
.inq-strip-inner p{ margin:8px 0 0; color:var(--ink-dim); font-size:14px; max-width:40ch; }
@media (max-width:760px){
  .inq-grid{ grid-template-columns:1fr; }
  .inq-strip{ padding:0 22px 90px; } .inq-strip-inner{ padding:32px 24px; flex-direction:column; align-items:flex-start; text-align:left; }
}

/* ============= 视觉升级:卡片微交互 / 时间轴 / 色样(可整段删除回退)============= */
/* 卡片悬停:顶部赤陶线展开 + 轻微上浮 + 序号点亮 */
.cat, .svc, .lib-card{ position:relative; overflow:hidden; transition:background .3s ease, transform .3s ease; }
.cat::after, .svc::after, .lib-card::after{
  content:""; position:absolute; top:0; left:0; height:2px; width:0; background:var(--orange); transition:width .45s cubic-bezier(.2,.8,.2,1);
}
.cat:hover, .svc:hover, .lib-card:hover{ transform:translateY(-4px); background:#100f0e; }
.cat:hover::after, .svc:hover::after, .lib-card:hover::after{ width:100%; }
.cat-n, .svc-num, .lib-num{ font-size:12px; transition:color .3s, letter-spacing .3s; }
.cat:hover .cat-n, .svc:hover .svc-num, .lib-card:hover .lib-num{ letter-spacing:.36em; }
.cat-go{ display:inline-flex; transition:color .25s, transform .35s ease; }
.cat:hover .cat-go{ transform:translateX(6px); }

/* 错峰渐入:网格内逐张上浮 */
.svc-grid .reveal:nth-child(2){ transition-delay:.07s }
.svc-grid .reveal:nth-child(3){ transition-delay:.14s }
.svc-grid .reveal:nth-child(4){ transition-delay:.21s }
.svc-grid .reveal:nth-child(5){ transition-delay:.28s }
.svc-grid .reveal:nth-child(6){ transition-delay:.35s }
.cat-grid .reveal:nth-child(2){ transition-delay:.07s }
.cat-grid .reveal:nth-child(3){ transition-delay:.14s }
.cat-grid .reveal:nth-child(4){ transition-delay:.21s }
.cat-grid .reveal:nth-child(5){ transition-delay:.28s }
.cat-grid .reveal:nth-child(6){ transition-delay:.35s }

/* Fabric Library:每张加面料色样条 */
.lib-card{ padding-top:54px; }
.lib-card::before{
  content:""; position:absolute; top:30px; left:30px; width:34px; height:8px; border-radius:4px;
  box-shadow:0 2px 8px rgba(0,0,0,.4);
}
.lib-card:nth-child(1)::before{ background:linear-gradient(90deg,#D8C6A8,#B89B72); }      /* NU-LUX 米驼 */
.lib-card:nth-child(2)::before{ background:linear-gradient(90deg,#CFE0E8,#9FB6C4); }      /* AIR-MESH 冷光 */
.lib-card:nth-child(3)::before{ background:linear-gradient(90deg,#8A8076,#5E564D); }      /* RIB-SEAMLESS 罗纹灰 */
.lib-card:nth-child(4)::before{ background:linear-gradient(90deg,#8FB082,#5F7E55); }      /* ECO-RECYCLE 环保绿 */

/* PROCESS:改成"缝线时间轴"(呼应 Yesseam = the seam) */
.process .steps{ background:transparent; border:0; border-radius:0; gap:0; overflow:visible; position:relative; }
.process .steps::before{
  content:""; position:absolute; top:20px; left:3%; right:3%; height:2px;
  background:repeating-linear-gradient(90deg, var(--orange) 0 7px, transparent 7px 17px); opacity:.5;
}
.process .step{ background:transparent; padding:56px 20px 0; position:relative; }
.process .step-n{
  position:absolute; top:5px; left:20px; margin:0;
  width:32px; height:32px; display:flex; align-items:center; justify-content:center;
  border-radius:50%; border:1px solid var(--orange); background:var(--bg);
  color:var(--orange); font-size:11px; letter-spacing:.1em;
  transition:background .3s, color .3s;
}
.process .step:hover .step-n{ background:var(--orange); color:#fff; }
@media (max-width:900px){
  .process .steps::before{ display:none; }
  .process .step{ padding:40px 20px; background:var(--card, #161514); border-radius:10px; margin-bottom:1px; }
  .process .step-n{ position:static; margin-bottom:16px; }
}

/* ============= 对比区:Why brands switch ============= */
.compare{ max-width:1100px; margin:0 auto; padding:40px 60px 130px; }
.cmp-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:46px; }
.cmp-col{ border:1px solid var(--line); border-radius:16px; padding:36px 32px; }
.cmp-col.them{ background:rgba(255,255,255,.015); }
.cmp-col.us{ background:linear-gradient(180deg, rgba(255,74,28,.1), rgba(20,19,18,.45)); border-color:rgba(255,74,28,.4); box-shadow:0 30px 80px rgba(0,0,0,.4); }
.cmp-col h3{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.25em; margin:0 0 24px; text-transform:uppercase; }
.cmp-col.them h3{ color:var(--ink-faint); }
.cmp-col.us h3{ color:var(--orange); }
.cmp-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:18px; }
.cmp-list li{ position:relative; padding-left:32px; font-size:15px; line-height:1.55; }
.cmp-col.them li{ color:var(--ink-dim); }
.cmp-col.us li{ color:var(--ink); }
.cmp-list li::before{ position:absolute; left:2px; top:0; font-size:15px; font-weight:700; }
.cmp-col.them li::before{ content:"\2715"; color:#6f5d54; }
.cmp-col.us li::before{ content:"\2713"; color:var(--orange); }
.cmp-cta{ text-align:center; margin-top:44px; }
@media (max-width:760px){ .compare{ padding:30px 22px 90px; } .cmp-grid{ grid-template-columns:1fr; } }

/* ============= Insights 博客列表 ============= */
.posts{ max-width:var(--maxw); margin:0 auto; padding:30px 60px 130px; }
.post-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.post{ background:var(--bg); padding:38px 32px 42px; text-decoration:none; display:flex; flex-direction:column; gap:14px; transition:background .3s, transform .3s; position:relative; }
.post:hover{ background:#100f0e; transform:translateY(-4px); }
.post .meta{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.2em; color:var(--orange); }
.post h3{ font-family:'Inter',sans-serif; font-weight:400; font-size:20px; line-height:1.28; color:var(--ink); margin:0; }
.post p{ color:var(--ink-dim); font-size:14px; line-height:1.65; margin:0; }
.post .more{ margin-top:auto; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.2em; color:var(--ink-dim); transition:.25s; }
.post:hover .more{ color:var(--orange); }
/* 文末 CTA */
.post-cta{ max-width:860px; margin:40px auto 0; border:1px solid var(--line); border-radius:16px; padding:40px 40px; text-align:center; background:linear-gradient(120deg, rgba(255,74,28,.1), rgba(20,19,18,.4)); }
.post-cta h3{ font-family:'Inter',sans-serif; font-weight:300; font-size:clamp(22px,2.6vw,30px); margin:0 0 10px; color:var(--ink); }
.post-cta p{ color:var(--ink-dim); font-size:14px; margin:0 0 24px; }
.article .tldr{ border-left:2px solid var(--orange); padding:6px 0 6px 20px; margin:0 0 26px; color:var(--ink); font-size:17px; line-height:1.7; }
.article table{ width:100%; border-collapse:collapse; margin:8px 0 26px; font-size:14.5px; }
.article table th, .article table td{ text-align:left; padding:13px 14px; border-bottom:1px solid var(--line); color:var(--ink-dim); }
.article table th{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.12em; color:var(--ink); text-transform:uppercase; }
.article table td:first-child{ color:var(--ink); }
.article table tr:last-child td{ border-bottom:0; }
.article table .tot td{ color:var(--orange); border-top:1px solid var(--orange); font-weight:600; }
@media (max-width:900px){ .posts{ padding:20px 22px 90px; } .post-grid{ grid-template-columns:1fr; } }

/* ============= 渐入 ============= */
.reveal{
  opacity:0; transform:translateY(30px);
  transition: opacity .9s ease, transform .9s ease;
}
.reveal.in{ opacity:1; transform:translateY(0); }

/* ============= 响应式 ============= */
@media (max-width: 900px){
  .topbar{ padding:18px 22px; }
  .hero{ padding:110px 22px 30px; }
  .hero-mask{
    background:
      radial-gradient(82% 52% at 50% 46%, rgba(6,7,9,.74) 0%, rgba(6,7,9,.42) 55%, transparent 88%),
      linear-gradient(180deg, rgba(8,8,9,.60) 0%, rgba(8,8,9,.32) 30%, rgba(8,8,9,.44) 66%, rgba(8,8,9,.92) 100%);
  }
  .hero-tagline{ font-size:12px; letter-spacing:.06em; color:#f1eee7; }
  .hero-meta{ font-size:10px; }
  .about, .what, .cta{ padding-left:22px; padding-right:22px; }
  .fabric-lib{ padding-left:22px; padding-right:22px; }
  .card, .slider{ padding:50px 28px; border-radius:14px; }
  .cta-card{ padding:60px 24px; }
  .slide{ grid-template-columns:1fr; gap:24px; }
  .slide-img{ height:240px; }
  .slides{ min-height:540px; }
  .numbers{ grid-template-columns:repeat(2,1fr); }
  .num{ padding:36px 22px; }
  .lib-grid{ grid-template-columns:repeat(2,1fr); }
  .foot-row{ flex-direction:column; gap:14px; text-align:center; }
  .foot-meta{ flex-direction:column; gap:8px; }
  .menu-foot{ padding:0 22px; flex-direction:column; gap:8px; align-items:center; }

  /* 新内容区 */
  .services, .process, .serve, .faq{ padding-left:22px; padding-right:22px; }
  .services, .process{ padding-top:90px; padding-bottom:90px; }
  .svc-grid{ grid-template-columns:1fr; }
  .steps{ grid-template-columns:1fr 1fr; }
  .serve-list{ grid-template-columns:1fr; }
  .foot-grid{ grid-template-columns:1fr 1fr; gap:30px; }
  .serve{ padding-bottom:90px; }
}
@media (max-width: 560px){
  .steps{ grid-template-columns:1fr; }
  .foot-grid{ grid-template-columns:1fr; }
}

/* ============= 工厂视频背景:服务 / 面料库 / 流程 (2026-06 新增) =============
   真实工厂素材已防抖 + 电影调色 + 放慢 (排布→服务, 纱线→面料库, 缝纫机→流程)。
   视频压在板块下层,四边渐隐融入背景,卡片改磨砂玻璃,文字加阴影确保可读。 */
.has-bg{ position:relative; overflow:hidden; isolation:isolate; }
.has-bg > .bg-video{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; z-index:0;
  filter:brightness(.7) saturate(.9) contrast(1.02);
}
.has-bg > .sec-mask{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(180deg, var(--bg) 0%, rgba(10,10,10,.5) 24%, rgba(10,10,10,.56) 76%, var(--bg) 100%),
    linear-gradient(90deg, var(--bg) 0%, rgba(10,10,10,0) 11%, rgba(10,10,10,0) 89%, var(--bg) 100%);
}
.has-bg > .sec-head,
.has-bg > .lib-head,
.has-bg > .svc-grid,
.has-bg > .lib-grid,
.has-bg > .steps,
.has-bg > .num{ position:relative; z-index:2; }

/* 数据 numbers 版块的视频背景:格子改半透,数字/标签压在视频上加阴影 */
.numbers.has-bg{ background:transparent; }
.has-bg .num{
  background:rgba(12,11,10,.5);
  -webkit-backdrop-filter:blur(8px) saturate(1.04);
  backdrop-filter:blur(8px) saturate(1.04);
}
.has-bg .num .n{ text-shadow:0 2px 20px rgba(0,0,0,.6); }
.has-bg .num .l{ color:#c7c2b9; text-shadow:0 1px 10px rgba(0,0,0,.78); }

/* 卡片 → 磨砂玻璃:透出工厂质感,又保证文字可读 */
.has-bg .svc,
.has-bg .lib-card{
  background:rgba(12,11,10,.56);
  -webkit-backdrop-filter:blur(9px) saturate(1.05);
  backdrop-filter:blur(9px) saturate(1.05);
}
.has-bg .svc:hover,
.has-bg .lib-card:hover{ background:rgba(20,19,17,.74); }
.has-bg .lib-grid{
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.14);
  -webkit-backdrop-filter:blur(2px);
  backdrop-filter:blur(2px);
}
/* 文字压在视频上 → 提亮 + 阴影 (沿用站点既有规律:dim 字配视频要加描边) */
.has-bg .svc h3,
.has-bg .lib-card h4,
.has-bg .step h3{ text-shadow:0 2px 16px rgba(0,0,0,.72); }
.has-bg .svc p,
.has-bg .lib-card p,
.has-bg .step p{ color:#c7c2b9; text-shadow:0 1px 12px rgba(0,0,0,.78); }
.has-bg .sec-head .lead{ text-shadow:0 2px 16px rgba(0,0,0,.6); }
