/* 全局主题变量 */
:root{
  /* 颜色体系：参考最新品牌视觉图，而不是按“成功/错误”语义命名 */
  --color-bg:#eff3fe;           /* 页面整体背景 */
  --color-surface:#ffffff;      /* 卡片 / 导航背景 */

  --color-primary:#3366ff;      /* 品牌主色 */
  --color-accent-warm:#ffaa33;  /* 暖色点缀 */
  --color-accent-strong:#ff3333;/* 强调/警示感点缀 */

  --color-neutral-900:#1d1d1d;
  --color-neutral-700:#666666;
  --color-neutral-500:#92959a;
  --color-neutral-300:#bec0c7;
  --color-border-subtle:#dcdfe6;

  --color-text-main:#262626;
  --color-text-muted:#909399;
  --color-text-inverse:#ffffff;

  --font-family-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei","Source Han Sans CN",sans-serif;
  /* 字号体系：12 / 14 / 16 / 18 / 20 / 24 px */
  --font-size-xs:.75rem;   /* 12px：说明、错误提示等附加内容 */
  --font-size-sm:.875rem;  /* 14px：主要正文、表单等 */
  --font-size-md:1rem;     /* 16px：表格标题、重要文字 */
  --font-size-lg:1.125rem; /* 18px：系统名称、指标值 */
  --font-size-xl:1.25rem;  /* 20px：指标值展示 */
  --font-size-2xl:1.5rem;  /* 24px：大号指标值 / 重要标题 */
  --font-size-3xl:2rem;

  --font-weight-regular:400;
  --font-weight-medium:500;
  --font-weight-semibold:600;
  --font-weight-bold:700;

  --line-height-tight:1.2;
  --line-height-normal:1.6;
  --line-height-loose:1.8;

  --radius-sm:.375rem;
  --radius-md:.625rem;
  --radius-lg:1rem;
  --radius-xl:1.5rem;

  --shadow-soft:0 .5rem 1.5rem rgba(15,35,95,.08);
  --shadow-soft-hover:0 .75rem 2rem rgba(15,35,95,.16);

  /* 按钮尺寸与圆角（适合 B2B 营销站） */
  --btn-radius:999rem;           /* 胶囊形按钮 */
  --btn-height-sm:2.25rem;
  --btn-height-md:2.5rem;
  --btn-height-lg:3rem;
  --btn-padding-x-sm:1rem;
  --btn-padding-x-md:1.25rem;
  --btn-padding-x-lg:1.5rem;
}

/* 全局背景与排版基础 */
body{
  padding-top:4.875rem;
  background:var(--color-bg);
  color:var(--color-text-main);
  font-family:var(--font-family-sans);
  font-size:var(--font-size-md);
  line-height:var(--line-height-normal);
  overflow-x:hidden;
}

/* 全局链接样式：去掉下划线，依赖颜色区分 */
a,
a:hover,
a:focus,
a:active{
  text-decoration:none;
}

h1,
.heading-1{
  font-size:var(--font-size-3xl);
  font-weight:var(--font-weight-bold);
  line-height:var(--line-height-tight);
  color:var(--color-text-main);
}

h2,
.heading-2{
  font-size:var(--font-size-2xl);
  font-weight:var(--font-weight-semibold);
  line-height:var(--line-height-tight);
  color:var(--color-text-main);
}

h3,
.heading-3{
  font-size:var(--font-size-xl);
  font-weight:var(--font-weight-semibold);
  line-height:var(--line-height-tight);
  color:var(--color-text-main);
}

.text-body{
  font-size:var(--font-size-md);
  font-weight:var(--font-weight-regular);
  line-height:var(--line-height-normal);
  color:var(--color-text-main);
}

.text-muted{
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-regular);
  line-height:var(--line-height-normal);
  color:var(--color-text-muted);
}

.text-caption{
  font-size:var(--font-size-xs);
  font-weight:var(--font-weight-medium);
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--color-text-muted);
}

/* 自定义导航栏：白底 + 阴影 + 底部圆角 */
.navbar-main{
  height:4.875rem;
  background:var(--color-surface) !important;
  box-shadow:var(--shadow-soft);
  border-bottom:none !important;
  border-radius:0;
  overflow:visible;
}
/* 已登录且显示 #wpadminbar 时：fixed 主导航贴在工具栏下方，避免与管理栏重叠 */
body.admin-bar .navbar-main.fixed-top{
  top:32px;
}
@media screen and (max-width:782px){
  body.admin-bar .navbar-main.fixed-top{
    top:46px;
  }
}
.navbar-main .container{
  overflow:visible;
}
.navbar-main .navbar-toggler{
  flex-shrink:0;
  margin-left:auto;
  padding:0.375rem 0.75rem;
  border-radius:var(--radius-md);
}
.navbar-main .navbar-brand{
  color:var(--color-text-main);
}
.navbar-main .navbar-brand .navbar-brand__accent{
  color:var(--color-primary);
}
/* 后台上传 Logo：限制高度以免撑爆导航 */
.navbar-main .navbar-brand--logo{
  display:inline-flex;
  align-items:center;
  padding-top:0;
  padding-bottom:0;
  line-height:0;
}
.navbar-main .navbar-brand__img{
  display:block;
  max-height:2.75rem;
  width:auto;
  height:auto;
  object-fit:contain;
}
/* 展开的下拉菜单：白底，避免透明 */
.navbar-main .navbar-collapse{
  background:var(--color-surface);
}
@media (max-width:991.98px){
  .navbar-main .navbar-collapse{
    padding:1rem 0;
    margin-top:0.5rem;
    border-radius:var(--radius-md);
    box-shadow:var(--shadow-soft);
  }
  .navbar-main .navbar-collapse .navbar-nav{
    padding-inline:0.5rem;
  }
}
@media (max-width:62rem){
  .navbar-main .navbar-brand{
    font-size:var(--font-size-lg);
    max-width:calc(100vw - 6rem);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .navbar-main .navbar-brand .navbar-brand__accent{
    display:none;
  }
  .navbar-main .container{
    padding-right:0.75rem;
  }
}

.navbar-main .nav-link{
  color:var(--color-text-muted);
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-medium);
  transition:color .5s ease,opacity .5s ease;
}

.navbar-main .nav-link.active,
.navbar-main .nav-link:focus,
.navbar-main .nav-link:hover{
  color:var(--color-primary);
  opacity:.9;
}

.navbar-main .navbar-cta-btn{
  padding:0.35rem 0.9rem;
  font-size:var(--font-size-sm);
  white-space:nowrap;
}

/* 按钮：适合跨境 / 国际站 B2B 的主视觉 CTA */
/* 基础按钮样式：保证字体、内边距、胶囊形状一致 */
.btn-brand,
.btn-outline-brand{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  border-radius:var(--btn-radius);
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-medium);
  padding-inline:var(--btn-padding-x-md);
  transition:
    background-color .5s ease,
    box-shadow .5s ease,
    transform .5s ease,
    opacity .5s ease;
}

.btn-brand{
  height:var(--btn-height-md);
  border:0;
  background:var(--color-primary);
  color:var(--color-text-inverse);
  box-shadow:var(--shadow-soft);
}

.btn-brand:hover,
.btn-brand:focus{
  background:var(--color-surface);
  box-shadow:var(--shadow-soft-hover);
  opacity:.96;
  transform:translateY(-.0625rem);
  color:var(--color-primary);
}

.btn-brand:active{
  background:#1f3fb3;
  box-shadow:none;
  transform:translateY(.03125rem);
}

.btn-brand:disabled,
.btn-brand[disabled]{
  background:var(--color-neutral-300);
  color:var(--color-text-inverse);
  box-shadow:none;
  opacity:.7;
  cursor:not-allowed;
}

.btn-size-sm{
  height:var(--btn-height-sm);
  padding-inline:var(--btn-padding-x-sm);
  font-size:var(--font-size-xs);
}

.btn-size-lg{
  height:var(--btn-height-lg);
  padding-inline:var(--btn-padding-x-lg);
  font-size:var(--font-size-md);
  font-weight:var(--font-weight-semibold);
}

/* 轮廓按钮：适合作为次级操作，与主按钮同高、同圆角 */
.btn-outline-brand{
  height:var(--btn-height-md);
  border:.0625rem solid var(--color-border-subtle);
  background:transparent;
  color:var(--color-text-main);
}

.btn-outline-brand:hover,
.btn-outline-brand:focus{
  border-color:var(--color-primary);
  background:rgba(51,102,255,.06);
  color:var(--color-primary);
  box-shadow:0 0 0 .0625rem rgba(51,102,255,.2);
}

.btn-outline-brand:active{
  background:rgba(51,102,255,.12);
}

/* 轮播中的描边按钮：默认白色描边+白字，悬停填充主色并变为白字 */
.swiper-hero__slide .btn-outline-brand{
  border-color:var(--color-surface);
  color:var(--color-surface);
}

.swiper-hero__slide .btn-outline-brand:hover,
.swiper-hero__slide .btn-outline-brand:focus{
  background:var(--color-primary);
  border-color:var(--color-primary);
  color:var(--color-text-inverse);
  box-shadow:var(--shadow-soft-hover);
}

/* 卡片：用于产品、解决方案、案例模块 */
.card-surface{
  background:var(--color-surface);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);
  border:.0625rem solid rgba(255,255,255,.4);
  padding:1.5rem;
  transition:box-shadow .5s ease,transform .5s ease;
}

.card-surface:hover{
  box-shadow:var(--shadow-soft-hover);
  transform:translateY(-.125rem);
}

.card-tag{
  display:inline-flex;
  align-items:center;
  gap:.375rem;
  padding:.125rem .75rem;
  border-radius:999rem;
  background:rgba(51,102,255,.06);
  color:var(--color-primary);
  font-size:var(--font-size-xs);
  font-weight:var(--font-weight-medium);
}

.card-tag--warm{
  background:rgba(255,170,51,.08);
  color:var(--color-accent-warm);
}

.card-tag--strong{
  background:rgba(255,51,51,.08);
  color:var(--color-accent-strong);
}

/* 通用：Swiper 容器不超出父级，避免首屏计算未完成时宽度溢出 */
.swiper{
  max-width:100%;
  box-sizing:border-box;
}

/* 主视觉 Swiper：高度按可视区域（100svh 含地址栏/底部导航条），不超出；旧浏览器回退 100vh */
.swiper-hero{
  width:100%;
  height:calc(100vh - 4.875rem);
  height:calc(100svh - 4.875rem);
  touch-action:pan-y;
}
.swiper-hero .swiper-wrapper{
  height:100%;
  touch-action:pan-y;
}
.swiper-hero .swiper-slide{
  height:100%;
}
.swiper-hero__slide{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding-block:2.5rem;
  position:relative;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  color:var(--color-text-inverse);
  box-sizing:border-box;
}
.swiper-hero__content{
  text-align:center;
  width:100%;
  margin-inline:auto;
}
.swiper-hero__content.container{
  margin-left:auto;
  margin-right:auto;
}
.swiper-hero__content .d-flex.flex-wrap{
  justify-content:center;
}
/* PC 端：banner 文字与按钮严格水平、垂直居中 */
@media (min-width:62rem){
  .swiper-hero__slide{
    justify-content:center;
    align-items:center;
  }
  .swiper-hero__content{
    text-align:center;
  }
  .swiper-hero__content .d-flex.flex-wrap{
    justify-content:center;
  }
}

.swiper-hero__subtitle{
  color:var(--color-text-inverse);
}

.swiper-hero__slide--blue{
  background-image:
    linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.2)),
    url('https://images.pexels.com/photos/1054397/pexels-photo-1054397.jpeg?auto=compress&cs=tinysrgb&w=1600');
}

.swiper-hero__slide--orange{
  background-image:
    linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.2)),
    url('https://images.pexels.com/photos/373883/pexels-photo-373883.jpeg?auto=compress&cs=tinysrgb&w=1600');
}

.swiper-hero__slide--red{
  background-image:
    linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.2)),
    url('https://images.pexels.com/photos/730547/pexels-photo-730547.jpeg?auto=compress&cs=tinysrgb&w=1600');
}

/* 轮播主视觉中文字统一使用白色，以适配黑色遮罩背景 */
.swiper-hero__slide .heading-1,
.swiper-hero__slide .heading-2,
.swiper-hero__slide .heading-3,
.swiper-hero__slide .text-body,
.swiper-hero__slide .text-caption{
  color:var(--color-text-inverse) !important;
}

/* 自定义分页导航点：激活态宽高比 3.5:1，0.5 秒过渡 */
.swiper-hero__pagination{
  position:absolute;
  left:0;
  right:0;
  bottom:2rem;
  display:flex;
  justify-content:center;
  align-items:center;
}

.swiper-hero__pagination .swiper-pagination-bullet{
  width:.375rem;
  height:.375rem;
  border-radius:999rem;
  background:rgba(255,255,255,.6);
  opacity:1;
  margin:0 .25rem;
  transition:
    width .5s ease,
    height .5s ease,
    background-color .5s ease,
    opacity .5s ease,
    transform .5s ease;
}

.swiper-hero__pagination .swiper-pagination-bullet-active{
  width:1.3125rem; /* 0.375rem * 3.5，宽高比 3.5:1 */
  height:.375rem;
  background:var(--color-surface);
  opacity:1;
  transform:translateY(-.0625rem);
}

/* 功能亮点左右图文模块 */
.section-features{
  padding-block:4rem;
  background:linear-gradient(180deg,rgba(255,255,255,.8) 0%,rgba(239,243,254,1) 40%,rgba(255,255,255,1) 100%);
}

.feature-block{
  margin-bottom:3rem;
  align-items:flex-start !important;
}

.feature-block > .col-lg-6:first-child{
  opacity:0;
  transform:translateX(-2.5rem);
  transition:opacity .5s ease,transform .5s ease;
}

.feature-block > .col-lg-6:last-child{
  opacity:0;
  transform:translateX(2.5rem);
  transition:opacity .5s ease,transform .5s ease;
}

.feature-block.is-in-view > .col-lg-6:first-child,
.feature-block.is-in-view > .col-lg-6:last-child{
  opacity:1;
  transform:translateX(0);
}

.feature-block__image{
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
  background:var(--color-surface);
  transition:box-shadow .5s ease,transform .5s ease;
}

  /* 左右图文时，让文字与图片顶部对齐，并在大屏上拉开左右间距 */
@media (min-width:62rem){
  .feature-block > .col-lg-6:first-child{
    padding-right:3rem;
  }

  .feature-block > .col-lg-6:last-child{
    padding-left:3rem;
  }

     /* 让大屏下图文顶部更齐平，并限制图片视觉高度 */
   .feature-block__image{
       margin-top:.5rem;
       height:22rem; /* 约 352px，高宽比接近 16:9 */
   }
}

.feature-block__image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.feature-block__image:hover{
  box-shadow:var(--shadow-soft-hover);
  transform:translateY(-.125rem);
}

/* 模块能力 tabs：左侧竖向功能卡 + 右侧大图 */
.section-feature-tabs{
  padding-block:4rem;
  background:var(--color-bg);
}

.feature-tabs{
  align-items:stretch;
}

.feature-tabs__list{
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.feature-tabs__item{
  display:flex;
  align-items:flex-start;
  gap:1rem;
  padding:1.25rem 1.5rem;
  border-radius:var(--radius-lg);
   border:.0625rem solid transparent;
  background:var(--color-surface);
  box-shadow:var(--shadow-soft);
  transition:box-shadow .25s ease,transform .25s ease,background .25s ease;
}

.feature-tabs__item--active,
.feature-tabs__item:hover{
  box-shadow:var(--shadow-soft-hover);
  transform:translateY(-.0625rem);
  border-color:rgba(51,102,255,.45);
}

.feature-tabs__icon{
  flex:0 0 2.5rem;
  height:2.5rem;
  border-radius:1.25rem;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.25rem;
  color:#fff;
}

.feature-tabs__icon--primary{
  background:linear-gradient(135deg,#ffb347,#ff7e00);
}

.feature-tabs__icon--info{
  background:linear-gradient(135deg,#3b82f6,#2563eb);
}

.feature-tabs__icon--success{
  background:linear-gradient(135deg,#34d399,#059669);
}

.feature-tabs__content p{
  color:var(--color-text-muted);
}

.feature-tabs__image-group{
  position:relative;
  width:100%;
  height:100%;
  min-height:16rem;
}

.feature-tabs__image{
  position:absolute;
  inset:0;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-soft);
  background:var(--color-surface);
  opacity:0;
  visibility:hidden;
  transform:scale(1.01);
  transition:opacity .35s ease,transform .35s ease;
}

.feature-tabs__image.is-active{
  opacity:1;
  visibility:visible;
  transform:scale(1);
}

.feature-tabs__image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* 模块能力移动端：上图下文图文卡片 Swiper */
.feature-tabs-swiper-wrap{
  margin-top:0;
}
.feature-tabs-swiper{
  overflow:hidden;
  padding-bottom:2rem;
}
.feature-tabs-card{
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--color-surface);
  box-shadow:var(--shadow-soft);
  height:100%;
  display:flex;
  flex-direction:column;
}
.feature-tabs-card__image{
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  flex-shrink:0;
  background:var(--color-bg);
}
.feature-tabs-card__image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.feature-tabs-card__body{
  padding:1.25rem 1.25rem 1.5rem;
  flex:1;
  min-width:0;
}
.feature-tabs-card__body .feature-tabs__icon{
  margin-bottom:.75rem;
}
.feature-tabs-swiper-pagination{
  position:relative;
  margin-top:1rem;
}

/* 单列图文模块：上文下图 */
.section-simple{
  background:var(--color-bg);
}

.section-simple--flush{
  padding-top:4rem;
  padding-bottom:0;
  display:flex;
  flex-direction:column;
}

.section-simple--flush .section-simple__image{
  margin-top:auto;
  transform:scale(.5);
  opacity:.5;
  transition:transform .6s ease,opacity .6s ease;
}

.section-simple--flush .section-simple__image.is-in-view{
  transform:scale(1);
  opacity:1;
}

.section-simple--spaced{
  padding-block:4rem;
}

/* 与 .container 同宽：相同 max-width + 水平居中（父级是 section 非 container） */
.section-simple__image{
  width:100%;
  margin-inline:auto;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
  background:var(--color-surface);
}

@media (min-width:36em){ .section-simple__image{ max-width:33.75rem; } }
@media (min-width:48em){ .section-simple__image{ max-width:45rem; } }
@media (min-width:62em){ .section-simple__image{ max-width:60rem; } }
@media (min-width:75rem){ .section-simple__image{ max-width:71.25rem; } }
@media (min-width:87.5rem){ .section-simple__image{ max-width:82.5rem; } }

.section-simple__image img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}

/* 三列卡片栏：为什么选择 YueGrowth */
.section-why{
  padding-block:4rem;
  background:var(--color-surface);
}

.why-card{
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);
  background:var(--color-surface);
  transition:background .25s ease,color .25s ease,box-shadow .25s ease,transform .25s ease;
}

