/* ========== 0) 变量 ========== */
:root{--brand:#0b2a4a;--accent:#f5b800;--text:#0c1520;--muted:#6b7785;--bg:#f5f7fb;--card:#fff;--maxw:1320px;--radius:16px;--shadow:0 10px 30px rgba(14,25,40,.08)}
/* ========== 1) 基础与通用 ========== */
*{box-sizing:border-box}
html,body{height:100%;overflow-x:hidden}
body{margin:0;font-family:Inter,Roboto,"Helvetica Neue",Arial,system-ui,-apple-system,Segoe UI,"Noto Sans",sans-serif;color:var(--text);background:var(--bg)}
a{color:inherit;text-decoration:none}
:where(img,video){max-width:100%;height:auto}
video{display:block}
:where(h1,h2,h3,.pc-head,.btn,summary){overflow-wrap:anywhere;word-break:break-word}
.container{max-width:var(--maxw);padding:0 20px;margin:0 auto}
.section{padding:72px 0}
.title{font-size:clamp(24px,3vw,36px);line-height:1.2;margin:0 0 16px}
.subtitle {
    color: #000;
    margin: 0 0 32px;
    font-size: clamp(14px, 1.6vw, 18px);
    font-weight: 200;
}
.center{text-align:center}
.btn{display:inline-block;background:var(--accent);color:#1b2640;padding:12px 20px;border-radius:999px;font-weight:600;border:0;cursor:pointer}
.btn:hover{filter:brightness(.95)}
.grid{display:grid;gap:24px}
/* ========== 2) Header ========== */
.site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #e7ecf3}
.nav{display:flex;align-items:center;justify-content:space-between;height:118px}
.brand{font-weight:200;letter-spacing:.2px;color:var(--brand)}
.navlinks{display:flex;gap:20px}
.navlinks a{color:#3a4656;font-weight:600}
.nav .cta{margin-left:8px}
/* ========== 3) Banner（1900×500） ========== */
.banner .container{max-width:100%;padding:0}
.banner-wrap{display:flex;justify-content:center;padding:0;background:transparent;border-radius:var(--radius)}
.banner-frame{max-width:1900px;margin:0 auto;aspect-ratio:1900/500;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.banner-frame picture,.banner-frame img{width:100%;height:100%;display:block}
.banner-img{object-fit:cover;width:100%;height:100%}
/* ========== 4) About ========== */
.intro .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:32px}
.intro .text{background:var(--card);padding:10px;border-radius:var(--radius);box-shadow:var(--shadow)}
.intro .image{background:#eef3fa;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;min-height:260px}
.intro .image img{max-width:100%;height:auto;border-radius:12px;border:1px solid #d7e0ee}
/* ========== 5) BIM ========== */
.bim .frame{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:transparent}
.ratio-1200x400{aspect-ratio:1200/400;width:100%}
.bim video{width:100%;height:100%;display:block;object-fit:cover}
/* ========== 6) Why Us ========== */
.why .block{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:40px}
.why h2{margin:0 0 8px}
.why p{margin:0 0 14px;color:#000 ;font-size: 18px; line-height: 2;}
/* ========== 7) Project Management ========== */
.pm .steps{grid-template-columns:repeat(4,minmax(0,1fr))}
.step{background:#fff;border-radius:var(--radius);padding:20px;border:1px solid #e8eef6}
.step .num{display:inline-block;background:var(--brand);color:#fff;border-radius:999px;padding:6px 10px;font-weight:700;margin-bottom:10px}
/* ========== 8) Proof（工程图 + 证书） ========== */
.proof .cases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}
.proof .cases img{width:100%;height:200px;object-fit:cover;border-radius:12px;border:1px solid #d7e0ee;background:#eef3fa}
.proof .certs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.proof .cert{background:#fff;border:1px solid #d7e0ee;border-radius:12px;padding:12px;display:flex;align-items:center;justify-content:center}
.proof .cert img{max-width:100%;max-height:48px;object-fit:contain;opacity:.9}
/* ========== 9) 非标产品 ========== */
.nonstd .cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.product-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px;display:grid;grid-template-rows:auto auto 1fr;gap:10px}
.pc-head{height:36px;border:1px solid #d7e0ee;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:200;text-align:center;padding:0 8px;background:#fff;font-size:clamp(14px,1.3vw,16px)}
.pc-desc{border:1px solid #d7e0ee;border-radius:10px;background:#fff;padding:10px 12px;color:#000;font-size:clamp(13px,1.2vw,15px);line-height:1.6;min-height:58px}
.pc-media{width:100%;aspect-ratio:4/3;border:1px solid #d7e0ee;border-radius:10px;overflow:hidden;background:#eef3fa}
.pc-media img{width:100%;height:100%;object-fit:cover;display:block}
/* ========== 10) 售后服务 ========== */
.after .cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.after .cards .card{background:#fff;border:2px solid #d7e0ee;border-radius:16px;padding:20px}
/* ========== 11) FAQ（展开式） ========== */
.faq .qa{background:#fff;border:1px solid #e8eef6;border-radius:12px}
.faq .item{padding:16px 20px;border-top:1px solid #e8eef6}
.faq .item:first-child{border-top:0}
.faq .q{font-weight:700;margin:0 0 8px}
.faq .a{padding:0 0 12px;color:#000;margin:0}
/* ========== 12) 表单 ========== */
.form{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.label{font-weight:700;font-size:14px}
.input,.textarea{padding:12px;border:1px solid #d7e0ee;border-radius:10px;font-size:16px}
.textarea{min-height:140px}
/* ========== 13) 页脚 ========== */
.site-footer{background:#0e1b2b;color:#dbe6f7;padding:32px 0;margin-top:56px}
/* ========== 14) 响应式 ========== */
@media (max-width:1024px){
  .intro .wrap{grid-template-columns:1fr}
  .pm .steps{grid-template-columns:repeat(2,1fr)}
  .proof .cases{grid-template-columns:repeat(2,1fr)}
  .proof .certs{grid-template-columns:repeat(3,1fr)}
  .after .cards{grid-template-columns:repeat(2,1fr)}
  .form .row{grid-template-columns:1fr}
}
@media (max-width:1200px){.nonstd .cards{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){.nonstd .cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
  .navlinks{display:none}
  .section{padding:54px 0}
  .nonstd .cards{grid-template-columns:1fr}
  .pc-media{aspect-ratio:16/9}
  .pm .steps{grid-template-columns:1fr}
  .proof .cases{grid-template-columns:1fr}
  .proof .certs{grid-template-columns:repeat(2,1fr)}
  .after .cards{grid-template-columns:1fr}
}
/* 宽屏容器 */
@media (min-width:1440px){:root{--maxw:1360px}}
@media (min-width:1680px){:root{--maxw:1440px}}

/* ===== Turnkey 区域：简洁两列要点（仅作用于 #intro） ===== */
.intro .tk-box{border:1px solid #e6ebf3;border-radius:12px;background:#fff;padding:14px 16px}
.intro .tk-title{margin:0 0 6px;font-size:clamp(14px,1.4vw,16px);font-weight:200}
.intro .tk-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:0;padding:0;list-style:none}
.intro .tk-steps li {
    position: relative;
    padding-left: 18px;
    color: #000;
    line-height: 1.6;
    font-weight: 200;
}
.intro .tk-steps li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--brand)}
@media (max-width:640px){.intro .tk-steps{grid-template-columns:1fr}}

/* === Topbar & anchor offset overrides (2025-10-12) === */
header, .header, .navbar, nav.top, nav.site-nav { min-height:128px }
a.brand, .brand, .logo { display:flex; align-items:center }
.brand img, .logo img { width:200px; height:118px; display:block; object-fit:contain }
#banner,#intro,#bim,#why,#delivery,#proof,#custom,#after,#faq{scroll-margin-top:140px}
@media (max-width:640px){
  header, .header, .navbar, nav.top, nav.site-nav { min-height:88px }
  .brand img, .logo img { width:150px; height:auto }
  #banner,#about,#bim,#why,#delivery,#proof,#custom,#after,#faq{scroll-margin-top:96px}
}

/* === Fix: logo bar overlap & spacing (2025-10-12) === */
header, .header, .navbar, nav.top, nav.site-nav { height: auto; padding-block: 12px; }
.brand, .logo { display:flex; align-items:center }
.brand img, .logo img { display:block; height:118px; width:auto; object-fit:contain }
html { scroll-padding-top: 140px; } /* modern browsers offset anchor scroll */
#banner { margin-top: 16px; padding-top: 8px; } /* avoid visual clipping under the nav */
@media (max-width: 768px){
  .brand img, .logo img { height:64px; }
  html { scroll-padding-top: 96px; }
  #banner { margin-top: 8px; }
}




/* BIM 容器：去黑底 + 兜底封面 */
.section.bim .frame{
  background: url("/assets/videos/bim/bim-poster-1200x400.jpg") center/cover no-repeat; /* 兜底封面 */
}

/* video 自适应铺满，不要默认黑底 */
.section.bim .frame video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  background:transparent; /* 避免黑屏 */
}






/* === Image Zoom (only used by #nonstd) === */
/* === Image Zoom v2 (no backdrop, 600x600 desktop, freeze scroll) === */
.img-zoom{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:transparent;z-index:9999;padding:20px}
.img-zoom.on{display:flex}
.img-zoom__box{position:relative;margin:0;pointer-events:auto;display:flex;align-items:center;justify-content:center}
.img-zoom__box img{display:block;border-radius:12px;background:#fff;box-shadow:0 10px 40px rgba(0,0,0,.18)}
@media (min-width:641px){
  .img-zoom__box{width:600px;height:600px;max-width:600px;max-height:600px}
  .img-zoom__box img{max-width:100%;max-height:100%;width:auto;height:auto}
}
@media (max-width:640px){
  .img-zoom{padding:10px}
  .img-zoom__box{max-width:94vw;max-height:94vh}
  .img-zoom__box img{max-width:94vw;max-height:94vh;width:auto;height:auto}
}
.img-zoom__close{position:absolute;top:-12px;right:-12px;width:38px;height:38px;border-radius:999px;border:0;background:#fff;cursor:pointer;font-size:22px;line-height:38px}
#nonstd img{cursor:zoom-in}




/* 强制放大到 600x600 盒子里显示（桌面端） */
@media (min-width: 641px){
  .img-zoom__box{
    width:600px;
    height:600px;
  }
  .img-zoom__box img{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:contain;    /* 等比、不裁切，填满盒子 */
  }
}

/* 可选：再稳一点，避免打开时页面有滚动抖动 */
.img-zoom.on { touch-action:none; }











/* === Proof 视频案例V2 layout === */
.proofv2-row{display:grid;grid-template-columns:420px 1fr;gap:28px;margin-top:28px;align-items:start}
.proofv2-video{position:relative;border-radius:16px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.08);background:#fff}
.proofv2-video::before{content:"";display:block;aspect-ratio:16/9}
.proofv2-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.proofv2-right{display:flex;flex-direction:column;gap:16px}
.proofv2-text{background:#fff;border-radius:16px;padding:12px 18px;box-shadow:0 6px 16px rgba(0,0,0,.06)}
.proofv2-text h3{font-size:20px;margin:0 0 6px}
.proofv2-text p{margin:0;line-height:1.6}
.proofv2-thumbs{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px}
.proofv2-thumbs img{width:100%;height:120px;object-fit:cover;border-radius:12px;display:block;background:#f6f6f6}
@media (max-width:1200px){ .proofv2-row{grid-template-columns:360px 1fr} }
@media (max-width:920px){
  .proofv2-row{grid-template-columns:1fr;gap:18px}
  .proofv2-thumbs{grid-template-columns:repeat(3,1fr)}
}



/* === Proof V2: 外边框 & 占位图 === */
.proofv2-row{
  border:1px solid #e7e7e7;       /* 外边框 */
  border-radius:18px;
  padding:16px;                   /* 边框内留白 */
  background:#fff;                /* 白底，不会显得灰 */
}
@media (max-width:920px){
  .proofv2-row{ padding:12px; }
}
/* 右侧缩略图：占位格（待上传） */
.proofv2-empty{
  width:100%; height:120px;
  border-radius:12px;
  border:2px dashed #d8d8d8;
  display:flex; align-items:center; justify-content:center;
  color:#9a9a9a; font-size:14px;
  background:linear-gradient(180deg,#fafafa,#f5f5f5);
}
.proofv2-empty::after{ content:"待上传"; }



#proof .proofv2-thumbs img{cursor:zoom-in}
#terms{max-height:200px;overflow:auto;padding-top:16px;padding-bottom:16px}
.cr-contact{padding:48px 0 64px;background:rgba(255,255,255,.65);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-top:1px solid rgba(0,0,0,.06)}.cr-wrap{max-width:1200px;margin:0 auto;padding:0 20px;display:grid;gap:28px;grid-template-columns:1.2fr 1fr 1fr}@media (max-width:1024px){.cr-wrap{grid-template-columns:1fr 1fr}}@media (max-width:640px){.cr-wrap{grid-template-columns:1fr}}.cr-col h3{font-size:20px;line-height:1.35;margin:0 0 12px;font-weight:700;color:#111;position:relative}.cr-col h3::after{content:"";display:block;width:44px;height:3px;background:#f7b500;border-radius:2px;margin-top:8px}.cr-list,.cr-bullets{list-style:none;margin:0;padding:0}.cr-list li,.cr-bullets li{margin:6px 0;color:#333;line-height:1.6}.cr-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px}.cr-link{display:inline-block;margin-top:10px;border-bottom:1px solid rgba(0,0,0,.25);text-decoration:none;color:#222}.cr-btn{display:inline-block;margin-top:14px;padding:10px 18px;border-radius:999px;background:#f7b500;color:#111;font-weight:700;text-decoration:none}