/* 合作说明 · 单页版 —— 工作人员转发给合作伙伴的那一页。
   不带站内导航，手机上一屏一屏往下看；电脑上居中一栏；打印/存 PDF 时去掉按钮。
   组件样式（.pt-*）在 base.css，这里只管单页版自己的骨架。 */
.brief-body { background:var(--bg); }
.bf-top { position:sticky; top:0; z-index:20; background:var(--card); border-bottom:1px solid var(--line);
  padding-top:env(safe-area-inset-top,0px); }
.bf-in { max-width:820px; margin:0 auto; padding:0 16px; height:52px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.bf-logo { display:flex; align-items:center; gap:9px; min-height:44px; color:inherit; text-decoration:none!important; min-width:0; }
.bf-logo .logo-mark { width:30px; height:30px; border-radius:8px; background:var(--pri); color:#fff; display:flex; align-items:center;
  justify-content:center; font-weight:800; font-size:16px; flex:0 0 auto; }
.bf-logo b { font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bf-lang { display:flex; gap:2px; flex:0 0 auto; }
.bf-lang a { display:inline-flex; align-items:center; min-height:34px; padding:0 9px; border-radius:99px; font-size:12.5px; color:var(--mut);
  text-decoration:none!important; }
.bf-lang a.on { background:var(--line2); color:var(--pri); font-weight:700; }

.bf-main { max-width:820px; margin:0 auto; padding:18px 16px 40px; }
.bf-hero { padding:24px 22px 22px; border-radius:18px; color:#fff; margin-bottom:18px;
  background:linear-gradient(140deg,#12437e 0%,#1a5aa6 100%); box-shadow:0 10px 30px rgba(18,67,126,.22); }
.bf-kicker { margin:0 0 14px; font-size:12.5px; font-weight:600; letter-spacing:.04em; color:rgba(255,255,255,.78); }
.bf-hh { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.bf-hh .pt-ic { --pt-bg:#fff; --pt-fg:#12437e; }
.bf-for { margin:0; font-size:16px; font-weight:700; }
.bf-hero h1 { margin:0 0 12px; font-size:27px; line-height:1.3; color:#fff; }
.bf-who { margin:0; font-size:14.5px; line-height:1.8; color:rgba(255,255,255,.9); }

/* 单页版里每一块是一张卡片，手机上更好读 */
.bf-main .pt-sec { margin:0 0 14px; padding:20px 18px; border-radius:16px; background:var(--card); border:1px solid var(--line); }
.bf-main .pt-sh { margin-bottom:14px; }
.bf-main .pt-sh h2 { font-size:19px; }
.bf-main .pt-pgrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.bf-main .pt-olist { grid-template-columns:1fr; gap:10px; }
.bf-main .pt-mgrid.pt-m3, .bf-main .pt-mgrid.pt-m4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.bf-main .pt-mgrid.pt-m3 .pt-mode:last-child { grid-column:1 / -1; }
.bf-main .pt-flow { grid-template-columns:1fr; gap:0; position:relative; }
.bf-main .pt-flow li { border:0; border-radius:0; padding:0 0 18px; background:transparent; position:relative; }
.bf-main .pt-flow li:not(:last-child)::before { content:""; position:absolute; left:13px; top:30px; bottom:2px; width:2px; background:var(--line); }
.bf-main .pt-flow li:last-child { padding-bottom:0; }
.bf-main .pt-pain, .bf-main .pt-olist li, .bf-main .pt-mode, .bf-main .pt-dcol, .bf-main .pt-fact, .bf-main .pt-todo li { background:var(--bg); }
.bf-main .pt-todo { grid-template-columns:1fr; }
.bf-main .pt-fgrid, .bf-main .pt-facts.compact .pt-fgrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.bf-main .pt-fgrid .pt-fact:last-child:nth-child(odd) { grid-column:1 / -1; }

.bf-contact { background:linear-gradient(180deg,#f4f7fb,#fff)!important; border-color:#d9e2ee!important; }
.bf-contact .pt-qr { border:0; box-shadow:none; padding:4px 0; background:transparent; grid-template-columns:232px minmax(0,1fr); }

.bf-foot { margin-top:20px; text-align:center; color:var(--mut); font-size:13px; }
.bf-links { display:flex; justify-content:center; flex-wrap:wrap; gap:8px 18px; margin:0 0 12px; }
.bf-links a { font-weight:600; display:inline-flex; align-items:center; min-height:38px; }
.bf-print { display:inline-flex; align-items:center; gap:6px; border:1px solid var(--line); background:var(--card); color:var(--ink2);
  border-radius:99px; padding:5px 12px; min-height:38px; font:inherit; font-size:13px; cursor:pointer; }
.bf-print .ic { width:16px; height:16px; }
.bf-site { margin:0 0 4px; }
.bf-site b { color:var(--ink2); margin-right:8px; }
.bf-url { margin:0; font-size:12px; }

@media (prefers-color-scheme:dark) {
  .bf-contact { background:var(--card)!important; border-color:var(--pri)!important; }
}

@media (max-width:600px) {
  .bf-main { padding:12px 12px 32px; }
  .bf-hero { padding:20px 18px; border-radius:16px; }
  .bf-hero h1 { font-size:22px; }
  .bf-main .pt-sec { padding:17px 15px; border-radius:14px; }
  .bf-main .pt-pgrid, .bf-main .pt-mgrid.pt-m3, .bf-main .pt-mgrid.pt-m4, .bf-main .pt-fgrid,
  .bf-main .pt-facts.compact .pt-fgrid { grid-template-columns:1fr; }
  .bf-contact .pt-qr { grid-template-columns:1fr; }
  html[data-device="mobile"] .bf-print { display:none; }
}

@media print {
  @page { size:A4; margin:14mm 12mm; }
  html, body { background:#fff!important; color:#111!important; }
  .bf-top, .bf-print, .bf-lang, .pt-press { display:none!important; }
  .bf-main { max-width:none; padding:0; }
  .bf-hero { box-shadow:none; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .bf-main .pt-sec { break-inside:avoid; page-break-inside:avoid; border-color:#ddd; }
  .pt-olist li, .pt-flow li, .pt-mode, .pt-pain { break-inside:avoid; }
  .bf-contact { break-inside:avoid; }
  a { color:#12437e!important; text-decoration:none!important; }
}
