/* ============ 子城AI · 星火VI 共享样式 ============ */
/* VI：靛蓝 #2D326B + 珊瑚 #FF6B5B · Noto Sans SC / Noto Serif SC · 极简 Bento */
:root{
  --ink:#22275C;          /* 靛蓝主色（加深饱和） */
  --ink-deep:#10132E;     /* 深靛 */
  --ink-900:#0B0D28;      /* 极深靛（戏剧性深色区块） */
  --coral:#FF6B5B;        /* 珊瑚（VI 锚点，保留） */
  --coral-deep:#D8391F;   /* 珊瑚深（hover/强强调） */
  --coral-soft:#FFE3DD;   /* 珊瑚浅底 */
  --bg:#D7D5EC;           /* 暖纸白（比纯白更有质感，不刺眼） */
  --card:#FFFFFF;
  --line:#9B99C4;         /* 略深描边，增加结构感 */
  --txt:#12152B;          /* 正文（更深，对比更强） */
  --muted:#3E4370;        /* 弱化文字（更深，告别灰蒙蒙） */
  --radius:20px;
  --shadow:0 12px 38px rgba(20,24,60,.16);
  --shadow-lift:0 24px 60px rgba(20,24,60,.24);
  --serif:'Noto Serif SC',serif;
  --sans:'Noto Sans SC',-apple-system,'PingFang SC','Microsoft YaHei',sans-serif;
  --latin:'Sora','Noto Sans SC',-apple-system,sans-serif;
  --reading:'Noto Serif SC','Noto Sans SC',serif;
  --grad:linear-gradient(100deg,var(--ink) 0%,#5B61B0 40%,var(--coral) 100%);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--bg);color:var(--txt);line-height:1.8;font-size:16px;letter-spacing:.012em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2{font-family:var(--serif);font-weight:900;letter-spacing:.004em}
h3,.serif{font-family:var(--serif);letter-spacing:.01em}

/* ---------- 签名视觉：印章 ---------- */
.seal{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--coral);color:#fff;font-family:var(--serif);font-weight:700;font-size:20px;border-radius:9px;box-shadow:0 6px 16px rgba(255,107,91,.45);flex:none}
.seal-sm{width:30px;height:30px;font-size:16px;border-radius:8px}

/* ---------- 导航 ---------- */
.nav{position:sticky;top:0;z-index:100;background:rgba(250,250,248,.85);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:.3s}
.nav.scrolled{border-bottom-color:var(--line);box-shadow:0 4px 20px rgba(45,50,107,.05)}
.nav-inner{max-width:1180px;margin:0 auto;padding:14px 28px;display:flex;align-items:center;gap:26px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-weight:700;font-size:18px;color:var(--ink)}
.nav-links{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav-links a{padding:8px 14px;border-radius:99px;font-size:14.5px;color:var(--muted);transition:.2s}
.nav-links a:hover{color:var(--ink);background:rgba(45,50,107,.06)}
.nav-links a.active{color:var(--ink);background:rgba(45,50,107,.08);font-weight:600}
.nav-cta{background:var(--coral);color:#fff!important;padding:8px 18px!important;font-weight:600;box-shadow:0 4px 14px rgba(255,107,91,.3)}
.nav-cta:hover{background:var(--coral-deep)!important}
.nav-burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:18px;color:var(--ink);cursor:pointer}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0;pointer-events:none}
.aura{position:absolute;border-radius:50%;filter:blur(90px);opacity:.6}
.aura-1{width:600px;height:600px;background:radial-gradient(circle,#A9AEF9 0%,transparent 70%);top:-200px;right:-90px;opacity:.85}
.aura-2{width:520px;height:520px;background:radial-gradient(circle,#FFB3A6 0%,transparent 70%);bottom:-220px;left:-130px;opacity:.92}
.aura-3{width:360px;height:360px;background:radial-gradient(circle,#B9BEFB 0%,transparent 70%);top:42%;left:36%;opacity:.4}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(45,50,107,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(45,50,107,.045) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 90% 70% at 50% 30%,#000 30%,transparent 75%)}
.hero-inner{position:relative;max-width:1180px;margin:0 auto;padding:84px 28px 72px;display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}
.hero-tag{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:99px;padding:7px 16px;font-size:13.5px;color:var(--ink);box-shadow:var(--shadow);margin-bottom:26px}
.hero-tag .dot{width:7px;height:7px;border-radius:50%;background:var(--coral);animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.35}}
.hero h1{font-size:clamp(42px,6vw,72px);line-height:1.14;color:var(--ink);font-weight:900;letter-spacing:-.015em}
.hero h1 em{font-style:normal;color:var(--coral);position:relative;white-space:nowrap}
.hero h1 em::after{content:'';position:absolute;left:0;right:0;bottom:4px;height:13px;background:rgba(255,107,91,.36);z-index:-1;border-radius:5px}
.hero h1 .tw-line{display:inline}
.tw-caret{display:inline-block;width:3px;height:.92em;background:var(--coral);margin-left:3px;vertical-align:-2px;border-radius:2px;animation:twblink 1s steps(1) infinite}
@keyframes twblink{50%{opacity:0}}
.hero p.lead{margin:22px 0 30px;font-size:17.5px;color:var(--muted);max-width:32em}
.hero-trust{margin-top:26px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.hero-trust b{color:var(--ink);font-weight:600}
.hero-trust .sep{width:4px;height:4px;border-radius:50%;background:var(--coral);opacity:.65;flex:none}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:99px;padding:14px 30px;font-size:15.5px;font-weight:600;transition:.25s;cursor:pointer;border:none}
.btn-coral{background:var(--coral);color:#fff;box-shadow:0 10px 26px rgba(255,107,91,.42)}
.btn-coral:hover{background:var(--coral-deep);transform:translateY(-2px);box-shadow:0 14px 32px rgba(232,78,60,.5)}
.btn-ghost{background:#fff;color:var(--ink);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--ink);transform:translateY(-2px)}

/* Hero 照片（大图冲击） */
.hero-photo{position:relative;justify-self:center}
.hero-photo::before{content:'';position:absolute;inset:-34px;border-radius:44px;background:radial-gradient(circle at 50% 42%,rgba(255,107,91,.18),transparent 64%);z-index:-1;filter:blur(8px)}
.hero-photo .frame{position:relative;width:min(360px,80vw);border-radius:28px;overflow:hidden;box-shadow:0 44px 80px -22px rgba(45,50,107,.42),0 14px 32px rgba(45,50,107,.18);transform:rotate(.8deg);transition:.5s}
.hero-photo .frame:hover{transform:rotate(0) scale(1.018)}
.hero-photo img{width:100%;aspect-ratio:4/4.65;object-fit:cover;object-position:center 18%}
.hero-photo .frame::before{content:'';position:absolute;inset:0;border-radius:28px;border:1px solid rgba(255,255,255,.35);z-index:2;pointer-events:none}
.hero-photo .badge{position:absolute;left:-26px;bottom:34px;background:#fff;border-radius:16px;padding:14px 20px;box-shadow:var(--shadow-lift);display:flex;align-items:center;gap:12px}
.hero-photo .badge .num{font-family:var(--serif);font-size:26px;font-weight:700;color:var(--coral)}
.hero-photo .badge .lbl{font-size:12.5px;color:var(--muted);line-height:1.45}
.hero-photo .seal-big{position:absolute;top:-20px;right:-18px;width:64px;height:64px;font-size:32px;border-radius:16px;transform:rotate(8deg)}

/* ---------- 数据条 ---------- */
.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#DCD9F0}
.stats-inner{max-width:1180px;margin:0 auto;padding:40px 28px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat{text-align:center;position:relative}
.stat:not(:last-child)::after{content:'';position:absolute;right:-10px;top:50%;transform:translateY(-50%);width:1px;height:46px;background:var(--line)}
.stat b{display:block;font-family:var(--latin);font-size:40px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.stat b i{font-style:normal;color:var(--coral)}
.stat span{font-size:13px;color:var(--muted);margin-top:4px;display:block}

/* ---------- 信任背书条 ---------- */
.trust{border-bottom:1px solid var(--line);background:#DCD9F0}
.trust-inner{max-width:1180px;margin:0 auto;padding:22px 28px;display:flex;align-items:center;gap:18px 26px;flex-wrap:wrap;justify-content:center}
.trust-label{font-size:12px;letter-spacing:.24em;color:var(--coral);font-weight:700;flex:none}
.trust ul{display:flex;gap:10px 28px;flex-wrap:wrap;list-style:none}
.trust li{font-size:13.5px;color:var(--muted);position:relative;padding-left:16px}
.trust li::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--ink);opacity:.28}

/* ---------- 区块通用 ---------- */
.section{max-width:1180px;margin:0 auto;padding:88px 28px}
.sec-head{text-align:center;max-width:640px;margin:0 auto 54px}
.sec-head .kicker{display:inline-block;font-family:var(--latin);font-size:13px;letter-spacing:.28em;color:var(--coral);font-weight:700;margin-bottom:14px}
.sec-head h2{font-size:clamp(28px,3.4vw,40px);color:var(--ink);line-height:1.3}
.sec-head p{margin-top:14px;color:var(--muted);font-size:16px}

/* ---------- 导师介绍（单栏 · 深色签名面板） ---------- */
.mentor-card{max-width:820px;margin:0 auto;background:linear-gradient(155deg,var(--ink) 0%,var(--ink-900) 100%);border-radius:30px;box-shadow:0 30px 80px rgba(16,19,58,.4);overflow:hidden;text-align:center;position:relative}
.mentor-card::after{content:'子';position:absolute;right:24px;top:8px;font-family:var(--serif);font-size:160px;color:rgba(255,255,255,.05);line-height:1;pointer-events:none}
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.mv-card{background:linear-gradient(160deg,#D6D3F1 0%,#EEECFB 100%);border:1px solid var(--line);border-radius:24px;padding:38px 34px;position:relative;overflow:hidden}
.mv-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--ink),var(--coral))}
.mv-k{font-size:12px;letter-spacing:.22em;color:var(--coral);font-weight:700}
.mv-card h3{font-family:'Noto Serif SC',serif;font-size:21px;color:var(--ink);margin:12px 0 10px;line-height:1.45}
.mv-card p{font-size:14.5px;color:var(--muted);line-height:1.85;margin:0}
.mentor-body{position:relative;z-index:2;padding:52px 44px 48px}
.mentor-body h3{font-size:28px;color:#fff;margin-top:6px}
.mentor-body .role{color:#FFB0A6;font-weight:600;font-size:15px;margin:8px 0 20px;letter-spacing:.06em}
.mentor-body .quote{font-family:var(--serif);font-size:18px;color:rgba(255,255,255,.86);max-width:30em;margin:0 auto 28px;line-height:1.8}
.pill-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.pill{background:rgba(255,107,91,.16);color:#fff;border-radius:99px;padding:10px 22px;font-size:13.5px;font-weight:600}
.pill b{color:#FF8C7E}

/* ---------- 课程路径 ---------- */
.path{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative}
.path::before{content:'';position:absolute;top:36px;left:9%;right:9%;height:2px;background:repeating-linear-gradient(90deg,var(--coral) 0 9px,transparent 9px 18px);z-index:0;animation:march 1.1s linear infinite}
@keyframes march{to{background-position:27px 0}}
.course-card{background:linear-gradient(160deg,#D6D3F1 0%,#EEECFB 100%);border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;position:relative;transition:.3s;overflow:hidden;z-index:1}
.course-card::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:var(--coral)}
.course-card:nth-child(2)::before{background:#8A90D6}
.course-card:nth-child(3)::before{background:var(--ink)}
.course-card:nth-child(4)::before{background:var(--ink-deep)}
.course-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift)}
.course-card .lvl{font-family:var(--serif);font-size:44px;font-weight:700;color:rgba(45,50,107,.14);position:absolute;top:14px;right:20px;line-height:1}
.course-card h3{font-size:19px;color:var(--ink);margin-bottom:10px}
.course-card p{font-size:14px;color:var(--muted)}
.course-card .meta{margin-top:16px;font-size:12.5px;color:var(--coral);font-weight:600}
.path .course-card{opacity:0;transform:translateY(38px) scale(.95);transition:opacity .6s cubic-bezier(.2,.7,.3,1),transform .6s cubic-bezier(.2,.7,.3,1)}
.path.in .course-card{opacity:1;transform:none}
.path.in .course-card:nth-child(1){transition-delay:0s}
.path.in .course-card:nth-child(2){transition-delay:.14s}
.path.in .course-card:nth-child(3){transition-delay:.28s}
.path.in .course-card:nth-child(4){transition-delay:.42s}

/* ---------- GEO 深蓝横幅 ---------- */
.geo-banner{background:linear-gradient(135deg,var(--ink-900),var(--ink-deep));border-radius:28px;padding:60px 56px;color:#fff;position:relative;overflow:hidden}
.geo-banner::after{content:'GEO';position:absolute;right:-20px;bottom:-40px;font-family:var(--serif);font-size:200px;font-weight:700;color:rgba(255,255,255,.05);line-height:1}
.geo-banner h2{font-size:clamp(24px,3vw,34px);max-width:20em}
.geo-banner h2 em{font-style:normal;color:#FF9B8E}
.geo-banner p{margin:16px 0 30px;color:rgba(255,255,255,.75);max-width:38em}
.engine-wall{display:flex;flex-wrap:wrap;gap:10px;position:relative;z-index:2}
.engine{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:99px;padding:8px 18px;font-size:13.5px;backdrop-filter:blur(4px)}

/* ---------- 文章卡 ---------- */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.post{background:linear-gradient(160deg,#ECE9FA 0%,#FBFAFF 100%);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.3s;display:flex;flex-direction:column}
.post:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift)}
.post .cover{height:120px;background:linear-gradient(135deg,var(--ink) 0%,#4A5099 100%);position:relative;display:flex;align-items:center;justify-content:center}
.post .cover .zi{font-family:var(--serif);font-size:32px;letter-spacing:6px;padding-left:6px;color:rgba(255,255,255,.92);font-weight:700}
.post:nth-child(2) .cover{background:linear-gradient(135deg,#FF8A7C,var(--coral))}
.post:nth-child(3) .cover{background:linear-gradient(135deg,#3A3F7A,var(--ink-deep))}
.post .body{padding:22px 24px 26px;flex:1;display:flex;flex-direction:column}
.post .cat{align-self:flex-start;background:var(--coral-soft);color:var(--coral);font-size:12px;font-weight:700;border-radius:99px;padding:4px 12px;margin-bottom:12px}
.post h3{font-size:17.5px;color:var(--ink);line-height:1.5}
.post p{font-size:13.5px;color:var(--muted);margin-top:10px;flex:1}
.post .date{margin-top:16px;font-size:12.5px;color:#A0A3BC}

/* ---------- CTA 横幅 ---------- */
.cta-band{max-width:1180px;margin:0 auto 90px;padding:0 28px}
.cta-inner{background:linear-gradient(120deg,var(--coral),var(--coral-deep));border-radius:28px;padding:56px;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;position:relative;overflow:hidden}
.cta-inner::before{content:'子';position:absolute;right:30px;bottom:-30px;font-family:var(--serif);font-size:180px;color:rgba(255,255,255,.12);line-height:1}
.cta-inner h2{color:#fff;font-size:clamp(24px,3vw,34px)}
.cta-inner p{color:rgba(255,255,255,.9);margin-top:8px}
.cta-inner .btn{background:#fff;color:var(--coral);position:relative;z-index:2}
.cta-inner .btn:hover{transform:translateY(-2px)}

/* ---------- 页脚 ---------- */
.footer{background:var(--ink-deep);color:rgba(255,255,255,.65);padding:52px 28px 34px}
.footer-inner{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.footer h4{color:#fff;font-size:15px;margin-bottom:14px}
.footer a{display:block;font-size:13.5px;padding:4px 0;transition:.2s}
.footer a:hover{color:#FFB0A6}
.footer .icp{border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:22px;text-align:center;font-size:12.5px;color:rgba(255,255,255,.4)}

/* ---------- 右侧悬浮 dock ---------- */
.dock{position:fixed;right:22px;bottom:50%;transform:translateY(50%);z-index:200;display:flex;flex-direction:column;gap:12px;opacity:0;pointer-events:none;transition:.4s}
.dock.show{opacity:1;pointer-events:auto}
.dock-item{width:52px;height:52px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:.25s;color:var(--ink)}
.dock-item:hover{transform:scale(1.1);color:var(--coral)}
.dock-item.primary{background:var(--coral);color:#fff;border:none;box-shadow:0 8px 20px rgba(255,107,91,.4)}
.dock-item.primary:hover{color:#fff;background:var(--coral-deep)}
.dock-item .tip{position:absolute;right:64px;top:50%;transform:translateY(-50%);background:var(--ink);color:#fff;font-size:12.5px;border-radius:8px;padding:6px 12px;white-space:nowrap;opacity:0;pointer-events:none;transition:.2s}
.dock-item:hover .tip{opacity:1}
.dock-item.has-qr{overflow:visible;cursor:pointer}
.dock-item.has-qr.open{color:var(--coral)}
.dock-qr{position:absolute;right:64px;top:50%;transform:translateY(-50%) scale(.92);background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;box-shadow:var(--shadow-lift);width:162px;text-align:center;opacity:0;pointer-events:none;transition:.22s;z-index:6}
.dock-item.has-qr.open .dock-qr{opacity:1;pointer-events:auto;transform:translateY(-50%) scale(1)}
.dock-qr img{width:136px;height:136px;border-radius:8px;display:block;margin:0 auto;background:#fff}
.dock-qr-cap{display:block;font-size:11.5px;color:var(--muted);margin-top:8px}

/* ---------- 内页 hero ---------- */
.page-hero{position:relative;overflow:hidden;padding:76px 28px 58px;text-align:center}
.page-hero .kicker{display:inline-block;font-size:13px;letter-spacing:.28em;color:var(--coral);font-weight:700;margin-bottom:14px}
.page-hero h1{font-size:clamp(32px,4.4vw,50px);font-weight:900;color:var(--ink);letter-spacing:-.01em}
.page-hero p{margin-top:14px;color:var(--muted);max-width:36em;margin-left:auto;margin-right:auto}

/* ---------- 公益课堂：视频 + 文档 ---------- */
.pub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.video-card{background:linear-gradient(160deg,#D6D3F1 0%,#EEECFB 100%);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.3s}
.video-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift)}
.video-card .thumb{position:relative;height:150px;background:linear-gradient(135deg,var(--ink),#4A5099);display:flex;align-items:center;justify-content:center}
.video-card:nth-child(2) .thumb{background:linear-gradient(135deg,#FF8A7C,var(--coral))}
.video-card:nth-child(3) .thumb{background:linear-gradient(135deg,#3A3F7A,var(--ink-deep))}
.video-card .play{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(0,0,0,.25)}
.video-card .play svg{margin-left:4px}
.video-card .dur{position:absolute;right:12px;bottom:10px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;border-radius:6px;padding:2px 8px}
.video-card .body{padding:20px 22px 24px}
.video-card h3{font-size:16.5px;color:var(--ink)}
.video-card p{font-size:13px;color:var(--muted);margin-top:8px}
.doc-list{display:flex;flex-direction:column;gap:14px;max-width:820px;margin:0 auto}
.doc-item{display:flex;align-items:center;gap:18px;background:linear-gradient(160deg,#FFE1D8 0%,#FFF0EB 100%);border:1px solid var(--line);border-radius:16px;padding:18px 24px;transition:.25s}
.doc-item:hover{border-color:var(--coral);box-shadow:var(--shadow)}
.doc-icon{width:44px;height:44px;border-radius:12px;background:var(--coral-soft);color:var(--coral);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex:none}
.doc-item h4{font-size:15.5px;color:var(--ink)}
.doc-item p{font-size:13px;color:var(--muted)}
.doc-item .get{margin-left:auto;color:var(--coral);font-size:13.5px;font-weight:700;white-space:nowrap}

/* ---------- FAQ ---------- */
.faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.faq-item{background:linear-gradient(160deg,#ECE9FA 0%,#FBFAFF 100%);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.faq-item summary{cursor:pointer;list-style:none;padding:20px 26px;font-weight:600;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:14px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-size:22px;color:var(--coral);transition:.25s;flex:none}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item .ans{padding:0 26px 22px;color:var(--muted);font-size:14.5px}

/* ---------- 商业案例 ---------- */
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.case-card{background:linear-gradient(160deg,#FFE1D8 0%,#FFF0EB 100%);border:1px solid var(--line);border-radius:var(--radius);padding:32px 28px;transition:.3s;position:relative;overflow:hidden}
.case-card::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:var(--coral)}
.case-card:nth-child(2)::before{background:#8A90D6}
.case-card:nth-child(3)::before{background:var(--ink)}
.case-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift)}
.case-card .ind{font-size:12.5px;font-weight:700;color:var(--coral);letter-spacing:.1em}
.case-card h3{font-size:18.5px;color:var(--ink);margin:10px 0 12px}
.case-card p{font-size:14px;color:var(--muted)}
.case-card .num{margin-top:20px;font-family:var(--serif);font-size:30px;font-weight:700;color:var(--coral)}
.case-card .num span{font-size:13px;color:var(--muted);font-family:var(--sans);font-weight:400;display:block}

/* ---------- 动效 ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
  .hero-tag .dot{animation:none}
}

/* ---------- 响应式 ---------- */
@media (max-width:960px){
  .hero-inner{grid-template-columns:1fr;gap:48px;padding-top:56px;text-align:center}
  .hero p.lead{margin-left:auto;margin-right:auto}
  .hero-actions{justify-content:center}
  .hero-photo .badge{left:50%;transform:translateX(-50%);bottom:-20px}
  .path,.posts,.pub-grid,.case-grid{grid-template-columns:repeat(2,1fr)}
  .mv-grid{grid-template-columns:1fr}
  .stats-inner{grid-template-columns:repeat(2,1fr)}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:16px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  .nav-links.open{display:flex}
  .nav-burger{display:block}
  .geo-banner{padding:44px 30px}
  .dock{right:14px}
  .trust-inner{flex-direction:column;gap:12px;text-align:center}
  .trust ul{justify-content:center}
  .path::before{display:none}
  .hero-trust{justify-content:center}
  .stat::after{display:none}
}
@media (max-width:600px){
  .path,.posts,.pub-grid,.case-grid{grid-template-columns:1fr}
  .section{padding:64px 20px}
  .cta-inner{padding:40px 28px}
}

/* ===== 本轮优化：去淡去素 · 课程动感 · 首屏记忆锚点 ===== */
.hero-photo::after{content:'';position:absolute;inset:-16px;border-radius:42px;background:conic-gradient(from 0deg,transparent 0deg,rgba(255,107,91,.40) 70deg,transparent 140deg,rgba(43,47,102,.42) 210deg,transparent 290deg);z-index:-2;animation:spin 14s linear infinite;filter:blur(9px)}
@keyframes spin{to{transform:rotate(360deg)}}
.course-card{will-change:transform}
.course-card .ctag{display:inline-block;font-size:12px;font-weight:700;color:var(--coral);background:var(--coral-soft);border-radius:99px;padding:3px 11px;margin:6px 0 10px}
.course-card h3{font-size:22px;color:var(--ink);margin-bottom:8px}
.course-card p{font-size:13.5px;color:var(--muted);line-height:1.7}
.course-card .cmods{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 4px}
.course-card .cmods li{font-size:11.5px;color:var(--ink);background:rgba(43,47,102,.06);border:1px solid var(--line);border-radius:7px;padding:3px 9px;opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease}
.path.in .course-card .cmods li{opacity:1;transform:none}
.path.in .course-card:nth-child(1) .cmods li:nth-child(1){transition-delay:.50s}
.path.in .course-card:nth-child(1) .cmods li:nth-child(2){transition-delay:.55s}
.path.in .course-card:nth-child(1) .cmods li:nth-child(3){transition-delay:.60s}
.path.in .course-card:nth-child(1) .cmods li:nth-child(4){transition-delay:.65s}
.path.in .course-card:nth-child(2) .cmods li:nth-child(1){transition-delay:.64s}
.path.in .course-card:nth-child(2) .cmods li:nth-child(2){transition-delay:.69s}
.path.in .course-card:nth-child(2) .cmods li:nth-child(3){transition-delay:.74s}
.path.in .course-card:nth-child(2) .cmods li:nth-child(4){transition-delay:.79s}
.path.in .course-card:nth-child(3) .cmods li:nth-child(1){transition-delay:.78s}
.path.in .course-card:nth-child(3) .cmods li:nth-child(2){transition-delay:.83s}
.path.in .course-card:nth-child(3) .cmods li:nth-child(3){transition-delay:.88s}
.path.in .course-card:nth-child(3) .cmods li:nth-child(4){transition-delay:.93s}
.path.in .course-card:nth-child(4) .cmods li:nth-child(1){transition-delay:.92s}
.path.in .course-card:nth-child(4) .cmods li:nth-child(2){transition-delay:.97s}
.path.in .course-card:nth-child(4) .cmods li:nth-child(3){transition-delay:1.02s}
.path.in .course-card:nth-child(4) .cmods li:nth-child(4){transition-delay:1.07s}
.course-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift);border-color:rgba(255,107,91,.45)}
.course-card:hover .lvl{color:rgba(255,107,91,.28)}
.posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:22px}
.post .cover.plat{background:linear-gradient(135deg,var(--ink),#4A5099)}
.post:nth-child(2) .cover.plat{background:linear-gradient(135deg,#FF8A7C,var(--coral))}
.post:nth-child(3) .cover.plat{background:linear-gradient(135deg,#3A3F7A,var(--ink-deep))}
.post:nth-child(4) .cover.plat{background:linear-gradient(135deg,#6B70C4,var(--ink))}
.post .cover.plat .zi{font-size:26px;letter-spacing:3px;padding-left:0}
@media (prefers-reduced-motion:reduce){
  .hero-photo::after{animation:none}
  .path::before{animation:none}
}

/* ===== 本轮优化：模块底色去淡去素 · AI微课列表 · AI助手弹窗 ===== */

/* AI 微课列表（courses.html） */
.micro-list{display:flex;flex-direction:column;gap:12px;max-width:880px;margin:0 auto}
.micro-item{display:flex;align-items:center;gap:18px;background:linear-gradient(160deg,#D6D3F1 0%,#EEECFB 100%);border:1px solid var(--line);border-radius:16px;padding:16px 22px;transition:.25s;text-decoration:none;position:relative;overflow:hidden}
.micro-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--ink),var(--coral))}
.micro-item:hover{border-color:var(--coral);box-shadow:var(--shadow);transform:translateX(4px)}
.micro-item .mno{font-family:var(--serif);font-weight:700;font-size:20px;color:var(--coral);background:var(--coral-soft);border-radius:10px;min-width:46px;height:46px;display:flex;align-items:center;justify-content:center;flex:none}
.micro-item .mbody{flex:1}
.micro-item .mbody h3{font-size:16px;color:var(--ink);line-height:1.4}
.micro-item .mbody p{font-size:13px;color:var(--muted);margin-top:4px}
.micro-item .mplay{margin-left:auto;width:40px;height:40px;border-radius:50%;background:var(--coral);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;flex:none;box-shadow:0 6px 16px rgba(255,107,91,.4);transition:.25s}
.micro-item:hover .mplay{transform:scale(1.08)}

/* AI 助手弹窗 */
.assistant-modal{position:fixed;inset:0;z-index:500;display:none}
.assistant-modal.open{display:block}
.am-backdrop{position:absolute;inset:0;background:rgba(11,13,40,.5);backdrop-filter:blur(4px)}
.am-panel{position:absolute;right:22px;bottom:22px;width:min(400px,calc(100vw - 44px));height:min(620px,calc(100vh - 44px));max-height:620px;background:#fff;border-radius:24px;box-shadow:0 30px 80px rgba(11,13,40,.45);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line)}
.am-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,var(--ink) 0%,var(--ink-deep) 100%);color:#fff}
.am-head b{font-size:15px;display:block}
.am-head small{font-size:11.5px;color:rgba(255,255,255,.72)}
.am-head .am-close{margin-left:auto;background:rgba(255,255,255,.14);border:none;color:#fff;width:30px;height:30px;border-radius:9px;font-size:20px;line-height:1;cursor:pointer;flex:none}
.am-head .am-close:hover{background:rgba(255,255,255,.26)}
.am-msgs{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px;background:#F6F5FB}
.am-msg{max-width:84%;padding:11px 14px;border-radius:14px;font-size:13.5px;line-height:1.65}
.am-msg.bot{align-self:flex-start;background:#fff;border:1px solid var(--line);color:var(--txt);border-bottom-left-radius:4px}
.am-msg.user{align-self:flex-end;background:var(--coral);color:#fff;border-bottom-right-radius:4px}
.am-quick{display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px 0}
.am-quick button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:99px;padding:6px 12px;font-size:12px;cursor:pointer;transition:.2s;font-family:var(--sans)}
.am-quick button:hover{border-color:var(--coral);color:var(--coral)}
.am-input{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--line);background:#fff}
.am-input input{flex:1;border:1px solid var(--line);border-radius:12px;padding:11px 14px;font-size:14px;font-family:var(--sans);outline:none}
.am-input input:focus{border-color:var(--coral)}
.am-input button{background:var(--coral);color:#fff;border:none;border-radius:12px;padding:0 18px;font-weight:600;font-size:14px;cursor:pointer;font-family:var(--sans)}
.am-input button:hover{background:var(--coral-deep)}
.am-foot{padding:9px 14px;font-size:11.5px;color:var(--muted);text-align:center;border-top:1px solid var(--line);background:#fff}
@media (max-width:600px){
  .am-panel{right:0;bottom:0;width:100vw;height:100vh;max-height:none;border-radius:0}
}

/* 动态专栏 · AI 文章列表（去单字封面，编辑式卡片） */
.post-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.post .cat{margin-bottom:0}
.post h3{margin-top:4px}
.post .more{margin-top:auto;padding-top:16px;color:var(--coral);font-size:13px;font-weight:700}
.doc-item{text-decoration:none}

/* ---------- 核心优势 ---------- */
.adv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1180px;margin:0 auto}
.adv-card{background:linear-gradient(160deg,#E2E0F6 0%,#FBFAFF 100%);border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px;transition:.3s;position:relative;overflow:hidden}
.adv-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);border-color:var(--ink)}
.adv-ic{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--ink),var(--coral));color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;font-size:26px;margin-bottom:18px;box-shadow:0 8px 20px rgba(45,50,107,.25)}
.adv-card h3{font-size:19px;color:var(--ink);margin-bottom:10px;line-height:1.4}
.adv-card p{font-size:14.5px;color:var(--muted);line-height:1.7}
@media(max-width:900px){.adv-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.adv-grid{grid-template-columns:1fr}}
/* ---------- 动态专栏 tabs ---------- */
.dyn-tabs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:30px}
.dyn-tab{font-family:var(--sans);font-size:14.5px;padding:9px 20px;border:1px solid var(--line);background:#fff;border-radius:99px;cursor:pointer;color:var(--muted);transition:.2s}
.dyn-tab:hover{color:var(--ink);border-color:var(--ink)}
.dyn-tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.post.hide{display:none}

/* ===== 本轮优化：阅读衬线 + 渐变标题 + 品牌渐变底 + 电话弹窗 ===== */
.reading,.lead,.sec-head p,.mv-card p,.case-card p,.post p,.adv-card p,.doc-item p,.course-card p,.mentor-body p,.faq-item .ans,.trust li,.cta-inner p,.footer p{font-family:var(--reading)}
.sec-head h2,.page-hero h1{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.sec-head .kicker,.page-hero .kicker{background:var(--grad);color:#fff!important;padding:7px 18px;border-radius:99px;letter-spacing:.2em}
.hero{background:radial-gradient(120% 85% at 82% -5%,#E4E1F7 0%,var(--bg) 58%)}
.cta-inner{box-shadow:0 22px 64px rgba(255,90,69,.38)}
body{background:linear-gradient(180deg,#EDEBF9 0%,var(--bg) 24%)}
/* 电话弹窗（临风老师） */
.phone-modal{position:fixed;inset:0;z-index:600;display:none}
.phone-modal.open{display:block}
.pm-backdrop{position:absolute;inset:0;background:rgba(11,13,40,.5);backdrop-filter:blur(4px)}
.pm-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(380px,calc(100vw-40px));background:#fff;border-radius:24px;box-shadow:0 30px 80px rgba(11,13,40,.5);overflow:hidden;border:1px solid var(--line);text-align:center}
.pm-head{background:linear-gradient(135deg,var(--ink),var(--ink-deep));color:#fff;padding:26px 20px 22px;position:relative}
.pm-head .seal{position:absolute;top:-16px;right:18px;width:52px;height:52px;font-size:26px;border-radius:14px;transform:rotate(8deg);box-shadow:0 8px 20px rgba(0,0,0,.25)}
.pm-head b{font-family:var(--serif);font-size:19px}
.pm-head small{display:block;font-size:12.5px;color:rgba(255,255,255,.78);margin-top:4px}
.pm-body{padding:26px 24px 6px}
.pm-tip{font-size:13.5px;color:var(--muted);margin-bottom:10px}
.pm-phone{font-family:var(--latin);font-size:32px;font-weight:700;color:var(--ink);letter-spacing:.01em}
.pm-actions{display:flex;gap:12px;padding:18px 24px 24px}
.pm-btn{flex:1;border-radius:99px;padding:13px;font-weight:600;font-size:15px;cursor:pointer;border:none;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--sans)}
.pm-call{background:var(--coral);color:#fff;box-shadow:0 8px 20px rgba(255,107,91,.4)}
.pm-call:hover{background:var(--coral-deep)}
.pm-copy{background:#fff;color:var(--ink);border:1.5px solid var(--line)}
.pm-copy:hover{border-color:var(--ink)}
@media (max-width:600px){.pm-panel{width:calc(100vw-32px)}}

/* ===== 本轮优化：AI 微课封面 + 视频灯箱 ===== */
.micro-item .mcover-wrap{position:relative;width:106px;height:140px;flex:none;border-radius:12px;overflow:hidden;background:var(--ink);box-shadow:0 6px 16px rgba(20,24,60,.18)}
.micro-item .mcover{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:.35s}
.micro-item:hover .mcover{transform:scale(1.07)}
.micro-item .mno{position:absolute;left:6px;top:6px;min-width:auto;width:26px;height:26px;font-size:13px;background:rgba(11,13,40,.66);color:#fff;backdrop-filter:blur(2px);box-shadow:none}
.micro-item .mbody h3{font-size:15.5px}
/* 视频灯箱 */
.video-modal{position:fixed;inset:0;z-index:700;display:none}
.video-modal.open{display:block}
.vm-backdrop{position:absolute;inset:0;background:rgba(11,13,40,.82);backdrop-filter:blur(6px)}
.vm-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(880px,calc(100vw - 40px));background:#0B0D28;border-radius:18px;overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.12)}
.vm-head{display:flex;align-items:center;gap:10px;padding:14px 18px;background:linear-gradient(135deg,var(--ink),var(--ink-deep))}
.vm-head b{font-size:14.5px;font-weight:600;flex:1;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vm-head .vm-close{background:rgba(255,255,255,.14);border:none;color:#fff;width:30px;height:30px;border-radius:9px;font-size:20px;line-height:1;cursor:pointer;flex:none}
.vm-head .vm-close:hover{background:rgba(255,255,255,.26)}
.vm-video{display:block;width:100%;background:#000;max-height:calc(100vh - 120px)}
@media (max-width:600px){.vm-panel{width:100vw;height:100vh;border-radius:0}.vm-video{max-height:calc(100vh - 60px)}}

/* ===== 本轮优化：排版与正文字体精修 ===== */
::selection{background:var(--coral);color:#fff}
h1,h2,h3{text-wrap:balance}
h1,h2{line-height:1.28}
h3{line-height:1.4}
.lead,.sec-head p,.mv-card p,.case-card p,.post p,.adv-card p,.doc-item p,
.course-card p,.mentor-body p,.faq-item .ans,.trust li,.cta-inner p,.footer p,.reading{
  text-wrap:pretty;line-height:1.92;letter-spacing:.02em;
}
.lead{font-size:18px;max-width:34em}
.sec-head p{font-size:16.5px;max-width:36em;margin-left:auto;margin-right:auto}
/* 导师引言：国学质感首字下沉 + 引号点缀 */
.mentor-body .quote{position:relative;padding-left:24px}
.mentor-body .quote::before{content:'“';position:absolute;left:-4px;top:-14px;font-family:var(--serif);font-size:52px;color:var(--coral);opacity:.5;line-height:1}
.mentor-body .quote::first-letter{font-family:var(--serif);font-size:2.4em;line-height:.82;float:left;margin:6px 10px 0 0;color:var(--coral);font-weight:700}
/* 模块标题节奏统一，去除拥挤 */
.post h3,.case-card h3,.adv-card h3,.course-card h3,.mv-card h3{letter-spacing:.01em}
/* 卡片正文与标题留白更舒展 */
.mv-card p,.case-card p,.adv-card p,.course-card p{margin-top:2px}
/* 链接在正文中的克制点缀 */
.reading a,.sec-head p a{color:var(--coral);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
