/* ============================================================
   Lumispot 集团官网 · 主样式表
   主题色：#0018A8
   ============================================================ */

/* ---------- 1. 变量与重置 ---------- */
:root{
  --primary:        #0018A8;
  --primary-dark:   #001279;
  --primary-light:  #2A44D6;
  --primary-soft:   #EEF1FE;
  --ink:            #0B1030;
  --text:           #3A4160;
  --text-light:     #6B7392;
  --gray:           #F4F6FB;
  --line:           #E4E8F4;
  --white:          #FFFFFF;
  --header-h:       78px;
  --topbar-h:       40px;
  --radius:         14px;
  --radius-sm:      10px;
  --shadow-md:      0 12px 36px rgba(0,24,168,.10);
  --shadow-lg:      0 24px 60px rgba(0,24,168,.16);
  --ease:           cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{ box-sizing: border-box; }

html{
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + var(--topbar-h));
  -webkit-text-size-adjust: 100%;
}

body{
  margin: 0;
  font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei",
               "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.75;
  color: var(--text);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

h1,h2,h3,h4,h5,h6,p,figure,ul,ol{ margin: 0; padding: 0; }
ul,ol{ list-style: none; }
a{
  color: inherit;
  text-decoration: none;
  transition: color .25s var(--ease), opacity .25s var(--ease);
}
img{ display: block; max-width: 100%; border: 0; }
button{
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  cursor: pointer;
}
em{ font-style: normal; }

::selection{ background: var(--primary); color: #fff; }
::-webkit-scrollbar{ width: 10px; height: 10px; }
::-webkit-scrollbar-track{ background: var(--gray); }
::-webkit-scrollbar-thumb{
  background: #B9C2E0;
  border-radius: 8px;
  border: 2px solid var(--gray);
}
::-webkit-scrollbar-thumb:hover{ background: var(--primary-light); }

/* ---------- 通用容器 ---------- */
.alex-container{
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}

.alex-icon{
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  object-fit: contain;
}

/* ---------- 按钮 ---------- */
.alex-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 52px;
  padding: 0 32px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .02em;
  white-space: nowrap;
  transition: all .3s var(--ease);
}

.alex-btn__icon{
  width: 16px;
  height: 16px;
  transition: transform .3s var(--ease);
}
.alex-btn:hover .alex-btn__icon{ transform: translateX(4px); }

.alex-btn--primary{
  background: var(--primary);
  color: #fff;
  box-shadow: 0 10px 26px rgba(0,24,168,.28);
}
.alex-btn--primary:hover{
  background: var(--primary-dark);
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(0,24,168,.34);
}

.alex-btn--ghost{
  background: transparent;
  color: var(--ink);
  border: 1.5px solid rgba(11,16,48,.18);
}
.alex-btn--ghost:hover{
  border-color: var(--primary);
  color: var(--primary);
  background: rgba(0,24,168,.04);
}

.alex-hero .alex-btn--primary{
  background: #fff;
  color: var(--primary);
  box-shadow: 0 10px 30px rgba(0,0,0,.22);
}
.alex-hero .alex-btn--primary:hover{
  background: #F0F3FF;
  box-shadow: 0 16px 38px rgba(0,0,0,.3);
}
.alex-hero .alex-btn--ghost{
  color: #fff;
  border-color: rgba(255,255,255,.5);
}
.alex-hero .alex-btn--ghost:hover{
  color: #fff;
  border-color: #fff;
  background: rgba(255,255,255,.12);
}

/* ============================================================
   头部（Top Bar + 导航）
   ============================================================ */
.alex-header{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
}

/* --- Top Bar --- */
.alex-topbar{
  height: var(--topbar-h);
  background: rgba(5,10,36,.3);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  overflow: hidden;
  transition: height .35s var(--ease), opacity .3s var(--ease);
}

.alex-header.alex-is-scrolled .alex-topbar{
  height: 0;
  opacity: 0;
}

.alex-topbar__inner{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: var(--topbar-h);
}

.alex-topbar__list{
  display: flex;
  align-items: center;
  gap: 28px;
}

.alex-topbar__list li{
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: rgba(255,255,255,.78);
  white-space: nowrap;
}

.alex-topbar__list .alex-icon{
  width: 22px;
  height: 22px;
  filter: brightness(0) invert(1);
  opacity: .7;
}

.alex-topbar__list a{
  color: rgba(255,255,255,.78);
}
.alex-topbar__list a:hover{ color: #fff; }

/* --- 导航条 --- */
.alex-header__bar{
  height: var(--header-h);
  transition: background .35s var(--ease), box-shadow .35s var(--ease);
}

.alex-header__inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  height: 100%;
}

.alex-logo{
  position: relative;
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  height: 40px;
}
.alex-logo__img{
  height: 36px;
  width: auto;
  transition: opacity .3s var(--ease);
}
.alex-logo__img--dark{
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
.alex-header:not(.alex-is-scrolled) .alex-logo__img--white{ opacity: 1; }
.alex-header:not(.alex-is-scrolled) .alex-logo__img--dark{ opacity: 0; }
.alex-header.alex-is-scrolled .alex-logo__img--white{ opacity: 0; }
.alex-header.alex-is-scrolled .alex-logo__img--dark{ opacity: 1; }

/* --- 主导航 --- */
.alex-nav{
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
}
.alex-nav__list{
  display: flex;
  align-items: center;
  gap: 4px;
}
.alex-nav__item{ position: relative; }
.alex-nav__link{
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 10px 16px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 700;
  color: rgba(255,255,255,.88);
  white-space: nowrap;
}
.alex-nav__link:hover,
.alex-nav__link.alex-is-active{ color: #fff; }

.alex-nav__chev{
  width: 12px;
  height: 12px;
  opacity: .7;
  transition: transform .3s var(--ease);
}
.alex-nav__item:hover .alex-nav__chev{ transform: rotate(180deg); }

.alex-header.alex-is-scrolled .alex-nav__link{ color: var(--text); }
.alex-header.alex-is-scrolled .alex-nav__link:hover,
.alex-header.alex-is-scrolled .alex-nav__link.alex-is-active{
  color: var(--primary);
}

/* --- 二级下拉菜单 --- */
.alex-nav__sub{
  position: absolute;
  left: 50%;
  transform: translate(-50%, 8px);
  min-width: 190px;
  padding: 0px 10px;
  border-radius: var(--radius-sm);
  background: #fff;
  box-shadow: var(--shadow-lg);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all .28s var(--ease);
}
.alex-nav__sub::before{
  content: "";
  position: absolute;
  top: -6px;
  left: 50%;
  width: 12px;
  height: 12px;
  margin-left: -6px;
  background: #fff;
  transform: rotate(45deg);
  border-radius: 2px;
}
.alex-nav__item:hover .alex-nav__sub{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}
.alex-nav__sub li + li{ margin-top: 2px; }
.alex-nav__sub a{
  display: block;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 14px;
  color: var(--text);
}
.alex-nav__sub a:hover{
  background: var(--primary-soft);
  color: var(--primary);
}

.alex-nav__close{ display: none; }
.alex-nav__mobile-subs{ display: none; }
.alex-nav__contact{ display: none; }

/* --- 右侧 --- */
.alex-header__right{
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
}

.alex-header__sub-wrap{ position: relative; }

.alex-header__subsidiary{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 42px;
  padding: 0 20px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  color: #fff;
  border: 1.5px solid rgba(255,255,255,.45);
  transition: all .3s var(--ease);
}
.alex-header__subsidiary .alex-icon{
  width: 15px;
  height: 15px;
  filter: brightness(0) invert(1);
  transition: filter .3s var(--ease);
}
.alex-header__sub-chev{
  width: 12px;
  height: 12px;
  opacity: .75;
  filter: brightness(0) invert(1);
  transition: transform .3s var(--ease), filter .3s var(--ease), opacity .3s var(--ease);
}
.alex-header__sub-wrap.alex-is-open .alex-header__sub-chev{ transform: rotate(180deg); }

.alex-header__subsidiary:hover{
  background: #fff;
  color: var(--primary);
  border-color: #fff;
}
.alex-header__subsidiary:hover .alex-icon{ filter: none; }
.alex-header__subsidiary:hover .alex-header__sub-chev{ filter: none; opacity: .6; }

.alex-header.alex-is-scrolled .alex-header__subsidiary{
  color: var(--primary);
  border-color: rgba(0,24,168,.28);
  background: var(--primary-soft);
}
.alex-header.alex-is-scrolled .alex-header__subsidiary .alex-icon{ filter: none; }
.alex-header.alex-is-scrolled .alex-header__sub-chev{ filter: none; opacity: .5; }
.alex-header.alex-is-scrolled .alex-header__subsidiary:hover{
  background: var(--primary);
  color: #fff;
  border-color: var(--primary);
}
.alex-header.alex-is-scrolled .alex-header__subsidiary:hover .alex-icon,
.alex-header.alex-is-scrolled .alex-header__subsidiary:hover .alex-header__sub-chev{
  filter: brightness(0) invert(1);
  opacity: .9;
}

.alex-header__sub-menu{
  position: absolute;
  top: calc(100% + 14px);
  right: 0;
  z-index: 20;
  width: 300px;
  padding: 8px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 24px 60px rgba(11,16,48,.18);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  pointer-events: none;
  transition: all .3s var(--ease);
}
.alex-header__sub-menu::before{
  content: "";
  position: absolute;
  top: -6px;
  right: 28px;
  width: 12px;
  height: 12px;
  background: #fff;
  transform: rotate(45deg);
  border-radius: 2px;
}
.alex-header__sub-wrap.alex-is-open .alex-header__sub-menu{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.alex-header__sub-item{
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 10px;
  transition: background .25s var(--ease);
}
.alex-header__sub-item + .alex-header__sub-item{
  margin-top: 4px;
  border-top: 1px solid var(--line);
  padding-top: 16px;
}
.alex-header__sub-item:hover{ background: var(--primary-soft); }

.alex-header__sub-item-icon{
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  object-fit: contain;
}
.alex-header__sub-item-text{
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.alex-header__sub-item-text strong{
  font-size: 14.5px;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.alex-header__sub-item-text em{
  font-size: 12.5px;
  color: var(--text-light);
  line-height: 1.4;
}
.alex-header__sub-item:hover strong{ color: var(--primary); }

.alex-header.alex-is-scrolled .alex-header__bar{
  background: rgba(255,255,255,.94);
  backdrop-filter: saturate(180%) blur(14px);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  box-shadow: 0 2px 20px rgba(11,16,48,.08);
}

.alex-nav-toggle{
  display: none;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
}
.alex-nav-toggle img{
  width: 22px;
  height: 22px;
  filter: brightness(0) invert(1);
}
.alex-header.alex-is-scrolled .alex-nav-toggle img{ filter: none; }

.alex-nav-mask{
  position: fixed;
  inset: 0;
  z-index: 998;
  background: rgba(5,10,36,.5);
  opacity: 0;
  visibility: hidden;
  transition: all .3s var(--ease);
}
.alex-nav-mask.alex-is-open{ opacity: 1; visibility: visible; }

/* ============================================================
   首屏 Hero（轮播 · 居中）
   ============================================================ */
.alex-hero{
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 620px;
  padding: calc(var(--header-h) + var(--topbar-h) + 60px) 0 60px;
  overflow: hidden;
  background: #06103A;
  color: #fff;
}

.alex-hero__slider{
  position: absolute;
  inset: 0;
  z-index: 1;
}
.alex-hero__slide{
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s var(--ease), visibility 1s var(--ease);
}
.alex-hero__slide.alex-is-active{
  opacity: 1;
  visibility: visible;
}
.alex-hero__bg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.08);
  transition: transform 6s linear;
}
.alex-hero__slide.alex-is-active .alex-hero__bg{ transform: scale(1); }

.alex-hero__mask{
  position: absolute;
  inset: 0;
  background:
    linear-gradient(100deg,
      rgba(2,10,45,.6) 0%,
      rgba(0,24,168,.6) 42%,
      rgba(0,24,168,.6) 72%,
      rgba(2,10,45,.6) 100%);
}

/* --- 内容层（居中） --- */
.alex-hero__inner{
  position: relative;
  z-index: 3;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 0;
  gap: 56px;
}

.alex-hero__content-box{
  display: grid;
  align-items: center;
  justify-items: center;
  width: 100%;
  flex: 0 0 auto;
}

.alex-hero__content{
  grid-area: 1 / 1;
  width: 100%;
  max-width: 900px;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity .7s var(--ease), visibility .7s var(--ease);
}
.alex-hero__content.alex-is-active{
  opacity: 1;
  visibility: visible;
}

.alex-hero__content > *{
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .8s var(--ease), transform .8s var(--ease);
}
.alex-hero__content.alex-is-active > *{
  opacity: 1;
  transform: translateY(0);
}
.alex-hero__content.alex-is-active > *:nth-child(1){ transition-delay: .15s; }
.alex-hero__content.alex-is-active > *:nth-child(2){ transition-delay: .25s; }
.alex-hero__content.alex-is-active > *:nth-child(3){ transition-delay: .35s; }
.alex-hero__content.alex-is-active > *:nth-child(4){ transition-delay: .45s; }

.alex-hero__eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 8px 18px 8px 14px;
  margin-bottom: 28px;
  border-radius: 999px;
  font-size: 13.5px;
  font-weight: 500;
  letter-spacing: .04em;
  color: #D6DEFF;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(6px);
}
.alex-hero__eyebrow .alex-icon{
  width: 16px;
  height: 16px;
  filter: brightness(0) invert(1);
}

.alex-hero__title{
  font-size: clamp(36px, 5vw, 64px);
  line-height: 1.18;
  font-weight: 800;
  letter-spacing: .01em;
  color: #fff;
  text-shadow: 0 4px 30px rgba(0,0,0,.3);
}

.alex-hero__desc{
  max-width: 720px;
  margin: 24px auto 0;
  font-size: 17px;
  line-height: 1.9;
  color: rgba(255,255,255,.82);
}

.alex-hero__actions{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  margin-top: 38px;
}

.alex-hero__dots{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  padding: 0;
}
.alex-hero__dot{
  width: 10px;
  height: 10px;
  padding: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.35);
  transition: all .35s var(--ease);
}
.alex-hero__dot:hover{ background: rgba(255,255,255,.65); }
.alex-hero__dot.alex-is-active{
  width: 32px;
  background: #fff;
}

.alex-hero__arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.32);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: all .3s var(--ease);
}
.alex-hero__arrow--prev{ left: 32px; }
.alex-hero__arrow--next{ right: 32px; }
.alex-hero__arrow img{
  width: 20px;
  height: 20px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  transition: filter .3s var(--ease);
}
.alex-hero__arrow:hover{
  background: #fff;
  border-color: #fff;
}
.alex-hero__arrow:hover img{ filter: none; }

