:root{
  --glacier-deep:#0D3049; --glacier:#1B6B93; --glacier-mid:#14587C; --glacier-light:#2E9CC5; --glacier-pale:#CDEFF7; --glacier-mist:#EAF4F8;
  --forest-deep:#1E4A37; --forest:#2D6A4F; --forest-light:#40916C; --bamboo:#74A57F; --mint:#7BE495;
  --carbon:#1A1D1F; --ink:#2C3338; --ink-2:#5A6470; --ink-3:#8A949E;
  --line:#E2E8E0; --bg:#F7FAFB; --white:#FFFFFF; --amber:#B45309; --amber-50:#FAEEDA;
  --radius:12px; --radius-lg:20px;
  --shadow-sm:0 2px 8px rgba(13,48,73,.06); --shadow-md:0 8px 24px rgba(13,48,73,.10); --shadow-lg:0 16px 48px rgba(13,48,73,.14);
  --font-zh:"PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif; --font-en:"Inter","Helvetica Neue",system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-zh);color:var(--ink);background:var(--bg);line-height:1.75;overflow-x:hidden;}
body.en [data-lang-zh]{display:none;}
body.zh [data-lang-en]{display:none;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.container{max-width:1160px;margin:0 auto;padding:0 24px;}
.section{padding:84px 0;}
.section.alt{background:var(--white);}
.section-head{margin-bottom:48px;}
.section-head.center{text-align:center;}
.section-head.center p{margin-left:auto;margin-right:auto;}
.kicker{display:inline-block;font-family:var(--font-en);font-size:13px;font-weight:700;letter-spacing:2.5px;color:var(--glacier);text-transform:uppercase;margin-bottom:12px;}
.section-head h2{font-size:32px;font-weight:600;color:var(--carbon);letter-spacing:1px;line-height:1.35;}
.section-head p{font-size:16px;color:var(--ink-2);margin-top:12px;max-width:720px;}
.grad{background:linear-gradient(120deg,var(--forest-light),var(--glacier-light));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}

/* Top bar */
.topbar{background:var(--glacier-deep);color:rgba(255,255,255,.75);font-size:13px;}
.topbar .container{display:flex;justify-content:space-between;align-items:center;height:38px;}
.topbar a:hover{color:#fff;}
.topbar-right{font-family:var(--font-en);}

/* Header */
.site-header{position:sticky;top:0;z-index:200;background:rgba(247,250,251,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:68px;}
.brand{display:flex;align-items:center;gap:12px;}
.brand-mark{width:40px;height:40px;}
.brand-title{font-size:18px;font-weight:600;color:var(--carbon);letter-spacing:1px;line-height:1.2;}
.brand-sub{font-size:12px;color:var(--ink-3);letter-spacing:1px;margin-top:2px;}
.main-nav{display:flex;gap:26px;font-size:15px;color:var(--ink-2);}
.main-nav a{position:relative;padding:4px 0;}
.main-nav a:hover{color:var(--glacier);}
.main-nav a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--glacier);transition:width .25s;}
.main-nav a:hover::after{width:100%;}
.main-nav a.active{color:var(--glacier);}.main-nav a.active::after{width:100%;}
.header-actions{display:flex;align-items:center;gap:16px;}
.lang-toggle{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;}
.lang-toggle button{background:none;border:none;padding:5px 12px;font-size:13px;font-weight:600;color:var(--ink-3);cursor:pointer;}
.lang-toggle button.on{background:var(--glacier);color:#fff;}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.nav-toggle span{width:22px;height:2px;background:var(--carbon);border-radius:2px;}

/* Hero */
.hero{position:relative;background:linear-gradient(150deg,#0D3049 0%,#14587C 50%,#1E5A45 100%);color:#fff;padding:100px 0 90px;overflow:hidden;}
.hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:24px 24px;}
.hero .container{position:relative;z-index:2;}
.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:6px 16px;font-size:13px;letter-spacing:1px;margin-bottom:24px;}
.hero-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--mint);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.4;}}
.hero h1{font-size:46px;font-weight:600;letter-spacing:2px;line-height:1.3;}
.hero .lead{font-size:18px;color:rgba(255,255,255,.88);margin-top:18px;max-width:560px;letter-spacing:.5px;}
.hero-slogan{font-size:15px;color:var(--mint);margin-top:14px;font-weight:500;letter-spacing:1px;}
.hero-cta{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;border-radius:10px;font-size:15px;font-weight:600;letter-spacing:.5px;transition:all .25s;cursor:pointer;border:none;}
.btn-primary{background:var(--glacier-light);color:#fff;}
.btn-primary:hover{background:var(--glacier);transform:translateY(-2px);box-shadow:0 8px 24px rgba(46,156,197,.4);}
.btn-ghost{background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.5);color:#fff;}
.btn-ghost:hover{background:rgba(255,255,255,.22);}
.btn-outline{background:none;border:1.5px solid var(--glacier);color:var(--glacier);}
.btn-outline:hover{background:var(--glacier);color:#fff;}
.btn svg{width:18px;height:18px;}
.hero-visual{position:relative;display:flex;justify-content:center;}
.globe-wrap{width:min(440px,100%);position:relative;}
.globe-wrap svg{width:100%;height:auto;display:block;}
@keyframes pulse-ring{0%{transform:scale(.6);opacity:.8;}100%{transform:scale(2.6);opacity:0;}}
.node-pulse{transform-origin:center;transform-box:fill-box;animation:pulse-ring 2.8s ease-out infinite;}
.node-pulse.p2{animation-delay:.9s;}
.node-pulse.p3{animation-delay:1.7s;}
@keyframes dash-flow{to{stroke-dashoffset:-240;}}
.arc-flow{stroke-dasharray:6 10;animation:dash-flow 9s linear infinite;}
@keyframes float-slow{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
.float-slow{animation:float-slow 7s ease-in-out infinite;}
.orbit-chip{position:absolute;background:rgba(255,255,255,.94);border-radius:10px;padding:9px 16px;font-size:12.5px;font-weight:700;color:var(--glacier-deep);box-shadow:0 8px 24px rgba(0,0,0,.28);display:flex;align-items:center;gap:8px;white-space:nowrap;}
.orbit-chip i{width:9px;height:9px;border-radius:50%;display:inline-block;}
.chip-1{top:6%;left:-4%;animation:float-slow 7s ease-in-out infinite;}
.chip-2{bottom:16%;left:-8%;animation:float-slow 8s ease-in-out 1s infinite;}
.chip-3{top:22%;right:-6%;animation:float-slow 9s ease-in-out .5s infinite;}
.hero-wave{position:absolute;bottom:-1px;left:0;right:0;line-height:0;}
.hero-wave svg{width:100%;height:80px;display:block;}

/* Stats band */
.stats-band{background:var(--white);border-bottom:1px solid var(--line);}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:48px 0;}
.stat-item{text-align:center;}
.stat-num{font-family:var(--font-en);font-size:42px;font-weight:800;color:var(--glacier);line-height:1;}
.stat-num .suffix{font-size:26px;}
.stat-label{font-size:14px;color:var(--ink-2);margin-top:8px;}

/* Feature split (about) */
.feature-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.story-video{border-radius:var(--radius-lg);overflow:hidden;position:relative;aspect-ratio:16/9.4;background:radial-gradient(ellipse 500px 300px at 70% 20%,rgba(46,156,197,.35),transparent 65%),radial-gradient(ellipse 400px 260px at 20% 90%,rgba(116,165,127,.28),transparent 65%),linear-gradient(140deg,#0D3049 0%,#14587C 55%,#1E5A45 100%);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);}
.story-video::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.10) 1px,transparent 1px);background-size:22px 22px;}
.play-btn{width:84px;height:84px;border-radius:50%;background:rgba(255,255,255,.16);border:2px solid rgba(255,255,255,.65);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;transition:all .3s;position:relative;z-index:2;cursor:pointer;}
.play-btn:hover{transform:scale(1.08);background:rgba(255,255,255,.28);}
.play-btn svg{width:30px;height:30px;fill:#fff;margin-left:5px;}
.video-caption{position:absolute;bottom:22px;left:26px;right:26px;color:rgba(255,255,255,.92);z-index:2;font-size:13.5px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;}
.video-caption b{display:block;font-size:16px;margin-bottom:3px;}
.feature-content p{font-size:15px;color:var(--ink-2);margin-top:14px;}
.check-list{margin-top:24px;display:flex;flex-direction:column;gap:16px;}
.check-item{display:flex;gap:14px;align-items:flex-start;}
.check-item .ck{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--glacier-mist);color:var(--glacier);display:flex;align-items:center;justify-content:center;}
.check-item .ck svg{width:15px;height:15px;}
.check-item b{display:block;font-size:15px;color:var(--carbon);margin-bottom:2px;}
.check-item span{font-size:13.5px;color:var(--ink-2);}
.mt-32{margin-top:32px;}

/* Nav cards (九板块导览) */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.nav-cards .card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px 26px;transition:all .25s;position:relative;overflow:hidden;}
.nav-cards .card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--glacier-pale);}
.nav-cards .card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--glacier),var(--forest-light));transform:scaleX(0);transform-origin:left;transition:transform .3s;}
.nav-cards .card:hover::before{transform:scaleX(1);}
.card-num{font-family:var(--font-en);font-size:13px;font-weight:800;letter-spacing:2px;color:var(--glacier-light);margin-bottom:14px;}
.card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:#fff;}
.card-icon.blue{background:linear-gradient(135deg,var(--glacier),var(--glacier-light));}
.card-icon.green{background:linear-gradient(135deg,var(--forest),var(--forest-light));}
.card-icon.teal{background:linear-gradient(135deg,var(--glacier-mid),var(--bamboo));}
.card-icon.amber{background:linear-gradient(135deg,#B45309,#E8A317);}
.card-icon.indigo{background:linear-gradient(135deg,#3D4FB8,#6D7FE8);}
.nav-cards .card h3{font-size:18px;font-weight:600;color:var(--carbon);margin-bottom:8px;}
.nav-cards .card p{font-size:13.5px;color:var(--ink-2);flex:1;}
.card-link{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-size:14px;font-weight:600;color:var(--glacier);}
.card-link svg{width:18px;height:18px;transition:transform .2s;}
.nav-cards .card:hover .card-link svg{transform:translateX(4px);}

/* Direction mini (智库研究) */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.dir-mini{display:flex;align-items:center;gap:18px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;transition:all .25s;}
.dir-mini:hover{box-shadow:var(--shadow-md);transform:translateX(6px);border-color:var(--glacier-pale);}
.dir-mini .idx{width:44px;height:44px;flex-shrink:0;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px;color:#fff;font-family:var(--font-en);}
.dir-mini h4{font-size:16.5px;font-weight:600;color:var(--carbon);}
.dir-mini p{font-size:13px;color:var(--ink-2);margin-top:2px;}

/* Index cards (绿色发展指数) */
.idx-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.idx-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px 24px;border-top:3px solid var(--glacier);transition:all .25s;}
.idx-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.idx-card.green-top{border-top-color:var(--forest-light);}
.idx-no{font-family:var(--font-en);font-size:13px;font-weight:700;letter-spacing:2px;color:var(--glacier-light);margin-bottom:8px;}
.idx-card h4{font-size:18px;font-weight:600;color:var(--carbon);margin-bottom:10px;}
.idx-body{font-size:13.5px;color:var(--ink-2);line-height:1.75;}
.idx-meta{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);display:flex;flex-wrap:wrap;gap:6px;}
.idx-meta span{font-size:12px;background:var(--glacier-mist);color:var(--glacier);border:1px solid var(--glacier-pale);border-radius:6px;padding:3px 10px;}
.idx-note{margin-top:28px;background:var(--amber-50);border-left:4px solid var(--amber);border-radius:0 10px 10px 0;padding:16px 22px;font-size:14px;color:#7C4A03;}
.idx-note b{color:var(--amber);}
.idx-timeline{margin-top:44px;}
.idx-timeline h3{font-size:18px;font-weight:600;color:var(--carbon);margin-bottom:24px;}
.tl-track{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.tl-node{padding:0 12px;position:relative;}
.tl-node::before{content:"";position:absolute;top:5px;left:0;right:0;height:2px;background:var(--glacier-pale);z-index:1;}
.tl-node:first-child::before{left:50%;}
.tl-node:last-child::before{right:50%;}
.tl-dot{width:12px;height:12px;border-radius:50%;background:var(--glacier);border:3px solid var(--white);position:relative;z-index:2;margin-bottom:14px;}
.tl-date{font-size:15px;font-weight:700;color:var(--glacier);}
.tl-event{font-size:13px;color:var(--ink-2);margin-top:6px;line-height:1.65;}
.idx-badges{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.badge-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px 20px;border-top:3px solid var(--forest-light);}
.badge-card h4{font-size:15px;font-weight:600;color:var(--carbon);margin-bottom:8px;}
.badge-card p{font-size:13px;color:var(--ink-2);line-height:1.7;}

/* Service cards (ESG咨询) */
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.svc-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px 24px;display:flex;gap:16px;transition:all .25s;}
.svc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.svc-ico{width:44px;height:44px;border-radius:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;}
.svc-card h4{font-size:17px;font-weight:600;color:var(--carbon);margin-bottom:8px;}
.svc-card p{font-size:13.5px;color:var(--ink-2);}
.svc-tags{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px;}
.svc-tags span{font-size:12px;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:3px 10px;color:var(--ink-2);}

/* Course cards (培训认证) */
.course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.course-card{border-radius:var(--radius-lg);padding:26px 22px;border:1px solid var(--line);transition:all .25s;}
.course-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.course-card.c1{background:#EAF4F8;border-color:#CDE6F2;}
.course-card.c2{background:#EFF6F1;border-color:#CDE8D8;}
.course-card.c3{background:#FBF4E8;border-color:#EFDFC0;}
.course-card.c4{background:#F0F5FB;border-color:#CDE0F2;}
.course-card .lv{font-family:var(--font-en);font-size:12px;color:var(--ink-3);letter-spacing:1px;font-weight:600;}
.course-card h4{font-size:17px;font-weight:600;color:var(--carbon);margin:8px 0 10px;}
.course-card p{font-size:13px;color:var(--ink-2);}
.course-card .tag{display:inline-block;margin-top:12px;font-size:12px;padding:3px 10px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--glacier);font-weight:600;}
.course-sum{margin-top:32px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.course-sum .cell{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:20px;text-align:center;}
.course-sum .num{font-family:var(--font-en);font-size:30px;font-weight:800;color:var(--glacier);}
.course-sum .lbl{font-size:13px;color:var(--ink-3);margin-top:4px;}
.course-cta{margin-top:28px;text-align:center;}
.course-cta a{display:inline-flex;align-items:center;gap:8px;padding:13px 34px;border-radius:10px;font-size:15px;font-weight:600;letter-spacing:.5px;background:var(--glacier);color:#fff;transition:all .25s;}
.course-cta a:hover{background:var(--glacier-deep);transform:translateY(-2px);box-shadow:0 8px 24px rgba(13,48,73,.3);}
.course-cta a svg{width:17px;height:17px;}

/* System card (智能决策) */
.sys-card{background:linear-gradient(140deg,var(--glacier-deep),var(--glacier-mid));color:#fff;border-radius:var(--radius-lg);padding:44px 40px;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;}
.sys-card h3{font-size:24px;font-weight:600;margin-bottom:14px;}
.sys-card p{font-size:15px;color:rgba(255,255,255,.82);line-height:1.8;}
.sys-modules{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.sys-mod{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);padding:18px;}
.sys-mod b{display:block;font-size:15px;margin-bottom:4px;}
.sys-mod span{font-size:12.5px;color:rgba(255,255,255,.7);}

/* Network (全球网络) */
.net-map{background:linear-gradient(150deg,#0D3049,#14587C);border-radius:var(--radius-lg);padding:48px;color:#fff;text-align:center;margin-bottom:40px;}
.net-map h3{font-size:22px;font-weight:600;margin-bottom:10px;}
.net-map p{color:rgba(255,255,255,.75);font-size:14px;}
.net-points{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px;}
.net-points span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:8px;padding:6px 14px;font-size:13px;}
.partner-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.partner-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px 22px;text-align:center;transition:all .25s;}
.partner-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.partner-card .ic{width:48px;height:48px;margin:0 auto 14px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;}
.partner-card h4{font-size:15.5px;font-weight:600;color:var(--carbon);line-height:1.4;}
.partner-card p{font-size:12.5px;color:var(--ink-3);margin-top:8px;}
/* 研究发布卡：个人气候指数 × 绿碳券 */
.net-research{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;margin-top:32px;padding:28px 32px;border-radius:var(--radius-lg);background:linear-gradient(120deg,var(--glacier-mist),#E9F2EE);border:1px solid var(--line);}
.net-research .nr-body{max-width:760px;}
.net-research h3{font-size:19px;font-weight:600;color:var(--carbon);line-height:1.5;margin:0 0 8px;}
.net-research p{font-size:14.5px;color:var(--ink-2);line-height:1.8;}
.net-research .nr-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.net-research .nr-tags span{font-size:12px;color:var(--forest);background:rgba(45,106,79,.08);border:1px solid rgba(45,106,79,.2);border-radius:999px;padding:3px 12px;}
.net-research .btn{flex:0 0 auto;}
@media(max-width:640px){.net-research{padding:22px 20px;}.net-research .btn{width:100%;justify-content:center;}}

/* Join us */
.join-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.join-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px 26px;}
.join-step{font-family:var(--font-en);font-size:13px;font-weight:800;color:var(--glacier-light);letter-spacing:2px;margin-bottom:12px;}
.join-card h4{font-size:18px;font-weight:600;color:var(--carbon);margin-bottom:10px;}
.join-card p{font-size:13.5px;color:var(--ink-2);}
.join-flow{margin-top:16px;display:flex;flex-direction:column;gap:10px;}
.join-flow .step{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-2);}
.join-flow .step b{width:24px;height:24px;border-radius:50%;background:var(--glacier-mist);color:var(--glacier);display:flex;align-items:center;justify-content:center;font-size:12px;font-family:var(--font-en);flex-shrink:0;}

/* News */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.news-item{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px 22px;display:flex;gap:18px;transition:all .25s;}
.news-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.news-date{flex-shrink:0;text-align:center;}
.news-date b{font-family:var(--font-en);font-size:30px;font-weight:800;color:var(--glacier);display:block;line-height:1;}
.news-date span{font-size:12px;color:var(--ink-3);}
.news-body h3{font-size:15.5px;font-weight:600;color:var(--carbon);margin-bottom:8px;line-height:1.4;}
.news-body p{font-size:13px;color:var(--ink-2);}
.news-meta{margin-top:10px;}
.news-meta .tag{font-size:12px;background:var(--glacier-mist);color:var(--glacier);border-radius:6px;padding:3px 10px;font-weight:600;}

/* CTA band */
.cta-band{background:linear-gradient(150deg,var(--glacier-deep),var(--forest-deep));color:#fff;text-align:center;padding:80px 0;}
.cta-band h2{font-size:30px;font-weight:600;letter-spacing:1px;}
.cta-band p{font-size:16px;color:rgba(255,255,255,.8);margin-top:14px;}
.cta-band .hero-cta{justify-content:center;margin-top:28px;}

/* Footer */
.site-footer{background:var(--carbon);color:rgba(255,255,255,.65);}
.footer-main{padding:56px 0 40px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:40px;}
.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.footer-desc{font-size:13.5px;line-height:1.8;}
.footer-grid h4{font-size:15px;font-weight:600;color:rgba(255,255,255,.9);margin-bottom:14px;}
.footer-grid ul{list-style:none;}
.footer-grid li{margin-bottom:10px;}
.footer-grid a{font-size:13.5px;}
.footer-grid a:hover{color:#fff;}
.footer-contact li{display:flex;align-items:center;gap:10px;font-size:13.5px;}
.footer-contact svg{width:18px;height:18px;flex-shrink:0;color:var(--bamboo);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:20px 0;font-size:13px;}
.footer-bottom .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}

/* Back top */
.back-top{position:fixed;right:24px;bottom:24px;width:46px;height:46px;border-radius:50%;background:var(--glacier);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transition:all .3s;z-index:150;}
.back-top.show{opacity:1;visibility:visible;}
.back-top:hover{background:var(--glacier-deep);transform:translateY(-3px);}
.back-top svg{width:22px;height:22px;}

/* Reveal animation */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
.reveal.d1{transition-delay:.1s;}
.reveal.d2{transition-delay:.2s;}
.reveal.d3{transition-delay:.3s;}

/* Responsive */
@media(max-width:960px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-visual{margin-top:20px;}
  .feature-split{grid-template-columns:1fr;}
  .grid-3,.course-grid,.news-grid,.join-grid{grid-template-columns:repeat(2,1fr);}
  .sys-card{grid-template-columns:1fr;padding:32px 28px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .main-nav{display:none;}
  .nav-toggle{display:flex;}
  .main-nav.open{display:flex;position:absolute;top:68px;left:0;right:0;background:var(--white);flex-direction:column;padding:16px 24px;border-bottom:1px solid var(--line);gap:14px;}
  .hero h1{font-size:34px;}
  .tl-track{grid-template-columns:repeat(2,1fr);gap:20px 0;}
  .tl-node::before{display:none;}
}
@media(max-width:640px){
  .orbit-chip{display:none;}
  .grid-3,.grid-2,.idx-grid,.svc-grid,.course-grid,.news-grid,.join-grid,.partner-row,.course-sum,.idx-badges{grid-template-columns:1fr;}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr;}
  .hero{padding:70px 0 60px;}
  .hero h1{font-size:28px;}
  .section{padding:60px 0;}
}

/* —— 页头防挤压修正（2026-11-04）—— */
.main-nav{gap:18px;}
.main-nav a{white-space:nowrap;}
.brand-title{white-space:nowrap;}
@media(max-width:1240px){
  .main-nav{gap:12px;font-size:14px;}
  .brand-title{font-size:17px;}
  .brand-sub{font-size:11px;}
}
/* —— 顶栏精简 + logo 放大（2026-11-04）—— */
.topbar .container{justify-content:flex-end;}
.brand-mark{width:54px;height:54px;}
.header-inner{height:78px;}
.main-nav.open{top:78px;}
.brand-title{font-size:19px;}
@media(max-width:1240px){
  .brand-mark{width:46px;height:46px;}
  .header-inner{height:70px;}
  .main-nav.open{top:70px;}
}
@media(max-width:1100px){
  .main-nav{gap:10px;font-size:13.5px;}
  .brand-mark{width:42px;height:42px;}
  .brand-title{font-size:16px;}
  .brand-sub{font-size:10.5px;}
  .header-inner{height:66px;}
  .main-nav.open{top:66px;}
}
/* —— 页脚 ICP 备案链接（2026-11-13）—— */
.footer-bottom a{color:inherit;text-decoration:none;border-bottom:1px dotted rgba(255,255,255,.35);}
.footer-bottom a:hover{color:#fff;border-bottom-color:#fff;}