.why-card__icon{
  width:2.5rem;
  height:2.5rem;
  border-radius:999rem;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:1rem;
  background:rgba(51,102,255,.06);
  color:var(--color-primary);
  font-size:1.25rem;
}

.why-card__icon--warm{
  background:rgba(255,170,51,.08);
  color:var(--color-accent-warm);
}

.why-card__icon--strong{
  background:rgba(255,51,51,.08);
  color:var(--color-accent-strong);
}

.why-card:hover{
  background:var(--color-primary);
  color:var(--color-text-inverse);
  box-shadow:var(--shadow-soft-hover);
  transform:translateY(-.125rem);
}

.why-card:hover .heading-3,
.why-card:hover .text-body{
  color:var(--color-text-inverse) !important;
}

.why-card:hover .why-card__icon{
  background:var(--color-surface);
  color:var(--color-primary);
}

.why-card:hover .why-card__icon--warm{
  color:var(--color-accent-warm);
}

.why-card:hover .why-card__icon--strong{
  color:var(--color-accent-strong);
}

/* 价格卡区域 */
.section-pricing{
  padding-block:4rem;
  background:var(--color-bg);
}

.section-pricing__header{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:2.5rem;
}

.section-pricing__header .heading-2{
  width:100%;
  margin-bottom:.5rem;
}

.section-pricing__header .text-body.text-muted{
  flex:1;
  min-width:12rem;
}

.section-pricing__header .btn-brand{
  flex-shrink:0;
}

/* 价格卡：Swiper 滑块，桌面端多列、移动端单卡滑动 */
.section-pricing .swiper-pricing{
  overflow:hidden;
}

.section-pricing .swiper-pricing .swiper-wrapper{
  align-items:stretch;
}

.section-pricing .swiper-pricing .swiper-slide{
  height:auto;
  display:flex;
}

.section-pricing .swiper-pricing .swiper-slide .price-card{
  width:100%;
}

.section-pricing .swiper-pricing-pagination{
  margin-top:1rem;
}

@media (min-width:992px){
  .section-pricing .swiper-pricing-pagination{
    display:none;
  }
}

.price-card{
  position:relative;
  padding:1.75rem;
  min-height:22rem;
  width:100%;
  transition:background-color .5s ease,color .5s ease,box-shadow .5s ease,transform .5s ease,border-color .5s ease,outline-color .5s ease;
}

/* 价格卡 hover：背景主题色、文字白色，主题色与白色反色调换 */
.price-card:hover{
  background:var(--color-primary) !important;
  color:var(--color-text-inverse);
}

.price-card:hover .heading-3,
.price-card:hover .text-muted,
.price-card:hover .price-card__cost,
.price-card:hover .price-card__note,
.price-card:hover .price-card__features,
.price-card:hover .price-card__features .bi{
  color:var(--color-text-inverse) !important;
}

.price-card:hover .price-card__note{
  background:rgba(255,255,255,.18);
}

.price-card:hover.price-card--featured{
  outline-color:var(--color-text-inverse);
}

.price-card:hover .price-card__badge{
  background:var(--color-text-inverse);
  color:var(--color-primary);
}

.price-card:hover .btn-outline-brand{
  border-color:var(--color-text-inverse);
  color:var(--color-text-inverse);
  background:transparent;
}

.price-card:hover .btn-outline-brand:hover,
.price-card:hover .btn-outline-brand:focus{
  background:rgba(255,255,255,.2);
  border-color:var(--color-text-inverse);
  color:var(--color-text-inverse);
}

.price-card:hover .btn-brand{
  background:var(--color-text-inverse);
  color:var(--color-primary);
}

.price-card:hover .btn-brand:hover,
.price-card:hover .btn-brand:focus{
  background:var(--color-text-inverse);
  color:var(--color-primary);
  opacity:.95;
}

.price-card:hover .price-card__btn-dark{
  background:var(--color-text-inverse);
  color:var(--color-neutral-900);
}

.price-card:hover .price-card__btn-dark:hover{
  background:var(--color-surface);
  color:var(--color-neutral-900);
  opacity:.95;
}

/* 卡片头部统一最小高度，使所有卡片的「功能列表」起始位置同一水平 */
.price-card__head{
  flex-shrink:0;
  min-height:9rem;
}

.price-card--featured{
  outline:.125rem solid var(--color-primary);
  outline-offset:-.125rem;
  box-shadow:var(--shadow-soft-hover);
}

.price-card__badge{
  position:absolute;
  top:-.625rem;
  left:50%;
  transform:translateX(-50%);
  padding:.25rem .75rem;
  border-radius:var(--radius-sm);
  background:var(--color-primary);
  color:var(--color-text-inverse);
  font-size:var(--font-size-xs);
  font-weight:var(--font-weight-semibold);
  white-space:nowrap;
}

.price-card__cost{
  font-size:var(--font-size-md);
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-main);
}

.price-card__note{
  padding:.5rem .75rem;
  border-radius:var(--radius-sm);
  background:rgba(51,102,255,.06);
  color:var(--color-text-main);
  font-size:var(--font-size-xs);
  line-height:var(--line-height-normal);
}

.price-card__features{
  font-size:var(--font-size-sm);
  color:var(--color-text-main);
  line-height:1.8;
}

.price-card__features li{
  margin-bottom:.375rem;
}

.price-card__features .bi{
  font-size:1rem;
}

.price-card__btn-dark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:var(--btn-height-md);
  min-height:var(--btn-height-md);
  padding-inline:var(--btn-padding-x-md);
  border-radius:var(--btn-radius);
  border:0;
  background:var(--color-neutral-900);
  color:var(--color-text-inverse);
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-medium);
  transition:background-color .5s ease,opacity .5s ease,transform .5s ease;
}

/* 价格卡内所有按钮统一宽高，视觉一致 */
.price-card .btn-brand,
.price-card .btn-outline-brand,
.price-card .price-card__btn-dark{
  height:var(--btn-height-md);
  min-height:var(--btn-height-md);
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  justify-content:center;
}

.price-card__btn-dark:hover{
  background:var(--color-neutral-700);
  color:var(--color-text-inverse);
  opacity:.95;
}

/* 响应式适配：针对 4K / 2K / 桌面 / 平板 / 手机等 */

/* 中等桌面（默认：1080p 附近）已经作为基础样式 */

/* 大屏：2K / 4K 上适当放大基础字号与主视觉排版 */
@media (min-width:75rem){ /* >=1200px */
  body{
    font-size:1.0625rem; /* 约 17px */
  }

  .heading-1{
    font-size:2.25rem;
  }

  .heading-2{
    font-size:1.75rem;
  }
}

@media (min-width:105rem){ /* >=1680px */
  body{
    font-size:1.125rem; /* 约 18px，适合 2K/4K */
  }

  .heading-1{
    font-size:2.5rem;
  }

  .heading-2{
    font-size:2rem;
  }
}

/* 平板与小桌面（iPad、窄屏笔记本等） */
@media (max-width:62rem){ /* <=992px */
  .swiper-hero{
    height:calc(100vh - 4.875rem);
    height:calc(100svh - 4.875rem);
  }

  .swiper-hero__slide{
    height:100%;
    padding-block:2rem;
  }

  .heading-1{
    font-size:var(--font-size-2xl);
  }

  .heading-2{
    font-size:var(--font-size-xl);
  }
}

/* 平板/手机：pad 与手机共用同一套适配（≤992px） */
@media (max-width:62rem){ /* <=992px */
  body{
    font-size:var(--font-size-sm);
  }

  .swiper-hero__slide{
    padding-block:1.5rem;
  }

  .btn-size-lg{
    height:var(--btn-height-md);
    padding-inline:var(--btn-padding-x-md);
    font-size:var(--font-size-sm);
  }

  .swiper-hero__pagination{
    bottom:1.5rem;
  }
}

/* 步骤切换滑块 tabs */
.section-steps{
  padding-block:4rem;
  background:var(--color-surface);
  overflow:hidden;
}

.step-tabs{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.75rem;
  margin-bottom:2rem;
}

.step-tabs__tab{
  padding:.5rem 1.25rem;
  border-radius:var(--radius-md);
  border:.0625rem solid var(--color-border-subtle);
  background:var(--color-surface);
  color:var(--color-text-main);
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-medium);
  cursor:pointer;
  transition:background .25s ease,color .25s ease,border-color .25s ease;
}

.step-tabs__tab:hover{
  border-color:var(--color-primary);
  color:var(--color-primary);
}

.step-tabs__tab.active{
  background:var(--color-primary);
  border-color:var(--color-primary);
  color:var(--color-text-inverse);
}

/* 步骤区 container 允许子元素超出显示 */
.section-steps .container{
  overflow:visible;
}

/* 视口：突破 container 左右内边距，超出显示；支持拖拽滑动；禁止横向滑动触发浏览器前进/后退 */
.step-tabs__viewport{
  overflow:visible;
  width:calc(100% + 2 * var(--bs-gutter-x, 1rem));
  margin-left:calc(-1 * var(--bs-gutter-x, 1rem));
  margin-right:calc(-1 * var(--bs-gutter-x, 1rem));
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
  touch-action:pan-y;
}

.step-tabs__viewport:active{
  cursor:grabbing;
}

.step-tabs__track{
  display:flex;
  width:calc(142.857% + 4rem);
  transition:transform .4s ease;
  will-change:transform;
}

.step-tabs__track .step-tabs__card{
  flex:0 0 20%;
  box-sizing:border-box;
  margin-right:1rem;
  min-height:25rem;
  position:relative;
}

.step-tabs__track .step-tabs__card:last-child{
  margin-right:0;
}

.step-tabs__card--hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

/* 卡片层：圆角矩形、无线框、用 UI 投影；隐藏/显示过渡 0.5s；用 padding 撑高，图片贴底 */
.step-tabs__card{
  background:var(--color-surface);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
  padding:1.5rem 1.75rem 0 1.75rem;
  padding-bottom:5rem;
  border:none;
  transition:opacity .5s ease;
}

/* 图片区：绝对定位贴卡片底部，左右与卡片边齐 */
.step-tabs__card-image{
  position:absolute;
  bottom:0;
  left:-1.75rem;
  width:calc(100% + 3.5rem);
  border-radius:0;
  overflow:hidden;
}

.step-tabs__card-image img{
  display:block;
  width:100%;
  height:auto;
  max-height:12rem;
  object-fit:cover;
  border-radius:0;
}

/* 服务项目卡片：上文案区 + 下图贴底 */
.section-service-cards{
  padding-block:4rem;
  background:var(--color-bg);
}

.service-card{
  position:relative;
  min-height:18rem;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-soft);
  transition:box-shadow .35s ease,transform .35s ease;
}

.service-card:hover{
  box-shadow:var(--shadow-soft-hover);
  transform:translateY(-.25rem);
}

.service-card__top{
  padding:1.5rem 1.25rem 3rem 1.25rem;
  display:flex;
  flex-direction:column;
  min-height:18rem;
  transition:background .35s ease,color .35s ease;
}

.service-card__top .heading-3,
.service-card__top .text-body,
.service-card__top .text-muted{
  color:inherit;
  transition:color .35s ease;
}

.service-card__link{
  margin-top:auto;
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-medium);
  color:var(--color-primary);
  transition:color .35s ease,opacity .35s ease;
}

.service-card__link:hover{
  color:var(--color-primary);
  opacity:.85;
}

.service-card__icon{
  position:absolute;
  bottom:1rem;
  right:1rem;
  font-size:3.5rem;
  line-height:1;
  opacity:.18;
  color:var(--color-primary);
  transition:opacity .35s ease,color .35s ease;
}

.service-card__icon .bi{
  display:block;
}

/* 默认：顶区全白 */
.service-card--1 .service-card__top,
.service-card--2 .service-card__top,
.service-card--3 .service-card__top,
.service-card--4 .service-card__top,
.service-card--5 .service-card__top{
  background:var(--color-surface);
  color:var(--color-text-main);
}

/* hover：统一主色反色 + 图标高亮 */
.service-card:hover .service-card__top{
  background:var(--color-primary);
  color:var(--color-text-inverse);
}

.service-card:hover .service-card__top .heading-3,
.service-card:hover .service-card__top .text-body,
.service-card:hover .service-card__top .text-muted{
  color:var(--color-text-inverse) !important;
}

.service-card:hover .service-card__link{
  color:var(--color-text-inverse);
}

.service-card:hover .service-card__icon{
  opacity:.35;
  color:var(--color-text-inverse);
}

/* 二级 tabs：一级横向 + 二级左侧竖向 + 右侧内容 */
.section-two-level-tabs{
  padding-block:4rem;
}

.tabs-layout{
  margin-top:1.5rem;
}

.tabs-primary{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.5rem;
  margin-bottom:1.5rem;
}

.tabs-primary__tab{
  padding:.5rem 1.25rem;
  border-radius:var(--radius-md);
  border:.0625rem solid var(--color-border-subtle);
  background:transparent;
  color:var(--color-text-main);
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-medium);
  cursor:pointer;
  transition:background .25s ease,color .25s ease,border-color .25s ease;
}

.tabs-primary__tab:hover{
  border-color:var(--color-primary);
  color:var(--color-primary);
}

.tabs-primary__tab.active{
  background:var(--color-primary);
  border-color:var(--color-primary);
  color:var(--color-text-inverse);
}

.tabs-panels{
  position:relative;
}

.tabs-panel{
  display:none;
}

.tabs-panel.active{
  display:flex;
  flex-wrap:wrap;
  gap:1.5rem;
}

.tabs-secondary{
  flex:0 0 14rem;
  display:flex;
  flex-direction:column;
  gap:.25rem;
  padding:0;
  margin:0;
  list-style:none;
}

.tabs-secondary__tab{
  display:flex;
  align-items:center;
  width:100%;
  padding:.75rem 1rem;
  border:0;
  border-radius:var(--radius-md);
  background:transparent;
  color:var(--color-text-main);
  font-size:var(--font-size-sm);
  text-align:left;
  cursor:pointer;
  transition:background .25s ease,color .25s ease;
}

.tabs-secondary__tab:hover{
  background:rgba(51,102,255,.06);
  color:var(--color-primary);
}

.tabs-secondary__tab.active{
  background:var(--color-primary);
  color:var(--color-text-inverse);
}

.tabs-secondary__tab .bi{
  flex-shrink:0;
}

.tabs-content{
  flex:1;
  min-width:0;
  padding:1.5rem 1.75rem;
  border-radius:var(--radius-lg);
  background:var(--color-surface);
  box-shadow:var(--shadow-soft);
}

.tabs-content__item{
  display:none;
}

.tabs-content__item.active{
  display:block;
}

.tabs-content__card-title{
  display:none;
}

.tabs-content__image{
  margin-top:1.25rem;
  margin-inline:auto;
  width:100%;
  max-width:100%;
  height:16rem;
  min-height:0;
  flex-shrink:0;
  border-radius:var(--radius-md);
  overflow:hidden;
  background:var(--color-bg);
}

.tabs-content__image img{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center center;
  display:block;
}

@media (min-width:36em){
  .tabs-content__image{ max-width:33.75rem; height:20rem; }
}
@media (min-width:48em){
  .tabs-content__image{ max-width:45rem; height:28rem; }
}
@media (min-width:62em){
  .tabs-content__image{ max-width:60rem; height:36rem; }
}
@media (min-width:75em){
  .tabs-content__image{ max-width:71.25rem; height:40rem; }
}
@media (min-width:87.5em){
  .tabs-content__image{ max-width:82.5rem; }
}

@media (max-width:62rem){
  .tabs-content__image{
    height:12rem;
    max-height:50vh;
  }
  .section-two-level-tabs{
    padding-block:2.5rem;
  }
  .tabs-panel.active{
    flex-direction:column;
  }
  .tabs-secondary{
    flex:0 0 auto;
    width:100%;
    flex-direction:row;
    flex-wrap:wrap;
  }
  .tabs-secondary__tab{
    flex:1;
    min-width:8rem;
  }
  .tabs-content{
    padding:1rem 1rem;
  }
}

/* 应用场景：三栏卡片 / 移动端 Swiper */
.section-application-scenarios{
  padding-block:4rem;
}

.scenario-swiper{
  overflow:hidden;
  padding-bottom:2rem;
}
.scenario-swiper .swiper-slide{
  height:auto;
}
.scenario-swiper .scenario-card{
  height:100%;
}
.scenario-swiper-pagination{
  position:relative;
  margin-top:1rem;
}
@media (min-width:992px){
  .scenario-swiper-pagination{
    display:none;
  }
}

.scenario-card{
  height:100%;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--color-surface);
  box-shadow:var(--shadow-soft);
  transition:box-shadow .35s ease,transform .35s ease;
}

.scenario-card:hover{
  box-shadow:var(--shadow-soft-hover);
  transform:translateY(-.125rem);
}

.scenario-card__image{
  position:relative;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--color-bg);
}

.scenario-card__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.scenario-card__title{
  padding:1.25rem 1.25rem 0;
  margin:0;
  font-weight:var(--font-weight-semibold);
}

.scenario-card__list{
  padding:0.75rem 1.25rem 1.25rem;
  margin:0;
  list-style:disc;
  padding-left:1.5rem;
}

.scenario-card__list li{
  margin-bottom:0.375rem;
}

.scenario-card__list li::marker{
  color:var(--color-primary);
}

.scenario-card__list li:last-child{
  margin-bottom:0;
}

@media (max-width:62rem){
  .section-application-scenarios{
    padding-block:3rem;
  }
  .scenario-card__image{
    aspect-ratio:16/9;
  }
  .scenario-card__title{
    padding:1rem 1rem 0;
  }
  .scenario-card__list{
    padding:0.5rem 1rem 1rem;
    padding-left:1.25rem;
  }
}

@media (max-width:62rem){
  .section-application-scenarios{
    padding-block:2.5rem;
  }
  .scenario-card__image{
    aspect-ratio:4/3;
  }
}

