/* ============================================================
   本地化字体：Noto Sans SC / Noto Serif SC
   由 Google Fonts CDN 的同字重分片按本站实际用字裁剪合并生成（woff2）。
   目的：去除外链依赖、离线与内网可正常渲染。
   注意：若后续新增文案出现缺字（回退到系统字体），需重新生成 —
        把新增字符并入字符集后重跑构建流程即可。
   ============================================================ */

@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/noto-sans-sc-400.woff2) format('woff2');
}

@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/noto-sans-sc-500.woff2) format('woff2');
}

@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/noto-sans-sc-600.woff2) format('woff2');
}

@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/noto-sans-sc-700.woff2) format('woff2');
}

@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/noto-serif-sc-400.woff2) format('woff2');
}

@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/noto-serif-sc-600.woff2) format('woff2');
}

@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/noto-serif-sc-700.woff2) format('woff2');
}

@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(fonts/noto-serif-sc-900.woff2) format('woff2');
}
/* ===== 设计变量：浅色高端编辑风 ===== */
:root{
  --paper:#F5F2EA;        /* 暖象牙纸底 */
  --paper-2:#FBF9F4;
  --paper-3:#EFEAE0;
  --ink:#212826;          /* 深墨青绿 */
  --ink-2:#48504D;
  --ink-3:#6E7673;
  --teal:#2C6E63;         /* 深青绿强调 */
  --teal-deep:#1E5047;
  --teal-soft:#A9CCC2;
  --brass:#A3885B;        /* 高级黄铜次强调 */
  --hair:#DCD5C5;
  --hair-soft:#E7E1D4;
  --white:#FFFFFF;
  --serif:"Noto Serif SC","Songti SC","SimSun",serif;
  --sans:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --maxw:1200px;
  --pad:clamp(20px,5vw,56px);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.75;font-weight:400;}
::selection{background:var(--teal);color:var(--white);}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}

.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}

/* ===== 眉标（编辑小标签）===== */
.eyebrow{display:flex;align-items:center;gap:14px;font-size:13px;letter-spacing:.34em;color:var(--teal);font-weight:600;margin-bottom:26px;}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--brass);flex:none;}
.eyebrow b{font-weight:600;color:var(--brass);}

/* ===== 导航 ===== */
.site-nav{position:sticky;top:0;z-index:60;background:rgba(245,242,234,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--hair);}
.nav-inner{max-width:var(--maxw);margin:0 auto;padding:12px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:20px;}
.nav-brand{display:flex;align-items:center;gap:12px;}
.nav-logo{height:38px;width:auto;flex:none;display:block;}
.nav-links{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:500;color:var(--ink-2);}
.nav-links a{transition:color .25s;}
.nav-links a:hover{color:var(--teal);}
.nav-cta{background:var(--teal);color:var(--white);padding:10px 22px;border-radius:2px;font-size:14px;font-weight:600;letter-spacing:.06em;transition:background .25s;}
.nav-cta:hover{background:var(--teal-deep);}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;}

/* ===== Hero ===== */
.hero{position:relative;overflow:hidden;}
.hero-media{position:absolute;inset:0;}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(100deg,rgba(245,242,234,.96) 0%,rgba(245,242,234,.85) 38%,rgba(245,242,234,.35) 62%,rgba(245,242,234,.05) 100%);}
.hero-inner{position:relative;max-width:var(--maxw);margin:0 auto;padding:clamp(80px,14vw,150px) var(--pad) clamp(70px,11vw,120px);}
.hero-tag{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.3em;color:var(--teal);font-weight:600;margin-bottom:30px;}
.hero-tag::before{content:"";width:30px;height:1px;background:var(--brass);}
.hero h1{font-family:var(--serif);font-weight:900;font-size:clamp(38px,6.4vw,72px);line-height:1.16;letter-spacing:.01em;max-width:20em;margin-bottom:10px;}
.hero h1 .accent{color:var(--teal);}
.hero .en{font-family:var(--serif);font-weight:600;font-size:clamp(15px,2.2vw,24px);color:var(--ink-2);letter-spacing:.04em;margin-bottom:34px;max-width:44em;}
.hero-meta{display:flex;flex-wrap:wrap;gap:40px;margin-bottom:44px;}
.meta-item .m-label{font-size:12px;letter-spacing:.18em;color:var(--ink-3);margin-bottom:6px;}
.meta-item .m-val{font-family:var(--serif);font-weight:700;font-size:22px;color:var(--ink);}
.meta-item .m-val small{font-family:var(--sans);font-size:14px;font-weight:500;color:var(--ink-2);}
.hero-cta{display:flex;flex-wrap:wrap;gap:16px;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 32px;font-size:15px;font-weight:600;letter-spacing:.05em;border:1px solid transparent;border-radius:2px;cursor:pointer;transition:all .25s;}
.btn-solid{background:var(--teal);color:var(--white);}
.btn-solid:hover{background:var(--teal-deep);}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--ink);}
.btn-outline:hover{background:var(--ink);color:var(--white);}

