/* ==============================================================
   site.css — 首页专属样式
   ============================================================== */

/* ---------- Hero 播放器（卷轴） ---------- */
.scroll-card{
  position:relative; background:linear-gradient(180deg,var(--paper-2),var(--paper));
  border:1px solid var(--line); border-radius:var(--r); padding:40px 26px 26px;
  box-shadow:var(--shadow); max-width:420px; margin:0 auto;
}
.scroll-card::before,.scroll-card::after{
  content:""; position:absolute; left:-6px; right:-6px; height:15px; border-radius:3px;
  background:linear-gradient(180deg,#8B7355 0%,#A68B6A 20%,#C4A67C 40%,#A68B6A 60%,#7A6248 85%,#5D4A38 100%);
  border:1px solid rgba(0,0,0,.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 2px 6px rgba(0,0,0,.15);
}
.scroll-card::before{top:13px}
.scroll-card::after{bottom:13px}
.scroll-label{font-family:var(--serif);font-size:11px;letter-spacing:.4em;color:var(--ink-4);margin-bottom:14px;text-align:center}
.scroll-label span{color:var(--seal);margin:0 8px}
.ink-wave{height:96px;margin:14px 0 16px}
.ink-wave svg{width:100%;height:100%;overflow:visible}
.scroll-info{text-align:center;padding-top:18px;border-top:1px solid var(--hair)}
.scroll-title{font-family:var(--serif);font-size:19px;font-weight:700;color:var(--ink);margin-bottom:4px;letter-spacing:.08em}
.scroll-sub{font-size:12px;color:var(--ink-4);letter-spacing:.12em}
.scroll-ctl{display:flex;gap:14px;align-items:center;justify-content:center;margin-top:16px}
.scroll-btn-main{width:52px;height:52px;border-radius:50%;background:var(--seal);color:var(--paper);
  display:grid;place-items:center;transition:.25s;box-shadow:var(--shadow-sm)}
.scroll-btn-main:hover{background:var(--seal-2);transform:scale(1.05);box-shadow:var(--shadow)}
.scroll-btn-sm{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);color:var(--ink-3);
  display:grid;place-items:center;transition:.2s;background:transparent;min-height:40px}
.scroll-btn-sm:hover{border-color:var(--ink-2);color:var(--ink)}

/* ---------- 素拼专属 ---------- */
.soopin-sec{background:linear-gradient(180deg,transparent,rgba(181,58,42,.035),transparent)}
.soopin-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--hair)}
.soopin-stat{font-family:var(--serif);font-size:12px;color:var(--ink-4);letter-spacing:.1em}
.soopin-card{background:var(--paper-2);border:1px solid var(--hair);border-radius:var(--r);overflow:hidden;
  cursor:pointer;transition:.3s cubic-bezier(.2,.7,.2,1);box-shadow:var(--shadow-sm);position:relative}
.soopin-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--seal)}
.soopin-card.playing{border-color:var(--seal)}
.soopin-card.playing::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--seal);z-index:3}
.sc-cov{aspect-ratio:4/3;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.sc-cov::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.35))}
.sc-cov-title{position:relative;z-index:2;text-align:center;color:var(--paper);font-family:var(--serif);
  font-size:clamp(20px,3vw,28px);font-weight:700;letter-spacing:.12em;text-shadow:0 2px 12px rgba(0,0,0,.3);padding:0 16px}
.sc-cov-title small{display:block;font-size:11px;letter-spacing:.4em;font-weight:300;margin-top:8px;opacity:.75}
.sc-play{position:absolute;z-index:3;bottom:14px;right:14px;width:40px;height:40px;border-radius:50%;
  background:var(--paper);color:var(--seal);display:grid;place-items:center;opacity:0;transform:translateY(8px);
  transition:.25s;box-shadow:var(--shadow-sm)}
.soopin-card:hover .sc-play{opacity:1;transform:none}
.sc-body{padding:16px 18px 18px}
.sc-body h4{font-family:var(--serif);font-size:16px;font-weight:700;color:var(--ink);letter-spacing:.04em}
.sc-body h4 em{display:block;font-style:normal;font-size:11.5px;color:var(--ink-4);font-family:var(--sans);
  font-weight:400;margin-top:3px;letter-spacing:.1em}