/* 数据展示栏：深色底 + 数字 + 文案（参考 dataShow 布局） */
.section-data-show{
  padding-block:0;
}
.data-show{
  background:#2c3d39;
  background-image:url(https://images.pexels.com/photos/267885/pexels-photo-267885.jpeg?auto=compress&cs=tinysrgb&w=1600);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  min-height:10.375rem;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
}
.data-show::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(44,61,57,.88);
  z-index:0;
}
.data-show__content{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:2rem;
  width:100%;
  padding-block:2rem;
}
.data-show__item{
  text-align:center;
  min-width:8rem;
  flex:1;
  max-width:20rem;
}
.data-show__num{
  display:block;
  color:var(--color-text-inverse);
  font-size:2.25rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.3;
  margin-bottom:0.25rem;
}
.data-show__text{
  display:block;
  color:var(--color-text-inverse);
  font-size:var(--font-size-sm);
  opacity:.95;
}
@media (max-width:62rem){
  .data-show__content{
    flex-direction:column;
    gap:1.5rem;
  }
  .data-show__item{
    max-width:100%;
  }
  .data-show__num{
    font-size:1.75rem;
  }
}

/* 最新动态：封面图 + 标题 + 描述 Swiper */
.section-latest-news{
  padding:3.5rem 0;
  background:var(--color-surface);
}
.news-swiper{
  overflow:hidden;
  padding-bottom:2.25rem;
}
.news-swiper .swiper-slide{
  height:auto;
}
.news-card{
  height:100%;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--color-surface);
  box-shadow:var(--shadow-soft);
  transition:box-shadow .35s ease,transform .35s ease;
  display:flex;
  flex-direction:column;
}
.news-card:hover{
  box-shadow:var(--shadow-soft-hover);
  transform:translateY(-.125rem);
}
.news-card__image{
  position:relative;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--color-bg);
}
.news-card__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.news-card__title{
  padding:1.25rem 1.25rem 0;
  margin:0;
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-main);
  flex:0 0 auto;
}
.news-card__desc{
  padding:0.5rem 1.25rem 1.25rem;
  margin:0;
  font-size:var(--font-size-sm);
  line-height:var(--line-height-loose);
  color:var(--color-text-muted);
  flex:1 1 auto;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
  overflow:hidden;
}
.news-swiper-pagination{
  position:relative;
  margin-top:1rem;
}
@media (min-width:992px){
  .news-swiper-pagination{
    display:none;
  }
}
@media (max-width:62rem){
  .section-latest-news{
    padding-block:3rem;
  }
  .news-card__image{
    aspect-ratio:16/9;
  }
  .news-card__title{
    padding:1rem 1rem 0;
  }
  .news-card__desc{
    padding:0.5rem 1rem 1rem;
    -webkit-line-clamp:2;
    line-clamp:2;
  }
}

/* CTA 转化栏：主题色背景 + 粒子/线条漂浮 */
.section-cta-bar{
  padding:2.5rem 0;
  background:var(--color-primary);
  position:relative;
  overflow:hidden;
}
.cta-bar__float{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
}
.cta-bar__particles{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.cta-bar__particle{
  position:absolute;
  width:.25rem;
  height:.25rem;
  border-radius:50%;
  background:rgba(255,255,255,.22);
  transform:translate(-50%,-50%);
  will-change:transform;
}
.cta-bar{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:1.25rem;
}
.cta-bar__content{
  flex:1 1 auto;
  min-width:0;
}
.cta-bar__title{
  margin:0 0 .25rem;
  font-size:var(--font-size-xl);
  font-weight:var(--font-weight-bold);
  color:var(--color-text-inverse);
  line-height:var(--line-height-tight);
}
.cta-bar__subtitle{
  margin:0;
  font-size:var(--font-size-md);
  color:var(--color-text-inverse);
  opacity:.95;
}
.cta-bar__btn{
  flex-shrink:0;
  padding:.625rem 1.5rem;
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-medium);
  color:var(--color-primary);
  background:var(--color-surface);
  border:2px solid var(--color-surface);
  border-radius:var(--btn-radius);
  cursor:pointer;
  transition:background .25s ease,color .25s ease,transform .2s ease;
}
.cta-bar__btn:hover{
  background:transparent;
  color:var(--color-text-inverse);
  transform:translateY(-.0625rem);
}
.cta-bar__btn:focus{
  outline:0;
  box-shadow:0 0 0 3px rgba(255,255,255,.5);
}
@media (max-width:47.98rem){
  .section-cta-bar{
    padding:2rem 0;
  }
  .cta-bar{
    flex-direction:column;
    text-align:center;
  }
  .cta-bar__title{
    font-size:var(--font-size-lg);
  }
}

/* CTA 弹层：模糊暗色背景 + 居中表单 */
.cta-modal{
  position:fixed;
  inset:0;
  z-index:1050;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1rem;
  visibility:hidden;
  opacity:0;
  transition:visibility .25s ease,opacity .25s ease;
}
.cta-modal.is-open{
  visibility:visible;
  opacity:1;
}
.cta-modal.is-open .cta-modal__backdrop{
  opacity:1;
}
.cta-modal.is-open .cta-modal__dialog{
  opacity:1;
  transform:scale(1);
}
.cta-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  opacity:0;
  transition:opacity .25s ease;
}
.cta-modal__dialog{
  position:relative;
  z-index:1;
  width:100%;
  max-width:28rem;
  max-height:90vh;
  overflow-y:auto;
  background:var(--color-surface);
  border-radius:var(--radius-lg);
  box-shadow:0 1.25rem 3rem rgba(0,0,0,.25);
  padding:1.5rem 1.75rem;
  opacity:0;
  transform:scale(.96);
  transition:opacity .25s ease,transform .25s ease;
}
.cta-modal__close{
  position:absolute;
  top:1rem;
  right:1rem;
  width:2.25rem;
  height:2.25rem;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:0;
  background:transparent;
  color:var(--color-text-muted);
  border-radius:var(--radius-sm);
  cursor:pointer;
  transition:color .2s ease,background .2s ease;
}
.cta-modal__close:hover{
  color:var(--color-text-main);
  background:var(--color-bg);
}
.cta-modal__close:focus{
  outline:0;
  box-shadow:0 0 0 2px var(--color-primary);
}
.cta-modal__title{
  margin:0 0 .25rem;
  font-size:var(--font-size-lg);
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-main);
  padding-right:2.5rem;
}
.cta-modal__desc{
  margin:0 0 1.25rem;
  font-size:var(--font-size-sm);
}
.cta-modal__form{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.cta-modal__field .form-label{
  font-weight:var(--font-weight-medium);
  color:var(--color-text-main);
  margin-bottom:0.25rem;
}
.cta-modal__actions{
  display:flex;
  gap:0.75rem;
  justify-content:flex-end;
  margin-top:0.5rem;
}

/* 案例卡片栏：封面图 + 标题 + 描述，一行 4 个两行 */
.section-case-cards{
  padding:3.5rem 0;
  background:var(--color-surface);
}
.case-card{
  height:100%;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-soft);
  transition:box-shadow .3s ease,transform .3s ease;
  display:flex;
  flex-direction:column;
}
.case-card:hover{
  box-shadow:var(--shadow-soft-hover);
  transform:translateY(-.25rem);
}
.case-card__cover{
  position:relative;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--color-bg);
}
.case-card__cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.case-card__body{
  padding:1.25rem;
  flex:1 1 auto;
}
.case-card__title{
  margin:0 0 .5rem;
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-main);
}
.case-card__desc{
  margin:0;
  font-size:var(--font-size-sm);
  line-height:var(--line-height-loose);
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden;
}

/* 案例分类列表页：网格瀑布、分类导航、图文卡片（无侧栏） */
.section-case-list{
  padding:3.5rem 0;
  background:var(--color-surface);
  padding-top:5rem;
}
.case-list-header .heading-2{
  color:var(--color-text-main);
}
.case-list-nav__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem;
  justify-content:center;
}
.case-list-nav__link{
  display:inline-block;
  padding:0.5rem 1rem;
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-medium);
  color:var(--color-text-muted);
  text-decoration:none;
  border-radius:var(--radius-md);
  background:var(--color-bg);
  border:1px solid var(--color-border-subtle);
  transition:color .2s ease,background .2s ease,border-color .2s ease;
}
.case-list-nav__link:hover{
  color:var(--color-primary);
  background:rgba(var(--color-primary-rgb,59,130,246),.08);
  border-color:var(--color-primary);
}
.case-list-nav__link.is-active{
  color:#fff;
  background:var(--color-primary);
  border-color:var(--color-primary);
}
.case-list-masonry{
  column-count:3;
  column-gap:1.5rem;
}
@media (max-width:62rem){
  .case-list-masonry{
    column-count:2;
  }
}
@media (max-width:36rem){
  .case-list-masonry{
    column-count:1;
  }
}
.case-list-card{
  break-inside:avoid;
  margin-bottom:1.5rem;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-soft);
  transition:box-shadow .3s ease,transform .3s ease;
}
.case-list-card:hover{
  box-shadow:var(--shadow-soft-hover);
  transform:translateY(-.25rem);
}
.case-list-card__link{
  display:block;
  text-decoration:none;
  color:inherit;
}
.case-list-card__link:hover{
  color:inherit;
}
.case-list-card__cover{
  position:relative;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--color-bg);
}
.case-list-card__cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.case-list-card__tag{
  position:absolute;
  left:0.75rem;
  top:0.75rem;
  padding:0.25rem 0.6rem;
  font-size:var(--font-size-xs);
  font-weight:var(--font-weight-medium);
  color:#fff;
  background:var(--color-primary);
  border-radius:var(--radius-sm);
}
.case-list-card__body{
  padding:1.25rem;
}
.case-list-card__title{
  margin:0 0 .5rem;
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-main);
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden;
}
.case-list-card__desc{
  margin:0 0 .5rem;
  font-size:var(--font-size-sm);
  line-height:var(--line-height-loose);
  color:var(--color-text-muted);
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden;
}
.case-list-card__time{
  display:block;
  font-size:var(--font-size-xs);
}

/* Logo 栏：5:3 宽高比，白底，居中，hover */
.section-logos{
  padding:2.5rem 0;
  background:#fff;
}
.logos-row{
  align-items:stretch;
}
.logo-cell__inner{
  aspect-ratio:5/3;
  background:#fff;
  border-radius:var(--radius-md);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1rem;
  box-shadow:0 1px 3px rgba(0,0,0,.06);
  transition:transform .25s ease,box-shadow .25s ease;
}
.logo-cell__inner:hover{
  transform:scale(1.04);
  box-shadow:0 4px 12px rgba(0,0,0,.08);
}
.logo-cell__inner img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;
}