/* ===== 单位带 ===== */
.org-band{background:var(--paper-2);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);}
.org-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;padding-block:44px;}
.org-item .o-role{font-size:11px;letter-spacing:.24em;color:var(--brass);font-weight:600;margin-bottom:10px;}
.org-item .o-name{font-family:var(--serif);font-weight:700;font-size:17px;color:var(--ink);line-height:1.5;}
.org-item .o-en{font-size:11px;color:var(--ink-3);margin-top:4px;letter-spacing:.02em;}

/* ===== 章节通用 ===== */
.section{padding:clamp(64px,9vw,110px) 0;}
.section.alt{background:var(--paper-2);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);}
.section-head{max-width:760px;margin-bottom:clamp(36px,5vw,60px);}
.section-head h2{font-family:var(--serif);font-weight:900;font-size:clamp(28px,4.4vw,46px);line-height:1.2;margin-bottom:18px;letter-spacing:.01em;}
.section-head .en{font-size:12px;letter-spacing:.28em;color:var(--ink-3);font-weight:600;margin-top:-6px;}
.lead{font-size:clamp(16px,2vw,19px);color:var(--ink-2);line-height:1.9;max-width:46em;}
.lead + .lead{margin-top:18px;}
.about-fig{margin-top:clamp(26px,4vw,40px);}
.about-fig img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;}
.about-fig figcaption{margin-top:12px;font-size:12px;letter-spacing:.1em;color:var(--ink-3);}

/* ===== 展会概况 编辑双栏 ===== */
.about-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(28px,5vw,64px);align-items:start;}
.about-panel{position:sticky;top:100px;}
.about-list{border-top:1px solid var(--hair);}
.pillar{display:flex;gap:22px;padding:22px 0;border-bottom:1px solid var(--hair);}
.pillar .p-num{font-family:var(--serif);font-weight:700;font-size:26px;color:var(--teal);line-height:1;min-width:34px;}
.pillar .p-body h3{font-family:var(--serif);font-weight:700;font-size:18px;margin-bottom:6px;}
.pillar .p-body p{font-size:14px;color:var(--ink-2);line-height:1.8;}
.fact-line{display:flex;align-items:baseline;gap:16px;padding:20px 0;border-bottom:1px solid var(--hair);}
.fact-line .f-num{font-family:var(--serif);font-weight:900;font-size:34px;color:var(--teal);white-space:nowrap;}
.fact-line .f-txt{font-size:14px;color:var(--ink-2);line-height:1.7;}

/* ===== 历届回顾 统计 ===== */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,3vw,34px);margin-bottom:clamp(40px,6vw,64px);}
.stat{border-top:1px solid var(--hair);padding-top:22px;}
.stat .s-num{font-family:var(--serif);font-weight:900;font-size:clamp(34px,5vw,54px);color:var(--ink);line-height:1;}
.stat .s-num em{font-style:normal;color:var(--teal);}
.stat .s-cap{font-size:13px;color:var(--ink-2);margin-top:10px;letter-spacing:.05em;}
.stat .s-sub{font-size:12px;color:var(--ink-3);margin-top:2px;}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,3vw,34px);}
.gallery figure{position:relative;overflow:hidden;aspect-ratio:16/10;}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform 1s;}
.gallery figure:hover img{transform:scale(1.04);}
.gallery .g-cap{position:absolute;left:0;bottom:0;right:0;padding:44px 20px 14px;background:linear-gradient(0deg,rgba(33,40,38,.72),transparent);color:var(--white);font-size:12px;letter-spacing:.08em;}

