@charset "utf-8";

/* ==========================================================================
 * mobile.css —— 响应式适配
 *
 * 结构说明：本文件已按「断点由宽到窄」重新归并，相同 @media 条件只保留一个块。
 *   1. 断点顺序：1200 → 1100 → 1024 → 900 → 768 → 480，窄断点在后，天然覆盖宽断点。
 *   2. 每个断点内用「----- 原区块名 -----」标注规则来源，便于对照查找。
 *   3. 合并时已做层叠校验：被后序同优先级规则完全覆盖的重复声明已剔除，
 *      各断点下的最终计算样式与合并前完全一致。
 * ========================================================================== */

/**** @media (max-width: 1200px) （由 2 处合并） ****/
@media (max-width: 1200px) {
  /* ---- 导航提前切移动端（≤1200px）：导航变汉堡抽屉，头部尺寸与抽屉 top:76… ---- */
  body.solid-header {
    padding-top: 76px;
  }

  .site-header {
    padding: 12px 0;
  }

  /* 透明头 header-ghost 权重更高，需同权重拉齐，否则详情页头部比普通页高 8px */
  .site-header.header-ghost {
    padding: 12px 0;
  }

  .logo-img {
    height: 40px;
  }

  .nav-toggle {
    display: block;
  }

  .main-nav {
    position: fixed;
    left: 0;
    right: 0;
    top: 76px;
    bottom: 0;
    background: #fff;
    padding: 20px 40px 40px;
    overflow-y: auto;
    transform: translateX(-100%);
    transition: transform .3s ease;
    z-index: 99;
  }

  .main-nav.open {
    transform: translateX(0);
  }

  .main-nav ul {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .main-nav ul li a {
    padding: 16px 0;
    border-bottom: 1px solid #F1F5F9;
  }

  /* 桌面端「下滑后一级导航 padding 收窄到 15px」权重更高，会覆盖抽屉里的 16px，这里拉齐 */
  .site-header.solid .main-nav > ul > li > a {
    padding: 16px 0;
  }

  .main-nav ul > li > a {
    justify-content: space-between;
    gap: 12px;
  }

  .main-nav ul > li > a .arrow {
    margin-left: auto;
    flex: none;
  }

  /* 抽屉展开态：header 从透明切白底，一级菜单改深色字 */
  body.nav-open .site-header {
    background: #fff;
    box-shadow: 0 2px 18px rgba(15, 23, 42, .08);
    height: 76px;
    padding: 0;
  }

  body.nav-open .site-header .container {
    height: 100%;
  }

  body.nav-open .site-header .logo-light {
    display: none;
  }

  body.nav-open .site-header .logo-dark {
    display: block;
  }

  body.nav-open .site-header .nav-toggle {
    background: #F6F8FB;
  }

  body.nav-open .site-header .nav-toggle span {
    background: #0F172A;
  }

  body.nav-open .site-header .btn-quote {
    background: #2B6BE0;
    color: #fff;
  }

  body.nav-open .site-header .main-nav ul li a {
    color: #0F172A;
  }

  body.nav-open .site-header .main-nav ul li a:hover, body.nav-open .site-header .main-nav ul li.current > a {
    color: #2B6BE0;
  }

  /* 二级菜单保持浅一档层次，不被深色规则吃掉 */
  body.nav-open .site-header .main-nav .sub-menu a {
    color: #1F2937;
  }

  body.nav-open .site-header .main-nav .sub-menu a:hover {
    color: #2B6BE0;
    background: #F6F8FB;
  }


  .main-nav .sub-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    padding: 0 0 10px;
    display: none;
  }

  .main-nav li.open .sub-menu {
    display: block;
  }

  .hero-sky .slide-caption {
    margin-top: 0;
  }

  .hero-sky .slide-caption .container {
    padding-top: 96px;
  }
}

/**** @media (max-width: 1100px) （由 3 处合并） ****/
@media (max-width: 1100px) {
  /* ---- 联系页 11Contact（移动端） ---- */
  .ct11-title {
    padding-top: 170px;
    font-size: 46px;
    line-height: 60px;
  }

  .ct11-card {
    padding: 48px 36px 56px;
    margin-top: -120px;
  }

  .ct11-field input, .ct11-textarea {
    height: 56px;
  }

  .ct11-textarea {
    height: 200px;
    padding: 16px 20px;
  }

  .ct11-gst {
    font-size: 32px;
  }

  .ct11-ccard {
    padding: 40px 32px 44px;
    min-height: 0;
  }

  .ct11-ccard h3 {
    margin-top: 32px;
  }

  .ct11-ccard p:first-of-type {
    margin-top: 24px;
  }

  .ct11-map {
    height: 420px;
    margin-top: 64px;
    font-size: 30px;
  }

  .ct11-cta-wrap {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    padding: 8px 0;
  }

  .ct11-cta h2 {
    font-size: 26px;
  }

  .ct11-cta-form {
    width: 100%;
    height: 68px;
  }

  .ct11-cta-form button {
    width: 140px;
    height: 54px;
    font-size: 15px;
  }

  /* ---- 光伏运维详情 7OM（移动端） ---- */
  .om7-back {
    margin-top: 60px;
    height: 60px;
    padding: 0 30px;
    font-size: 16px;
  }

  .om7-title {
    padding-top: 48px;
    margin-top: 0;
    font-size: 32px;
    line-height: 44px;
  }

  .om7-tabs {
    flex-direction: column;
  }

  .om7-tab {
    height: 60px;
    padding: 0 20px;
  }

  .om7-tab + .om7-tab {
    border-left: none;
    border-top: 1px solid #fff;
  }

  .om7-tab.active::after {
    display: none;
  }

  .om7-subtitle {
    margin-top: 48px;
  }

  .om7-grid {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-auto-rows: auto;
    row-gap: 20px;
    margin-top: 36px;
  }

  .om7-photo {
    height: 240px;
  }

  .om7-text {
    padding: 28px 24px;
  }

  /* ---- 多终端适配补丁（1100 / 900 / 768 / 480） ---- */
  .footer-links a {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
  }

  .sv10-pin {
    font-size: max(11.5px, 1.3cqw);
    min-width: max(64px, 13cqw);
  }

  .rec-link {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    margin: -4px -10px;
  }

  .cta-band .container {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
  }

  .cta-band h2 {
    font-size: 32px;
  }

  .cta-form {
    width: 100%;
    max-width: 100%;
  }

  /* 首页数据条：1024 下三列每列仅 ~200px，72px 数字 + "GWh+" 单位会顶出卡片，
       这里按屏宽等比收字号，单位也一起缩，避免「数字正常、单位却撑出来」 */
  .home-stats .stat-num {
    font-size: clamp(26px, 4.2vw, 58px);
    white-space: nowrap;
  }

  .home-stats .stat-unit {
    font-size: clamp(12px, 1.5vw, 18px);
    margin-left: 6px;
  }

  .home-stats .container {
    padding: 56px 34px;
  }
}