/* 奖项栏：5:3 卡片，左/右麦穗为伪元素 background（data URI SVG） */
.section-awards{
  padding:3rem 0;
  background:var(--color-bg);
}
.awards-row-title{
  font-size:var(--font-size-lg);
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-main);
  margin:0 0 0.75rem;
  padding-bottom:0.25rem;
}
/* 荣誉证书行：6 个卡片，图片 1:1.3 */
.award-cert-card{
  background:#fff;
  border-radius:var(--radius-md);
  overflow:hidden;
  box-shadow:0 2px 6px rgba(0,0,0,.06);
  transition:box-shadow .25s ease,transform .25s ease;
}
.award-cert-card:hover{
  box-shadow:0 3px 12px rgba(0,0,0,.08);
  transform:translateY(-2px);
}
.award-cert-card__image{
  position:relative;
  width:100%;
  aspect-ratio:1/1.3;
  overflow:hidden;
  background:var(--color-bg);
}
.award-cert-card__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.award-cert-card__title{
  position:relative;
  margin:0;
  padding:0.5rem 2.25rem 0.75rem;
  font-size:var(--font-size-lg);
  font-weight:var(--font-weight-semibold);
  color:var(--color-primary);
  text-align:center;
}
.award-cert-card__title::before,
.award-cert-card__title::after{
  content:"";
  position:absolute;
  top:50%;
  width:24px;
  height:24px;
  margin-top:-12px;
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
}
.award-cert-card__title::before{
  left:0.5rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='%23ffc168' d='M736.853333 731.306667c-1.706667-1.706667-4.266667-1.706667-6.4 0-8.106667 7.253333-30.293333 30.72-30.293333 72.106666s22.186667 64.853333 30.293333 72.106667c1.706667 1.706667 4.266667 1.706667 6.4 0 8.106667-7.253333 30.293333-30.72 30.293334-72.106667 0.426667-41.386667-21.76-64.426667-30.293334-72.106666z m-19.626666 168.106666c-10.24-3.413333-41.386667-11.093333-77.226667 9.813334-35.84 20.906667-44.8 51.626667-46.933333 62.293333-0.426667 2.56 0.853333 4.693333 2.986666 5.546667 10.666667 3.413333 41.386667 11.093333 77.226667-9.813334 35.84-20.906667 44.8-51.626667 46.933333-62.293333 0.853333-2.56-0.426667-4.693333-2.986666-5.546667zM502.186667 810.666667c-40.533333 8.533333-58.453333 34.986667-64 44.373333-1.28 2.133333-0.426667 4.693333 1.28 5.973333 8.96 6.826667 35.84 23.466667 76.373333 15.36 40.533333-8.533333 58.453333-34.986667 64-44.373333 1.28-2.133333 0.426667-4.693333-1.28-5.973333-8.96-6.826667-36.266667-23.893333-76.373333-15.36z m102.4-1.28c10.24-4.266667 38.4-19.626667 51.2-58.88 12.8-39.253333-0.853333-68.266667-6.4-78.08a4.906667 4.906667 0 0 0-5.973334-2.133334c-10.24 4.266667-38.4 19.626667-51.2 58.88s0.853333 68.266667 6.4 78.08c1.28 2.133333 3.84 2.986667 5.973334 2.133334z m-115.626667-90.453334c11.093333-1.28 42.24-7.68 66.133333-41.386666s19.2-65.706667 16.213334-76.373334a4.437333 4.437333 0 0 0-5.12-3.413333c-11.093333 1.28-42.24 7.68-66.133334 41.386667s-19.2 65.706667-16.213333 76.373333c0.426667 2.133333 2.56 3.413333 5.12 3.413333z m-29.866667 8.106667c-6.4-8.96-27.733333-33.28-68.693333-36.693333-40.96-3.84-66.133333 16.213333-74.24 23.893333-1.706667 1.706667-2.133333 4.266667-0.426667 6.4 6.4 8.96 27.733333 33.28 68.693334 36.693333 40.96 3.84 66.133333-16.213333 74.24-23.893333 1.706667-1.706667 2.133333-4.693333 0.426666-6.4z m74.666667-219.733333c0-2.56-1.706667-4.266667-3.84-4.693334-11.093333-1.706667-42.666667-4.266667-74.666667 22.186667s-35.84 58.026667-36.266666 69.12c0 2.56 1.706667 4.266667 3.84 4.693333 11.093333 1.706667 42.666667 4.266667 74.666666-22.186666s35.84-58.026667 36.266667-69.12z m-143.786667 96.853333c2.133333-1.28 2.986667-3.84 2.133334-5.973333-3.84-10.24-17.92-39.253333-56.32-54.186667s-67.84-2.133333-77.653334 2.986667c-2.133333 1.28-3.413333 3.84-2.56 5.973333 3.84 10.24 17.92 39.253333 56.32 54.186667 38.826667 14.506667 68.266667 2.133333 78.08-2.986667z m-6.826666-148.053333c2.56-0.426667 4.266667-2.133333 4.266666-4.693334 0-11.093333-2.56-43.093333-33.706666-70.4-31.146667-27.733333-62.72-26.453333-73.813334-25.173333-2.56 0.426667-4.266667 2.56-4.266666 4.693333 0 11.093333 2.56 43.093333 33.706666 70.4 30.72 27.733333 62.72 26.453333 73.813334 25.173334z m89.173333-51.2c-39.253333 13.226667-54.186667 41.386667-58.453333 51.626666-0.853333 2.133333 0 4.693333 2.133333 5.973334 9.386667 5.546667 38.4 19.2 77.653333 5.973333s54.186667-41.386667 58.453334-51.626667c0.853333-2.133333 0-4.693333-2.133334-5.973333-9.386667-5.546667-38.4-19.2-77.653333-5.973333z m116.053333-101.973334c-8.533333-6.826667-34.986667-24.746667-75.946666-17.92-40.533333 7.253333-59.733333 32.853333-65.28 42.24-1.28 2.133333-0.853333 4.693333 0.853333 6.4 8.533333 6.826667 34.986667 24.746667 75.946667 17.92 40.533333-7.253333 59.733333-32.853333 65.28-42.24 1.28-2.133333 0.853333-4.693333-0.853334-6.4z m-171.946666 19.2c2.56 0 4.266667-1.706667 4.693333-3.84 2.133333-11.093333 3.84-43.093333-22.186667-75.093333-26.453333-31.573333-58.453333-35.413333-69.546666-35.84-2.56 0-4.266667 1.706667-4.693334 3.84-1.706667 11.093333-3.84 43.52 22.613334 75.093333 26.453333 32 58.026667 35.84 69.12 35.84z m64.853333-122.88c2.133333 0.853333 4.693333-0.426667 5.546667-2.56 4.693333-10.24 14.933333-40.533333-2.133334-78.08-17.066667-37.546667-46.933333-49.493333-57.6-52.906666a5.12 5.12 0 0 0-5.546666 2.56c-4.266667 10.24-14.933333 40.533333 2.56 78.506666 17.066667 37.546667 46.933333 49.493333 57.173333 52.48zM577.28 256c40.96 3.84 66.133333-16.213333 74.24-23.466667 1.706667-1.706667 2.133333-4.266667 0.426667-6.4-6.4-8.96-27.306667-33.28-68.693334-37.12-40.96-3.84-66.133333 16.213333-74.24 23.466667-1.706667 1.706667-2.133333 4.266667-0.426666 6.4 6.826667 8.96 27.733333 33.28 68.693333 37.12z m-26.88-110.506667c48.64 8.96 110.506667-47.36 105.813333-97.28 0-2.56-1.706667-4.266667-4.266666-4.693333C603.306667 34.56 541.866667 90.88 546.133333 140.8c0 2.56 2.133333 4.266667 4.266667 4.693333z'/%3E%3C/svg%3E");
}
.award-cert-card__title::after{
  right:0.5rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='%23ffc168' d='M382.72 909.226667c-35.84-20.906667-66.986667-13.226667-77.226667-9.813334-2.133333 0.853333-3.413333 2.986667-2.986666 5.546667 2.133333 11.093333 11.093333 41.813333 46.933333 62.293333 35.84 20.906667 66.986667 13.226667 77.226667 9.813334 2.133333-0.853333 3.413333-2.986667 2.986666-5.546667-2.133333-10.666667-11.093333-41.813333-46.933333-62.293333z m-90.88-177.92c-1.706667-1.706667-4.266667-1.706667-6.4 0-8.106667 7.253333-30.293333 30.72-30.293333 72.106666s22.186667 64.853333 30.293333 72.106667c1.706667 1.706667 4.266667 1.706667 6.4 0 8.106667-7.253333 30.293333-30.72 30.293333-72.106667s-21.76-64.426667-30.293333-72.106666z m87.466667-60.586667c-2.133333-0.853333-4.693333 0-5.973334 2.133333-5.546667 9.386667-19.2 38.826667-6.4 78.08 12.8 39.253333 40.96 54.613333 51.2 58.88 2.133333 0.853333 4.693333 0 5.973334-2.133333 5.546667-9.386667 19.2-38.826667 6.4-78.08s-40.96-54.613333-51.2-58.88zM520.533333 810.666667c-40.533333-8.533333-67.413333 8.533333-76.373333 15.36-1.706667 1.28-2.56 4.266667-1.28 5.973333 5.546667 9.813333 23.466667 36.266667 64 44.373333 40.533333 8.533333 67.413333-8.533333 76.373333-15.36 1.706667-1.28 2.56-4.266667 1.28-5.973333-5.12-9.386667-23.466667-35.84-64-44.373333z m-64-213.333334a4.437333 4.437333 0 0 0-5.12 3.413334c-2.56 10.666667-7.253333 42.666667 16.213334 76.373333 23.893333 33.706667 55.04 40.106667 66.133333 41.386667 2.56 0.426667 4.693333-1.28 5.12-3.413334 2.56-10.666667 7.253333-42.666667-16.213333-76.373333-23.893333-33.706667-55.04-40.106667-66.133334-41.386667z m175.786667 93.013334c-40.96 3.84-62.293333 27.733333-68.693333 36.693333-1.28 2.133333-1.28 4.693333 0.426666 6.4 8.106667 7.68 32.853333 27.733333 74.24 23.893333 40.96-3.84 62.293333-27.733333 68.693334-36.693333 1.28-2.133333 1.28-4.693333-0.426667-6.4-8.106667-7.68-33.28-27.733333-74.24-23.893333z m132.693333-143.36c-9.813333-5.12-39.253333-17.493333-77.653333-2.986667s-52.48 43.52-56.32 54.186667c-0.853333 2.133333 0 4.693333 2.133333 5.973333 9.813333 5.12 39.253333 17.493333 77.653334 2.986667 38.4-14.506667 52.48-43.52 56.32-54.186667 0.853333-2.133333 0-4.693333-2.133334-5.973333z m-165.12 51.2c2.56-0.426667 3.84-2.56 3.84-4.693334-0.426667-11.093333-4.266667-43.093333-36.266666-69.12-32-26.453333-64-23.893333-74.666667-22.186666-2.56 0.426667-3.84 2.56-3.84 4.693333 0.426667 11.093333 4.266667 43.093333 36.266667 69.12 32 26.453333 64 24.32 74.666666 22.186667z m35.84-146.773334c0 2.56 1.706667 4.266667 4.266667 4.693334 11.093333 1.28 43.093333 2.56 73.813333-24.746667 30.72-27.306667 33.706667-59.306667 33.706667-70.4 0-2.56-1.706667-4.266667-4.266667-4.693333-11.093333-1.28-43.093333-2.56-73.813333 24.746666-31.146667 27.306667-34.133333 59.306667-33.706667 70.4z m-26.88 5.12c-4.266667-10.24-19.2-38.826667-58.453333-51.626666-39.253333-13.226667-68.266667 0.426667-77.653333 5.973333-2.133333 1.28-2.986667 3.84-2.133334 5.973333 4.266667 10.24 19.2 38.826667 58.453334 51.626667 39.253333 13.226667 68.266667-0.426667 77.653333-5.973333 2.133333-1.28 2.986667-3.84 2.133333-5.973334z m-34.133333-122.88c1.706667-1.706667 2.133333-4.266667 0.853333-6.4-5.546667-9.386667-24.746667-35.413333-65.28-42.24-40.533333-7.253333-67.413333 10.666667-75.946666 17.92-1.706667 1.706667-2.133333 4.266667-0.853334 6.4 5.973333 9.386667 24.746667 35.413333 65.28 42.24 40.533333 6.826667 67.413333-11.093333 75.946667-17.92z m26.88-15.36c0.426667 2.56 2.56 4.266667 4.693333 3.84 11.093333-0.426667 42.666667-3.84 69.12-35.84 26.453333-32 24.32-64 22.613334-75.093333-0.426667-2.56-2.56-4.266667-4.693334-3.84-11.093333 0.426667-42.666667 3.84-69.12 35.84-26.453333 32-24.32 64-22.613333 75.093333z m-60.16-119.04c10.666667-2.986667 40.106667-14.933333 57.6-52.906666 17.066667-37.546667 6.826667-68.266667 2.133333-78.08-0.853333-2.133333-3.413333-3.413333-5.546666-2.56-10.666667 2.986667-40.106667 14.933333-57.6 52.906666s-6.826667 68.266667-2.133334 78.08a4.266667 4.266667 0 0 0 5.546667 2.56z m-171.093333 26.88c-1.28 1.706667-0.853333 4.266667 0.853333 5.973334 8.106667 7.68 32.853333 27.733333 74.24 23.893333a95.573333 95.573333 0 0 0 68.693333-37.12c1.28-2.133333 1.28-4.693333-0.426666-6.4-8.106667-7.68-33.28-27.306667-74.24-23.466667-41.386667 3.84-62.293333 27.733333-69.12 37.12z m101.973333-80.64c2.56-0.426667 4.266667-2.133333 4.266667-4.693333 4.266667-49.92-57.173333-106.24-105.813334-97.28-2.56 0.426667-4.266667 2.133333-4.266666 4.693333-4.693333 49.92 57.173333 106.24 105.813333 97.28z'/%3E%3C/svg%3E");
}
.award-badge{
  position:relative;
  aspect-ratio:5/3;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 1.75rem;
  background:#fff;
  border-radius:var(--radius-md);
  box-shadow:0 2px 6px rgba(0,0,0,.06);
  transition:box-shadow .25s ease,transform .25s ease;
}
.award-badge:hover{
  box-shadow:0 3px 12px rgba(0,0,0,.08);
  transform:translateY(-2px);
}
.award-badge::before,
.award-badge::after{
  content:"";
  position:absolute;
  top:50%;
  width:32px;
  height:32px;
  margin-top:-16px;
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
}
.award-badge::before{
  left:.5rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='%23ffc168' d='M736.853333 731.306667c-1.706667-1.706667-4.266667-1.706667-6.4 0-8.106667 7.253333-30.293333 30.72-30.293333 72.106666s22.186667 64.853333 30.293333 72.106667c1.706667 1.706667 4.266667 1.706667 6.4 0 8.106667-7.253333 30.293333-30.72 30.293334-72.106667 0.426667-41.386667-21.76-64.426667-30.293334-72.106666z m-19.626666 168.106666c-10.24-3.413333-41.386667-11.093333-77.226667 9.813334-35.84 20.906667-44.8 51.626667-46.933333 62.293333-0.426667 2.56 0.853333 4.693333 2.986666 5.546667 10.666667 3.413333 41.386667 11.093333 77.226667-9.813334 35.84-20.906667 44.8-51.626667 46.933333-62.293333 0.853333-2.56-0.426667-4.693333-2.986666-5.546667zM502.186667 810.666667c-40.533333 8.533333-58.453333 34.986667-64 44.373333-1.28 2.133333-0.426667 4.693333 1.28 5.973333 8.96 6.826667 35.84 23.466667 76.373333 15.36 40.533333-8.533333 58.453333-34.986667 64-44.373333 1.28-2.133333 0.426667-4.693333-1.28-5.973333-8.96-6.826667-36.266667-23.893333-76.373333-15.36z m102.4-1.28c10.24-4.266667 38.4-19.626667 51.2-58.88 12.8-39.253333-0.853333-68.266667-6.4-78.08a4.906667 4.906667 0 0 0-5.973334-2.133334c-10.24 4.266667-38.4 19.626667-51.2 58.88s0.853333 68.266667 6.4 78.08c1.28 2.133333 3.84 2.986667 5.973334 2.133334z m-115.626667-90.453334c11.093333-1.28 42.24-7.68 66.133333-41.386666s19.2-65.706667 16.213334-76.373334a4.437333 4.437333 0 0 0-5.12-3.413333c-11.093333 1.28-42.24 7.68-66.133334 41.386667s-19.2 65.706667-16.213333 76.373333c0.426667 2.133333 2.56 3.413333 5.12 3.413333z m-29.866667 8.106667c-6.4-8.96-27.733333-33.28-68.693333-36.693333-40.96-3.84-66.133333 16.213333-74.24 23.893333-1.706667 1.706667-2.133333 4.266667-0.426667 6.4 6.4 8.96 27.733333 33.28 68.693334 36.693333 40.96 3.84 66.133333-16.213333 74.24-23.893333 1.706667-1.706667 2.133333-4.693333 0.426666-6.4z m74.666667-219.733333c0-2.56-1.706667-4.266667-3.84-4.693334-11.093333-1.706667-42.666667-4.266667-74.666667 22.186667s-35.84 58.026667-36.266666 69.12c0 2.56 1.706667 4.266667 3.84 4.693333 11.093333 1.706667 42.666667 4.266667 74.666666-22.186666s35.84-58.026667 36.266667-69.12z m-143.786667 96.853333c2.133333-1.28 2.986667-3.84 2.133334-5.973333-3.84-10.24-17.92-39.253333-56.32-54.186667s-67.84-2.133333-77.653334 2.986667c-2.133333 1.28-3.413333 3.84-2.56 5.973333 3.84 10.24 17.92 39.253333 56.32 54.186667 38.826667 14.506667 68.266667 2.133333 78.08-2.986667z m-6.826666-148.053333c2.56-0.426667 4.266667-2.133333 4.266666-4.693334 0-11.093333-2.56-43.093333-33.706666-70.4-31.146667-27.733333-62.72-26.453333-73.813334-25.173333-2.56 0.426667-4.266667 2.56-4.266666 4.693333 0 11.093333 2.56 43.093333 33.706666 70.4 30.72 27.733333 62.72 26.453333 73.813334 25.173334z m89.173333-51.2c-39.253333 13.226667-54.186667 41.386667-58.453333 51.626666-0.853333 2.133333 0 4.693333 2.133333 5.973334 9.386667 5.546667 38.4 19.2 77.653333 5.973333s54.186667-41.386667 58.453334-51.626667c0.853333-2.133333 0-4.693333-2.133334-5.973333-9.386667-5.546667-38.4-19.2-77.653333-5.973333z m116.053333-101.973334c-8.533333-6.826667-34.986667-24.746667-75.946666-17.92-40.533333 7.253333-59.733333 32.853333-65.28 42.24-1.28 2.133333-0.853333 4.693333 0.853333 6.4 8.533333 6.826667 34.986667 24.746667 75.946667 17.92 40.533333-7.253333 59.733333-32.853333 65.28-42.24 1.28-2.133333 0.853333-4.693333-0.853334-6.4z m-171.946666 19.2c2.56 0 4.266667-1.706667 4.693333-3.84 2.133333-11.093333 3.84-43.093333-22.186667-75.093333-26.453333-31.573333-58.453333-35.413333-69.546666-35.84-2.56 0-4.266667 1.706667-4.693334 3.84-1.706667 11.093333-3.84 43.52 22.613334 75.093333 26.453333 32 58.026667 35.84 69.12 35.84z m64.853333-122.88c2.133333 0.853333 4.693333-0.426667 5.546667-2.56 4.693333-10.24 14.933333-40.533333-2.133334-78.08-17.066667-37.546667-46.933333-49.493333-57.6-52.906666a5.12 5.12 0 0 0-5.546666 2.56c-4.266667 10.24-14.933333 40.533333 2.56 78.506666 17.066667 37.546667 46.933333 49.493333 57.173333 52.48zM577.28 256c40.96 3.84 66.133333-16.213333 74.24-23.466667 1.706667-1.706667 2.133333-4.266667 0.426667-6.4-6.4-8.96-27.306667-33.28-68.693334-37.12-40.96-3.84-66.133333 16.213333-74.24 23.466667-1.706667 1.706667-2.133333 4.266667-0.426666 6.4 6.826667 8.96 27.733333 33.28 68.693333 37.12z m-26.88-110.506667c48.64 8.96 110.506667-47.36 105.813333-97.28 0-2.56-1.706667-4.266667-4.266666-4.693333C603.306667 34.56 541.866667 90.88 546.133333 140.8c0 2.56 2.133333 4.266667 4.266667 4.693333z'/%3E%3C/svg%3E");
}
.award-badge::after{
  right:.5rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='%23ffc168' d='M382.72 909.226667c-35.84-20.906667-66.986667-13.226667-77.226667-9.813334-2.133333 0.853333-3.413333 2.986667-2.986666 5.546667 2.133333 11.093333 11.093333 41.813333 46.933333 62.293333 35.84 20.906667 66.986667 13.226667 77.226667 9.813334 2.133333-0.853333 3.413333-2.986667 2.986666-5.546667-2.133333-10.666667-11.093333-41.813333-46.933333-62.293333z m-90.88-177.92c-1.706667-1.706667-4.266667-1.706667-6.4 0-8.106667 7.253333-30.293333 30.72-30.293333 72.106666s22.186667 64.853333 30.293333 72.106667c1.706667 1.706667 4.266667 1.706667 6.4 0 8.106667-7.253333 30.293333-30.72 30.293333-72.106667s-21.76-64.426667-30.293333-72.106666z m87.466667-60.586667c-2.133333-0.853333-4.693333 0-5.973334 2.133333-5.546667 9.386667-19.2 38.826667-6.4 78.08 12.8 39.253333 40.96 54.613333 51.2 58.88 2.133333 0.853333 4.693333 0 5.973334-2.133333 5.546667-9.386667 19.2-38.826667 6.4-78.08s-40.96-54.613333-51.2-58.88zM520.533333 810.666667c-40.533333-8.533333-67.413333 8.533333-76.373333 15.36-1.706667 1.28-2.56 4.266667-1.28 5.973333 5.546667 9.813333 23.466667 36.266667 64 44.373333 40.533333 8.533333 67.413333-8.533333 76.373333-15.36 1.706667-1.28 2.56-4.266667 1.28-5.973333-5.12-9.386667-23.466667-35.84-64-44.373333z m-64-213.333334a4.437333 4.437333 0 0 0-5.12 3.413334c-2.56 10.666667-7.253333 42.666667 16.213334 76.373333 23.893333 33.706667 55.04 40.106667 66.133333 41.386667 2.56 0.426667 4.693333-1.28 5.12-3.413334 2.56-10.666667 7.253333-42.666667-16.213333-76.373333-23.893333-33.706667-55.04-40.106667-66.133334-41.386667z m175.786667 93.013334c-40.96 3.84-62.293333 27.733333-68.693333 36.693333-1.28 2.133333-1.28 4.693333 0.426666 6.4 8.106667 7.68 32.853333 27.733333 74.24 23.893333 40.96-3.84 62.293333-27.733333 68.693334-36.693333 1.28-2.133333 1.28-4.693333-0.426667-6.4-8.106667-7.68-33.28-27.733333-74.24-23.893333z m132.693333-143.36c-9.813333-5.12-39.253333-17.493333-77.653333-2.986667s-52.48 43.52-56.32 54.186667c-0.853333 2.133333 0 4.693333 2.133333 5.973333 9.813333 5.12 39.253333 17.493333 77.653334 2.986667 38.4-14.506667 52.48-43.52 56.32-54.186667 0.853333-2.133333 0-4.693333-2.133334-5.973333z m-165.12 51.2c2.56-0.426667 3.84-2.56 3.84-4.693334-0.426667-11.093333-4.266667-43.093333-36.266666-69.12-32-26.453333-64-23.893333-74.666667-22.186666-2.56 0.426667-3.84 2.56-3.84 4.693333 0.426667 11.093333 4.266667 43.093333 36.266667 69.12 32 26.453333 64 24.32 74.666666 22.186667z m35.84-146.773334c0 2.56 1.706667 4.266667 4.266667 4.693334 11.093333 1.28 43.093333 2.56 73.813333-24.746667 30.72-27.306667 33.706667-59.306667 33.706667-70.4 0-2.56-1.706667-4.266667-4.266667-4.693333-11.093333-1.28-43.093333-2.56-73.813333 24.746666-31.146667 27.306667-34.133333 59.306667-33.706667 70.4z m-26.88 5.12c-4.266667-10.24-19.2-38.826667-58.453333-51.626666-39.253333-13.226667-68.266667 0.426667-77.653333 5.973333-2.133333 1.28-2.986667 3.84-2.133334 5.973333 4.266667 10.24 19.2 38.826667 58.453334 51.626667 39.253333 13.226667 68.266667-0.426667 77.653333-5.973333 2.133333-1.28 2.986667-3.84 2.133333-5.973334z m-34.133333-122.88c1.706667-1.706667 2.133333-4.266667 0.853333-6.4-5.546667-9.386667-24.746667-35.413333-65.28-42.24-40.533333-7.253333-67.413333 10.666667-75.946666 17.92-1.706667 1.706667-2.133333 4.266667-0.853334 6.4 5.973333 9.386667 24.746667 35.413333 65.28 42.24 40.533333 6.826667 67.413333-11.093333 75.946667-17.92z m26.88-15.36c0.426667 2.56 2.56 4.266667 4.693333 3.84 11.093333-0.426667 42.666667-3.84 69.12-35.84 26.453333-32 24.32-64 22.613334-75.093333-0.426667-2.56-2.56-4.266667-4.693334-3.84-11.093333 0.426667-42.666667 3.84-69.12 35.84-26.453333 32-24.32 64-22.613333 75.093333z m-60.16-119.04c10.666667-2.986667 40.106667-14.933333 57.6-52.906666 17.066667-37.546667 6.826667-68.266667 2.133333-78.08-0.853333-2.133333-3.413333-3.413333-5.546666-2.56-10.666667 2.986667-40.106667 14.933333-57.6 52.906666s-6.826667 68.266667-2.133334 78.08a4.266667 4.266667 0 0 0 5.546667 2.56z m-171.093333 26.88c-1.28 1.706667-0.853333 4.266667 0.853333 5.973334 8.106667 7.68 32.853333 27.733333 74.24 23.893333a95.573333 95.573333 0 0 0 68.693333-37.12c1.28-2.133333 1.28-4.693333-0.426666-6.4-8.106667-7.68-33.28-27.306667-74.24-23.466667-41.386667 3.84-62.293333 27.733333-69.12 37.12z m101.973333-80.64c2.56-0.426667 4.266667-2.133333 4.266667-4.693333 4.266667-49.92-57.173333-106.24-105.813334-97.28-2.56 0.426667-4.266667 2.133333-4.266666 4.693333-4.693333 49.92 57.173333 106.24 105.813333 97.28z'/%3E%3C/svg%3E");
}
.award-badge__name{
  font-size:var(--font-size-lg);
  font-weight:var(--font-weight-semibold);
  color:var(--color-primary);
  text-align:center;
  z-index:1;
}