/* ============================================================
   通用区块标题
   ============================================================ */
.alex-section{
  position: relative;
  padding: 110px 0;
}
.alex-section--gray{ background: var(--gray); }

.alex-section__eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--primary);
}
.alex-section__eyebrow::before{
  content: "";
  width: 22px;
  height: 2px;
  border-radius: 2px;
  background: var(--primary);
}
.alex-section__title{
  font-size: clamp(28px, 2vw, 42px);
  line-height: 1.32;
  font-weight: 800;
  letter-spacing: .005em;
  color: var(--ink);
}
.alex-section__lead{
  max-width: 620px;
  margin-top: 18px;
  font-size: 16px;
  color: var(--text-light);
}
.alex-section__head{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 56px;
}
.alex-section__head-left{ max-width: 720px; }
.alex-section__more{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  padding-bottom: 4px;
  font-size: 15px;
  font-weight: 600;
  color: var(--primary);
}
.alex-section__more img{
  width: 16px;
  height: 16px;
  transition: transform .3s var(--ease);
}
.alex-section__more:hover img{ transform: translateX(5px); }

/* ============================================================
   集团简介
   ============================================================ */
.alex-about__inner{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.alex-about__text .alex-section__title{ margin-bottom: 28px; }
.alex-about__desc{
  font-size: 16px;
  line-height: 1.95;
  color: var(--text);
}
.alex-about__desc + .alex-about__desc{
  margin-top: 18px;
  color: var(--text-light);
}
.alex-about__text .alex-btn{ margin-top: 40px; }
.alex-about__media{ position: relative; }
.alex-about__media > img{
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
}

/* ======核心技术===== */
.alex-tech__grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px;
}
.alex-tech-card{
  position: relative;
  padding: 42px 30px 36px;
  border-radius: var(--radius);
  background: #fff;
  border: 1px solid var(--line);
  overflow: hidden;
  transition: all .4s var(--ease);
}
.alex-tech-card::after{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 3px;
  background: var(--primary);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .45s var(--ease);
}
.alex-tech-card:hover{
  transform: translateY(-8px);
  border-color: transparent;
  box-shadow: var(--shadow-md);
}
.alex-tech-card:hover::after{ transform: scaleX(1); }

.alex-tech-card__no{
  position: absolute;
  top: 22px;
  right: 26px;
  font-size: 42px;
  font-weight: 800;
  line-height: 1;
  color: rgba(0,24,168,.07);
  font-variant-numeric: tabular-nums;
  transition: color .4s var(--ease);
}
.alex-tech-card:hover .alex-tech-card__no{ color: rgba(0,24,168,.12); }

.alex-tech-card__icon{
  width: 52px;
  height: 52px;
  object-fit: contain;
  margin-bottom: 26px;
  transition: transform .4s var(--ease);
}
.alex-tech-card:hover .alex-tech-card__icon{ transform: scale(1.08); }

.alex-tech-card__title{
  font-size: 19px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 14px;
}
.alex-tech-card__desc{
  font-size: 14.5px;
  line-height: 1.85;
  color: var(--text-light);
}

/* ======集团数据一览====== */
.alex-stats{
  position: relative;
  padding: 82px 0 60px;
  background: var(--primary);
  color: #fff;
  overflow: hidden;
}
.alex-stats::before,
.alex-stats::after{
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.alex-stats::before{
  width: 420px;
  height: 420px;
  top: -180px;
  left: -120px;
  background: radial-gradient(circle, rgba(255,255,255,.13) 0%, rgba(255,255,255,0) 70%);
}
.alex-stats::after{
  width: 520px;
  height: 520px;
  bottom: -260px;
  right: -140px;
  background: radial-gradient(circle, rgba(255,255,255,.10) 0%, rgba(255,255,255,0) 70%);
}
.alex-stats__grid{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
}
.alex-stats__item{
  position: relative;
  text-align: center;
  padding: 8px 12px;
}
.alex-stats__item::after{
  content: "";
  position: absolute;
  right: -12px;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 54px;
  background: rgba(255,255,255,.18);
}
.alex-stats__item:last-child::after{ display: none; }

.alex-stats__num{
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 2px;
  font-size: clamp(32px, 3.6vw, 46px);
  font-weight: 800;
  line-height: 1.1;
  color: #fff;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.01em;
}
.alex-stats__num em{
  font-size: .48em;
  font-weight: 700;
  color: #9DB0FF;
  margin-left: 2px;
}
.alex-stats__pre{
  font-size: .55em;
  font-weight: 600;
  color: #9DB0FF;
  margin-right: 4px;
}
.alex-stats__label{
  margin-top: 12px;
  font-size: 14px;
  letter-spacing: .04em;
  color: rgba(255,255,255,.68);
}
.alex-stats__note{
  position: relative;
  z-index: 1;
  margin-top: 44px;
  text-align: center;
  font-size: 12.5px;
  color: rgba(255,255,255,.42);
}

/* ============================================================
   应用领域
   ============================================================ */
.alex-field__tabs{
  display: inline-flex;
  gap: 6px;
  padding: 6px;
  margin-bottom: 48px;
  border-radius: 999px;
  background: var(--gray);
}
.alex-field__tab{
  padding: 12px 30px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 600;
  color: var(--text-light);
  transition: all .3s var(--ease);
}
.alex-field__tab:hover{ color: var(--primary); }
.alex-field__tab.alex-is-active{
  background: var(--primary);
  color: #fff;
  box-shadow: 0 8px 20px rgba(0,24,168,.24);
}
.alex-field__panel{ display: none; }
.alex-field__panel.alex-is-active{
  display: block;
  animation: alexFadeUp .45s var(--ease) both;
}
@keyframes alexFadeUp{
  from{ opacity: 0; transform: translateY(14px); }
  to  { opacity: 1; transform: translateY(0); }
}
.alex-field__grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(176px, 1fr));
  gap: 20px;
}
.alex-field-item{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 38px 16px;
  border-radius: var(--radius-sm);
  background: #fff;
  border: 1px solid var(--line);
  text-align: center;
  transition: all .35s var(--ease);
}
.alex-field-item:hover{
  transform: translateY(-6px);
  border-color: transparent;
  box-shadow: var(--shadow-md);
}
.alex-field-item img{
  width: 44px;
  height: 44px;
  object-fit: contain;
  transition: transform .35s var(--ease);
}
.alex-field-item:hover img{ transform: scale(1.1); }
.alex-field-item span{
  font-size: 15px;
  font-weight: 600;
  color: var(--ink);
}

/* ============================================================
   企业文化
   ============================================================ */