.sc-meta{display:flex;gap:8px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--hair);flex-wrap:wrap}
.sc-meta span{font-size:11.5px;color:var(--ink-4)}
.sc-slot{background:var(--jade-soft);color:var(--jade);font-weight:500;padding:2px 8px;border-radius:var(--r-sm);
  font-family:var(--serif);letter-spacing:.08em}

/* ---------- 搜索 ---------- */
.srch{margin-left:auto;position:relative}
.srch svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ink-4)}
.srch input{background:var(--paper-2);border:1px solid var(--line);color:var(--ink);padding:11px 14px 11px 38px;
  border-radius:var(--r-sm);width:230px;font-size:16px;outline:none;min-height:44px}
.srch input:focus{border-color:var(--seal);background:var(--paper)}

/* ---------- 曲库卡 ---------- */
.mc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.mc-cov{aspect-ratio:4/3;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.mc-cov::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.35))}
.mc-cov-title{position:relative;z-index:2;text-align:center;color:var(--paper);font-family:var(--serif);
  font-size:clamp(20px,3vw,30px);font-weight:700;letter-spacing:.12em;text-shadow:0 2px 12px rgba(0,0,0,.3);padding:0 18px}
.mc-cov-title small{display:block;font-size:11px;letter-spacing:.4em;font-weight:300;margin-top:8px;opacity:.75}
.mc-play{position:absolute;z-index:3;bottom:14px;right:14px;width:40px;height:40px;border-radius:50%;
  background:var(--paper);color:var(--seal);display:grid;place-items:center;opacity:0;transform:translateY(8px);
  transition:.25s;box-shadow:var(--shadow-sm)}
.card:hover .mc-play{opacity:1;transform:none}
.mc-badge{position:absolute;top:12px;left:12px;z-index:3;background:var(--seal);color:var(--paper);
  font-size:10px;letter-spacing:.18em;padding:3px 9px;font-family:var(--serif)}
.mc-body{padding:16px 18px 18px}
.mc-body h3{font-family:var(--serif);font-size:16px;font-weight:700;color:var(--ink);letter-spacing:.04em}
.mc-body h3 em{display:block;font-style:normal;font-size:11.5px;color:var(--ink-4);font-family:var(--sans);
  font-weight:400;margin-top:3px;letter-spacing:.1em}
.mc-scenes{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.mc-scenes .tag{font-size:10px;padding:2px 8px}
.mc-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;
  padding-top:12px;border-top:1px solid var(--hair);flex-wrap:wrap}
.mc-meta{font-size:11px;color:var(--ink-5);letter-spacing:.04em}
.mc-quote{font-size:11.5px;color:var(--seal);border:1px solid var(--seal);background:var(--seal-soft);
  padding:5px 11px;border-radius:var(--r-sm);min-height:32px;transition:.2s}
.mc-quote:hover{background:var(--seal);color:var(--paper)}

/* ---------- 报价 ---------- */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pc{border:1px solid var(--line);border-radius:var(--r);background:var(--paper-2);padding:34px 28px;
  display:flex;flex-direction:column;transition:.3s;box-shadow:var(--shadow-sm);position:relative}
.pc:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-2)}
.pc.hot{border-color:var(--seal);background:linear-gradient(180deg,rgba(181,58,42,.06),transparent 45%),var(--paper-2)}
.pc.hot::before{content:"主推";position:absolute;top:-1px;left:24px;background:var(--seal);color:var(--paper);
  font-size:11px;padding:5px 14px;letter-spacing:.2em;font-family:var(--serif);border-radius:0 0 var(--r-sm) var(--r-sm)}