/* 线索表单栏 */
.section-lead-form{
  padding:3.5rem 0 4rem;
  background:var(--color-bg);
}
.section-lead-form__header .heading-2{
  color:var(--color-text-main);
}
.lead-form{
  max-width:48rem;
  margin:0 auto;
}
.lead-form .form-label{
  font-weight:var(--font-weight-medium);
  color:var(--color-text-main);
  margin-bottom:0.375rem;
}
.lead-form__input{
  border:1px solid var(--color-border-subtle);
  border-radius:var(--radius-md);
  padding:0.625rem 1rem;
  font-size:var(--font-size-sm);
  color:var(--color-text-main);
  background:var(--color-surface);
}
.lead-form__input::placeholder{
  color:var(--color-text-muted);
}
.lead-form__input:focus{
  border-color:var(--color-primary);
  box-shadow:0 0 0 3px rgba(51,102,255,.15);
  outline:0;
}
.lead-form__textarea{
  min-height:6rem;
  resize:vertical;
}

/* 关于我们：图文栏，左图右文 + 装饰 */
.section-about{
  padding:3.5rem 0 4rem;
  background:linear-gradient(180deg, var(--color-bg) 0%, rgba(239,243,254,.6) 100%);
}
.about-hero{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3rem;
  align-items:center;
}
.about-hero__media{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-soft);
  aspect-ratio:4/3;
}
.about-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.about-hero__accent{
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:linear-gradient(180deg, var(--color-primary), var(--color-accent-warm));
  border-radius:var(--radius-lg) 0 0 var(--radius-lg);
}
.about-hero__content{
  position:relative;
  padding-left:1rem;
}
.about-hero__eyebrow{
  display:inline-block;
  font-size:var(--font-size-xs);
  font-weight:var(--font-weight-semibold);
  letter-spacing:.12em;
  color:var(--color-primary);
  margin-bottom:0.5rem;
  text-transform:uppercase;
}
.about-hero__title{
  font-size:var(--font-size-2xl);
  font-weight:var(--font-weight-bold);
  color:var(--color-text-main);
  margin:0 0 1rem;
  line-height:var(--line-height-tight);
}
.about-hero__text{
  margin:0 0 1.5rem;
  font-size:var(--font-size-sm);
  color:var(--color-text-main);
  line-height:var(--line-height-loose);
  opacity:.95;
}
.about-hero__link{
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-medium);
  color:var(--color-primary);
  text-decoration:none;
  transition:color .2s ease, gap .2s ease;
}
.about-hero__link:hover{
  color:var(--color-neutral-700);
  gap:.75rem;
}
.about-hero__link .bi{
  font-size:1em;
}
@media (max-width:48rem){
  .about-hero{
    grid-template-columns:1fr;
    gap:2rem;
  }
  .about-hero__media{
    order:-1;
    aspect-ratio:16/10;
  }
  .about-hero__content{
    padding-left:0;
  }
  .about-hero__title{
    font-size:var(--font-size-xl);
  }
}

/* 联系我们：图标卡片网格 + 右侧插画 */
.section-contact-info{
  padding:3.5rem 0 4rem;
  background:var(--color-surface);
}
.contact-hero{
  display:grid;
  grid-template-columns:1fr minmax(200px, 320px);
  gap:3rem;
  align-items:center;
}
.contact-hero__eyebrow{
  display:inline-block;
  font-size:var(--font-size-xs);
  font-weight:var(--font-weight-semibold);
  letter-spacing:.12em;
  color:var(--color-primary);
  margin-bottom:0.5rem;
  text-transform:uppercase;
}
.contact-hero__title{
  font-size:var(--font-size-2xl);
  font-weight:var(--font-weight-bold);
  color:var(--color-text-main);
  margin:0 0 1.5rem;
  line-height:var(--line-height-tight);
}
.contact-hero__grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:1rem;
}
.contact-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:1.25rem;
  background:var(--color-bg);
  border-radius:var(--radius-md);
  border:1px solid var(--color-border-subtle);
  text-decoration:none;
  color:inherit;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
a.contact-card:hover{
  border-color:var(--color-primary);
  box-shadow:0 4px 12px rgba(51,102,255,.12);
  transform:translateY(-2px);
}
.contact-card__icon{
  font-size:1.5rem;
  color:var(--color-primary);
  margin-bottom:0.5rem;
}
.contact-card__label{
  font-size:var(--font-size-xs);
  font-weight:var(--font-weight-medium);
  color:var(--color-text-muted);
  margin-bottom:0.25rem;
}
.contact-card__value{
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-medium);
  color:var(--color-text-main);
  line-height:var(--line-height-normal);
}
.contact-hero__visual{
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-soft);
  aspect-ratio:3/4;
  max-height:320px;
}
.contact-hero__visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
@media (max-width:48rem){
  .contact-hero{
    grid-template-columns:1fr;
    gap:2rem;
  }
  .contact-hero__visual{
    order:-1;
    aspect-ratio:16/10;
    max-height:200px;
  }
  .contact-hero__grid{
    grid-template-columns:1fr;
  }
  .contact-hero__title{
    font-size:var(--font-size-xl);
  }
}

/* 页脚 */
.site-footer{
  padding:3rem 0 2rem;
  background:var(--color-neutral-900);
  color:var(--color-text-inverse);
}
.site-footer__top{
  display:flex;
  flex-wrap:wrap;
  gap:2.5rem 3rem;
  padding-bottom:2rem;
  border-bottom:1px solid rgba(255,255,255,.12);
  margin-bottom:1.5rem;
}
.site-footer__brand{
  flex:0 0 auto;
}
.site-footer__logo{
  display:inline-block;
  font-size:var(--font-size-xl);
  font-weight:var(--font-weight-bold);
  color:#fff;
  text-decoration:none;
  margin-bottom:0.25rem;
  transition:opacity .2s ease;
}
.site-footer__logo:hover{
  opacity:.9;
  color:#fff;
}
.site-footer__tagline{
  margin:0 0 1rem;
  font-size:var(--font-size-sm);
  color:rgba(255,255,255,.82);
}
.site-footer__social{
  display:flex;
  flex-wrap:wrap;
  gap:0.75rem;
}
.site-footer__social-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.25rem;
  height:2.25rem;
  border-radius:var(--radius-md);
  background:rgba(255,255,255,.12);
  color:rgba(255,255,255,.9);
  text-decoration:none;
  transition:background .2s ease, color .2s ease;
}
.site-footer__social-link:hover{
  background:rgba(255,255,255,.22);
  color:#fff;
}
.site-footer__social-link .bi{
  font-size:1.25rem;
}
.site-footer__nav{
  display:flex;
  flex-wrap:wrap;
  gap:2rem 3rem;
  margin-left:auto;
}
.site-footer__col{
  flex:0 0 auto;
}
.site-footer__heading{
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-semibold);
  color:rgba(255,255,255,.95);
  margin:0 0 0.75rem;
}
.site-footer__links{
  margin:0;
  padding:0;
  list-style:none;
}
.site-footer__links li{
  margin-bottom:0.5rem;
}
.site-footer__links a{
  font-size:var(--font-size-sm);
  color:rgba(255,255,255,.78);
  text-decoration:none;
  transition:color .2s ease;
}
.site-footer__links a:hover{
  color:#fff;
}
.site-footer__bottom{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem 1.5rem;
}
.site-footer__legal-block{
  display:flex;
  flex-direction:column;
  gap:0.25rem;
}
.site-footer__copy,
.site-footer__icp,
.site-footer__gongan{
  margin:0;
  font-size:var(--font-size-xs);
  color:rgba(255,255,255,.75);
  line-height:1.5;
}
.site-footer__icp a,
.site-footer__gongan a{
  color:rgba(255,255,255,.75);
  text-decoration:none;
  transition:color .2s ease;
}
.site-footer__icp a:hover,
.site-footer__gongan a:hover{
  color:rgba(255,255,255,.95);
}
.site-footer__legal-links{
  font-size:var(--font-size-xs);
}
.site-footer__legal-links a{
  color:rgba(255,255,255,.78);
  text-decoration:none;
  transition:color .2s ease;
}
.site-footer__legal-links a:hover{
  color:#fff;
}
.site-footer__sep{
  margin:0 0.5rem;
  color:rgba(255,255,255,.5);
}
@media (max-width:48rem){
  .site-footer__top{
    flex-direction:column;
    align-items:flex-start;
    gap:2rem;
  }
  .site-footer__nav{
    margin-left:0;
  }
  .site-footer__bottom{
    flex-direction:column;
    align-items:flex-start;
  }
  .site-footer__social-link{
    min-width:2.75rem;
    min-height:2.75rem;
    width:2.75rem;
    height:2.75rem;
  }
}

/* 步骤切换滑块：平板/手机适配 */
@media (max-width:62rem){
  .section-steps{
    padding-block:3rem;
  }
  .step-tabs__track .step-tabs__card{
    min-height:22rem;
  }
  .step-tabs__card-image img{
    max-height:10rem;
  }
}

@media (max-width:62rem){
  .section-steps{
    padding-block:2.5rem;
  }
  .step-tabs{
    gap:.5rem;
    margin-bottom:1.5rem;
  }
  .step-tabs__tab{
    padding:.4rem 1rem;
    font-size:var(--font-size-xs);
  }
  /* 平板/手机：滑块只显示 1 张卡片 */
  .step-tabs__track{
    width:500%;
  }
  .step-tabs__track .step-tabs__card{
    flex:0 0 calc(20% - 0.8rem);
    min-height:20rem;
    padding:1rem 1rem 0 1rem;
    padding-bottom:4rem;
    margin-right:1rem;
  }
  .step-tabs__card-image{
    left:-1rem;
    width:calc(100% + 2rem);
  }
  .step-tabs__card-image img{
    max-height:8rem;
  }
}

/* 功能亮点：平板/手机图片高度 */
@media (max-width:61.99rem){
  .feature-block__image{
    height:16rem;
    max-width:100%;
  }
}

@media (max-width:62rem){
  .section-features{
    padding-block:2.5rem;
  }
  .feature-block{
    margin-bottom:2rem;
    flex-direction:column;
  }
  /* 移动端统一上图下文：含图的列排在上方，且图列无下间距 */
  .feature-block > .col-lg-6:has(.feature-block__image){
    order:-1;
    margin-bottom: 1.5rem !important;
    margin-top: 0 !important;
  }
  .feature-block > .col-lg-6:not(:has(.feature-block__image)){
    order:0;
    margin-top:1.5rem;
  }
  /* 移动端文字与上方区块一致：水平居中 */
  .feature-block > .col-lg-6:not(:has(.feature-block__image)){
    text-align:center;
    margin-top: 0 !important;
  }
  .feature-block__image{
    height:14rem;
  }
}

/* 模块能力 tabs：平板/手机 */
@media (max-width:62rem){
  .section-feature-tabs{
    padding-block:3rem;
  }
  .feature-tabs__image-group{
    min-height:14rem;
  }
}

@media (max-width:62rem){
  .section-feature-tabs{
    padding-block:2.5rem;
  }
  .feature-tabs__image-group{
    min-height:12rem;
  }
  .feature-tabs__item{
    padding:1rem 1.25rem;
  }
}

/* 三列卡片、服务项目卡片：平板/手机 */
@media (max-width:62rem){
  .section-why,
  .section-service-cards{
    padding-block:3rem;
  }
}

@media (max-width:62rem){
  .section-why,
  .section-service-cards{
    padding-block:2.5rem;
  }
  .service-card,
  .service-card__top{
    min-height:16rem;
  }
  .service-card__top{
    padding:1.25rem 1rem 2.5rem 1rem;
  }
  .service-card__icon{
    font-size:2.75rem;
  }
}

/* 价格卡：移动端由 Swiper 控制，触摸不触发浏览器手势 */
@media (max-width:991.98px){
  .section-pricing .swiper-pricing{
    touch-action:pan-y;
  }
}

/* 单列图文：平板/手机 */
@media (max-width:62rem){
  .section-simple--spaced,
  .section-simple--flush{
    padding-top:2.5rem;
  }
  .section-simple--spaced{
    padding-bottom:2.5rem;
  }
}

/* 超小屏：纯卡片一行 1 个（≤416px 即单列；价格卡保持移动端滑块不改为单列） */
@media (max-width:26rem){
  .section-service-cards .row .col-6{
    flex:0 0 100%;
    max-width:100%;
  }
}

/* 移动端适配补充：标题缩放、触控、表单与弹层 */
@media (max-width:48rem){
  .heading-1{
    font-size:1.75rem;
  }
  .heading-2{
    font-size:1.375rem;
  }
  .faq-accordion{
    max-width:100%;
  }
  .cta-modal__dialog{
    margin:0.5rem;
    max-height:85vh;
  }
  .lead-form .form-control,
  .lead-form__textarea{
    font-size:16px;
  }
}
@media (max-width:36rem){
  .award-badge{
    padding-left:1rem;
    padding-right:1rem;
  }
  .contact-card{
    padding:1rem;
  }
  .cta-bar__btn{
    min-height:2.75rem;
    padding:0.75rem 1.5rem;
  }
}

/* 超小屏 / 低分辨率设备（360p 等） */
@media (max-width:25rem){ /* <=400px */
  .swiper-hero__pagination .swiper-pagination-bullet{
    width:.3125rem;
    height:.3125rem;
  }

  .swiper-hero__pagination .swiper-pagination-bullet-active{
    width:1.09375rem; /* 0.3125 * 3.5 */
    height:.3125rem;
  }

  .heading-1{
    font-size:1.125rem;
  }

  .heading-2{
    font-size:1rem;
  }
}

/* 博客列表页 */
.section-blog-hero{
  padding:4rem 0 1.5rem;
  padding-top:calc(4.875rem + 1rem);
  background:var(--color-bg);
  border-bottom:1px solid var(--color-border-subtle);
}
.blog-hero__title{
  font-size:var(--font-size-3xl);
  font-weight:var(--font-weight-bold);
  color:var(--color-text-main);
  margin:0 0 0.5rem;
}
.blog-hero__desc{
  margin:0;
  font-size:var(--font-size-lg);
  color:var(--color-text-muted);
}
.section-blog-body{
  padding:2rem 0 4rem;
  padding-top:5rem;
}
/* 分类页：通屏横幅 */
.blog-category-banner{
  position:relative;
  width:100%;
  min-height:220px;
  margin-bottom:2rem;
  overflow:hidden;
  background:var(--color-bg);
}
.blog-category-banner img{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.blog-category-banner__overlay{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  min-height:220px;
  padding:2.5rem 1rem;
  background:linear-gradient(to right, rgba(0,0,0,.45), rgba(0,0,0,.25));
  color:#fff;
  text-align:center;
}
.blog-category-banner__tag{
  display:inline-block;
  margin-bottom:0.5rem;
  padding:0.25rem 0.75rem;
  font-size:var(--font-size-xs);
  font-weight:var(--font-weight-medium);
  color:#fff;
  background:var(--color-primary);
  border-radius:var(--radius-md);
}
.blog-category-banner__title{
  margin:0 0 0.35rem;
  font-size:var(--font-size-2xl);
  font-weight:var(--font-weight-semibold);
  color:#fff;
}
.blog-category-banner__desc{
  margin:0;
  font-size:var(--font-size-sm);
  color:rgba(255,255,255,.9);
  max-width:36rem;
}
@media (min-width: 768px){
  .blog-category-banner{
    min-height:280px;
  }
  .blog-category-banner__overlay{
    min-height:280px;
    padding:3rem 1rem;
  }
  .blog-category-banner__title{
    font-size:var(--font-size-3xl);
  }
}
/* Banner 行：与 blog-main 同宽，右侧为 sidebar 宽的两张推荐卡，不通屏 */
.blog-banner-row{
  display:grid;
  grid-template-columns:1fr 280px;
  gap:1.25rem 2rem;
  margin-bottom:2.5rem;
  align-items:stretch;
}
.blog-banner-wrap{
  min-width:0;
}
.blog-banner-swiper{
  width:100%;
  aspect-ratio:5/3;
  border-radius:var(--radius-lg);
  overflow:hidden;
}
.blog-banner-swiper .swiper-slide{
  height:100%;
}
.blog-banner-swiper .blog-banner{
  position:relative;
  width:100%;
  height:100%;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--color-bg);
}
.blog-banner-swiper .blog-banner img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.blog-banner-swiper .blog-banner__tag{
  position:absolute;
  left:1rem;
  top:1rem;
  padding:0.25rem 0.6rem;
  font-size:var(--font-size-xs);
  font-weight:var(--font-weight-medium);
  color:#fff;
  background:var(--color-primary);
  border-radius:var(--radius-sm);
  z-index:1;
}
.blog-banner-swiper .blog-banner__title{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  margin:0;
  padding:1.25rem 1rem 2.5rem 1rem;
  font-size:var(--font-size-lg);
  font-weight:var(--font-weight-semibold);
  color:#fff;
  background:linear-gradient(transparent, rgba(0,0,0,.65));
  z-index:1;
}
.blog-banner-swiper-pagination{
  position:absolute;
  bottom:0.75rem;
  left:auto;
  right:1rem;
  width:auto;
  z-index:2;
  display:flex;
  justify-content:flex-end;
}
.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizonta{padding-right: .75rem;}
.blog-banner-swiper-pagination .swiper-pagination-bullet{
  background:rgba(255,255,255,.6);
  opacity:1;
}
.blog-banner-swiper-pagination .swiper-pagination-bullet-active{
  background:#fff;
}
.blog-banner{
  width:100%;
  aspect-ratio:5/3;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--color-bg);
}
.blog-banner img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.blog-banner__rec{
  display:flex;
  flex-direction:column;
  gap:1rem;
  min-width:0;
}
.blog-rec-card{
  flex:1 1 0;
  min-height:0;
  display:flex;
  flex-direction:column;
  border-radius:var(--radius-md);
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow-soft);
  text-decoration:none;
  color:inherit;
  transition:box-shadow .25s ease, transform .25s ease;
}
.blog-rec-card:hover{
  box-shadow:var(--shadow-soft-hover);
  transform:translateY(-2px);
  color:inherit;
}
.blog-rec-card__image{
  flex:1 1 0;
  min-height:4rem;
  overflow:hidden;
}
.blog-rec-card__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.blog-rec-card__body{
  padding:0.75rem 1rem;
  position:relative;
}
.blog-rec-card__tag{
  font-size:var(--font-size-xs);
  color:var(--color-primary);
  font-weight:var(--font-weight-medium);
  margin-bottom:0.25rem;
  display:block;
}
.blog-rec-card__title{
  margin:0;
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-main);
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden;
}

