.footer{background:#0F1923;position:relative;overflow:hidden}

.ft-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.ft-blob1{position:absolute;top:-180px;left:-120px;width:560px;height:560px;background:radial-gradient(circle,rgba(0,169,133,0.08) 0%,transparent 65%)}
.ft-blob2{position:absolute;bottom:-180px;right:-120px;width:480px;height:480px;background:radial-gradient(circle,rgba(0,196,154,0.06) 0%,transparent 65%)}
.ft-blob3{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:800px;height:400px;background:radial-gradient(ellipse,rgba(0,169,133,0.03) 0%,transparent 70%)}
.ft-topline{position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(0,169,133,0.5) 30%,rgba(0,196,154,0.5) 70%,transparent 100%)}

/* ── CTA 横幅 ── */
.ft-cta{position:relative;z-index:1;padding:72px 0}
.ft-cta-inner{max-width:1280px;margin:0 auto;padding:0 64px;display:flex;align-items:center;justify-content:space-between;gap:48px}
.ft-cta-left h2{font-size:36px;font-weight:800;color:var(--w);letter-spacing:-1.2px;line-height:1.18;margin-bottom:14px}
.ft-cta-left h2 em{font-style:normal;background:linear-gradient(135deg,var(--p),var(--pl));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ft-cta-left p{font-size:16px;color:rgba(255,255,255,0.45);line-height:1.75}
.ft-cta-btns{display:flex;gap:14px;flex-shrink:0;align-items:center}
.ft-btn-primary{padding:15px 34px;background:linear-gradient(135deg,var(--p),var(--pl));border:none;border-radius:11px;color:var(--w);font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:10px;white-space:nowrap;transition:all .24s;box-shadow:0 8px 28px rgba(0,169,133,0.34);text-decoration:none}
.ft-btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(0,169,133,0.44)}
.ft-btn-ghost{padding:15px 34px;background:rgba(255,255,255,0.06);border:1.5px solid rgba(255,255,255,0.13);border-radius:11px;color:rgba(255,255,255,0.88);font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:10px;white-space:nowrap;transition:all .24s;text-decoration:none;backdrop-filter:blur(8px)}
.ft-btn-ghost:hover{background:rgba(255,255,255,0.11);border-color:rgba(255,255,255,0.22);transform:translateY(-2px)}

/* 分隔线 */
.ft-hr{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:0 64px}
.ft-hr-line{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.08) 20%,rgba(255,255,255,0.08) 80%,transparent)}

/* ── 主体 ── */
.ft-main{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:64px 64px 56px;display:grid;grid-template-columns:290px 1fr;gap:88px}

/* 品牌区 */
.ft-brand-logo{display:flex;align-items:center;gap:12px;text-decoration:none;margin-bottom:24px}
.ft-brand-icon{width:46px;height:46px;background:linear-gradient(135deg,var(--p),var(--pl));border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:21px;color:var(--w);box-shadow:0 8px 24px rgba(0,169,133,0.36);flex-shrink:0}
.ft-brand-name{font-size:23px;font-weight:800;color:var(--w);letter-spacing:-.4px}
.ft-brand-name em{color:var(--p);font-style:normal}
.ft-brand-desc{font-size:14.5px;color:rgba(255,255,255,0.38);line-height:1.85;margin-bottom:32px}

/* 联系方式 */
.ft-contacts{display:flex;flex-direction:column;gap:13px}
.ft-contact-row{display:flex;align-items:flex-start;gap:12px;text-decoration:none;transition:all .18s}
.ft-contact-row:hover .ft-contact-val{color:var(--pl)}
.ft-contact-ico{width:34px;height:34px;border-radius:9px;background:rgba(0,169,133,0.12);border:1px solid rgba(0,169,133,0.18);display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--p);flex-shrink:0;transition:all .18s}
.ft-contact-row:hover .ft-contact-ico{background:rgba(0,169,133,0.22);border-color:rgba(0,169,133,0.36)}
.ft-contact-body{display:flex;flex-direction:column;padding-top:4px}
.ft-contact-lbl{font-size:11px;color:rgba(255,255,255,0.22);letter-spacing:.8px;text-transform:uppercase;margin-bottom:3px}
.ft-contact-val{font-size:14px;color:rgba(255,255,255,0.44);line-height:1.5;transition:color .18s}

