/* ============================================================
   页面专属布局
   ============================================================ */

/* ---------- 通用 Hero ---------- */
.hero { padding:96px 0 88px; }
.hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:64px; align-items:center; }
.hero-grid.hero-single { grid-template-columns:1fr; }
.hero-single h1 { font-size:clamp(40px, 6vw, 70px); }
.hero-single .lead { max-width:34em; }
.hero h1 { font-size:clamp(38px, 5.4vw, 62px); letter-spacing:-.025em; }
.hero h1 em { font-style:normal; color:var(--accent-deep); }
.hero .lead { margin-top:24px; max-width:30em; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:36px; }

/* 首页品牌面板 */
.brand-panel {
  background:var(--charcoal);
  border-radius:28px;
  padding:54px 44px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; gap:22px; min-height:380px;
  position:relative; overflow:hidden;
}
.brand-panel::after {
  content:""; position:absolute; inset:0;
  background:radial-gradient(120% 90% at 50% 0%, rgba(255,255,255,.06), transparent 60%);
  pointer-events:none;
}
.brand-panel img { width:128px; height:auto; }
.brand-panel .pl-name { font-family:var(--font-display); color:var(--on-charcoal); font-size:26px; font-weight:600; }
.brand-panel .pl-tag { color:var(--on-charcoal-soft); font-size:15px; letter-spacing:.04em; }
.brand-panel .pl-divider { width:40px; height:1px; background:rgba(255,255,255,.2); }

/* ---------- 双业务卡片 ---------- */
.section-head { max-width:34em; margin-bottom:48px; }
.section-head h2 { font-size:clamp(28px,3.4vw,40px); margin-top:16px; }
.section-head p { margin-top:16px; }
.biz-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.biz-card { display:flex; flex-direction:column; min-height:340px; }
.biz-card .ph { min-height:160px; margin-bottom:26px; }
.biz-status {
  align-self:flex-start; font-family:var(--font-latin); font-size:12px; font-weight:600;
  letter-spacing:.06em; padding:5px 12px; border-radius:999px; margin-bottom:16px;
}
.biz-status.live { background:var(--accent-tint); color:var(--accent-deep); }
.biz-status.soon { background:var(--charcoal); color:var(--on-charcoal); }
.biz-card h3 { font-size:25px; margin-bottom:12px; }
.biz-card p { color:var(--ink-soft); font-size:16px; flex-grow:1; }
.biz-more { display:inline-flex; align-items:center; gap:8px; margin-top:22px; font-weight:600; color:var(--accent-deep); font-size:15.5px; }
.biz-card:hover .btn-arrow { transform:translateX(3px); }

/* ---------- 创始人 ---------- */
.founder { display:grid; grid-template-columns:.8fr 1.2fr; gap:56px; align-items:center; }
.founder.founder-noimg { grid-template-columns:1fr; max-width:760px; }
.method.method-noimg { grid-template-columns:1fr; max-width:720px; }
.founder-photo { aspect-ratio:4/5; border-radius:24px; min-height:auto; }
.founder h2 { font-size:clamp(26px,3vw,36px); margin:18px 0 10px; }
.founder .role { font-family:var(--font-latin); font-size:14px; letter-spacing:.06em; color:var(--ink-faint); margin-bottom:22px; }
.tags { display:flex; flex-wrap:wrap; gap:10px; margin:22px 0 26px; }
.tag { font-size:14px; font-weight:500; padding:8px 16px; border-radius:999px; background:var(--surface); border:1px solid var(--line-strong); color:var(--ink); }
.founder p { color:var(--ink-soft); margin-bottom:14px; font-size:16.5px; }
.founder-linkedin {
  display:inline-flex; align-items:center; gap:9px; margin-top:10px;
  padding:9px 16px 9px 14px; border-radius:999px;
  border:1px solid var(--line-strong); background:var(--surface);
  color:var(--ink); font-size:14px; font-weight:500; text-decoration:none;
  transition:border-color .18s, color .18s, transform .18s, box-shadow .18s;
}
.founder-linkedin svg { width:18px; height:18px; color:var(--accent-deep); transition:color .18s; }
.founder-linkedin:hover { border-color:var(--accent); color:var(--accent-deep); transform:translateY(-2px); box-shadow:0 10px 22px -12px var(--accent-deep); }
.founder-linkedin:hover svg { color:var(--accent); }

/* ---------- 服务对象 ---------- */
.audience-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.aud-card h3 { font-size:23px; margin-bottom:6px; display:flex; align-items:center; gap:12px; }
.aud-card .aud-sub { color:var(--ink-faint); font-size:14.5px; margin-bottom:24px; }
.aud-num { font-family:var(--font-latin); font-weight:700; font-size:15px; color:var(--accent-deep); background:var(--accent-tint); width:34px; height:34px; border-radius:50%; display:grid; place-items:center; flex:0 0 auto; }
.pain-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
.pain-list li { display:flex; gap:14px; font-size:16px; color:var(--ink-soft); line-height:1.55; }
.pain-list li::before { content:""; flex:0 0 auto; width:7px; height:7px; margin-top:9px; border-radius:50%; background:var(--accent); }