/**** @media (min-width: 1025px) and (max-width: 1200px) （由 2 处合并） ****/
@media (min-width: 1025px) and (max-width: 1200px) {
  /* ---- 导航提前切移动端（≤1200px）：导航变汉堡抽屉，头部尺寸与抽屉 top:76… ---- */
  .hero-title {
    font-size: clamp(37px, 3.625vw, 43.5px);
  }

  .hero-tech .hero-title {
    font-size: clamp(29.5px, 2.875vw, 34.5px);
  }

  .hero-desc {
    font-size: clamp(19px, 1.875vw, 22.5px);
    margin-top: 12px;
  }

  .hero-btns {
    margin-top: clamp(40px, 4.5vw, 54px);
  }

  /* 首页 swiper 高度同步收窄，避免 absolute 文案溢出压到下一区块 */
  .home-swiper {
    height: clamp(480px, 46vw, 552px);
  }

  .container {
    padding: 0 40px;
  }

  .home-stats {
    padding: 0 40px;
  }

  .vs-panel {
    padding: 0 40px 40px;
  }

  .home-intro {
    display: flex;
    align-items: center;
    gap: 24px 40px;
    padding: 0 40px;
    box-sizing: border-box;
  }

  .home-intro .intro-visual-left {
    position: static;
    transform: none;
    width: 46%;
    flex: none;
  }

  .home-intro .intro-visual {
    width: 54%;
  }

  .home-intro .section-title {
    font-size: clamp(34px, 3.375vw, 40.5px);
  }

  .home-intro .btn.mt-90 {
    margin-top: clamp(56px, 5.625vw, 68px);
  }

  .home-stats .stat-num {
    font-size: clamp(30px, 3.6vw, 44px);
  }

  .projects-head-text .section-title {
    font-size: clamp(34px, 3.375vw, 40.5px);
  }

  .adv-hero-title {
    font-size: clamp(34px, 3.375vw, 40.5px);
  }

  .adv-title {
    font-size: clamp(34px, 3.375vw, 40.5px);
  }

  .section-title {
    font-size: clamp(34px, 3.375vw, 40.5px);
  }

  .cta-band h2 {
    font-size: clamp(30px, 3.375vw, 30px);
  }

  .footer-links {
    grid-template-columns: repeat(3, auto);
  }

  .page-hero__inner {
    padding-bottom: 80px;
  }
}

/**** @media (max-width: 1024px) （由 10 处合并） ****/
@media (max-width: 1024px) {
  /* ---- 平板适配（1024px 以下） ---- */
  /* 平板：PC 的 75px 内边距在窄屏上吃掉太多可用宽度，统一收到 32px */
  .container {
    width: 100%;
    max-width: 100%;
    padding: 0 32px;
  }

  .main-nav ul li a {
    font-size: 14px;
  }

  h1 {
    font-size: 38px;
  }

  h2, .section-title {
    font-size: 30px;
  }

  .hero-title {
    font-size: 40px;
  }

  .hero, .hero-tech {
    min-height: 480px;
  }

  .product-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .grid-4, .grid-5 {
    grid-template-columns: repeat(2, 1fr);
  }

  .banner-features {
    grid-template-columns: repeat(2, 1fr);
  }

  .case-row {
    grid-template-columns: 1fr;
  }

  .case-row img {
    width: 100%;
    height: 260px;
  }

  .business-scope {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .product-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .pd6-carousel {
    padding: 0;
    margin: 0;
  }

  .pd6-carousel .swiper-button-prev, .pd6-carousel .swiper-button-next {
    display: none;
  }

  /* ---- 关于我们（移动端） ---- */
  .page-head.about-hero {
    min-height: 460px;
  }

  .page-head.about-hero h1 {
    font-size: 38px;
  }

  .profile-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .future-img {
    position: static;
    transform: none;
    width: 100%;
    max-width: none;
    margin-top: 44px;
  }

  .future-img img {
    border-radius: 16px;
  }

  /* 修复：PC 端 .future-text 为 50% 宽 + 75px 两侧内边距，
       移动端不重置会导致内容区只剩几十像素宽（一字一行），改为全宽纵向排列 */
  .about-future {
    display: block;
  }

  .future-text {
    width: 100%;
    padding: 0 32px;
    box-sizing: border-box;
  }

  .history-zone::before {
    display: none;
  }

  .history-swiper {
    overflow: visible;
  }

  .history-bar {
    height: auto;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    padding: 14px 18px;
    border-radius: 28px;
  }

  .cert-swiper .swiper-slide {
    height: auto;
  }

  /* ---- blog 列表页 8Blog（移动端） ---- */
  .bl8-hero {
    height: 520px;
  }

  .bl8-feat {
    height: auto;
    flex-direction: column;
  }

  .bl8-feat-media {
    width: 100%;
    height: 320px;
  }

  .bl8-feat-body {
    padding: 36px 32px 40px;
  }

  .bl8-feat-body h2 {
    margin-top: 26px;
  }

  .bl8-arrow-lg {
    right: 32px;
    bottom: 32px;
    width: 54px;
    height: 54px;
  }

  /* ---- blog 详情页 9Blog（移动端） ---- */
  .bd9-card {
    padding: 32px 28px 48px;
  }

  .bd9-rel {
    margin-top: 24px;
  }

  .bd9-rel-media {
    height: 260px;
  }

  .bd9-article-img {
    width: 100%;
  }

  /* ---- 服务页 10Service（移动端） ---- */
  .sv10-hero { height: 520px; }

  .sv10-hero-inner { padding: 240px 0 0 40px; }

  .sv10-title { font-size: 36px; line-height: 48px; }

  .sv10-h2 { font-size: 32px; }

  .sv10-media img { height: 280px; }

  .sv10-card-body { height: auto; padding: 28px 28px 32px; }

  .sv10-card-body p { margin-top: 24px; }

  .sv10-feats { grid-template-columns: repeat(2, 1fr); margin-top: -60px; }

  .sv10-stat-num { font-size: clamp(26px, 7.4vw, 56px); }

  .sv10-stat-num span { font-size: clamp(12px, 2.4vw, 18px); margin-left: 6px; }

  .sv10-stat-label { font-size: clamp(12px, 1.8vw, 14px); }

  /* ---- 内页 Banner 统一组件（移动端） ---- */
  .page-hero {
    --ph-title: 36px;
    height: 520px;
  }

  .page-hero__inner {
    padding-bottom: 64px;
  }

  .page-hero__eyebrow {
    font-size: 14px;
    gap: 14px;
    margin-bottom: 14px;
  }

  .page-hero__eyebrow::after {
    width: 38px;
  }

  .page-hero--top .page-hero__inner {
    padding-top: 150px;
  }

  .page-hero--upper .page-hero__title {
    --ph-title: 44px;
  }

  .page-hero__sub {
    margin-top: 26px;
  }

  /* ---- 方案详情 · 技术要点（移动端） ---- */
  .tech-points {
    min-height: 460px;
  }

  .tp-title {
    padding-bottom: 44px;
    font-size: 32px;
  }

  .tp-list {
    margin-top: 56px;
  }

  .tp-list li {
    font-size: 16px;
  }

  /* ---- 平板 1024 以下 ---- */
  /* Header：7 项导航 + logo + 按钮 + 2 个图标在 1024 下放不开，会挤到换行并压住 logo。
       收窄间距与字号、隐藏搜索/语言图标（768 以下本来就是隐藏的），保持单行显示。 */
  .site-header .container {
    max-width: calc(100% - 40px);
  }

  .logo-img {
    width: auto;
  }

  .main-nav ul li a {
    font-size: 13px;
    white-space: nowrap;
  }

  .header-actions .icon-btn {
    display: none;
  }

  .header-actions .btn-quote {
    height: 40px;
    padding: 0 16px;
    font-size: 13px;
  }

  .home-intro .section-title {
    font-size: 40px;
    line-height: 1.32;
  }

  .home-intro .section-desc {
    font-size: 15px;
  }

  .detail-head h1 {
    font-size: 36px;
  }

  .stype-head .section-title {
    font-size: 28px;
  }

  .sv10-h2 {
    font-size: 28px;
  }

  .h-year span {
    font-size: 34px;
  }

  /* ---- 搜索结果页 Search 响应式 ---- */
  .sr-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
  }

  .sr-box .pagination {
    margin-top: 40px;
  }

  /* ---- ≤768：触控目标 + 可读性下限 ---- */
  /* 定宽容器统一到左右各 32px */
  .bl8-wrap, .bd9-wrap, .ct11-wrap, .ct11-cta-wrap, .om7-wrap, .sv10-wrap {
    max-width: calc(100% - 64px);
  }

  /* 服务 / O&M hero：PC 的 padding 右侧恒为 0，标题左右不对称 */
  .sv10-hero-inner {
    padding-left: 32px;
    padding-right: 32px;
  }

  /* 首页 About 文案列在 1024 下仍是绝对定位，靠 left 内缩，对齐到容器基准 */
  .home-intro .intro-visual-left {
    left: 32px;
  }

  /* 项目筛选条：整宽白底保留出血，内部控件对齐 32px 基准 */
  .filter-bar {
    padding-left: 32px;
    padding-right: 32px;
    box-sizing: border-box;
  }

  /* 服务页 CTA 大图：整块居中且没有横向 padding，1024 下长标题只剩 5px 边距 */
  .sv10-cta {
    padding-left: 32px;
    padding-right: 32px;
  }
}

