/* ============================================================
   Punchy skin styles — bold, dense, big-type, LF palette.
   Activated by .poster.style-punchy
   ============================================================ */

.poster.style-punchy{
  --pz-band:#241910; --pz-bandfg:#F5EEE0; --pz-hi:#C69A52; --pz-hot:#A43A2A;
  font-family:var(--font-sans);
  padding:0;
  display:flex;flex-direction:column;
}
.poster.style-punchy[data-theme="dark"]{
  --pz-band:#0f0b07; --pz-bandfg:#F5EEE0; --pz-hi:#C69A52; --pz-hot:#C85842;
}
.poster.style-punchy[data-theme="blue"]{
  --pz-band:#0D2040; --pz-bandfg:#EDF3FA; --pz-hi:#5BA3E8; --pz-hot:#1B5AAE;
}
/* punchy hides the quiet editorial grid/corners for a denser look */
.poster.style-punchy .bg-grid,
.poster.style-punchy .corner{display:none;}

/* top brand strip */
.style-punchy .pz-strip{
  display:flex;align-items:center;gap:10px;
  padding:14px 30px;background:var(--pz-band);color:var(--pz-bandfg);
}
.style-punchy .pz-mk{
  font-family:var(--font-serif);font-style:italic;font-size:15px;
  width:28px;height:28px;border:1.5px solid var(--pz-hi);color:var(--pz-hi);
  display:inline-flex;align-items:center;justify-content:center;
}
.style-punchy .pz-bn{font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;font-weight:700;}
.style-punchy .pz-bd{font-size:12px;color:var(--pz-hi);margin-left:auto;letter-spacing:.1em;}

/* HERO band — high impact */
.style-punchy .pz-hero{
  background:var(--pz-band);color:var(--pz-bandfg);
  padding:24px 30px 30px;position:relative;
}
.style-punchy .pz-eyebrow{
  font-family:var(--font-mono);font-size:13px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--pz-hi);font-weight:600;margin-bottom:10px;
}
.style-punchy .pz-title{
  font-family:"Noto Sans SC",var(--font-sans);font-weight:900;
  font-size:96px;line-height:1.0;letter-spacing:.01em;color:#fff;
}
.style-punchy .pz-sub{
  display:inline-block;margin-top:16px;
  font-size:30px;font-weight:800;line-height:1.25;color:#1a1410;
  background:var(--pz-hi);padding:8px 16px;
}

/* lead */
.style-punchy .pz-lead{
  background:var(--bg);color:var(--fg);
  padding:22px 30px;font-size:21px;font-weight:600;line-height:1.5;
  border-bottom:1px solid var(--rule);
}

/* dense list */
.style-punchy .pz-list{padding:24px 30px;background:var(--bg);}
.style-punchy .pz-lh{
  font-size:22px;font-weight:800;color:var(--fg-strong);margin-bottom:16px;
  padding-left:14px;border-left:5px solid var(--accent);
}
.style-punchy .pz-li{display:flex;gap:12px;align-items:flex-start;padding:9px 0;}
.style-punchy .pz-di{
  width:13px;height:13px;flex-shrink:0;margin-top:6px;
  background:var(--accent);transform:rotate(45deg);
}
.style-punchy .pz-lt{display:flex;flex-direction:column;gap:2px;}
.style-punchy .pz-lt b{font-size:18px;font-weight:800;color:var(--fg-strong);}
.style-punchy .pz-lt span{font-size:15px;color:var(--fg-muted);line-height:1.5;}
/* mini section divider within list */
.style-punchy .pz-lsec{
  font-family:var(--font-mono);font-size:10px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--accent);font-weight:700;
  margin:16px 0 2px;padding:6px 0 5px;
  border-top:1.5px solid var(--accent);
}

/* 4-up highlight chips */
.style-punchy .pz-chips{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  background:var(--rule);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
}
.style-punchy .pz-chip{
  background:var(--bg);padding:18px 14px;display:flex;flex-direction:column;gap:8px;
  border-right:1px solid var(--rule);
}
.style-punchy .pz-chip:last-child{border-right:none;}
.style-punchy .pz-cn{
  font-family:var(--font-serif);font-size:26px;color:var(--gold);line-height:1;font-style:italic;
}
.style-punchy .pz-ct{font-size:15px;font-weight:700;color:var(--fg-strong);line-height:1.3;}

