/* 她界小程序 · 模板广场 — 高级感浅色主题（浅底 #FAF6F3 + 深酒红 #8a2b4d + 金 #c9a063） */
:root{
  --bg:#FAF6F3;                       /* 暖白页面底 */
  --bg2:#FFFFFF;                      /* 卡片底 */
  --soft:#F5EDE9;                     /* 浅酒红灰分区底 */
  --wine:#8a2b4d;                     /* 品牌主色（原图取样） */
  --wine2:#5e1c34;                    /* 深色 */
  --wine3:#2e111c;                    /* 更深 */
  --wine-l:#a23a5f;                   /* 亮部 */
  --gold:#c9a063;                     /* 金色（原图取样） */
  --gold2:#e6cda3;                    /* 亮金 */
  --ink:#3a2a30;                      /* 标题深字（更高对比，更显高级） */
  --text:#5c4a52;                     /* 正文 */
  --muted:#7a6a70;                   /* 次要 */
  --faint:#b39aa4;                    /* 更淡 */
  --line:rgba(138,43,77,.14);          /* hairline 酒红细线（更淡更精致） */
  --line2:rgba(138,43,77,.06);
  --r:12px;                           /* 柔和圆角（现代大厂感） */
  --maxw:1200px;
  --shadow-soft:0 22px 54px -30px rgba(46,17,28,.20);
  --gold-glow:0 10px 28px -8px rgba(201,160,99,.5);   /* 酒红底配淡金立体晕染（她界俱乐部调性） */
  --shadow-card:0 18px 44px -26px rgba(46,17,28,.24);
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  --serif:Georgia,"Songti SC","STSong","Times New Roman",serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--sans);
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(24px,5vw,56px)}
.en{font-size:11px;letter-spacing:3px;color:var(--gold);font-weight:600;text-transform:uppercase}
.line{width:56px;height:2px;background:linear-gradient(90deg,var(--gold),transparent);margin:18px 0}
.line.center{margin-left:auto;margin-right:auto}
.line.left{margin-left:0}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:14px 30px;border-radius:10px;font-size:14px;font-weight:600;letter-spacing:.5px;
  cursor:pointer;border:1px solid transparent;transition:.28s;white-space:nowrap;
}
.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--wine3);box-shadow:0 16px 34px -16px rgba(201,160,99,.75)}
.btn-gold:hover{transform:translateY(-2px);background:#d8b078;box-shadow:0 22px 42px -16px rgba(201,160,99,.9)}
.btn-line{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.05)}
.btn-line:hover{border-color:var(--gold2);color:var(--gold2)}
.btn-line-light{border:1px solid var(--wine);color:var(--wine);background:transparent}
.btn-line-light:hover{border-color:var(--gold);color:var(--wine);background:rgba(201,160,99,.10)}
.btn-sm{padding:10px 22px;font-size:13px}
.btn-block{width:100%}

/* ---------- 顶栏 ---------- */
.header{position:sticky;top:0;z-index:40;backdrop-filter:blur(14px);
  background:rgba(250,246,243,.82);border-bottom:1px solid var(--line2)}
.header-inner{max-width:var(--maxw);margin:0 auto;padding:18px 36px;display:flex;align-items:center;gap:28px}
.logo{display:flex;align-items:center;gap:12px}
.logo-mark{
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;overflow:visible;
}
.logo-mark img{width:100%;height:100%;object-fit:contain;display:block}
.logo-txt{display:flex;flex-direction:column;line-height:1.2;align-items:center;text-align:center}
.logo-txt .name{font-size:15px;font-weight:700;letter-spacing:.5px;color:var(--ink)}
.logo-txt .en{font-size:9.5px;letter-spacing:1px;color:var(--muted);text-transform:none;margin-top:1px}
.nav{display:flex;gap:30px;margin-left:auto;font-size:14px;color:var(--muted)}
.nav a{transition:.2s;position:relative;padding:6px 0;color:var(--muted)}
.nav a:hover,.nav a.active{color:var(--wine)}
.nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--gold);border-radius:2px}
.head-right{display:flex;align-items:center;gap:16px;margin-left:auto}
.search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 16px}
.search svg{width:16px;height:16px;fill:none;stroke:var(--muted);stroke-width:2}
.search input{background:none;border:none;outline:none;color:var(--ink);font-size:14px;width:130px}
.search input::placeholder{color:var(--faint)}
.menu-btn{display:none;background:none;border:none;cursor:pointer}
.menu-btn svg{width:26px;height:26px;stroke:var(--ink);stroke-width:2;fill:none}

