
:root{
  --navy:#0C2547; --navy2:#14305C; --navy3:#16396B; --blue:#1E5FD0; --blue2:#2F7BF0; --cyan:#46B6E8;
  --gold:#E8A33D; --gold2:#F4C77E; --gold-d:#B0761B;
  --ink:#21365C; --ink2:#4A5E80; --ink3:#7B8AA3;
  --bg:#F5F8FD; --bg2:#EAF1FB; --card:#FFFFFF; --line:#E1E9F5;
  --serif:"Noto Serif SC","Songti SC","STSong","SimSun",serif;
  --sans:"Noto Sans CJK SC","Noto Sans SC","PingFang SC","Microsoft YaHei",-apple-system,sans-serif;
  --shadow:0 24px 60px -24px rgba(12,37,71,.32);
  --shadow-sm:0 10px 30px -12px rgba(12,37,71,.22);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:#fff;line-height:1.8;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}
.serif{font-family:var(--serif)}
.kicker{font-size:13px;letter-spacing:.32em;font-weight:700;color:var(--blue);text-transform:uppercase;margin-bottom:18px;display:inline-flex;align-items:center;gap:12px}
.kicker::before{content:"";width:34px;height:2px;background:linear-gradient(90deg,var(--gold),transparent)}
.kicker.center{justify-content:center}
.kicker.light{color:var(--gold2)}
.kicker.light::before{background:linear-gradient(90deg,var(--gold2),transparent)}
h2.sec-title{font-family:var(--serif);font-weight:900;font-size:clamp(30px,4vw,46px);line-height:1.28;letter-spacing:.01em;color:var(--navy)}
.sec-title.light{color:#fff}
.sec-sub{font-size:clamp(16px,1.5vw,19px);color:var(--ink2);margin-top:18px;max-width:760px;line-height:1.95}
.sec-sub.light{color:rgba(255,255,255,.82)}
.center{text-align:center}
.m-auto{margin-left:auto;margin-right:auto}
section{position:relative}
.sec{padding:104px 0}
.lead{font-family:var(--serif);font-size:clamp(17px,1.6vw,20px);line-height:2.1;color:var(--ink)}

/* ===== 导航 ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:.4s;padding:22px 0}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}
.nav-logo{height:48px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.25))}
.nav-logo-dark{display:none}
.nav.scrolled .nav-logo-light{display:none}
.nav.scrolled .nav-logo-dark{display:block}
.nav.scrolled .nav-logo{filter:none}
.nav.scrolled{background:rgba(255,255,255,.92);backdrop-filter:blur(14px);box-shadow:0 6px 30px -18px rgba(12,37,71,.4);padding:12px 0}
.nav.scrolled .nav-logo{filter:none}
.nav-menu{display:flex;gap:6px;align-items:center}
.nav-menu a{font-size:15px;color:rgba(255,255,255,.88);padding:9px 16px;border-radius:999px;transition:.25s;font-weight:500}
.nav-menu a:hover{color:#fff;background:rgba(255,255,255,.12)}
.nav.scrolled .nav-menu a{color:var(--ink)}
.nav.scrolled .nav-menu a:hover{background:var(--bg2);color:var(--blue)}
.nav-cta{background:linear-gradient(135deg,var(--gold),#F0B451);color:#3A2700!important;font-weight:700!important;padding:10px 22px!important;box-shadow:0 8px 22px -8px rgba(232,163,61,.7)}
.nav-cta:hover{transform:translateY(-1px)}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:10px;min-width:44px;min-height:44px;align-items:center;justify-content:center}
.nav-toggle span{width:24px;height:2px;background:#fff;border-radius:2px;transition:.3s}
.nav.scrolled .nav-toggle span{background:var(--navy)}

/* ===== HERO ===== */
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;position:relative;overflow:hidden;padding:130px 0 0}
.hero-bg{position:absolute;inset:0;background:url(../img/bg-24.jpg) center bottom/cover no-repeat;z-index:0}
.hero-mask{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,20,42,.72) 0%,rgba(7,20,42,.34) 42%,rgba(7,20,42,.42) 74%,rgba(7,20,42,.74) 100%),radial-gradient(95% 62% at 50% 16%,rgba(8,26,54,.5),rgba(8,26,54,0) 72%);z-index:1}
#stars{position:absolute;top:0;left:0;z-index:2;display:block;pointer-events:none}
.hero-inner{position:relative;z-index:4;max-width:960px;padding:0 28px}
.hero .kicker{color:var(--gold2);justify-content:center}
.hero h1{font-family:var(--serif);font-weight:900;font-size:clamp(42px,7vw,84px);line-height:1.16;letter-spacing:.02em;text-shadow:0 6px 40px rgba(0,0,0,.4)}
.hero h1 .accent{background:linear-gradient(120deg,#FDE7BE,var(--gold2) 40%,#F7D28A);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.tag{margin:26px auto 0;max-width:720px;font-size:clamp(16px,1.7vw,20px);color:rgba(255,255,255,.86);line-height:2}
.hero-tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:28px 0 38px}
.hero-tags span{font-size:13.5px;padding:7px 16px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.9);backdrop-filter:blur(4px)}
.btn{display:inline-flex;align-items:center;gap:9px;font-size:16px;font-weight:700;padding:15px 34px;border-radius:999px;cursor:pointer;border:0;transition:.28s;font-family:var(--sans)}
.btn-gold{background:linear-gradient(135deg,var(--gold),#F0B451);color:#3A2700;box-shadow:0 14px 34px -10px rgba(232,163,61,.75)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 20px 44px -10px rgba(232,163,61,.85)}
.btn-ghost{background:rgba(255,255,255,.08);color:#fff;border:1.5px solid rgba(255,255,255,.5)}
.btn-ghost:hover{background:rgba(255,255,255,.16);transform:translateY(-2px)}
.btn-blue{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;box-shadow:0 14px 34px -12px rgba(30,95,208,.7)}
.btn-blue:hover{transform:translateY(-2px)}
.hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.hero-device{position:relative;z-index:3;margin:56px auto -4px;width:min(880px,92vw)}
.hero-device img{width:100%;border-radius:22px;box-shadow:0 50px 120px -30px rgba(0,0,0,.75)}
.hero-device::after{content:"";position:absolute;inset:auto 8% -34px 8%;height:40px;background:radial-gradient(ellipse at center,rgba(70,150,255,.45),transparent 70%);filter:blur(18px);z-index:-1}
.scroll-hint{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:5;color:rgba(255,255,255,.6);font-size:12px;letter-spacing:.3em;writing-mode:initial}
.scroll-hint i{display:block;width:1px;height:34px;background:linear-gradient(rgba(255,255,255,.7),transparent);margin:8px auto 0;animation:scrolldown 2s infinite}
@keyframes scrolldown{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ===== 通用卡片/栅格 ===== */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.grid2.gap-lg{gap:72px}
.card{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-sm)}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}.reveal.d3{transition-delay:.3s}.reveal.d4{transition-delay:.4s}

/* 一封信 */
.letter{background:linear-gradient(180deg,#F7FAFE,#EEF4FD)}
.letter-paper{max-width:860px;margin:0 auto;background:#fff;border-radius:26px;padding:clamp(34px,5vw,72px);box-shadow:var(--shadow);border:1px solid var(--line);position:relative;overflow:hidden}
.letter-paper::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(var(--gold),var(--gold2))}
.letter-paper p{font-family:var(--serif);font-size:clamp(16.5px,1.5vw,19px);line-height:2.15;color:#33456a;margin-bottom:22px}
.letter-paper p .hl{color:var(--blue);font-weight:700}
.letter-sign{font-family:var(--serif);color:var(--gold-d);text-align:right;margin-top:30px;font-size:17px}
.pullquote{font-family:var(--serif);font-size:clamp(22px,2.6vw,32px);line-height:1.6;font-weight:700;color:var(--navy);text-align:center;max-width:900px;margin:0 auto}
.pullquote .gold{color:var(--gold-d)}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}
.trio figure{border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm);position:relative;height:250px}
.trio img{width:100%;height:100%;object-fit:cover;transition:.6s}
.trio figure:hover img{transform:scale(1.05)}
.trio figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 20px 16px;color:#fff;font-family:var(--serif);font-weight:700;font-size:17px;background:linear-gradient(transparent,rgba(8,24,48,.82));text-shadow:0 2px 8px rgba(0,0,0,.4)}

/* 深色板块 */
.dark{background:radial-gradient(120% 120% at 80% 0%,#16396B,#0C2547 60%,#081D3D);color:#fff}
.dark.earth{background:linear-gradient(rgba(9,26,52,.93),rgba(9,26,52,.95)),url(../img/bg-25.webp) center/cover}

/* 终端载体论 */
.terminal .device-frame{position:relative;display:flex;align-items:center}
.terminal .device-frame img{width:107%;max-width:none;border-radius:20px;box-shadow:0 40px 90px -30px rgba(0,0,0,.6)}
.vs-row{display:flex;gap:16px;align-items:center;margin-top:16px}
.vs-cell{flex:1;border-radius:16px;padding:20px 22px}
.vs-old{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
.vs-new{background:linear-gradient(150deg,rgba(47,123,240,.22),rgba(70,182,232,.1));border:1px solid rgba(120,170,255,.4)}
.vs-cell h4{font-size:14px;letter-spacing:.1em;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.vs-old h4{color:rgba(255,255,255,.6)}
.vs-new h4{color:var(--gold2)}
.vs-cell p{font-size:14.5px;color:rgba(255,255,255,.82);line-height:1.8}
.vs-arrow{display:flex;align-items:center;color:var(--gold2);font-size:26px;flex:0 0 auto}
.big-quote{font-family:var(--serif);font-weight:900;font-size:clamp(22px,2.5vw,32px);line-height:1.55;color:#fff;margin-top:30px}
.big-quote .gold{color:var(--gold2)}

/* 双系统 */
.sys-card{border-radius:26px;padding:42px 38px;position:relative;overflow:hidden;min-height:420px;display:flex;flex-direction:column}
.sys-a{background:linear-gradient(165deg,#12346B,#1E5FD0);color:#fff;box-shadow:var(--shadow)}
.sys-b{background:linear-gradient(165deg,#F2F7FF,#E3EEFC);color:var(--navy);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.sys-badge{font-size:12px;letter-spacing:.24em;font-weight:700;padding:6px 14px;border-radius:999px;align-self:flex-start;margin-bottom:20px}
.sys-a .sys-badge{background:rgba(255,255,255,.16);color:#DCEBFF}
.sys-b .sys-badge{background:#DCE9FC;color:var(--blue)}
.sys-card h3{font-family:var(--serif);font-size:27px;font-weight:900;margin-bottom:8px}
.sys-card .sys-desc{font-size:14.5px;opacity:.85;margin-bottom:24px}
.sys-list{list-style:none;display:grid;gap:13px;margin-top:auto}
.sys-list li{display:flex;gap:11px;align-items:flex-start;font-size:15.5px;line-height:1.5}
.sys-list .tick{flex:0 0 20px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:12px;margin-top:2px}
.sys-a .tick{background:var(--gold);color:#3A2700}
.sys-b .tick{background:var(--blue);color:#fff}
.sys-strip{margin-top:40px;display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.sys-strip span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:11px 22px;font-size:15px;color:var(--ink);box-shadow:var(--shadow-sm);font-weight:500}
.sys-strip span b{color:var(--blue)}

/* AI引擎 */
.engine-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:54px 0 40px;position:relative}
.step{text-align:center;position:relative;padding:0 8px}
.step .num{width:58px;height:58px;margin:0 auto 16px;border-radius:18px;display:grid;place-items:center;font-family:var(--serif);font-weight:900;font-size:22px;background:linear-gradient(145deg,rgba(47,123,240,.35),rgba(70,182,232,.16));border:1px solid rgba(120,170,255,.45);color:#DCEBFF;position:relative;z-index:2}
.step h4{font-size:17px;color:#fff;margin-bottom:6px;font-weight:700}
.step p{font-size:13px;color:rgba(255,255,255,.66);line-height:1.6}
.step:not(:last-child)::after{content:"";position:absolute;top:29px;left:calc(50% + 34px);right:calc(-50% + 34px);height:2px;background:linear-gradient(90deg,rgba(120,170,255,.5),rgba(244,199,126,.35));z-index:1}
.loop-tag{text-align:center;color:var(--gold2);font-size:14px;letter-spacing:.1em;margin-top:-18px}
.stat-band{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:20px}
.stat{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:28px 18px;text-align:center}
.stat .n{font-family:var(--serif);font-weight:900;font-size:clamp(30px,3.4vw,42px);background:linear-gradient(120deg,#FDE7BE,var(--gold2));-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}
.stat .u{font-size:15px;color:var(--gold2);margin-left:2px}
.stat .l{font-size:14px;color:rgba(255,255,255,.72);margin-top:10px}
.grade-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px}
.grade-card{border-radius:20px;padding:30px 32px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);display:flex;align-items:center;gap:24px}
.grade-badge{flex:0 0 78px;width:78px;height:78px;border-radius:18px;display:grid;place-items:center;font-family:var(--serif);font-weight:900;font-size:26px;color:#0C2547}
.grade-card h4{color:#fff;font-size:19px;margin-bottom:6px}
.grade-card p{color:rgba(255,255,255,.72);font-size:14.5px}

/* 闯关 */
.levels{background:linear-gradient(180deg,#F3F1FC,#F7F9FE)}
.medal-row{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin:48px 0 20px}
.medal{text-align:center}
.medal .m-img{aspect-ratio:1;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);display:grid;place-items:center;padding:16px;transition:.3s}
.medal:hover .m-img{transform:translateY(-6px)}
.medal .m-img img{width:72%;filter:drop-shadow(0 8px 14px rgba(12,37,71,.18))}
.medal .m-name{margin-top:14px;font-weight:700;font-size:15px;color:var(--navy)}
.medal .m-en{font-size:11px;color:var(--ink3);letter-spacing:.08em;margin-top:2px}
.wall-img{border-radius:22px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);margin-top:40px}
.wall-img img{width:100%}

/* 真人伴学 */
.human .scene{border-radius:26px;overflow:hidden;box-shadow:var(--shadow);position:relative}
.human .scene img{width:100%}
.human .scene .cap{position:absolute;left:20px;bottom:18px;background:rgba(12,37,71,.72);backdrop-filter:blur(8px);color:#fff;font-size:13.5px;padding:8px 16px;border-radius:999px}
.feat-list{display:grid;gap:18px;margin-top:26px}
.feat{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 24px;box-shadow:var(--shadow-sm)}
.feat .ic{flex:0 0 48px;width:48px;height:48px;border-radius:14px;background:linear-gradient(145deg,#EAF1FE,#DCE9FC);display:grid;place-items:center;color:var(--blue)}
.feat h4{font-size:17.5px;color:var(--navy);margin-bottom:5px}
.feat p{font-size:14.5px;color:var(--ink2);line-height:1.75}
.warm-quote{margin-top:34px;background:linear-gradient(135deg,#FFF8EC,#FDEFD6);border:1px solid #F3DCA8;border-radius:22px;padding:32px 36px;font-family:var(--serif);font-size:clamp(17px,1.8vw,21px);line-height:1.9;color:#6B4A12}

/* 家长端 */
.parents{background:linear-gradient(180deg,#EFF5FE,#F7FAFE)}
.phone-stage{display:flex;justify-content:center;gap:24px;align-items:flex-end}
.phone{flex:0 1 auto;width:248px;max-width:32%;transition:.4s}
.phone img{width:100%;display:block;filter:drop-shadow(0 28px 40px rgba(20,48,92,.30))}
.phone:not(.dim){transform:scale(1.06);position:relative;z-index:2}
.phone.dim{opacity:.5;transform:scale(.85);width:206px}
.parent-points{display:grid;gap:16px;margin-top:8px}
.pp{display:flex;gap:16px;align-items:flex-start}
.pp .n{flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;display:grid;place-items:center;font-weight:700;font-family:var(--serif)}
.pp h4{font-size:17px;color:var(--navy);margin-bottom:3px}
.pp p{font-size:14.5px;color:var(--ink2)}

/* 适合谁 */
.who-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:50px}
.who{background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px 26px;box-shadow:var(--shadow-sm);transition:.3s;position:relative;overflow:hidden}
.who:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.who .tag-no{font-family:var(--serif);font-weight:900;font-size:40px;color:var(--bg2);line-height:1;position:absolute;top:18px;right:22px}
.who .wic{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;margin-bottom:18px;background:linear-gradient(145deg,#EAF1FE,#D7E6FC);color:var(--blue)}
.who h4{font-family:var(--serif);font-size:20px;color:var(--navy);margin-bottom:10px}
.who p{font-size:14.5px;color:var(--ink2);line-height:1.8}

/* 服务价格 */
.service{background:linear-gradient(180deg,#F7FAFE,#EDF3FC)}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px}
.plan{background:#fff;border:1px solid var(--line);border-radius:24px;padding:38px 32px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;position:relative}
.plan.hot{border:2px solid var(--gold);box-shadow:0 30px 70px -28px rgba(232,163,61,.5);transform:translateY(-8px)}
.plan .hot-tag{position:absolute;top:-15px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--gold),#F0B451);color:#3A2700;font-size:13px;font-weight:700;padding:6px 18px;border-radius:999px;white-space:nowrap}
.plan h3{font-family:var(--serif);font-size:21px;color:var(--navy);margin-bottom:6px}
.plan .pd{font-size:13.5px;color:var(--ink3);margin-bottom:22px;min-height:40px}
.plan .price{font-family:var(--serif);font-weight:900;font-size:38px;color:var(--blue);line-height:1;margin-bottom:4px}
.plan .price small{font-size:14px;font-weight:400;color:var(--ink3);font-family:var(--sans)}
.plan .price.gold{color:var(--gold-d)}
.plan ul{list-style:none;margin:24px 0;display:grid;gap:12px;flex:1}
.plan ul li{font-size:14.5px;color:var(--ink2);display:flex;gap:10px;align-items:flex-start;line-height:1.6}
.plan ul li::before{content:"";flex:0 0 8px;width:8px;height:8px;border-radius:50%;margin-top:8px;background:var(--blue2)}
.plan ul li.gold-li::before{background:var(--gold)}
.plan .pbtn{display:block;text-align:center;border-radius:999px;padding:13px;font-weight:700;font-size:15px;transition:.25s}
.plan .pbtn-line{border:1.5px solid var(--blue);color:var(--blue)}
.plan .pbtn-line:hover{background:var(--bg2)}
.plan .pbtn-gold{background:linear-gradient(135deg,var(--gold),#F0B451);color:#3A2700}
.plan .pbtn-blue{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff}
.b2b-strip{margin-top:40px;background:linear-gradient(120deg,#12346B,#1E5FD0);border-radius:22px;padding:34px 40px;display:flex;align-items:center;gap:28px;color:#fff;flex-wrap:wrap;justify-content:space-between}
.b2b-strip h4{font-family:var(--serif);font-size:21px;margin-bottom:6px}
.b2b-strip p{font-size:14.5px;color:rgba(255,255,255,.82);max-width:680px}
.service-note{text-align:center;color:var(--ink3);font-size:13px;margin-top:26px}

/* 愿景 */
.vision{text-align:center;color:#fff;padding:130px 0}
.vision .big{font-family:var(--serif);font-weight:900;font-size:clamp(30px,4.6vw,54px);line-height:1.4;max-width:1000px;margin:24px auto}
.vision .big .gold{background:linear-gradient(120deg,#FDE7BE,var(--gold2));-webkit-background-clip:text;background-clip:text;color:transparent}
.vision p.body{max-width:820px;margin:28px auto 0;color:rgba(255,255,255,.82);font-size:clamp(16px,1.6vw,19px);line-height:2.1;font-family:var(--serif)}
.yaspers{margin-top:54px;font-family:var(--serif);font-size:clamp(17px,1.8vw,22px);color:var(--gold2);line-height:1.9;max-width:760px;margin-left:auto;margin-right:auto}
.yaspers small{display:block;color:rgba(255,255,255,.5);font-size:13px;margin-top:12px;letter-spacing:.1em}

/* CTA / footer */
.cta-band{background:linear-gradient(130deg,#0C2547,#16396B 55%,#1E5FD0);border-radius:30px;padding:clamp(40px,6vw,72px);text-align:center;color:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden}
.cta-band h3{font-family:var(--serif);font-weight:900;font-size:clamp(28px,3.6vw,42px);margin-bottom:14px}
.cta-band p{color:rgba(255,255,255,.82);font-size:17px;margin-bottom:32px}
.qr-row{display:flex;gap:40px;justify-content:center;flex-wrap:wrap;margin-top:36px}
.qr{text-align:center}
.qr .qrbox{width:128px;height:128px;background:#fff;border-radius:16px;display:grid;place-items:center;color:var(--ink3);font-size:12px;padding:10px;margin:0 auto 12px}
.qr .qrbox .ph{border:2px dashed #B9C8E0;border-radius:10px;width:100%;height:100%;display:grid;place-items:center;text-align:center;line-height:1.5}
.qr span{font-size:14px;color:rgba(255,255,255,.85)}
.qr .qrbox img{width:100%;height:100%;object-fit:contain;border-radius:8px;display:block}
footer{background:#07182F;color:rgba(255,255,255,.7);padding:70px 0 34px;margin-top:0}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px}
.foot-logo{height:44px;margin-bottom:18px}
.foot-grid h5{color:#fff;font-size:15px;margin-bottom:18px;font-weight:700}
.foot-grid a,.foot-grid p{display:block;font-size:14px;color:rgba(255,255,255,.62);margin-bottom:11px;line-height:1.7}
.foot-grid a:hover{color:var(--gold2)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:50px;padding-top:26px;font-size:12.5px;color:rgba(255,255,255,.4);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

/* 响应式 */
@media(max-width:960px){
  .sec{padding:72px 0}
  .grid2{grid-template-columns:1fr;gap:40px}
  .grid2 .media-order{order:-1}
  .engine-steps{grid-template-columns:1fr 1fr;gap:26px 12px}
  .step:not(:last-child)::after{display:none}
  .stat-band{grid-template-columns:1fr 1fr}
  .medal-row{grid-template-columns:repeat(3,1fr);gap:22px 12px}
  .grade-cards{grid-template-columns:1fr}
  .who-grid{grid-template-columns:1fr 1fr}
  .plan-grid{grid-template-columns:1fr;max-width:460px;margin-left:auto;margin-right:auto}
  .plan.hot{transform:none}
  .foot-grid{grid-template-columns:1fr 1fr;gap:30px}
  .nav-menu{position:fixed;top:0;right:0;bottom:0;width:min(78vw,320px);background:linear-gradient(180deg,#0C2547,#0A1E3D);flex-direction:column;align-items:stretch;padding:96px 26px 30px;gap:6px;transform:translateX(102%);transition:transform .35s ease;z-index:105;overflow-y:auto}
  .nav-menu.open{transform:none;box-shadow:-130vw 0 0 130vw rgba(5,15,32,.55)}
  .nav-menu a{color:#fff!important;font-size:17px;padding:14px 18px}
  .nav.menu-open{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;padding:22px 0!important}
  .nav.menu-open .nav-logo-dark{display:none!important}
  .nav.menu-open .nav-logo-light{display:block!important;filter:drop-shadow(0 2px 8px rgba(0,0,0,.35))}
  .nav.menu-open .nav-inner>a:first-child{position:relative;z-index:106}
  .nav.menu-open .nav-toggle span{background:#fff}
  body.menu-lock{overflow:hidden}
  .nav-toggle{display:flex;z-index:110}
  .nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle.open span:nth-child(2){opacity:0}
  .nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .phone.dim{display:none}
  .phone,.phone:not(.dim){width:min(300px,76%);max-width:none;transform:none}
  .vs-row{flex-direction:column}
  .vs-arrow{transform:rotate(90deg);justify-content:center}
  .trio{grid-template-columns:1fr;max-width:480px;margin-left:auto;margin-right:auto}
  .trio figure{height:230px}
}
@media(max-width:560px){
  .kicker{letter-spacing:.14em;font-size:11px;gap:8px}
  .kicker::before{width:18px}
  .engine-steps{grid-template-columns:1fr}
  .stat-band{grid-template-columns:1fr 1fr}
  .who-grid{grid-template-columns:1fr}
  .medal-row{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr}
  .letter-paper{padding:30px 24px}
}
/* ===== 资讯中心 / CMS 覆盖层 ===== */
.v-overlay{position:fixed;inset:0;z-index:200;background:var(--bg);overflow-y:auto;display:none;opacity:0;transition:opacity .3s}
.v-overlay.active{display:block;opacity:1}
body.ov-open{overflow:hidden}
.v-topbar{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.v-topbar-in{max-width:1160px;margin:0 auto;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.v-topbar img{height:38px}
.v-topbar .v-back{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;color:var(--navy);border:1.5px solid var(--line);padding:9px 18px;border-radius:999px;cursor:pointer;background:#fff;transition:.2s}
.v-topbar .v-back:hover{border-color:var(--blue);color:var(--blue)}
.news-head{background:linear-gradient(135deg,#0C2547,#1E5FD0);color:#fff;padding:70px 0 64px;position:relative;overflow:hidden}
.news-head::after{content:"";position:absolute;right:-80px;top:-80px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(70,182,232,.35),transparent 70%)}
.news-head h1{font-family:var(--serif);font-weight:900;font-size:clamp(30px,4vw,44px);position:relative;z-index:1}
.news-head p{color:rgba(255,255,255,.82);margin-top:12px;font-size:16px;position:relative;z-index:1;max-width:640px}
.news-wrap{max-width:1160px;margin:0 auto;padding:0 28px}
.cat-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:-30px auto 34px;position:relative;z-index:5;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 18px;box-shadow:var(--shadow-sm);justify-content:space-between}
.cat-tabs{display:flex;flex-wrap:wrap;gap:8px}
.cat-tab{border:0;background:var(--bg);color:var(--ink2);font-size:14.5px;font-weight:600;padding:9px 18px;border-radius:999px;cursor:pointer;transition:.2s;font-family:var(--sans)}
.cat-tab:hover{background:var(--bg2)}
.cat-tab.on{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff}
.news-search{position:relative}
.news-search input{border:1px solid var(--line);border-radius:999px;padding:10px 16px 10px 38px;font-size:14px;width:220px;font-family:var(--sans);outline:none;background:var(--bg)}
.news-search input:focus{border-color:var(--blue);background:#fff}
.news-search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--ink3)}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding-bottom:30px}
.n-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm);cursor:pointer;transition:.3s;display:flex;flex-direction:column}
.n-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.n-cover{aspect-ratio:16/9;overflow:hidden;background:var(--bg2)}
.n-cover img{width:100%;height:100%;object-fit:cover;transition:.6s}
.n-card:hover .n-cover img{transform:scale(1.06)}
.n-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.n-meta{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:12.5px;color:var(--ink3)}
.n-cat{background:var(--bg2);color:var(--blue);font-weight:700;padding:3px 11px;border-radius:999px}
.n-card h3{font-family:var(--serif);font-size:18.5px;line-height:1.5;color:var(--navy);margin-bottom:9px;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.n-card p{font-size:14px;color:var(--ink2);line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.n-more{margin-top:14px;font-size:13.5px;font-weight:700;color:var(--blue);display:inline-flex;gap:6px;align-items:center}
.empty-tip{grid-column:1/-1;text-align:center;color:var(--ink3);padding:80px 0;font-size:15px}
.pager{display:flex;gap:8px;justify-content:center;margin:18px 0 70px}
.pager button{min-width:42px;height:42px;border:1.5px solid var(--line);background:#fff;border-radius:12px;cursor:pointer;font-size:14.5px;font-weight:600;color:var(--ink);font-family:var(--sans)}
.pager button.on{background:var(--blue);border-color:var(--blue);color:#fff}
.pager button:disabled{opacity:.4;cursor:not-allowed}
/* 详情 */
.article-wrap{max-width:820px;margin:0 auto;padding:48px 28px 80px}
.article-cat{display:inline-block;background:var(--bg2);color:var(--blue);font-weight:700;font-size:13px;padding:5px 15px;border-radius:999px;margin-bottom:18px}
.article-wrap h1{font-family:var(--serif);font-weight:900;font-size:clamp(26px,3.4vw,38px);line-height:1.4;color:var(--navy)}
.article-meta{color:var(--ink3);font-size:14px;margin:16px 0 28px;padding-bottom:22px;border-bottom:1px solid var(--line);display:flex;gap:18px;flex-wrap:wrap}
.article-cover{border-radius:20px;overflow:hidden;margin-bottom:34px;box-shadow:var(--shadow-sm)}
.article-cover img{width:100%;display:block}
.article-summary{background:var(--bg);border-left:4px solid var(--gold);border-radius:0 14px 14px 0;padding:20px 24px;font-family:var(--serif);font-size:17px;line-height:1.9;color:#3a4d70;margin-bottom:34px}
.article-body{font-size:16.5px;line-height:2;color:#33456a}
.article-body h2{font-family:var(--serif);font-size:23px;color:var(--navy);margin:38px 0 16px;font-weight:800}
.article-body h3{font-family:var(--serif);font-size:19px;color:var(--navy);margin:28px 0 12px;font-weight:700}
.article-body p{margin-bottom:18px}
.article-body ul,.article-body ol{margin:0 0 18px 24px}
.article-body li{margin-bottom:8px}
.article-body blockquote{border-left:4px solid var(--blue2);background:var(--bg);padding:16px 22px;border-radius:0 12px 12px 0;color:var(--ink);font-family:var(--serif);margin:22px 0}
.article-body img{border-radius:14px;margin:22px 0;box-shadow:var(--shadow-sm);max-width:100%}
.article-foot{margin-top:50px;padding-top:26px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.article-foot a{font-size:14.5px;color:var(--blue);font-weight:600;max-width:46%}
.article-foot a span{display:block;color:var(--ink3);font-size:12.5px;font-weight:400;margin-bottom:4px}
.toast{position:fixed;left:50%;bottom:40px;transform:translateX(-50%) translateY(20px);background:#0C2547;color:#fff;padding:13px 26px;border-radius:999px;font-size:14.5px;z-index:400;opacity:0;pointer-events:none;transition:.3s;box-shadow:var(--shadow)}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
#seed-imgs{position:absolute;width:0;height:0;overflow:hidden;opacity:0;pointer-events:none}
@media(max-width:900px){
  .news-grid{grid-template-columns:repeat(2,1fr)}
  .cat-bar{flex-direction:column;align-items:stretch}
  .news-search input{width:100%}
  .field-row{grid-template-columns:1fr}
}
@media(max-width:600px){
  .news-grid{grid-template-columns:1fr}
  .editor-card{padding:22px 18px}
  .article-foot a{max-width:100%}
}