/* ==========================================================================
   盘网互联 PANNET · 官网样式
   设计令牌来源：Ardot「23 设计规范」页
   断点：PC 1440 / 平板 768 / 移动 375（对应 1199 / 1023 / 767 / 639 媒体查询）
   ========================================================================== */

:root{
  /* 色板 */
  --navy:#27227B;
  --ink:#1C1947;
  --orange:#EE7316;
  --peach:#FFA257;
  --peach-soft:#FFC08F;
  --cream:#F4F3EF;
  --line:#E3E3E3;
  --body:#5C5F78;
  --muted:#9A9CB5;
  --form-bg:#F9F8F5;
  --icon-bg:#FDEBDC;
  --on-dark:#B8BBD9;
  --on-dark-2:#8E92B4;
  --on-dark-3:#73769B;
  --cta-sub:#A0A4C6;
  --grad-a:#121043;
  --grad-b:#2E29A0;
  --danger:#E5484D;

  /* 结构 */
  --pad-x:7.5rem;
  --content:75rem;
  --r-lg:1.5rem;
  --r-md:1.25rem;
  --r-sm:1rem;
  --r-xs:0.625rem;
  --shadow-hover:0 0.875rem 2.125rem rgba(28,25,71,.14);
  --font:"Montserrat","Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;font-size:24px}
@media (max-width:640px){html{font-size:16px}}
body{
  margin:0;
  font-family:var(--font);
  font-size:0.9375rem;
  line-height:1.7;
  color:var(--body);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,p,figure{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;border:0;background:none;cursor:pointer;color:inherit}
table{border-collapse:collapse;width:100%}

/* ==========================================================================
   布局基元
   ========================================================================== */
.section{padding:6rem var(--pad-x)}
.section--tight{padding:4.5rem var(--pad-x)}
.section--cream{background:var(--cream)}
.section--navy{background:var(--navy)}
.inner{max-width:var(--content);margin:0 auto}

.grid{display:grid;gap:1.5rem}
.grid--2{grid-template-columns:repeat(2,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}

/* 区块标题组 */
.sechead{display:flex;flex-direction:column;gap:0.875rem;max-width:67.5rem}
.sechead__eyebrow{font-size:0.875rem;font-weight:600;letter-spacing:.04em;color:var(--orange)}
.sechead__title{font-size:clamp(1.625rem,2.6vw,2.25rem);font-weight:700;line-height:1.32;color:var(--ink)}
.sechead__sub{font-size:1rem;line-height:1.75;color:var(--body)}
.sechead__en{font-size:0.875rem;color:var(--body)}

.sechead-row{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:3rem}
.sechead-row .sechead{margin-bottom:0}
.morelink{font-size:0.9375rem;font-weight:600;color:var(--orange);white-space:nowrap;transition:transform .2s}
.morelink:hover{transform:translateX(0.1875rem)}

/* ==========================================================================
   按钮（对应「21 交互状态规范」）
   ========================================================================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;
  border-radius:6.25rem;padding:0.9375rem 2rem;font-size:0.9375rem;font-weight:600;
  line-height:1.4;white-space:nowrap;transition:background-color .18s,box-shadow .18s,color .18s,border-color .18s;
  cursor:pointer;
}
.btn--primary{background:var(--orange);color:#fff}
.btn--primary:hover{background:#D9650D}
.btn--primary:active{background:#C2560A}
.btn--ghost{background:transparent;color:#fff;border:0.0625rem solid rgba(255,255,255,.3)}
.btn--ghost:hover{background:rgba(255,255,255,.1)}
.btn--white{background:#fff;color:var(--ink)}
.btn--white:hover{background:var(--cream)}
.btn--outline{background:#fff;color:var(--ink);border:0.0625rem solid var(--line)}
.btn--outline:hover{border-color:var(--orange);color:var(--orange)}
.btn--sm{padding:0.75rem 1.625rem;font-size:0.875rem;font-weight:500}
.btn--lg{padding:1rem 2.125rem;font-size:1rem}
.btn--rect{border-radius:var(--r-xs)}
.btn:disabled{background:#F0EFEA;color:#B9BCC9;cursor:not-allowed}

/* ==========================================================================
   导航
   ========================================================================== */
.nav{
  position:sticky;top:0;z-index:60;
  background:#fff;
}
.nav::after{content:"";position:absolute;left:0;right:0;bottom:0;height:0.0625rem;background:var(--line)}
.nav__inner{
  max-width:135rem;margin:0 auto;height:5rem;padding:0 var(--pad-x);
  display:flex;align-items:center;justify-content:space-between;gap:2.5rem;
}
.nav__logo img{width:9.4375rem;height:2.75rem}
.nav__right{display:flex;align-items:center;gap:2.5rem}
.nav__links{display:flex;align-items:center;gap:2.5rem}
.nav__links a{
  position:relative;font-size:0.9375rem;font-weight:500;color:var(--body);
  padding:0.375rem 0;transition:color .18s;
}
.nav__links a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:0.125rem;border-radius:0.125rem;
  background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .2s;
}
.nav__links a:hover{color:var(--orange)}
.nav__links a:hover::after{transform:scaleX(.45)}
.nav__links a.is-active{color:var(--ink);font-weight:600}
.nav__links a.is-active::after{transform:scaleX(1)}
.nav__burger{display:none;width:2.5rem;height:2.5rem;flex-direction:column;justify-content:center;gap:0.3125rem;padding:0 0.5rem}
.nav__burger span{display:block;width:100%;height:0.125rem;border-radius:0.125rem;background:var(--ink);transition:transform .2s,opacity .2s}
.nav__panel{display:none}

/* ==========================================================================
   首页 Hero
   ========================================================================== */
.hero{position:relative;background:var(--navy);overflow:hidden}
.hero__inner{
  position:relative;z-index:2;max-width:135rem;margin:0 auto;
  padding:4rem var(--pad-x);min-height:45rem;
  display:flex;align-items:center;gap:4rem;
}
.hero__copy{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:1.625rem}
.hero__badge{
  display:inline-flex;align-items:center;gap:0.5rem;
  padding:0.5rem 1rem;border-radius:6.25rem;
  background:rgba(238,115,22,.14);border:0.0625rem solid rgba(238,115,22,.32);
  font-size:0.8125rem;font-weight:500;color:var(--peach-soft);
}
.hero__badge i{width:0.4375rem;height:0.4375rem;border-radius:50%;background:var(--peach);flex:none}
.hero__title{font-size:clamp(2.25rem,4.4vw,3.875rem);font-weight:700;line-height:1.2;color:#fff;letter-spacing:.01em}
.hero__title span{display:block;color:var(--peach)}
.hero__sub{font-size:1.0625rem;line-height:1.75;color:#C9CBE2;max-width:50.625rem}
.hero__btns{display:flex;flex-wrap:wrap;gap:1rem}
.hero__trust{font-size:0.8125rem;color:#8A8DAF}
.hero__visual{width:33.75rem;flex:none}
.hero__visual img{width:100%;border-radius:1.5rem}
.hero__deco{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero__deco .d-ring{position:absolute;left:-20.625rem;bottom:-28.75rem;width:68.75rem;opacity:.9}
.hero__deco .d-glow{
  position:absolute;left:24%;top:8%;width:56.25rem;height:38.75rem;border-radius:624.9375rem;
  background:radial-gradient(circle at 50% 50%,rgba(238,115,22,.20),rgba(238,115,22,0) 68%);
}

/* 数据条 */
.stats{background:var(--cream);padding:3.5rem var(--pad-x)}
.stats__row{max-width:var(--content);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.stat__num{font-size:clamp(1.875rem,3vw,2.5rem);font-weight:700;color:var(--ink);line-height:1.15;font-variant-numeric:tabular-nums}
.stat--accent .stat__num{color:var(--orange)}
.stat__label{font-size:0.875rem;color:var(--body);margin-top:0.375rem}

/* 服务卡 */
.svc-card{
  display:flex;flex-direction:column;gap:0.875rem;padding:1.75rem;
  background:#fff;border:0.0625rem solid var(--line);border-radius:var(--r-lg);
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
.svc-card:hover{border-color:rgba(238,115,22,.55);box-shadow:var(--shadow-hover);transform:translateY(-0.1875rem)}
.svc-card--alt{background:var(--cream)}
.svc-card__icon{width:2.5rem;height:2.5rem;flex:none}
.svc-card__icon img{width:2.5rem;height:2.5rem}
.svc-card__title{font-size:1.125rem;font-weight:600;color:var(--ink)}
.svc-card__desc{font-size:0.875rem;line-height:1.7;color:var(--body)}
.svc-card__link{display:inline-flex;align-items:center;gap:0.375rem;font-size:0.8125rem;font-weight:600;color:var(--orange);margin-top:auto}
.svc-card__link img{width:0.875rem;height:0.875rem;transition:transform .2s}
.svc-card:hover .svc-card__link img{transform:translateX(0.1875rem)}

/* 渐变导流带 */
.band{
  position:relative;overflow:hidden;padding:5.5rem var(--pad-x);
  background:linear-gradient(112deg,#121043 0%,#2E29A0 100%);
}
.band__inner{position:relative;z-index:2;max-width:var(--content);margin:0 auto}
.band__head{display:flex;align-items:flex-end;justify-content:space-between;gap:2.5rem;margin-bottom:3rem}
.band__eyebrow{font-size:0.875rem;font-weight:600;color:var(--peach);margin-bottom:1rem}
.band__title{font-size:clamp(1.625rem,2.6vw,2.25rem);font-weight:700;color:#fff;line-height:1.35}
.band__sub{font-size:1rem;line-height:1.75;color:#B8B8D9;margin-top:1rem;max-width:58.125rem}
.band__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.band__card{
  padding:1.75rem;border-radius:var(--r-lg);
  background:rgba(255,255,255,.04);border:0.0625rem solid rgba(255,255,255,.14);
}
.band__card h3{font-size:1.125rem;font-weight:600;color:#fff;margin-bottom:0.625rem}
.band__card p{font-size:0.875rem;line-height:1.75;color:#B8B8D9}
.band__deco{position:absolute;inset:0;pointer-events:none}
.band__deco .d-ring{position:absolute;right:-20rem;top:-22.5rem;width:62.5rem}

/* 案例卡 */
.case-card{
  display:flex;flex-direction:column;background:#fff;
  border:0.0625rem solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
.case-card:hover{border-color:rgba(238,115,22,.55);box-shadow:var(--shadow-hover);transform:translateY(-0.1875rem)}
.case-card__img{height:13.125rem;overflow:hidden}
.case-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.case-card:hover .case-card__img img{transform:scale(1.04)}
.case-card__body{display:flex;flex-direction:column;gap:0.5rem;padding:1.5rem}
.case-card__tag{font-size:0.75rem;font-weight:500;color:var(--orange)}
.case-card__title{font-size:1.125rem;font-weight:600;color:var(--ink)}
.case-card__desc{font-size:0.875rem;line-height:1.65;color:var(--body)}

/* 文章卡（首页） */
.post-card{
  display:flex;flex-direction:column;gap:0.625rem;padding:1.75rem;
  background:#fff;border:0.0625rem solid var(--line);border-radius:var(--r-lg);
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
.post-card:hover{border-color:rgba(238,115,22,.55);box-shadow:var(--shadow-hover);transform:translateY(-0.1875rem)}
.post-card__date{font-size:0.75rem;color:#8A8DA8}
.post-card__title{font-size:1.125rem;font-weight:600;line-height:1.5;color:var(--ink)}
.post-card:hover .post-card__title{color:var(--orange)}
.post-card__desc{font-size:0.875rem;line-height:1.7;color:var(--body)}

/* ==========================================================================
   CTA 区
   ========================================================================== */
.cta{position:relative;overflow:hidden;background:var(--navy);padding:5.5rem var(--pad-x)}
.cta__inner{position:relative;z-index:2;max-width:var(--content);margin:0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem}
.cta__title{font-size:clamp(1.625rem,2.6vw,2.25rem);font-weight:700;color:#fff;line-height:1.35}
.cta__sub{font-size:1rem;color:var(--cta-sub)}
.cta__btns{display:flex;flex-wrap:wrap;gap:1rem}
.cta__deco{position:absolute;inset:0;pointer-events:none}
.cta__deco .d-ring{position:absolute;right:-16.25rem;bottom:-18.75rem;width:51.25rem}
.cta__deco .d-dots{position:absolute;left:var(--pad-x);bottom:3.75rem;width:12.5rem}
.cta__deco .d-frames{position:absolute;right:16%;top:-11.875rem;width:35rem}

/* ==========================================================================
   页脚
   ========================================================================== */
.footer{position:relative;overflow:hidden;background:var(--navy);padding:5rem var(--pad-x) 2.5rem}
.footer__inner{position:relative;z-index:2;max-width:var(--content);margin:0 auto}
.footer__top{display:flex;justify-content:space-between;gap:3.5rem;margin-bottom:3.5rem}
.footer__brand{width:22.5rem;max-width:100%}
.footer__brand img{width:11.1875rem;height:3.25rem;margin-bottom:0.75rem}
.footer__brand p{font-size:0.8125rem;line-height:1.85;color:var(--on-dark-2)}
.footer__cols{display:flex;gap:4.5rem;flex-wrap:wrap}
.footer__col{display:flex;flex-direction:column;gap:0.875rem}
.footer__col h4{font-size:0.875rem;font-weight:600;color:#fff}
.footer__col a{font-size:0.8125rem;color:var(--on-dark-2);transition:color .18s}
.footer__col a:hover{color:var(--peach)}
.footer__divider{height:0.0625rem;background:rgba(255,255,255,.12);margin-bottom:1.5rem}
.footer__bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:0.75rem;color:var(--on-dark-3)}
.footer__deco{position:absolute;inset:0;pointer-events:none}
.footer__deco .d-ring{position:absolute;right:-18.75rem;top:-16.25rem;width:56.25rem}
.footer__deco .d-frames{position:absolute;left:6%;bottom:-15rem;width:32.5rem}

/* ==========================================================================
   二级页页头
   ========================================================================== */
.pagehead{background:var(--cream);padding:4.5rem var(--pad-x)}
.pagehead__inner{max-width:var(--content);margin:0 auto;display:flex;flex-direction:column;gap:1rem}
.pagehead__crumb{font-size:0.8125rem;color:var(--body)}
.pagehead__title{font-size:clamp(1.875rem,3.2vw,2.75rem);font-weight:700;line-height:1.32;color:var(--ink);white-space:pre-line}
.pagehead__sub{font-size:0.9375rem;line-height:1.8;color:var(--body);max-width:76.875rem}
.pagehead__btns{display:flex;flex-wrap:wrap;gap:1rem;margin-top:0.25rem}
.pagehead--dark{background:var(--navy)}
.pagehead--dark .pagehead__crumb,.pagehead--dark .pagehead__sub{color:var(--on-dark)}
.pagehead--dark .pagehead__title{color:#fff}
.pagehead--grad{background:linear-gradient(135deg,#121043 0%,#2E29A0 100%)}
.pagehead--grad .pagehead__crumb{color:var(--peach-soft)}
.pagehead--grad .pagehead__title{color:#fff}
.pagehead--grad .pagehead__sub{color:var(--on-dark)}
.eyebrow-tag{
  display:inline-flex;align-self:flex-start;padding:0.5rem 0.875rem;border-radius:6.25rem;
  background:var(--icon-bg);font-size:0.75rem;font-weight:500;color:var(--orange);
}

/* ==========================================================================
   外贸站
   ========================================================================== */
.ft-hero{position:relative;overflow:hidden;background:linear-gradient(112deg,#141150 0%,#2E29A0 100%)}
.ft-hero .hero__inner{min-height:42.5rem}
.ft-hero .hero__deco .d-ring{left:auto;right:-18.75rem;bottom:-26.25rem;width:75rem}
.lang-chips{display:flex;flex-wrap:wrap;gap:0.625rem;margin-top:0.375rem}
.lang-chip{
  padding:0.5rem 1rem;border-radius:6.25rem;border:0.0625rem solid rgba(255,255,255,.22);
  font-size:0.8125rem;font-weight:500;color:#fff;
}
.lang-chip--more{background:rgba(238,115,22,.16);border-color:rgba(238,115,22,.4);color:var(--peach)}

.numcard{display:flex;flex-direction:column;gap:0.5rem;padding:2rem;border-radius:var(--r-lg)}
.numcard--cream{background:var(--cream)}
.numcard--line{background:#fff;border:0.0625rem solid var(--line)}
.numcard--navy{background:var(--navy)}
.numcard__no{font-size:0.9375rem;font-weight:700;color:var(--orange)}
.numcard--navy .numcard__no{color:var(--peach)}
.numcard__title{font-size:1.25rem;font-weight:600;color:var(--ink);margin-bottom:0.25rem}
.numcard--navy .numcard__title{color:#fff}
.numcard li{position:relative;padding-left:0.875rem;font-size:0.875rem;line-height:1.85;color:var(--body)}
.numcard li::before{content:"·";position:absolute;left:0;color:var(--orange);font-weight:700}
.numcard--navy li{color:var(--on-dark)}
.numcard__link{display:inline-flex;align-items:center;gap:0.375rem;margin-top:0.875rem;font-size:0.8125rem;font-weight:500;color:var(--peach)}

.demo-card{background:#fff;border:0.0625rem solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:box-shadow .2s,transform .2s}
.demo-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-0.1875rem)}
.demo-card__bar{height:2.25rem;background:#EFEFF2;display:flex;align-items:center;gap:0.3125rem;padding:0 1rem}
.demo-card__bar i{width:0.375rem;height:0.375rem;border-radius:50%;background:#C9C9CF}
.demo-card__body{padding:1.375rem 1.625rem;display:flex;flex-direction:column;gap:0.5rem}
.demo-card__lang{font-size:0.6875rem;font-weight:700;letter-spacing:.08em;color:var(--orange)}
.demo-card__title{font-size:1rem;font-weight:700;line-height:1.5;color:var(--ink)}
.demo-card--rtl .demo-card__body{text-align:right;direction:rtl}

.adv-card{display:flex;flex-direction:column;gap:0.875rem;padding:1.75rem;border-radius:var(--r-lg)}
.adv-card--cream{background:var(--cream)}
.adv-card--line{background:#fff;border:0.0625rem solid var(--line)}
.adv-card__icon{width:2.5rem;height:2.5rem}
.adv-card__title{font-size:1.25rem;font-weight:600;color:var(--ink)}
.adv-card__desc{font-size:0.875rem;line-height:1.8;color:var(--body)}

.speed{background:var(--navy);padding:3rem var(--pad-x)}
.speed__row{max-width:var(--content);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.speed__num{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:700;color:var(--peach);font-variant-numeric:tabular-nums}
.speed__label{font-size:0.8125rem;line-height:1.55;color:var(--on-dark);margin-top:0.375rem;white-space:pre-line}

/* ==========================================================================
   趋势洞察
   ========================================================================== */
.insights{display:flex;gap:3rem;align-items:flex-start}
.insights__side{width:17.5rem;flex:none;display:flex;flex-direction:column;gap:1.5rem}
.side-card{padding:1.75rem;border-radius:var(--r-sm)}
.side-card--cream{background:var(--cream)}
.side-card--line{background:#fff;border:0.0625rem solid var(--line)}
.side-card__title{font-size:1.125rem;font-weight:600;color:var(--ink);margin-bottom:1.125rem}
.cat-list{display:flex;flex-direction:column;gap:0.875rem}
.cat-list a{font-size:0.9375rem;color:var(--body);transition:color .18s}
.cat-list a:hover{color:var(--orange)}
.cat-list a.is-active{font-weight:500;color:var(--orange)}
.tag-row{display:flex;flex-wrap:wrap;gap:0.625rem}
.chip{
  display:inline-flex;align-items:center;padding:0.5625rem 1rem;border-radius:6.25rem;
  background:#fff;border:0.0625rem solid var(--line);font-size:0.8125rem;color:var(--body);
  transition:border-color .18s,color .18s,background-color .18s;cursor:pointer;
}
.chip:hover{border-color:rgba(238,115,22,.55);color:var(--orange)}
.chip.is-selected{background:var(--orange);border-color:var(--orange);color:#fff}

.postlist{flex:1;display:flex;flex-direction:column;gap:1.5rem}
.postitem{
  display:flex;gap:1.75rem;padding:1.75rem;background:#fff;border:0.0625rem solid var(--line);
  border-radius:var(--r-sm);transition:border-color .2s,box-shadow .2s;
}
.postitem:hover{border-color:rgba(238,115,22,.55);box-shadow:var(--shadow-hover)}
.postitem__date{width:5.75rem;flex:none;display:flex;flex-direction:column;align-items:center;gap:0.5rem}
.postitem__year{font-size:1.625rem;font-weight:700;color:var(--ink);line-height:1.1}
.postitem__day{
  padding:0.25rem 0.625rem;border-radius:0.5rem;background:var(--orange);
  font-size:0.75rem;font-weight:500;color:#fff;white-space:nowrap;
}
.postitem__body{display:flex;flex-direction:column;gap:0.5rem}
.postitem__title{font-size:1.0625rem;font-weight:600;line-height:1.55;color:var(--ink)}
.postitem:hover .postitem__title{color:var(--orange)}
.postitem__desc{font-size:0.8125rem;line-height:1.75;color:var(--body)}
.postitem__link{font-size:0.8125rem;font-weight:600;color:var(--orange)}

/* ==========================================================================
   了解盘网互联
   ========================================================================== */
.about-hero{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#121043 0%,#2E29A0 100%);
  padding:6rem var(--pad-x);
}
.about-hero__inner{position:relative;z-index:2;max-width:var(--content);margin:0 auto;display:flex;flex-direction:column;gap:1.125rem}
.about-hero__eyebrow{font-size:0.8125rem;color:var(--peach-soft)}
.about-hero__title{font-size:clamp(1.875rem,3.2vw,2.75rem);font-weight:700;color:#fff}
.about-hero__sub2{font-size:1.125rem;color:var(--peach-soft)}
.about-hero__sub{font-size:1rem;line-height:1.8;color:var(--on-dark);max-width:71.25rem}
.about-hero__deco{position:absolute;inset:0;pointer-events:none}
.about-hero__deco .d-ring{position:absolute;right:-18.75rem;top:-20rem;width:62.5rem}

.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.step{
  padding:1.375rem 1.5rem;border-radius:var(--r-sm);background:var(--cream);
  display:flex;flex-direction:column;gap:0.375rem;
}
.step__no{font-size:1.375rem;font-weight:700;color:var(--orange);line-height:1.1}
.step__en{font-size:0.6875rem;letter-spacing:.06em;color:var(--muted)}
.step__name{font-size:1rem;font-weight:600;color:var(--ink)}

.about-text{max-width:100%;font-size:0.9375rem;line-height:1.95;color:var(--body)}
.metric-row{display:flex;flex-wrap:wrap;gap:2.5rem;margin-top:1.625rem;padding-top:0.625rem}
.metric{display:flex;align-items:center;gap:0.875rem}
.metric__bar{width:0.1875rem;height:2.875rem;border-radius:0.125rem;background:var(--orange);flex:none}
.metric__num{font-size:2.25rem;font-weight:700;color:var(--orange);line-height:1.1;font-variant-numeric:tabular-nums}
.metric__label{font-size:0.8125rem;color:var(--body);line-height:1.4}

.rangecard{display:flex;flex-direction:column;gap:0.75rem;padding:1.5rem;background:#fff;border-radius:var(--r-sm)}
.rangecard__icon{width:2.75rem;height:2.75rem}
.rangecard__icon img{width:2.75rem;height:2.75rem}
.rangecard__title{font-size:0.9375rem;font-weight:600;color:var(--ink)}
.rangecard__desc{font-size:0.75rem;line-height:1.7;color:var(--body)}

.teamgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.teamcard{display:flex;flex-direction:column;gap:0.875rem;padding:2.5rem;border-radius:var(--r-lg);background:var(--cream)}
.teamcard__eyebrow{font-size:0.8125rem;color:var(--orange)}
.teamcard__title{font-size:1.25rem;font-weight:600;line-height:1.5;color:var(--ink)}
.teamcard__desc{font-size:0.875rem;line-height:1.9;color:var(--body)}

.databand{background:var(--navy);padding:4.5rem var(--pad-x)}
.databand__inner{max-width:var(--content);margin:0 auto;display:flex;align-items:center;gap:3.5rem}
.databand__num{font-size:clamp(2.5rem,4.2vw,3.75rem);font-weight:700;color:#fff;flex:none}
.databand__title{font-size:1.375rem;font-weight:600;color:#fff}
.databand__en{font-size:0.8125rem;color:var(--peach-soft);margin:0.5rem 0}
.databand__desc{font-size:0.875rem;line-height:1.8;color:var(--on-dark)}

.contactcard{display:flex;flex-direction:column;gap:0.625rem;padding:2rem 2.25rem;border-radius:var(--r-sm);background:var(--cream)}
.contactcard__label{font-size:0.8125rem;color:var(--orange)}
.contactcard__addr{font-size:1rem;color:var(--ink)}
.contactcard__tel{font-size:1.625rem;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}

/* ==========================================================================
   联系我们 · 表单
   ========================================================================== */
.contact-layout{display:flex;gap:2.5rem;align-items:flex-start}
.form-card{
  flex:1;display:flex;flex-direction:column;gap:1.375rem;padding:2.5rem;
  background:#fff;border:0.0625rem solid var(--line);border-radius:var(--r-md);
}
.form-card__title{font-size:1.375rem;font-weight:700;color:var(--ink)}
.form-card__note{font-size:0.8125rem;color:var(--body);margin-top:-0.875rem}
.field{display:flex;flex-direction:column;gap:0.5rem}
.field__label{font-size:0.8125rem;font-weight:500;color:var(--ink)}
.field__label em{font-style:normal;color:var(--orange)}
.input,.textarea{
  width:100%;padding:0.875rem 1rem;border:0.0625rem solid var(--line);border-radius:var(--r-xs);
  background:var(--form-bg);font:inherit;font-size:0.875rem;color:var(--ink);
  transition:border-color .18s,background-color .18s,box-shadow .18s;
}
.input::placeholder,.textarea::placeholder{color:var(--muted)}
.input:hover,.textarea:hover{border-color:#CFCFCF}
.input:focus,.textarea:focus{
  outline:none;background:#fff;border-color:var(--orange);box-shadow:0 0 0 0.125rem rgba(238,115,22,.18);
}
.textarea{min-height:7.5rem;resize:vertical;line-height:1.7}
.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
.form-group{display:flex;flex-direction:column;gap:0.75rem}
.form-group__label{font-size:0.8125rem;font-weight:500;color:var(--ink)}
.chip-row{display:flex;flex-wrap:wrap;gap:0.625rem}
.form-submit{width:100%;height:3.25rem}
.form-privacy{font-size:0.75rem;color:var(--muted)}

.contact-side{width:22.5rem;flex:none;display:flex;flex-direction:column;gap:1.5rem}
.sidebox{display:flex;flex-direction:column;gap:1rem;padding:2rem;border-radius:var(--r-md)}
.sidebox--navy{background:var(--navy);gap:1.25rem}
.sidebox--line{background:#fff;border:0.0625rem solid var(--line)}
.sidebox__title{font-size:1.125rem;font-weight:600;color:#fff}
.sidebox--line .sidebox__title{font-size:1rem;color:var(--ink)}
.office{display:flex;flex-direction:column;gap:0.375rem}
.office__label{font-size:0.75rem;color:var(--peach)}
.office__addr{font-size:0.8125rem;line-height:1.6;color:var(--on-dark)}
.office__tel{font-size:1.125rem;font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
.checklist{display:flex;flex-direction:column;gap:0.75rem}
.checklist li{position:relative;padding-left:1.375rem;font-size:0.8125rem;line-height:1.65;color:var(--body)}
.checklist li::before{content:"✓";position:absolute;left:0;color:var(--orange);font-weight:700}

/* ==========================================================================
   服务详情
   ========================================================================== */
.overview{display:flex;gap:4rem;align-items:flex-start}
.overview__copy{flex:1;display:flex;flex-direction:column;gap:1.25rem}
.overview__eyebrow{font-size:0.8125rem;color:var(--orange)}
.overview__title{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:700;line-height:1.4;color:var(--ink);white-space:pre-line}
.overview__body{font-size:0.9375rem;line-height:1.9;color:var(--body)}
.dashlist{display:flex;flex-direction:column;gap:0.75rem;margin-top:0.25rem}
.dashlist li{position:relative;padding-left:1.375rem;font-size:0.875rem;font-weight:500;color:var(--ink)}
.dashlist li::before{content:"—";position:absolute;left:0;color:var(--orange)}
.overview__img{width:35rem;flex:none}
.overview__img img{width:100%;border-radius:var(--r-md)}

.deliver{display:flex;flex-direction:column;gap:0.75rem;padding:1.75rem;background:#fff;border-radius:var(--r-sm)}
.deliver__no{font-size:0.875rem;font-weight:700;color:var(--orange)}
.deliver__title{font-size:1.0625rem;font-weight:600;color:var(--ink)}
.deliver__desc{font-size:0.8125rem;line-height:1.8;color:var(--body)}

.plan{display:flex;flex-direction:column;gap:1rem;padding:2rem;border-radius:1.125rem;background:#fff;border:0.0625rem solid var(--line)}
.plan--featured{background:#FFF9F4;border-color:var(--orange)}
.plan__name{font-size:1.125rem;font-weight:600;color:var(--ink)}
.plan__price{font-size:1.875rem;font-weight:700;color:var(--orange);font-variant-numeric:tabular-nums}
.plan__fit{font-size:0.8125rem;color:var(--body)}
.plan__list{display:flex;flex-direction:column;gap:0.625rem;flex:1}
.plan__list li{position:relative;padding-left:1.375rem;font-size:0.8125rem;line-height:1.6;color:var(--ink)}
.plan__list li::before{content:"✓";position:absolute;left:0;color:var(--orange);font-weight:700}
.plan .btn{align-self:stretch}

.faq{background:#fff;border-radius:1.125rem;padding:0.5rem 2.5rem}
.faq__item{padding:1.375rem 0;display:flex;flex-direction:column;gap:0.5rem}
.faq__item + .faq__item{border-top:0.0625rem solid var(--cream)}
.faq__q{font-size:1rem;font-weight:600;color:var(--ink)}
.faq__a{font-size:0.875rem;line-height:1.85;color:var(--body)}

/* ==========================================================================
   案例详情
   ========================================================================== */
.cd-hero{background:var(--navy);padding:5rem var(--pad-x)}
.cd-hero__inner{max-width:var(--content);margin:0 auto;display:flex;flex-direction:column;gap:1.125rem}
.cd-hero__crumb{font-size:0.8125rem;color:var(--on-dark)}
.cd-hero__tag{font-size:0.8125rem;color:var(--peach)}
.cd-hero__title{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;color:#fff}
.cd-hero__sub{font-size:0.9375rem;line-height:1.85;color:var(--on-dark);max-width:76.875rem}

.cd-heroimg{padding:4rem var(--pad-x) 2.5rem}
.cd-heroimg img{width:100%;border-radius:var(--r-md)}

.cd-info{padding:0 var(--pad-x) 4rem}
.cd-info__bar{
  max-width:var(--content);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;
  padding:1.75rem 2.5rem;background:var(--cream);border-radius:var(--r-sm);
}
.cd-info__item{display:flex;flex-direction:column;gap:0.375rem}
.cd-info__label{font-size:0.75rem;color:var(--body)}
.cd-info__value{font-size:0.9375rem;font-weight:500;color:var(--ink)}

.cd-body{
  display:flex;gap:4rem;align-items:flex-start;padding:0 var(--pad-x) 6rem;
  max-width:calc(var(--content) + 2*var(--pad-x));margin:0 auto;width:100%;
  box-sizing:border-box;
}
.cd-article{flex:1;display:flex;flex-direction:column;gap:2rem}
.cd-sec{display:flex;flex-direction:column;gap:0.75rem}
.cd-sec__title{font-size:1.5rem;font-weight:700;color:var(--ink)}
.cd-sec p{font-size:0.9375rem;line-height:1.95;color:var(--body)}
.cd-sec ul{display:flex;flex-direction:column;gap:0.625rem}
.cd-sec li{position:relative;padding-left:1.375rem;font-size:0.875rem;font-weight:500;color:var(--ink)}
.cd-sec li::before{content:"—";position:absolute;left:0;color:var(--orange)}

.cd-side{width:22.5rem;flex:none;display:flex;flex-direction:column;gap:1.5rem}
.result-card{display:flex;flex-direction:column;gap:1.25rem;padding:2rem;border-radius:var(--r-md);background:var(--navy)}
.result-card__title{font-size:1.125rem;font-weight:600;color:#fff}
.result{display:flex;flex-direction:column;gap:0.25rem}
.result__num{font-size:1.625rem;font-weight:700;color:var(--peach);font-variant-numeric:tabular-nums}
.result__label{font-size:0.75rem;color:var(--on-dark)}
.consult-card{display:flex;flex-direction:column;gap:0.75rem;padding:2rem;border-radius:var(--r-md);background:#fff;border:0.0625rem solid var(--line)}
.consult-card__title{font-size:1rem;font-weight:600;color:var(--ink)}
.consult-card p{font-size:0.8125rem;line-height:1.7;color:var(--body)}
.consult-card .btn{align-self:stretch}

/* ==========================================================================
   文章详情
   ========================================================================== */
.article-layout{
  display:flex;gap:4rem;align-items:flex-start;padding:0 var(--pad-x) 6rem;
  max-width:calc(var(--content) + 2*var(--pad-x));margin:0 auto;width:100%;
  box-sizing:border-box;
}
.article{flex:1;display:flex;flex-direction:column;gap:1.5rem;max-width:72.75rem}
.lead{display:flex;gap:1rem}
.lead__bar{width:0.25rem;border-radius:0.125rem;background:var(--orange);flex:none;align-self:stretch}
.lead p{font-size:1.0625rem;line-height:1.85;color:var(--ink)}
.article h2{font-size:1.375rem;font-weight:700;line-height:1.5;color:var(--ink);margin-top:0.5rem}
.article p{font-size:0.9375rem;line-height:1.95;color:var(--body)}
.cmp{display:flex;flex-direction:column;gap:1.25rem;padding:2rem;background:var(--cream);border-radius:0.875rem}
.cmp__row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.cmp__row > *{font-size:0.8125rem;line-height:1.7}
.cmp__row--head > *{font-weight:600;color:var(--ink)}
.cmp__row--data > *{color:var(--body)}
.quote{display:flex;gap:1rem}
.quote__bar{width:0.25rem;border-radius:0.125rem;background:var(--orange);flex:none;align-self:stretch}
.quote p{font-size:1rem;line-height:1.85;color:var(--ink);font-weight:500}
.ordered{display:flex;flex-direction:column;gap:0.625rem}
.ordered li{position:relative;padding-left:1.5rem;font-size:0.9375rem;line-height:1.85;color:var(--body)}
.ordered li::before{position:absolute;left:0;font-weight:600;color:var(--orange)}

.aside{width:22.5rem;flex:none;display:flex;flex-direction:column;gap:1.5rem}
.aside-card{display:flex;flex-direction:column;gap:0.875rem;padding:1.75rem;border-radius:1.125rem}
.aside-card--line{background:#fff;border:0.0625rem solid var(--line)}
.aside-card--cream{background:var(--cream);gap:1rem}
.aside-card--navy{background:var(--navy);gap:0.75rem}
.aside-card__title{font-size:1rem;font-weight:600;color:var(--ink)}
.aside-card--navy .aside-card__title{color:#fff}
.aside-card dl{display:flex;flex-direction:column;gap:0.625rem}
.aside-card dt,.aside-card dd{margin:0;font-size:0.8125rem;color:var(--body)}
.readitem{display:flex;flex-direction:column;gap:0.25rem;padding-bottom:0.875rem}
.readitem + .readitem{border-top:0.0625rem solid var(--line)}
.readitem__title{font-size:0.875rem;font-weight:500;line-height:1.55;color:var(--ink)}
.readitem:hover .readitem__title{color:var(--orange)}
.readitem__date{font-size:0.75rem;color:var(--orange)}
.consult-mini p{font-size:0.8125rem;line-height:1.7;color:var(--on-dark)}
.consult-mini .btn{align-self:stretch}

.prevnext{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;padding:0 var(--pad-x) 6rem}
.pn-card{display:flex;flex-direction:column;gap:0.375rem;padding:1.5rem 1.75rem;border-radius:var(--r-sm);background:var(--cream)}
.pn-card__dir{font-size:0.75rem;color:var(--body)}
.pn-card__title{font-size:0.9375rem;font-weight:500;line-height:1.6;color:var(--ink)}
.pn-card:hover .pn-card__title{color:var(--orange)}

/* ==========================================================================
   加入我们
   ========================================================================== */
.career-hero{
  position:relative;overflow:hidden;padding:5.5rem var(--pad-x);
  background:linear-gradient(135deg,#121043 0%,#2E29A0 100%);
}
.career-hero__inner{position:relative;z-index:2;max-width:var(--content);margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}
.career-hero__eyebrow{font-size:0.8125rem;color:var(--peach)}
.career-hero__title{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;line-height:1.35;color:#fff;white-space:pre-line}
.career-hero__sub{font-size:0.9375rem;line-height:1.85;color:var(--on-dark);max-width:71.25rem}
.career-hero__data{display:flex;gap:3.5rem;margin-top:0.375rem}
.cd__num{font-size:1.875rem;font-weight:700;color:var(--peach);font-variant-numeric:tabular-nums}
.cd__label{font-size:0.75rem;color:var(--on-dark);margin-top:0.25rem}
.career-hero__deco{position:absolute;inset:0;pointer-events:none}
.career-hero__deco .d-ring{position:absolute;right:-17.5rem;top:-18.75rem;width:51.25rem}

.culture{display:flex;flex-direction:column;gap:0.75rem;padding:1.75rem;border-radius:var(--r-sm);background:var(--cream)}
.culture__no{font-size:0.875rem;font-weight:700;color:var(--orange)}
.culture__title{font-size:1rem;font-weight:600;color:var(--ink)}
.culture__desc{font-size:0.8125rem;line-height:1.8;color:var(--body)}

.welfare{display:flex;flex-direction:column;gap:0.625rem;padding:1.75rem;background:#fff;border-radius:var(--r-sm)}
.welfare__title{font-size:1rem;font-weight:600;color:var(--ink)}
.welfare__desc{font-size:0.8125rem;line-height:1.75;color:var(--body)}

.joblist{background:#fff;border:0.0625rem solid var(--line);border-radius:1.125rem;padding:0.5rem 2.5rem}
.job{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.5rem 0}
.job + .job{border-top:0.0625rem solid var(--cream)}
.job__name{font-size:1rem;font-weight:600;color:var(--ink)}
.job__meta{font-size:0.8125rem;color:var(--body);margin-top:0.125rem}
.job__loc{font-size:0.8125rem;font-weight:500;color:var(--orange);white-space:nowrap}
.job__arrow{font-size:1.125rem;color:var(--orange);transition:transform .2s}
.job:hover .job__arrow{transform:translateX(0.25rem)}

.flow{display:flex;gap:1rem}
.flow__item{flex:1;display:flex;flex-direction:column;gap:0.375rem}
.flow__no{font-size:1rem;font-weight:700;color:var(--orange)}
.flow__name{font-size:0.9375rem;font-weight:500;color:var(--ink)}

.apply-card{display:flex;flex-direction:column;gap:0.875rem;padding:2.5rem;background:#fff;border-radius:1.125rem}
.apply-card__title{font-size:1.25rem;font-weight:700;color:var(--ink)}
.apply-card__desc{font-size:0.875rem;line-height:1.85;color:var(--body)}
.apply-card__mail{font-size:1.25rem;font-weight:700;color:var(--orange)}
.apply-card__tel{font-size:0.8125rem;color:var(--body)}

/* ==========================================================================
   响应式：平板 768 / 移动 375
   ========================================================================== */
@media (max-width:1918px){
  :root{--pad-x:4rem}
}
@media (max-width:1534px){
  :root{--pad-x:3rem}
  .grid--4{grid-template-columns:repeat(2,1fr)}
  .grid--3{grid-template-columns:repeat(2,1fr)}
  .hero__inner{min-height:0;padding-top:3.5rem;padding-bottom:3.5rem;gap:2.5rem}
  .hero__visual{width:44%}
  .band__head{flex-direction:column;align-items:flex-start}
  .stats__row{gap:1.5rem}
  .steps{grid-template-columns:repeat(3,1fr)}
  .insights{flex-direction:column}
  .insights__side{width:100%;flex-direction:row;flex-wrap:wrap}
  .insights__side > .side-card{flex:1;min-width:16.25rem}
  .overview{flex-direction:column;gap:2.5rem}
  .overview__img{width:100%}
  .contact-layout{flex-direction:column}
  .contact-side{width:100%;flex-direction:row;flex-wrap:wrap}
  .contact-side > .sidebox{flex:1;min-width:18.75rem}
  .cd-body,.article-layout{flex-direction:column;gap:2.5rem}
  .cd-side,.aside{width:100%}
  .databand__inner{flex-direction:column;align-items:flex-start;gap:1.5rem}

  /* 导航转汉堡 */
  .nav__right{display:none}
  .nav__burger{display:flex}
  .nav__panel{
    display:none;flex-direction:column;gap:0.25rem;
    padding:0.75rem var(--pad-x) 1.5rem;background:#fff;border-bottom:0.0625rem solid var(--line);
  }
  .nav-open .nav__panel{display:flex}
  .nav-open .nav__burger span:nth-child(1){transform:translateY(0.4375rem) rotate(45deg)}
  .nav-open .nav__burger span:nth-child(2){opacity:0}
  .nav-open .nav__burger span:nth-child(3){transform:translateY(-0.4375rem) rotate(-45deg)}
  .nav__panel > a{padding:0.75rem 0;font-size:1rem;font-weight:500;color:var(--ink);border-bottom:0.0625rem solid var(--cream)}
  .nav__panel > a.is-active{color:var(--orange)}
  .nav__panel .btn{margin-top:1rem}
}
@media (max-width:1150px){
  :root{--pad-x:1.25rem}
  .section{padding:3.5rem var(--pad-x)}
  .section--tight{padding:3rem var(--pad-x)}
  .grid--2,.grid--3,.grid--4{grid-template-columns:1fr}
  .band__cards{grid-template-columns:1fr}
  .speed__row{grid-template-columns:1fr;gap:1.5rem}
  .stats__row{grid-template-columns:repeat(2,1fr);gap:1.25rem}
  .hero__inner{flex-direction:column;align-items:flex-start;gap:1.75rem}
  .hero__visual{width:100%}
  .hero__title{font-size:2.125rem}
  .teamgrid{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
  .cd-info__bar{grid-template-columns:repeat(2,1fr);padding:1.5rem}
  .cd-body,.article-layout{padding-left:var(--pad-x);padding-right:var(--pad-x)}
  .form-card{padding:1.5rem}
  .form-row{grid-template-columns:1fr}
  .contact-side{flex-direction:column}
  .cmp__row{grid-template-columns:1fr;gap:0.375rem}
  .cmp__row > * + *{margin-top:0.125rem}
  .cmp__row--head > *{font-size:0.75rem}
  .prevnext{grid-template-columns:1fr}
  .flow{flex-direction:column;gap:0.875rem}
  .career-hero__data{gap:1.75rem;flex-wrap:wrap}
  .joblist,.faq,.apply-card{padding-left:1.25rem;padding-right:1.25rem}
  .job{flex-wrap:wrap}
  .footer__top{flex-direction:column;gap:2.5rem}
  .footer__cols{gap:2rem}
  .cta__deco .d-dots{display:none}
  .postitem{flex-direction:column;gap:1rem}
  .postitem__date{flex-direction:row;align-items:center;gap:0.625rem}
}
@media (max-width:958px){
  .steps{grid-template-columns:1fr}
  .band__head .btn{align-self:flex-start}
}

/* ==========================================================================
   动态特效（由 js/effects.js 驱动）
   全部为渐进增强：脚本不可用时页面按静态稿正常呈现。
   ========================================================================== */
html{scroll-behavior:smooth}

/* ---------- 关键帧 ---------- */
@keyframes heroUp{from{opacity:0;transform:translateY(2.25rem)}to{opacity:1;transform:none}}
@keyframes chipIn{from{opacity:0;transform:translateY(0.75rem) scale(.94)}to{opacity:1;transform:none}}
@keyframes spinSlow{to{transform:rotate(360deg)}}
@keyframes breathe{0%,100%{opacity:.72;transform:scale(1)}50%{opacity:1;transform:scale(1.07)}}
@keyframes pulseDot{
  0%{box-shadow:0 0 0 0 rgba(255,162,87,.6)}
  70%{box-shadow:0 0 0 0.625rem rgba(255,162,87,0)}
  100%{box-shadow:0 0 0 0 rgba(255,162,87,0)}
}
@keyframes shimmer{from{transform:translateX(-130%)}to{transform:translateX(130%)}}
@keyframes fillBar{from{width:0}to{width:100%}}
@keyframes imgIn{from{opacity:0}to{opacity:1}}
@keyframes shakeX{
  10%,90%{transform:translateX(-0.125rem)}
  30%,70%{transform:translateX(0.25rem)}
  50%{transform:translateX(-0.375rem)}
}

/* ---------- 顶部滚动进度条 ---------- */
.scrollbar{
  position:fixed;left:0;top:0;height:0.125rem;width:0;z-index:80;pointer-events:none;
  background:linear-gradient(90deg,var(--orange),var(--peach));
  transition:opacity .45s;
}
.scrollbar.is-idle{opacity:0}

/* ---------- 导航滚动态 ---------- */
.nav{transition:box-shadow .32s}
.nav__logo img{transition:transform .32s cubic-bezier(.22,.61,.36,1)}
.nav.is-scrolled{box-shadow:0 0.5rem 1.75rem rgba(28,25,71,.10)}
.nav.is-scrolled .nav__logo img{transform:scale(.9)}

/* ---------- Hero 载入动效 ---------- */
html.is-ready .hero__badge{animation:heroUp .7s .05s both}
html.is-ready .hero__title{animation:heroUp .85s .16s both}
html.is-ready .hero__sub{animation:heroUp .85s .28s both}
html.is-ready .hero__btns{animation:heroUp .85s .38s both}
html.is-ready .hero__trust{animation:heroUp .85s .46s both}
html.is-ready .hero__visual{animation:heroUp 1s .24s both}
.hero__badge i{animation:pulseDot 2.6s ease-out infinite}
html.is-ready .hero__deco .d-ring{animation:spinSlow 120s linear infinite}
.hero__deco .d-glow{animation:breathe 9s ease-in-out infinite}
.hero__visual img{transition:transform .5s cubic-bezier(.22,.61,.36,1)}

html.is-ready .lang-chips .lang-chip{animation:chipIn .55s both}
html.is-ready .lang-chips .lang-chip:nth-child(1){animation-delay:.52s}
html.is-ready .lang-chips .lang-chip:nth-child(2){animation-delay:.6s}
html.is-ready .lang-chips .lang-chip:nth-child(3){animation-delay:.68s}
html.is-ready .lang-chips .lang-chip:nth-child(4){animation-delay:.76s}
html.is-ready .lang-chips .lang-chip:nth-child(5){animation-delay:.84s}

/* ---------- 滚动入场 ---------- */
.rv{
  opacity:0;transform:translateY(2rem);
  transition:opacity .75s cubic-bezier(.22,.61,.36,1),transform .75s cubic-bezier(.22,.61,.36,1);
  transition-delay:var(--rv-d,0ms);
}
.rv-in{opacity:1;transform:none}
.rv .metric__bar{
  transform:scaleY(0);transform-origin:top;
  transition:transform .7s cubic-bezier(.22,.61,.36,1) .12s;
}
.metric.rv-in .metric__bar{transform:scaleY(1)}

/* ---------- 卡片聚光跟随 ---------- */
@media (hover:hover) and (pointer:fine){
  :is(.svc-card,.case-card,.post-card,.numcard,.adv-card,.demo-card,.plan,.side-card,
      .welfare,.culture,.teamcard,.deliver,.job,.result-card,.apply-card,.contactcard,
      .rangecard,.pn-card,.aside-card,.consult-card,.form-card,.band__card){
    position:relative;--mx:50%;--my:50%;
  }
  :is(.svc-card,.case-card,.post-card,.numcard,.adv-card,.demo-card,.plan,.side-card,
      .welfare,.culture,.teamcard,.deliver,.job,.result-card,.apply-card,.contactcard,
      .rangecard,.pn-card,.aside-card,.consult-card,.form-card,.band__card)::before{
    content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
    opacity:0;transition:opacity .35s;
    background:radial-gradient(26rem circle at var(--mx) var(--my),rgba(238,115,22,.14),transparent 62%);
  }
  :is(.svc-card,.case-card,.post-card,.numcard,.adv-card,.demo-card,.plan,.side-card,
      .welfare,.culture,.teamcard,.deliver,.job,.result-card,.apply-card,.contactcard,
      .rangecard,.pn-card,.aside-card,.consult-card,.form-card,.band__card):hover::before{opacity:1}
  :is(.numcard--navy,.result-card,.band__card,.sidebox--navy,.aside-card--navy)::before{
    background:radial-gradient(26rem circle at var(--mx) var(--my),rgba(255,162,87,.20),transparent 62%);
  }
}

/* ---------- 按钮流光 / 表单态 ---------- */
.btn--primary{position:relative;overflow:hidden}
.btn--primary::after{
  content:"";position:absolute;top:0;bottom:0;left:0;width:60%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.34),transparent);
  transform:translateX(-130%);
}
.btn--primary:hover::after{animation:shimmer .9s ease}
.form-submit.is-loading::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:0;
  background:rgba(255,255,255,.26);animation:fillBar 1.1s ease forwards;
}
.form-submit.is-done{background:#2E9E63}
.form-submit.is-done::after{display:none}
.input.shake,.textarea.shake{animation:shakeX .5s ease}
.input.is-invalid,.textarea.is-invalid{background:#FFF7F7}

/* ---------- 图片渐显 ---------- */
img.img-fade{opacity:0}
img.img-fade.img-in{animation:imgIn .7s ease both}

/* ---------- FAQ 折叠 ---------- */
.faq__item{transition:gap .3s}
.faq__q{
  display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;
  cursor:pointer;transition:color .2s;
}
.faq__q:hover{color:var(--orange)}
.faq__q:focus-visible{outline:0.125rem solid var(--orange);outline-offset:0.25rem;border-radius:0.25rem}
.faq__q::after{
  content:"";width:0.4375rem;height:0.4375rem;flex:none;margin-top:0.5625rem;
  border-right:0.125rem solid var(--orange);border-bottom:0.125rem solid var(--orange);
  transform:rotate(45deg);transition:transform .3s;
}
.faq__item.is-closed .faq__q::after{transform:rotate(-45deg)}
.faq__a{overflow:hidden;max-height:60rem;opacity:1;transition:max-height .42s ease,opacity .3s}
.faq__item.is-closed .faq__a{max-height:0;opacity:0}
.faq__item.is-closed{gap:0}

/* ---------- 回到顶部 ---------- */
.totop{
  position:fixed;right:2rem;bottom:2rem;z-index:70;
  width:2.75rem;height:2.75rem;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--orange);color:#fff;
  box-shadow:0 0.75rem 1.75rem rgba(238,115,22,.34);
  opacity:0;transform:translateY(1rem) scale(.92);pointer-events:none;
  transition:opacity .3s,transform .3s,background-color .2s;
}
.totop.is-on{opacity:1;transform:none;pointer-events:auto}
.totop:hover{background:#D9650D;transform:translateY(-0.1875rem)}
.totop:active{transform:translateY(0)}
.totop svg{width:1.25rem;height:1.25rem}
@media (max-width:958px){
  .totop{right:1.25rem;bottom:1.25rem;width:2.5rem;height:2.5rem}
}

/* ---------- 静态开关（URL 加 ?fx=off） ---------- */
html.fx-off *,html.fx-off *::before,html.fx-off *::after{
  animation:none!important;transition:none!important;
}

/* ---------- 无障碍 ---------- */
:where(a,button):focus-visible{outline:0.125rem solid var(--orange);outline-offset:0.1875rem;border-radius:0.25rem}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-delay:0ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    transition-delay:0ms!important;
  }
  .rv{opacity:1!important;transform:none!important}
  .rv .metric__bar{transform:none!important}
  .faq__a{max-height:none!important;opacity:1!important}
  img.img-fade{opacity:1!important}
}

/* ---------- 六处修改：CTA 二维码 / 页脚城市背景 / 备案链接 / 联系人 ---------- */
/* CTA 微信二维码（桌面居右悬浮，窄屏移到按钮下方） */
.cta__qr{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:0.75rem}
.cta__qr img{width:10rem;height:10rem;background:#fff;border-radius:0.875rem;padding:0.625rem;box-shadow:0 1.5rem 3rem rgba(10,8,60,.28)}
.cta__qr-cap{font-size:0.8125rem;color:var(--on-dark-2);letter-spacing:0.05em}
@media (min-width:1151px){
  .cta__inner{padding-right:13.5rem}
}
@media (max-width:1150px){
  .cta__qr{position:static;transform:none;margin-top:1.75rem;flex-direction:row;gap:1rem}
  .cta__qr img{width:7.5rem;height:7.5rem;padding:0.5rem}
}

/* 页脚安徽城市背景字（按城市级别分大小） */
.footer__cities{position:absolute;inset:0;overflow:hidden;pointer-events:none;user-select:none}
.footer__cities span{position:absolute;font-weight:700;color:#fff;line-height:1;letter-spacing:0.12em;white-space:nowrap}
@media (max-width:958px){
  .footer__cities{display:none}
}

/* 页脚备案号链接 */
.footer__bottom a.icp{color:inherit;text-decoration:none;transition:color .18s}
.footer__bottom a.icp:hover{color:var(--peach)}

/* 联系页联系人 */
.office__person{font-size:0.8125rem;color:var(--on-dark)}

/* 城市背景字 v2：四座大城放 CTA 区空档 */
.cta__cities{position:absolute;inset:0;overflow:hidden;pointer-events:none;user-select:none}
.cta__cities span{position:absolute;font-weight:700;color:#fff;line-height:1;letter-spacing:0.12em;white-space:nowrap}
@media (max-width:958px){
  .cta__cities{display:none}
}
@media (max-width:1150px){
  .footer__cities{display:none}
}

/* 页脚迎客松线稿背景（替代城市字） */
.footer__pine{position:absolute;left:-2%;bottom:0;height:88%;pointer-events:none;user-select:none;opacity:.11}
.footer__pine img{height:100%;width:auto;display:block}
@media (max-width:1150px){
  .footer__pine{height:60%;left:-4%;opacity:.09}
}
@media (max-width:767px){
  .footer__pine{display:none}
}

/* 云海等高线底纹（CTA 右下 + 页脚顶部） */
.cta__contours,.footer__contours{position:absolute;pointer-events:none;user-select:none}
.cta__contours{right:-6%;bottom:-14%;width:50%;opacity:.07}
.cta__contours svg,.footer__contours svg{width:100%;height:auto;display:block}
.footer__contours{right:6%;top:-8%;width:42%;opacity:.055}
@media (max-width:958px){
  .cta__contours,.footer__contours{display:none}
}

/* 页脚线稿中江塔（与迎客松呼应） */
.footer__pagoda{position:absolute;right:-3%;bottom:0;height:76%;pointer-events:none;user-select:none;opacity:.1}
.footer__pagoda svg{height:100%;width:auto;display:block}
@media (max-width:1150px){
  .footer__pagoda{height:54%;right:-5%;opacity:.09}
}
@media (max-width:767px){
  .footer__pagoda{display:none}
}