/* ---------- 首屏（居中 · 留白充足 · 酒红渐变 + 金） ---------- */
.hero{position:relative;overflow:hidden;min-height:62vh;display:flex;flex-direction:column;justify-content:center;
  padding:clamp(48px,5vw,72px) 0 clamp(88px,9vw,128px);
  background:linear-gradient(160deg,#742D46,#61253A 55%,#4C1C2D);color:#fff;
  box-shadow:inset 0 0 120px rgba(201,160,99,.10),0 18px 50px -34px rgba(201,160,99,.4)}
/* 上下边缘淡金包边：1px 渐隐金线，两端透明、中段微金，若隐若现提升质感 */
.hero-edge-top,.hero-edge-bottom{position:absolute;left:0;right:0;height:1px;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(230,205,163,.6) 18%,rgba(230,205,163,.75) 50%,rgba(230,205,163,.6) 82%,transparent)}
.hero-edge-top{top:0}
.hero-edge-bottom{bottom:0}
.hero-grid{display:flex;align-items:center;gap:clamp(32px,4.5vw,64px);text-align:left;justify-content:space-between}
.hero::after{content:"";position:absolute;right:-100px;top:-120px;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(162,74,104,.55),transparent 68%);pointer-events:none}
.hero::before{content:"";position:absolute;left:-110px;bottom:-140px;width:460px;height:460px;border-radius:50%;
  background:radial-gradient(circle,rgba(162,74,104,.35),transparent 68%);pointer-events:none}
.hero-in{flex:1 1 auto;min-width:0;max-width:560px;margin:0;margin-right:auto;position:relative;z-index:1;transform:translateX(clamp(-90px,-6vw,-40px))}
/* 顶部英文小字：细体、淡、收紧字距，贴近主标题，形成一组而非散落 */
.hero .en-mark{font-size:9.5px;letter-spacing:3.2px;color:var(--gold2);font-weight:400;margin-bottom:12px;opacity:.62;text-transform:uppercase}
.hero h1{font-size:clamp(28px,3.4vw,42px);line-height:1.18;font-weight:700;letter-spacing:4px;font-family:var(--serif);color:#fff}
.hero h1 .accent{color:var(--gold2)}
.hero .sub{font-size:13.5px;color:var(--gold2);margin-top:14px;font-weight:400;letter-spacing:2.5px;opacity:.85}
/* 横线紧跟副标题往上收，之后留大段空白呼吸 */
.hero .divider{height:1px;width:150px;background:linear-gradient(90deg,var(--gold2),rgba(230,205,163,0) 92%);margin:16px 0 46px}
.hero .slogan{font-size:13px;font-weight:400;color:rgba(255,255,255,.92);line-height:1.8;max-width:430px;margin:0 0 18px;letter-spacing:.6px}
.hero .slogan-list{margin:0;padding:0;list-style:none;max-width:430px;color:rgba(255,255,255,.6);font-size:12.5px;line-height:2.35;letter-spacing:.4px}
.hero .slogan-list li{position:relative;padding-left:18px}
.hero .slogan-list li::before{content:"";position:absolute;left:4px;top:11px;width:5px;height:5px;border-radius:50%;background:rgba(201,160,99,.9)}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-start;margin-top:38px}
/* 两个 CTA 胶囊整体下移（约按钮高度 1/6）：位移不占布局，不影响下方数据条 */
.cta-shift{display:inline-flex;transform:translateY(clamp(16px,1.6vw,24px))}
.hero-stats{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;margin:34px 0 0;max-width:none}
.hero-stats .hs{display:inline-flex;align-items:baseline;padding:0 15px;font-size:12px;line-height:1.5;white-space:nowrap;flex:0 0 auto}
.hero-stats .hs:first-child{padding-left:0}
.hero-stats .hs b{font-size:12.5px;font-weight:700;color:var(--gold2);letter-spacing:.3px}
.hero-stats .hs span{font-size:11.5px;font-weight:400;color:rgba(255,255,255,.6);letter-spacing:.3px;margin-left:5px}
.hero-stats .hs + .hs{border-left:1px solid rgba(201,160,99,.4)}
.hero-phone{flex:0 0 auto;width:210px;align-self:center;position:relative;z-index:1;perspective:1400px;margin-left:auto;transform:translateX(clamp(30px,3vw,60px))}
.hp{width:262px;margin:0 auto;border-radius:44px;background:#15100f;
  border:1px solid rgba(97,37,58,.55);padding:5px;display:flex;flex-direction:column;box-shadow:0 50px 90px -30px rgba(62,21,36,.5);transform:rotateY(-12deg) rotateX(3deg) scale(0.74);transform-origin:center}
