/* =========================================================
   V6.3 TYPOGRAPHY CLEAN
   唯一全站字体/字号规范。
   原则：
   1. 只有两套字体：品牌标题宋体风 + 正文/功能无衬线。
   2. 只有七级字号 Token，页面不得自行创造新字号。
   3. 只有 400 / 600 / 700 三档字重。
   4. PC 与 Mobile 仅通过 Token 统一缩放。
   ========================================================= */

:root{
  /* 字体 */
  --font-brand:"Microsoft YaHei","Microsoft YaHei UI","PingFang SC","Noto Sans CJK SC","Noto Sans SC","Helvetica Neue",Arial,sans-serif;
  --font-ui:"Microsoft YaHei","Microsoft YaHei UI","PingFang SC","Noto Sans CJK SC","Noto Sans SC","Helvetica Neue",Arial,sans-serif;

  /* 七级字号：PC */
  --fs-hero:46px;       /* 首页 Banner 主标题 */
  --fs-page:38px;       /* 内页主标题 / 文章主标题 */
  --fs-section:26px;    /* 一级内容板块标题 */
  --fs-card:18px;       /* 卡片标题 / 二级标题 */
  --fs-body:15px;       /* 正文 / 导航 */
  --fs-ui:14px;         /* 按钮 / 筛选 / 紧凑说明 */
  --fs-meta:12px;       /* 日期 / 标签 / 辅助信息 */

  /* 仅三档字重 */
  --fw-regular:400;
  --fw-medium:600;
  --fw-bold:700;

  /* 固定行高 */
  --lh-title:1.30;
  --lh-body:1.72;
  --lh-article:1.90;
}