/* 链接列区 */
.ft-cols{display:grid;grid-template-columns:repeat(5,1fr);gap:0 28px}
.ft-col{}
.ft-col-title{font-size:16px;font-weight:700;color:rgba(255,255,255,0.9);letter-spacing:2.5px;text-transform:uppercase;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,0.07);display:flex;align-items:center;gap:7px}
.ft-col-title i{font-size:11px;color:var(--p)}
.ft-col-gap{height:28px}
.ft-col ul{list-style:none;display:flex;flex-direction:column;gap:2px}
.ft-col ul li a{font-size:14px;color:rgba(255,255,255,0.38);text-decoration:none;transition:all .18s;display:flex;align-items:center;padding:6px 0;line-height:1.5;position:relative}
.ft-col ul li a::before{content:'';display:inline-block;width:0;height:1px;background:var(--p);margin-right:0;transition:all .2s;vertical-align:middle}
.ft-col ul li a:hover{color:rgba(255,255,255,0.82);padding-left:10px}
.ft-col ul li a:hover::before{width:6px;margin-right:6px}

/* 底栏 */
.ft-bottom{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,0.06)}
.ft-bottom-inner{max-width:1280px;margin:0 auto;padding:22px 64px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.ft-copy{font-size:13px;color:rgba(255,255,255,0.24);line-height:1.7}
.ft-copy a{color:rgba(255,255,255,0.3);text-decoration:none;transition:color .18s}
.ft-copy a:hover{color:var(--pl)}
.ft-icp-row{display:flex;align-items:center;gap:16px;margin-top:5px;flex-wrap:wrap}
.ft-icp-row span{font-size:12px;color:rgba(255,255,255,0.18)}
.ft-policies{display:flex;align-items:center;flex-wrap:wrap}
.ft-policies a{font-size:13px;color:rgba(255,255,255,0.26);text-decoration:none;transition:color .18s;padding:0 14px;border-right:1px solid rgba(255,255,255,0.1)}
.ft-policies a:first-child{padding-left:0}
.ft-policies a:last-child{border-right:none}
.ft-policies a:hover{color:var(--pl)}
.ft-lang-switcher{display:flex;align-items:center;gap:8px;padding:7px 14px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.09);border-radius:8px;color:rgba(255,255,255,0.38);font-size:13px;cursor:pointer;transition:all .2s;margin-left:16px;white-space:nowrap}
.ft-lang-switcher:hover{background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.65)}
.ft-lang-switcher i{font-size:12px}
.ft-bottom-right{display:flex;align-items:center;flex-wrap:wrap;gap:4px}

/* 回顶按钮 */
.ft-back-top{position:fixed;bottom:32px;right:32px;width:46px;height:46px;background:linear-gradient(135deg,var(--p),var(--pl));border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--w);font-size:16px;cursor:pointer;box-shadow:0 6px 22px rgba(0,169,133,0.38);opacity:0;visibility:hidden;transition:all .28s;z-index:9999;border:none}
.ft-back-top.show{opacity:1;visibility:visible}
.ft-back-top:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,169,133,0.46)}

/* 响应式 */
@media(max-width:1100px){
  .ft-main{grid-template-columns:1fr;gap:48px}
  .ft-cols{grid-template-columns:repeat(3,1fr);gap:32px}
  .ft-cta-inner{flex-direction:column;text-align:center;padding:0 32px}
  .ft-cta-btns{justify-content:center}
  .ft-main,.ft-hr,.ft-bottom-inner{padding-left:32px;padding-right:32px}
}
@media(max-width:720px){
  .ft-cols{grid-template-columns:repeat(2,1fr)}
  .ft-cta-left h2{font-size:26px}
  .ft-cta-btns{flex-direction:column;width:100%}
  .ft-btn-primary,.ft-btn-ghost{justify-content:center;width:100%}
  .ft-bottom-inner{flex-direction:column;align-items:flex-start;gap:14px}
  .ft-back-top{bottom:20px;right:20px}
}