/* ===== 展出大类 ===== */
.exhibit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,3vw,34px);}
.exhibit-card{background:var(--paper-2);border:1px solid var(--hair);padding:clamp(24px,3.5vw,38px);display:flex;flex-direction:column;gap:16px;}
.exhibit-card .ec-idx{font-family:var(--serif);font-size:14px;letter-spacing:.3em;color:var(--brass);font-weight:600;}
.exhibit-card h3{font-family:var(--serif);font-weight:900;font-size:clamp(20px,2.6vw,27px);line-height:1.3;}
.exhibit-card .ec-en{font-size:11px;letter-spacing:.12em;color:var(--ink-3);}
.exhibit-card p{font-size:14.5px;color:var(--ink-2);line-height:1.9;flex:1;}
.exhibit-card .tags{display:flex;flex-wrap:wrap;gap:8px;}
.chip{font-size:12px;padding:5px 12px;border:1px solid var(--hair-soft);background:var(--white);color:var(--ink-2);border-radius:20px;}

/* ===== 杭州优势 ===== */
.adv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,34px);}
.adv{border-top:1px solid var(--hair);padding-top:26px;}
.adv .a-num{font-family:var(--serif);font-weight:700;font-size:15px;color:var(--brass);letter-spacing:.1em;margin-bottom:14px;}
.adv h3{font-family:var(--serif);font-weight:900;font-size:22px;margin-bottom:12px;}
.adv p{font-size:14px;color:var(--ink-2);line-height:1.85;}
.adv .a-key{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px;}

/* ===== 参会人员 ===== */
.audience{border-left:2px solid var(--teal);padding:4px 0 4px clamp(20px,3vw,34px);}
.audience p{font-size:clamp(16px,2vw,19px);color:var(--ink-2);line-height:2;max-width:58em;}
.audience p b{color:var(--teal);font-weight:600;}

/* ===== 合作媒体 logo 墙 ===== */
.media-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(14px,2vw,24px);}
.media-cell{background:var(--white);border:1px solid var(--hair);padding:clamp(14px,2vw,22px);display:flex;align-items:center;justify-content:center;aspect-ratio:2/1;transition:border-color .3s,box-shadow .3s,transform .3s;}
.media-cell img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .4s,opacity .4s;}
.media-cell:hover{border-color:var(--teal);box-shadow:0 14px 34px rgba(33,40,38,.08);transform:translateY(-2px);}
.media-cell:hover img{filter:none;opacity:1;}


/* ===== 联系 ===== */
.contact{background:var(--teal-deep);color:var(--paper);}
.contact .eyebrow{color:var(--teal-soft);}
.contact .eyebrow::before{background:var(--brass);}
.contact h2{font-family:var(--serif);font-weight:900;font-size:clamp(28px,4.4vw,44px);color:var(--white);margin-bottom:14px;}
.contact .lead{color:var(--paper);opacity:.85;}
.contact-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,34px);margin-top:clamp(34px,5vw,56px);}
.cm{border-top:1px solid rgba(255,255,255,.18);padding-top:22px;}
.cm .cm-label{font-size:12px;letter-spacing:.2em;color:var(--teal-soft);margin-bottom:10px;font-weight:600;}
.cm .cm-val{font-family:var(--serif);font-weight:700;font-size:22px;color:var(--white);word-break:break-all;}
.cm .cm-val a{display:inline-block;}
.cm .cm-val a:hover{color:var(--teal-soft);}
.contact .btn-outline{border-color:var(--paper);color:var(--paper);}
.contact .btn-outline:hover{background:var(--paper);color:var(--teal-deep);}