/* ---------- 教练方式 ---------- */
.method { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.method-img { aspect-ratio:5/4; }
.method h2 { font-size:clamp(26px,3vw,36px); margin:16px 0 18px; }
.method p { color:var(--ink-soft); font-size:16.5px; margin-bottom:26px; }
.method-points { display:flex; flex-direction:column; gap:18px; }
.mp { display:flex; gap:16px; align-items:flex-start; }
.mp-ico { flex:0 0 auto; width:44px; height:44px; border-radius:12px; background:var(--accent-tint); display:grid; place-items:center; color:var(--accent-deep); }
.mp-ico svg { width:22px; height:22px; }
.mp strong { display:block; font-size:16px; margin-bottom:2px; }
.mp span { color:var(--ink-soft); font-size:14.5px; }

/* ---------- 服务流程 ---------- */
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; counter-reset:step; }
.step { position:relative; }
.step-num { font-family:var(--font-latin); font-size:14px; font-weight:700; color:var(--accent); letter-spacing:.05em; margin-bottom:18px; display:flex; align-items:center; gap:12px; }
.step-num::after { content:""; flex:1; height:1px; background:var(--line); }
.step h4 { font-size:19px; margin-bottom:10px; }
.step p { font-size:14.5px; color:var(--ink-soft); line-height:1.6; }

/* ---------- CTA + 表单 ---------- */
.cta-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
.cta-grid h2 { font-size:clamp(28px,3.4vw,42px); }
.cta-grid .lead { margin-top:18px; }
.form-card { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:38px; }

/* ---------- Pingnect 深色 Hero ---------- */
.pn-hero { background:var(--charcoal); color:var(--on-charcoal); border-radius:0; }
.pn-hero .wrap { padding-top:88px; padding-bottom:96px; }
.pn-hero-top { display:flex; flex-direction:column; align-items:center; text-align:center; }
.pn-mark { width:84px; height:auto; margin-bottom:24px; }
.pn-brandname { font-family:var(--font-latin); font-size:15px; letter-spacing:.32em; text-transform:uppercase; color:var(--on-charcoal-soft); margin-bottom:30px; }
.pn-hero h1 { font-size:clamp(34px,5vw,60px); color:var(--on-charcoal); max-width:16em; line-height:1.22; }
.pn-hero h1 em { font-style:normal; position:relative; color:#fff; white-space:nowrap; }
.pn-hero h1 em::after { content:""; position:absolute; left:-2px; right:-2px; bottom:.08em; height:.42em; background:var(--accent); opacity:.85; z-index:-1; border-radius:3px; }
.pn-sub { color:var(--on-charcoal-soft); font-size:19px; margin-top:24px; }
.chips { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:34px; }
.chip { font-family:var(--font-latin); font-size:13.5px; font-weight:500; letter-spacing:.04em; color:var(--on-charcoal); border:1px solid rgba(255,255,255,.22); padding:8px 16px; border-radius:999px; }
.pn-slogan { margin-top:42px; font-family:var(--font-display); font-size:20px; color:var(--on-charcoal); letter-spacing:.06em; }
.pn-slogan b { color:var(--accent); font-weight:600; }

/* ---------- Pingnect 特点 ---------- */
.feat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.feat-card { padding:36px 32px; }
.feat-ico { width:52px; height:52px; border-radius:14px; background:var(--accent-tint); color:var(--accent-deep); display:grid; place-items:center; margin-bottom:24px; }
.feat-ico svg { width:26px; height:26px; }
.feat-card h3 { font-size:21px; margin-bottom:12px; }
.feat-card p { color:var(--ink-soft); font-size:15.5px; }

/* ---------- 首发 + 二维码导流 ---------- */
.firststop { display:flex; align-items:center; justify-content:center; gap:16px; margin-bottom:8px; }
.firststop .fs-label { font-family:var(--font-latin); font-size:12px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--accent-deep); }
.firststop .fs-line { width:30px; height:1px; background:var(--line-strong); }
.signup { display:grid; grid-template-columns:auto 1fr; gap:48px; align-items:center; background:var(--surface); border:1px solid var(--line); border-radius:28px; padding:44px; }
.qr-box { background:#fff; border:1px solid var(--line); border-radius:20px; padding:18px; width:208px; }
.qr-box img { width:172px; height:172px; }
.qr-cap { text-align:center; font-family:var(--font-latin); font-size:12px; letter-spacing:.08em; color:var(--ink-faint); margin-top:10px; }
.signup-right h3 { font-size:26px; margin-bottom:12px; }
.signup-right p { color:var(--ink-soft); margin-bottom:22px; }
.pn-link { color:var(--accent-deep); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.subscribe { display:flex; gap:12px; flex-wrap:wrap; }
.subscribe .field { flex:1 1 240px; margin:0; }
.subscribe-consent { margin-top:14px; }

/* ---------- 响应式 ---------- */
@media (max-width:860px) {
  .hero-grid, .founder, .method, .cta-grid { grid-template-columns:1fr; gap:40px; }
  .brand-panel { min-height:300px; order:-1; }
  .founder-photo { max-width:360px; }
  .biz-grid, .audience-grid, .feat-grid { grid-template-columns:1fr; }
  .process-grid { grid-template-columns:1fr 1fr; gap:30px 24px; }
  .signup { grid-template-columns:1fr; gap:30px; justify-items:center; text-align:center; }
  .signup-right { text-align:center; }
  .subscribe { justify-content:center; }
  .firststop { justify-content:center; }
}
@media (max-width:480px) {
  .process-grid { grid-template-columns:1fr; }
  .card, .form-card, .signup, .brand-panel { padding:26px; }
}