/* ---------- Foundation ---------- */
html{
  font-family:var(--font-ui);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body{
  font-family:var(--font-ui);
  font-size:var(--fs-body);
  font-weight:var(--fw-regular);
  line-height:var(--lh-body);
}
button,input,select,textarea,label{
  font-family:var(--font-ui);
  font-size:var(--fs-ui);
}
p,li,dd,dt{font-size:var(--fs-body);}

/* ---------- Brand headings ---------- */
h1,h2{
  font-family:var(--font-ui);
  font-weight:var(--fw-bold);
  line-height:var(--lh-title);
  letter-spacing:.012em;
}
h1{font-size:var(--fs-page);}
h2{font-size:var(--fs-section);}
h3,h4,h5,h6{
  font-family:var(--font-ui);
  font-size:var(--fs-card);
  font-weight:var(--fw-medium);
  line-height:1.45;
  letter-spacing:0;
}

/* 首页 Hero 只有这一种最大字号 */
.hero-copy h1,
.hero-v61 .hero-copy h1{
  font-family:var(--font-ui);
  font-size:var(--fs-hero);
  font-weight:var(--fw-bold);
  line-height:1.26;
  letter-spacing:.015em;
}
.hero-copy p,
.hero-v61 .hero-copy p{
  font-family:var(--font-ui);
  font-size:var(--fs-body);
  font-weight:var(--fw-regular);
  line-height:1.78;
  letter-spacing:0;
}

/* 内页 Hero */
.subhero-copy h1,
.page-hero h1,
.page-hero-copy h1{
  font-family:var(--font-ui);
  font-size:var(--fs-page);
  font-weight:var(--fw-bold);
}
.subhero-copy h2,
.page-hero h2,
.page-hero-copy h2{
  font-family:var(--font-ui);
  font-size:var(--fs-card);
  font-weight:var(--fw-medium);
}
.subhero-copy p,
.page-hero p,
.page-hero-copy p{
  font-size:var(--fs-body);
}

/* ---------- Header / navigation ---------- */
.desktop-nav,
.desktop-nav a,
.nav-more-btn,
.nav-more-menu a{
  font-family:var(--font-ui);
  font-size:var(--fs-body);
  font-weight:var(--fw-regular);
  letter-spacing:0;
}
.desktop-nav a.active,
.nav-more.active .nav-more-btn{
  font-weight:var(--fw-medium);
}
.header-search,
.header-search span,
.search-input-wrap,
.search-input-wrap input,
.search input,
.search-v61,
.search-v61 input{
  font-family:var(--font-ui);
  font-size:var(--fs-ui);
  font-weight:var(--fw-regular);
}

/* ---------- Buttons / chips / tabs ---------- */
.btn,
.visit-btn,
.mini-btn,
.listen,
.filter-chip,
.filter-chips-v61 button,
.catalog-tabs button,
.filter-line button,
.story-tabs button,
.news-tabs button,
.tabs button,
.form-submit,
.search-hints button{
  font-family:var(--font-ui);
  font-size:var(--fs-ui);
  font-weight:var(--fw-medium);
  letter-spacing:0;
}

/* ---------- Section titles ---------- */
.section-title-row h2,
.feature-panel h2,
.v5-title,
.tech-intro-copy h2,
.guide-map-copy h2,
.contact-info-v61 h2,
.visit-copy-v61 h2,
.visit-form-v61 h2,
.message-panel h2,
.media-home h2,
.about-intro-v61 h2,
.tech-story-v61 h2{
  font-family:var(--font-ui);
  font-size:var(--fs-section);
  font-weight:var(--fw-bold);
  line-height:1.35;
}
.v5-subtitle,
.section-title-row h3,
.feature-copy h3,
.stories-feature h2,
.story-deep-copy h3,
.guide-scan h3,
.visit-tips h3,
.news-feature h2{
  font-family:var(--font-ui);
  font-size:var(--fs-card);
  font-weight:var(--fw-medium);
}
.section-title-row>a,
.link-arrow,
.section-sub,
.lead{
  font-family:var(--font-ui);
  font-size:var(--fs-ui);
}

/* ---------- Cards: one title size, one compact copy size ---------- */
.cat-head h3,
.name-row h3,
.catalog-card h3,
.science-list-card-v61 h3,
.selection-copy h3,
.selection-home-card h3,
.tech-feature h3,
.tech-system-copy h3,
.tech-overlay h3,
.region-item h3,
.route-title h3,
.news-grid-v61 h3,
.story-card h3,
.visit-type h3,
.contact-card h3,
.about-zone h3,
.people-copy h3,
.person-card h3,
.traffic-item strong,
.transport-card h3,
.search-result strong,
.topic-box span,
.hot-row h4{
  font-family:var(--font-ui);
  font-size:var(--fs-card);
  font-weight:var(--fw-medium);
  line-height:1.45;
}
.cat-head p,
.product-copy p,
.catalog-card p,
.science-list-card-v61 p,
.selection-copy p,
.selection-home-card p,
.tech-feature p,
.tech-system-copy p,
.tech-overlay p,
.feature-copy p,
.region-item p,
.route-copy p,
.news-grid-v61 p,
.story-card p,
.visit-type p,
.contact-card p,
.about-zone p,
.people-copy p,
.person-card p,
.tech-story-copy p,
.guide-scan p,
.tip p,
.transport-card p,
.news-feature p,
.visit-info-row p,
.contact-info-v61 p,
.visit-copy-v61 p,
.media-grid-v61 p,
.timeline-item p{
  font-family:var(--font-ui);
  font-size:var(--fs-ui);
  font-weight:var(--fw-regular);
  line-height:1.68;
}

/* ---------- Meta / labels ---------- */
.crumb,
.breadcrumbs,
.meta,
.article-meta,
.filter-status,
.badge,
.duration,
.route-stops span,
.route-meta,
.name-row span,
.product-foot em,
.selection-copy em,
.news-grid-v61 em,
.search-result span,
.form-note,
.map-tools,
.eyebrow,
.hot-row span,
small{
  font-family:var(--font-ui);
  font-size:var(--fs-meta);
  font-weight:var(--fw-regular);
  line-height:1.5;
}

/* ---------- Price / metric numbers ----------
   仍然只使用既有 Token，不另造字号。
*/
.price,
.selection-price,
.metric strong,
.about-stat strong{
  font-family:var(--font-ui);
  font-size:var(--fs-section);
  font-weight:var(--fw-bold);
}
.timeline-item strong{
  font-family:var(--font-ui);
  font-size:var(--fs-card);
  font-weight:var(--fw-medium);
}

/* ---------- Article ---------- */
.article-v61 h1,
.article h1{
  font-family:var(--font-ui);
  font-size:var(--fs-page);
  font-weight:var(--fw-bold);
  line-height:1.38;
}
.article-v61 h2,
.article h2,
.article-body h2{
  font-family:var(--font-ui);
  font-size:var(--fs-section);
  font-weight:var(--fw-bold);
}
.article-v61 h3,
.article h3,
.article-body h3{
  font-family:var(--font-ui);
  font-size:var(--fs-card);
  font-weight:var(--fw-medium);
}
.article-v61 p,
.article p,
.article-body p{
  font-family:var(--font-ui);
  font-size:var(--fs-body);
  font-weight:var(--fw-regular);
  line-height:var(--lh-article);
}

/* ---------- Forms ---------- */
.form-row label,
.visit-form-v61 label{
  font-family:var(--font-ui);
  font-size:var(--fs-ui);
  font-weight:var(--fw-medium);
}
.form-row input,
.form-row select,
.form-row textarea,
.visit-form-v61 input,
.visit-form-v61 select,
.visit-form-v61 textarea,
.message-panel input,
.message-panel select,
.message-panel textarea{
  font-family:var(--font-ui);
  font-size:var(--fs-ui);
  font-weight:var(--fw-regular);
}

/* ---------- Footer ---------- */
.footer-brand p,
.footer-contact p,
.footer-links a,
.footer-follow p{
  font-family:var(--font-ui);
  font-size:var(--fs-ui);
  font-weight:var(--fw-regular);
  line-height:1.65;
}
.footer-links h4,
.footer-follow h4{
  font-family:var(--font-ui);
  font-size:var(--fs-card);
  font-weight:var(--fw-medium);
}
.footer-bottom{
  font-family:var(--font-ui);
  font-size:var(--fs-meta);
  font-weight:var(--fw-regular);
}

/* ---------- Mobile ----------
   仍然是同七级系统，仅 Token 缩放，不做页面私有字号。
*/
@media(max-width:700px){
  :root{
    --fs-hero:32px;
    --fs-page:28px;
    --fs-section:22px;
    --fs-card:17px;
    --fs-body:14px;
    --fs-ui:13px;
    --fs-meta:12px;
  }

  body{line-height:1.68;}
  .hero-copy h1,
  .hero-v61 .hero-copy h1{line-height:1.30;}
  .hero-copy p,
  .hero-v61 .hero-copy p{line-height:1.65;}
  .article-v61 p,
  .article p,
  .article-body p{line-height:1.82;}

  .mobile-bottom a,
  .mobile-bottom span{
    font-family:var(--font-ui);
    font-size:var(--fs-meta);
    font-weight:var(--fw-medium);
  }
}

/* V6.3.1：Hero 主标题仅强化字形，不新增字号层级 */
.hero-copy h1,
.hero-v61 .hero-copy h1{
  font-family:var(--font-ui);
  font-weight:700;
  letter-spacing:.025em;
  -webkit-text-stroke:.18px currentColor;
  text-shadow:0 1px 0 rgba(255,255,255,.18);
}


/* V6.3.5：首页 Hero 字体专项，仅在既有七级系统上做视觉收紧 */
@media(min-width:701px){
  .hero-copy h1,
  .hero-v61 .hero-copy h1{
    font-family:var(--font-ui);
    font-size:42px;
    font-weight:700;
    line-height:1.24;
    letter-spacing:.022em;
    -webkit-text-stroke:.10px currentColor;
  }
  .hero-copy p,
  .hero-v61 .hero-copy p{
    font-size:14px;
    line-height:1.75;
  }
}
@media(max-width:700px){
  .hero-copy h1,
  .hero-v61 .hero-copy h1{
    font-size:30px;
    line-height:1.30;
    letter-spacing:.018em;
  }
}


/* V6.3.6 guide.html Typography */
.guide-clean-kicker{font-family:var(--font-ui);font-size:var(--fs-meta);font-weight:600;letter-spacing:.08em;}
.guide-clean-hero-copy h1{font-family:var(--font-ui);font-size:var(--fs-page);font-weight:700;line-height:1.25;}
.guide-clean-hero-copy h2{font-family:var(--font-ui);font-size:var(--fs-card);font-weight:600;}
.guide-clean-hero-copy p{font-family:var(--font-ui);font-size:var(--fs-body);line-height:1.72;}
.guide-clean-title-row h2,
.guide-clean-scan h2,
.guide-clean-tips h2,
.guide-clean-cta h2{font-family:var(--font-ui);font-size:var(--fs-section);font-weight:700;}
.guide-clean-title-row p,
.guide-clean-scan p,
.guide-clean-cta p{font-size:var(--fs-ui);}
.guide-clean-zones-head h3,
.guide-clean-route h3,
.guide-clean-arrival h3{font-family:var(--font-ui);font-size:var(--fs-card);font-weight:600;}
.guide-clean-zones-head p,
.guide-clean-zone p,
.guide-clean-route-copy>p,
.guide-clean-tip-grid p,
.guide-clean-arrival p{font-size:var(--fs-ui);}
.guide-clean-zone h4{font-family:var(--font-ui);font-size:var(--fs-body);font-weight:600;}
.guide-clean-zone div>span,
.guide-clean-route-photo>span,
.guide-clean-stops span,
.guide-clean-route-meta,
.guide-clean-arrival article span,
.guide-clean-map figcaption,
.guide-clean-steps span{font-size:var(--fs-meta);}
.guide-clean-tip-grid strong{font-size:var(--fs-body);font-weight:600;}

@media(max-width:700px){
  .guide-clean-hero-copy h1{font-size:28px;}
  .guide-clean-hero-copy h2{font-size:17px;}
  .guide-clean-title-row h2,
  .guide-clean-scan h2,
  .guide-clean-tips h2,
  .guide-clean-cta h2{font-size:22px;}
}


/* V6.3.7 — 科普 / 甄选详情字体规范 */
.science-detail-copy-v62 h1,
.selection-detail-copy-v62 h1{
  font-family:var(--font-ui);
  font-size:var(--fs-page);
  font-weight:700;
  line-height:1.28;
}
.science-record-head h2,
.selection-data-head h2,
.science-detail-sections h2{
  font-family:var(--font-ui);
  font-size:var(--fs-section);
  font-weight:700;
}
@media(max-width:700px){
  .science-detail-copy-v62 h1,
  .selection-detail-copy-v62 h1{font-size:28px;}
  .science-record-head h2,
  .selection-data-head h2,
  .science-detail-sections h2{font-size:21px;}
}


/* ============================================================
   V6.3.7.3 — 全站字体最终规范
   用户确认：全站统一使用微软雅黑体系。
   只通过字号 / 字重 / 留白区分层级，不再混用宋体、中宋、明朝体。
   ============================================================ */
html,body,
button,input,select,textarea,label,
h1,h2,h3,h4,h5,h6,
p,span,a,em,strong,small,dt,dd,li{
  font-family:var(--font-ui);
}

/* 标题保持层级，但字体不再变化 */
h1,h2{font-family:var(--font-ui);}
.hero-copy h1,
.hero-v61 .hero-copy h1,
.subhero-copy h1,
.page-hero h1,
.page-hero-copy h1,
.section-title-row h2,
.v5-title,
.guide-clean-hero-copy h1,
.guide-clean-title-row h2,
.science-detail-copy-v62 h1,
.selection-detail-copy-v62 h1,
.science-record-head h2,
.selection-data-head h2,
.science-detail-sections h2{
  font-family:var(--font-ui) !important;
}
