/* roulang page: index */
/* ========== 设计变量 ========== */
:root {
  --jyh-primary: #0B4A40;
  --jyh-primary-dark: #083A33;
  --jyh-gradient: linear-gradient(135deg, #0D5A4F 0%, #07312B 100%);
  --jyh-accent: #C7A464;
  --jyh-accent-light: #D6B87A;
  --jyh-paper: #F7F3EA;
  --jyh-card-bg: #FFFCF7;
  --jyh-sub-bg: #F1EBDE;
  --jyh-text: #22332F;
  --jyh-text-soft: #5F716C;
  --jyh-border: #E7DDCC;
  --jyh-border-soft: rgba(11, 74, 64, 0.12);
  --jyh-shadow-sm: 0 4px 14px rgba(7, 49, 43, 0.06);
  --jyh-shadow: 0 10px 30px rgba(7, 49, 43, 0.08);
  --jyh-shadow-lg: 0 16px 36px rgba(7, 49, 43, 0.13);
  --jyh-radius: 14px;
  --jyh-radius-lg: 18px;
  --jyh-radius-pill: 999px;
  --jyh-radius-btn: 11px;
  --jyh-transition: all 0.25s ease;
  --jyh-font-serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", SimSun, serif;
  --jyh-font-sans: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif;
} 

/* ========== Reset & Base ========== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  font-family: var(--jyh-font-sans);
  font-size: 16px;
  line-height: 1.8;
  color: var(--jyh-text);
  background-color: var(--jyh-paper);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img { max-width: 100%; height: auto; display: block; }
ul, ol { list-style-position: inside; }
a { color: var(--jyh-primary); text-decoration: none; transition: color 0.2s ease; }
a:hover { color: var(--jyh-accent); }
button { cursor: pointer; font-family: inherit; }
input, select, textarea { font-family: inherit; }

::selection { background: var(--jyh-accent); color: var(--jyh-primary-dark); }

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--jyh-accent);
  outline-offset: 2px;
}

.container { max-width: 1240px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.container-narrow { max-width: 820px; margin: 0 auto; }

/* ========== 顶部通知条 ========== */
.jyh-top-bar {
  background: var(--jyh-primary-dark);
  color: rgba(255,255,255,0.85);
  font-size: 13px;
  padding: 8px 0; 
  border-bottom: 1px solid rgba(199,164,100,0.25);
}
.jyh-top-bar .container { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.jyh-top-bar span i { color: var(--jyh-accent); margin-right: 6px; }

/* ========== Header品牌行 ========== */
.jyh-header { background: var(--jyh-paper); box-shadow: 0 1px 0 rgba(11,74,64,0.08); position: sticky; top: 0; z-index: 60; }
.jyh-header-main { display: flex; justify-content: space-between; align-items: center; padding: 18px 0; gap: 24px; }
.jyh-logo { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.jyh-logo-mark {
  width: 42px; height: 42px;
  background: var(--jyh-gradient);
  border-radius: 12px 12px 12px 4px;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 16px rgba(7,49,43,0.18);
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}
.jyh-logo-mark::before {
  content: ""; position: absolute; width: 20px; height: 20px;
  border: 2px solid rgba(214,184,122,0.5);
  border-radius: 50%; 
  left: -6px; top: -6px;
}
.jyh-logo-mark span { font-family: var(--jyh-font-serif); font-weight: 700; font-size: 20px; color: var(--jyh-accent); letter-spacing: 0.5px; }
.jyh-logo-text { line-height: 1.25; }
.jyh-logo-text strong { display: block; font-family: var(--jyh-font-serif); font-size: 20px; font-weight: 700; color: var(--jyh-primary-dark); letter-spacing: 0.5px; }
.jyh-logo-text small { font-size: 11px; color: var(--jyh-text-soft); letter-spacing: 1px; display: block; margin-top: 2px; }

.jyh-header-actions { display: flex; align-items: center; gap: 14px; }
.jyh-search-wrap { display: flex; align-items: center; background: var(--jyh-card-bg); border: 1px solid var(--jyh-border); border-radius: var(--jyh-radius-pill); padding: 4px 8px 4px 16px; height: 40px; min-width: 220px; transition: border-color 0.2s; }
.jyh-search-wrap:focus-within { border-color: var(--jyh-accent); }
.jyh-search-wrap input { border: none; background: transparent; font-size: 14px; flex: 1; outline: none; color: var(--jyh-text); min-width: 0; height: auto; margin: 0; }
.jyh-search-wrap button { border: none; background: transparent; color: var(--jyh-primary); padding: 4px 10px; border-radius: 999px; transition: var(--jyh-transition); height: auto; }
.jyh-search-wrap button:hover { background: var(--jyh-primary); color: #fff; }
.jyh-booking-btn {
  background: var(--jyh-gradient);
  color: #fff;
  border: none;
  height: 40px;
  padding: 0 24px;
  border-radius: var(--jyh-radius-btn);
  font-size: 14px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 6px 14px rgba(11,74,64,0.18);
  transition: var(--jyh-transition);
  white-space: nowrap;
}
.jyh-booking-btn:hover { background: var(--jyh-primary-dark); color: var(--jyh-accent-light); transform: translateY(-2px); }

/* ========== 频道导航（第二层） ========== */
.jyh-nav-wrap { background: var(--jyh-card-bg); border-top: 1px solid var(--jyh-border-soft); }
.jyh-nav { display: flex; flex-wrap: nowrap; padding-left: 0; list-style: none; gap: 4px; align-items: stretch; }
.jyh-nav::-webkit-scrollbar { display: none; }
.jyh-nav-item { list-style: none; flex-shrink: 0; position: relative; }
.jyh-nav-item a {
  position: relative;
  display: block;
  padding: 14px 20px;
  color: var(--jyh-text);
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
}
.jyh-nav-item a::after {
  content: ''; position: absolute; left: 20px; right: 20px; bottom: 8px;
  height: 2px; background: var(--jyh-accent); border-radius: 4px;
  transform: scaleX(0); transition: transform 0.25s ease; transform-origin: center;
}
.jyh-nav-item a:hover, .jyh-nav-item a:focus-visible { color: var(--jyh-primary); }
.jyh-nav-item a:hover::after, .jyh-nav-item a:focus-visible::after { transform: scaleX(1); }
.jyh-nav-item.jyh-nav-active a { color: var(--jyh-primary-dark); font-weight: 700; }
.jyh-nav-item.jyh-nav-active a::after { transform: scaleX(1); }
.jyh-nav-mobile-btn { display: none; }

/* ========== Hero首屏 ========== */
.jyh-hero { position: relative; background: var(--jyh-gradient); overflow: hidden; color: #fff; }
.jyh-hero-bg {
  position: absolute; inset: 0; z-index: 1;
  background-image: linear-gradient(to bottom, rgba(7,49,43,0.88) 0%, rgba(7,49,43,0.42) 100%), url('/assets/images/backpic/back-1.png');
  background-size: cover; background-position: center 30%;
}
.jyh-hero-ornament { position: absolute; width: 420px; height: 420px; border: 1px solid rgba(214,184,122,0.14); border-radius: 50%; top: -160px; right: -120px; z-index: 2; }
.jyh-hero-ornament::before { content:''; position:absolute; inset: 28px; border: 1px solid rgba(214,184,122,0.09); border-radius:50%; }
.jyh-hero-ornament::after { content:''; position:absolute; inset: 74px; background: rgba(214,184,122,0.05); border-radius:50%; }
.jyh-hero-inner { position: relative; z-index: 3; padding: 90px 0 80px; }
.jyh-hero-grid { display: flex; align-items: center; gap: 56px; }
.jyh-hero-content { flex: 1 1 62%; }
.jyh-hero-visual { flex: 1 1 38%; }

.jyh-hero-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  background: rgba(214,184,122,0.12);
  border: 1px solid rgba(214,184,122,0.25);
  padding: 6px 18px 6px 10px;
  border-radius: 999px;
  font-size: 13px;
  color: var(--jyh-accent-light);
  letter-spacing: 1.5px;
  margin-bottom: 24px;
}
.jyh-hero-eyebrow i { color: var(--jyh-accent); font-size: 14px; }

.jyh-hero-title { font-family: var(--jyh-font-serif); font-size: clamp(30px, 4.2vw, 46px); line-height: 1.4; color: #fff; font-weight: 700; margin-bottom: 20px; }
.jyh-hero-title em { font-style: normal; color: var(--jyh-accent-light); position: relative; padding-bottom: 4px; border-bottom: 2px solid rgba(199,164,100,0.5); }

.jyh-hero-desc { font-size: 17px; line-height: 2; color: rgba(255,255,255,0.88); max-width: 620px; margin-bottom: 44px; font-family: var(--jyh-font-sans); }

.jyh-hero-btns { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.jyh-btn-primary, .jyh-btn-outline {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 15px; font-weight: 600;
  padding: 14px 32px;
  border-radius: var(--jyh-radius-btn);
  transition: var(--jyh-transition);
  border: none;
}
.jyh-btn-primary { background: var(--jyh-accent); color: var(--jyh-primary-dark); box-shadow: 0 8px 22px rgba(199,164,100,0.24); }
.jyh-btn-primary:hover { background: var(--jyh-accent-light); color: var(--jyh-primary-dark); transform: translateY(-3px); box-shadow: 0 12px 30px rgba(199,164,100,0.32); }
.jyh-btn-outline { background: transparent; border: 2px solid var(--jyh-accent); color: var(--jyh-accent-light); }
.jyh-btn-outline:hover { background: var(--jyh-accent); color: var(--jyh-primary-dark); transform: translateY(-3px); }

.jyh-hero-cards { display: flex; flex-direction: column; gap: 18px; }
.jyh-hero-card {
  background: rgba(255, 252, 247, 0.9);
  backdrop-filter: blur(4px);
  border-radius: var(--jyh-radius-lg);
  padding: 22px 24px;
  font-family: var(--jyh-font-sans);
  box-shadow: 0 12px 30px rgba(7,49,43,0.18);
  color: var(--jyh-text);
}
.jyh-hero-card:last-child { background: rgba(11,74,64,0.85); border: 1px solid rgba(214,184,122,0.2); color: #fff; }
.jyh-hero-card-top { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; font-family: var(--jyh-font-sans); }
.jyh-hero-card-top i { font-size: 22px; color: var(--jyh-accent); }
.jyh-hero-card h3 { font-size: 17px; font-weight: 700; color: inherit; font-family: var(--jyh-font-sans); }
.jyh-hero-card p { font-size: 13px; line-height: 1.6; color: inherit; opacity: 0.88; margin: 0; }

.jyh-hero-tips { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 34px; padding-top: 22px; border-top: 1px solid var(--jyh-border-soft); }
.jyh-hero-tip { font-size: 13px; color: var(--jyh-text); font-weight: 500; color: var(--jyh-text-soft) }
.jyh-hero-tip i { color: var(--jyh-accent); margin-right: 8px; }

/* ========== 通用板块 ========== */
.jyh-section { padding: 80px 0; }
.jyh-section-light { background: var(--jyh-card-bg); }
.jyh-section-subtle { background: var(--jyh-sub-bg); }
.jyh-section-accent-bg { background: var(--jyh-primary-dark); }
.jyh-section-head { margin-bottom: 48px; }
.jyh-section-head h1, .jyh-section-head h2 { font-family: var(--jyh-font-serif); color: var(--jyh-primary-dark); font-size: clamp(28px, 4vw, 34px); margin-bottom: 12px; line-height: 1.5; }
.jyh-section-head h1 em, .jyh-section-head h2 em { font-style: normal; color: var(--jyh-accent); border-bottom: 3px solid var(--jyh-accent); padding-bottom: 2px; }
.jyh-section-head p { color: var(--jyh-text-soft); font-size: 16px; line-height: 1.8; max-width: 720px; margin-bottom: 10px; }
.jyh-section-head.center { text-align: center; }
.jyh-section-head.center p { margin: 0 auto; }
.jyh-section-title-accent { display: inline-block; position: relative; }
.jyh-section-title-accent::before { display: none; }
.jyh-kicker {
  display: inline-flex; align-items: gap: 8px; gap: 8px;
  color: var(--jyh-accent);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.jyh-kicker::after { content:''; display: block; width: 30px; height: 1px; background: var(--jyh-accent); align-self: center; }

/* ========== 痛点提问 ========== */
.jyh-pain-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin: 40px 0 20px; }
.jyh-pain-card {
  background: var(--jyh-card-bg);
  border: 1px solid var(--jyh-border-soft);
  border-radius: var(--jyh-radius);
  padding: 30px 24px;
  box-shadow: var(--jyh-shadow-sm);
  transition: var(--jyh-transition);
  position: relative;
  overflow: hidden;
  display: flex; align-items: center;
}
.jyh-pain-card:hover { box-shadow: var(--jyh-shadow-large, 0 14px 38px rgba(7,49,43,0.1)); transform: translateY(-5px); border-color: rgba(199,164,100,0.4); }
.jyh-pain-num { font-family: var(--jyh-font-serif); font-size: 30px; color: #D6B87A; font-weight: 700; line-height: 1; margin-right: 18px; opacity: 0.4; position: absolute; top: 14px; right: 16px; }
.jyh-pain-card h3 { font-size: 16px; color: var(--jyh-primary-dark); margin-bottom: 8px; font-weight: 600; line-height: 1.6; }
.jyh-pain-card h3:before {
  content: attr(data-index);
  display: block;
  font-family: var(--jyh-font-serif);
  font-size: 22px;
  color: #D6B87A;
  margin-bottom: 6px;
  opacity: 0.5;
}
.jyh-pain-card p { font-size: 14px; color: var(--jyh-text-soft); line-height: 1.7; margin-top: 6px; }
.jyh-pain-head-actions { text-align: center; margin-top: 30px; }

/* ========== 方案卡片区 ========== */
.jyh-solution-grid { display: grid; grid-template-columns: 2fr 1fr 0.4fr; gap: 22px; align-items: start; }
.jyh-solution-main-card {
  background: var(--jyh-gradient);
  border-radius: var(--jyh-radius-lg);
  overflow: hidden;
  background-image: linear-gradient(135deg, rgba(11,74,64,0.92) 0%, rgba(7,49,43,0.98) 100%), url('/assets/images/backpic/back-2.png');
  background-size: cover; background-position: center 40%;
  color: #fff; position: relative;
  padding: 32px;
  min-height: 360px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.jyh-solution-main-card .quad-decoration { content:''; position: absolute; width: 100px; height: 4px; background: var(--jyh-accent); top: 0; left: 28px; }
.jyh-solution-main-card h3 { font-size: 24px; color: #fff; font-family: var(--jyh-font-serif); margin-bottom: 14px; }
.jyh-solution-main-card p { font-size: 15px; color: rgba(255,255,255,0.9); margin-bottom: 24px; max-width: 420px; line-height: 1.9; }
.jyh-solution-main-card .jyh-btn-primary { align-self: flex-start; }
.jyh-solution-side { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 20px; }
.jyh-solution-card {
  background: var(--jyh-card-bg);
  border: 1px solid var(--jyh-border-soft);
  border-radius: var(--jyh-radius);
  padding: 26px 22px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-shadow: var(--jyh-shadow-sm);
}
.jyh-solution-card i { font-size: 34px; color: var(--jyh-accent); margin-bottom: 8px; }
.jyh-solution-card h3 { font-size: 16px; color: var(--jyh-primary-dark); font-weight: 600; }
.jyh-solution-card h3:before {
  content: '';
  display: block; 
  width: 20px; height: 2px;
  background: var(--jyh-accent);
  margin-bottom: 12px;
}
.jyh-solution-card p { font-size: 13px; color: var(--jyh-text-soft); flex: 1; grid-auto-rows: min-content; }
.jyh-solution-card-text { font-size: 13px; }
.jyh-solution-card-tag { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 5px; }
.jyh-solution-split { background: var(--jyh-accent); border-radius: var(--jyh-radius); color: var(--jyh-primary-dark); padding: 20px 14px; display: flex; align-self: stretch; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; text-align: center; }
.jyh-solution-split span { transform: rotate(0deg); letter-spacing: 2px; }
.jyh-solution-split span i { display: block; font-size: 25px; margin-bottom: 12px; color: var(--jyh-primary-dark); }

.jyh-sol-feature-list { list-style: none; margin-top: 12px; display: flex; flex-wrap: wrap; gap: 6px; }
.jyh-sol-feature-list li { background: rgba(199,164,100,0.1); border: 1px solid var(--jyh-border); color: var(--jyh-text); padding: 8px 14px; border-radius: 30px; font-size: 13px; }

/* ========== 数据区 ========== */
.jyh-stats { background: var(--jyh-primary-dark); padding: 60px 0; border-top: 4px solid var(--jyh-accent); }
.jyh-stats-strip { border-top: 1px solid rgba(214,184,122,0.15); border-bottom: 1px solid rgba(214,184,122,0.15); padding: 24px 0; }
.jyh-stats-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.jyh-stat { text-align: center; padding: 22px 15px; transition: var(--jyh-transition); }
.jyh-stat-num { font-family: var(--jyh-font-serif); font-size: clamp(30px, 3.6vw, 48px); color: var(--jyh-accent-light); font-weight: 700; line-height: 1.3; }
.jyh-stat-label { font-size: 14px; color: rgba(255,255,255,0.55); margin-top: 8px; letter-spacing: 1px; }

/* 场景/流程 tab */
.jyh-tab-panel { flex-wrap: wrap; }

/* ========== 特色服务区块 ========== */
.jyh-feature-grid { display: flex; gap: 20px; align-items: stretch; }
.jyh-feature-media { width: 45%; background: url('/assets/images/coverpic/cover-3.webp') center/cover no-repeat; border-radius: var(--jyh-radius-lg); min-height: 400px; position: relative; }
.jyh-feature-media i { position: absolute; right: 20px; top: 20px; background: rgba(255,255,255,0.7); backdrop-filter: blur(4px); padding: 8px; border-radius: 50%; color: var(--jyh-primary); font-size: 24px; }
.jyh-feature-content-flex { flex: 1; }
.jyh-feature-content { background: var(--jyh-card-bg); border-radius: var(--jyh-radius-lg); padding: 30px; border: 1px solid var(--jyh-border-soft); box-shadow: var(--jyh-shadow-sm); }
.jyh-feature-content > * + * { margin-top: 18px; }
.jyh-feature-content h2, .jyh-feature-content h3 { font-size: 24px; color: var(--jyh-primary-dark); font-family: 'Noto Serif SC'; font-weight: 700; }
.jyh-feature-content > p, .jyh-feature-content li { color: var(--jyh-text-soft); line-height: 1.9; }
.jyh-check-list { list-style-type: none; column-count: 2; column-gap: 18px; color: var(--jyh-text-soft); margin-top: 5px; }
.jyh-check-list li { padding-left: 24px; position: relative; font-size: 15px; margin-bottom: 12px; }
.jyh-check-list li::before {content: "✓"; position: absolute; left: 0; color: var(--jyh-accent); font-weight: 700; }
.jyh-feature-pair { display: grid; grid-template-columns: 1.2fr 1fr; gap: 18px; margin-top: 20px; }
.jyh-feature-card { background: var(--jyh-sub-bg); padding: 22px; border-radius: var(--jyh-radius); border-bottom: 2px solid transparent; }
.jyh-feature-card h4 { display: flex; align-items: center; gap: 8px; font-size: 17px; color: var(--jyh-primary-dark); margin-bottom: 10px; }
.jyh-feature-card h4 i { color: var(--jyh-accent); }

/* ========== 最新动态 CMS卡区 ========== */
.jyh-latest-grid { display: block; }
.jyh-latest-list { display: flex; flex-direction: column; gap: 12px; }
.jyh-news-card {
  display: flex; gap: 18px;
  background: var(--jyh-card-bg);
  border-radius: var(--jyh-radius);
  padding: 12px;
  box-shadow: var(--jyh-shadow-sm);
  border: 1px solid rgba(11,74,64,0.06);
  transition: var(--jyh-transition);
}
.jyh-news-card:hover { transform: translateY(-3px); box-shadow: var(--jyh-shadow-lg); border-color: rgba(199,164,100,0.3); }
.jyh-news-cover { width: 40%; max-width: 280px; border-radius: 10px; overflow: hidden; position: relative; background: var(--jyh-sub-bg); }
.jyh-news-cover img { width:100%; height:100%; min-height: 170px; max-width: 320px; object-fit: cover; transition: transform 0.5s ease; }
.jyh-news-card:hover .jyh-news-cover img { transform: scale(1.05); }
.jyh-news-cover:after { content:""; position: absolute; inset:0; background: linear-gradient(to top, transparent 75%, rgba(0,0,0,0.15)); pointer-events: none; }
.jyh-news-info { display: flex; flex-direction: column; flex: 1; padding: 10px 6px; }
.jyh-news-cat { align-self: flex-start; }
.jyh-badge {
  display: inline-block;
  background: var(--jyh-primary);
  color: #fff;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1.2;
}
.jyh-badge-gold { background: var(--jyh-accent); color: var(--jyh-primary-dark); }
.jyh-news-title { margin-top: 10px; font-size: 20px; letter-spacing: .5px; font-weight: 600; color: var(--jyh-text); font-family: var(--jyh-font-serif); }
.jyh-news-title a { color: inherit; }
.jyh-news-title a:hover { color: var(--jyh-accent); }
.jyh-news-summary { font-size: 15px; color: var(--jyh-text-soft); margin-top: 8px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.jyh-news-meta { display: flex; align-items: center; gap: 14px; margin-top: 12px; font-size: 13px; color: var(--jyh-text-soft); flex-wrap: wrap; }
.jyh-news-meta span i { margin-right: 4px; }
.jyh-combine-card {
  background: var(--jyh-card-bg);
  border-radius: var(--jyh-radius-lg);
  box-shadow: var(--jyh-shadow);
  border: 1px solid var(--jyh-border-soft);
  overflow: hidden;
  padding: 20px;
}

/* ========== FAQ 手风琴 ========== */
.jyh-faq-wrap { display: flex; flex-wrap: wrap; gap: 30px; }

.jyh-faq-side { flex: 1 1 270px; display: flex; flex-direction: column; justify-content: space-between; gap: 20px; }
.jyh-faq-side h2 { font-size: 28px; color: var(--jyh-primary-dark); }
.jyh-faq-side p { color: var(--jyh-text-soft); font-size: 15px; }
.jyh-faq-links, .jyh-help-mini { color: var(--jyh-text-soft); font-size: 14px; line-height: 1.8; }
.jyh-faq-main { flex: 1 1 600px; }
.jyh-acc { background: var(--jyh-card-bg); border-radius: var(--jyh-radius-lg); border: 1px solid rgba(11,74,64,0.1); box-shadow: var(--jyh-shadow-sm); }
.jyh-acc-item { background: transparent; }

/* Override Foundation Accordion completely */
.jyh-acc .accordion-item { border-bottom: 1px solid var(--jyh-border-soft); background: inherit; }
.jyh-acc .accordion-item:last-child { border-bottom: none; }
.jyh-acc .accordion-title {
  background: transparent !important;
  color: var(--jyh-text) !important;
  border-radius: 10px;
  font-size: 17px;
  padding: 20px 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  font-family: var(--jyh-font-sans);
  font-weight: 600;
  line-height: 1.6;
}
.jyh-acc .accordion-title:hover, .jyh-acc .accordion-title:focus {
  color: var(--jyh-primary) !important;
  background: rgba(199,164,100,0.05) !important;
}
.jyh-acc .accordion-title::before { content: none; }
.jyh-acc .accordion-title .jyh-faq-icon {
  width: 34px; height: 34px;
  flex-shrink: 0;
  border: 1px solid var(--jyh-accent);
  color: var(--jyh-accent);
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 16px;
  position: relative;
}
.jyh-acc .accordion-title .jyh-faq-icon::before { content:"+"; line-height:1; color: var(--jyh-accent); font-weight: 400; }
.jyh-acc .accordion-item.is-active > .accordion-title { background: rgba(247, 243, 234, 0.3); }
.jyh-acc .accordion-item.is-active > .accordion-title .jyh-faq-icon { background: var(--jyh-accent); transform: rotate(45deg); }
.jyh-acc .accordion-item.is-active > .accordion-title .jyh-faq-icon::before { color: var(--jyh-primary-dark); }
.jyh-acc .accordion-content {
  border-bottom: none !important;
  background: transparent !important;
  color: var(--jyh-text-soft) !important;
  padding: 0 18px 24px 18px;
  font-size: 15.5px;
  line-height: 1.9;
}
.accordion-title, .accordion-content { border-color: var(--jyh-border) !important; }
.accordion-title { font-size: 1.2rem; text-rendering: optimizeLegibility; }

/* ========== CTA 背景区 ========== */
.jyh-cta-band { background: var(--jyh-gradient); position: relative; overflow: hidden; }
.jyh-cta-band .bg-img { position: absolute; inset: 0; opacity: 0.25; background: url('/assets/images/backpic/back-3.png') center 60% / cover no-repeat; }
.jyh-cta-box {
  position: relative; z-index: 2;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(214,184,122,0.2);
  border-radius: 22px;
  padding: 64px 20px;
  backdrop-filter: blur(2px);
}
.jyh-cta-box h2 { font-family: var(--jyh-font-serif); font-size: 36px; color: #fff; text-align: center; margin-bottom: 10px; }
.jyh-cta-box h2 strong { color: var(--jyh-accent-light); }
.jyh-cta-box h2 .gold { color: var(--jyh-accent); }
.jyh-cta-box h2 p { color: rgba(255,255,255,0.8); margin-top: 6px; font-size: 18px; font-family: "PingFang SC", "Microsoft YaHei", sans-serif; font-weight: 400; }
.jyh-cta-box p { max-width: 600px; margin: 18px auto 26px; color: rgba(255,255,255,0.8); font-size: 16px; text-align: center; }
.jyh-cta-btn-group { display: flex; gap: 14px; justify-content: center; }


/* ========== Footer ========== */
.jyh-footer { background: var(--jyh-primary-dark); border-top: 1px solid var(--jyh-border); color: rgba(255,255,255,0.8); }
.jyh-footer-top { padding: 60px 0 30px; }
.jyh-footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.3fr; gap: 32px; }
.jyh-footer-brand p { opacity: .75; font-size: 14px; line-height: 1.9; }
.jyh-footer-social { display: flex; gap: 13px; margin-top: 20px; }
.jyh-footer-social a {
  width: 38px; height: 38px;
  background: rgba(255,255,255,0.08);
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  transition: 0.23s;
  color: white;
}
.jyh-footer-social a:hover { color: var(--jyh-primary-dark); background: var(--jyh-accent); }
.jyh-footer h4 {
  font-family: var(--jyh-font-serif);
  font-size: 16px;
  color: #E6D4B0;
  letter-spacing: 1.5px;
  margin-bottom: 24px;
  font-weight: 500;
  text-transform: uppercase;
}
.jyh-footer h4:after { content: ""; display: block; width: 28px; height: 2px; background: var(--jyh-accent); margin-top: 12px; border-radius: 2px; }
.jyh-footer-links { list-style: none; }
.jyh-footer-links li { margin-bottom: 14px; }
.jyh-footer-links a { color: rgba(255,255,255,0.72); font-size: 15px; transition: .2s; }
.jyh-footer-links a:hover { color: #fff; padding-left: 5px; }
.jyh-footer-links a i { color: var(--jyh-accent); margin-right: 8px; width: 16px; font-size: 13px;}

.jyh-footer-contact { margin-bottom: 16px; }
.jyh-footer-contact-c { color: rgba(255,255,255,0.72); font-size: 15px; margin-bottom: 10px; display: flex; }
.jyh-footer-contact-c i { color: var(--jyh-accent); width: 18px; margin-right: 10px; margin-top: 6px; }
.jyh-footer-bottom { border-top: 1px solid rgba(255,255,255,0.12); padding: 16px 0 22px; }
.jyh-footer-bottom .container { display: flex; justify-content: space-between; gap: 16px; font-size: 13px; color: rgba(255,255,255,0.5); flex-wrap: wrap; }
.jyh-footer-bottom a { color: rgba(255,255,255,0.65); }

/* ========== 服务标签/内链 ========== */
.jyh-entrance { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; max-width: 720px; margin: 22px auto 0; }
.jyh-entrance-item {
  background: var(--jyh-card-bg);
  border-left: 4px solid var(--jyh-accent);
  padding: 12px 22px;
  border-radius: 5px;
  display: flex; gap: 8px; align-items: center;
  font-size: 15px!important;
  color: var(--jyh-text)!important;
  transition: var(--jyh-transition);
  box-shadow: 0 2px 10px rgba(0,0,0,0.2);
}
.jyh-steps { display: flex; flex-wrap: wrap; gap: 15px; }
.jyh-steps .step-card { background: #fff; border-top: 2px solid var(--jyh-accent); border-radius: 0 0 10px 10px; padding: 25px 20px; flex: 1 1 160px; box-shadow: var(--jyh-shadow-sm); }
.jyh-steps .step-card h3 { font-size: 18px; font-family: Noto Serif SC; }

/* 侧边悬浮联系 */
.jyh-float-right { position: fixed; right: 18px; top: 35%; z-index: 40; display: flex; flex-direction: column; gap: 12px; }
.jyh-float-right a {
  width: 44px; height: 44px;
  background: var(--jyh-card-bg);
  border: 1px solid var(--jyh-border);
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: var(--jyh-shadow-sm);
  color: var(--jyh-text);
  transition: .2s;
  overflow: hidden;
}
.jyh-float-right a:hover, .jyh-float-right a:focus { background: var(--jyh-accent); color: var(--jyh-primary-dark); }

/* 弹层表单 */
.reveal-overrides {
  border: none;
  background: var(--jyh-card-bg);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 30px 60px rgba(0,0,0,0.25);
}
.jyh-modal-header { background: var(--jyh-primary-dark); padding: 22px 26px; color: white; position: relative; }
.jyh-modal-header h3 { font-family: var(--jyh-font-serif); font-size: 22px; color: var(--jyh-accent); }
.jyh-modal-header p { font-size: 13px; color: rgba(255,255,255,0.7); font-family: var(--jyh-font-sans); }
.reveal-overrides .close-button { color: white!important; }
.reveal-overrides .close-button:hover { color: var(--jyh-accent)!important; }
.jyh-form-body { padding: 24px 32px 30px; }
.jyh-online-form label { color: var(--jyh-text); font-weight: 600; font-size: 14px; letter-spacing: .5px; margin-bottom: 10px; }
.jyh-online-form input, .jyh-online-form select, .jyh-online-form textarea {
  border: 1px solid var(--jyh-border);
  border-radius: 10px;
  background: #fffdfb;
  height: 46px;
  font-weight: 300;
  transition: var(--jyh-transition);
  box-shadow: none;
  margin-bottom: 16px;
}
.jyh-online-form textarea { height: 90px; }
.jyh-online-form input:focus, .jyh-online-form select:focus, .jyh-online-form textarea:focus { border-color: var(--jyh-accent); background: white; box-shadow: 2px 2px 6px rgba(199,164,100,.15); }
.jyh-form-privacy { font-size: 12px; color: var(--jyh-text-soft); margin-top: 10px; display: flex; gap: 6px; justify-content: center; align-items: center; }
.jyh-form-privacy i { color: var(--jyh-accent); }
.jyh-success-state { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 30px; text-align: center; gap: 14px; }
.jyh-success-state i { font-size: 52px; color: var(--jyh-accent); margin-bottom: 8px; }

/* 内部固定模块 */
.jyh-yarn-line { height: 1px; background: linear-gradient(90deg,transparent, var(--jyh-accent), transparent); margin: 30px 0; border: none; }
.jyh-yarn-line-v { border-left: 2px solid var(--jyh-accent); border-radius: 2px; height: 100%; min-height: 16px; display: inline-block; }

/* 资讯列表渐显 */
@keyframes fadeMove { from { opacity:0; transform: translateY(18px);} to{ opacity:1; transform:translateY(0);} }
.jyh-news-card { animation: fadeMove .5s ease both; }
.jyh-news-card:nth-child(2){ animation-delay:.05s } .jyh-news-card:nth-child(3){ animation-delay:.1s } .jyh-news-card:nth-child(4){ animation-delay:.15s }

/* 通用阅读按钮 */
.jyh-read-more { justify-content: flex-end; align-items: center; color: var(--jyh-primary); font-size: 15px; font-weight: 700; display: inline-flex; gap: 8px; margin-top: 12px; }
.jyh-read-more i { transition: transform .2s; }
.jyh-read-more:hover i { transform: translateX(4px); }

/* ---- Foundation 修正 ---- */
.grid-margin-x>.cell { margin-bottom: 8px; }
.button, button { font-size: 1rem; }
.jyh-section-head .button { margin-top: 12px; }
.accordion-title { border: none!important; }
.accordion { margin-left: 0; list-style: none; margin-bottom: 0; background: none; border-radius: 8px; }
.callout, .reveal { background: none; color: inherit; border: none; }

/* Responsive */
@media screen and (max-width: 1200px) {
  .jyh-hero-title { font-size: 38px; }
  .jyh-search-wrap { min-width: 160px; }
  .jyh-feature-pair { grid-template-columns: 1fr; }
}
@media screen and (max-width: 1023px) {
  .jyh-container { padding-left: 20px; padding-right: 20px; }
  .jyh-pain-grid { grid-template-columns: repeat(2,1fr); }
  .jyh-hero-grid { flex-direction: column; }
  .jyh-hero-visual { width: 100%; max-width: 600px; margin: 20px auto 0; }
  .jyh-solution-grid { display: grid; grid-template-columns: 1fr; }
  .jyh-solution-main-card { min-height: 300px; }
  .jyh-solution-side { width: 80%; }
  .jyh-solution-split { min-height: 60px; }
  .jyh-footer-grid { grid-template-columns: 1fr 1fr; row-gap: 20px; gap: 15px;  }
  .jyh-feature-grid { display: block; }
  .jyh-feature-media { width: 100%; height: 260px !important; min-height: 190px; margin-bottom: 18px; }
  .jyh-feature-content-flex { padding-top: 0; }
  .jyh-feature-content-flex .jyh-feature-content { padding: 28px 26px; }
  .jyh-hero-title { font-size: 34px; }
  .jyh-nav-item a { padding: 12px 12px; font-size: 14px; }
  .jyh-news-card { flex-direction: column; }
  .jyh-news-title { font-size: 20px; }
  .jyh-news-cover img { width: 100%; max-height: 290px; min-height: 80px; object-fit: cover; }
  .jyh-news-cover { width: 100%; max-width: 100%; max-height: 300px; min-height: 180px; }
  .jyh-solution-side { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(1,1fr); }
}
@media screen and (max-width: 767px) {
  body { font-size: 15px; }
  .container { padding-left: 16px; padding-right: 16px; }
  .jyh-header-main { padding: 12px 0; gap: 12px; flex-wrap: wrap; }
  .jyh-nav-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .jyh-nav-wrap::-webkit-scrollbar { display: none; }
  .jyh-nav-item a { padding: 12px 16px; min-height: 44px; }
  .jyh-logo-text strong { font-size: 17px; }
  .jyh-logo-text small { font-size: 10px; }
  .jyh-header-actions { order: -1; margin-left: auto; }
  .jyh-search-wrap { display: none; }
  .jyh-booking-btn { max-height: 36px; font-size: 13px; padding: 0 16px; }
  .jyh-logo-mark { width: 38px; height: 38px; }
  .jyh-hero-inner { padding: 58px 0 50px; }
  .jyh-hero-title { font-size: 27px; line-height: 1.45; }
  .hero-desc { font-size: 14px; }
  .jyh-hero-desc { font-size: 15px; margin-bottom: 30px; line-height: 1.85; }
  .jyh-hero-top { flex-direction: column; align-items: flex-start; }
  .jyh-hero-card { padding: 20px; }
  .jyh-section { padding: 52px 0; }
  .jyh-pain-grid { grid-template-columns: 1fr; }
  .jyh-solution-side { grid-template-columns: 1fr; grid-template-rows: auto; }
  .jyh-news-cover { max-width: none; width: 100%; min-height: 160px; max-height: 200px; }
  .jyh-news-cover img { width: 100%; object-fit: cover; }
  .jyh-news-card { padding: 10px; }
  .jyh-news-summary { -webkit-line-clamp: 2; }
  .jyh-footer-grid { grid-template-columns: 1fr; }
  .jyh-footer { padding-top: 30px; }
  .jyh-footer-top { padding: 30px 0 10px; }
  .jyh-footer h4 { margin-bottom: 16px; }
  .jyh-cta-box h2 { font-size: 24px; }
  .jyh-stats-grid { grid-template-columns: repeat(2, 1fr); gap: 15px 5px; }
  .jyh-btn-primary, .jyh-btn-outline { justify-content: center; min-height: 46px; }
  .jyh-hero-btns { flex-direction: column; }
  .jyh-hero-btns .jyh-btn-primary, .jyh-hero-btns .jyh-btn-outline { width: 100%; justify-content: center; }
  .jyh-feature-media { height: 190px !important; min-height: 150px; border-radius: var(--jyh-radius); }
  .jyh-narrow-col { padding: 0; }
  .jyh-hide-bg { background: none !important; }
  .jyh-hero-visual { max-width: 400px; }
  .jyh-feature-card { padding: 18px; }
  .jyh-feature-pair { grid-template-columns: 1fr; gap: 14px; }
  .jyh-faq-wrap { gap: 26px; }
  
}
@media print {
  .jyh-nav-wrap, .jyh-header-actions, .jyh-tablet-fly, .jyh-footer-bottom .footer-contact { display: none; }
  .jyh-hero-inner { padding: 20px 0; }
}

/* roulang page: category1 */
:root{
    --pine:#0B4A40;
    --pine-dark:#083A33;
    --pine-deep:#052A25;
    --pine-grad:linear-gradient(135deg,#0D5A4F 0%,#07312B 100%);
    --gold:#C7A464;
    --gold-light:#D6B87A;
    --paper:#F7F3EA;
    --card:#FFFCF7;
    --cream:#F1EBDE;
    --ink:#22332F;
    --ink-weak:#5F716C;
    --line:#E7DDCC;
    --line-green:rgba(11,74,64,.14);
    --shadow-sm:0 10px 30px rgba(7,49,43,.07);
    --shadow-md:0 18px 40px rgba(7,49,43,.1);
    --shadow-hover:0 16px 36px rgba(7,49,43,.15);
    --radius:16px;
    --radius-md:12px;
    --radius-lg:20px;
    --font-head:"Noto Serif SC","Source Han Serif SC","Songti SC",SimSun,serif;
    --font-body:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Source Han Sans SC",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0}
p{margin:0 0 1em}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--gold-light);outline-offset:2px}
::selection{background:#D6B87A;color:#083A33}

.jyh-container{max-width:1200px;margin:0 auto;padding:0 56px}
.jyh-section{padding:96px 0}
.jyh-kicker{display:inline-block;background:rgba(199,164,100,.14);color:#8B6B35;border:1px solid rgba(199,164,100,.35);border-radius:999px;padding:5px 16px;font-size:13px;letter-spacing:.5px;font-weight:600}
.jyh-section-title{font-family:var(--font-head);font-size:32px;line-height:1.35;margin:14px 0 12px;color:var(--pine-dark);font-weight:700}
.jyh-section-desc{color:var(--ink-weak);font-size:17px;max-width:820px}
.jyh-center{text-align:center}
.jyh-center .jyh-section-desc{margin-left:auto;margin-right:auto}

.jyh-header{position:sticky;top:0;z-index:120;background:rgba(247,243,234,.95);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(11,74,64,.08)}
.jyh-header-main{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0}
.jyh-logo{display:flex;align-items:center;gap:12px;flex-shrink:0}
.jyh-logo-mark{width:44px;height:44px;border-radius:13px;background:var(--pine-grad);color:var(--gold-light);display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:22px;font-weight:700;box-shadow:inset 0 0 0 1px rgba(214,184,122,.3)}
.jyh-logo-text{line-height:1.15}
.jyh-logo-text strong{display:block;font-family:var(--font-head);font-size:22px;color:var(--pine);letter-spacing:3px;font-weight:700}
.jyh-logo-text small{display:block;font-size:11px;color:#8B6B35;letter-spacing:1.4px;margin-top:3px}
.jyh-header-actions{display:flex;align-items:center;gap:12px;justify-content:flex-end}
.jyh-search-wrap{display:flex;align-items:center;background:#FFFCF7;border:1px solid var(--line);border-radius:999px;overflow:hidden;transition:box-shadow .25s,border-color .25s}
.jyh-search-wrap:focus-within{border-color:#C7A464;box-shadow:0 0 0 4px rgba(199,164,100,.14)}
.jyh-search-wrap input{min-width:220px;border:0;background:transparent;padding:9px 4px 9px 18px;font-size:14px;color:var(--ink);outline:0}
.jyh-search-wrap button{border:0;background:transparent;padding:0 16px;color:var(--gold);font-size:15px;transition:color .2s}
.jyh-search-wrap button:hover{color:var(--pine)}
.jyh-booking-btn{border:1px solid var(--gold);background:var(--gold);color:var(--pine-dark);font-weight:600;padding:9px 22px;border-radius:999px;font-size:14px;transition:transform .2s,box-shadow .25s,background .25s;white-space:nowrap}
.jyh-booking-btn:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 10px 22px rgba(199,164,100,.3)}
.jyh-nav-wrap{background:var(--pine-grad);box-shadow:0 2px 12px rgba(7,49,43,.08)}
.jyh-nav{list-style:none;display:flex;gap:34px;margin:0;padding:0 0 0 8px;justify-content:flex-start}
.jyh-nav-item{margin:0;line-height:1}
.jyh-nav-item a{position:relative;display:inline-block;color:rgba(255,255,255,.78);font-size:15px;padding:15px 0 0;padding-bottom:13px;letter-spacing:.4px;transition:color .2s}
.jyh-nav-item a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:3px;border-radius:4px 4px 0 0;background:var(--gold-light);transition:width .25s ease}
.jyh-nav-item a:hover{color:#fff}
.jyh-nav-item a:hover::after{width:100%}
.jyh-nav-item.jyh-nav-active a{color:#FFFCF7;font-weight:600}
.jyh-nav-item.jyh-nav-active a::after{width:100%;background:var(--gold-light);box-shadow:0 0 12px rgba(214,184,122,.7)}

.jyh-cat-hero{position:relative;background:linear-gradient(105deg,rgba(5,42,37,.97) 0%,rgba(11,74,64,.93) 64%,rgba(13,90,79,.78) 100%),url('/assets/images/backpic/back-1.png') center/cover no-repeat;color:#E9E2D2;padding:80px 0 78px;overflow:hidden}
.jyh-cat-hero::before{content:"";position:absolute;width:430px;height:430px;right:-100px;top:-160px;border:80px solid rgba(214,184,122,.06);border-radius:50%}
.jyh-cat-hero::after{content:"";position:absolute;left:22%;bottom:-180px;width:320px;height:320px;border:2px solid rgba(199,164,100,.14);border-radius:50%}
.jyh-cat-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.jyh-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:rgba(255,255,255,.6);margin-bottom:26px}
.jyh-breadcrumb a{color:rgba(214,184,122,.88)}
.jyh-breadcrumb a:hover{color:#fff}
.jyh-breadcrumb span{margin:0 2px}
.jyh-hero-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(199,164,100,.13);border:1px solid rgba(199,164,100,.4);color:#E4C995;padding:6px 16px;border-radius:999px;font-size:13px;margin-bottom:20px}
.jyh-hero-tag .fas{font-size:11px;color:#D6B87A}
.jyh-cat-hero h1{font-family:var(--font-head);font-size:clamp(30px,4.3vw,44px);line-height:1.32;margin:0 0 20px;color:#FFFCF7;font-weight:700}
.jyh-cat-hero h1 .jyh-gold-text{color:var(--gold-light);position:relative;white-space:nowrap}
.jyh-hero-desc{font-size:17px;line-height:1.95;color:rgba(233,226,210,.82);max-width:600px;margin-bottom:32px}
.jyh-hero-actions{display:flex;flex-wrap:wrap;gap:16px}
.jyh-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:12px;padding:13px 26px;font-weight:600;border:1px solid transparent;transition:transform .25s,box-shadow .25s,background .25s,color .25s;font-size:15px}
.jyh-btn i{font-size:14px}
.jyh-btn-gold{background:var(--gold);color:#08342C;border-color:var(--gold)}
.jyh-btn-gold:hover{background:var(--gold-light);border-color:var(--gold-light);transform:translateY(-3px);box-shadow:0 14px 30px rgba(199,164,100,.35)}
.jyh-btn-ghost{border-color:rgba(214,184,122,.55);color:#E9E2D2;background:rgba(255,255,255,.04)}
.jyh-btn-ghost:hover{border-color:#D6B87A;color:#fff;background:rgba(199,164,100,.12);transform:translateY(-3px)}
.jyh-device-card{position:relative}
.jyh-device-panel{background:var(--card);border-radius:22px;color:var(--ink);overflow:hidden;box-shadow:0 28px 60px rgba(3,22,19,.42),inset 0 0 0 1px rgba(214,184,122,.3)}
.jyh-device-top{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;background:#F1EBDE;border-bottom:1px solid var(--line)}
.jyh-device-dots{display:flex;gap:5px}
.jyh-device-dots i{width:8px;height:8px;border-radius:50%;background:#C8B794}
.jyh-device-dots i:first-child{background:#D6B87A}
.jyh-device-title{display:flex;align-items:center;gap:8px;color:#6A5540;font-size:12px;font-weight:600}
.jyh-device-body{padding:24px 22px}
.jyh-device-hello{margin-bottom:16px;color:#0B4A40;font-weight:700;font-size:16px}
.jyh-device-row{display:flex;align-items:flex-start;gap:12px;background:#FFFCF7;border:1px solid var(--line);border-radius:12px;padding:13px 14px;margin-bottom:10px;transition:transform .25s,box-shadow .25s}
.jyh-device-row:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.jyh-device-row .fa-solid,.jyh-device-row i{color:#C7A464;margin-top:4px;font-size:16px;width:20px;text-align:center}
.jyh-device-row strong{display:block;color:var(--pine-dark);font-size:15px}
.jyh-device-row span{font-size:13px;color:var(--ink-weak)}
.jyh-device-foot{margin-top:12px;background:#F7F3EA;border:1px dashed rgba(199,164,100,.6);border-radius:14px;padding:12px 14px;font-size:13px;color:var(--ink-weak)}
.jyh-device-foot b{color:#8B6B35}

.jyh-issue-section{background:var(--paper);padding:96px 0 100px}
.jyh-issue-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:48px}
.jyh-issue-card{background:var(--card);border:1px solid rgba(231,221,204,.8);border-radius:var(--radius);padding:28px 24px;box-shadow:0 6px 20px rgba(7,49,43,.04);transition:transform .3s,box-shadow .3s,border .3s}
.jyh-issue-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);border-color:rgba(199,164,100,.45)}
.jyh-issue-no{font-family:var(--font-head);font-size:34px;color:rgba(11,74,64,.14);font-weight:700;line-height:1;margin-bottom:18px;display:inline-block;border-bottom:2px solid var(--gold);padding-bottom:6px}
.jyh-issue-card h3{font-family:var(--font-head);font-size:19px;color:var(--pine-dark);margin:0 0 10px;line-height:1.5}
.jyh-issue-card p{margin:0;font-size:15px;color:var(--ink-weak);line-height:1.8}

.jyh-flow-section{position:relative;background:var(--pine-grad);color:#E9E2D2;overflow:hidden;padding:96px 0}
.jyh-flow-section::before{content:"";position:absolute;left:-60px;bottom:-120px;width:300px;height:300px;border:60px solid rgba(214,184,122,.04);border-radius:50%}
.jyh-flow-section .jyh-kicker{background:rgba(214,184,122,.12);border-color:rgba(214,184,122,.35);color:#E8CD9F}
.jyh-flow-section .jyh-section-title{color:#FFFCF7}
.jyh-flow-section .jyh-section-desc{color:rgba(233,226,210,.78)}
.jyh-flow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px;position:relative;z-index:1}
.jyh-step{background:rgba(255,255,255,.055);border:1px solid rgba(214,184,122,.16);border-radius:18px;padding:28px 24px;min-height:265px;transition:transform .3s,background .3s,border .3s}
.jyh-step:hover{transform:translateY(-5px);background:rgba(255,255,255,.09);border-color:rgba(214,184,122,.45)}
.jyh-step-no{font-family:var(--font-head);font-size:36px;color:var(--gold-light);font-weight:700;line-height:1;margin-bottom:18px}
.jyh-step h3{color:#FFFCF7;font-size:20px;font-family:var(--font-head);margin:0 0 10px}
.jyh-step p{font-size:14.5px;line-height:1.85;color:rgba(233,226,210,.68);margin:0}
.jyh-step .jyh-step-tip{display:inline-block;margin-top:12px;background:rgba(199,164,100,.15);color:#E8CD9F;border-radius:999px;padding:4px 12px;font-size:12px}

.jyh-service-section{background:#FBF8F1;padding:96px 0}
.jyh-service-top{display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between;align-items:flex-end;margin-bottom:44px}
.jyh-service-top .jyh-section-desc{margin:0}
.jyh-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.jyh-service-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:31px 28px 26px;overflow:hidden;transition:transform .3s,box-shadow .3s;box-shadow:0 8px 24px rgba(7,49,43,.05)}
.jyh-service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover)}
.jyh-service-card::before{content:"";position:absolute;left:28px;right:28px;top:0;height:2px;background:linear-gradient(90deg,var(--gold),rgba(199,164,100,.1),transparent);border-radius:0 0 4px 4px}
.jyh-service-icon{width:52px;height:52px;border-radius:15px;background:#FFF5E8;border:1px solid rgba(199,164,100,.34);color:#9A7737;display:flex;align-items:center;justify-content:center;font-size:21px;margin-bottom:22px}
.jyh-service-card h3{font-family:var(--font-head);font-size:20px;color:var(--pine-dark);margin:0 0 12px;line-height:1.45}
.jyh-service-card p{color:var(--ink-weak);font-size:14.5px;line-height:1.85;margin-bottom:20px}
.jyh-service-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.jyh-service-tags span{background:#F2ECE0;border-radius:8px;padding:4px 11px;font-size:12px;color:#5F625A}
.jyh-text-link{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:#0B4A40;transition:gap .2s,color .2s}
.jyh-text-link:hover{color:#8B6B35;gap:11px}
.jyh-text-link i{color:var(--gold)}

.jyh-resource-section{background:var(--paper);padding:96px 0}
.jyh-resource-card{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;gap:52px;background:var(--pine-pattern);border-radius:24px;background:linear-gradient(115deg,#0A4A40,#07382F),url('/assets/images/backpic/back-2.png') center/cover;color:#E9E2D2;overflow:hidden;box-shadow:0 22px 50px rgba(7,49,43,.22)}
.jyh-resource-img{position:relative;min-height:320px}
.jyh-resource-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9)}
.jyh-resource-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 20%,rgba(5,42,37,.2) 100%)}
.jyh-resource-info{padding:44px 34px 44px 0;align-self:center}
.jyh-resource-info .jyh-kicker{background:rgba(214,184,122,.12);border-color:rgba(214,184,122,.35);color:#E8CD9F}
.jyh-resource-info h2{font-family:var(--font-head);color:#FFFCF7;font-size:28px;line-height:1.45;margin:18px 0 16px}
.jyh-resource-info p{color:rgba(233,226,210,.75);font-size:15.5px;margin-bottom:22px}
.jyh-resource-list{list-style:none;margin:0 0 28px;display:grid;grid-template-columns:1fr 1fr;gap:9px}
.jyh-resource-list li{display:flex;align-items:flex-start;gap:9px;font-size:14.5px;color:rgba(233,226,210,.86)}
.jyh-resource-list i{color:var(--gold-light);font-size:12px;margin-top:7px}
.jyh-resource-actions{display:flex;flex-wrap:wrap;gap:14px}
.jyh-resource-actions .jyh-btn-gold:hover{transform:translateY(-3px)}
.jyh-resource-actions .jyh-btn{background:transparent;border-color:rgba(214,184,122,.45);color:#E9E2D2}
.jyh-resource-actions .jyh-btn:hover{background:rgba(199,164,100,.12);border-color:#D6B87A}

.jyh-why-section{background:#F1EBDE;padding:96px 0}
.jyh-why-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-top:40px}
.jyh-why-left h2{font-family:var(--font-head);font-size:32px;color:var(--pine-dark);line-height:1.4;margin:16px 0 14px}
.jyh-why-left .jyh-section-desc{margin-bottom:26px}
.jyh-why-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.jyh-stat{background:var(--card);border-radius:18px;padding:25px 20px;border:1px solid rgba(231,221,204,.65);text-align:left;box-shadow:0 8px 18px rgba(7,49,43,.05);transition:transform .25s,box-shadow .25s}
.jyh-stat:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.jyh-stat b{display:block;font-family:var(--font-head);font-size:34px;color:var(--gold);line-height:1.2;margin-bottom:5px;letter-spacing:1px}
.jyh-stat span{color:var(--ink-weak);font-size:14px}
.jyh-why-right{background:var(--pine-deep);border-radius:22px;padding:36px 32px;color:#E9E2D2;position:relative;overflow:hidden}
.jyh-why-right::after{content:"金";position:absolute;right:-20px;bottom:-50px;font-family:var(--font-head);font-size:200px;color:rgba(214,184,122,.05);line-height:1}
.jyh-why-right h3{position:relative;z-index:1;font-family:var(--font-head);color:#FFFCF7;font-size:23px;margin:0 0 18px}
.jyh-why-list{position:relative;z-index:1;list-style:none}
.jyh-why-list li{display:flex;gap:14px;margin-bottom:20px;font-size:15px;color:rgba(233,226,210,.82)}
.jyh-why-list .fa-circle-check{color:var(--gold-light);margin-top:4px}
.jyh-why-list b{color:#FFFCF7;font-weight:600}

.jyh-faq-section{background:#FFFCF7;padding:96px 0}
.jyh-faq-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;margin-top:42px}
.jyh-faq-intro{position:sticky;top:180px;align-self:start}
.jyh-faq-intro .jyh-kicker{margin-bottom:14px}
.jyh-faq-intro h2{font-family:var(--font-head);font-size:32px;color:var(--pine-dark);line-height:1.4;margin:14px 0 14px}
.jyh-faq-intro p{color:var(--ink-weak);margin-bottom:24px}
.jyh-faq-cta{display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:#08342C;border-radius:12px;padding:12px 22px;font-weight:600;transition:all .25s}
.jyh-faq-cta:hover{background:var(--gold-light);box-shadow:0 12px 26px rgba(199,164,100,.34);transform:translateY(-2px)}
.jyh-faq-list{display:flex;flex-direction:column;gap:14px}
.jyh-faq-item{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:background .25s,border .25s}
.jyh-faq-item.jyh-faq-open{border-color:rgba(199,164,100,.5);background:#FBF8F1}
.jyh-faq-q{width:100%;display:flex;align-items:center;gap:16px;background:none;border:0;text-align:left;padding:18px 20px;color:var(--pine-dark);font-weight:600;font-size:16px;line-height:1.55}
.jyh-faq-q .faq-dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--gold);position:relative}
.jyh-faq-q .faq-icon{flex:0 0 auto;width:28px;height:28px;border-radius:50%;border:1px solid rgba(199,164,100,.6);display:flex;align-items:center;justify-content:center;color:#8B6B35;margin-left:auto;transition:transform .3s,background .3s,color .3s;font-size:13px}
.jyh-faq-item.jyh-faq-open .faq-icon{transform:rotate(45deg);background:var(--gold);color:#08342C}
.jyh-faq-a{max-height:0;overflow:hidden;transition:max-height .45s ease}
.jyh-faq-content{padding:0 24px 20px 46px;color:var(--ink-weak);font-size:15px;line-height:1.9;border-top:1px dashed rgba(199,164,100,.28);margin-top:4px;padding-top:14px}

.jyh-cta-banner{position:relative;background:linear-gradient(120deg,#073830,rgba(11,74,64,.96)),url('/assets/images/backpic/back-3.png') center/cover;color:#FFFCF7;text-align:center;padding:84px 0;overflow:hidden}
.jyh-cta-banner::before{content:"";position:absolute;left:50%;top:-100px;width:360px;height:360px;border:46px solid rgba(214,184,122,.07);border-radius:50%;transform:translateX(-10%)}
.jyh-cta-inner{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:0 20px}
.jyh-cta-banner h2{font-family:var(--font-head);color:#FFFCF7;font-size:34px;line-height:1.4;margin:0 0 16px;letter-spacing:1px}
.jyh-cta-banner p{color:rgba(233,226,210,.75);font-size:17px;margin-bottom:34px}
.jyh-cta-banner .jyh-actions{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}

.jyh-footer{background:var(--pine-deep);color:rgba(233,226,210,.7)}
.jyh-footer-top{border-top:2px solid var(--gold);padding:62px 0 40px}
.jyh-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:44px}
.jyh-footer-brand p{font-size:14px;line-height:1.9;margin:0 0 16px;color:rgba(233,226,210,.66)}
.jyh-footer h4{font-family:var(--font-head);font-size:18px;color:#FFFCF7;margin:0 0 18px;letter-spacing:.8px;position:relative;padding-bottom:10px}
.jyh-footer h4::after{content:"";position:absolute;left:0;bottom:0;width:30px;height:2px;background:var(--gold)}
.jyh-footer-links{list-style:none}
.jyh-footer-links li{margin-bottom:10px}
.jyh-footer-links a{display:inline-flex;align-items:center;gap:7px;font-size:14px;color:rgba(233,226,210,.68);transition:color .25s,transform .2s}
.jyh-footer-links a i{color:var(--gold);font-size:12px}
.jyh-footer-links a:hover{color:#fff;transform:translateX(4px)}
.jyh-footer-contact-c{display:flex;gap:12px;margin-bottom:18px;font-size:14px;color:rgba(233,226,210,.72);line-height:1.7}
.jyh-footer-contact-c>i{color:var(--gold);margin-top:5px;width:18px}
.jyh-footer-social{display:flex;gap:11px;margin-top:6px}
.jyh-footer-social a{width:38px;height:38px;border:1px solid rgba(214,184,122,.26);color:rgba(233,226,210,.75);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:15px;transition:all .25s}
.jyh-footer-social a:hover{background:var(--gold);color:var(--pine-deep);border-color:var(--gold);transform:translateY(-3px)}
.jyh-footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:20px 0 22px}
.jyh-footer-bottom .jyh-container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:13px;color:rgba(255,255,255,.4)}
.jyh-footer-bottom a{color:rgba(214,184,122,.72)}

.jyhModal.jyh-modal{max-width:480px;border-radius:22px;padding:30px;background:var(--card);border:1px solid var(--line);box-shadow:0 36px 70px rgba(5,25,22,.34);color:var(--ink)}
.jyh-modal-head{text-align:center;margin-bottom:8px}
.jyh-modal-head h3{font-family:var(--font-head);font-size:24px;color:var(--pine-dark);margin:0 0 5px}
.jyh-modal-head p{color:var(--ink-weak);font-size:14px;margin:0}
.jyh-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.jyh-form-group{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.jyh-form-group label{font-size:13px;color:#465A53;font-weight:600}
.jyh-form-group input,.jyh-form-group select,.jyh-form-group textarea{background:#FBF8F1;border:1px solid #E0D3BD;border-radius:11px;padding:11px 14px;color:var(--ink);outline:0;width:100%;transition:border .25s,box-shadow .25s}
.jyh-form-group input:focus,.jyh-form-group select:focus,.jyh-form-group textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(199,164,100,.14)}
.jyh-modal-priv{margin:8px 0 18px;font-size:12px;color:#7C877F;line-height:1.75;background:#F5EFE3;padding:12px 14px;border-radius:10px}
.jyh-modal-submit{width:100%;border:0;background:var(--gold);color:#08342C;border-radius:12px;padding:14px;font-size:16px;font-weight:700;transition:background .25s,transform .25s,box-shadow .25s}
.jyh-modal-submit:hover{background:var(--gold-light);box-shadow:0 14px 28px rgba(199,164,100,.35);transform:translateY(-2px)}
.close-button{right:1rem;top:.9rem;color:#8B6B35}
.jyh-form-success{margin-top:16px;background:#E4F0EB;border:1px solid rgba(11,74,64,.2);color:var(--pine-dark);border-radius:12px;padding:14px;text-align:center;font-size:14px;display:flex;gap:8px;align-items:center;justify-content:center}
.jyh-form-success i{color:#0B4A40}
.is-hidden{display:none}
.reveal-overlay{background:rgba(5,25,22,.62);backdrop-filter:blur(4px)}

@media(max-width:1100px){
    .jyh-container{padding:0 48px}
    .jyh-why-grid{gap:36px}
    .jyh-service-grid{grid-template-columns:repeat(2,1fr)}
    .jyh-resource-info{padding-right:28px}
}
@media(max-width:900px){
    .jyh-cat-hero{padding:62px 0}
    .jyh-cat-hero-grid{grid-template-columns:1fr;gap:42px}
    .jyh-device-card{max-width:520px}
    .jyh-issue-grid{grid-template-columns:1fr 1fr}
    .jyh-flow-grid{grid-template-columns:repeat(2,1fr)}
    .jyh-resource-card{grid-template-columns:1fr}
    .jyh-resource-info{padding:36px 28px 40px}
    .jyh-resource-img{min-height:250px}
    .jyh-resource-img img{position:relative}
    .jyh-footer-grid{grid-template-columns:1fr 1fr}
    .jyh-faq-layout{grid-template-columns:1fr;gap:30px}
    .jyh-faq-intro{position:static}
    .jyh-header-main{padding:12px 0}
    .jyh-search-wrap input{min-width:150px}
}
@media(max-width:767px){
    .jyh-container{padding:0 24px}
    .jyh-section{padding:68px 0}
    .jyh-section-title{font-size:26px}
    .jyh-cent-mobile{text-align:center}
    .jyh-logo-text strong{font-size:18px;letter-spacing:1px}
    .jyh-logo-text small{font-size:10px;letter-spacing:.6px}
    .jyh-logo-mark{width:36px;height:36px;font-size:18px}
    .jyh-search-wrap{display:none}
    .jyh-booking-btn{padding:8px 14px;font-size:13px}
    .jyh-nav-wrap{margin-top:0}
    .jyh-nav{display:flex;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;gap:20px;padding:0 8px;scrollbar-width:none}
    .jyh-nav::-webkit-scrollbar{display:none}
    .jyh-nav li{flex:0 0 auto}
    .jyh-nav-item a{white-space:nowrap;padding:12px 0 11px;font-size:14px}
    .jyh-btn{padding:11px 19px;font-size:14px}
    .jyh-cat-hero h1{font-size:30px}
    .jyh-hero-desc{font-size:15px}
    .jyh-issue-grid{grid-template-columns:1fr}
    .jyh-flow-section .jyh-section-desc{font-size:15px}
    .jyh-flow-grid{grid-template-columns:1fr}
    .jyh-step{min-height:0}
    .jyh-service-grid{grid-template-columns:1fr}
    .jyh-service-top{display:block}
    .jyh-why-grid{grid-template-columns:1fr}
    .jyh-why-metrics{grid-template-columns:1fr 1fr}
    .jyh-resource-info{padding:30px 22px 34px}
    .jyh-resource-info h2{font-size:24px}
    .jyh-resource-list{grid-template-columns:1fr}
    .jyh-faq-layout{gap:24px}
    .jyh-faq-q{font-size:15px;padding:15px 14px}
    .jyh-footer-grid{grid-template-columns:1fr;gap:34px}
    .jyh-footer-top{padding:46px 0 30px}
    .jyh-form-grid{grid-template-columns:1fr}
    .jyh-form-group{margin-bottom:12px}
    .jyh-modal{padding:22px}
}
@media(max-width:520px){
    .jyh-container{padding:0 20px}
    .jyh-cat-hero .jyh-hero-actions,.jyh-cta-banner .jyh-actions{flex-direction:column}
    .jyh-cat-hero .jyh-btn,.jyh-cta-banner .jyh-btn{width:100%}
    .jyh-resource-actions{flex-direction:column}
    .jyh-resource-actions .jyh-btn{width:100%}
    .jyh-footer-bottom .jyh-container{flex-direction:column;align-items:flex-start}
}

/* roulang page: article */
:root {
    --jyh-primary: #0B4A40;
    --jyh-primary-dark: #083A33;
    --jyh-primary-deep: #07312B;
    --jyh-grad-start: #0D5A4F;
    --jyh-grad-end: #07312B;
    --jyh-accent: #C7A464;
    --jyh-accent-bright: #D6B87A;
    --jyh-paper: #F7F3EA;
    --jyh-card: #FFFCF7;
    --jyh-soft: #F1EBDE;
    --jyh-ink: #22332F;
    --jyh-muted: #5F716C;
    --jyh-border: #E7DDCC;
    --jyh-line: rgba(11, 74, 64, 0.12);
    --jyh-goldline: rgba(199, 164, 100, 0.4);
    --jyh-radius: 18px;
    --jyh-radius-md: 14px;
    --jyh-radius-sm: 12px;
    --jyh-pill: 999px;
    --jyh-shadow: 0 10px 30px rgba(7, 49, 43, 0.07);
    --jyh-shadow-lg: 0 18px 42px rgba(7, 49, 43, 0.13);
    --jyh-serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", SimSun, serif;
    --jyh-sans: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif;
}
*,
*::before,
*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: var(--jyh-sans);
    background: var(--jyh-paper);
    color: var(--jyh-ink);
    line-height: 1.75;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; display: block; border: 0; }
a { color: var(--jyh-primary-dark); text-decoration: none; transition: color .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
a:hover { color: var(--jyh-accent); }
button, input, select, textarea { font-family: inherit; }
p { margin: 0 0 1em; }
ul, ol { margin: 0 0 1em; padding-left: 1.4em; }

/* 容器与布局 */
.jyh-container {
    max-width: 1240px;
    margin: 0 auto;
    padding-left: 32px;
    padding-right: 32px;
    width: 100%;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid rgba(214, 184, 122, 0.7);
    outline-offset: 2px;
    border-radius: 4px;
}

/* 通用按钮 */
.jyh-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 46px;
    padding: 12px 24px;
    border-radius: var(--jyh-radius-sm);
    border: 1px solid transparent;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease, color .22s ease;
    line-height: 1.2;
}
.jyh-btn:hover { transform: translateY(-2px); }
.jyh-btn:active { transform: translateY(0); }
.jyh-btn-accent {
    background: linear-gradient(135deg, #d9bd82, #b8904e);
    color: #09332D;
    box-shadow: 0 8px 22px rgba(141, 108, 51, 0.25);
}
.jyh-btn-accent:hover { background: linear-gradient(135deg, #e6cb93, #c19b58); color: #07241F; box-shadow: 0 12px 30px rgba(141, 108, 51, 0.3); }
.jyh-btn-ghost { background: transparent; border-color: rgba(255, 255, 255, 0.82); color: #fff; }
.jyh-btn-ghost:hover { border-color: var(--jyh-accent-bright); color: var(--jyh-accent-bright); background: rgba(255, 255, 255, 0.06); }
.jyh-btn-dark { background: var(--jyh-primary-dark); color: #FFFDF8; }
.jyh-btn-dark:hover { background: #0C5A4E; color: #fff; }

/* 头部导航 */
.jyh-header { background: var(--jyh-paper); }
.jyh-header-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 18px 0;
    flex-wrap: wrap;
}
.jyh-logo { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.jyh-logo-mark {
    width: 46px;
    height: 46px;
    border-radius: 13px;
    background: linear-gradient(145deg, #0D5A4F, #0A423A);
    display: grid;
    place-items: center;
    color: #E6D3A7;
    font-family: var(--jyh-serif);
    font-size: 24px;
    font-weight: 700;
    border: 1px solid rgba(214, 184, 122, 0.65);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 5px 15px rgba(8, 58, 51, 0.2);
}
.jyh-logo-text { display: flex; flex-direction: column; line-height: 1.22; }
.jyh-logo-text strong { font-family: var(--jyh-serif); font-size: 24px; color: #07332D; letter-spacing: 1px; }
.jyh-logo-text small { font-size: 13px; color: #7A6B50; margin-top: 3px; letter-spacing: 1.5px; }
.jyh-header-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.jyh-search-wrap {
    display: flex;
    align-items: center;
    background: #FFFDF8;
    border: 1px solid var(--jyh-border);
    border-radius: var(--jyh-pill);
    padding: 4px 6px 4px 17px;
    min-width: 246px;
    box-shadow: 0 4px 14px rgba(7, 49, 43, 0.04);
}
.jyh-search-wrap:hover, .jyh-search-wrap:focus-within { border-color: rgba(199, 164, 100, 0.8); }
.jyh-search-wrap input { border: 0; background: transparent; outline: none; width: 100%; font-size: 14px; color: var(--jyh-ink); padding: 7px 0; }
.jyh-search-wrap button {
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: var(--jyh-pill);
    background: linear-gradient(135deg, #D9BD82, #B8904E);
    color: #0B4A40;
    font-size: 14px;
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: transform .2s ease, opacity .2s ease;
}
.jyh-search-wrap button:hover { transform: scale(1.05); }
.jyh-booking-btn {
    min-height: 44px;
    padding: 10px 22px;
    border: 1px solid rgba(199, 164, 100, 0.85);
    background: transparent;
    color: var(--jyh-primary-dark);
    border-radius: var(--jyh-pill);
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: all .25s ease;
}
.jyh-booking-btn:hover { background: var(--jyh-primary-dark); border-color: var(--jyh-primary-dark); color: var(--jyh-accent-bright); }
.jyh-nav-wrap {
    background: linear-gradient(90deg, #0A423A, #07312B);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.jyh-nav {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: stretch;
    gap: 6px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.jyh-nav::-webkit-scrollbar { display: none; }
.jyh-nav-item { display: flex; flex-shrink: 0; }
.jyh-nav-item a {
    display: flex;
    align-items: center;
    padding: 14px 20px;
    font-size: 15px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.86);
    border-bottom: 3px solid transparent;
    line-height: 1.3;
    white-space: nowrap;
}
.jyh-nav-item a:hover { color: var(--jyh-accent-bright); background: rgba(255, 255, 255, 0.04); }
.jyh-nav-active a,
.jyh-nav-active a:hover {
    color: var(--jyh-accent-bright);
    border-bottom-color: var(--jyh-accent);
    font-weight: 600;
    background: rgba(255, 255, 255, 0.04);
}

/* 文章页头部 */
.jyh-article-page { background: var(--jyh-paper); }
.jyh-article-head {
    position: relative;
    color: #fff;
    background:
        linear-gradient(135deg, rgba(11, 74, 64, 0.97), rgba(7, 49, 43, 0.93)),
        url('/assets/images/backpic/back-2.png') center / cover no-repeat;
    background-color: var(--jyh-primary-deep);
    border-bottom: 3px solid rgba(199, 164, 100, 0.3);
    padding: 62px 0 52px;
    overflow: hidden;
}
.jyh-article-head::after {
    content: "";
    position: absolute;
    right: -70px;
    top: -70px;
    width: 230px;
    height: 230px;
    border-radius: 50%;
    border: 1px solid rgba(214, 184, 122, 0.18);
    box-shadow: inset 0 0 0 26px rgba(214, 184, 122, 0.04), inset 0 0 0 1px rgba(255, 255, 255, 0.06);
    pointer-events: none;
}
.jyh-article-headbox { max-width: 920px; position: relative; z-index: 2; }
.jyh-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    font-size: 13.5px;
    color: rgba(255, 255, 255, 0.72);
    margin-bottom: 34px;
}
.jyh-breadcrumb a { color: rgba(255, 255, 255, 0.8); }
.jyh-breadcrumb a:hover { color: var(--jyh-accent-bright); }
.jyh-breadcrumb i { font-size: 10px; color: rgba(199, 164, 100, 0.8); }
.jyh-breadcrumb-current { color: rgba(255, 255, 255, 0.9); max-width: 240px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.jyh-cat-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(199, 164, 100, 0.16);
    border: 1px solid rgba(199, 164, 100, 0.5);
    color: #E4D2A7;
    padding: 6px 16px;
    border-radius: var(--jyh-pill);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.3px;
    margin-bottom: 20px;
}
.jyh-article-title {
    font-family: var(--jyh-serif);
    font-size: clamp(29px, 5vw, 46px);
    line-height: 1.28;
    margin: 0 0 18px;
    font-weight: 700;
    color: #FFFDF7;
    letter-spacing: 0.2px;
}
.jyh-article-title .jyh-keyword-highlight { color: var(--jyh-accent-bright); }
.jyh-article-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.74);
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    max-width: 820px;
}
.jyh-article-meta span { display: inline-flex; align-items: center; gap: 8px; }
.jyh-article-meta i { color: var(--jyh-accent-bright); }

/* 正文主体 */
.jyh-article-main { padding: 52px 0 44px; }
.jyh-article-card {
    max-width: 820px;
    margin: 0 auto;
    background: var(--jyh-card);
    border: 1px solid var(--jyh-border);
    border-radius: var(--jyh-radius);
    box-shadow: var(--jyh-shadow);
    padding: clamp(22px, 4.8vw, 58px);
    position: relative;
}
.jyh-article-body { font-size: 16px; color: #263B36; }
.jyh-article-body p { font-size: 16.5px; line-height: 1.95; margin: 0 0 1.55em; color: #263B36; }
.jyh-article-body h2, .jyh-article-body h3, .jyh-article-body h4 { font-family: var(--jyh-serif); color: #0A3D36; line-height: 1.45; margin: 2em 0 0.7em; }
.jyh-article-body h2 { font-size: 26px; border-left: 4px solid var(--jyh-accent); padding-left: 15px; }
.jyh-article-body h3 { font-size: 22px; }
.jyh-article-body a { color: #0B5A4D; border-bottom: 1px solid rgba(199, 164, 100, 0.7); }
.jyh-article-body a:hover { color: #B8904E; border-bottom-color: #B8904E; }
.jyh-article-body blockquote {
    margin: 2em 0;
    padding: 22px 24px 22px 30px;
    background: #F7F1E4;
    border-left: 4px solid var(--jyh-accent);
    border-radius: 0 14px 14px 0;
    color: #435A54;
    line-height: 1.9;
}
.jyh-article-body blockquote p { margin-bottom: 0.6em; }
.jyh-article-body blockquote p:last-child { margin-bottom: 0; }
.jyh-article-body ul, .jyh-article-body ol { margin: 0 0 1.6em; padding-left: 1.5em; line-height: 1.9; }
.jyh-article-body li { margin: 0.35em 0; color: #2D403B; }
.jyh-article-body img {
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(7, 49, 43, 0.12);
    margin: 1.8em auto;
}
.jyh-article-body table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.8em 0;
    font-size: 15px;
}
.jyh-article-body th, .jyh-article-body td {
    border: 1px solid var(--jyh-border);
    padding: 10px 14px;
    text-align: left;
}
.jyh-article-body th { background: #F2EDE2; font-weight: 600; color: #0A4A3F; }
.jyh-article-body tr:nth-child(even) td { background: #FFFBF2; }
.jyh-article-extra { margin-top: 2.4em; padding-top: 18px; border-top: 1px solid var(--jyh-border); text-align: right; }
.jyh-article-extra div { display: flex; align-items: center; gap: 19px; flex-wrap: wrap; justify-content: flex-end; }
.jyh-tag-cloud { justify-content: flex-start !important; }
.jyh-tag {
    display: inline-flex;
    padding: 6px 13px;
    border-radius: var(--jyh-pill);
    background: #F7F1E4;
    border: 1px solid #E7DDCC;
    color: #6C5A3D;
    font-size: 13px;
}
.jyh-tag:hover { border-color: #B8904E; color: #0B4A40; }

/* 正文缺失态 */
.jyh-article-missing { text-align: center; padding: 18px 4px 8px; }
.jyh-article-missing h2 { font-family: var(--jyh-serif); font-size: 28px; color: #073A33; margin-bottom: 12px; border: 0; padding-left: 0; text-align: center; }
.jyh-article-missing p { max-width: 480px; margin: 0 auto 26px; }
.jyh-article-missing .jyh-btn { margin: 0 auto; }

/* 延伸频道区 */
.jyh-reco { padding: 74px 0 86px; background: #EFE9DB; border-top: 1px solid var(--jyh-border); }
.jyh-reco-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 42px; flex-wrap: wrap; }
.jyh-reco-head h2 { font-family: var(--jyh-serif); font-size: clamp(24px, 3vw, 34px); margin: 0; color: #073A33; }
.jyh-reco-head p { margin: 10px 0 0; color: var(--jyh-muted); max-width: 560px; }
.jyh-reco-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.jyh-reco-card {
    display: flex;
    flex-direction: column;
    background: var(--jyh-card);
    border-radius: var(--jyh-radius);
    overflow: hidden;
    border: 1px solid var(--jyh-border);
    box-shadow: var(--jyh-shadow);
    transition: transform .28s ease, box-shadow .28s ease;
    height: 100%;
}
.jyh-reco-card:hover { transform: translateY(-6px); box-shadow: var(--jyh-shadow-lg); }
.jyh-reco-card .jyh-reco-media { height: 190px; position: relative; overflow: hidden; background: linear-gradient(135deg, #0B4A40, #083A33); }
.jyh-reco-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.jyh-reco-card:hover .jyh-reco-media img { transform: scale(1.05); }
.jyh-reco-media::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 52px; background: linear-gradient(to top, rgba(7, 41, 35, 0.5), transparent); pointer-events: none; }
.jyh-reco-cat {
    position: absolute;
    top: 16px;
    left: 16px;
    background: rgba(5, 32, 28, 0.88);
    color: var(--jyh-accent-bright);
    border: 1px solid rgba(214, 184, 122, 0.45);
    font-size: 12px;
    padding: 5px 13px;
    border-radius: var(--jyh-pill);
    z-index: 2;
}
.jyh-reco-content { flex: 1; display: flex; flex-direction: column; padding: 24px 26px 26px; }
.jyh-reco-content h3 { font-family: var(--jyh-serif); font-size: 21px; color: #073A33; margin: 0 0 10px; }
.jyh-reco-content p { flex: 1 0 auto; font-size: 14.5px; color: var(--jyh-muted); line-height: 1.85; margin: 0 0 20px; }
.jyh-reco-link { color: #0B4A40; font-weight: 600; display: inline-flex; align-items: center; gap: 7px; border-bottom: 1px solid rgba(199, 164, 100, 0.7); align-self: flex-start; padding-bottom: 3px; }
.jyh-reco-link:hover { color: #B8904E; border-bottom-color: #B8904E; }

/* 底部 CTA */
.jyh-cta-band {
    position: relative;
    background:
        linear-gradient(120deg, rgba(7, 49, 43, 0.96), rgba(11, 74, 64, 0.9)),
        url('/assets/images/backpic/back-3.png') center / cover no-repeat;
    background-color: var(--jyh-primary-deep);
    color: #fff;
    text-align: center;
    padding: 78px 0 90px;
    border-top: 1px solid rgba(255, 255, 255, 0.04);
}
.jyh-cta-band::before {
    content: "";
    height: 1px;
    display: block;
    background: linear-gradient(90deg, transparent, rgba(214, 184, 122, 0.7), transparent);
    max-width: 1080px;
    margin: 0 auto 78px;
}
.jyh-cta-band h2 { font-family: var(--jyh-serif); font-size: clamp(25px, 3.2vw, 36px); max-width: 760px; margin: 0 auto 16px; color: #FFFCF7; }
.jyh-cta-band p { max-width: 680px; margin: 0 auto 34px; color: rgba(255, 255, 255, 0.82); line-height: 1.9; }
.jyh-cta-actions { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }

/* 页脚 */
.jyh-footer { background: #062722; color: rgba(255, 255, 255, 0.76); }
.jyh-footer-top { padding: 66px 0 48px; border-top: 3px solid rgba(199, 164, 100, 0.45); }
.jyh-footer-grid { display: grid; grid-template-columns: 2fr 1.2fr 1.3fr 1.5fr; gap: 42px; }
.jyh-footer-brand p { color: rgba(255, 255, 255, 0.66); line-height: 1.9; font-size: 14.5px; max-width: 330px; margin-bottom: 24px; }
.jyh-footer h4 { color: #E8DCC2; font-size: 16px; font-weight: 600; margin: 0 0 18px; font-family: var(--jyh-serif); letter-spacing: 0.5px; }
.jyh-footer-social { display: flex; gap: 10px; }
.jyh-footer-social a {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.8);
    font-size: 15px;
    transition: all .25s ease;
}
.jyh-footer-social a:hover { border-color: var(--jyh-accent); background: rgba(199, 164, 100, 0.14); color: var(--jyh-accent-bright); }
.jyh-footer-links { list-style: none; margin: 0; padding: 0; }
.jyh-footer-links li + li { margin-top: 11px; }
.jyh-footer-links a { color: rgba(255, 255, 255, 0.68); font-size: 14.5px; display: inline-flex; align-items: center; gap: 7px; transition: color .25s ease, padding-left .25s ease; }
.jyh-footer-links a:hover { color: var(--jyh-accent-bright); padding-left: 4px; }
.jyh-footer-links i { color: var(--jyh-accent); font-size: 12px; }
.jyh-footer-contact-c { display: flex; gap: 15px; align-items: flex-start; margin-bottom: 18px; font-size: 14px; color: rgba(255, 255, 255, 0.7); line-height: 1.7; }
.jyh-footer-contact-c > i { color: var(--jyh-accent-bright); font-size: 18px; width: 22px; text-align: center; margin-top: 2px; }
.jyh-footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.1); padding: 20px 0 18px; background: rgba(0, 0, 0, 0.15); }
.jyh-footer-bottom .container { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; color: rgba(255, 255, 255, 0.46); font-size: 13px; }
.jyh-footer-bottom a { color: rgba(255, 255, 255, 0.58); }
.jyh-footer-bottom a:hover { color: var(--jyh-accent-bright); }

/* 弹层表单 */
.jyh-modal {
    background: var(--jyh-card);
    border: 1px solid rgba(214, 184, 122, 0.55);
    border-radius: 20px !important;
    box-shadow: 0 26px 80px rgba(5, 25, 22, 0.5) !important;
    padding: 34px !important;
    color: var(--jyh-ink);
    max-width: 500px !important;
    overflow-y: auto;
    max-height: 90vh;
}
.jyh-modal .close-button { color: var(--jyh-primary-dark) !important; font-size: 28px; }
.jyh-modal h3 { font-family: var(--jyh-serif); font-size: 24px; color: #093A33; margin: 6px 0 8px; }
.jyh-modal > p:not(.jyh-privacy) { color: var(--jyh-muted); font-size: 14px; line-height: 1.8; margin-bottom: 20px; }
.jyh-form-group { margin-bottom: 17px; }
.jyh-form-group label { display: block; font-size: 13.5px; color: #254942; font-weight: 600; margin-bottom: 6px; }
.jyh-form-group input, .jyh-form-group select, .jyh-form-group textarea {
    width: 100%;
    background: #FFFDF7;
    border: 1px solid #DFD5BF;
    border-radius: 10px;
    padding: 12px 14px;
    font-size: 14px;
    color: var(--jyh-ink);
    transition: border-color .2s ease, box-shadow .2s ease;
    appearance: auto;
}
.jyh-form-group input:focus, .jyh-form-group select:focus, .jyh-form-group textarea:focus { border-color: #C7A464; box-shadow: 0 0 0 3px rgba(199, 164, 100, 0.16); outline: none; }
.jyh-form-group textarea { min-height: 92px; resize: vertical; }
.jyh-privacy { font-size: 12.5px; color: #6E7A75; line-height: 1.75; margin-top: 14px; }
.jyh-modal-submit { width: 100%; margin-top: 8px; }
.jyh-form-success { display: none; text-align: center; padding: 20px 10px 16px; }
.jyh-form-success-icon { width: 66px; height: 66px; margin: 0 auto 18px; background: #E9F1EA; border-radius: 50%; display: grid; place-items: center; color: #0B4A40; font-size: 28px; border: 1px solid #C7D9C9; }
.jyh-form-success h4 { font-family: var(--jyh-serif); font-size: 22px; color: #073A33; margin: 0 0 8px; }
.jyh-form-success p { color: var(--jyh-muted); font-size: 14px; max-width: 340px; margin: 0 auto; line-height: 1.8; }
body.is-jyh-locked { overflow: hidden; }

/* 响应式 */
@media (max-width: 1024px) {
    .jyh-container { padding-left: 28px; padding-right: 28px; }
    .jyh-footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
    .jyh-footer-brand { grid-column: 1 / -1; }
    .jyh-footer-brand p { max-width: 560px; }
}
@media (max-width: 768px) {
    .jyh-container { padding-left: 22px; padding-right: 22px; }
    .jyh-search-wrap { display: none; }
    .jyh-nav-item a { padding: 13px 15px; font-size: 14px; }
    .jyh-reco-grid { grid-template-columns: 1fr; }
    .jyh-footer-grid { grid-template-columns: 1fr 1fr; row-gap: 30px; }
}
@media (max-width: 520px) {
    body { line-height: 1.7; }
    .jyh-header-actions { width: 100%; justify-content: space-between; }
    .jyh-nav-item a { padding: 12px 13px; }
    .jyh-article-title { font-size: 26px; line-height: 1.4; }
    .jyh-article-body p { font-size: 15px; line-height: 1.9; }
    .jyh-article-body blockquote { padding-left: 18px; padding-right: 18px; }
    .jyh-article-meta { gap: 12px; }
    .jyh-footer-grid { grid-template-columns: 1fr; }
    .jyh-footer-bottom .container { flex-direction: column; justify-content: center; text-align: center; }
    .jyh-reco-content h3 { font-size: 19px; }
    .jyh-modal { padding: 26px 20px !important; }
}

/* roulang page: category2 */
:root {
      --jyh-primary: #0B4A40;
      --jyh-primary-dark: #083A33;
      --jyh-primary-ink: #07312B;
      --jyh-accent: #C7A464;
      --jyh-accent-light: #D6B87A;
      --jyh-paper: #F7F3EA;
      --jyh-card: #FFFCF7;
      --jyh-subblock: #F1EBDE;
      --jyh-text: #22332F;
      --jyh-subtext: #5F716C;
      --jyh-line: #E7DDCC;
      --jyh-line-soft: rgba(11, 74, 64, 0.12);
      --jyh-shadow: 0 10px 30px rgba(7, 49, 43, 0.08);
      --jyh-shadow-hover: 0 16px 36px rgba(7, 49, 43, 0.13);
      --jyh-radius-card: 16px;
      --jyh-radius-btn: 11px;
      --jyh-font-serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", SimSun, serif;
      --jyh-font-sans: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif;
      --jyh-section-gap: clamp(56px, 8vw, 96px);
    }

    * { box-sizing: border-box; margin: 0; padding: 0; }

    html { scroll-behavior: smooth; }

    body {
      font-family: var(--jyh-font-sans);
      background-color: var(--jyh-paper);
      color: var(--jyh-text);
      line-height: 1.75;
      font-size: 16px;
      -webkit-font-smoothing: antialiased;
    }

    body.no-scroll { overflow: hidden; }

    img { max-width: 100%; display: block; }

    a { color: var(--jyh-primary); text-decoration: none; transition: color 0.2s ease; }
    a:hover { color: var(--jyh-accent); }
    a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
      outline: 3px solid rgba(199, 164, 100, 0.6);
      outline-offset: 2px;
    }

    .container {
      max-width: 1280px;
      margin: 0 auto;
      padding-left: 24px;
      padding-right: 24px;
      width: 100%;
    }

    /* ===== 双层导航 ===== */
    .jyh-header {
      background-color: var(--jyh-paper);
      border-bottom: 1px solid var(--jyh-line);
      position: sticky;
      top: 0;
      z-index: 100;
      box-shadow: 0 4px 20px rgba(7, 49, 43, 0.04);
    }

    .jyh-header-main {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 18px 0;
      gap: 20px;
      flex-wrap: wrap;
    }

    .jyh-logo {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .jyh-logo-mark {
      width: 46px;
      height: 46px;
      background: var(--jyh-primary);
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 22px;
      font-family: var(--jyh-font-serif);
      border: 1px solid var(--jyh-accent);
      flex: 0 0 auto;
      box-shadow: 0 4px 12px rgba(11, 74, 64, 0.24);
    }

    .jyh-logo-text { display: flex; flex-direction: column; line-height: 1.25; }
    .jyh-logo-text strong {
      font-size: 22px;
      font-family: var(--jyh-font-serif);
      color: var(--jyh-primary-dark);
      letter-spacing: 0.02em;
    }
    .jyh-logo-text small {
      font-size: 12px;
      color: var(--jyh-subtext);
      letter-spacing: 0.06em;
      margin-top: 3px;
      white-space: nowrap;
    }

    .jyh-header-actions {
      display: flex;
      align-items: center;
      gap: 14px;
      flex-wrap: wrap;
    }

    .jyh-search-wrap {
      display: flex;
      align-items: center;
      background: #fff;
      border: 1px solid var(--jyh-line);
      border-radius: 999px;
      padding: 4px 8px 4px 16px;
      width: 260px;
      transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }

    .jyh-search-wrap:focus-within {
      border-color: var(--jyh-accent);
      box-shadow: 0 0 0 3px rgba(199, 164, 100, 0.18);
    }

    .jyh-search-wrap input {
      border: none;
      outline: none;
      background: transparent;
      font-size: 14px;
      color: var(--jyh-text);
      width: 100%;
      font-family: var(--jyh-font-sans);
    }

    .jyh-search-wrap button {
      background: var(--jyh-primary);
      border: none;
      color: #fff;
      width: 34px;
      height: 34px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: background 0.2s ease;
      flex: 0 0 auto;
    }

    .jyh-search-wrap button:hover { background: var(--jyh-primary-dark); }

    .jyh-booking-btn {
      background: var(--jyh-accent);
      color: var(--jyh-primary-ink);
      border: none;
      padding: 11px 24px;
      border-radius: 999px;
      font-size: 14px;
      font-weight: 600;
      cursor: pointer;
      transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
      box-shadow: 0 4px 14px rgba(199, 164, 100, 0.28);
      font-family: var(--jyh-font-sans);
    }

    .jyh-booking-btn:hover {
      background: var(--jyh-accent-light);
      transform: translateY(-2px);
      box-shadow: 0 8px 22px rgba(199, 164, 100, 0.36);
    }

    .jyh-nav-wrap {
      background: linear-gradient(135deg, var(--jyh-primary) 0%, var(--jyh-primary-dark) 60%, #062c27 100%);
      border-top: 1px solid rgba(255, 255, 255, 0.06);
      box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
    }

    .jyh-nav {
      list-style: none;
      display: flex;
      align-items: center;
      gap: 2px;
      overflow-x: auto;
      padding: 0;
      margin: 0;
      -ms-overflow-style: none;
      scrollbar-width: none;
    }

    .jyh-nav::-webkit-scrollbar { display: none; }

    .jyh-nav-item { flex: 0 0 auto; }

    .jyh-nav-item a {
      display: block;
      padding: 14px 22px;
      color: rgba(255, 255, 255, 0.86);
      font-size: 14px;
      font-weight: 500;
      letter-spacing: 0.02em;
      position: relative;
      text-decoration: none;
      transition: color 0.2s ease, background 0.2s ease;
      border-radius: 0;
      white-space: nowrap;
    }

    .jyh-nav-item a::after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 20px;
      right: 20px;
      height: 2px;
      background: var(--jyh-accent-light);
      transform: scaleX(0);
      transform-origin: center;
      transition: transform 0.25s ease;
    }

    .jyh-nav-item a:hover {
      color: #fff;
      background: rgba(255, 255, 255, 0.06);
    }

    .jyh-nav-item a:hover::after {
      transform: scaleX(1);
    }

    .jyh-nav-item.jyh-nav-active a {
      color: #fff;
      background: rgba(199, 164, 100, 0.14);
    }

    .jyh-nav-item.jyh-nav-active a::after {
      transform: scaleX(1);
      background: var(--jyh-accent);
    }

    /* ===== 分类页 Hero ===== */
    .jyh-cat-hero {
      background: linear-gradient(135deg, rgba(11, 74, 64, 0.94), rgba(7, 49, 43, 0.9)), url('/assets/images/backpic/back-1.png') no-repeat center center / cover;
      padding: 84px 0 60px;
      position: relative;
      color: #fff;
      overflow: hidden;
    }

    .jyh-cat-hero::after {
      content: "";
      position: absolute;
      right: -80px;
      bottom: -80px;
      width: 280px;
      height: 280px;
      border: 1px solid rgba(199, 164, 100, 0.28);
      border-radius: 50%;
    }

    .jyh-cat-hero .jyh-breadcrumb {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      font-size: 13px;
      color: rgba(255, 255, 255, 0.7);
      margin-bottom: 20px;
      padding: 0;
    }

    .jyh-cat-hero .jyh-breadcrumb a {
      color: rgba(255, 255, 255, 0.85);
      text-decoration: none;
    }
    .jyh-cat-hero .jyh-breadcrumb a:hover { color: var(--jyh-accent-light); }
    .jyh-cat-hero .jyh-breadcrumb i {
      font-size: 10px;
      margin-top: 5px;
      color: rgba(255, 255, 255, 0.45);
    }

    .jyh-cat-hero-title {
      font-family: var(--jyh-font-serif);
      font-size: clamp(30px, 5vw, 46px);
      font-weight: 700;
      line-height: 1.25;
      color: #fff;
      margin: 0 0 18px;
      letter-spacing: 0.01em;
    }

    .jyh-cat-hero-title span {
      background: linear-gradient(120deg, var(--jyh-accent-light), #e9d7b0);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    .jyh-cat-hero-text {
      font-size: 16px;
      color: rgba(255, 255, 255, 0.82);
      max-width: 720px;
      line-height: 2;
      margin-bottom: 12px;
    }

    .jyh-cat-hero-badges {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 28px;
    }

    .jyh-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(255, 255, 255, 0.1);
      border: 1px solid rgba(199, 164, 100, 0.4);
      padding: 8px 16px;
      border-radius: 999px;
      font-size: 13px;
      color: #f0e4ca;
      letter-spacing: 0.02em;
    }

    .jyh-badge i { color: var(--jyh-accent-light); font-size: 12px; }

    /* ===== 模块标题 ===== */
    .jyh-section-title-wrap {
      margin-bottom: 44px;
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 20px;
      flex-wrap: wrap;
    }

    .jyh-section-title-wrap.center { justify-content: center; text-align: center; }

    .jyh-section-title {
      font-family: var(--jyh-font-serif);
      font-size: clamp(26px, 3vw, 34px);
      color: var(--jyh-primary-ink);
      line-height: 1.3;
      font-weight: 700;
      margin: 0;
    }

    .jyh-section-title span { color: var(--jyh-accent); }

    .jyh-section-caption {
      font-size: 15px;
      color: var(--jyh-subtext);
      margin-top: 8px;
      max-width: 640px;
    }

    .jyh-title-line {
      width: 48px;
      height: 3px;
      border-radius: 3px;
      background: linear-gradient(right, var(--jyh-accent), transparent);
      background: linear-gradient(135deg, var(--jyh-accent-light), var(--jyh-accent));
      margin-bottom: 14px;
    }

    .jyh-section {
      padding-top: var(--jyh-section-gap);
      padding-bottom: var(--jyh-section-gap);
    }

    .jyh-section.jyh-sub-paper { background-color: var(--jyh-subblock); }
    .jyh-section.jyh-white-paper { background-color: var(--jyh-paper); }

    /* ===== 流程卡片模块 ===== */
    .jyh-flow-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px;
    }

    .jyh-flow-card {
      background: var(--jyh-card);
      border-radius: var(--jyh-radius-card);
      border: 1px solid var(--jyh-line);
      padding: 30px 26px;
      position: relative;
      overflow: hidden;
      transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
      box-shadow: var(--jyh-shadow);
    }

    .jyh-flow-card:hover {
      transform: translateY(-5px);
      box-shadow: var(--jyh-shadow-hover);
      border-color: rgba(199, 164, 100, 0.5);
    }

    .jyh-flow-card-num {
      font-family: var(--jyh-font-serif);
      font-size: 14px;
      color: var(--jyh-accent);
      background: rgba(199, 164, 100, 0.12);
      display: inline-block;
      padding: 4px 12px;
      border-radius: 999px;
      margin-bottom: 20px;
      font-weight: 600;
      letter-spacing: 0.06em;
    }

    .jyh-flow-card h3 {
      font-family: var(--jyh-font-serif);
      font-size: 20px;
      color: var(--jyh-primary-dark);
      margin-bottom: 12px;
      font-weight: 700;
      line-height: 1.35;
    }

    .jyh-flow-card p {
      color: var(--jyh-text);
      font-size: 14px;
      line-height: 1.85;
      opacity: 0.84;
      margin-bottom: 0;
    }

    .jyh-flow-card::before {
      content: "";
      position: absolute;
      top: 0;
      left: 26px;
      right: 26px;
      height: 2px;
      border-radius: 2px;
      background: linear-gradient(90deg, transparent, var(--jyh-accent), transparent);
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .jyh-flow-card:hover::before { opacity: 1; }

    /* ===== 左侧图文 + 右侧双卡不对称布局 ===== */
    .jyh-covergrid {
      display: grid;
      grid-template-columns: 1.1fr 0.9fr;
      gap: 28px;
      align-items: stretch;
    }

    .jyh-covergrid-card {
      background: var(--jyh-card);
      border-radius: var(--jyh-radius-card);
      border: 1px solid var(--jyh-line);
      overflow: hidden;
      display: flex;
      flex-direction: column;
      box-shadow: var(--jyh-shadow);
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .jyh-covergrid-card:hover {
      transform: translateY(-4px);
      box-shadow: var(--jyh-shadow-hover);
    }

    .jyh-covergrid-card .img-wrap {
      height: 220px;
      min-height: 220px;
      overflow: hidden;
      background: linear-gradient(135deg, #0B4A40, #083A33);
      position: relative;
    }

    .jyh-covergrid-card .img-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.4s ease;
    }

    .jyh-covergrid-card:hover .img-wrap img { transform: scale(1.04); }

    .jyh-covergrid-card .content {
      padding: 26px 28px 28px;
      flex: 1;
      display: flex;
      flex-direction: column;
    }

    .jyh-covergrid-card h3 {
      font-family: var(--jyh-font-serif);
      font-size: 21px;
      color: var(--jyh-primary-dark);
      line-height: 1.4;
      margin-bottom: 12px;
      font-weight: 700;
    }

    .jyh-covergrid-card p {
      font-size: 14px;
      color: var(--jyh-text);
      line-height: 1.85;
      opacity: 0.82;
      margin-bottom: 18px;
      flex: 1;
    }

    .jyh-covergrid-card .more-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 14px;
      font-weight: 600;
      color: var(--jyh-primary);
      text-decoration: none;
      margin-top: auto;
    }

    .jyh-covergrid-card .more-link:hover { color: var(--jyh-accent); }
    .jyh-covergrid-card .more-link i { transition: transform 0.2s ease; }
    .jyh-covergrid-card .more-link:hover i { transform: translateX(4px); }

    .jyh-tag {
      display: inline-block;
      background: rgba(11, 74, 64, 0.08);
      color: var(--jyh-primary);
      padding: 4px 14px;
      border-radius: 999px;
      font-size: 12px;
      font-weight: 500;
      margin-bottom: 14px;
      letter-spacing: 0.03em;
      border: 1px solid rgba(11, 74, 64, 0.06);
    }

    .jyh-tag.dark-tag {
      background: var(--jyh-primary);
      color: var(--jyh-accent-light);
    }

    .jyh-tag.gold-tag {
      background: rgba(199, 164, 100, 0.15);
      color: #8c6d3b;
      border-color: rgba(199, 164, 100, 0.3);
    }

    .jyh-mini-list {
      display: flex;
      flex-direction: column;
      gap: 16px;
    }

    .jyh-mini-card {
      background: var(--jyh-card);
      border-radius: var(--jyh-radius-card);
      border: 1px solid var(--jyh-line);
      padding: 22px 24px;
      display: flex;
      align-items: flex-start;
      gap: 14px;
      transition: all 0.3s ease;
    }

    .jyh-mini-card:hover {
      transform: translateX(5px);
      border-color: rgba(199, 164, 100, 0.5);
      box-shadow: var(--jyh-shadow);
    }

    .jyh-mini-card i {
      font-size: 22px;
      color: var(--jyh-accent);
      margin-top: 4px;
      flex: 0 0 auto;
    }

    .jyh-mini-card h4 {
      font-size: 16px;
      color: var(--jyh-primary-dark);
      font-weight: 600;
      margin-bottom: 5px;
    }

    .jyh-mini-card p { font-size: 13px; color: var(--jyh-subtext); line-height: 1.7; margin: 0; }

    /* ===== 深色数据区 / 数字陈列 ===== */
    .jyh-dark-count {
      background: linear-gradient(135deg, var(--jyh-primary-ink), var(--jyh-primary-dark)), url('/assets/images/backpic/back-3.png');
      background-size: cover;
      background-blend-mode: overlay;
      color: #fff;
      position: relative;
      overflow: hidden;
    }

    .jyh-dark-count::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      width: 1px;
      background: linear-gradient(180deg, transparent, rgba(199, 164, 100, 0.5), transparent);
    }

    .jyh-dark-count .count-topline {
      width: 100%;
      height: 2px;
      background: linear-gradient(90deg, transparent, rgba(199, 164, 100, 0.5), transparent);
      display: block;
    }

    .jyh-count-inner {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 30px;
      padding: 62px 0;
    }

    .jyh-count-item {
      text-align: center;
      padding: 20px 16px;
      border-left: 1px solid rgba(255, 255, 255, 0.08);
      transition: all 0.3s ease;
    }

    .jyh-count-item:hover {
      background: rgba(255, 255, 255, 0.04);
      border-radius: 12px;
    }

    .jyh-count-num {
      font-family: var(--jyh-font-serif);
      font-size: clamp(28px, 4vw, 52px);
      font-weight: 700;
      background: linear-gradient(120deg, #f0e2c2, var(--jyh-accent-light), #b78b45);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      line-height: 1.2;
      letter-spacing: 0.02em;
    }

    .jyh-count-num small {
      font-size: 16px;
      margin-left: 3px;
    }

    .jyh-count-label {
      display: block;
      margin-top: 10px;
      color: rgba(255, 255, 255, 0.78);
      font-size: 13px;
      letter-spacing: 0.04em;
    }

    /* ===== 双列叠加卡片布局 ===== */
    .jyh-special-grid {
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      gap: 28px;
      align-items: stretch;
    }

    .jyh-special-main {
      grid-column: span 8;
      background: var(--jyh-card);
      border-radius: var(--jyh-radius-card);
      border: 1px solid var(--jyh-line);
      overflow: hidden;
      padding: 0;
      position: relative;
    }

    .jyh-special-side { grid-column: span 4; display: flex; flex-direction: column; gap: 28px; }

    .jyh-side-card {
      background: var(--jyh-card);
      border-radius: var(--jyh-radius-card);
      border: 1px solid var(--jyh-line);
      padding: 30px 28px;
      transition: box-shadow 0.3s ease;
    }

    .jyh-special-main-inner { padding: 38px; position: relative; }
    .jyh-special-main-inner .img-holder {
      border-radius: 12px;
      height: 200px;
      overflow: hidden;
      margin-bottom: 24px;
      background: #e7dfd2;
    }
    .jyh-special-main-inner .img-holder img { width: 100%; height: 100%; object-fit: cover; }
    .jyh-special-main-inner h3 {
      font-family: var(--jyh-font-serif);
      font-size: 23px;
      color: var(--jyh-primary-ink);
      line-height: 1.4;
      margin-bottom: 12px;
    }
    .jyh-special-main-inner p { color: var(--jyh-text); font-size: 15px; opacity: 0.85; margin-bottom: 20px; }

    .jyh-chip-list {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .jyh-chip {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: var(--jyh-paper);
      border: 1px solid var(--jyh-line);
      padding: 6px 14px;
      border-radius: 999px;
      font-size: 12px;
      color: var(--jyh-subtext);
    }
    .jyh-chip i { color: var(--jyh-accent); font-size: 10px; }

    .jyh-side-card h4 {
      font-family: var(--jyh-font-serif);
      font-size: 18px;
      color: var(--jyh-primary-dark);
      margin-bottom: 14px;
    }
    .jyh-side-card p { font-size: 14px; line-height: 1.85; }
    .jyh-btn { display: inline-block; border: none; cursor: pointer; padding: 14px 32px; border-radius: var(--jyh-radius-btn); font-weight: 600; transition: all 0.3s ease; text-decoration: none; }
    .jyh-btn { font-size: 15px; }
    .jyh-btn-solid { background: var(--jyh-accent); color: var(--jyh-primary-ink); box-shadow: 0 6px 18px rgba(199, 164, 100, 0.3); }
    .jyh-btn-solid:hover { background: var(--jyh-accent-light); transform: translateY(-3px); box-shadow: 0 12px 28px rgba(199, 164, 100, 0.3); color: var(--jyh-primary-ink); }
    .jyh-btn-outline { background: transparent; color: rgba(255, 255, 255, 0.92); border: 1px solid rgba(255, 255, 255, 0.5); }
    .jyh-btn-outline:hover { border-color: var(--jyh-accent-light); background: rgba(255, 255, 255, 0.1); color: #fff; }
    .jyh-btn-dark { background: var(--jyh-primary); color: #fff; box-shadow: 0 4px 12px rgba(11, 74, 64, 0.18); }
    .jyh-btn-dark:hover { background: var(--jyh-primary-dark); transform: translateY(-2px); color: #fff; box-shadow: 0 10px 20px rgba(11, 74, 64, 0.24); }

    .jyh-service-note { display: flex; gap: 22px; margin-top: 28px; }
    .jyh-service-note-item i { font-size: 22px; color: var(--jyh-primary); }
    .jyh-service-note-item p { width: 2; }
    .jyh-service-note-item-title, .jyh-service-note-item-title { font-weight: 600; color: var(--jyh-primary-dark); margin-left: 10px; font-size: 15px; }
    .jyh-service-note-item-text { color: var(--jyh-subtext); font-size: 14px; margin-top: 12px; }
    .jyh-service-note-item { border-left: 2px solid var(--jyh-accent); padding-left: 12px; padding-top: 4px; }
    .jyh-service-note-item p:first-child { font-size: 16px; font-weight: 600; color: var(--jyh-primary-dark); }

    /* ===== 图文 Timeline / 场景列表 ===== */
    .jyh-time-row {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 26px;
    }

    .jyh-time-card {
      background: var(--jyh-card);
      border-radius: var(--jyh-radius-card);
      border: 1px solid var(--jyh-line);
      padding: 30px 26px;
      text-align: center;
      transition: box-shadow 0.3s ease;
    }

    .jyh-time-card:hover {
      box-shadow: var(--jyh-shadow);
      transform: translateY(-4px);
    }

    .jyh-time-icon {
      width: 64px;
      height: 64px;
      margin: 0 auto 20px;
      background: rgba(11, 74, 64, 0.06);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid rgba(11, 74, 64, 0.1);
      font-size: 28px;
      color: var(--jyh-primary);
      transition: background 0.3s ease, color 0.3s ease;
    }

    .jyh-time-card:hover .jyh-time-icon { background: var(--jyh-primary); color: var(--jyh-accent-light); }

    .jyh-time-card h3 {
      font-family: var(--jyh-font-serif);
      font-size: 19px;
      color: var(--jyh-primary-dark);
      margin-bottom: 14px;
    }

    .jyh-time-card p { font-size: 13px; color: var(--jyh-subtext); line-height: 1.85; margin-bottom: 0; }

    /* ===== FAQ ===== */
    .jyh-faq-row {
      display: grid;
      grid-template-columns: 1fr 2fr;
      gap: 40px;
      align-items: start;
    }

    .jyh-faq-title-area p { color: var(--jyh-subtext); font-size: 15px; line-height: 1.9; }

    .jyh-faq-list {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .jyh-faq-item {
      background: var(--jyh-card);
      border: 1px solid var(--jyh-line);
      border-radius: var(--jyh-radius-card);
      padding: 0;
      overflow: hidden;
      transition: box-shadow 0.3s ease;
    }

    .jyh-faq-item summary {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      padding: 20px 28px;
      list-style: none;
      cursor: pointer;
      font-size: 16px;
      font-weight: 600;
      color: var(--jyh-primary-ink);
      user-select: none;
    }

    .jyh-faq-item summary::-webkit-details-marker { display: none; }

    .jyh-faq-item .jyh-faq-toggle {
      width: 28px;
      height: 28px;
      flex: 0 0 auto;
      border-radius: 50%;
      background: rgba(199, 164, 100, 0.2);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--jyh-accent);
      font-size: 13px;
      transition: all 0.3s ease;
    }

    .jyh-faq-item[open] .jyh-faq-toggle { background: var(--jyh-primary); color: var(--jyh-accent-light); transform: rotate(180deg); }
    .jyh-faq-item[open] { border-color: rgba(199, 164, 100, 0.5); box-shadow: var(--jyh-shadow); }

    .jyh-faq-item .jyh-faq-answer {
      padding: 0 28px 24px 40px;
      color: var(--jyh-text);
      font-size: 14px;
      line-height: 1.85;
      opacity: 0.85;
    }

    .jyh-faq-item details > * + * { margin-top: 0; }
    .jyh-faq-item .jyh-faq-answer { border-top: 1px solid var(--jyh-line); margin-left: 0; padding-top: 18px; }

    /* ===== CTA ===== */
    .jyh-cta-band {
      background: linear-gradient(135deg, var(--jyh-primary) 0%, var(--jyh-primary-ink) 100%);
      padding: 70px 0;
      position: relative;
      overflow: hidden;
    }

    .jyh-cta-band::before {
      content: "";
      position: absolute;
      top: -40px;
      left: -40px;
      width: 260px;
      height: 260px;
      border: 1px solid rgba(199, 164, 100, 0.2);
      border-radius: 50%;
    }

    .jyh-cta-band .jyh-cta-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 40px;
      flex-wrap: wrap;
    }

    .jyh-cta-left h2 {
      font-family: var(--jyh-font-serif);
      font-size: clamp(22px, 3.5vw, 36px);
      color: #fff;
      margin: 0 0 10px;
      font-weight: 700;
    }
    .jyh-cta-left p { color: rgba(255, 255, 255, 0.65); font-size: 15px; margin: 0; }
    .jyh-cta-right { display: flex; gap: 12px; flex-wrap: wrap; }

    /* ===== 页脚 ===== */
    .jyh-footer { background: #062B24; color: rgba(255, 255, 255, 0.8); margin-top: 0; position: relative; }
    .jyh-footer-top-line { border-top: 1px solid rgba(199, 164, 100, 0.6); }
    .jyh-footer { background: #062b25; color: rgba(255, 255, 255, 0.72); }
    .jyh-footer-top {
      background: var(--jyh-primary-ink);
      padding-top: 60px;
      padding-bottom: 40px;
      border-top: 2px solid #bba06d;
    }
    .jyh-footer .grid-container { max-width: 1280px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }

    .jyh-footer-grid {
      display: grid;
      grid-template-columns: 1.2fr 0.9fr 1fr 1fr;
      gap: 36px;
      margin-bottom: 48px;
      padding-left: 0;
    }

    .jyh-footer h4 {
      font-size: 15px;
      font-weight: 600;
      color: #fff;
      margin-bottom: 20px;
      font-family: var(--jyh-font-serif);
      letter-spacing: 0.06em;
      border-left: 3px solid var(--jyh-accent);
      padding-left: 13px;
    }

    .jyh-footer-links { list-style: none; margin: 0; padding: 0; }

    .jyh-footer-links li { margin-bottom: 11px; }

    .jyh-footer-links a {
      color: rgba(255, 255, 255, 0.58);
      text-decoration: none;
      font-size: 13px;
      transition: all 0.2s ease;
      display: inline-flex;
      align-items: center;
      gap: 7px;
    }

    .jyh-footer-links a i { font-size: 10px; color: var(--jyh-accent-light); }

    .jyh-footer-links a:hover { color: #fff; transform: translateX(2px); }

    .jyh-footer-brand p { color: rgba(255, 255, 255, 0.55); font-size: 13px; line-height: 1.9; margin: 6px 0 20px; }

    .jyh-footer-social { display: flex; gap: 12px; }

    .jyh-footer-social a {
      width: 38px;
      height: 38px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.06);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 1px solid rgba(255, 255, 255, 0.1);
      transition: all 0.2s ease;
      color: rgba(255, 255, 255, 0.7);
    }

    .jyh-footer-social a:hover {
      background: var(--jyh-accent);
      color: var(--jyh-primary-ink);
      border-color: var(--jyh-accent);
      transform: translateY(-3px);
    }

    .jyh-footer-contact-custom {
      display: flex;
      gap: 12px;
      margin-bottom: 14px;
    }

    .jyh-footer-contact-custom i {
      color: var(--jyh-accent);
      margin-top: 4px;
      flex: 0 0 auto;
    }

    .jyh-contact-hl {
      font-size: 13px;
      line-height: 1.8;
      color: rgba(255, 255, 255, 0.65);
      margin-top: 0;
    }

    .jyh-copyright {
      border-top: 1px solid rgba(255, 255, 255, 0.11);
      padding: 24px 0 28px;
      font-size: 13px;
      color: rgba(255, 255, 255, 0.4);
      text-align: left;
    }

    .jyh-copyright a { color: rgba(255, 255, 255, 0.7); text-decoration: underline; text-underline-offset: 2px; }
    .jyh-logo .small-dark strong { color: #EEE7D8; }

    /* ===== 主区块 ===== */
    .jyh-cathd-sm { font-size: 15px; color: var(--jyh-subtext); font-weight: 600; background: rgba(199, 164, 100, 0.12); padding: 6px 14px; border-radius: 999px; border: 1px solid rgba(199, 164, 100, 0.25); margin-bottom: 18px; display: inline-block; }

    /* ===== 分类内容区 ===== */
    .jyh-page-main { padding-top: var(--jyh-section-gap); padding-bottom: var(--jyh-section-gap); }

    .jyh-two-col {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 30px;
      align-items: stretch;
    }
    .jyh-two-col h3 { font-family: var(--jyh-font-serif); }
    .jyh-two-col .jyh-block {
      background: var(--jyh-subblock);
      border-radius: var(--jyh-radius-card);
      padding: 32px 34px;
      border: 1px solid var(--jyh-line);
      box-shadow: 0 4px 16px rgba(7, 49, 43, 0.03);
    }
    .jyh-point-q { font-size: 20px; font-family: var(--jyh-font-serif); color: var(--jyh-primary-ink); margin: 0 0 18px; }
    .jyh-point-q .suffix { color: #b09a75; font-size: 14px; margin-left: 6px; }

    /* ================================== */
    /* 响应式 */
    /* ================================== */
    @media screen and (max-width: 1024px) {
      .container { padding-left: 20px; padding-right: 20px; }

      .jyh-flow-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }

      .jyh-covergrid { grid-template-columns: 1fr; }
      .jyh-special-main { grid-column: span 12; }
      .jyh-special-side { grid-column: span 12; }
      .jyh-time-row { grid-template-columns: repeat(2, 1fr); }
      .jyh-count-inner { grid-template-columns: repeat(2, 1fr); }
      .jyh-faq-row { grid-template-columns: 1fr; }
      .jyh-two-col { grid-template-columns: 1fr; }
      .jyh-footer-grid { grid-template-columns: repeat(2, 1fr); gap: 40px; }

      .jyh-cat-hero {
        background-attachment: fixed;
        padding: 70px 0 54px;
      }
    }

    @media screen and (max-width: 768px) {
      .jyh-header-main { padding: 13px 0; }
      .jyh-search-wrap { width: 190px; }
    }

    @media screen and (max-width: 640px) {
      body { font-size: 15px; }

      .container { padding-left: 16px; padding-right: 16px; }

      .jyh-header-main { justify-content: space-between; }
      .jyh-logo-mark { width: 38px; height: 38px; font-size: 20px; border-radius: 10px; }
      .jyh-logo-text strong { font-size: 18px; }
      .jyh-logo-text small { font-size: 10px; letter-spacing: 0.02em; }
      .jyh-search-wrap { display: none; }
      .jyh-booking-btn { padding: 9px 18px; font-size: 13px; }
      .jyh-nav { gap: 0; }
      .jyh-nav-item a { padding: 13px 14px; font-size: 13px; }
      .jyh-nav-item a::after { left: 14px; right: 14px; }

      .jyh-flow-grid { grid-template-columns: 1fr; }
      .jyh-time-row,
      .jyh-count-inner { grid-template-columns: 1fr 1fr; }
      .jyh-time-row { grid-template-columns: 1fr; }
      .jyh-two-col { grid-template-columns: 1fr; }
      .jyh-special-main-inner { padding: 24px; }
      .jyh-section-title { font-size: 23px; }
      .jyh-footer-grid { grid-template-columns: 1fr; gap: 32px; }
      .jyh-cta-inner { flex-direction: column; align-items: flex-start; }
      .jyh-cat-hero { padding: 48px 0 32px; }
      .jyh-cat-hero-text,
      .jyh-badge { font-size: 14px; }
      .jyh-badge { padding: 6px 12px; gap: 5px; }
      .jyh-faq-item summary { padding: 16px 18px; font-size: 15px; }
      .jyh-faq-answer { padding-left: 18px; padding-right: 18px; gap: 18px; }
      .jyh-faq-item .jyh-faq-answer { padding-left: 18px; padding-right: 18px; }
      .jyh-count-inner { gap: 16px; padding: 32px 0 18px; }
      .jyh-copyright { font-size: 12px; }
      .jyh-covergrid-card, .jyh-mini-card { padding: -0; }
    }

    @media screen and (max-width: 480px) {
      .jyh-logo-text strong { font-size: 16px; }
      .jyh-count-inner { grid-template-columns: 1fr; }
      .jyh-count-num { font-size: 36px; }
      .jyh-btn { padding: 12px 24px; }
      .jyh-booking-btn { padding: 8px 16px; }
      .jyh-time-icon { width: 54px; height: 54px; font-size: 22px; }
      .jyh-nav-item a { padding: 12px 8px; }
      .jyh-covergrid-card .img-wrap { height: 200px; min-height: 150px; }
    }

    .jyh-primary-btn-display { font-size: 14px; }