/* 主栏 + 侧栏 布局 */
.blog-layout{
  display:grid;
  grid-template-columns:1fr 280px;
  gap:2rem 2rem;
  align-items:start;
}
.blog-main{
  min-width:0;
  background:#fff;
  border-radius:var(--radius-lg);
  box-shadow:0 1px 3px rgba(0,0,0,.06),0 4px 12px rgba(0,0,0,.06);
  padding-top:1.5rem;
  padding-bottom:1.5rem;
}
.blog-article{
  padding-top:0;
}

/* 博客详情页：正文+评论+猜你喜欢 同一卡片容器，符合语义与 Google 结构 */
.post-single-card{
  overflow:hidden;
}

/* 博客详情页：单篇文章（WordPress 风格：元信息、标题、头图、正文、标签、作者框、上下篇） */
.post-single{
  padding:0;
  overflow:hidden;
}
.post-single__header{
  padding:1.5rem 1.5rem 0;
}
.post-single__meta-top{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0.5rem 1.25rem;
  margin-bottom:0.75rem;
  font-size:var(--font-size-sm);
  color:var(--color-text-muted);
}
.post-single__meta-top .bi{
  margin-right:0.2rem;
  opacity:.85;
}
.post-single__category a{
  color:var(--color-primary);
  text-decoration:none;
}
.post-single__category a:hover{
  text-decoration:underline;
}
.post-single__title{
  margin:0 0 .5rem;
  font-size:1.75rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.3;
  color:var(--color-text-main);
}
.post-single__meta-byline{
  font-size:var(--font-size-sm);
  color:var(--color-text-muted);
}
.post-single__author-avatar{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.5rem;
  height:1.5rem;
  margin-right:0.35rem;
  font-size:0.75rem;
  font-weight:var(--font-weight-semibold);
  color:#fff;
  background:var(--color-primary);
  border-radius:50%;
  vertical-align:middle;
}
/* 正文区域：WordPress 编辑器输出，通用排版（H1-H6、段落、引用、列表、图片、表格） */
.post-single__body.entry-content{
  padding:0 1.5rem 1.5rem;
}
.entry-content .lead{
  margin-bottom:1.5rem;
  font-size:1.0625rem;
  line-height:1.6;
  color:var(--color-text-muted);
}
/* 正文 H1：仅一级标题用「左边主色条 + 下划线」 */
.entry-content h1{
  margin:1.5rem 0 .75rem;
  padding:0 0 .5rem;
  padding-left:0.75rem;
  font-size:1.5rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.3;
  color:var(--color-text-main);
  border-left:4px solid var(--color-primary);
  border-bottom:1px solid var(--color-border-subtle);
}
/* 正文 H2：仅二级标题用「左边主色条」，无下划线 */
.entry-content h2{
  margin:1.75rem 0 .75rem;
  padding-left:0.65rem;
  font-size:1.25rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.35;
  color:var(--color-text-main);
  border-left:3px solid var(--color-primary);
}
/* 正文 H3：仅三级标题用「下划线」，无左边条 */
.entry-content h3{
  margin:1.5rem 0 .6rem;
  padding:0 0 .4rem;
  font-size:1.125rem;
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-main);
  border-bottom:1px solid var(--color-border-subtle);
}
.entry-content h4,.entry-content h5,.entry-content h6{
  margin:1.25rem 0 .5rem;
  font-size:1rem;
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-main);
}
.entry-content p{
  margin:0 0 1rem;
  line-height:1.75;
}
.entry-content ul,.entry-content ol{
  margin:0 0 1rem 1.25rem;
  padding:0 0 0 1.5rem;
  line-height:1.75;
}
.entry-content li{
  margin-bottom:0.35rem;
}
.entry-content blockquote{
  margin:1.25rem 0;
  padding:1rem 1.25rem;
  border-left:4px solid var(--color-primary);
  background:var(--color-bg);
  font-size:var(--font-size-sm);
  color:var(--color-text-muted);
}
.entry-content blockquote p{
  margin:0;
}
.entry-content blockquote p:not(:last-child){
  margin-bottom:0.5rem;
}
.entry-content figure{
  margin:1.25rem 0;
  max-width:100%;
}
.entry-content figure img{
  width:100%;
  height:auto;
  display:block;
}
.entry-content figcaption{
  margin-top:0.5rem;
  font-size:var(--font-size-sm);
  color:var(--color-text-muted);
  text-align:center;
}
.entry-content img{
  max-width:100%;
  height:auto;
}
.entry-content img.alignleft{float:left;margin:0 1rem 1rem 0;}
.entry-content img.alignright{float:right;margin:0 0 1rem 1rem;}
.entry-content img.aligncenter{display:block;margin-left:auto;margin-right:auto;}
.entry-content table{
  width:100%;
  margin:1rem 0;
  border-collapse:collapse;
  font-size:var(--font-size-sm);
}
.entry-content th,.entry-content td{
  padding:0.5rem 0.75rem;
  border:1px solid var(--color-border-subtle);
  text-align:left;
}
.entry-content th{
  font-weight:var(--font-weight-semibold);
  background:var(--color-bg);
}
.entry-content hr{
  margin:1.5rem 0;
  border:0;
  border-top:1px solid var(--color-border-subtle);
}
.entry-content a{
  color:var(--color-primary);
  text-decoration:none;
  border-bottom:1px solid color-mix(in srgb, var(--color-primary) 40%, transparent);
  transition:color .2s ease,border-color .2s ease;
}
.entry-content a:hover{
  color:var(--color-primary);
  border-bottom-color:var(--color-primary);
}
.entry-content a:visited{
  color:var(--color-primary);
  border-bottom-color:color-mix(in srgb, var(--color-primary) 30%, transparent);
}
.entry-content a:focus-visible{
  outline:2px solid var(--color-primary);
  outline-offset:2px;
}
.entry-content strong{font-weight:var(--font-weight-semibold);}
.entry-content em{font-style:italic;}
.entry-content code{
  padding:0.15rem 0.35rem;
  font-size:0.9em;
  background:var(--color-bg);
  border-radius:var(--radius-sm);
}
.entry-content pre{
  margin:1rem 0;
  padding:1rem;
  overflow:auto;
  font-size:var(--font-size-sm);
  background:var(--color-bg);
  border-radius:var(--radius-md);
}
.entry-content pre code{padding:0;background:transparent;}

.post-single__footer{
  padding:1.5rem;
  border-top:1px solid var(--color-border-subtle);
  background:var(--color-bg);
}
.post-single__tags{
  margin-bottom:1.25rem;
  font-size:var(--font-size-sm);
}
.post-single__tags-label{
  color:var(--color-text-muted);
  margin-right:0.5rem;
}
.post-single__copyright{
  margin:0 0 1.25rem;
  padding:0.75rem 0;
  font-size:var(--font-size-sm);
  color:var(--color-text-muted);
  border-top:1px solid var(--color-border-subtle);
}
.post-single__tag{
  display:inline-block;
  margin:0 0.35rem 0.35rem 0;
  padding:0.2rem 0.6rem;
  font-size:var(--font-size-xs);
  color:var(--color-primary);
  background:rgba(var(--color-primary-rgb,59,130,246),.1);
  border-radius:var(--radius-sm);
  text-decoration:none;
}
.post-single__tag:hover{
  background:rgba(var(--color-primary-rgb,59,130,246),.18);
  color:var(--color-primary);
}
.post-single__author-box{
  display:flex;
  gap:1rem;
  align-items:flex-start;
  margin-bottom:1.25rem;
  padding:1rem;
  background:var(--color-surface);
  border-radius:var(--radius-md);
}
.post-single__author-box-avatar{
  flex-shrink:0;
  width:3rem;
  height:3rem;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:var(--font-weight-semibold);
  color:#fff;
  background:var(--color-primary);
  border-radius:50%;
}
.post-single__author-box-name{
  margin:0 0 .35rem;
  font-size:1rem;
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-main);
}
.post-single__author-box-bio{
  margin:0;
  font-size:var(--font-size-sm);
  line-height:1.5;
  color:var(--color-text-muted);
}
.post-single__nav{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}
.post-single__nav-link{
  display:block;
  position:relative;
  min-height:100px;
  padding:1rem;
  background-color:#333;
  background-size:cover;
  background-position:center;
  border-radius:var(--radius-md);
  text-decoration:none;
  overflow:hidden;
}
.post-single__nav-overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.2);
  pointer-events:none;
}
.post-single__nav-inner{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:100px;
  text-align:center;
  color:#fff;
}
.post-single__nav-label{
  display:block;
  font-size:var(--font-size-xs);
  color:rgba(255,255,255,.85);
  margin-bottom:0.25rem;
}
.post-single__nav-text{
  display:block;
  font-weight:var(--font-weight-medium);
  color:#fff;
  line-height:1.3;
}
.post-single__nav-link:hover .post-single__nav-overlay{
  background:rgba(0,0,0,.3);
}
@media (max-width:36rem){
  .post-single__nav{
    grid-template-columns:1fr;
  }
}
.post-single__reads .bi{
  margin-right:0.15rem;
}

/* 相关推荐：文章下方推荐列表 */
.post-related{
  margin-top:2rem;
  padding:1.5rem;
  background:var(--color-surface);
  border-radius:var(--radius-lg);
}
.post-single-card .post-related{
  margin-top:0;
  padding:1.5rem 1.5rem 1.5rem;
  border-top:1px solid var(--color-border-subtle);
  background:transparent;
  border-radius:0;
  box-shadow:none;
}
.post-related__title{
  margin:0 0 1rem;
  font-size:1.125rem;
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-main);
}
.post-related__list{
  list-style:none;
  margin:0;
  padding:0;
}
.post-related__item{
  border-bottom:1px solid var(--color-border-subtle);
}
.post-related__item:last-child{
  border-bottom:0;
}
.post-related__link{
  display:flex;
  align-items:flex-start;
  gap:1rem;
  padding:0.75rem 0;
  text-decoration:none;
  color:inherit;
}
.post-related__link:hover{
  color:inherit;
}
.post-related__link:hover .post-related__heading{
  color:var(--color-primary);
}
.post-related__thumb{
  position:relative;
  flex-shrink:0;
  width:120px;
  height:84px;
  overflow:hidden;
  border-radius:var(--radius-sm);
  background:var(--color-bg);
}
.post-related__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.post-related__tag{
  position:absolute;
  left:0;
  top:0;
  padding:0.2rem 0.5rem;
  font-size:var(--font-size-xs);
  font-weight:var(--font-weight-medium);
  color:#fff;
  background:var(--color-primary);
}
.post-related__body{
  min-width:0;
  flex:1;
}
.post-related__heading{
  display:block;
  margin-bottom:0.35rem;
  font-weight:var(--font-weight-medium);
  color:var(--color-text-main);
  line-height:1.35;
}
.post-related__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0.35rem 0.75rem;
  margin-bottom:0.35rem;
  font-size:var(--font-size-xs);
  color:var(--color-text-muted);
}
.post-related__date{
  color:var(--color-text-muted);
}
.post-related__reads .bi{
  margin-right:0.15rem;
}
.post-related__desc{
  margin:0;
  font-size:var(--font-size-sm);
  line-height:1.5;
  color:var(--color-text-muted);
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden;
}

/* 评论区：评论列表 + 回复表单 */
.post-comments{
  margin-top:2rem;
  padding:1.5rem;
  background:var(--color-surface);
  border-radius:var(--radius-lg);
}
.post-single-card .post-comments{
  margin-top:0;
  padding:1.5rem 1.5rem 1.5rem;
  border-top:1px solid var(--color-border-subtle);
  background:transparent;
  border-radius:0;
  box-shadow:none;
}
.post-comments__title{
  margin:0 0 0.25rem;
  font-size:1.125rem;
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-main);
}
.post-comments__count{
  margin:0 0 1rem;
  font-size:var(--font-size-sm);
  color:var(--color-text-muted);
}
.comment-list{
  list-style:none;
  margin:0 0 1.5rem;
  padding:0;
}
.comment-item{
  padding:1rem 0;
  border-bottom:1px solid var(--color-border-subtle);
}
.comment-item:last-child{
  border-bottom:0;
}
.comment-body{
  display:flex;
  gap:1rem;
  align-items:flex-start;
}
.comment-avatar{
  flex-shrink:0;
  width:2.5rem;
  height:2.5rem;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-semibold);
  color:#fff;
  background:var(--color-primary);
  border-radius:50%;
}
.comment-inner{
  min-width:0;
  flex:1;
}
.comment-meta{
  margin-bottom:0.35rem;
}
.comment-author{
  font-weight:var(--font-weight-medium);
  color:var(--color-text-main);
}
.comment-date{
  margin-left:0.5rem;
  font-size:var(--font-size-sm);
  color:var(--color-text-muted);
}
.comment-content{
  font-size:var(--font-size-sm);
  line-height:1.6;
}
.comment-content p{
  margin:0 0 0.35rem;
}
.comment-content p:last-child{
  margin-bottom:0;
}
.comment-login-tip{
  padding:1.25rem;
  border:1px dashed var(--color-border-subtle);
  border-radius:var(--radius-md);
  background:var(--color-bg);
  text-align:center;
}
.comment-login-tip__text{
  margin:0 0 0.75rem;
  font-size:var(--font-size-sm);
  color:var(--color-text-muted);
}
.comment-respond--guest{
  display:block;
}
.comment-respond--guest[hidden]{
  display:none;
}
.comment-respond{
  padding-top:1rem;
  border-top:1px solid var(--color-border-subtle);
}
.comment-user-tip{
  margin:0 0 0.75rem;
  font-size:var(--font-size-sm);
  color:var(--color-text-muted);
}
.comment-user-tip .comment-user-name{
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-main);
}
.comment-reply-title{
  margin:0 0 0.75rem;
  font-size:1rem;
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-main);
}
.comment-form p{
  margin:0 0 0.75rem;
}
.comment-form p:last-child{
  margin-bottom:0;
}
.comment-form label{
  display:block;
  margin-bottom:0.25rem;
  font-size:var(--font-size-sm);
}
.comment-form .required{
  color:var(--color-primary);
}
.comment-form__textarea{
  width:100%;
  padding:0.5rem 0.75rem;
  font-size:var(--font-size-sm);
  border:1px solid var(--color-border-subtle);
  border-radius:var(--radius-sm);
  min-height:5rem;
  resize:vertical;
}

/* 列表：左图右文，宽高比约 6:1.5，内间距 1rem；整块白底与页面浅底区分 */
.blog-list{
  list-style:none;
  margin:0 0 2.5rem;
  padding:0;
  background:var(--color-surface);
  border-radius:var(--radius-md);
  border:1px solid var(--color-border-subtle);
}
.blog-list__item{
  margin-bottom:0;
  border-bottom:1px solid var(--color-border-subtle);
}
.blog-list__item:first-child{
  border-top:none;
}
.blog-entry{
  margin:0;
}
.blog-entry__link{
  display:flex;
  align-items:stretch;
  gap:1rem;
  padding:1rem;
  text-decoration:none;
  color:inherit;
  transition:background .2s ease;
}
.blog-entry__link:hover{
  background:var(--color-bg);
  color:inherit;
}
.blog-entry__thumb{
  flex:0 0 28%;
  position:relative;
  aspect-ratio:4/2.2;
  border-radius:var(--radius-md);
  overflow:hidden;
  background:var(--color-bg);
}
.blog-entry__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.blog-entry__tag{
  position:absolute;
  left:0.5rem;
  top:0.5rem;
  padding:0.2rem 0.5rem;
  font-size:var(--font-size-xs);
  font-weight:var(--font-weight-medium);
  color:#fff;
  background:var(--color-primary);
  border-radius:var(--radius-sm);
}
.blog-entry__content{
  flex:1 1 auto;
  min-width:0;
  padding:0;
}
.blog-entry__title{
  margin:0 0 0.35rem;
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-main);
  font-size:var(--font-size-lg);
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden;
}
.blog-entry__meta{
  margin:0 0 0.35rem;
  font-size:var(--font-size-xs);
  color:var(--color-text-muted);
}
.blog-entry__desc{
  margin:0;
  font-size:var(--font-size-sm);
  line-height:var(--line-height-loose);
  color:var(--color-text-muted);
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden;
}

.blog-pagination .pagination{
  gap:0.25rem;
}
.blog-pagination .page-link{
  border-radius:var(--radius-md) !important;
  color:var(--color-text-main);
  border-color:var(--color-border-subtle);
}
.blog-pagination .page-item.active .page-link{
  background:var(--color-primary);
  border-color:var(--color-primary);
  color:#fff;
}
.blog-pagination .page-link:hover{
  background:var(--color-bg);
  border-color:var(--color-primary);
  color:var(--color-primary);
}

.blog-load-more{
  text-align:center;
  padding:1.5rem 0 0.5rem;
}
.blog-load-more__btn{
  min-width:10rem;
}
.blog-load-more__empty{
  font-size:var(--font-size-sm);
  padding:0.5rem 0;
}

/* 主列表 tabs：最新 / 热门 / 分类 */
.blog-list-tabs{
  display:flex;
  gap:0;
  margin:0 0 1rem;
  border-bottom:1px solid var(--color-border-subtle);
}
.blog-list-tabs__tab{
  padding:0.5rem 1rem;
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-medium);
  color:var(--color-text-muted);
  background:transparent;
  border:0;
  border-bottom:2px solid transparent;
  margin-bottom:-1px;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:0.35rem;
  transition:color .2s ease, border-color .2s ease;
}
.blog-list-tabs__tab:hover{
  color:var(--color-text-main);
}
.blog-list-tabs__tab.is-active{
  color:var(--color-primary);
  border-bottom-color:var(--color-primary);
}
.blog-list-tabs__tab .bi{
  font-size:1rem;
}
.blog-list-tabs__panel{
  display:none;
}
.blog-list-tabs__panel.is-active{
  display:block;
}
.blog-list-tabs__panel[hidden]{
  display:none !important;
}
.blog-entry__reads{
  margin-left:0.5rem;
  font-size:var(--font-size-xs);
  color:var(--color-text-muted);
}
.blog-entry__reads .bi{
  margin-right:0.15rem;
}