.alex-culture__grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.alex-culture-card{
  position: relative;
  padding: 46px 40px;
  border-radius: var(--radius);
  background: var(--gray);
  border: 1px solid var(--line);
  transition: all .4s var(--ease);
}
.alex-culture-card:hover{
  background: #fff;
  border-color: transparent;
  box-shadow: var(--shadow-md);
  transform: translateY(-6px);
}
.alex-culture-card__label{
  display: inline-block;
  margin-bottom: 20px;
  padding: 5px 14px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .1em;
  color: var(--primary);
  background: rgba(0,24,168,.08);
}
.alex-culture-card__main{
  font-size: 22px;
  font-weight: 800;
  line-height: 1.55;
  color: var(--ink);
}
.alex-culture-card__desc{
  margin-top: 18px;
  font-size: 14.5px;
  line-height: 1.9;
  color: var(--text-light);
}
.alex-culture-card__values{
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.alex-culture-card__values li{
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 16px;
  font-weight: 600;
  color: var(--ink);
}
.alex-culture-card__values img{
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  object-fit: contain;
}

/* ============================================================
   新闻与动态
   ============================================================ */
.alex-news__grid{
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 32px;
  align-items: stretch;
}
.alex-news-feature{
  position: relative;
  display: block;
  border-radius: var(--radius);
  overflow: hidden;
  min-height: 460px;
  background: #0B1030;
}
.alex-news-feature__img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s var(--ease);
}
.alex-news-feature:hover .alex-news-feature__img{ transform: scale(1.06); }
.alex-news-feature__mask{
  position: absolute;
  inset: 0;
  background: linear-gradient(to top,
    rgba(3,8,32,.94) 6%,
    rgba(3,8,32,.66) 40%,
    rgba(3,8,32,.14) 78%);
}
.alex-news-feature__body{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 40px;
  color: #fff;
}
.alex-news-feature__tag{
  display: inline-block;
  padding: 5px 14px;
  margin-bottom: 18px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .04em;
  color: #fff;
  background: var(--primary);
}
.alex-news-feature__title{
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.5;
  font-weight: 700;
  color: #fff;
  transition: color .3s var(--ease);
}
.alex-news-feature:hover .alex-news-feature__title{ color: #C9D4FF; }
.alex-news-feature__meta{
  margin-top: 16px;
  font-size: 13.5px;
  color: rgba(255,255,255,.6);
}

.alex-news-list{
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px;
  border-radius: var(--radius);
  background: #fff;
  border: 1px solid var(--line);
}
.alex-news-item{
  display: flex;
  align-items: flex-start;
  gap: 22px;
  padding: 24px 22px;
  border-radius: var(--radius-sm);
  transition: all .3s var(--ease);
}
.alex-news-item + .alex-news-item{ border-top: 1px solid var(--line); }
.alex-news-item:hover{
  background: var(--primary-soft);
  border-top-color: transparent;
}
.alex-news-item__date{
  flex: 0 0 auto;
  width: 62px;
  text-align: center;
  padding-top: 2px;
}
.alex-news-item__date strong{
  display: block;
  font-size: 27px;
  font-weight: 800;
  line-height: 1.1;
  color: var(--primary);
  font-variant-numeric: tabular-nums;
}
.alex-news-item__date span{
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: var(--text-light);
  letter-spacing: .02em;
}
.alex-news-item__main{ flex: 1; min-width: 0; }
.alex-news-item__title{
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  color: var(--ink);
  transition: color .3s var(--ease);
}
.alex-news-item:hover .alex-news-item__title{ color: var(--primary); }
.alex-news-item__desc{
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.8;
  color: var(--text-light);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ============================================================
   页脚
   ============================================================ */
.alex-footer{
  padding: 84px 0 0;
  background: #050A24;
  color: rgba(255,255,255,.68);
}
.alex-footer__top{
  display: grid;
  grid-template-columns: 1.5fr 1fr 1.4fr 1.4fr;
  gap: 48px;
  padding-bottom: 64px;
}

.alex-footer__logo{
  height: 36px;
  width: auto;
}
.alex-footer__slogan{
  margin-top: 20px;
  font-size: 15px;
  letter-spacing: .06em;
  color: rgba(255,255,255,.56);
}
.alex-footer__sub-link{
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 26px;
  padding: 10px 20px;
  border-radius: 999px;
  font-size: 13.5px;
  font-weight: 600;
  color: #fff;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  transition: all .3s var(--ease);
}
.alex-footer__sub-link .alex-icon{
  filter: brightness(0) invert(1);
  opacity: .85;
}
.alex-footer__sub-link:hover{
  background: var(--primary);
  border-color: var(--primary);
}

.alex-footer__title{
  margin-bottom: 24px;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  letter-spacing: .04em;
}

.alex-footer__list{
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.alex-footer__list li{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14.5px;
  line-height: 1.6;
}
.alex-footer__list a{ color: rgba(255,255,255,.68); }
.alex-footer__list a:hover{ color: #fff; }

.alex-footer__list .alex-icon{
  width: 20px;
  height: 20px;
  filter: brightness(0) invert(1);
  opacity: .55;
  margin-top: 4px;
}

.alex-footer__social{
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.alex-footer__social-link{
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  transition: all .3s var(--ease);
}
.alex-footer__social-link img{
  width: 18px;
  height: 18px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: .75;
  transition: opacity .3s var(--ease);
}
.alex-footer__social-link:hover{
  background: var(--primary);
  border-color: var(--primary);
  transform: translateY(-3px);
}
.alex-footer__social-link:hover img{ opacity: 1; }

.alex-footer__qrcodes{
  display: flex;
  gap: 18px;
  margin-top: 22px;
}
.alex-footer__qrcode{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.alex-footer__qrcode img{
  width: 88px;
  height: 88px;
  padding: 6px;
  background: #fff;
  border-radius: 8px;
  object-fit: contain;
}
.alex-footer__qrcode span{
  font-size: 12px;
  color: rgba(255,255,255,.55);
  line-height: 1;
}

.alex-footer__bottom{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 26px 0;
  border-top: 1px solid rgba(255,255,255,.09);
  font-size: 13.5px;
  color: rgba(255,255,255,.42);
}
.alex-footer__bottom a{ color: rgba(255,255,255,.42); }
.alex-footer__bottom a:hover{ color: #fff; }

/* ============================================================
   返回页首按钮
   ============================================================ */
.alex-back-top{
  position: fixed;
  right: 32px;
  bottom: 32px;
  z-index: 900;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 52px;
  height: 52px;
  border-radius: 50%;

  background: var(--primary);
  color: #fff;
  box-shadow: 0 10px 26px rgba(0,24,168,.32);

  opacity: 0;
  visibility: hidden;
  transform: translateY(16px);

  transition:
    opacity .35s var(--ease),
    visibility .35s var(--ease),
    transform .35s var(--ease),
    background .3s var(--ease),
    box-shadow .3s var(--ease);
}

/* 显示状态 */
.alex-back-top.alex-is-visible{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* 悬停 */
.alex-back-top:hover{
  background: var(--primary-dark);
  transform: translateY(-4px);
  box-shadow: 0 16px 34px rgba(0,24,168,.4);
}

.alex-back-top:active{
  transform: translateY(-2px);
}

/* 图标 */
.alex-back-top img{
  width: 20px;
  height: 20px;
  object-fit: contain;
  /* 若图标本身已是白色，可删除下面这行 */
  filter: brightness(0) invert(1);
  transition: transform .3s var(--ease);
}

.alex-back-top:hover img{
  transform: translateY(-2px);
}

/* 键盘聚焦 */
.alex-back-top:focus-visible{
  outline: 3px solid rgba(0,24,168,.35);
  outline-offset: 3px;
}


/* ---------- 响应式 ---------- */

/* 平板及以下：略微缩小并贴近边缘 */
@media (max-width: 1024px){
  .alex-back-top{
    right: 24px;
    bottom: 24px;
    width: 48px;
    height: 48px;
  }

  .alex-back-top img{
    width: 18px;
    height: 18px;
  }
}

/* 手机端：进一步缩小，避免遮挡内容 */
@media (max-width: 768px){
  .alex-back-top{
    right: 18px;
    bottom: 18px;
    width: 44px;
    height: 44px;
  }

  .alex-back-top img{
    width: 17px;
    height: 17px;
  }
}

/* 降低动效偏好 */
@media (prefers-reduced-motion: reduce){
  .alex-back-top,
  .alex-back-top img{
    transition-duration: .01ms !important;
  }

  html{
    scroll-behavior: auto;
  }
}

/* ============================================================
   响应式
   ============================================================ */

@media (max-width: 1280px){
  .alex-container{ padding: 0 28px; }
  .alex-hero__arrow--prev{ left: 20px; }
  .alex-hero__arrow--next{ right: 20px; }

  .alex-about__inner{ gap: 56px; }
  .alex-tech__grid{ grid-template-columns: repeat(2, 1fr); }
  .alex-sub-card__body{ padding: 32px 32px 34px; }

  .alex-footer__top{
    grid-template-columns: 1.5fr 1fr 1.4fr;
    gap: 40px;
  }
  .alex-footer__col:last-child{ grid-column: 1 / -1; }
}

@media (max-width: 1024px){
  :root{ --header-h: 68px; --topbar-h: 36px; }

  .alex-nav-toggle{ display: flex; }
  .alex-header__sub-wrap{ display: none; }

  /* 抽屉导航 */
  .alex-nav{
    position: fixed;
    top: 0;
    right: 0;
    z-index: 999;
    width: 340px;
    max-width: 90vw;
    height: 100vh;
    padding: 92px 28px 40px;
    background: #fff;
    box-shadow: -12px 0 40px rgba(11,16,48,.16);
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform .38s var(--ease);
    display: block;
    justify-content: flex-start;
  }
  .alex-nav.alex-is-open{ transform: translateX(0); }

  .alex-nav__close{
    display: flex;
    position: absolute;
    top: 22px;
    right: 22px;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--primary-soft);
    transition: all .3s var(--ease);
  }
  .alex-nav__close img{
    width: 16px;
    height: 16px;
    object-fit: contain;
  }
  .alex-nav__close:hover{ background: var(--primary); }
  .alex-nav__close:hover img{ filter: brightness(0) invert(1); }

  .alex-nav__list{
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .alex-nav__item{ border-bottom: 1px solid var(--line); }
  .alex-nav__link{
    justify-content: space-between;
    padding: 18px 4px;
    border-radius: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--ink);
  }
  .alex-header.alex-is-scrolled .alex-nav__link{ color: var(--ink); }
  .alex-nav__link:hover,
  .alex-nav__link.alex-is-active,
  .alex-header.alex-is-scrolled .alex-nav__link:hover,
  .alex-header.alex-is-scrolled .alex-nav__link.alex-is-active{
    color: var(--primary);
  }

  .alex-nav__sub{
    position: static;
    transform: none;
    min-width: 0;
    padding: 0 0 12px;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    box-shadow: none;
    background: transparent;
    display: none;
  }
  .alex-nav__sub::before{ display: none; }
  .alex-nav__item.alex-is-expanded .alex-nav__sub{ display: block; }
  .alex-nav__item.alex-is-expanded .alex-nav__chev{ transform: rotate(180deg); }
  .alex-nav__sub a{
    padding: 11px 4px 11px 16px;
    font-size: 14.5px;
    color: var(--text-light);
  }
  .alex-nav__sub a:hover{ background: transparent; color: var(--primary); }

  .alex-nav__mobile-subs{
    display: block;
    margin-top: 30px;
    padding-top: 26px;
    border-top: 1px solid var(--line);
  }
  .alex-nav__mobile-subs-title{
    margin-bottom: 14px;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--text-light);
  }
  .alex-nav__mobile-sub{
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 14px 18px;
    margin-bottom: 10px;
    border-radius: 12px;
    font-size: 14.5px;
    font-weight: 600;
    color: var(--primary);
    background: var(--primary-soft);
    transition: all .3s var(--ease);
  }
  .alex-nav__mobile-sub:last-child{ margin-bottom: 0; }
  .alex-nav__mobile-sub .alex-icon{ width: 16px; height: 16px; }
  .alex-nav__mobile-sub:hover{
    background: var(--primary);
    color: #fff;
  }
  .alex-nav__mobile-sub:hover .alex-icon{ filter: brightness(0) invert(1); }

  /* 移动端抽屉内的联系信息 */
  .alex-nav__contact{
    display: block;
    margin-top: 26px;
    padding-top: 24px;
    border-top: 1px solid var(--line);
  }
  .alex-nav__contact-title{
    margin-bottom: 16px;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--text-light);
  }
  .alex-nav__contact-list{
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .alex-nav__contact-list li{
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    line-height: 1.6;
    color: var(--text);
  }
  .alex-nav__contact-list .alex-icon{
    width: 16px;
    height: 16px;
    margin-top: 3px;
    opacity: .55;
  }
  .alex-nav__contact-list a{
    color: var(--text);
  }
  .alex-nav__contact-list a:hover{ color: var(--primary); }

  .alex-header.alex-is-scrolled .alex-nav-toggle img{ filter: none; }

  /* 首屏 */
  .alex-hero{ min-height: 580px; }
  .alex-hero__arrow{ display: none; }

  /* 区块 */
  .alex-section{ padding: 84px 0; }
  .alex-about__inner{
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .alex-about__media{ order: -1; }
  .alex-about__badge{ left: 20px; bottom: -20px; }

  .alex-subsidiary__grid{ grid-template-columns: 1fr; }
  .alex-stats__grid{
    grid-template-columns: repeat(3, 1fr);
    gap: 36px 20px;
  }
  .alex-stats__item:nth-child(3)::after{ display: none; }

  .alex-news__grid{ grid-template-columns: 1fr; }
  .alex-news-feature{ min-height: 380px; }
  .alex-culture__grid{ grid-template-columns: 1fr; }

  .alex-footer__top{
    grid-template-columns: 1fr 1fr;
    gap: 40px 32px;
  }
  .alex-footer__brand{ grid-column: 1 / -1; }
  .alex-footer__col:last-child{ grid-column: 1 / -1; }
}

@media (max-width: 768px){
  :root{ --topbar-h: 0px; }

  .alex-container{ padding: 0 20px; }
  body{ font-size: 15px; }

  /* 小屏隐藏 Top Bar */
  .alex-topbar{ display: none; }

  /* 首屏移动端 */
  .alex-hero{
    min-height: auto;
    padding: calc(var(--header-h) + 56px) 0 56px;
  }
  .alex-hero__inner{ gap: 40px; }
  .alex-hero__title{ font-size: 30px; }
  .alex-hero__desc{ font-size: 15px; margin-top: 18px; }
  .alex-hero__actions{ margin-top: 30px; gap: 12px; }
  .alex-btn{ height: 48px; padding: 0 24px; font-size: 14.5px; }

  /* 通用区块 */
  .alex-section{ padding: 64px 0; }
  .alex-section__head{
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 40px;
  }
  .alex-section__title{ font-size: 26px; }

  .alex-tech__grid{ grid-template-columns: 1fr; gap: 18px; }
  .alex-tech-card{ padding: 34px 26px 30px; }
  .alex-tech-card__no{ font-size: 34px; top: 18px; right: 20px; }
  .alex-tech-card__icon{ width: 44px; height: 44px; margin-bottom: 20px; }

  .alex-about__badge{
    left: 16px;
    right: 16px;
    bottom: -24px;
    padding: 16px 20px;
  }
  .alex-about__text .alex-btn{ margin-top: 32px; }

  .alex-sub-card__body{ padding: 26px 22px 28px; }
  .alex-sub-card__name{ font-size: 19px; }
  .alex-branch-card{ padding: 32px 24px; }
  .alex-branch-card__list{ grid-template-columns: 1fr 1fr; gap: 10px; }

  .alex-stats{ padding: 60px 0 44px; }
  .alex-stats__grid{
    grid-template-columns: repeat(2, 1fr);
    gap: 32px 12px;
  }
  .alex-stats__item::after{ display: none !important; }
  .alex-stats__num{ font-size: 30px; }
  .alex-stats__label{ font-size: 13px; }

  .alex-field__tabs{ width: 100%; display: flex; }
  .alex-field__tab{ flex: 1; padding: 11px 10px; font-size: 14px; }
  .alex-field__grid{ grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .alex-field-item{ padding: 28px 12px; }
  .alex-field-item img{ width: 36px; height: 36px; }
  .alex-field-item span{ font-size: 14px; }

  .alex-news-feature{ min-height: 320px; }
  .alex-news-feature__body{ padding: 26px 22px; }
  .alex-news-item{ padding: 20px 14px; gap: 16px; }
  .alex-news-item__date{ width: 52px; }
  .alex-news-item__date strong{ font-size: 23px; }
  .alex-news-item__title{ font-size: 15px; }

  .alex-culture-card{ padding: 34px 26px; }
  .alex-culture-card__main{ font-size: 19px; }

  .alex-footer{ padding-top: 60px; }
  .alex-footer__top{
    grid-template-columns: 1fr;
    gap: 36px;
    padding-bottom: 44px;
  }
  .alex-footer__bottom{
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    text-align: left;
  }
}

@media (max-width: 480px){
  .alex-hero__title{ font-size: 27px; }
  .alex-hero__eyebrow{ font-size: 12px; padding: 7px 14px 7px 12px; }
  .alex-btn{ width: 100%; }
  .alex-hero__actions{ flex-direction: column; }

  .alex-field__grid{ grid-template-columns: 1fr; }
  .alex-branch-card__list{ grid-template-columns: 1fr; }
  .alex-stats__grid{ grid-template-columns: 1fr 1fr; }
  .alex-news-item__desc{ display: none; }
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  *,*::before,*::after{
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* ============================================================
   1. 页面 Banner（标题 + 面包屑居中）
   ============================================================ */
.alex-page-banner{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 480px;
  padding: calc(var(--header-h) + var(--topbar-h) + 70px) 0 90px;
  overflow: hidden;
  background: #06103A;
  color: #fff;
}

.alex-page-banner__bg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.alex-page-banner__mask{
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg,
      rgba(2,10,45,.78) 0%,
      rgba(0,24,168,.66) 48%,
      rgba(2,10,45,.80) 100%);
}

.alex-page-banner__inner{
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.alex-page-banner__title{
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: .02em;
  color: #fff;
  text-shadow: 0 6px 34px rgba(0,0,0,.34);
}

/* --- 面包屑 --- */
.alex-breadcrumb{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
  font-size: 14px;
  letter-spacing: .02em;
  color: rgba(255,255,255,.62);
}

.alex-breadcrumb a{
  color: rgba(255,255,255,.62);
  transition: color .25s var(--ease);
}

.alex-breadcrumb a:hover{
  color: #fff;
}

.alex-breadcrumb__sep{
  color: rgba(255,255,255,.35);
}

.alex-breadcrumb__current{
  color: #fff;
  font-weight: 500;
}


/* ============================================================
   2. 集团简介（左图右文）
   ============================================================ */
.alex-intro__inner{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: center;
}

/* --- 左图 --- */
.alex-intro__media{
  position: relative;
}

.alex-intro__media img{
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
}

/* 左侧装饰性色块（纯 CSS，可删） */
.alex-intro__media::before{
  content: "";
  position: absolute;
  left: -20px;
  bottom: -20px;
  width: 140px;
  height: 140px;
  border-radius: var(--radius);
  background: var(--primary-soft);
  z-index: -1;
}

/* --- 右文 --- */
.alex-intro__text .alex-section__title{
  margin-bottom: 28px;
}

.alex-intro__desc{
  font-size: 16px;
  color: var(--text);
}

.alex-intro__desc + .alex-intro__desc{
  margin-top: 18px;
  color: var(--text-light);
}

.alex-intro__btn{
  margin-top: 42px;
}


/* ============================================================
   3. 企业文化（4 大板块）
   ============================================================ */
.alex-culture4__grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px;
}

.alex-culture4-card{
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 44px 32px 40px;
  border-radius: var(--radius);
  background: #fff;
  border: 1px solid var(--line);
  overflow: hidden;
  transition: all .4s var(--ease);
}

/* 顶部色条 */
.alex-culture4-card::after{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 3px;
  background: var(--primary);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .45s var(--ease);
}

.alex-culture4-card:hover{
  transform: translateY(-8px);
  border-color: transparent;
  box-shadow: var(--shadow-md);
}

.alex-culture4-card:hover::after{
  transform: scaleX(1);
}

.alex-culture4-card__no{
  position: absolute;
  top: 20px;
  right: 24px;
  font-size: 40px;
  font-weight: 800;
  line-height: 1;
  color: rgba(0,24,168,.07);
  font-variant-numeric: tabular-nums;
  transition: color .4s var(--ease);
}

.alex-culture4-card:hover .alex-culture4-card__no{
  color: rgba(0,24,168,.13);
}

.alex-culture4-card__label{
  display: inline-block;
  align-self: flex-start;
  margin-bottom: 20px;
  padding: 5px 14px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .1em;
  color: var(--primary);
  background: rgba(0,24,168,.08);
}

.alex-culture4-card__title{
  font-size: 19px;
  font-weight: 800;
  line-height: 1.55;
  color: var(--ink);
}

.alex-culture4-card__desc{
  margin-top: 16px;
  font-size: 14.5px;
  line-height: 1.9;
  color: var(--text-light);
}

/* 核心价值观的条目列表 */
.alex-culture4-card__list{
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 18px;
}

.alex-culture4-card__list li{
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14.5px;
  font-weight: 500;
  color: var(--text);
  line-height: 1.5;
}

.alex-culture4-card__list img{
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  object-fit: contain;
}


/* ============================================================
   4. 荣誉资质（2 行 3 列图片矩阵）
   ============================================================ */
.alex-honor__grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.alex-honor-card{
  display: flex;
  flex-direction: column;
  border-radius: var(--radius);
  background: #fff;
  border: 1px solid var(--line);
  overflow: hidden;
  transition: all .4s var(--ease);
}

.alex-honor-card:hover{
  transform: translateY(-6px);
  border-color: transparent;
  box-shadow: var(--shadow-md);
}

.alex-honor-card__media{
  overflow: hidden;
  background: var(--gray);
}

.alex-honor-card__media img{
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform .6s var(--ease);
}

.alex-honor-card:hover .alex-honor-card__media img{
  transform: scale(1.05);
}

.alex-honor-card__title{
  padding: 24px 26px 26px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  color: var(--ink);
  text-align: center;
  transition: color .3s var(--ease);
}

.alex-honor-card:hover .alex-honor-card__title{
  color: var(--primary);
}


/* ============================================================
   5. 响应式
   ============================================================ */

/* --- ≤1280px --- */
@media (max-width: 1280px){
  .alex-intro__inner{ gap: 26px; }

  .alex-culture4__grid{
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
  }

  .alex-honor__grid{ gap: 22px; }
}

/* --- ≤1024px --- */
@media (max-width: 1024px){
  .alex-page-banner{
    min-height: 400px;
    padding: calc(var(--header-h) + var(--topbar-h) + 56px) 0 70px;
  }

  .alex-page-banner__title{ font-size: 34px; }

  /* 集团简介：改为上图下文 */
  .alex-intro__inner{
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .alex-intro__media::before{ display: none; }

  /* 荣誉资质：改为 2 列 */
  .alex-honor__grid{
    grid-template-columns: repeat(2, 1fr);
  }
}

/* --- ≤768px --- */
@media (max-width: 768px){
  .alex-page-banner{
    min-height: 320px;
    padding: calc(var(--header-h) + 50px) 0 56px;
  }

  .alex-page-banner__title{ font-size: 27px; }

  .alex-breadcrumb{
    margin-top: 18px;
    font-size: 13px;
  }

  /* 集团简介 */
  .alex-intro__text .alex-section__title{ margin-bottom: 22px; }

  .alex-intro__desc{ font-size: 15px; }

  .alex-intro__btn{ margin-top: 32px; }

  /* 企业文化：单列 */
  .alex-culture4__grid{
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .alex-culture4-card{
    padding: 34px 26px 32px;
  }

  .alex-culture4-card__no{
    font-size: 34px;
    top: 16px;
    right: 20px;
  }

  .alex-culture4-card__title{ font-size: 17px; }

  /* 荣誉资质：单列 */
  .alex-honor__grid{
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .alex-honor-card__title{
    padding: 20px 22px 22px;
    font-size: 15px;
  }
}

/* --- ≤480px --- */
@media (max-width: 480px){
  .alex-page-banner__title{ font-size: 24px; }

  .alex-breadcrumb{ gap: 8px; font-size: 12.5px; }

  .alex-intro__btn{ width: 100%; }
}

@media (prefers-reduced-motion: reduce){
  .alex-culture4-card,
  .alex-honor-card,
  .alex-honor-card__media img{
    transition-duration: .01ms !important;
  }
}

/* =====产品中心====== */
.alex-page-banner{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 480px;
  padding: calc(var(--header-h) + var(--topbar-h) + 70px) 0 90px;
  overflow: hidden;
  background: #06103A;
  color: #fff;
}

.alex-page-banner__bg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.alex-page-banner__mask{
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg,
      rgba(2,10,45,.78) 0%,
      rgba(0,24,168,.66) 48%,
      rgba(2,10,45,.80) 100%);
}

.alex-page-banner__inner{
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.alex-page-banner__title{
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: .02em;
  color: #fff;
  text-shadow: 0 6px 34px rgba(0,0,0,.34);
}

.alex-breadcrumb{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
  font-size: 14px;
  letter-spacing: .02em;
  color: rgba(255,255,255,.62);
}

.alex-breadcrumb a{
  color: rgba(255,255,255,.62);
  transition: color .25s var(--ease);
}

.alex-breadcrumb a:hover{
  color: #fff;
}

.alex-breadcrumb__sep{
  color: rgba(255,255,255,.35);
}

.alex-breadcrumb__current{
  color: #fff;
  font-weight: 500;
}


/* ============================================================
   2. 产品总览大图（居中）
   ============================================================ */
.alex-products-hero{
  padding: 100px 0 20px;
  background: #fff;
}

.alex-products-hero__figure{
  margin: 0;
  display: flex;
  justify-content: center;
}

.alex-products-hero__img{
  display: block;
  width: 100%;
  max-width: 1180px;
  height: auto;
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
}


/* ============================================================
   3. 产品站入口（三张卡片）
   ============================================================ */
.alex-products{
  padding-top: 80px;
}

.alex-products__grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  align-items: stretch;
}

.alex-product-card{
  display: flex;
  flex-direction: column;
  border-radius: var(--radius);
  background: #fff;
  border: 1px solid var(--line);
  overflow: hidden;
  transition: all .4s var(--ease);
}

.alex-product-card:hover{
  transform: translateY(-8px);
  border-color: transparent;
  box-shadow: var(--shadow-md);
}

/* --- 图片区 --- */
.alex-product-card__media{
  overflow: hidden;
  background: var(--gray);
}

.alex-product-card__media img{
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transition: transform .6s var(--ease);
}

.alex-product-card:hover .alex-product-card__media img{
  transform: scale(1.05);
}

/* --- 内容区 --- */
.alex-product-card__body{
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 32px 32px 36px;
}

.alex-product-card__name{
  font-size: 20px;
  font-weight: 800;
  line-height: 1.5;
  color: var(--ink);
  transition: color .3s var(--ease);
}

.alex-product-card:hover .alex-product-card__name{
  color: var(--primary);
}

/* 网址 */
.alex-product-card__url{
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  margin-top: 12px;
  padding: 5px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .02em;
  color: var(--primary);
  background: var(--primary-soft);
  font-variant-numeric: tabular-nums;
}

.alex-product-card__desc{
  margin-top: 18px;
  font-size: 14.5px;
  line-height: 1.9;
  color: var(--text-light);
}

/* 按钮固定在底部 */
.alex-product-card__btn{
  margin-top: auto;
  padding-top: 28px;
  align-self: stretch;
}

/* 用伪元素做上分隔线，避免影响 padding */
.alex-product-card__btn::before{
  content: "";
  position: absolute;
}

/* 若需要一条分隔线，也可以直接给按钮上方加边框 */
.alex-product-card__body{
  position: relative;
}

.alex-product-card__body::after{
  content: "";
  position: absolute;
  left: 32px;
  right: 32px;
  bottom: 96px;
  height: 1px;
  background: var(--line);
  pointer-events: none;
}

/* 按钮尺寸缩小一点，适配卡片宽度 */
.alex-product-card__btn{
  height: 48px;
  padding: 0 26px;
  font-size: 14.5px;
}


/* ============================================================
   4. 响应式
   ============================================================ */

/* --- ≤1280px --- */
@media (max-width: 1280px){
  .alex-products__grid{
    gap: 24px;
  }

  .alex-product-card__body{
    padding: 28px 26px 32px;
  }

  .alex-product-card__body::after{
    left: 26px;
    right: 26px;
  }
}

/* --- ≤1024px --- */
@media (max-width: 1024px){
  .alex-page-banner{
    min-height: 400px;
    padding: calc(var(--header-h) + var(--topbar-h) + 56px) 0 70px;
  }

  .alex-page-banner__title{ font-size: 34px; }

  .alex-products-hero{
    padding: 72px 0 16px;
  }

  /* 卡片改为两列，第三个占满或保持两列 */
  .alex-products__grid{
    grid-template-columns: repeat(2, 1fr);
  }
}

/* --- ≤768px --- */
@media (max-width: 768px){
  .alex-page-banner{
    min-height: 320px;
    padding: calc(var(--header-h) + 50px) 0 56px;
  }

  .alex-page-banner__title{ font-size: 27px; }

  .alex-breadcrumb{
    margin-top: 18px;
    font-size: 13px;
  }

  .alex-products-hero{
    padding: 56px 0 12px;
  }

  .alex-products{
    padding-top: 56px;
  }

  /* 卡片单列 */
  .alex-products__grid{
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .alex-product-card__body{
    padding: 26px 22px 28px;
  }

  .alex-product-card__body::after{
    left: 22px;
    right: 22px;
    bottom: 88px;
  }

  .alex-product-card__name{ font-size: 18px; }

  .alex-product-card__btn{
    width: 100%;
  }
}

/* --- ≤480px --- */
@media (max-width: 480px){
  .alex-page-banner__title{ font-size: 24px; }

  .alex-breadcrumb{ gap: 8px; font-size: 12.5px; }

  .alex-products-hero__img{
    border-radius: var(--radius-sm);
  }
}

@media (prefers-reduced-motion: reduce){
  .alex-product-card,
  .alex-product-card__media img{
    transition-duration: .01ms !important;
  }
}

/* =====新闻中心===== */
.alex-page-banner{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 480px;
  padding: calc(var(--header-h) + var(--topbar-h) + 70px) 0 90px;
  overflow: hidden;
  background: #06103A;
  color: #fff;
}

.alex-page-banner__bg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.alex-page-banner__mask{
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg,
      rgba(2,10,45,.78) 0%,
      rgba(0,24,168,.66) 48%,
      rgba(2,10,45,.80) 100%);
}

.alex-page-banner__inner{
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.alex-page-banner__title{
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: .02em;
  color: #fff;
  text-shadow: 0 6px 34px rgba(0,0,0,.34);
}

.alex-breadcrumb{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
  font-size: 14px;
  letter-spacing: .02em;
  color: rgba(255,255,255,.62);
}

.alex-breadcrumb a{
  color: rgba(255,255,255,.62);
  transition: color .25s var(--ease);
}

.alex-breadcrumb a:hover{
  color: #fff;
}

.alex-breadcrumb__sep{
  color: rgba(255,255,255,.35);
}

.alex-breadcrumb__current{
  color: #fff;
  font-weight: 500;
}


/* ============================================================
   2. 新闻分类筛选
   ============================================================ */
.alex-news-filter{
  padding: 60px 0 0;
  background: #fff;
}

.alex-news-filter__tabs{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

.alex-news-filter__tab{
  padding: 10px 24px;
  border-radius: 999px;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--text-light);
  background: var(--gray);
  border: 1px solid transparent;
  transition: all .3s var(--ease);
}

.alex-news-filter__tab:hover{
  color: var(--primary);
  border-color: rgba(0,24,168,.18);
}

.alex-news-filter__tab.alex-is-active{
  color: #fff;
  background: var(--primary);
  box-shadow: 0 8px 20px rgba(0,24,168,.24);
}


/* ============================================================
   3. 新闻矩阵（3 行 3 列）
   ============================================================ */
.alex-news-page{
  padding-top: 56px;
}

.alex-news-page__grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

/* --- 新闻卡片 --- */
.alex-news-card{
  display: flex;
  flex-direction: column;
  border-radius: var(--radius);
  background: #fff;
  border: 1px solid var(--line);
  overflow: hidden;
  transition: all .4s var(--ease);
}

.alex-news-card:hover{
  transform: translateY(-8px);
  border-color: transparent;
  box-shadow: var(--shadow-md);
}

/* --- 图片 --- */
.alex-news-card__media{
  display: block;
  overflow: hidden;
  background: var(--gray);
}

.alex-news-card__media img{
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transition: transform .6s var(--ease);
}

.alex-news-card:hover .alex-news-card__media img{
  transform: scale(1.06);
}

/* --- 内容 --- */
.alex-news-card__body{
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 26px 26px 28px;
}

/* 分类标签 */
.alex-news-card__tag{
  display: inline-block;
  align-self: flex-start;
  padding: 4px 12px;
  margin-bottom: 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--primary);
  background: var(--primary-soft);
}

/* 标题 */
.alex-news-card__title{
  font-size: 16.5px;
  font-weight: 700;
  line-height: 1.55;
  color: var(--ink);
  transition: color .3s var(--ease);

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.alex-news-card__title a{
  color: inherit;
}

.alex-news-card:hover .alex-news-card__title{
  color: var(--primary);
}

/* 简介 */
.alex-news-card__desc{
  margin-top: 12px;
  font-size: 13.5px;
  line-height: 1.8;
  color: var(--text-light);

  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 作者 + 时间 */
.alex-news-card__meta{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 18px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px dashed var(--line);
  font-size: 12.5px;
  color: var(--text-light);
}

.alex-news-card__meta-item{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.alex-news-card__meta .alex-icon{
  width: 14px;
  height: 14px;
  opacity: .55;
  object-fit: contain;
}

/* 详情按钮（固定在底部） */
.alex-news-card__btn{
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: auto;
  padding-top: 20px;
  font-size: 14px;
  font-weight: 600;
  color: var(--primary);
  transition: color .3s var(--ease);
}

.alex-news-card__btn .alex-icon{
  width: 15px;
  height: 15px;
  transition: transform .3s var(--ease);
}

.alex-news-card__btn:hover .alex-icon{
  transform: translateX(5px);
}


/* ============================================================
   4. 分页
   ============================================================ */
.alex-pagination{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 64px;
}

.alex-pagination__item{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 42px;
  height: 42px;
  padding: 0 14px;
  border-radius: 10px;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--text);
  background: #fff;
  border: 1px solid var(--line);
  transition: all .28s var(--ease);
}

.alex-pagination__item:hover{
  color: var(--primary);
  border-color: var(--primary);
  background: var(--primary-soft);
}

.alex-pagination__item.alex-is-active{
  color: #fff;
  background: var(--primary);
  border-color: var(--primary);
  box-shadow: 0 8px 20px rgba(0,24,168,.24);
  cursor: default;
}

.alex-pagination__item img{
  width: 14px;
  height: 14px;
  object-fit: contain;
}

.alex-pagination__item--prev,
.alex-pagination__item--next{
  padding: 0 18px;
}

.alex-pagination__ellipsis{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 42px;
  font-size: 14.5px;
  color: var(--text-light);
  user-select: none;
}


/* ============================================================
   5. 响应式
   ============================================================ */

/* --- ≤1280px --- */
@media (max-width: 1280px){
  .alex-news-page__grid{
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }

  .alex-news-card__body{
    padding: 22px 22px 24px;
  }

  .alex-news-card__title{
    font-size: 15.5px;
  }
}

/* --- ≤1024px --- */
@media (max-width: 1024px){
  .alex-page-banner{
    min-height: 400px;
    padding: calc(var(--header-h) + var(--topbar-h) + 56px) 0 70px;
  }

  .alex-page-banner__title{ font-size: 34px; }

  /* 平板：两列 */
  .alex-news-page__grid{
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
  }

  .alex-pagination{
    margin-top: 52px;
  }
}

/* --- ≤768px --- */
@media (max-width: 768px){
  .alex-page-banner{
    min-height: 320px;
    padding: calc(var(--header-h) + 50px) 0 56px;
  }

  .alex-page-banner__title{ font-size: 27px; }

  .alex-breadcrumb{
    margin-top: 18px;
    font-size: 13px;
  }

  /* 分类筛选 */
  .alex-news-filter{
    padding: 40px 0 0;
  }

  .alex-news-filter__tabs{
    gap: 6px;
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px;
  }

  .alex-news-filter__tabs::-webkit-scrollbar{
    display: none;
  }

  .alex-news-filter__tab{
    flex: 0 0 auto;
    padding: 9px 18px;
    font-size: 13.5px;
  }

  /* 新闻矩阵：单列 */
  .alex-news-page{
    padding-top: 36px;
  }

  .alex-news-page__grid{
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .alex-news-card__body{
    padding: 20px 20px 22px;
  }

  .alex-news-card__title{
    font-size: 16px;
  }

  .alex-news-card__desc{
    -webkit-line-clamp: 2;
  }

  /* 分页：小屏精简 */
  .alex-pagination{
    gap: 6px;
    margin-top: 44px;
  }

  .alex-pagination__item{
    min-width: 38px;
    height: 38px;
    padding: 0 10px;
    font-size: 13.5px;
    border-radius: 8px;
  }

  .alex-pagination__item--prev,
  .alex-pagination__item--next{
    padding: 0 14px;
  }

  /* 小屏隐藏部分页码，只留首尾与当前附近 */
  .alex-pagination__item:nth-of-type(3),
  .alex-pagination__item:nth-of-type(4),
  .alex-pagination__ellipsis{
    display: none;
  }

  /* 上一页/下一页只保留图标或简写 */
  .alex-pagination__item--prev span,
  .alex-pagination__item--next span{
    display: none;
  }

  .alex-pagination__item--prev,
  .alex-pagination__item--next{
    min-width: 38px;
    padding: 0;
  }
}

/* --- ≤480px --- */
@media (max-width: 480px){
  .alex-page-banner__title{ font-size: 24px; }

  .alex-breadcrumb{ gap: 8px; font-size: 12.5px; }

  .alex-news-card__meta{
    gap: 6px 14px;
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce){
  .alex-news-card,
  .alex-news-card__media img,
  .alex-news-card__btn .alex-icon{
    transition-duration: .01ms !important;
  }
}
/* ======新闻详情页======= */
.alex-page-banner{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 480px;
  padding: calc(var(--header-h) + var(--topbar-h) + 70px) 0 90px;
  overflow: hidden;
  background: #06103A;
  color: #fff;
}

.alex-page-banner__bg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.alex-page-banner__mask{
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg,
      rgba(2,10,45,.78) 0%,
      rgba(0,24,168,.66) 48%,
      rgba(2,10,45,.80) 100%);
}

.alex-page-banner__inner{
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.alex-page-banner__title{
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: .02em;
  color: #fff;
  text-shadow: 0 6px 34px rgba(0,0,0,.34);
}

.alex-breadcrumb{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
  font-size: 14px;
  letter-spacing: .02em;
  color: rgba(255,255,255,.62);
}

.alex-breadcrumb a{
  color: rgba(255,255,255,.62);
  transition: color .25s var(--ease);
}

.alex-breadcrumb a:hover{
  color: #fff;
}

.alex-breadcrumb__sep{
  color: rgba(255,255,255,.35);
}

.alex-breadcrumb__current{
  color: #fff;
  font-weight: 500;
}


/* ============================================================
   2. 文章主体
   ============================================================ */
.alex-article{
  padding: 96px 0 110px;
  background: #fff;
}

.alex-article__inner{
  max-width: 880px;
}

/* ---------- 文章头部 ---------- */
.alex-article__header{
  text-align: left;
}

/* 分类标签 */
.alex-article__tag{
  display: inline-block;
  padding: 5px 14px;
  margin-bottom: 22px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--primary);
  background: var(--primary-soft);
}

/* 标题 */
.alex-article__title{
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 800;
  line-height: 1.42;
  letter-spacing: .005em;
  color: var(--ink);
}

/* 元信息：作者 / 时间 / 阅读量 */
.alex-article__meta{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 24px;
  margin-top: 26px;
  padding-bottom: 26px;
  border-bottom: 1px solid var(--line);
  font-size: 13.5px;
  color: var(--text-light);
}

.alex-article__meta-item{
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}

.alex-article__meta-item .alex-icon{
  width: 15px;
  height: 15px;
  opacity: .55;
  object-fit: contain;
}

/* ---------- 主图 ---------- */
.alex-article__cover{
  margin: 40px 0 0;
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--gray);
}

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


/* ============================================================
   3. 正文排版
   ============================================================ */
.alex-article__content{
  margin-top: 48px;
  font-size: 16px;
  line-height: 2;
  color: var(--text);
}

.alex-article__content > * + *{
  margin-top: 22px;
}

.alex-article__content p{
  font-size: 16px;
  line-height: 2;
  color: var(--text);
  text-align: justify;
}

/* 小标题 */
.alex-article__content h3{
  position: relative;
  margin-top: 44px;
  padding-left: 18px;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.6;
  color: var(--ink);
}

.alex-article__content h3::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 20px;
  border-radius: 2px;
  background: var(--primary);
}

/* 引用 */
.alex-article__content blockquote{
  position: relative;
  margin: 36px 0;
  padding: 26px 32px 26px 36px;
  border-radius: var(--radius);
  background: var(--primary-soft);
  font-size: 16px;
  line-height: 1.95;
  color: var(--ink);
}

.alex-article__content blockquote::before{
  content: "";
  position: absolute;
  left: 0;
  top: 20px;
  bottom: 20px;
  width: 4px;
  border-radius: 2px;
  background: var(--primary);
}

/* 列表 */
.alex-article__content ul{
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-left: 4px;
}

.alex-article__content ul li{
  position: relative;
  padding-left: 20px;
  font-size: 16px;
  line-height: 1.9;
  color: var(--text);
}

.alex-article__content ul li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 13px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--primary);
}


/* ============================================================
   4. 上一篇 / 下一篇
   ============================================================ */
.alex-article__nav{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 72px;
  padding-top: 44px;
  border-top: 1px solid var(--line);
}

.alex-article__nav-item{
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 22px 24px;
  border-radius: var(--radius);
  background: var(--gray);
  border: 1px solid transparent;
  transition: all .35s var(--ease);
}

.alex-article__nav-item:hover{
  background: #fff;
  border-color: rgba(0,24,168,.18);
  box-shadow: var(--shadow-md);
  transform: translateY(-4px);
}

/* 下一篇右对齐 */
.alex-article__nav-item--next{
  text-align: right;
  align-items: flex-end;
}

.alex-article__nav-label{
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--primary);
}

.alex-article__nav-label .alex-icon{
  width: 14px;
  height: 14px;
  object-fit: contain;
  transition: transform .3s var(--ease);
}

.alex-article__nav-item--prev:hover .alex-icon{
  transform: translateX(-4px);
}

.alex-article__nav-item--next:hover .alex-icon{
  transform: translateX(4px);
}

.alex-article__nav-title{
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
  color: var(--ink);
  transition: color .3s var(--ease);

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.alex-article__nav-item:hover .alex-article__nav-title{
  color: var(--primary);
}


/* ============================================================
   5. 响应式
   ============================================================ */

/* --- ≤1280px --- */
@media (max-width: 1280px){
  .alex-article{
    padding: 84px 0 96px;
  }

  .alex-article__inner{
    max-width: 820px;
  }
}

/* --- ≤1024px --- */
@media (max-width: 1024px){
  .alex-page-banner{
    min-height: 400px;
    padding: calc(var(--header-h) + var(--topbar-h) + 56px) 0 70px;
  }

  .alex-page-banner__title{ font-size: 34px; }

  .alex-article{
    padding: 72px 0 84px;
  }

  .alex-article__title{
    font-size: 28px;
  }

  .alex-article__content{
    font-size: 15.5px;
  }

  .alex-article__content p{
    font-size: 15.5px;
  }

  .alex-article__content h3{
    font-size: 19px;
  }
}

/* --- ≤768px --- */
@media (max-width: 768px){
  .alex-page-banner{
    min-height: 320px;
    padding: calc(var(--header-h) + 50px) 0 56px;
  }

  .alex-page-banner__title{ font-size: 27px; }

  .alex-breadcrumb{
    margin-top: 18px;
    font-size: 13px;
  }

  /* 文章主体 */
  .alex-article{
    padding: 56px 0 64px;
  }

  .alex-article__tag{
    margin-bottom: 18px;
    font-size: 12px;
  }

  .alex-article__title{
    font-size: 23px;
    line-height: 1.5;
  }

  .alex-article__meta{
    gap: 8px 16px;
    margin-top: 20px;
    padding-bottom: 20px;
    font-size: 12.5px;
  }

  .alex-article__meta .alex-icon{
    width: 13px;
    height: 13px;
  }

  /* 主图 */
  .alex-article__cover{
    margin-top: 28px;
    border-radius: var(--radius-sm);
  }

  /* 正文 */
  .alex-article__content{
    margin-top: 32px;
    font-size: 15px;
    line-height: 1.9;
  }

  .alex-article__content > * + *{
    margin-top: 18px;
  }

  .alex-article__content p{
    font-size: 15px;
    line-height: 1.9;
    text-align: left;
  }

  .alex-article__content h3{
    margin-top: 32px;
    padding-left: 14px;
    font-size: 17px;
  }

  .alex-article__content h3::before{
    width: 3px;
    height: 16px;
  }

  .alex-article__content blockquote{
    margin: 26px 0;
    padding: 20px 22px 20px 24px;
    border-radius: var(--radius-sm);
    font-size: 15px;
    line-height: 1.9;
  }

  /* 上一篇 / 下一篇：改为上下堆叠 */
  .alex-article__nav{
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 48px;
    padding-top: 32px;
  }

  .alex-article__nav-item{
    padding: 18px 20px;
  }

  /* 移动端下一篇不再右对齐，改为左对齐，保持一致 */
  .alex-article__nav-item--next{
    text-align: left;
    align-items: flex-start;
  }

  .alex-article__nav-title{
    font-size: 14.5px;
  }
}

/* --- ≤480px --- */
@media (max-width: 480px){
  .alex-page-banner__title{ font-size: 24px; }

  .alex-breadcrumb{ gap: 8px; font-size: 12.5px; }

  .alex-article__title{
    font-size: 21px;
  }

  .alex-article__content blockquote{
    font-size: 14.5px;
    padding: 18px 18px 18px 22px;
  }
}

@media (prefers-reduced-motion: reduce){
  .alex-article__nav-item,
  .alex-article__nav-label .alex-icon{
    transition-duration: .01ms !important;
  }
}
/* ========工作列表======== */
.alex-page-banner{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 480px;
  padding: calc(var(--header-h) + var(--topbar-h) + 70px) 0 90px;
  overflow: hidden;
  background: #06103A;
  color: #fff;
}

.alex-page-banner__bg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.alex-page-banner__mask{
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg,
      rgba(2,10,45,.78) 0%,
      rgba(0,24,168,.66) 48%,
      rgba(2,10,45,.80) 100%);
}

.alex-page-banner__inner{
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.alex-page-banner__title{
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: .02em;
  color: #fff;
  text-shadow: 0 6px 34px rgba(0,0,0,.34);
}

.alex-breadcrumb{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
  font-size: 14px;
  letter-spacing: .02em;
  color: rgba(255,255,255,.62);
}

.alex-breadcrumb a{
  color: rgba(255,255,255,.62);
  transition: color .25s var(--ease);
}

.alex-breadcrumb a:hover{
  color: #fff;
}

.alex-breadcrumb__sep{
  color: rgba(255,255,255,.35);
}

.alex-breadcrumb__current{
  color: #fff;
  font-weight: 500;
}


/* ============================================================
   2. 招聘理念（引导语）
   ============================================================ */
.alex-jobs-intro{
  padding: 80px 0 0;
  background: #fff;
}

.alex-jobs-intro__inner{
  max-width: 760px;
  text-align: center;
  margin: 0 auto;
}

.alex-jobs-intro .alex-section__eyebrow{
  margin-left: auto;
  margin-right: auto;
}

.alex-jobs-intro__title{
  font-size: clamp(26px, 3.2vw, 38px);
  font-weight: 800;
  line-height: 1.35;
  color: var(--ink);
  letter-spacing: .01em;
}

.alex-jobs-intro__desc{
  margin-top: 18px;
  font-size: 16px;
  line-height: 1.9;
  color: var(--text-light);
}


/* ============================================================
   3. 招聘列表（全宽度）
   ============================================================ */
.alex-jobs{
  padding-top: 64px;
}

.alex-jobs__mail{
  color: var(--primary);
  font-weight: 600;
  transition: color .25s var(--ease);
}

.alex-jobs__mail:hover{
  text-decoration: underline;
}

.alex-jobs__list{
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* --- 单条职位（通栏行） --- */
.alex-job{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding: 32px 36px;
  border-radius: var(--radius);
  background: #fff;
  border: 1px solid var(--line);
  transition: all .35s var(--ease);
  position: relative;
  overflow: hidden;
}

/* 左侧主色竖条 */
.alex-job::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--primary);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform .4s var(--ease);
}

.alex-job:hover{
  border-color: transparent;
  box-shadow: var(--shadow-md);
  transform: translateY(-4px);
}

.alex-job:hover::before{
  transform: scaleY(1);
}

/* --- 左侧主信息 --- */
.alex-job__main{
  flex: 1 1 auto;
  min-width: 0;
}

.alex-job__title{
  font-size: 19px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--ink);
  transition: color .3s var(--ease);
}

.alex-job__title a{
  color: inherit;
}

.alex-job:hover .alex-job__title{
  color: var(--primary);
}

/* 城市 + 日期 */
.alex-job__meta{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 24px;
  margin-top: 12px;
  font-size: 13.5px;
  color: var(--text-light);
}

.alex-job__meta-item{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.alex-job__meta-item .alex-icon{
  width: 14px;
  height: 14px;
  opacity: .55;
  object-fit: contain;
}

/* 职位简介 */
.alex-job__desc{
  margin-top: 14px;
  font-size: 14.5px;
  line-height: 1.8;
  color: var(--text-light);

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* --- 右侧操作区 --- */
.alex-job__action{
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}

.alex-job__btn{
  height: 46px;
  padding: 0 26px;
  font-size: 14.5px;
}


/* ============================================================
   4. 投递方式（底部行动区）
   ============================================================ */
.alex-jobs-cta{
  padding-top: 88px;
  padding-bottom: 96px;
}

.alex-jobs-cta__inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding: 48px 52px;
  border-radius: var(--radius);
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: var(--shadow-md);
  position: relative;
  overflow: hidden;
}

/* 背景装饰圆 */
.alex-jobs-cta__inner::after{
  content: "";
  position: absolute;
  right: -80px;
  top: -80px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,24,168,.07) 0%, rgba(0,24,168,0) 70%);
  pointer-events: none;
}

.alex-jobs-cta__text{
  position: relative;
  z-index: 1;
  max-width: 660px;
}

.alex-jobs-cta__desc{
  margin-top: 16px;
  font-size: 15px;
  line-height: 1.9;
  color: var(--text-light);
}

.alex-jobs-cta__desc a{
  color: var(--primary);
  font-weight: 600;
}

.alex-jobs-cta__desc a:hover{
  text-decoration: underline;
}

.alex-jobs-cta__desc strong{
  color: var(--ink);
  font-weight: 700;
}

.alex-jobs-cta__action{
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
}


/* ============================================================
   5. 响应式
   ============================================================ */

/* --- ≤1280px --- */
@media (max-width: 1280px){
  .alex-job{
    padding: 28px 30px;
    gap: 32px;
  }

  .alex-job__title{
    font-size: 18px;
  }

  .alex-jobs-cta__inner{
    padding: 40px 42px;
  }
}

/* --- ≤1024px --- */
@media (max-width: 1024px){
  .alex-page-banner{
    min-height: 400px;
    padding: calc(var(--header-h) + var(--topbar-h) + 56px) 0 70px;
  }

  .alex-page-banner__title{ font-size: 34px; }

  .alex-jobs-intro{
    padding-top: 64px;
  }

  .alex-jobs{
    padding-top: 52px;
  }

  /* 职位行：按钮高度略缩 */
  .alex-job__btn{
    height: 42px;
    padding: 0 22px;
    font-size: 14px;
  }

  /* 投递区：改为上下堆叠 */
  .alex-jobs-cta__inner{
    flex-direction: column;
    align-items: flex-start;
    gap: 28px;
    padding: 36px 32px;
  }

  .alex-jobs-cta__action{
    width: 100%;
  }

  .alex-jobs-cta__action .alex-btn{
    width: 100%;
    justify-content: center;
  }
}

/* --- ≤768px --- */
@media (max-width: 768px){
  .alex-page-banner{
    min-height: 320px;
    padding: calc(var(--header-h) + 50px) 0 56px;
  }

  .alex-page-banner__title{ font-size: 27px; }

  .alex-breadcrumb{
    margin-top: 18px;
    font-size: 13px;
  }

  /* 引导语 */
  .alex-jobs-intro{
    padding-top: 52px;
  }

  .alex-jobs-intro__title{
    font-size: 24px;
  }

  .alex-jobs-intro__desc{
    margin-top: 14px;
    font-size: 15px;
  }

  /* 招聘列表：职位改为上下堆叠 */
  .alex-jobs{
    padding-top: 40px;
  }

  .alex-jobs__list{
    gap: 14px;
  }

  .alex-job{
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
    padding: 24px 22px 22px;
  }

  .alex-job__title{
    font-size: 17px;
  }

  .alex-job__meta{
    gap: 6px 18px;
    margin-top: 10px;
    font-size: 13px;
  }

  .alex-job__desc{
    margin-top: 12px;
    font-size: 14px;
    -webkit-line-clamp: 3;
  }

  /* 按钮全宽 */
  .alex-job__action{
    width: 100%;
  }

  .alex-job__btn{
    width: 100%;
    height: 44px;
    justify-content: center;
    font-size: 14.5px;
  }

  /* 投递区 */
  .alex-jobs-cta{
    padding-top: 60px;
    padding-bottom: 68px;
  }

  .alex-jobs-cta__inner{
    padding: 28px 22px;
    border-radius: var(--radius-sm);
  }

  .alex-jobs-cta__inner::after{
    display: none;
  }

  .alex-jobs-cta__desc{
    font-size: 14.5px;
  }

  .alex-jobs-cta__action .alex-btn{
    height: 48px;
  }
}

/* --- ≤480px --- */
@media (max-width: 480px){
  .alex-page-banner__title{ font-size: 24px; }

  .alex-breadcrumb{ gap: 8px; font-size: 12.5px; }

  .alex-jobs-intro__title{
    font-size: 21px;
  }

  .alex-job{
    padding: 20px 18px 20px;
  }

  .alex-job__title{
    font-size: 16px;
    line-height: 1.55;
  }

  .alex-job__desc{
    -webkit-line-clamp: 4;
  }

  .alex-jobs-cta__inner{
    padding: 22px 18px;
  }
}

@media (prefers-reduced-motion: reduce){
  .alex-job,
  .alex-job::before{
    transition-duration: .01ms !important;
  }
}

/* =======联系我们===== */
.alex-page-banner{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 480px;
  padding: calc(var(--header-h) + var(--topbar-h) + 70px) 0 90px;
  overflow: hidden;
  background: #06103A;
  color: #fff;
}

.alex-page-banner__bg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.alex-page-banner__mask{
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg,
      rgba(2,10,45,.78) 0%,
      rgba(0,24,168,.66) 48%,
      rgba(2,10,45,.80) 100%);
}

.alex-page-banner__inner{
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.alex-page-banner__title{
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: .02em;
  color: #fff;
  text-shadow: 0 6px 34px rgba(0,0,0,.34);
}

.alex-breadcrumb{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
  font-size: 14px;
  letter-spacing: .02em;
  color: rgba(255,255,255,.62);
}

.alex-breadcrumb a{
  color: rgba(255,255,255,.62);
  transition: color .25s var(--ease);
}

.alex-breadcrumb a:hover{
  color: #fff;
}

.alex-breadcrumb__sep{
  color: rgba(255,255,255,.35);
}

.alex-breadcrumb__current{
  color: #fff;
  font-weight: 500;
}


/* ============================================================
   2. 联系卡片（2 行 2 列）
   ============================================================ */
.alex-contact-cards{
  padding-top: 96px;
}

.alex-contact-cards__grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}

/* --- 卡片 --- */
.alex-contact-card{
  display: flex;
  flex-direction: column;
  border-radius: var(--radius);
  background: #fff;
  border: 1px solid var(--line);
  overflow: hidden;
  transition: all .4s var(--ease);
}

.alex-contact-card:hover{
  transform: translateY(-6px);
  border-color: transparent;
  box-shadow: var(--shadow-md);
}

/* --- 图片区 --- */
.alex-contact-card__media{
  position: relative;
  overflow: hidden;
  background: var(--gray);
}

.alex-contact-card__media img{
  width: 100%;
  aspect-ratio: 16 / 8;
  object-fit: cover;
  transition: transform .7s var(--ease);
}

.alex-contact-card:hover .alex-contact-card__media img{
  transform: scale(1.05);
}

/* 左下角城市标签 */
.alex-contact-card__city{
  position: absolute;
  left: 20px;
  bottom: 20px;
  display: inline-flex;
  align-items: center;
  height: 34px;
  padding: 0 18px;
  border-radius: 999px;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: .04em;
  color: #fff;
  background: var(--primary);
  box-shadow: 0 8px 20px rgba(0,24,168,.35);
  backdrop-filter: blur(6px);
}

/* --- 内容区 --- */
.alex-contact-card__body{
  flex: 1;
  padding: 32px 36px 36px;
}

.alex-contact-card__name{
  font-size: 20px;
  font-weight: 800;
  line-height: 1.5;
  color: var(--ink);
}

.alex-contact-card__role{
  margin-top: 6px;
  font-size: 13.5px;
  font-weight: 500;
  letter-spacing: .02em;
  color: var(--primary);
}

/* --- 信息列表 --- */
.alex-contact-card__list{
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 26px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}

.alex-contact-card__list li{
  display: grid;
  grid-template-columns: 16px 48px 1fr;
  gap: 12px;
  align-items: flex-start;
  font-size: 14.5px;
  line-height: 1.65;
}

.alex-contact-card__list .alex-icon{
  width: 16px;
  height: 16px;
  margin-top: 4px;
  opacity: .55;
  object-fit: contain;
}

.alex-contact-card__label{
  color: var(--text-light);
  white-space: nowrap;
}

.alex-contact-card__value{
  color: var(--text);
  word-break: break-word;
}

.alex-contact-card__value a{
  color: inherit;
  transition: color .25s var(--ease);
}

.alex-contact-card__value a:hover{
  color: var(--primary);
}


/* ============================================================
   3. 反馈表单
   ============================================================ */
.alex-feedback{
  padding-top: 96px;
  padding-bottom: 110px;
}

.alex-feedback__form{
  padding: 48px 52px;
  border-radius: var(--radius);
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: var(--shadow-md);
}

.alex-feedback__grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 26px 32px;
}

/* 整行占满 */
.alex-feedback__item--full{
  grid-column: 1 / -1;
}

.alex-feedback__item{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.alex-feedback__label{
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  line-height: 1.5;
}

.alex-feedback__label em{
  color: #E63946;
  font-style: normal;
  margin-left: 2px;
}

/* --- 输入框通用 --- */
.alex-feedback__input,
.alex-feedback__select,
.alex-feedback__textarea{
  width: 100%;
  padding: 0 18px;
  font-family: inherit;
  font-size: 14.5px;
  color: var(--ink);
  background: var(--gray);
  border: 1.5px solid transparent;
  border-radius: var(--radius-sm);
  outline: none;
  transition: all .3s var(--ease);
}

.alex-feedback__input{
  height: 50px;
}

.alex-feedback__textarea{
  padding: 14px 18px;
  line-height: 1.7;
  resize: vertical;
  min-height: 140px;
}

.alex-feedback__input::placeholder,
.alex-feedback__textarea::placeholder{
  color: #9AA1BC;
}

.alex-feedback__input:hover,
.alex-feedback__select:hover,
.alex-feedback__textarea:hover{
  background: #F0F3FA;
}

.alex-feedback__input:focus,
.alex-feedback__select:focus,
.alex-feedback__textarea:focus{
  background: #fff;
  border-color: var(--primary);
  box-shadow: 0 0 0 4px rgba(0,24,168,.08);
}

/* --- 下拉框 --- */
.alex-feedback__select-wrap{
  position: relative;
}

.alex-feedback__select{
  height: 50px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 46px;
  cursor: pointer;
}

.alex-feedback__select-arrow{
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  opacity: .5;
  pointer-events: none;
  object-fit: contain;
}

/* --- 底部：协议 + 提交按钮 --- */
.alex-feedback__footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: 34px;
  padding-top: 30px;
  border-top: 1px solid var(--line);
}

.alex-feedback__agree{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  color: var(--text-light);
  cursor: pointer;
  user-select: none;
}

.alex-feedback__agree input{
  width: 16px;
  height: 16px;
  accent-color: var(--primary);
  cursor: pointer;
  margin: 0;
}

.alex-feedback__submit{
  flex: 0 0 auto;
}


/* ============================================================
   4. 响应式
   ============================================================ */

/* --- ≤1280px --- */
@media (max-width: 1280px){
  .alex-contact-cards{
    padding-top: 80px;
  }

  .alex-contact-cards__grid{
    gap: 26px;
  }

  .alex-contact-card__body{
    padding: 28px 30px 30px;
  }

  .alex-feedback__form{
    padding: 40px 42px;
  }
}

/* --- ≤1024px --- */
@media (max-width: 1024px){
  .alex-page-banner{
    min-height: 400px;
    padding: calc(var(--header-h) + var(--topbar-h) + 56px) 0 70px;
  }

  .alex-page-banner__title{ font-size: 34px; }

  /* 平板：卡片 2 列不变 */
  .alex-contact-cards__grid{
    gap: 22px;
  }

  .alex-contact-card__body{
    padding: 24px 26px 28px;
  }

  .alex-contact-card__name{
    font-size: 18px;
  }

  /* 表单改为单列 */
  .alex-feedback__grid{
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .alex-feedback__form{
    padding: 36px 36px;
  }
}

/* --- ≤768px --- */
@media (max-width: 768px){
  .alex-page-banner{
    min-height: 320px;
    padding: calc(var(--header-h) + 50px) 0 56px;
  }

  .alex-page-banner__title{ font-size: 27px; }

  .alex-breadcrumb{
    margin-top: 18px;
    font-size: 13px;
  }

  /* 联系卡片：单列 */
  .alex-contact-cards{
    padding-top: 56px;
  }

  .alex-contact-cards__grid{
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .alex-contact-card__media img{
    aspect-ratio: 16 / 9;
  }

  .alex-contact-card__city{
    left: 16px;
    bottom: 16px;
    height: 30px;
    padding: 0 14px;
    font-size: 12.5px;
  }

  .alex-contact-card__body{
    padding: 22px 22px 26px;
  }

  .alex-contact-card__name{
    font-size: 17px;
  }

  .alex-contact-card__list{
    gap: 14px;
    margin-top: 22px;
    padding-top: 20px;
  }

  .alex-contact-card__list li{
    grid-template-columns: 16px 44px 1fr;
    gap: 10px;
    font-size: 14px;
  }

  /* 反馈表单 */
  .alex-feedback{
    padding-top: 64px;
    padding-bottom: 72px;
  }

  .alex-feedback__form{
    padding: 28px 22px;
    border-radius: var(--radius-sm);
  }

  .alex-feedback__input{
    height: 46px;
  }

  .alex-feedback__select{
    height: 46px;
  }

  .alex-feedback__textarea{
    min-height: 120px;
    font-size: 14px;
  }

  /* 底部：协议 + 按钮堆叠 */
  .alex-feedback__footer{
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
    margin-top: 26px;
    padding-top: 22px;
  }

  .alex-feedback__submit{
    width: 100%;
    justify-content: center;
  }
}

/* --- ≤480px --- */
@media (max-width: 480px){
  .alex-page-banner__title{ font-size: 24px; }

  .alex-breadcrumb{ gap: 8px; font-size: 12.5px; }

  .alex-contact-card__list li{
    grid-template-columns: 16px 1fr;
    gap: 4px 10px;
  }

  /* 小屏把 label 折叠到图标下方同一行显示 */
  .alex-contact-card__label{
    grid-column: 2 / 3;
    font-size: 12.5px;
  }

  .alex-contact-card__value{
    grid-column: 2 / 3;
    font-size: 14px;
  }
}

@media (prefers-reduced-motion: reduce){
  .alex-contact-card,
  .alex-contact-card__media img{
    transition-duration: .01ms !important;
  }
}


/* ============================================================
   Lumispot 集团官网 · 「隐私政策」页面样式
   依赖：style.css（变量、通用区块、按钮均在其中）
   ============================================================ */

/* ============================================================
   1. 页面 Banner（与其他内页保持一致）
   ============================================================ */
.alex-page-banner{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 480px;
  padding: calc(var(--header-h) + var(--topbar-h) + 70px) 0 90px;
  overflow: hidden;
  background: #06103A;
  color: #fff;
}

.alex-page-banner__bg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.alex-page-banner__mask{
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg,
      rgba(2,10,45,.78) 0%,
      rgba(0,24,168,.66) 48%,
      rgba(2,10,45,.80) 100%);
}

.alex-page-banner__inner{
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.alex-page-banner__title{
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: .02em;
  color: #fff;
  text-shadow: 0 6px 34px rgba(0,0,0,.34);
}

.alex-breadcrumb{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
  font-size: 14px;
  letter-spacing: .02em;
  color: rgba(255,255,255,.62);
}

.alex-breadcrumb a{
  color: rgba(255,255,255,.62);
  transition: color .25s var(--ease);
}

.alex-breadcrumb a:hover{
  color: #fff;
}

.alex-breadcrumb__sep{
  color: rgba(255,255,255,.35);
}

.alex-breadcrumb__current{
  color: #fff;
  font-weight: 500;
}


/* ============================================================
   2. 隐私政策主体布局
   ============================================================ */
.alex-policy{
  padding: 96px 0 110px;
  background: #fff;
}

.alex-policy__inner{
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 64px;
  align-items: start;
}


/* ============================================================
   3. 左侧锚点目录
   ============================================================ */
.alex-policy__toc{
  position: sticky;
  top: calc(var(--header-h) + var(--topbar-h) + 24px);
  padding: 26px 22px;
  border-radius: var(--radius);
  background: var(--gray);
  border: 1px solid var(--line);
  max-height: calc(100vh - var(--header-h) - var(--topbar-h) - 48px);
  overflow-y: auto;
}

/* 自定义滚动条 */
.alex-policy__toc::-webkit-scrollbar{ width: 6px; }
.alex-policy__toc::-webkit-scrollbar-thumb{
  background: #C8CFE4;
  border-radius: 4px;
}

.alex-policy__toc-title{
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .08em;
  color: var(--ink);
}

.alex-policy__toc-list{
  counter-reset: toc;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.alex-policy__toc-list li{
  line-height: 1.5;
}

.alex-policy__toc-list a{
  display: block;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 13.5px;
  color: var(--text-light);
  transition: all .25s var(--ease);
}

.alex-policy__toc-list a:hover{
  color: var(--primary);
  background: #fff;
}

.alex-policy__toc-list a.alex-is-active{
  color: var(--primary);
  background: #fff;
  font-weight: 600;
  box-shadow: inset 3px 0 0 var(--primary);
}


/* ============================================================
   4. 右侧正文
   ============================================================ */
.alex-policy__content{
  min-width: 0;
  font-size: 16px;
  line-height: 2;
  color: var(--text);
}

/* 元信息（更新日期） */
.alex-policy__meta{
  display: inline-block;
  margin-bottom: 28px;
  padding: 10px 18px;
  border-radius: 999px;
  font-size: 13.5px;
  color: var(--text-light);
  background: var(--gray);
  border: 1px solid var(--line);
}

.alex-policy__meta strong{
  color: var(--primary);
  font-weight: 700;
}

/* 引导段 */
.alex-policy__lead{
  margin-bottom: 40px;
  padding: 24px 28px;
  border-radius: var(--radius);
  background: var(--primary-soft);
  border-left: 4px solid var(--primary);
  font-size: 15.5px;
  line-height: 1.95;
  color: var(--ink);
}

.alex-policy__lead a{
  color: var(--primary);
  font-weight: 600;
}

.alex-policy__lead a:hover{
  text-decoration: underline;
}

/* --- 章节标题 h2 --- */
.alex-policy__h2{
  position: relative;
  margin-top: 56px;
  padding-left: 20px;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.5;
  color: var(--ink);
  letter-spacing: .005em;
}

.alex-policy__h2::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 22px;
  border-radius: 2px;
  background: var(--primary);
}

/* 第一个标题去掉上边距 */
.alex-policy__h2:first-of-type{
  margin-top: 0;
}

/* --- 子标题 h3 --- */
.alex-policy__h3{
  margin-top: 32px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.6;
  color: var(--ink);
}

/* --- 段落 --- */
.alex-policy__content p{
  margin-top: 16px;
  font-size: 15.5px;
  line-height: 2;
  color: var(--text);
}

.alex-policy__content p:first-of-type{
  margin-top: 0;
}

/* --- 列表 --- */
.alex-policy__content ul{
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 18px;
  padding-left: 4px;
}

.alex-policy__content ul li{
  position: relative;
  padding-left: 22px;
  font-size: 15.5px;
  line-height: 1.95;
  color: var(--text);
}

.alex-policy__content ul li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 13px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--primary);
}

.alex-policy__content ul li strong{
  color: var(--ink);
  font-weight: 700;
}

/* --- 联系方式列表（特殊样式） --- */
.alex-policy__contact{
  margin-top: 22px;
  padding: 26px 30px;
  border-radius: var(--radius);
  background: var(--gray);
  border: 1px solid var(--line);
  gap: 16px !important;
  padding-left: 30px !important;
}

.alex-policy__contact li{
  display: grid !important;
  grid-template-columns: 18px 1fr;
  gap: 12px;
  align-items: flex-start;
  padding-left: 0 !important;
  font-size: 15px !important;
}

.alex-policy__contact li::before{
  display: none !important;
}

.alex-policy__contact .alex-icon{
  width: 16px;
  height: 16px;
  margin-top: 5px;
  opacity: .55;
  object-fit: contain;
}

.alex-policy__contact a{
  color: var(--primary);
  font-weight: 600;
}

.alex-policy__contact a:hover{
  text-decoration: underline;
}

/* --- 结尾语 --- */
.alex-policy__end{
  margin-top: 48px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
  text-align: center;
  font-size: 15px;
  font-style: italic;
  color: var(--text-light);
}


/* ============================================================
   5. 响应式
   ============================================================ */

/* --- ≤1280px --- */
@media (max-width: 1280px){
  .alex-policy__inner{
    grid-template-columns: 220px 1fr;
    gap: 48px;
  }

  .alex-policy__toc{
    padding: 22px 18px;
  }
}

/* --- ≤1024px --- */
@media (max-width: 1024px){
  .alex-page-banner{
    min-height: 400px;
    padding: calc(var(--header-h) + var(--topbar-h) + 56px) 0 70px;
  }

  .alex-page-banner__title{ font-size: 34px; }

  .alex-policy{
    padding: 72px 0 84px;
  }

  /* 目录改为顶部横向滚动 */
  .alex-policy__inner{
    grid-template-columns: 1fr;
    gap: 0;
  }

  .alex-policy__toc{
    position: static;
    max-height: none;
    margin-bottom: 40px;
    padding: 18px 20px;
    overflow: visible;
  }

  .alex-policy__toc-title{
    margin-bottom: 12px;
    padding-bottom: 12px;
  }

  .alex-policy__toc-list{
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 6px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px;
  }

  .alex-policy__toc-list::-webkit-scrollbar{
    display: none;
  }

  .alex-policy__toc-list li{
    flex: 0 0 auto;
  }

  .alex-policy__toc-list a{
    white-space: nowrap;
    padding: 8px 14px;
    background: #fff;
    border: 1px solid var(--line);
    font-size: 13px;
  }

  .alex-policy__toc-list a.alex-is-active{
    color: #fff;
    background: var(--primary);
    border-color: var(--primary);
    box-shadow: none;
  }

  /* 正文调整 */
  .alex-policy__h2{
    font-size: 20px;
    margin-top: 44px;
  }
}

/* --- ≤768px --- */
@media (max-width: 768px){
  .alex-page-banner{
    min-height: 320px;
    padding: calc(var(--header-h) + 50px) 0 56px;
  }

  .alex-page-banner__title{ font-size: 27px; }

  .alex-breadcrumb{
    margin-top: 18px;
    font-size: 13px;
  }

  /* 正文 */
  .alex-policy{
    padding: 56px 0 64px;
  }

  .alex-policy__meta{
    padding: 8px 14px;
    font-size: 12.5px;
    line-height: 1.7;
    border-radius: var(--radius-sm);
  }

  .alex-policy__lead{
    padding: 18px 20px;
    font-size: 14.5px;
    line-height: 1.9;
    border-radius: var(--radius-sm);
    margin-bottom: 32px;
  }

  .alex-policy__h2{
    margin-top: 38px;
    padding-left: 14px;
    font-size: 18px;
  }

  .alex-policy__h2::before{
    width: 3px;
    height: 18px;
  }

  .alex-policy__h3{
    margin-top: 26px;
    font-size: 15.5px;
  }

  .alex-policy__content p{
    font-size: 15px;
    line-height: 1.9;
  }

  .alex-policy__content ul li{
    font-size: 15px;
    line-height: 1.9;
    padding-left: 18px;
  }

  .alex-policy__content ul li::before{
    width: 6px;
    height: 6px;
    top: 12px;
  }

  .alex-policy__contact{
    padding: 20px 22px;
    border-radius: var(--radius-sm);
    padding-left: 22px !important;
  }

  .alex-policy__contact li{
    font-size: 14.5px !important;
    grid-template-columns: 16px 1fr;
    gap: 10px;
  }

  .alex-policy__end{
    margin-top: 36px;
    padding-top: 22px;
    font-size: 14px;
  }
}

/* --- ≤480px --- */
@media (max-width: 480px){
  .alex-page-banner__title{ font-size: 24px; }

  .alex-breadcrumb{ gap: 8px; font-size: 12.5px; }

  .alex-policy__meta{
    font-size: 12px;
    padding: 7px 12px;
  }

  .alex-policy__h2{
    font-size: 17px;
  }

  .alex-policy__content p,
  .alex-policy__content ul li{
    font-size: 14.5px;
  }

  .alex-policy__contact{
    padding: 18px 18px;
    padding-left: 18px !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .alex-policy__toc-list a{
    transition-duration: .01ms !important;
  }
}