.pc h3{font-family:var(--serif);font-size:15px;font-weight:500;letter-spacing:.2em;color:var(--ink-3)}
.pc .pr{font-family:var(--serif);font-size:32px;font-weight:900;color:var(--ink);margin:14px 0 3px;letter-spacing:-.02em}
.pc .pu{font-size:12px;color:var(--ink-4);margin-bottom:22px;letter-spacing:.08em;padding-bottom:18px;border-bottom:1px solid var(--hair)}
.pc ul{list-style:none;display:flex;flex-direction:column;gap:11px;font-size:13.5px;color:var(--ink-3);flex:1;line-height:1.7}
.pc li::before{content:"";display:inline-block;width:5px;height:5px;background:var(--seal);border-radius:50%;margin-right:11px;vertical-align:middle}
.pc .btn{margin-top:26px;width:100%}

.calc-wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:44px;align-items:start;margin-top:44px}
.calc{border:1px solid var(--line);border-radius:var(--r);background:var(--paper-2);padding:30px;box-shadow:var(--shadow-sm)}
.calc > p{font-size:12.5px;color:var(--ink-4);margin:6px 0 22px}
.calc label{display:block;font-size:11.5px;color:var(--ink-4);margin:16px 0 8px;letter-spacing:.15em;font-family:var(--serif)}
.calc input,.calc select{width:100%;background:var(--paper);border:1px solid var(--line);color:var(--ink);
  padding:13px 14px;border-radius:var(--r-sm);font-size:16px;outline:none;min-height:46px}
.calc input:focus,.calc select:focus{border-color:var(--seal)}
.cout{margin-top:26px;padding-top:22px;border-top:1px solid var(--hair);text-align:center}
.cout b{font-family:var(--serif);font-size:36px;font-weight:900;color:var(--ink);display:block;letter-spacing:-.02em}
.cout b::before{content:"约";font-size:14px;font-weight:400;color:var(--ink-4);margin-right:7px;vertical-align:middle}
.cout span{display:block;font-size:12px;color:var(--ink-4);margin-top:8px;line-height:1.8}
.calc .btn{width:100%;margin-top:20px}

.calc-note h4{font-family:var(--serif);font-size:18px;font-weight:700;color:var(--ink);margin-bottom:18px;letter-spacing:.08em}
.calc-note ul{list-style:none;display:flex;flex-direction:column;gap:14px}
.calc-note li{font-size:14px;color:var(--ink-3);line-height:1.85;position:relative;padding-left:18px}
.calc-note li::before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;background:var(--seal);border-radius:50%}
.calc-note li b{color:var(--ink);font-weight:600}
.hint-sm{margin-top:22px;padding-top:20px;border-top:1px solid var(--hair);font-size:12px;color:var(--ink-4);line-height:1.9}

/* ---------- 定制流程 ---------- */
.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.fs{background:var(--paper-2);border:1px solid var(--hair);padding:26px 20px;position:relative;
  transition:.25s;margin-right:-1px;margin-bottom:-1px}
.fs:hover{background:var(--paper-3);z-index:2;border-color:var(--seal)}
.fs:first-child{border-radius:var(--r) 0 0 var(--r)}
.fs:last-child{border-radius:0 var(--r) var(--r) 0}
.fs .num{font-family:var(--serif);font-size:26px;font-weight:300;color:var(--seal);margin-bottom:10px;opacity:.6;letter-spacing:.05em}
.fs h4{font-family:var(--serif);font-size:15px;font-weight:700;color:var(--ink);margin-bottom:8px;letter-spacing:.06em}
.fs p{font-size:12.5px;color:var(--ink-4);line-height:1.85;font-weight:300}

/* ---------- 表单补充 ---------- */
.form-tip{margin-top:14px;font-size:11.5px;color:var(--ink-5);line-height:1.8}
.why{display:flex;flex-direction:column;gap:2px;background:var(--paper-2);border:1px solid var(--hair);
  border-radius:var(--r);padding:8px 28px;box-shadow:var(--shadow-sm)}