/**** @media (min-width: 769px) and (max-width: 1024px) （由 1 处合并） ****/
@media (min-width: 769px) and (max-width: 1024px) {
  /* ---- 底部（平板） ---- */
  .footer-links {
    grid-template-columns: repeat(2, auto);
  }
}

/**** @media (max-width: 900px) （由 1 处合并） ****/
@media (max-width: 900px) {
  /* ---- 多终端适配补丁（1100 / 900 / 768 / 480） ---- */
  .scope6-card {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 26px;
  }

  .scope6-card > img {
    grid-column: 1 / -1;
    border-radius: 12px;
  }

  .pd6-scope .scope6-pill {
    position: static;
    width: auto;
    height: auto;
    min-height: 42px;
    padding: 9px 12px;
    gap: 7px;
    font-size: 12.5px;
    line-height: 1.25;
    justify-content: center;
    border: 1px solid #E2E8F0;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .06);
  }
}

/**** @media (max-width: 768px) （由 15 处合并） ****/
@media (max-width: 768px) {
  /* ---- 移动端适配（768px 以下） ---- */
  .container {
    max-width: 100%;
    padding: 0 18px;
  }

  body {
    font-size: 14px;
  }

  h1 {
    font-size: 30px;
  }

  h2, .section-title {
    font-size: 26px;
  }

  h3 {
    font-size: 19px;
  }

  .section {
    padding: 56px 0;
  }

  .section-head {
    margin-bottom: 30px;
  }

  body.solid-header {
    padding-top: 76px;
  }

  .site-header {
    padding: 12px 0;
  }

  .site-header.header-ghost {
    padding: 12px 0;
  }

  .logo-img {
    height: 40px;
  }

  .nav-toggle {
    display: block;
  }

  .main-nav {
    position: fixed;
    left: 0;
    right: 0;
    top: 76px;
    bottom: 0;
    background: #fff;
    padding-top: 20px;
    padding-bottom: 40px;
    overflow-y: auto;
    transform: translateX(-100%);
    transition: transform .3s ease;
    z-index: 99;
  }

  .main-nav.open {
    transform: translateX(0);
  }

  .main-nav ul {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .main-nav ul li a {
    padding: 16px 0;
    border-bottom: 1px solid #F1F5F9;
  }

  .site-header.solid .main-nav > ul > li > a {
    padding: 16px 0;
  }

  .main-nav ul > li > a {
    justify-content: space-between;
    gap: 12px;
  }

  .main-nav ul > li > a .arrow {
    margin-left: auto;
    flex: none;
  }

  body.nav-open .site-header {
    background: #fff;
    box-shadow: 0 2px 18px rgba(15, 23, 42, .08);
    height: 76px;
    padding: 0;
  }

  body.nav-open .site-header .container {
    height: 100%;
  }

  body.nav-open .site-header .logo-light {
    display: none;
  }

  body.nav-open .site-header .logo-dark {
    display: block;
  }

  body.nav-open .site-header .nav-toggle {
    background: #F6F8FB;
  }

  body.nav-open .site-header .nav-toggle span {
    background: #0F172A;
  }

  body.nav-open .site-header .btn-quote {
    background: #2B6BE0;
    color: #fff;
  }

  body.nav-open .site-header .main-nav ul li a {
    color: #0F172A;
  }

  body.nav-open .site-header .main-nav ul li a:hover, body.nav-open .site-header .main-nav ul li.current > a {
    color: #2B6BE0;
  }

  /* 二级菜单保持浅一档的层次，不被上面的深色规则吃掉 */
  body.nav-open .site-header .main-nav .sub-menu a {
    color: #1F2937;
  }

  body.nav-open .site-header .main-nav .sub-menu a:hover {
    color: #2B6BE0;
    background: #F6F8FB;
  }


  .main-nav .sub-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    padding: 0 0 10px;
    display: none;
  }

  .main-nav li.open .sub-menu {
    display: block;
  }

  .header-actions .lang, .header-actions .icon-btn {
    display: none;
  }

  .header-actions .btn-quote {
    padding-top: 0;
    padding-bottom: 0;
    font-size: 13px;
  }

  .hero {
    min-height: 440px;
    padding: 0;
  }

  .home-swiper {
    height: 480px;
  }

  .hero-caption .container, .slide-caption .container {
    padding-top: 0;
  }

  .home-swiper .swiper-button-prev, .home-swiper .swiper-button-next {
    display: none;
  }

  .hero-title {
    font-size: 30px;
  }

  .hero-tech .hero-title {
    font-size: 28px;
  }

  .hero-desc {
    font-size: 14px;
    margin-top: 16px;
  }

  .hero-btns {
    margin-top: 24px;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .hero-btns .btn {
    width:auto;
  }

  .solution-hero {
    min-height: 380px;
    padding-bottom: 40px;
  }

  .solution-hero h1 {
    font-size: 28px;
  }

  .blog-row {
    display: block;
    position: static;
    min-height: 0;
  }

  .blog-img {
    width: 100%;
    height: 210px;
    border-radius: 12px 12px 0 0;
  }

  .blog-panel {
    border-radius: 0 0 12px 12px;
    padding: 24px 22px 26px;
  }

  .grid-2, .grid-3, .grid-4, .grid-5 {
    grid-template-columns: 1fr;
  }

  .home-intro, .future-plans, .market-block, .news-feature, .featured-post, .scene-grid, .detail-head, .profile-block {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .scene-grid {
    gap: 16px;
    margin-top: 36px;
  }

  .scene-card.scene-text {
    padding: 28px 24px;
  }

  .scene-li{
    display: block;
  }
 

  .scene-sec .scene-title {
    padding-bottom: 20px;
  }

  .cases-sec .cases-title {
    margin-bottom: 32px;
  }

  .cases-swiper .cases-slide {
    width: 82%;
  }

  .cases-swiper .case-info {
    left: 18px;
    bottom: 16px;
    right: 64px;
  }

  .cases-swiper .case-info h3 {
    font-size: 18px;
  }

  .cases-swiper .case-info p {
    font-size: 12px;
    margin-bottom: 0;
  }

  .cases-swiper .case-btn {
    width: 38px;
    height: 38px;
    top: 14px;
    right: 14px;
  }

  .cases-swiper .case-btn img, .cases-swiper .case-btn svg {
    width: 15px;
    height: 15px;
  }

  .cases-pagination {
    margin-top: 28px;
  }

  .contact-form {
    grid-template-columns: 1fr;
    row-gap: 16px;
  }

  .contact-form input {
    height: 48px;
  }

  .contact-sec .contact-desc {
    margin-bottom: 32px;
  }

  .home-stats {
    padding: 44px 0;
  }

  .home-stats .stats-grid {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .home-stats .stat-num {
    font-size: 38px;
  }

  .sol-tabs {
    flex-direction: column;
    gap: 24px;
    padding: 0;
  }

  .sol-tabs::before {
    display: none;
  }

  .sol-slide {
    height: 380px;
  }

  .sol-slide > img {
    height: 100%;
    object-fit: cover;
    object-position: right center;
  }

  .sol-card {
    left: 16px;
    right: 16px;
    top: auto;
    bottom: 16px;
    width: auto;
    min-height: 0;
    padding: 22px;
  }

  .sol-card h3 {
    font-size: 20px;
  }

  .vs-panel {
    padding: 0 0 24px;
  }

  .vs-panel .container {
    padding: 40px 20px;
    border-radius: 12px;
  }

  .vs-wrap {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .vs-progress {
    left: 24px;
    top: 30px;
    bottom: 30px;
  }

  .vs-icon {
    flex-basis: 44px;
    width: 44px;
    height: 44px;
  }

  .vs-icon svg {
    width: 22px;
    height: 22px;
  }

  .vs-icon img {
    width: 22px;
    height: 22px;
  }

  .vs-body h3 {
    font-size: 17px;
  }

  .vs-media {
    height: 280px;
  }

  .project-slide .slide-info {
    left: 20px;
    right: 20px;
    bottom: 78px;
  }

  .project-slide .circle-btn {
    right: 20px;
    bottom: 20px;
  }

  .carousel-arrow {
    width: 38px;
    height: 38px;
    font-size: 15px;
  }

  .carousel-arrow.prev {
    left: 0;
  }

  .carousel-arrow.next {
    right: 0;
  }

  .product-grid, .use-product-grid, .banner-features, .history-cards, .post-grid, .global-contacts, .om-tabs {
    grid-template-columns: 1fr;
  }

  .om-tabs {
    border-radius: 16px;
  }

  .om-tabs .tab-btn {
    padding: 12px 16px;
    font-size: 14px;
  }

  .om-tile {
    grid-template-columns: 1fr;
  }

  .om-tile img {
    height: 200px;
  }

  .filter-bar {
    flex-wrap: wrap;
    height: auto;
  }

  .filter-bar .filter-tab {
    flex: 0 0 auto;
    padding: 0 26px;
    height: 52px;
  }

  .filter-bar .filter-dd {
    flex: 1;
  }

  .filter-bar .filter-dd-btn {
    width: auto;
    flex: 1;
    gap: 16px;
    padding: 0 18px;
    height: 52px;
  }

  .filter-bar .filter-backtop {
    margin: 0 16px;
    height: 52px;
  }

  .quick-search {
    padding: 28px 0 0;
  }

  .quick-search h3 {
    font-size: 21px;
  }

  .search-row input {
    width: auto;
    flex: 1;
    max-width: none;
  }

  .search-row .search-btn {
    width: 96px;
    height: 50px;
  }

  .search-row .search-btn svg {
    width: 19px;
    height: 19px;
  }

  .year-group {
    padding: 26px 16px 30px;
    margin-top: 28px;
  }

  .year-title {
    font-size: 26px;
  }

  .case-row {
    grid-template-columns: 1fr;
    padding: 18px 16px;
    gap: 18px;
  }

  .case-row img {
    height: auto;
  }

  .case-info h3 {
    font-size: 19px;
    margin: 16px 0 10px;
  }

  .case-info p {
    margin-bottom: 20px;
  }

  .case-info .case-go {
    width: 48px;
    height: 48px;
  }

  .case-info .case-go svg {
    width: 19px;
    height: 19px;
  }

  .gallery-main img {
    height: 260px;
  }

  .gallery-thumbs {
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
  }

  .gallery-thumbs img {
    height: 64px;
  }

  .achievement-box {
    padding: 24px;
  }

  .detail-hero-img img, .video-banner img {
    height: 240px;
  }

  .feature-pair {
    grid-template-columns: 1fr;
    margin-top: 20px;
  }

  .video-banner {
    margin-top: 40px;
  }

  .play-btn {
    width: 58px;
    height: 58px;
    font-size: 20px;
  }

  .profile-block {
    gap: 24px;
  }

  .history-card {
    padding: 24px;
  }

  .history-year-nav {
    flex-wrap: wrap;
    gap: 8px;
  }

  .om-banner {
    grid-template-columns: 1fr;
  }

  .om-banner .om-text {
    padding: 28px;
  }

  .om-banner img {
    min-height: 200px;
  }

  .wide-banner {
    min-height: 280px;
  }

  .wide-banner h2 {
    font-size: 24px;
  }

  .faq-q {
    padding: 18px 20px;
    font-size: 15px;
  }

  .faq-a {
    padding: 0 20px 20px 20px;
  }

  .featured-post .fp-body {
    padding: 24px;
  }

  .featured-post h2 {
    font-size: 22px;
  }

  .blog-tabs {
    flex-wrap: wrap;
  }

  .article-meta, .article-foot {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }

  .form-wrap {
    padding: 24px 20px;
    border-radius: 16px;
  }

  .form-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .contact-hero {
    padding: 60px 0 130px;
  }

  .contact-hero h1 {
    font-size: 30px;
  }

  .contact-form-card {
    margin-top: -90px;
  }

  .map-box {
    height: 260px;
    margin-top: 36px;
  }

  .cta-band {
    padding: 44px 0;
  }

  .cta-band .container {
    flex-direction: column;
    align-items: stretch;
  }

  .cta-band h2 {
    font-size: 24px!important;
  }

  .cta-form {
    width: 100%;
  }

  .site-footer {
    padding-top: 50px;
  }

  .footer-top {
    grid-template-columns: 1fr;
    gap: 34px;
    padding-bottom: 34px;
  }

  .footer-links {
    grid-template-columns: 1fr;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }

  .back-top {
    right: 16px;
    bottom: 16px;
  }

  .pagination {
    margin-top: 34px;
  }

  /* ---- 首页 Our Project：移动端 ---- */
  .projects-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 28px;
  }

  .home-products .projects-head {
    padding-left:20px;
    padding-right:0;
  }

  .projects-head-text .section-title {
    font-size: 24px;
  }

  .projects-more {
    height: 44px;
    padding: 0 16px;
    font-size: 14px;
  }

  .home-projects-swiper .swiper-slide {
    width: 82%;
  }

  .home-projects-swiper .slide-info {
    left: 18px;
    right: 64px;
    bottom: 16px;
  }

  .home-projects-swiper .slide-info h3 {
    font-size: 18px;
  }

  .home-projects-swiper .slide-info p {
    font-size: 12px;
  }

  .home-projects-swiper .circle-btn {
    width: 38px;
    height: 38px;
    top: 14px;
    right: 14px;
    font-size: 15px;
  }

  .products-swiper .tile-btn {
    font-size: 14px;
    padding: 10px 20px;
  }

  .home-projects-swiper .swiper-pagination {
    gap: 0;
    margin-top: 20px;
  }

  .home-projects-swiper .swiper-pagination-bullet {
    width: 18px;
  }

  .products-swiper .swiper-pagination-bullet {
    width: 18px;
  }

  .products-swiper .swiper-pagination {
    gap: 0;
    margin-top: 20px;
  }

  .home-blog {
    padding-top: 50px;
  }

  .blog-panel .blog-arrow {
    width: 46px;
    height: 46px;
    margin-top: 20px;
  }

  /* ---- 首页 Hechuang'S Advantages：移动端 ---- */
  .adv-hero {
    min-height: 380px;
    padding: 50px 0 150px;
  }

  .adv-hero-title {
    font-size: 24px;
  }

  .video-btn {
    margin-top: 22px;
    gap: 14px;
    font-size: 14px;
  }

  .video-btn .video-play {
    width: 30px;
    height: 30px;
  }

  .video-btn .video-play svg {
    width: 12px;
    height: 12px;
  }

  .adv-panel-wrap {
    margin-top: -110px;
  }

  .adv-panel {
    padding: 34px 20px 30px;
  }

  .adv-title {
    font-size: 24px;
  }

  .adv-more {
    height: 42px;
    padding: 0 16px;
    font-size: 14px;
  }

  .adv-swiper .adv-card {
    min-height: 240px;
    padding: 26px 22px 24px;
  }

  .adv-swiper .adv-card h3 {
    font-size: 18px;
  }

  .adv-swiper .swiper-wrapper {
    align-items: flex-start;
  }

  .adv-swiper .adv-card::before {
    width: 62px;
    height: 62px;
  }

  .adv-swiper .adv-arrow {
    top: 8px;
    right: 8px;
    width: 46px;
    height: 46px;
  }

  .adv-swiper .adv-two {
    top: 62px;
  }

  .adv-swiper .adv-one {
    right: 62px;
  }

  .adv-swiper .adv-logo {
    height: 50px;
  }

  .adv-swiper {
    margin-top: 20px;
  }

  .adv-swiper .swiper-slide {
    padding: 20px 0 0;
  }

  .section-products {
    padding: 50px 0;
  }

  .adv-swiper .adv-card:hover {
    transform: translateY(-15px);
  }

  .sol-go {
    width: 46px;
    height: 46px;
  }

  .sol-card p {
    font-size: 14px;
  }

  body.bd9-page {
    background-size: 100%;
  }

  .page-head {
    padding: 50px 0;
  }

  /* ---- products 页（移动端） ---- */
  .pd6-hero {
    min-height: 420px;
  }

  .pd6-hero .hero-title {
    font-size: 30px;
  }

  .pd6-crumb {
    font-size: 14px;
    margin-bottom: 14px;
  }

  .pd6-scope {
    padding: 52px 0 60px;
  }

  .scope6-head {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .scope6-head h2 {
    font-size: 26px;
  }

  .scope6-pill {
    gap: .4em;
    padding-left: 1em;
    font-size: 9px;
  }

  .pd6-title {
    font-size: 23px;
    padding: 36px 0 26px;
  }

  /* 产品列表的窄屏适配见文件开头「平板适配（1024px 以下）」区块，此处不再重复 */
  .pd6-connector {
    height: 92px;
  }

  .pd6-pill-blue {
    font-size: 11px;
    padding: 0 20px;
    height: 28px;
    line-height: 28px;
    top: 20px;
  }

  .pd6-chev {
    top: 58px;
  }

  .pd6-om {
    grid-template-columns: 1fr;
    gap: 26px;
    padding: 24px;
  }

  .pd6-om .om6-text h3 {
    font-size: 19px;
  }

  .gal-thumbs-swiper .swiper-slide {
    width: calc((100% - 16px) / 3);
  }

  .gal-thumbs-swiper img {
    height: 56px;
  }

  /* ---- blog 列表页 8Blog（移动端） ---- */
  .bl8-hero {
    height: 430px;
  }

  .bl8-hero .container {
    padding-bottom: 56px;
  }

  .bl8-title {
    font-size: 28px;
    line-height: 38px;
  }

  .bl8-main {
    padding: 48px 0 64px;
  }

  .bl8-tabs {
    flex-wrap: wrap;
    gap: 12px;
  }

  .bl8-tab {
    height: 42px;
    padding: 0 18px;
    font-size: 14px;
  }

  .bl8-check {
    width: 24px;
    height: 24px;
  }

  .bl8-feat {
    margin-top: 36px;
  }

  .bl8-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 40px;
  }

  .bl8-card-media {
    height: 220px;
  }

  .bl8-card-body {
    padding: 22px 22px 30px;
  }

  .bl8-card-body h3 {
    font-size: 17px;
    line-height: 25px;
    min-height: 0;
  }

  .bl8-arrow-sm {
    margin-top: 24px;
    width: 40px;
    height: 40px;
  }

  .bl8-pager {
    margin-top: 36px;
  }

  .bl8-pager a {
    width: 42px;
    height: 42px;
    font-size: 17px;
  }

  /* ---- blog 详情页 9Blog（移动端） ---- */
  body.bd9-page, body.pd5-page {
    padding-top: 76px;
  }

  .bd9-top {
    padding-top: 40px;
  }

  .bd9-back {
    height: 46px;
    padding: 0 26px;
    font-size: 15px;
    gap: 10px;
  }

  .bd9-crumb {
    margin-top: 28px;
    font-size: 12px;
  }

  .bd9-crumb .bd9-home {
    margin-right: 0;
  }

  .bd9-sec {
    padding: 32px 0 56px;
  }

  .bd9-card {
    padding: 26px 20px 40px;
    border-radius: 18px;
  }

  .bd9-meta {
    flex-wrap: wrap;
    gap: 10px;
  }

  .bd9-date {
    position: static;
    transform: none;
    order: 2;
  }

  .bd9-meta-ico {
    order: 3;
    margin-left: auto;
  }

  .bd9-title {
    margin-top: 36px;
    font-size: 20px;
  }

  .bd9-body {
    margin-top: 28px;
  }

  .bd9-body p {
    font-size: 14px;
    line-height: 22px;
    margin-bottom: 16px;
  }

  .bd9-sub {
    margin-top: 40px;
    font-size: 20px;
  }

  .bd9-rel-body {
    padding: 20px 20px 26px;
  }

  .bd9-rel-body h3 {
    font-size: 17px;
    line-height: 25px;
    min-height: 0;
  }

  .bd9-progress span {
    width: 34px;
    height: 6px;
  }

  /* ---- 服务页 10Service（移动端） ---- */
  .sv10-hero { height: 430px; }

  .sv10-hero-inner { padding: 170px 0 0 24px; }

  .sv10-title { font-size: 28px; line-height: 40px; }

  .sv10-sc { padding: 70px 0; }

  .sv10-grid { grid-template-columns: 1fr; margin-top: 40px; }

  .sv10-media img { height: 220px; }

  .sv10-grid .sv10-card .sv10-card-body { background: #fff; }

  .sv10-grid .sv10-card .sv10-num { background: #F1F1F1; }

  .sv10-mkt { padding-top: 70px; }

  .sv10-stat { position: relative; left: 0; top: auto; bottom: auto; margin: 22px 24px 0; }

  .sv10-stat-num { font-size: clamp(26px, 8.4vw, 40px); }

  .sv10-stat-num span { font-size: clamp(12px, 3.4vw, 16px); }

  .sv10-stat-rule { width: 200px; }

  .sv10-pin:nth-child(3) { top: calc(52.72% - 7px) !important; }

  .sv10-pin:nth-child(4) { top: calc(56.69% + 7px) !important; }

  .sv10-cta { height: 420px; padding-top: 100px; }

  .sv10-cta h2 { font-size: 22px; line-height: 36px; }

  .sv10-cta-btn { height: 54px; min-width: 160px; margin-top: 24px; }

  .sv10-feats { grid-template-columns: 1fr; margin-top: -40px; }

  .sv10-feat { height: 160px; padding-top: 20px; }

  .sv10-faq { padding: 80px 0; }

  .sv10-faq-item { padding: 0 24px; }

  .sv10-faq-q { min-height: 64px; padding: 10px 0; font-size: 15px; }

  .sv10-faq-a-body { padding: 16px 0 20px 0; }

  /* ---- 联系页 11Contact（移动端） ---- */
  .ct11-hero {
    height: 430px;
  }

  .ct11-title {
    padding-top: 130px;
    font-size: 32px;
    line-height: 44px;
  }

  .ct11-sub {
    margin-top: 22px;
    font-size: 13px;
  }

  .ct11-line {
    width: 34px;
  }

  .ct11-card {
    margin-top: -80px;
    padding: 32px 20px 40px;
    border-radius: 16px;
  }

  .ct11-grid {
    grid-template-columns: 1fr;
    row-gap: 24px;
  }

  .ct11-field label {
    margin-bottom: 8px;
  }

  .ct11-field input {
    height: 50px;
    padding: 0 16px;
  }

  .ct11-hint {
    margin-top: 32px;
  }

  .ct11-textarea {
    height: 170px;
    margin-top: 10px;
    padding: 14px 16px;
  }

  .ct11-submit {
    width: 100%;
    height: 54px;
    margin-top: 28px;
  }

  /* 咨询弹窗 */
  .consult-dialog {
    width: calc(100% - 28px);
    max-height: calc(100vh - 32px);
    padding: 46px 18px 34px;
    border-radius: 16px;
  }

  .consult-close {
    top: 10px;
    right: 10px;
    width: 34px;
    height: 34px;
  }

  .consult-dialog .ct11-grid {
    row-gap: 22px;
  }

  .ct11-contacts {
    padding-top: 64px;
  }

  .ct11-gst {
    font-size: 26px;
  }

  .ct11-gst-sub {
    margin-top: 14px;
    font-size: 13px;
  }

  .ct11-gst-line {
    margin-top: 24px;
  }

  .ct11-cards {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 32px;
  }

  .ct11-map {
    height: 280px;
    margin-top: 40px;
    font-size: 22px;
    letter-spacing: 4px;
  }

  .ct11-cta {
    padding: 32px 0;
  }

  .ct11-cta h2 {
    font-size: 20px;
  }

  .ct11-cta-form {
    height: 56px;
  }

  .ct11-cta-form input {
    padding-left: 20px;
    font-size: 13px;
  }

  .ct11-cta-form button {
    width: 104px;
    height: 42px;
    font-size: 13px;
  }

  /* ---- 光伏运维详情 7OM（移动端） ---- */
  .om7-title {
    font-size: 24px;
    line-height: 34px;
  }

  .om7-photo {
    height: 190px;
  }

  /* ---- 内页 Banner 统一组件（移动端） ---- */
  .page-hero {
    --ph-title: 28px;
    height: 430px;
  }

  .page-hero__inner {
    padding-bottom: 48px;
  }

  .page-hero__eyebrow {
    font-size: 13px;
    gap: 12px;
    margin-bottom: 12px;
  }

  .page-hero__eyebrow::after {
    width: 32px;
  }

  .page-hero__title {
    line-height: 1.35;
  }

  .page-hero--top .page-hero__inner {
    padding-top: 118px;
  }

  .page-hero--upper .page-hero__title {
    --ph-title: 30px;
    letter-spacing: .5px;
  }

  .page-hero__sub {
    margin-top: 18px;
    gap: 10px;
    font-size: 13px;
  }

  .page-hero__sub::before {
    width: 32px;
  }

  /* ---- 方案详情 · 技术要点（移动端） ---- */
  .tech-points {
    min-height: 0;
    padding: 56px 0;
  }

  .tp-title {
    padding-bottom: 26px;
    font-size: 26px;
  }

  .tp-list {
    margin-top: 34px;
  }

  .tp-list li {
    align-items: flex-start;
    gap: 12px;
    font-size: 14px;
    line-height: 1.6;
  }

  .tp-list li + li {
    margin-top: 16px;
  }

  .tp-ico {
    width: 22px;
    height: 22px;
    margin-top: 1px;
  }

  .tp-ico svg {
    width: 13px;
    height: 13px;
    stroke-width: 3;
  }

  /* ---- 手机 768 以下 ---- */
  /* ---- 1. 全局排版基线 ---- */
  html {
    -webkit-text-size-adjust: 100%;
  }

  .section {
    padding: 56px 0;
  }

  h1 {
    font-size: 30px;
    line-height: 1.3;
  }

  h2, .section-title {
    font-size: 24px;
    line-height: 1.34;
  }

  h3 {
    font-size: 19px;
    line-height: 1.4;
  }

  .mt-40 {
    margin-top: 24px;
  }

  .mt-90 {
    margin-top: 40px;
  }

  .section-projects {
    padding: 40px 0 40px;
  }

  .home-stats .stat-label {
    font-size: 13px;
    line-height: 1.2;
  }

  /* ---- 2. 触摸目标与表单 ---- */
  /* 输入框统一 16px：iOS Safari 对小于 16px 的输入框会在聚焦时自动放大整页 */
  input[type="text"], input[type="email"], input[type="tel"], input[type="search"], input[type="password"], input[type="number"], textarea, select {
    font-size: 16px;
  }

  .btn, .btn-quote, .btn-primary, .btn-hero, .btn-more {
    min-height: 44px;
  }

  .icon-btn {
    width: 40px;
    height: 40px;
  }

  .nav-toggle {
    width: 40px;
    height: 40px;
    padding: 8px;
    box-sizing: border-box;
  }

  /* 抽屉菜单里的菜单项恢复常规字号（1024 档为了横排把它压到了 13px） */
  .main-nav ul li a {
    font-size: 15px;
    white-space: normal;
  }

  /* ---- 3. 内页 Hero：图片上叠遮罩，保证标题对比度 ---- */
  .page-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(8, 16, 34, .42) 0%, rgba(8, 16, 34, .14) 38%, rgba(8, 16, 34, .58) 100%);
  }

  /* 深色文字的 Hero 反向用亮遮罩 */
  .page-hero--ink::after, .page-hero--navy::after {
    background: linear-gradient(180deg, rgba(255, 255, 255, .72) 0%, rgba(255, 255, 255, .44) 42%, rgba(255, 255, 255, .80) 100%);
  }

  .page-hero__inner {
    z-index: 2;
  }

  /* ---- 4. 首页 intro：pc.css 是 flex + 子元素绝对定位，窄屏必须还原成文档流 ---- */
  .home-intro {
    display: block;
  }

  .home-intro .intro-visual-left {
    position: static;
    width: 100%;
    transform: none;
  }

  .home-intro .section-title {
    font-size: 26px;
    line-height: 1.36;
  }

  .home-intro .section-desc {
    max-width: none;
    font-size: 15px;
  }

  .home-intro .intro-visual {
    width: 100%;
    margin-top: 28px;
    border-radius: 16px;
  }

  .home-stats .stat-num {
    font-size: 28px;
  }

  /* ---- 5. 项目详情：左右各 56px 的内边距在 390 宽下吃掉 112px，正文只剩 230px ---- */
  .pd-card {
    max-width: 100%;
    margin: 24px auto 40px;
    padding: 18px 16px 28px;
    border-radius: 14px;
  }

  .pd-topbar {
    flex-wrap: wrap;
    gap: 10px 12px;
    padding-bottom: 14px;
  }

  .pd-topbar .pd-cat {
    width: auto;
    font-size: 13px;
  }

  .pd-topbar .pd-date {
    flex: 1 1 100%;
    order: 3;
    text-align: left;
    font-size: 13px;
  }

  .pd-icons {
    margin-left: auto;
  }

  .pd-ico {
    width: 36px;
    height: 36px;
    font-size: 12px;
  }

  .pd-title {
    font-size: 22px;
    margin: 18px 0 16px;
  }

  .pd-subtitle {
    font-size: 19px;
  }

  /* ---- 6. 方案详情 ---- */
  .detail-head h1 {
    font-size: 28px;
  }

  .stype-head .section-title {
    font-size: 24px;
  }

  /* ---- 7. 项目列表筛选栏：4 个控件挤一行，改成 2×2 网格 ---- */
  .filter-bar {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    height: auto;
    padding: 0;
    background: #E7E7E7;
  }

  .filter-bar .filter-tab {
    flex: none;
    grid-column: 1 / -1;
    height: 48px;
    padding: 0;
    font-size: 13px;
  }

  .filter-bar .filter-dd {
    flex: none;
    min-width: 0;
    background: #fff;
  }

  .filter-bar .filter-dd + .filter-dd {
    border-left: 0;
  }

  .filter-bar .filter-dd-btn {
    width: 100%;
    height: 46px;
    padding: 0 12px;
    gap: 8px;
    font-size: 13px;
  }

  .filter-bar .filter-dd-menu {
    left: 0;
    min-width: 100%;
    max-width: calc(100vw - 36px);
  }

  .filter-bar .filter-dd-opt {
    padding: 10px 14px;
    font-size: 13px;
  }

  .filter-bar .filter-backtop {
    grid-column: 1 / -1;
    margin: 0;
    height: 44px;
    justify-content: center;
    background: #fff;
  }

  /* ---- 8. 关于我们 · 时间轴年份 ---- */
  .h-year span {
    font-size: 28px;
  }

  /* ---- 9. blog 精选卡：箭头绝对定位会压住摘要文字，底部留出安全区 ---- */
  .bl8-feat-body {
    padding: 26px 22px 96px;
  }

  .bl8-feat-body h2 {
    margin-top: 20px;
    font-size: 20px;
  }

  .bl8-feat-body p {
    margin-top: 16px;
    font-size: 14px;
  }

  .bl8-arrow-lg {
    right: 22px;
    bottom: 24px;
    width: 48px;
    height: 48px;
  }

  .bl8-arrow-lg img, .bl8-arrow-lg svg {
    width: 22px;
    height: 22px;
  }

  /* ---- 10. blog 详情面包屑：末项是整条长标题，限制为单行省略 ---- */
  .bd9-crumb {
    row-gap: 6px;
    gap: 2px;
  }

  .bd9-crumb .cur {
    flex: 1 1 100%;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* ---- 11. 服务页小标题 ---- */
  .sv10-h2 {
    font-size: 26px;
  }

  /* ---- 12. 页脚订阅表单 ---- */
  .cta-form {
    padding: 5px 5px 5px 16px;
    gap: 8px;
  }

  .cta-form input {
    height: 40px;
    font-size: 15px;
  }

  .cta-form button, .cta-form .btn {
    height: 40px;
    min-height: 40px;
    padding: 0 18px;
    font-size: 14px;
  }

  /* ---- 13. 首页 Hero：文字块原本垂直居中，窄屏下会压到图片里的深色山体/光伏板上 ---- */
  .hero-sky .slide-caption {
    align-items: flex-start;
    /* pc.css 的 margin-top:-45px 让标题顶到 y=47，被 68px 高的固定头部压住；
    窄屏改为贴着头部往下排 */
    margin-top: 0;
  }

  .hero-sky .slide-caption .container {
    padding-top: 96px;
  }

  /* 深色标题加浅色光晕、副标题改白色加深色投影：无论落在天空还是山体上都可读 */
  .hero-sky .hero-title {
    text-shadow: 0 2px 16px rgba(255, 255, 255, .6);
  }

  .hero-sky .hero-desc {
    color: #fff;
    text-shadow: 0 1px 10px rgba(6, 22, 48, .7);
  }

  /* ---- 14. 项目详情图集：缩略图条与左右按钮按窄屏收缩 ---- */
  .gal-nav {
    width: 34px;
    height: 62px;
  }

  .gal-nav svg {
    width: 15px;
    height: 15px;
  }

  .gal-thumbs-swiper .swiper-slide {
    width: calc((100% - 16px) / 3);
  }

  .gal-thumbs-swiper img {
    height: 62px;
  }

  /* ---- 15. 方案页选项卡：PC 是「图标在上、文字在下」的大留白竖排，窄屏改为图标左、文字右的行式 ---- */
  .sol-tabs {
    flex-direction: column;
    gap: 0;
    padding: 0;
    margin-bottom: 28px;
  }

  .sol-tab {
    flex-direction: row;
    align-items: center;
    gap: 14px;
    width: 100%;
    padding: 14px 2px;
    border-bottom: 1px solid #EDEDED;
  }

  .sol-tab:last-child {
    border-bottom: 0;
  }

  .sol-ico {
    flex: none;
    width: 44px;
    height: 44px;
    box-shadow: 0 0 0 5px #E3EAF4;
  }

  .sol-tab:hover .sol-ico {
    box-shadow: 0 0 0 5px #E3EAF4;
  }

  .sol-tab.active .sol-ico {
    box-shadow: 0 0 0 5px #BAD2FF;
  }

  .sol-tab .sol-name {
    font-size: 15px;
    line-height: 1.4;
    text-align: left;
  }

  /* ---- 16. blog 分类筛选：原本换行后居中，改为三等分一行 ---- */
  .bl8-tabs {
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 8px;
  }

  .bl8-tab {
    flex: 1 1 0;
    min-width: 0;
    justify-content: center;
    gap: 6px;
    height: 40px;
    padding: 0 6px;
    font-size: 12.5px;
    white-space: nowrap;
  }

  .feature-pair .feature-item {
    padding: 28px;
    gap: 20px;
  }

  .feature-pair .fi-ico {
    width: 44px;
    height: 44px;
  }

  .feature-pair .fi-text p {
    line-height: 1.5;
  }

  /* ---- 搜索结果页 Search 响应式 ---- */
  .sr-page .container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .sr-hero .page-hero__title br {
    display: none;
  }

  .sr-bar {
    gap: 12px;
  }

  .sr-tab {
    height: 42px;
    padding: 0 16px;
    font-size: 14px;
  }

  .sr-summary {
    margin-top: 22px;
    font-size: 14px;
  }

  .sr-pane {
    margin-top: 26px;
  }

  .sr-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }

  .sr-cat {
    padding: 0 12px 14px;
    font-size: 12px;
  }

  .sr-empty {
    padding: 46px 10px 50px;
  }

  .sr-empty h4 {
    margin-top: 18px;
    font-size: 17px;
  }

  .sr-empty p {
    font-size: 14px;
  }

  .sr-box .pagination {
    margin-top: 30px;
  }

  /* ---- ≤768：触控目标 + 可读性下限 ---- */
  .home-stats .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 18px;
  }

  .home-stats .stat-num {
    font-size: clamp(26px, 5.6vw, 40px);
  }

  .home-stats .container {
    padding: 44px 22px;
    /* 窄屏关掉 fixed 背景，避免移动端合成层抖动 */
    background-attachment: scroll;
  }

  .pd6-pill-blue {
    font-size: 12px;
  }

  .sr-num {
    min-width: 22px;
    height: 22px;
    font-size: 12px;
  }

  /* ① Header：去掉外层 40px 收缩，只保留 .container 的 18px padding，
         否则 logo 落在 38px、正文落在 18px，两者差一倍 */
  .site-header .container {
    max-width: 100%;
    padding-left: 18px;
    padding-right: 18px;
  }

  /* ② 定宽容器：48px / 60px 一律收到 36px（左右各 18px） */
  .bl8-wrap, .bd9-wrap, .ct11-wrap, .ct11-cta-wrap, .om7-wrap, .sv10-wrap {
    width: 100%;
    max-width: calc(100% - 36px);
  }

  /* ③ 首页 About：补回移动端失效的 75px 内缩（改成对称 padding） */
  .home-intro .intro-visual-left {
    padding-left: 18px;
    padding-right: 18px;
    box-sizing: border-box;
  }

  /* ④ 服务 / O&M hero：补齐缺失的右侧内边距，左 24 → 18 对齐基准 */
  .sv10-hero-inner {
    padding-left: 18px;
    padding-right: 18px;
  }

  /* 服务页 CTA 大图：整块 text-align:center 且没有横向 padding，
       长标题换行后会顶到屏幕两边 */
  .sv10-cta {
    padding-left: 18px;
    padding-right: 18px;
  }

  /* ⑤ About 发展历程：.container-h 在 pc.css / mobile.css 里都没有任何样式，
       是个纯空壳，里面的标题和时间轴全是满宽。这里补上容器行为。 */
  .container-h {
    width: 100%;
    max-width: 100%;
    padding: 0 18px;
    box-sizing: border-box;
  }

  .h-year-box {
    padding-left: 0;
  }

  .cert-wrap {
    padding-left: 18px;
    padding-right: 18px;
    box-sizing: border-box;
  }

  /* ⑥ 项目筛选条：白条是整宽背景（应继续出血），但里面的「Case Studies」标签
       和两个下拉按钮直接顶到 x=0，实测按钮文字落在 12px。补横向内边距，
       背景白条仍然满宽。 */
  .filter-bar {
    padding-left: 18px;
    padding-right: 18px;
    box-sizing: border-box;
  }
}

/**** @media (max-width: 480px) （由 5 处合并） ****/
@media (max-width: 480px) {
  /* ---- 小屏适配（480px 以下） ---- */
  .hero-title {
    font-size: 26px;
  }

  .section-title, h2 {
    font-size: 23px;
  }

  .btn {
    height: 42px;
    padding: 0 22px;
    font-size: 14px;
  }

  .use-product-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .market-stat {
    font-size: 42px;
  }

  .featured-post img, .news-feature .feature-img img {
    height: 220px;
  }

  .news-list .news-row {
    grid-template-columns: 100px 1fr;
    gap: 14px;
  }

  .news-list .news-row img {
    width: 100px;
    height: 74px;
  }

  /* ---- 关于我们（移动端） ---- */
  .page-head.about-hero {
    min-height: 360px;
  }

  .page-head.about-hero h1 {
    font-size: 28px;
  }

  .about-profile {
    padding-top: 70px;
  }

  .profile-title, .future-text h2, .history-title {
    font-size: 26px;
  }

  .about-future {
    margin-top: 70px;
    padding: 60px 0 70px;
  }

  .future-text {
    padding: 0 18px;
  }

  .history-bar .year-pill {
    padding: 10px 26px;
    font-size: 14px;
  }

  .cert-swiper {
    -webkit-mask-image: none;
    mask-image: none;
  }

  /* ---- 小屏 480 以下 ---- */
  h1 {
    font-size: 26px;
  }

  h2, .section-title {
    font-size: 21px;
  }

  .page-hero {
    --ph-title: 24px;
  }

  .page-hero--upper .page-hero__title {
    --ph-title: 25px;
  }

  .home-intro .section-title {
    font-size: 24px;
  }

  .pd-title {
    font-size: 20px;
  }

  .detail-head h1 {
    font-size: 25px;
  }

  /* ---- 窄屏手机：产品结果单列，tab 三等分铺满 （360 内容宽下三个 tab 必须… ---- */
  .sr-grid {
    grid-template-columns: 1fr;
  }

  .sr-grid .pd6-card-img {
    height: 236px;
  }

  .sr-bar {
    gap: 6px;
  }

  .sr-tab {
    flex: 1 1 0;
    justify-content: center;
    min-width: 0;
    height: 40px;
    padding: 0 6px;
    gap: 4px;
    font-size: 12px;
  }

  .sr-num {
    padding: 0 5px;
  }

  /* ---- 多终端适配补丁（1100 / 900 / 768 / 480） ---- */
  .scope6-card {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pd6-scope .scope6-pill {
    font-size: 12px;
    padding: 9px 10px;
    min-height: 40px;
  }
}

/**** @media (hover: none) （由 1 处合并） ****/
@media (hover: none) {
  /* ---- 触屏设备没有真正的 hover：点过的图集箭头会残留蓝色填充态，这里还原（桌面窄… ---- */
  .gal-nav:hover {
    background-size: 0% 100%;
    box-shadow: none;
    transform: none;
  }
}

/* ================= 语言切换下拉：移动端保持可见 ================= */
/* 上面 1024 / 768 断点把 .header-actions .icon-btn 整体隐藏了，
   这里用更高优先级把语言切换按钮单独放出来（搜索图标仍隐藏）。 */
@media (max-width: 1024px) {
  .header-actions .lang-switch,
  .header-actions .lang-switch .lang-ico {
    display: flex;
  }
}

@media (max-width: 768px) {
  .header-actions .lang-switch .lang-ico {
    height: 36px;
    padding: 0 9px;
    border-radius: 18px;
  }

  .header-actions .lang-switch .lang-ico svg {
    width: 21px;
    height: 21px;
  }

  .header-actions .lang-switch .lang-ico .lang-cur {
    font-size: 13px;
  }

  .lang-dropdown {
    min-width: 156px;
    right: -6px;
  }

  .lang-dropdown .lang-item {
    padding: 11px 10px;
    font-size: 15px;
  }
}

/* about 锚点定位偏移(避开固定头部) */
#profile, #history, #certs { scroll-margin-top: 64px; }

/* 首页项目卡整卡为 a 标签 */
.project-slide { display: block; color: inherit; text-decoration: none; }

/* 首页优势卡整卡为 a 标签(样式保持不变) */
.adv-swiper a.adv-card { text-decoration: none; color: inherit; cursor: pointer; }