/* price cards */
.style-punchy .pz-prices{padding:24px 30px;background:var(--bg);}
.style-punchy .pz-ph{
  text-align:center;font-size:22px;font-weight:800;color:var(--fg-strong);margin-bottom:18px;
}
.style-punchy .pz-ph:before,.style-punchy .pz-ph:after{
  content:"";display:inline-block;width:28px;height:2px;background:var(--accent);
  vertical-align:middle;margin:0 12px;
}
.style-punchy .pz-cards{display:flex;gap:12px;}
.style-punchy .pz-cards.pz-grid{display:grid;grid-template-columns:1fr 1fr;}
.style-punchy .pz-card{
  flex:1;background:var(--bg-card);border:1px solid var(--rule);border-top:4px solid var(--accent);
  padding:18px 18px 16px;position:relative;
}
.style-punchy .pz-card.feat{border-color:var(--gold);border-top-color:var(--gold);background:rgba(198,154,82,.1);}
.style-punchy .pz-hot{
  position:absolute;top:-1px;right:-1px;background:var(--accent);color:#fff;
  font-size:11px;font-weight:700;padding:3px 10px;letter-spacing:.08em;
}
.style-punchy .pz-cname{font-size:18px;font-weight:800;color:var(--fg-strong);}
.style-punchy .pz-csub{font-size:13px;color:var(--fg-muted);margin-top:3px;}
.style-punchy .pz-price{
  font-family:"Inter",var(--font-sans);font-weight:800;font-size:44px;line-height:1;
  color:var(--accent);margin-top:10px;display:flex;align-items:baseline;
}
.style-punchy .pz-card.feat .pz-price{color:var(--gold);}
.style-punchy .pz-cur{font-size:22px;margin-right:1px;}
.style-punchy .pz-unit{font-size:14px;color:var(--fg-muted);font-weight:600;margin-left:3px;}
.style-punchy .pz-cnote{font-size:12.5px;color:var(--fg-muted);margin-top:8px;line-height:1.45;}

/* audience band */
.style-punchy .pz-aud{
  background:var(--pz-band);color:var(--pz-bandfg);
  padding:18px 30px;font-size:15.5px;text-align:center;line-height:1.6;letter-spacing:.02em;
}

/* cta band */
.style-punchy .pz-cta{
  background:var(--accent);color:#fff;padding:22px 30px;text-align:center;
}
.style-punchy .pz-cta-t{font-size:28px;font-weight:900;margin-bottom:6px;}
.style-punchy .pz-cta-s{font-size:16px;font-weight:500;opacity:.96;line-height:1.5;}

/* contact bar */
.style-punchy .pz-contact{
  background:var(--pz-band);color:var(--pz-bandfg);
  padding:18px 30px;display:flex;align-items:center;gap:18px;
}
.style-punchy .pz-clines{display:flex;flex-wrap:wrap;gap:8px 20px;flex:1;}
.style-punchy .pz-cl{font-size:14px;font-weight:600;letter-spacing:.02em;}
.style-punchy .pz-cl + .pz-cl:before{content:"·";margin-right:20px;color:var(--pz-hi);}
.style-punchy .pz-qr{width:74px;height:74px;background:#fff;padding:4px;object-fit:contain;flex-shrink:0;}

/* foot strip */
.style-punchy .pz-foot{
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 30px;background:var(--bg-soft);color:var(--fg-faint);
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;
}
.style-punchy .pz-foot b{color:var(--fg-muted);}
.style-punchy .pz-foot .pz-tag{font-family:var(--font-serif);font-style:italic;font-size:17px;color:var(--accent);letter-spacing:0;}

/* ── 主图 hook blocks (tpl-hero punchy) ────────────────── */
.style-punchy .pz-hooks{background:var(--bg);}
.style-punchy .pz-hook{
  display:flex;gap:20px;align-items:flex-start;
  padding:22px 30px;border-bottom:1px solid var(--rule);
}
.style-punchy .pz-hook:last-child{border-bottom:none;}
/* lean = no description — center title vertically, larger font */
.style-punchy .pz-hook--lean{align-items:center;padding:28px 30px;}
.style-punchy .pz-hook--lean b{font-size:32px !important;}
.style-punchy .pz-hn{
  font-family:var(--font-serif);font-style:italic;font-size:54px;
  color:var(--gold);width:64px;flex-shrink:0;line-height:1;
}
.style-punchy .pz-hb{flex:1;}
.style-punchy .pz-hb b{
  font-size:26px;font-weight:900;color:var(--fg-strong);
  display:block;line-height:1.2;
}
.style-punchy .pz-hb span{
  font-size:15px;color:var(--fg-muted);margin-top:5px;
  display:block;line-height:1.55;
}