/* 分类子 tabs */
.blog-list-category{
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem;
  margin-bottom:1rem;
}
.blog-list-category__tab{
  padding:0.35rem 0.75rem;
  font-size:var(--font-size-sm);
  color:var(--color-text-muted);
  background:var(--color-bg);
  border:1px solid var(--color-border-subtle);
  border-radius:var(--radius-md);
  cursor:pointer;
  transition:color .2s ease, border-color .2s ease, background .2s ease;
}
.blog-list-category__tab:hover{
  color:var(--color-text-main);
  border-color:var(--color-border);
}
.blog-list-category__tab.is-active{
  color:var(--color-primary);
  border-color:var(--color-primary);
  background:#e8eeff;
}
.blog-list-category__panel{
  display:none;
}
.blog-list-category__panel.is-active{
  display:block;
}
.blog-list-category__panel[hidden]{
  display:none !important;
}

.blog-sidebar{
  position:sticky;
  top:5.5rem;
}
.blog-widget{
  margin-bottom:1.5rem;
  padding:1.25rem;
  background:#fff;
  border-radius:var(--radius-md);
  box-shadow:0 1px 3px rgba(0,0,0,.06),0 4px 12px rgba(0,0,0,.06);
}
.blog-widget:last-child{
  margin-bottom:0;
}
/* 站点介绍卡片：顶部背景图 + 居中重叠头像 + 标题与描述 */
.blog-widget--site-intro.site-intro-card{
  padding:0;
  overflow:hidden;
}
.site-intro-card__banner{
  display:block;
  height:6.5rem;
  overflow:hidden;
  background:var(--color-bg-muted, #f0f0f0);
}
.site-intro-card__banner img{
  width:100%;
  height:100%;
  object-fit:cover;
  vertical-align:middle;
}
.site-intro-card__avatar{
  width:4.5rem;
  height:4.5rem;
  margin:-2.25rem auto 0;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  z-index:1;
  border-radius:50%;
  background:var(--color-bg-muted, #e8e8e8);
  border:3px solid var(--color-bg);
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.site-intro-card__avatar-inner{
  font-size:1.5rem;
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-muted);
  line-height:1;
}
.site-intro-card__body{
  padding:1rem 1.25rem 1.25rem;
  text-align:center;
}
.site-intro-card__name{
  margin:0 0 0.5rem;
  font-size:var(--font-size-md);
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-main);
}
.site-intro-card__desc{
  margin:0;
  font-size:var(--font-size-sm);
  line-height:var(--line-height-loose);
  color:var(--color-text-main);
}
.site-intro-card__desc .site-intro-card__brand{
  color:var(--color-primary);
  font-weight:var(--font-weight-medium);
}
/* 快讯板块：标题+更多链接、时间线列表、查看更多按钮 */
.flash-news__header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.75rem;
}
.flash-news__title{
  margin:0;
}
.flash-news__more{
  font-size:var(--font-size-sm);
  color:var(--color-text-muted);
  text-decoration:none;
  transition:color .2s ease;
}
.flash-news__more:hover{
  color:var(--color-primary);
}
.flash-news__list{
  list-style:none;
  margin:0;
  padding:0 0 0 1.25rem;
  position:relative;
}
.flash-news__list::before{
  content:"";
  position:absolute;
  left:0.3125rem;
  top:0.5rem;
  bottom:0.5rem;
  width:0;
  border-left:1px dotted var(--color-border, #dee2e6);
}
.flash-news__item{
  position:relative;
  padding-bottom:1rem;
}
.flash-news__item:last-child{
  padding-bottom:0;
}
.flash-news__dot{
  position:absolute;
  left:-0.9375rem;
  top:0.35rem;
  width:0.5rem;
  height:0.5rem;
  transform:translateX(-50%);
  border-radius:50%;
  background:var(--color-primary);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 0 0 1px color-mix(in srgb, var(--color-primary) 30%, transparent);
  z-index:1;
}
.flash-news__content{
  padding-left:0;
}
.flash-news__text{
  display:block;
  width:100%;
  margin:0;
  padding:0;
  border:0;
  font:inherit;
  font-size:var(--font-size-sm);
  line-height:var(--line-height-relaxed);
  color:var(--color-text-main);
  text-align:left;
  background:transparent;
  cursor:pointer;
  transition:color .2s ease;
}
.flash-news__text:hover{
  color:var(--color-primary);
}
/* 展开区域：用 grid 0fr→1fr 做顺滑高度过渡，避免 max-height 卡顿 */
.flash-news__expand{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows 0.5s cubic-bezier(0.32,0.72,0,1);
  overflow:hidden;
}
.flash-news__item.is-expanded .flash-news__expand{
  grid-template-rows:1fr;
}
.flash-news__expand-inner{
  min-height:0;
  overflow:hidden;
  opacity:0;
  transition:opacity 0.5s cubic-bezier(0.32,0.72,0,1);
}
.flash-news__item.is-expanded .flash-news__expand-inner{
  opacity:1;
}
.flash-news__body{
  margin-top:0.5rem;
  padding-top:0;
  font-size:var(--font-size-sm);
  line-height:var(--line-height-relaxed);
  color:var(--color-text-main);
}
.flash-news__source{
  display:block;
  margin-top:0.35rem;
  font-size:var(--font-size-xs);
  color:var(--color-primary);
  text-decoration:none;
  transition:color .2s ease;
}
.flash-news__source:hover{
  color:var(--color-primary);
  text-decoration:underline;
}
.flash-news__time{
  display:block;
  margin-top:0.25rem;
  font-size:var(--font-size-xs);
  color:var(--color-text-muted);
}
.flash-news__footer{
  text-align:center;
  padding-top:1rem;
  margin-top:0.25rem;
}
.flash-news__btn{
  display:inline-block;
  padding:0.4rem 1.25rem;
  font-size:var(--font-size-sm);
  color:var(--color-primary);
  background:#fff;
  border:1px solid var(--color-primary);
  border-radius:var(--radius-md, 0.375rem);
  text-decoration:none;
  transition:color .2s ease,background .2s ease,border-color .2s ease;
}
.flash-news__btn:hover{
  color:#fff;
  background:var(--color-primary);
  border-color:var(--color-primary);
}

/* ========== 快讯列表页（完整版） ========== */
.section-flash-news-page{
  padding-top:5rem;
  padding-bottom:3rem;
}
.flash-news-page__list{
  max-width:100%;
  margin:0 1.5rem;
}
.flash-news-date-group{
  margin-bottom:2.5rem;
}
.flash-news-date-group:last-child{
  margin-bottom:0;
}
.flash-news-date-heading{
  display:flex;
  align-items:center;
  gap:0.5rem;
  margin:0 0 1rem;
  font-size:var(--font-size-md);
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-main);
}
.flash-news-date-heading__mark{
  flex-shrink:0;
  width:0.35rem;
  height:1em;
  background:var(--color-primary);
  border-radius:1px;
}
.flash-news-date-heading time{
  font-weight:inherit;
}
.flash-news-page__items{
  list-style:none;
  margin:0;
  padding:0 0 0 1.5rem;
  position:relative;
}
.flash-news-page__items::before{
  content:"";
  position:absolute;
  left:0.25rem;
  top:0.5rem;
  bottom:0.5rem;
  width:0;
  border-left:1px dotted var(--color-border, #dee2e6);
}
.flash-news-page__item{
  position:relative;
  padding-bottom:1.5rem;
}
.flash-news-page__item:last-child{
  padding-bottom:0;
}
.flash-news-page__dot{
  position:absolute;
  left:-1.25rem;
  top:0.4rem;
  width:0.5rem;
  height:0.5rem;
  transform:translateX(-50%);
  border-radius:50%;
  background:var(--color-primary);
  box-shadow:0 0 0 1px color-mix(in srgb, var(--color-primary) 25%, transparent);
  z-index:1;
}
.flash-news-page__item-body{
  padding-left:0;
}
.flash-news-page__item-time{
  display:block;
  font-size:var(--font-size-sm);
  color:var(--color-text-muted);
  margin-bottom:0.25rem;
}
.flash-news-page__item-title{
  margin:0 0 0.5rem;
  font-size:1.0625rem;
  font-weight:var(--font-weight-semibold);
  line-height:var(--line-height-relaxed);
  color:var(--color-text-main);
}
.flash-news-page__item-content{
  margin:0;
  font-size:var(--font-size-sm);
  line-height:var(--line-height-loose);
  color:var(--color-text-main);
}
.flash-news-page__item-content .flash-news-page__source{
  color:var(--color-primary);
  text-decoration:none;
  margin-left:0.25em;
  white-space:nowrap;
}
.flash-news-page__item-content .flash-news-page__source:hover{
  text-decoration:underline;
}
.blog-widget__title{
  font-size:var(--font-size-md);
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-main);
  margin:0 0 0.75rem;
}
.blog-widget__title--bar{
  padding-left:0.75rem;
  border-left:3px solid var(--color-primary);
}
.blog-widget__list{
  list-style:none;
  margin:0;
  padding:0;
}
.blog-widget__list li{
  margin-bottom:0.5rem;
}
.blog-widget__list li:last-child{
  margin-bottom:0;
}
.blog-widget__link{
  font-size:var(--font-size-sm);
  color:var(--color-text-main);
  text-decoration:none;
  transition:color .2s ease;
}
.blog-widget__link:hover{
  color:var(--color-primary);
}
.blog-widget__list--numbered .blog-widget__link{
  display:block;
  padding:0.25rem 0;
}
.blog-widget__list--popular li{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:0.25rem 0.5rem;
}
.blog-widget__list--popular .blog-widget__link{
  flex:1 1 auto;
  min-width:0;
}
.blog-widget__reads{
  display:inline-flex;
  align-items:center;
  gap:0.25rem;
  font-size:var(--font-size-xs);
  color:var(--color-text-muted);
  flex:0 0 auto;
}
.blog-widget__reads .bi{
  font-size:0.9rem;
}
.blog-widget__list--recent li{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:baseline;
  gap:0.25rem 0.5rem;
}
.blog-widget__list--recent .blog-widget__link{
  flex:1 1 auto;
  min-width:0;
}
.blog-widget__date{
  flex:0 0 auto;
  font-size:var(--font-size-xs);
  color:var(--color-text-muted);
}
.blog-widget__tags{
  display:flex;
  flex-wrap:wrap;
  gap:0.35rem 0.5rem;
}
.blog-widget__tag{
  display:inline-block;
  padding:0.2rem 0.5rem;
  font-size:var(--font-size-xs);
  color:var(--color-primary);
  background:rgba(51,102,255,.08);
  border-radius:var(--radius-sm);
  text-decoration:none;
  transition:background .2s ease, color .2s ease;
}
.blog-widget__tag:hover{
  background:var(--color-primary);
  color:#fff;
}
.blog-widget__text{
  margin:0;
  font-size:var(--font-size-sm);
  line-height:var(--line-height-loose);
  color:var(--color-text-muted);
}
.blog-widget__text--sm{
  font-size:var(--font-size-xs);
  margin-bottom:0.5rem;
}
.blog-subscribe__input{
  border-radius:var(--radius-md);
  border-color:var(--color-border-subtle);
  font-size:var(--font-size-sm);
}
.blog-subscribe__btn{
  font-size:var(--font-size-sm);
}
.blog-widget__rss .bi{
  margin-right:0.25rem;
}
.blog-widget--lead .blog-widget__title{
  margin-bottom:0.25rem;
}
.blog-lead-form__field{
  margin-bottom:0.75rem;
}
.blog-lead-form__field .form-label{
  font-size:var(--font-size-sm);
  margin-bottom:0.25rem;
}
.blog-lead-form__input{
  font-size:var(--font-size-sm);
  border-radius:var(--radius-md);
  border-color:var(--color-border-subtle);
}
.blog-lead-form__textarea{
  min-height:4rem;
  resize:vertical;
}
.blog-lead-form__btn{
  margin-top:0.25rem;
  font-size:var(--font-size-sm);
}

/* 图文列表：左缩略图 + 右标题与日期 */
.blog-widget-thumb-list{
  list-style:none;
  margin:0;
  padding:0;
}
.blog-widget-thumb-list__item{
  margin-bottom:0.75rem;
}
.blog-widget-thumb-list__item:last-child{
  margin-bottom:0;
}
.blog-widget-thumb{
  display:flex;
  align-items:flex-start;
  gap:0.6rem;
  text-decoration:none;
  color:inherit;
  transition:opacity .2s ease;
}
.blog-widget-thumb:hover{
  color:inherit;
  opacity:.9;
}
.blog-widget-thumb__img{
  flex:0 0 5rem;
  width:5rem;
  aspect-ratio:16/10;
  border-radius:var(--radius-sm);
  overflow:hidden;
  background:var(--color-bg);
}
.blog-widget-thumb__img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.blog-widget-thumb__body{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:0.2rem;
}
.blog-widget-thumb__title{
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-medium);
  color:var(--color-text-main);
  line-height:1.4;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden;
}
.blog-widget-thumb__date{
  font-size:var(--font-size-xs);
  color:var(--color-text-muted);
}

/* 图文 + tabs：顶部 tab 条 + 下图左文列表 */
.blog-widget--tabs-thumb .blog-widget__title{
  display:none;
}
.blog-widget__tabs{
  display:flex;
  gap:0;
  margin:0 0 0.75rem;
  padding:0;
  border-bottom:1px solid var(--color-border-subtle);
  list-style:none;
}
.blog-widget__tab{
  flex:1 1 0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.25rem;
  padding:0.5rem 0.25rem;
  font-size:var(--font-size-xs);
  font-weight:var(--font-weight-medium);
  color:var(--color-text-muted);
  background:none;
  border:none;
  border-bottom:2px solid transparent;
  margin-bottom:-1px;
  cursor:pointer;
  transition:color .2s ease, border-color .2s ease;
}
.blog-widget__tab .bi{
  font-size:1rem;
}
.blog-widget__tab:hover{
  color:var(--color-text-main);
}
.blog-widget__tab.is-active{
  color:var(--color-primary);
  border-bottom-color:var(--color-primary);
}
.blog-widget__tab-panels{
  margin:0;
}
.blog-widget__tab-panel{
  margin:0;
  display:none;
}
.blog-widget__tab-panel.is-active{
  display:block;
}

/* 热门推荐小组件：标题蓝条 + TOP1 大卡 + TOP2/3 及其余左图右文 + 阅读量 */
.hot-rec-list{
  list-style:none;
  margin:0;
  padding:0;
}
.hot-rec-item{
  margin-bottom:0.75rem;
}
.hot-rec-item:last-child{
  margin-bottom:0;
}
.hot-rec-item__link{
  display:block;
  text-decoration:none;
  color:inherit;
  transition:opacity .2s ease;
}
.hot-rec-item__link:hover{
  color:inherit;
  opacity:.9;
}
.hot-rec-item__thumb{
  position:relative;
  display:block;
  border-radius:var(--radius-sm);
  overflow:hidden;
  background:var(--color-bg);
}
.hot-rec-item__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.hot-rec-item__ribbon{
  position:absolute;
  top:0.5rem;
  left:0;
  padding:0.2rem 0.6rem;
  font-size:0.7rem;
  font-weight:var(--font-weight-semibold);
  color:#fff;
  background:#c0392b;
  line-height:1.2;
  box-shadow:0 1px 2px rgba(0,0,0,.15);
}
.hot-rec-item__ribbon::before{
  content:'';
  position:absolute;
  top:0;
  right:-0.35rem;
  width:0;
  height:0;
  border-width:0 0 1rem 0.35rem;
  border-style:solid;
  border-color:transparent transparent #922b21 transparent;
}
.hot-rec-item__reads{
  display:inline-flex;
  align-items:center;
  gap:0.25rem;
  font-size:var(--font-size-xs);
  color:var(--color-text-muted);
  margin-top:0.35rem;
}
.hot-rec-item__reads .bi{
  font-size:0.9rem;
}
.hot-rec-item__title{
  margin:0;
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-medium);
  color:var(--color-text-main);
  line-height:1.4;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden;
}
.hot-rec-item__body{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:0.2rem;
}
/* TOP 1：大图，阅读量+标题浮在图片底部 */
.hot-rec-item--top1 .hot-rec-item__thumb{
  aspect-ratio:16/10;
}
.hot-rec-item--top1 .hot-rec-item__thumb img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.hot-rec-item__overlay{
  display:none;
}
.hot-rec-item--top1 .hot-rec-item__overlay{
  display:block;
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.78) 0%, rgba(0,0,0,.35) 45%, transparent 70%);
  pointer-events:none;
  z-index:1;
}
.hot-rec-item--top1 .hot-rec-item__ribbon{
  z-index:3;
}
.hot-rec-item--top1 .hot-rec-item__reads,
.hot-rec-item--top1 .hot-rec-item__title{
  position:absolute;
  left:0.75rem;
  right:0.75rem;
  color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.5);
  z-index:2;
}
.hot-rec-item--top1 .hot-rec-item__reads{
  bottom:0.75rem;
  margin-top:0;
  color:rgba(255,255,255,.92);
}
.hot-rec-item--top1 .hot-rec-item__reads .bi{
  opacity:.9;
}
.hot-rec-item--top1 .hot-rec-item__title{
  bottom:2rem;
  margin-top:0;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
  overflow:hidden;
  font-weight:var(--font-weight-semibold);
}
/* TOP 2 及以下：左图右文 */
.hot-rec-item:not(.hot-rec-item--top1) .hot-rec-item__link{
  display:flex;
  align-items:flex-start;
  gap:0.6rem;
}
.hot-rec-item:not(.hot-rec-item--top1) .hot-rec-item__thumb{
  flex:0 0 5rem;
  width:5rem;
  aspect-ratio:16/10;
}
.hot-rec-item:not(.hot-rec-item--top1) .hot-rec-item__reads{
  margin-top:0;
}
.blog-search__input{
  border-radius:var(--radius-md) 0 0 var(--radius-md);
  border-color:var(--color-border-subtle);
}
.blog-search__btn{
  border-radius:0 var(--radius-md) var(--radius-md) 0;
  padding:0 1rem;
}