.hp-screen{height:466px;border-radius:36px;overflow:hidden;background:#fff;position:relative;display:flex;flex-direction:column}
.hp-status{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;color:#2a1c22;font-size:10.5px;font-weight:600;padding:8px 13px 4px}
.hp-sig{letter-spacing:1px}
.hp-search{flex:0 0 auto;margin:4px 11px 9px;display:flex;align-items:center;gap:6px;background:#f3ece9;border-radius:999px;padding:7px 13px;color:#8a7a80;font-size:11.5px}
.hp-search svg{width:12px;height:12px;fill:none;stroke:#a08a90;stroke-width:2;flex:0 0 auto}
.hp-banner{flex:0 0 auto;position:relative;height:120px;margin:0 11px 9px;border-radius:13px;overflow:hidden;box-shadow:0 12px 24px -14px rgba(46,17,28,.55)}
.hp-banner img{width:100%;height:100%;object-fit:cover}
.hp-banner-tx{position:absolute;left:0;right:0;bottom:0;padding:18px 13px 11px;color:#fff;background:linear-gradient(180deg,transparent,rgba(46,17,28,.8))}
.hp-banner-tx b{display:block;font-size:14px;font-weight:700;font-family:var(--serif);letter-spacing:1px}
.hp-banner-tx i{font-style:normal;font-size:10.5px;color:rgba(255,255,255,.88)}
.hp-grid{flex:1 1 auto;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 11px;align-content:start;overflow:hidden}
.hp-cell{background:#faf6f3;border-radius:11px;overflow:hidden;box-shadow:0 1px 2px rgba(62,21,36,.06);display:flex;flex-direction:column}
.hp-cell img{width:100%;height:72px;object-fit:cover;display:block}
.hp-cell b{display:block;font-size:10.5px;color:#3a2a30;padding:5px 7px 0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hp-cell span{display:block;font-size:11px;color:var(--wine);font-weight:700;padding:2px 7px 7px}
.hp-tabbar{flex:0 0 auto;display:flex;border-top:1px solid #efe6e2;padding:7px 0 9px;background:#fff}
.hp-tabbar span{flex:1;text-align:center;font-size:10px;color:#9a8a90}
.hp-tabbar span.on{color:var(--wine);font-weight:700}

/* ===== 首页方案②「山雾咖啡」品牌欢迎页（手机屏内整屏主图） ===== */
.hp-coffee{background:#2a1d15}
.hpc-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hpc-veil{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(36,24,16,.55) 0%,rgba(36,24,16,.12) 32%,rgba(36,24,16,.42) 62%,rgba(30,19,12,.92) 100%)}
.hpc-status{position:relative;z-index:3;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4)}
.hpc-body{position:relative;z-index:3;flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:0 18px 8px;color:#fff}
.hpc-en{font-size:7.5px;letter-spacing:2.6px;font-weight:600;color:#e8d5b5;margin-bottom:11px}
.hpc-title{font-family:var(--serif);font-size:26px;line-height:1.34;font-weight:700;letter-spacing:2px;
  text-shadow:0 2px 12px rgba(0,0,0,.45)}
.hpc-sub{font-size:10.5px;line-height:1.85;color:rgba(255,255,255,.82);margin-top:10px;letter-spacing:.4px}
.hpc-tags{display:flex;gap:6px;margin-top:13px;flex-wrap:wrap}
.hpc-tags span{font-size:8.5px;letter-spacing:.6px;color:rgba(255,255,255,.9);
  border:1px solid rgba(232,213,181,.55);border-radius:999px;padding:3px 9px;backdrop-filter:blur(2px)}
.hpc-cta{display:flex;align-items:center;justify-content:space-between;margin-top:15px;margin-bottom:10px}
.hpc-cta b{font-size:11.5px;letter-spacing:1.6px;font-weight:600;color:#f4ead9}
.hpc-go{width:32px;height:32px;border-radius:50%;background:#e8d5b5;color:#2a1d15;display:flex;align-items:center;justify-content:center;font-size:14px}
.hpc-tab{position:relative;z-index:3;background:rgba(24,15,10,.55);border-top:1px solid rgba(232,213,181,.22);color:#e8d5b5;backdrop-filter:blur(6px)}
.hpc-tab span.on{color:#fff}

/* ===== 首页方案④「拾花集」花艺生活馆（浅色·墨绿调） ===== */
.hp-floral{background:#EDE9DE}
.hpf-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;z-index:0}
/* 上方轻纱白、下方墨绿渐深，保留照片的通透感 */
.hpf-veil{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(247,244,236,.72) 0%,rgba(247,244,236,.18) 26%,rgba(31,45,30,.10) 46%,rgba(31,45,30,.55) 74%,rgba(24,36,24,.90) 100%)}
.hpf-status{position:relative;z-index:3;color:#3b4a37;text-shadow:0 1px 2px rgba(255,255,255,.5)}
.hpf-body{position:relative;z-index:3;flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:0 14px 10px 26px;color:#fff}
.hpf-en{font-size:7.5px;letter-spacing:2.8px;font-weight:400;color:#e6e0cd;margin-bottom:11px;opacity:.92}
.hpf-title{font-family:var(--serif);font-size:26px;line-height:1.34;font-weight:700;letter-spacing:2.5px;
  text-shadow:0 2px 12px rgba(20,32,20,.5)}
.hpf-sub{font-size:10.5px;line-height:1.85;color:rgba(255,255,255,.86);margin-top:10px;letter-spacing:.4px;font-weight:400}
.hpf-tags{display:flex;gap:6px;margin-top:13px;flex-wrap:wrap}
.hpf-tags span{font-size:8.5px;letter-spacing:.6px;color:#f2eee0;
  border:1px solid rgba(230,224,205,.6);border-radius:999px;padding:3px 9px}
.hpf-cta{display:flex;align-items:center;justify-content:space-between;margin-top:15px;margin-bottom:10px}
.hpf-cta b{font-size:11.5px;letter-spacing:1.6px;font-weight:600;color:#f4f1e6}
.hpf-go{width:32px;height:32px;border-radius:50%;background:#dfe6d5;color:#2F3B2E;display:flex;align-items:center;justify-content:center;font-size:14px}
.hpf-tab{position:relative;z-index:3;background:rgba(20,32,20,.5);border-top:1px solid rgba(230,224,205,.25);color:#e6e0cd;backdrop-filter:blur(6px)}
.hpf-tab span.on{color:#fff}

/* ---------- 通用区块（大留白） ---------- */
.section{padding:clamp(92px,10vw,132px) 0}
.soft-bg{background:var(--soft)}
.sec-title{max-width:780px;margin-bottom:clamp(46px,5vw,62px)}
.sec-title h2{font-size:clamp(24px,3vw,34px);font-weight:800;letter-spacing:1.5px;margin-top:12px;font-family:var(--serif);color:var(--ink);line-height:1.3}
.sec-lead{margin-top:14px;color:var(--muted);font-size:15px;line-height:1.85}

/* ---------- 分类筛选 ---------- */
.filters{padding:clamp(56px,6vw,80px) 0 8px}
.filter-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.chip{background:var(--bg2);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:9px 18px;font-size:13px;cursor:pointer;transition:.22s}
.chip:hover{color:var(--wine);border-color:var(--gold)}
.chip.active{background:linear-gradient(135deg,var(--wine),var(--wine2));color:var(--gold2);border-color:var(--line);box-shadow:var(--gold-glow)}
/* 搜索框内联到分类标签同一行（与「新中式」同行，居中不凸出） */
.filter-row .search{margin:0;flex:0 0 auto}
.filter-row .search input{width:130px}

/* ---------- 真实小程序演示（卡片网格） ---------- */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.t-card{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.3s;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(62,21,36,.04)}
.t-card:hover{border-color:var(--gold);transform:translateY(-6px);box-shadow:var(--shadow-card)}
.t-thumb{position:relative;height:208px;background:var(--soft);overflow:hidden}
.t-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.t-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(46,17,28,.30) 0%,rgba(46,17,28,0) 28%,rgba(46,17,28,0) 52%,rgba(46,17,28,.64) 100%)}
.t-cat{position:absolute;top:14px;left:14px;background:rgba(0,0,0,.34);color:#fff;font-size:11px;padding:5px 12px;border-radius:999px;backdrop-filter:blur(4px);z-index:2}
.t-qr{position:absolute;right:14px;top:14px;width:58px;height:58px;background:#fff;border-radius:12px;padding:6px;box-shadow:0 8px 18px -6px rgba(62,21,36,.5);z-index:2}
.t-qr img{width:100%;height:100%}
.t-foot{position:absolute;left:15px;bottom:13px;right:82px;color:#fff;z-index:2}
.t-foot b{display:block;font-size:14px;font-weight:700;font-family:var(--serif);letter-spacing:.5px;text-shadow:0 1px 5px rgba(0,0,0,.45)}
.t-foot span{display:block;font-size:11px;color:rgba(255,255,255,.9);margin-top:2px;text-shadow:0 1px 4px rgba(0,0,0,.4)}
.t-dash{position:absolute;inset:0;background:linear-gradient(160deg,#243B54,#3E5A7A);padding:15px;color:#fff;display:flex;flex-direction:column;gap:10px}
.t-dash .td-row{display:flex;gap:8px}
.t-dash .td-kpi{flex:1;background:rgba(255,255,255,.12);border-radius:12px;padding:11px}
.t-dash .td-kpi b{display:block;font-family:var(--serif);font-size:19px;color:var(--gold2);line-height:1.1}
.t-dash .td-kpi span{font-size:9.5px;color:rgba(255,255,255,.82)}
.t-dash .td-bar{height:8px;border-radius:6px;background:rgba(255,255,255,.16)}
.t-dash .td-bar.w1{width:82%}.t-dash .td-bar.w2{width:62%}.t-dash .td-bar.w3{width:46%}
.t-dash .td-foot{margin-top:auto;font-size:11.5px;color:rgba(255,255,255,.92)}
.t-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.t-name{font-size:16px;font-weight:700;margin-bottom:6px;color:var(--ink)}
.t-desc{font-size:13.5px;color:var(--muted);flex:1;line-height:1.7}
.t-feats{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 16px}
.t-feats span{font-size:11.5px;color:var(--wine);background:rgba(201,160,99,.10);border:1px solid var(--line);border-radius:999px;padding:3px 11px}
.t-actions{display:flex;gap:10px}
.t-btn{flex:1;text-align:center;padding:10px;border-radius:10px;font-size:13px;font-weight:600;border:1px solid var(--line);color:var(--wine);transition:.22s;background:#fff}
.t-btn:hover{border-color:var(--gold);background:rgba(201,160,99,.08)}
.t-btn.fill{background:linear-gradient(135deg,var(--wine),var(--wine2));color:var(--gold2);border-color:var(--line);box-shadow:var(--gold-glow)}
.t-btn.fill:hover{background:linear-gradient(135deg,var(--wine-l),var(--wine))}
.empty-tip{text-align:center;color:var(--muted);padding:48px;display:none}

/* ---------- 定制流程（四步） ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.step{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:34px 28px;transition:.3s;box-shadow:0 1px 2px rgba(62,21,36,.04)}
.step:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:var(--shadow-card)}
.step .num{font-family:var(--serif);font-size:34px;font-weight:800;color:rgba(201,160,99,.45);line-height:1}
.step h3{font-size:17px;font-weight:700;margin:12px 0 10px;color:var(--ink)}
.step p{font-size:13.5px;color:var(--muted);line-height:1.75}

/* ---------- 服务承诺 ---------- */
.promise{display:grid;grid-template-columns:1.4fr .9fr;gap:56px;align-items:center}
.promise-txt h2{font-size:clamp(23px,2.6vw,32px);font-weight:800;font-family:var(--serif);color:var(--ink);margin-top:12px;line-height:1.3}
.promise-txt ul{list-style:none;margin-top:18px;display:grid;gap:14px}
.promise-txt li{position:relative;padding-left:22px;font-size:15px;color:var(--text);line-height:1.7}
.promise-txt li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.promise-txt li b{color:var(--wine)}
.promise-card{background:linear-gradient(150deg,var(--wine),var(--wine2));border-radius:14px;padding:36px 32px;color:#fff;position:relative;overflow:hidden;box-shadow:var(--shadow-soft),0 0 0 1px rgba(201,160,99,.28),inset 0 0 50px rgba(201,160,99,.10),0 16px 40px -18px rgba(201,160,99,.45)}
.promise-card::after{content:"";position:absolute;right:-30px;bottom:-30px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(201,160,99,.22),transparent 70%)}
.promise-card .k{font-size:11px;letter-spacing:2px;color:rgba(255,255,255,.7);text-transform:uppercase}
.promise-card .v{display:block;font-family:var(--serif);font-size:42px;font-weight:800;color:var(--gold2);line-height:1.1;margin:4px 0 2px}
.promise-card .s{font-size:12.5px;color:rgba(255,255,255,.8)}
.promise-card .sep{display:block;height:1px;background:rgba(255,255,255,.18);margin:20px 0}

/* ---------- 案例 ---------- */
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.case{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:32px 28px;transition:.3s;box-shadow:0 1px 2px rgba(62,21,36,.04)}
.case:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:var(--shadow-card)}
.ci-avatar{width:54px;height:54px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:24px;font-weight:700;color:#fff;margin-bottom:18px;box-shadow:var(--gold-glow)}
.ci-avatar.av1{background:linear-gradient(135deg,#a23a5f,#5e1c34)}
.ci-avatar.av2{background:linear-gradient(135deg,#c9a063,#9c7e4e)}
.ci-avatar.av3{background:linear-gradient(135deg,#8a2b4d,#2e111c)}
.case h4{font-size:17px;font-weight:700;margin-bottom:10px;color:var(--ink)}
.case p{font-size:13.5px;color:var(--muted);margin-bottom:16px;line-height:1.7}
.ci-tag{display:inline-block;font-size:12px;color:var(--wine);background:rgba(201,160,99,.12);border:1px solid var(--line);border-radius:999px;padding:5px 14px}

/* ---------- 底部转化 / 留资 ---------- */
.contact{background:var(--soft);padding:clamp(92px,10vw,132px) 0}
.contact-in{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.contact h2{font-size:clamp(23px,2.6vw,32px);font-weight:800;font-family:var(--serif);color:var(--ink);line-height:1.3}
.contact .lead{color:var(--muted);margin-top:16px;font-size:15px;line-height:1.85;max-width:480px}
.contact-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px}

/* ---------- 页脚 ---------- */
.footer{border-top:1px solid var(--line2);padding:64px 0 48px;margin-top:0;background:var(--bg2)}
.footer-in{display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center;color:var(--muted);font-size:13px}
.footer .logo{margin-bottom:4px}
.footer .copy{color:var(--faint);font-size:12.5px}
.footer .icp{margin-top:-6px;font-size:12.5px;letter-spacing:.3px}
.footer .icp a{color:var(--faint);text-decoration:none;border-bottom:1px solid transparent;transition:.2s}
.footer .icp a:hover{color:var(--wine);border-bottom-color:rgba(201,160,99,.6)}

/* ---------- 悬浮咨询 ---------- */
.float{position:fixed;right:28px;bottom:30px;z-index:60}
.qr-pop{position:absolute;right:0;bottom:76px;width:250px;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);
  padding:18px;text-align:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:.28s;box-shadow:var(--shadow-soft)}
.qr-pop.show{opacity:1;visibility:visible;transform:translateY(0)}
.qr-pop .qr-row{display:flex;flex-direction:column;align-items:center;gap:10px}
.qr-pop .qr-img{width:180px;height:180px;flex:0 0 auto;background:#fff;border-radius:12px;padding:6px;border:1px solid var(--line)}
.qr-pop p{font-size:13px;color:var(--ink);text-align:center;line-height:1.5;letter-spacing:1px;white-space:nowrap}
.fab{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--wine),var(--wine2));border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 16px 34px -12px rgba(97,37,58,.6),var(--gold-glow)}
.fab svg{width:26px;height:26px;fill:none;stroke:var(--gold2);stroke-width:2}

.logo.sm .logo-mark{width:34px;height:34px;font-size:15px}

/* ---------- 响应式 ---------- */
@media(max-width:980px){
  .wrap{padding:0 24px}
  .header-inner{padding:16px 24px}
  .nav{display:none}
  .nav.open{display:flex;position:absolute;top:70px;left:0;right:0;flex-direction:column;gap:0;
    background:rgba(250,246,243,.98);padding:10px 24px 18px;border-bottom:1px solid var(--line)}
  .nav.open a{padding:12px 0;border-bottom:1px solid var(--line);color:var(--wine)}
  .menu-btn{display:block}
  .search{display:flex}
  .filter-row .search{width:100%;max-width:320px;margin:6px auto 0}
  .pain-grid,.adv-grid,.matrix-grid,.steps,.case-grid{grid-template-columns:1fr}
  .promise{grid-template-columns:1fr;gap:32px}
  .card-grid{grid-template-columns:1fr 1fr}
  .contact-in{grid-template-columns:1fr;gap:32px}
  .hero-grid{flex-direction:column;gap:44px;text-align:center}
  .hero-in{max-width:none;margin:0 auto}
  .hero-phone{width:260px;margin:0 auto}
  .hero-cta{justify-content:center}
  .hero-stats{flex-wrap:wrap;justify-content:center;max-width:420px;margin:26px auto 0}
}
@media(max-width:560px){
  .wrap{padding:0 18px}
  .card-grid{grid-template-columns:1fr}
  .hero-stats{gap:4px 0;justify-content:center}
  .hero-stats .hs{padding:0 9px;font-size:11px}
  .hero-stats .hs b{font-size:11.5px}
  .hero-stats .hs span{font-size:10.5px;margin-left:4px}
  .section{padding:64px 0}
  .filters{padding:48px 0 4px}
}

/* ---------- 导航锚点：抵消 sticky 头部偏移 ---------- */
[id]{scroll-margin-top:84px}

/* ---------- 定制流程 / 适合人群 子模块 ---------- */
.sub-block{margin-top:clamp(56px,6vw,84px)}
.about-intro{
  max-width:820px;margin:0 0 8px;
  color:var(--text);font-size:15px;line-height:1.95;letter-spacing:.2px
}

/* 服务人群 */
.aud-grid,.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
/* 适合人群区首屏四卡：与上方金色横线、下方说明文字各留出呼吸空间 */
.aud-lead{margin:clamp(30px,3.4vw,42px) 0 clamp(26px,3vw,36px)}
.aud,.svc{
  background:var(--bg2);
  border:1px solid var(--line);
  border-radius:var(--r);
  padding:28px 24px;
  box-shadow:0 1px 2px rgba(62,21,36,.04);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease
}
.aud:hover,.svc:hover{
  transform:translateY(-4px);
  border-color:rgba(201,160,99,.5);
  box-shadow:var(--gold-glow)
}
.aud h4,.svc h4{font-size:16px;font-weight:700;margin-bottom:10px;color:var(--ink);letter-spacing:.5px}
.aud p,.svc p{font-size:13.5px;color:var(--muted);line-height:1.75}

/* 我们的服务：四卡改为酒红顶栏 + 金色描边，与首屏呼应，去掉清汤寡水感 */
.svc-grid .svc{
  position:relative;
  overflow:hidden;
  padding:0;
  background:linear-gradient(180deg,#fff 0%,#fdfaf7 100%);
  border:1px solid rgba(201,160,99,.34);
  box-shadow:0 12px 28px -20px rgba(76,28,45,.30);
}
/* 顶部酒红渐变条：金色细线压在上沿，形成"包边"质感 */
.svc-grid .svc::before{
  content:"";
  display:block;
  height:74px;
  background:linear-gradient(135deg,#742D46 0%,#61253A 52%,#4C1C2D 100%);
  border-bottom:1px solid rgba(230,205,163,.55);
}
/* 金色描边（沿顶栏下沿，两端渐隐） */
.svc-grid .svc::after{
  content:"";
  position:absolute;left:0;right:0;top:74px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(230,205,163,.85) 22%,rgba(230,205,163,.95) 50%,rgba(230,205,163,.85) 78%,transparent);
  pointer-events:none;
}
.svc-grid .svc h4{
  position:relative;
  margin:-52px 0 26px;
  padding:0 24px;
  height:52px;
  display:flex;align-items:center;
  font-family:var(--serif);
  font-size:16px;font-weight:700;letter-spacing:2px;
  color:#fff;
}
/* 标题前的小金块 */
.svc-grid .svc h4::before{
  content:"";
  width:5px;height:14px;
  margin-right:10px;
  flex:0 0 auto;
  border-radius:1px;
  background:linear-gradient(180deg,var(--gold2),var(--gold));
  box-shadow:0 0 8px rgba(230,205,163,.6);
}
.svc-grid .svc p{padding:0 24px 26px;position:relative}
.svc-grid .svc:hover{
  transform:translateY(-5px);
  border-color:rgba(201,160,99,.72);
  box-shadow:0 22px 44px -22px rgba(76,28,45,.42)
}
@media(max-width:768px){
  .svc-grid .svc::before{height:64px}
  .svc-grid .svc::after{top:64px}
  .svc-grid .svc h4{margin:-46px 0 20px;height:46px;padding:0 18px;font-size:15px}
  .svc-grid .svc p{padding:0 18px 22px}
}

@media(max-width:768px){
  .aud-grid,.svc-grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .aud,.svc{padding:22px 18px}
}
@media(max-width:420px){
  .aud-grid,.svc-grid{grid-template-columns:1fr}
}

/* ---------- AI 智能报价 ---------- */
.quote-sec{background:var(--bg)}
.quote-card{
  max-width:760px;margin:clamp(28px,4vw,44px) auto 0;
  background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(24px,4vw,40px);box-shadow:var(--shadow-card);
  transition:box-shadow .3s ease, border-color .3s ease
}
.quote-card:focus-within{border-color:rgba(201,160,99,.55);box-shadow:var(--gold-glow)}
.quote-label{display:block;font-size:13px;color:var(--wine);font-weight:600;margin:0 0 8px;letter-spacing:.5px}
.quote-label:not(:first-child){margin-top:20px}
.quote-area,.quote-input{
  width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;
  padding:14px 16px;font-family:var(--sans);font-size:14px;color:var(--ink);
  line-height:1.7;outline:none;resize:vertical;transition:border-color .2s, box-shadow .2s
}
.quote-input{resize:none}
.quote-area:focus,.quote-input:focus{border-color:var(--wine);box-shadow:0 0 0 3px rgba(138,43,77,.08)}
.quote-area::placeholder,.quote-input::placeholder{color:var(--faint)}
.quote-btn{margin-top:24px;width:100%;justify-content:center;padding:15px 24px;font-size:15px}
.quote-result{
  margin-top:22px;padding:20px 22px;border-radius:10px;
  background:linear-gradient(160deg,rgba(116,45,70,.06),rgba(196,162,108,.10));
  border:1px solid var(--line);color:var(--ink);font-size:14px;line-height:1.85;white-space:pre-wrap;
  word-break:break-word
}
.quote-result .q-h{font-family:var(--serif);font-size:15px;font-weight:700;color:var(--wine);letter-spacing:1px;margin:14px 0 4px;padding-left:10px;border-left:3px solid var(--gold)}
.quote-result .q-h:first-child{margin-top:0}
.quote-result p{margin:0 0 8px}
.quote-result p:last-child{margin-bottom:0}
.quote-result b{color:var(--wine)}
.quote-result .q-li{position:relative;padding-left:16px;margin:2px 0}
.quote-result .q-li::before{content:"·";position:absolute;left:2px;color:var(--gold);font-weight:700}
.quote-msg{margin:14px 0 0;font-size:13px;line-height:1.6;min-height:18px;color:var(--muted)}
.quote-msg.q-ok{color:var(--wine)}
.quote-msg.q-warn{color:#b26a2a}
.quote-msg.q-err{color:#c0392b}

/* ---- 追问区：可以一直聊下去 ---- */
.q-callout{margin-top:12px;padding:11px 14px;border-radius:8px;background:rgba(201,160,99,.10);
  border-left:3px solid var(--gold);font-size:13.5px;color:#6b4a55}
.q-follow{margin-top:20px;padding:20px 22px;border-radius:10px;background:#fff;
  border:1px dashed rgba(201,160,99,.6)}
.q-follow .quote-label{margin-top:0}
.q-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.q-chip{padding:7px 13px;border:1px solid rgba(116,45,70,.18);border-radius:20px;background:#fff;
  font-family:var(--sans);font-size:12.5px;color:var(--wine);cursor:pointer;
  transition:background .2s, border-color .2s, transform .2s}
.q-chip:hover{background:rgba(116,45,70,.06);border-color:rgba(116,45,70,.4)}
.q-chip:active{transform:scale(.97)}
.q-say{display:flex;gap:10px}
.q-say input{flex:1;min-width:0}
.q-send{flex:none;padding:0 22px;font-size:14px;letter-spacing:1px;white-space:nowrap}
.q-tip{margin:10px 0 0;font-size:12px;color:var(--muted)}

/* 每一轮问答：问在右、答在左，历史全部保留 */
.q-turn{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);white-space:normal}
.quote-result .q-turn:first-child{border-top:0}
.q-ask{display:flex;justify-content:flex-end;margin-bottom:10px;white-space:normal}
.q-ask span{max-width:82%;padding:9px 15px;border-radius:14px 14px 3px 14px;
  background:var(--wine);color:#fff;font-size:13.5px;line-height:1.65;word-break:break-word}
.q-ans{padding:2px 0 0}
.q-typing{display:flex;align-items:center;gap:5px;padding:10px 0 4px}
.q-dot{width:6px;height:6px;border-radius:50%;background:var(--wine);opacity:.3;
  animation:qBlink 1.1s infinite ease-in-out}
.q-dot:nth-child(2){animation-delay:.18s}
.q-dot:nth-child(3){animation-delay:.36s}
@keyframes qBlink{0%,80%,100%{opacity:.22;transform:translateY(0)}
  40%{opacity:.85;transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.q-dot{animation:none;opacity:.55}}
.q-nudge .q-ans{padding:14px 16px;border-radius:9px;border:1px solid rgba(201,160,99,.5);
  background:rgba(201,160,99,.09)}

@media(max-width:560px){
  .q-say{flex-direction:column}
  .q-send{padding:12px 20px;width:100%}
  .q-follow{padding:16px 15px}
  .q-chip{font-size:12px;padding:6px 11px}
  .q-ask span{max-width:88%}
}