.why-item{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:18px 0;border-bottom:1px solid var(--hair)}
.why-item b{font-family:var(--serif);font-size:24px;font-weight:700;color:var(--seal);letter-spacing:-.01em}
.why-item span{font-size:13px;color:var(--ink-4);text-align:right}
.why-quote{margin:24px 0;padding:20px 22px;background:var(--paper);border-left:3px solid var(--seal);
  border-radius:var(--r-sm);font-family:var(--serif);font-size:14px;color:var(--ink-2);line-height:2}

/* ---------- 弹窗 ---------- */
.mdh{aspect-ratio:21/8;position:relative;display:flex;align-items:flex-end;padding:28px 32px}
.mdh::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.5))}
.mdh h2{position:relative;z-index:2;font-family:var(--serif);font-size:28px;font-weight:900;color:var(--paper);letter-spacing:.08em}
.mdh h2 small{display:block;font-size:12px;font-weight:400;color:rgba(237,230,214,.75);margin-top:7px;letter-spacing:.2em;font-family:var(--sans)}
.mprm{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair);
  border-radius:var(--r-sm);overflow:hidden;margin-bottom:22px}
.mprm div{background:var(--paper-2);padding:14px 10px;text-align:center}
.mprm b{display:block;font-family:var(--serif);font-size:17px;font-weight:700;color:var(--ink);margin-bottom:3px}
.mprm span{font-size:10px;color:var(--ink-4);letter-spacing:.18em}
.mdesc{font-size:14px;color:var(--ink-3);margin-bottom:20px;line-height:1.95}
.mscene{margin-bottom:22px}
.mscene b{display:block;font-size:11px;color:var(--ink-4);letter-spacing:.18em;margin-bottom:9px;font-family:var(--serif);font-weight:500}
.mscene div{display:flex;gap:7px;flex-wrap:wrap}
.mscene em{font-style:normal;font-size:12px;color:var(--seal);border:1px solid var(--line);
  background:var(--paper-2);padding:4px 12px;border-radius:var(--r-sm)}
.mpitch{background:var(--paper-2);border-left:3px solid var(--seal);border-radius:var(--r-sm);
  padding:14px 18px;margin-bottom:20px;font-size:13.5px;color:var(--ink-2);line-height:1.85}
.mact{display:flex;gap:12px;flex-wrap:wrap;padding-top:22px;border-top:1px solid var(--hair)}
.mnote{font-size:11.5px;color:var(--ink-5);margin-top:14px;line-height:1.9}

/* ---------- 页脚 ---------- */
.foot{border-top:1px solid var(--line);padding:50px 0 34px;position:relative;z-index:2;background:var(--paper-2)}
.foot-in{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;flex-wrap:wrap}
.foot-brand{font-family:var(--serif);font-size:18px;font-weight:900;color:var(--ink);letter-spacing:.16em;margin-bottom:8px}
.foot-in p{font-size:12.5px;color:var(--ink-4);letter-spacing:.08em}
.foot-links{display:flex;gap:24px;flex-wrap:wrap}
.foot-links a{font-size:13px;color:var(--ink-3);transition:.2s;padding:6px 0;min-height:32px}
.foot-links a:hover{color:var(--seal)}
.foot-note{margin-top:30px;padding-top:22px;border-top:1px solid var(--hair);font-size:11.5px;color:var(--ink-5);line-height:1.9}

/* ==============================================================
   移动端
   ============================================================== */
@media (max-width:900px){
  .pgrid{grid-template-columns:1fr}
  .calc-wrap{grid-template-columns:1fr;gap:32px}
  .flow{grid-template-columns:1fr}
  .fs{border-radius:0!important;margin:0}
  .fs:first-child{border-radius:var(--r) var(--r) 0 0!important}
  .fs:last-child{border-radius:0 0 var(--r) var(--r)!important}
  .mprm{grid-template-columns:repeat(2,1fr)}
  .srch{margin-left:0;width:100%}
  .srch input{width:100%}
  .tools{flex-direction:column;align-items:stretch}
  .soopin-head{flex-direction:column;align-items:flex-start}
  .why{padding:6px 20px}
  .why-item{flex-direction:row}
}
@media (max-width:480px){
  .mprm{grid-template-columns:1fr 1fr}
  .foot-links{gap:16px}
}