@media (max-width:62rem){
  .blog-banner-row{
    grid-template-columns:1fr;
    margin-bottom:2rem;
  }
  .blog-banner__rec{
    flex-direction:row;
    gap:1rem;
  }
  .blog-rec-card{
    flex:1 1 0;
    min-height:8rem;
  }
  .blog-layout{
    grid-template-columns:1fr;
  }
  .blog-sidebar{
    display:none;
  }
  .blog-entry__link{
    flex-direction:column;
    gap:0.75rem;
  }
  .blog-entry__thumb{
    flex:0 0 auto;
    width:100%;
    aspect-ratio:4/2.2;
  }
}
@media (max-width:48rem){
  .section-blog-hero{
    padding-top:calc(4.25rem + 1rem);
    padding-bottom:1rem;
  }
  .blog-hero__title{
    font-size:var(--font-size-2xl);
  }
  .blog-banner__rec{
    flex-direction:column;
  }
  .blog-rec-card{
    min-height:6rem;
  }
  .blog-entry__link{
    padding:0.75rem 1rem;
  }
}

/* 常见问题区块：显式 Q&A 结构，便于 AI 抓取 */
.section-faq{
  padding:3rem 0;
  background:var(--color-surface);
}
.faq-accordion{
  max-width:40rem;
  margin:0 auto;
}
.faq-accordion .accordion-item{
  border:none;
  margin-bottom:0;
}
.faq-accordion__item{
  background:var(--color-surface);
  border:1px solid var(--color-border-subtle);
  border-radius:var(--radius-md);
  overflow:hidden;
}
.faq-accordion__item:not(:last-child){
  margin-bottom:0.5rem;
}
.faq-accordion__item .accordion-button{
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-main);
  background:var(--color-surface);
  padding:1rem 1.25rem;
  font-size:var(--font-size-md);
  box-shadow:none;
}
.faq-accordion__item .accordion-button:not(.collapsed){
  color:var(--color-primary);
  background:rgba(51,102,255,.06);
}
.faq-accordion__item .accordion-button::after{
  flex-shrink:0;
}
.faq-accordion__body{
  color:var(--color-text-muted);
  font-size:var(--font-size-sm);
  line-height:var(--line-height-loose);
  padding:0 1.25rem 1rem;
  padding-top:0;
}

/* 合作伙伴 + 友情链接：底部通栏 */
.section-partners-links{
  background:#fff;
  padding:2.5rem 0;
  border-top:1px solid var(--color-border-subtle);
}
.partners-block{
  margin-bottom:2.5rem;
}
.partners-block__head,
.friendly-links-block__head{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:0.75rem;
  margin-bottom:1.25rem;
}
.partners-block__title-wrap,
.friendly-links-block__title-wrap{
  flex:1 1 auto;
  min-width:0;
}
.partners-block__title,
.friendly-links-block__title{
  margin:0 0 0.25rem;
  font-size:var(--font-size-lg);
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-main);
}
.partners-block__desc,
.friendly-links-block__desc{
  margin:0;
  font-size:var(--font-size-sm);
  color:var(--color-text-muted);
}
.partners-block__cta,
.friendly-links-block__cta{
  flex-shrink:0;
  font-size:var(--font-size-sm);
  color:var(--color-primary);
  text-decoration:none;
  transition:color .2s ease;
}
.partners-block__cta:hover,
.friendly-links-block__cta:hover{
  color:var(--color-text-main);
}
.partners-block__grid{
  display:grid;
  grid-template-columns:repeat(7, 1fr);
  gap:1rem;
  list-style:none;
  margin:0;
  padding:0;
}
.partners-block__item{
  margin:0;
}
.partners-block__card{
  display:flex;
  align-items:center;
  justify-content:center;
  height:4.5rem;
  padding:0.5rem;
  background:#fff;
  border:1px solid var(--color-border-subtle);
  border-radius:var(--radius-md);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.partners-block__card:hover{
  border-color:var(--color-border);
  box-shadow:0 2px 8px rgba(0,0,0,.06);
}
.partners-block__card img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;
}
.friendly-links-block__nav{
  margin:0;
}
.friendly-links-block__list{
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem 1.25rem;
  list-style:none;
  margin:0;
  padding:0;
}
.friendly-links-block__list li{
  margin:0;
}
.friendly-links-block__list a{
  font-size:var(--font-size-sm);
  color:var(--color-text-muted);
  text-decoration:none;
  transition:color .2s ease;
}
.friendly-links-block__list a:hover{
  color:var(--color-primary);
}
/* 友情链接在 footer 内：深色背景下的样式 */
.site-footer__friendly-links{
  margin-top:1.5rem;
  padding-top:1.5rem;
  width:100%;
}
.site-footer__friendly-links .friendly-links-block__title{
  color:#fff;
}
.site-footer__friendly-links .friendly-links-block__desc{
  color:rgba(255,255,255,.78);
}
.site-footer__friendly-links .friendly-links-block__cta{
  color:rgba(255,255,255,.9);
}
.site-footer__friendly-links .friendly-links-block__cta:hover{
  color:#fff;
}
.site-footer__friendly-links .friendly-links-block__list a{
  color:rgba(255,255,255,.78);
}
.site-footer__friendly-links .friendly-links-block__list a:hover{
  color:#fff;
}
@media (max-width: 991.98px){
  .partners-block__grid{
    grid-template-columns:repeat(4, 1fr);
  }
}
@media (max-width: 575.98px){
  .section-partners-links{
    padding:1.5rem 0;
  }
  .partners-block{
    margin-bottom:1.5rem;
  }
  .partners-block__grid{
    grid-template-columns:repeat(2, 1fr);
    gap:0.75rem;
  }
  .partners-block__card{
    height:3.5rem;
  }
}

/* 登录/注册页：居中卡片表单 */
.auth-page{
  padding:6rem 0 4rem;
  min-height:60vh;
  display:flex;
  align-items:flex-start;
  justify-content:center;
}
.auth-card{
  width:100%;
  max-width:26rem;
  margin:0 auto;
  padding:2rem;
}
.auth-card__title{
  margin:0 0 0.25rem;
  font-size:1.5rem;
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-main);
}
.auth-card__desc{
  margin:0 0 1.5rem;
  font-size:var(--font-size-sm);
}
.auth-form__field{
  margin-bottom:1.25rem;
}
.auth-form__field .form-label{
  margin-bottom:0.35rem;
  font-weight:var(--font-weight-medium);
  color:var(--color-text-main);
}
.auth-form__row{
  display:flex;
  align-items:center;
  gap:0.75rem;
  margin-bottom:1.25rem;
}
.auth-form__row--between{
  justify-content:space-between;
}
.auth-form__link{
  font-size:var(--font-size-sm);
  color:var(--color-primary);
  text-decoration:none;
}
.auth-form__link:hover{
  text-decoration:underline;
  color:var(--color-primary);
}
.auth-form__submit{
  width:100%;
  padding:0.6rem 1rem;
  margin-top:0.25rem;
  font-weight:var(--font-weight-medium);
}
.auth-card__footer{
  margin:1.5rem 0 0;
  padding-top:1.25rem;
  border-top:1px solid var(--color-border-subtle);
  font-size:var(--font-size-sm);
  text-align:center;
}
.auth-card__footer a{
  color:var(--color-primary);
  text-decoration:none;
}
.auth-card__footer a:hover{
  text-decoration:underline;
}
.site-footer--compact{
  padding-top:1.5rem;
  padding-bottom:1.5rem;
}
.site-footer--compact .site-footer__bottom{
  flex-wrap:wrap;
  justify-content:center;
  gap:0.5rem;
  text-align:center;
}
.site-footer--compact .site-footer__legal-block,
.site-footer--compact .site-footer__legal-links{
  margin:0;
}
.site-footer--compact .site-footer__copy,
.site-footer--compact .site-footer__icp{
  margin:0;
}
.site-footer--compact .site-footer__gongan{
  display:none;
}

/* 搜索结果页：顶部搜索与结果标题 */
.search-page-form .input-group-lg .form-control{
  border-radius:var(--radius-md, 0.375rem) 0 0 var(--radius-md, 0.375rem);
}
.search-page-form .input-group-lg .btn{
  height:100%;
  border-radius:0 var(--radius-md, 0.375rem) var(--radius-md, 0.375rem) 0;
}
.search-page-form--full{
  grid-column:1 / -1;
  margin-bottom:0;
}
.search-results__title{
  font-size:1.25rem;
  font-weight:600;
  margin-bottom:0.25rem;
  padding-left:1rem;
  padding-right:1rem;
}
.search-results__query{
  font-size:0.9375rem;
  padding-left:1rem;
  padding-right:1rem;
}

/* 404 错误页：居中提示与操作 */
.error-404{
  padding:8rem 0 6rem;
  min-height:70vh;
  display:flex;
  align-items:center;
  justify-content:center;
}
.error-404__inner{
  max-width:28rem;
  margin:0 auto;
  text-align:center;
}
.error-404__code{
  font-size:4rem;
  font-weight:700;
  line-height:1;
  color:var(--color-text-muted, #6c757d);
  margin-bottom:0.5rem;
  letter-spacing:-0.02em;
}
.error-404__title{
  font-size:1.5rem;
  font-weight:600;
  margin-bottom:0.5rem;
}
.error-404__desc{
  margin-bottom:1.5rem;
  font-size:0.9375rem;
}
.error-404__actions{
  display:flex;
  flex-wrap:wrap;
  gap:0.75rem;
  justify-content:center;
  margin-bottom:2rem;
}
.error-404__btn{
  min-width:8rem;
}
.error-404__search{
  max-width:20rem;
  margin:0 auto;
}
.error-404__search-group .form-control{
  border-radius:var(--radius-md, 0.375rem) 0 0 var(--radius-md, 0.375rem);
}
.error-404__search-group .btn{
  border-radius:0 var(--radius-md, 0.375rem) var(--radius-md, 0.375rem) 0;
}

/* 用户中心：布局与卡片 */
.account-page{
  padding:5rem 0 4rem;
}
.account-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:2rem;
}
@media (min-width:992px){
  .account-layout{
    grid-template-columns:1fr 16rem;
  }
}
.account-main{
  min-width:0;
}
.account-card{
  padding:1.5rem;
}
.account-card__title{
  font-size:1.125rem;
  font-weight:600;
  margin-bottom:1rem;
}
.account-card__title--sm{
  font-size:1rem;
  margin-bottom:0.75rem;
}
.account-card__head{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:0.75rem;
  margin-bottom:1rem;
}
.account-card__head .account-card__title{
  margin-bottom:0;
}
.account-profile{
  display:flex;
  align-items:flex-start;
  gap:1.25rem;
}
.account-profile__avatar{
  flex-shrink:0;
  width:3.5rem;
  height:3.5rem;
  border-radius:50%;
  background:var(--color-primary, #0d6efd);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:600;
  font-size:1.25rem;
}
.account-profile__avatar-inner{
  line-height:1;
}
.account-profile__body{
  min-width:0;
}
.account-profile__name{
  font-weight:600;
}
.account-profile__meta{
  font-size:0.9375rem;
}
.account-sites-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(12rem, 1fr));
  gap:0.75rem;
}
.account-sites-list__item{
  margin:0;
}
.account-site-card{
  display:flex;
  flex-direction:column;
  padding:1rem;
  border:1px solid var(--color-border-subtle, #dee2e6);
  border-radius:var(--radius-md, 0.375rem);
  color:inherit;
  text-decoration:none;
  transition:border-color .2s, box-shadow .2s;
}
.account-site-card:hover{
  border-color:var(--color-primary, #0d6efd);
  box-shadow:0 2px 8px rgba(0,0,0,.06);
}
.account-site-card__name{
  font-weight:500;
}
.account-site-card__meta{
  font-size:0.875rem;
  margin-top:0.25rem;
}
.account-site-card--empty{
  border-style:dashed;
  align-items:center;
  justify-content:center;
  min-height:5rem;
}
.account-site-card__icon{
  font-size:1.5rem;
  margin-bottom:0.25rem;
  opacity:.6;
}
.account-plan__name{
  font-weight:600;
}
.account-plan__meta{
  font-size:0.9375rem;
}

/* 用户中心：修改资料表单与图形验证码 */
.account-edit-form__field{
  margin-bottom:1rem;
}
.account-edit-form__field:last-of-type{
  margin-bottom:1.25rem;
}
.account-edit-form__field--captcha .form-label{
  display:block;
  margin-bottom:0.375rem;
}
.account-captcha{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0.5rem;
}
.account-captcha__img{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:6rem;
  height:2.25rem;
  background:linear-gradient(135deg, #f0f0f0 0%, #e5e5e5 100%);
  border:1px solid var(--color-border-subtle, #dee2e6);
  border-radius:var(--radius-md, 0.375rem);
  font-size:1.125rem;
  font-weight:700;
  letter-spacing:0.2em;
  color:#333;
  user-select:none;
}
.account-captcha__refresh{
  flex-shrink:0;
}
.account-captcha__input{
  width:6.5rem;
  flex-shrink:0;
}
.account-sidebar{
  order:-1;
}
@media (min-width:992px){
  .account-sidebar{
    order:0;
  }
}
.account-actions-list{
  list-style:none;
  padding:0;
  margin:0;
}
.account-actions-list li{
  margin:0;
}
.account-actions-list__link{
  display:flex;
  align-items:center;
  padding:0.5rem 0;
  color:inherit;
  text-decoration:none;
  font-size:0.9375rem;
  transition:color .2s;
}
.account-actions-list__link:hover{
  color:var(--color-primary, #0d6efd);
}
.account-actions-list__link--logout{
  margin-top:0.5rem;
  padding-top:0.75rem;
  border-top:1px solid var(--color-border-subtle, #dee2e6);
  color:var(--color-text-muted, #6c757d);
}
.account-actions-list__link--logout:hover{
  color:var(--color-danger, #dc3545);
}

/* 用户中心：发帖/评论记录列表 */
.account-record-list{
  list-style:none;
  padding:0;
  margin:0;
}
.account-record-list__item{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:0.5rem;
  padding:0.5rem 0;
  border-bottom:1px solid var(--color-border-subtle, #eee);
}
.account-record-list__item:last-child{
  border-bottom:none;
}
.account-record-list__link{
  flex:1;
  min-width:0;
  color:inherit;
  text-decoration:none;
  font-size:0.9375rem;
}
.account-record-list__link:hover{
  color:var(--color-primary, #0d6efd);
}
.account-record-list__meta{
  flex-shrink:0;
  font-size:0.875rem;
}

/* 页面可见 H1 标题（禁止隐藏式 H1） */
.blog-page__title{
  font-size:1.5rem;
  font-weight:600;
  margin-bottom:1rem;
}
.flash-news-page__title{
  font-size:1.5rem;
  font-weight:600;
  margin-bottom:1rem;
}
.account-page__title{
  font-size:1.5rem;
  font-weight:600;
  margin-bottom:1rem;
}
.comment-list .children{
  list-style:none;
  margin:1rem 0 0;
  padding:0 0 0 1.25rem;
  border-left:2px solid var(--color-border-subtle);
}
.comment-inner .comment-reply-link{
  display:inline-block;
  margin-top:0.5rem;
  font-size:var(--font-size-sm);
}
.post-comments__pagination{
  margin-bottom:1rem;
}
.post-comments__pagination .nav-links{
  display:flex;
  gap:0.5rem;
  flex-wrap:wrap;
  font-size:var(--font-size-sm);
}
.post-comments__closed{
  margin:0 0 1rem;
}

/* RAG 知识站：单篇槽位与分类支柱 */
.post-rag-section-title{
  font-size:var(--font-size-lg);
  font-weight:var(--font-weight-semibold);
  margin:0 0 0.75rem;
  color:var(--color-text-main);
}
.post-rag-summary--hero{
  margin:0 0 1.5rem;
  padding:1rem 1.25rem;
  background:rgba(51,102,255,.06);
  border:1px solid var(--color-border-subtle);
  border-radius:var(--radius-md);
}
.post-rag-summary__body{
  font-size:var(--font-size-md);
  line-height:var(--line-height-loose);
  color:var(--color-text-main);
  margin:0;
}
.post-rag-summary__body p:last-child{
  margin-bottom:0;
}
.post-single__body-wrap{
  margin-bottom:1.5rem;
}
.post-rag-keypoints{
  margin:0 0 1.5rem;
  padding:1rem 1.25rem;
  background:var(--color-surface);
  border:1px solid var(--color-border-subtle);
  border-radius:var(--radius-md);
}
.post-rag-keypoints__list{
  margin:0;
  padding-left:1.25rem;
  color:var(--color-text-muted);
  font-size:var(--font-size-sm);
  line-height:var(--line-height-loose);
}
.post-rag-faq.section-faq{
  padding:1.5rem 0 2rem;
  margin:0 -0.5rem;
  background:transparent;
}
.post-rag-faq__list{
  margin:0;
}
.post-rag-faq__pair{
  margin:0 0 1rem;
  padding:0 0 1rem;
  border-bottom:1px solid var(--color-border-subtle);
}
.post-rag-faq__pair:last-child{
  border-bottom:none;
  padding-bottom:0;
}
.post-rag-faq__q{
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-main);
  margin:0 0 0.35rem;
  font-size:var(--font-size-md);
}
.post-rag-faq__a{
  margin:0;
  color:var(--color-text-muted);
  font-size:var(--font-size-sm);
}
.post-rag-sources,
.post-rag-curated{
  margin:0 0 1.5rem;
}
.post-rag-sources__list,
.post-rag-curated__list{
  margin:0;
  padding-left:1.25rem;
  font-size:var(--font-size-sm);
  line-height:var(--line-height-loose);
}
.post-rag-pillar{
  margin:0 0 2rem;
  padding:1.25rem;
  background:var(--color-surface);
  border:1px solid var(--color-border-subtle);
  border-radius:var(--radius-md);
}
.post-rag-pillar__title{
  font-size:var(--font-size-md);
  font-weight:var(--font-weight-semibold);
  margin:0 0 1rem;
}
.post-rag-pillar__list{
  margin:0;
  padding-left:1.25rem;
}
.post-rag-pillar__item{
  margin-bottom:0.65rem;
  line-height:var(--line-height-normal);
}
.post-rag-pillar__item a{
  font-weight:var(--font-weight-medium);
  color:var(--color-text-main);
}
.post-rag-pillar__teaser{
  display:block;
  font-size:var(--font-size-xs);
  color:var(--color-text-muted);
  margin-top:0.2rem;
}