/* ===== 参展咨询表单 ===== */
.consult{margin-top:clamp(38px,5vw,56px);max-width:860px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.16);padding:clamp(24px,3.5vw,40px);}
.consult-head{margin-bottom:24px;}
.consult h3{font-family:var(--serif);font-weight:900;font-size:clamp(21px,2.8vw,28px);color:var(--white);margin-bottom:10px;}
.consult .csub{font-size:13.5px;color:var(--teal-soft);line-height:1.85;max-width:52em;}
.cf-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px clamp(16px,2vw,22px);}
.cf-item.cf-full{grid-column:1/-1;}
.cf-item label{display:block;font-size:11.5px;letter-spacing:.18em;color:var(--teal-soft);font-weight:600;margin-bottom:8px;}
.cf-item label em{color:#E8AE84;font-style:normal;margin-left:2px;}
.cf-item input,.cf-item select,.cf-item textarea{width:100%;padding:12px 14px;border:1px solid rgba(255,255,255,.22);border-radius:2px;background:rgba(0,0,0,.18);font-family:var(--sans);font-size:14px;color:var(--paper);outline:none;transition:border-color .25s,box-shadow .25s,background .25s;}
.cf-item input::placeholder,.cf-item textarea::placeholder{color:rgba(245,242,234,.4);}
.cf-item select{appearance:none;-webkit-appearance:none;padding-right:38px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23A9CCC2' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;}
.cf-item select option{background:var(--teal-deep);color:var(--paper);}
.cf-item textarea{resize:vertical;min-height:92px;line-height:1.75;}
.cf-item input:focus,.cf-item select:focus,.cf-item textarea:focus{border-color:var(--teal-soft);background:rgba(0,0,0,.28);box-shadow:0 0 0 3px rgba(169,204,194,.16);}
.cf-cap{margin:20px 0 0;}
.cf-submit{margin-top:20px;padding:15px 36px;border:0;border-radius:2px;background:var(--paper);color:var(--teal-deep);font-family:var(--sans);font-size:15px;font-weight:700;letter-spacing:.05em;cursor:pointer;transition:background .25s,box-shadow .25s,transform .25s;}
.cf-submit:hover{background:var(--white);box-shadow:0 12px 28px rgba(0,0,0,.22);transform:translateY(-2px);}
.cf-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none;}
.cf-result{display:none;margin-top:18px;padding:14px 18px;font-size:13.5px;line-height:1.8;}
.cf-result.show{display:block;}
.cf-result.ok{background:rgba(169,204,194,.14);border:1px solid rgba(169,204,194,.45);color:#D7E9E2;}
.cf-result.err{background:rgba(232,174,132,.12);border:1px solid rgba(232,174,132,.45);color:#F2CDAF;}

/* ===== 页脚 ===== */
footer{background:var(--ink);color:var(--paper);padding:44px 0;}
.foot-inner{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-3);}
.foot-inner b{color:var(--paper);font-weight:600;font-family:var(--serif);}
.foot-inner a:hover{color:var(--paper);}

/* ===== 响应式 ===== */
@media(max-width:920px){
  .org-grid{grid-template-columns:repeat(2,1fr);gap:26px;}
  .stats{grid-template-columns:repeat(2,1fr);}
  .adv-grid{grid-template-columns:1fr;}
  .contact-methods{grid-template-columns:1fr;}
  .about-grid,.exhibit-grid{grid-template-columns:1fr;}
  .about-panel{position:static;}
  .gallery{grid-template-columns:1fr;}
  .media-grid{grid-template-columns:repeat(3,1fr);}
  .cf-grid{grid-template-columns:1fr;}
}
@media(max-width:760px){
  .nav-links{display:none;}
  .nav-toggle{display:block;}
  .hero-scrim{background:linear-gradient(180deg,rgba(245,242,234,.95) 0%,rgba(245,242,234,.82) 46%,rgba(245,242,234,.45) 70%,rgba(245,242,234,.1) 100%);}
  .org-grid{grid-template-columns:1fr;}
  .cm .cm-val a{display:inline-flex;align-items:center;min-height:44px;}
}
@media(max-width:560px){
  .media-grid{grid-template-columns:repeat(2,1fr);}
}