/* ============================================================
   XPF 3# Template Styles v2 (full section library)
   Tokens: 锻造橙 #EA543F · 技术蓝 #2947BB · Archivo/Public Sans/IBM Plex Mono
   Grid: 8px · Radius: 4px · Container: 1200px
   ============================================================ */

:root {
  --c-primary: #EA543F;
  --c-primary-dark: #C43F2C;
  --c-accent: #2947BB;
  --c-bg: #F7F7F5;
  --c-surface: #FFFFFF;
  --c-border: #E3E2DE;
  --c-text: #1A1C1E;
  --c-text-dim: #5F6368;
  --font-heading: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --font-body: "Public Sans", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "IBM Plex Mono", Consolas, monospace;
  --radius: 4px;
  --radius-lg: 8px;
  --shadow-sm: 0 1px 2px rgba(26, 28, 30, 0.06);
  --shadow-md: 0 2px 4px rgba(26, 28, 30, 0.06), 0 6px 16px rgba(26, 28, 30, 0.08);
}

/* ---- Base ---- */
.xpf-cat3, .xpf-det3 {
  font-family: var(--font-body);
  color: var(--c-text);
  line-height: 1.65;
  overflow-x: hidden;
}
.xpf-cat3 h1, .xpf-cat3 h2, .xpf-cat3 h3,
.xpf-det3 h1, .xpf-det3 h2, .xpf-det3 h3 {
  font-family: var(--font-heading);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
}
.xpf-cat3 h1, .xpf-det3 h1 { font-size: clamp(30px, 4.5vw, 48px); margin: 0 0 16px; }
.xpf-cat3 h2, .xpf-det3 h2 { font-size: clamp(24px, 3vw, 32px); margin: 0 0 24px; }
.xpf-cat3 h3, .xpf-det3 h3 { font-size: 20px; margin: 0 0 8px; }
.xpf-center { text-align: center; }

.xpf-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.xpf-grid-2 { display: grid; grid-template-columns: 7fr 5fr; gap: 48px; align-items: center; }
.xpf-split { display: grid; grid-template-columns: 5fr 7fr; gap: 48px; align-items: center; }
.xpf-split.xpf-flip { grid-template-columns: 7fr 5fr; }
.xpf-split.xpf-flip > div:first-child { order: 2; }
.xpf-split.xpf-flip > div:last-child { order: 1; }

/* ---- Eyebrow ---- */
.xpf-eyebrow {
  font-family: var(--font-mono);
  font-size: 12.8px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-primary);
  margin: 0 0 12px;
}
.xpf-eyebrow-light { color: #FFB4A6; }

/* ---- Banner (hero, bg image with dark overlay) ---- */
.xpf-banner {
  position: relative;
  padding: 120px 0 88px;
  background: linear-gradient(rgba(18, 20, 23, 0.72), rgba(18, 20, 23, 0.72)),
              var(--c-text) center / cover no-repeat;
  color: #F2F3F1;
}
.xpf-banner h1 { color: #fff; max-width: 720px; }
.xpf-banner .xpf-lede { color: #C9CCCF; }
.xpf-banner-mid { padding: 96px 0 72px; }
.xpf-banner-mid h2 { color: #fff; max-width: 720px; margin: 0 0 16px; }

/* ---- Lede + CTAs ---- */
.xpf-lede { font-size: 18px; color: var(--c-text-dim); max-width: 620px; margin: 0 0 32px; }
.xpf-cta-row { display: flex; gap: 16px; flex-wrap: wrap; }
.xpf-btn {
  display: inline-block;
  padding: 14px 28px;
  border-radius: var(--radius);
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.xpf-btn-primary { background: var(--c-primary); color: #fff; }
.xpf-btn-primary:hover, .xpf-btn-primary:focus { background: var(--c-primary-dark); color: #fff; }
.xpf-btn-ghost { background: transparent; color: var(--c-text); border: 1px solid var(--c-border); }
.xpf-btn-ghost:hover, .xpf-btn-ghost:focus { border-color: var(--c-text); }
.xpf-btn-sm { padding: 10px 20px; font-size: 14px; }

/* ---- Trust bar ---- */
.xpf-trustbar { background: var(--c-text); color: #F2F3F1; padding: 24px 0; }
.xpf-trust-inner { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.xpf-trust-item { display: flex; flex-direction: column; }
.xpf-trust-item b { font-family: var(--font-mono); font-size: 22px; color: #fff; }
.xpf-trust-item span { font-size: 13px; color: #9AA0A6; }

/* ---- Sections ---- */
.xpf-cat3 section, .xpf-det3 section { padding: 64px 0; }
.xpf-section { padding: 64px 0; }
.xpf-alt { background: var(--c-bg); }

/* ---- Prose ---- */
.xpf-prose p { margin: 0 0 16px; }
.xpf-prose ul, .xpf-prose ol { margin: 0 0 16px; padding-left: 24px; }
.xpf-prose li { margin-bottom: 8px; }
.xpf-prose img { max-width: 100%; height: auto; border-radius: var(--radius); }

/* ---- Capability list ---- */
.xpf-caplist { display: grid; gap: 16px; }
.xpf-cap { background: var(--c-surface); border: 1px solid var(--c-border); border-left: 3px solid var(--c-primary); border-radius: var(--radius); padding: 16px 20px; }
.xpf-cap h3 { margin: 0 0 4px; }
.xpf-cap p { margin: 0; color: var(--c-text-dim); font-size: 14.4px; }

/* ---- Box grids (features / applications / advantage / steps) ---- */
.xpf-boxes { display: grid; gap: 24px; }
.xpf-boxes.xpf-cols-2 { grid-template-columns: repeat(2, 1fr); }
.xpf-boxes.xpf-cols-3 { grid-template-columns: repeat(3, 1fr); }
.xpf-boxes.xpf-cols-4 { grid-template-columns: repeat(4, 1fr); }
.xpf-box {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  padding: 24px;
  box-shadow: var(--shadow-sm);
}
.xpf-box h3 { font-size: 17px; }
.xpf-box p { margin: 0; color: var(--c-text-dim); font-size: 14.4px; }
.xpf-num { text-align: center; }
.xpf-num b { display: block; font-family: var(--font-mono); font-size: 30px; color: var(--c-primary); margin-bottom: 8px; }
.xpf-num span { color: var(--c-text-dim); font-size: 14.4px; }
.xpf-step { position: relative; padding-top: 40px; }
.xpf-stepnum {
  position: absolute; top: -14px; left: 24px;
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--c-primary); color: #fff;
  font-family: var(--font-mono); font-size: 14px;
  display: flex; align-items: center; justify-content: center;
}
.xpf-res { display: flex; flex-direction: column; gap: 12px; }
.xpf-res .xpf-btn { align-self: flex-start; margin-top: auto; }

/* ---- Product family / related / article cards ---- */
.xpf-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.xpf-card {
  display: flex; flex-direction: column;
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  text-decoration: none;
  color: var(--c-text);
  box-shadow: var(--shadow-sm);
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}
.xpf-card:hover, .xpf-card:focus { box-shadow: var(--shadow-md); border-color: var(--c-primary); }
.xpf-card img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.xpf-card-body { padding: 20px 20px 24px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.xpf-card .xpf-specs { font-family: var(--font-mono); font-size: 13px; color: var(--c-text-dim); margin: 0; }
.xpf-card .xpf-arr { margin-top: auto; color: var(--c-primary); font-weight: 600; font-size: 14px; }

/* ---- Testimonials ---- */
.xpf-quote {
  margin: 0;
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-top: 3px solid var(--c-primary);
  border-radius: var(--radius-lg);
  padding: 24px;
}
.xpf-quote p { margin: 0 0 12px; font-size: 15.4px; }
.xpf-quote footer { color: var(--c-text-dim); font-size: 13.6px; font-family: var(--font-mono); }

/* ---- Tables ---- */
.xpf-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--c-border); border-radius: var(--radius-lg); background: var(--c-surface); }
.xpf-tablewrap table { width: 100%; border-collapse: collapse; min-width: 640px; }
.xpf-tablewrap th, .xpf-tablewrap td { padding: 14px 20px; text-align: left; border-bottom: 1px solid var(--c-border); font-size: 15px; }
.xpf-tablewrap thead th { font-family: var(--font-heading); font-weight: 700; background: var(--c-bg); }
.xpf-tablewrap tbody tr:last-child th, .xpf-tablewrap tbody tr:last-child td { border-bottom: 0; }
.xpf-tablewrap .xpf-ours { background: rgba(234, 84, 63, 0.07); font-weight: 600; }

/* ---- FAQ ---- */
.xpf-faq details { border-bottom: 1px solid var(--c-border); }
.xpf-faq summary {
  cursor: pointer; padding: 18px 0;
  font-family: var(--font-heading); font-weight: 600; font-size: 17px;
  list-style: none; position: relative; padding-right: 32px;
}
.xpf-faq summary::-webkit-details-marker { display: none; }
.xpf-faq summary::after {
  content: "+"; position: absolute; right: 4px; top: 50%;
  transform: translateY(-50%); color: var(--c-primary);
  font-size: 22px; font-weight: 400;
}
.xpf-faq details[open] summary::after { content: "−"; }
.xpf-faq details p { margin: 0; padding: 0 32px 18px 0; color: var(--c-text-dim); }

/* ---- Video ---- */
.xpf-video { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: var(--radius-lg); }
.xpf-video iframe, .xpf-video embed, .xpf-video object { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }

/* ---- RFQ section ---- */
.xpf-rfq { background: var(--c-bg); border-top: 3px solid var(--c-primary); }

/* ---- Images inside split blocks ---- */
.xpf-split img, .xpf-grid-2 img { width: 100%; height: auto; border-radius: var(--radius-lg); }

/* ---- Floating inquiry popup (site-wide) ---- */
.xpf-fab {
  position: fixed; right: 20px; bottom: 20px; z-index: 9998;
  padding: 14px 22px; border: 0; border-radius: 999px;
  background: var(--c-primary); color: #fff;
  font-family: var(--font-heading); font-weight: 600; font-size: 15px;
  cursor: pointer; box-shadow: var(--shadow-md);
  display: flex; align-items: center; gap: 8px;
}
.xpf-fab:hover { background: var(--c-primary-dark); }
.xpf-popup { position: fixed; inset: 0; z-index: 9999; display: none; }
.xpf-popup.xpf-open { display: block; }
.xpf-popup-backdrop { position: absolute; inset: 0; background: rgba(18, 20, 23, 0.6); }
.xpf-popup-card {
  position: relative; z-index: 1;
  max-width: 640px; max-height: calc(100vh - 48px); overflow-y: auto;
  margin: 24px auto; padding: 32px;
  background: var(--c-surface); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}
.xpf-popup-card h2 { font-size: 24px; margin: 0 0 16px; }
.xpf-popup-close {
  position: absolute; top: 12px; right: 16px;
  border: 0; background: none; cursor: pointer;
  font-size: 28px; line-height: 1; color: var(--c-text-dim);
}
.xpf-popup-close:hover { color: var(--c-text); }

/* ---- Responsive ---- */
@media (max-width: 992px) {
  .xpf-grid-2, .xpf-split, .xpf-split.xpf-flip { grid-template-columns: 1fr; gap: 32px; }
  .xpf-split.xpf-flip > div:first-child { order: 1; }
  .xpf-split.xpf-flip > div:last-child { order: 2; }
  .xpf-cards { grid-template-columns: repeat(2, 1fr); }
  .xpf-boxes.xpf-cols-4 { grid-template-columns: repeat(2, 1fr); }
  .xpf-boxes.xpf-cols-3 { grid-template-columns: repeat(2, 1fr); }
  .xpf-banner { padding: 80px 0 64px; }
}
@media (max-width: 640px) {
  .xpf-cards, .xpf-boxes.xpf-cols-2, .xpf-boxes.xpf-cols-3, .xpf-boxes.xpf-cols-4 { grid-template-columns: 1fr; }
  .xpf-trust-inner { flex-direction: column; gap: 16px; }
  .xpf-cta-row .xpf-btn { width: 100%; text-align: center; }
  .xpf-popup-card { margin: 12px; padding: 24px 20px; }
  .xpf-fab { right: 12px; bottom: 12px; padding: 12px 18px; font-size: 14px; }
}


/* ==== Prototype CSS (scoped: .xpf-content) ==== auto-ported, do not edit by hand */

:root{
  --c-primary:#EA543F; --c-primary-dk:#D13C2A;
  --c-accent:#2947BB;
  --c-bg:#F7F7F5; --c-surface:#FFFFFF;
  --c-border:#E3E2DE; --c-text:#1A1C1E; --c-dim:#5F6368;
  --c-ink:#121417; --c-ink-surface:#1A1D21; --c-ink-border:#2A2E33;
  --c-ink-text:#F2F3F1; --c-ink-dim:#9AA0A6;
  --radius:4px; --radius-lg:8px;
  --fs-xs:12.8px; --fs-sm:14px; --fs-base:16px; --fs-md:20px;
  --fs-lg:25px; --fs-xl:31px; --fs-2xl:39px; --fs-3xl:61px;
  --sp-1:8px; --sp-2:16px; --sp-3:24px; --sp-4:32px; --sp-6:48px; --sp-8:64px; --sp-12:96px; --sp-16:128px;
  --shadow-sm:0 1px 2px rgba(16,18,20,.06);
  --shadow-md:0 2px 4px rgba(16,18,20,.06),0 6px 16px rgba(16,18,20,.08);
  --shadow-lg:0 4px 8px rgba(16,18,20,.06),0 16px 40px rgba(16,18,20,.12);
  --container:1200px; --container-narrow:860px; --gutter:24px;
  --font-heading:"Archivo","Helvetica Neue",Arial,sans-serif;
  --font-body:"Public Sans","Helvetica Neue",Arial,sans-serif;
  --font-mono:"IBM Plex Mono","SFMono-Regular",Consolas,monospace;
  --transition-fast:120ms; --transition-base:220ms;
  --easing:cubic-bezier(0.2,0.8,0.2,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
.xpf-content{font-family:var(--font-body);font-size:var(--fs-base);line-height:1.65;color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased}
.xpf-content img{max-width:100%;height:auto;display:block}
.xpf-content a{color:var(--c-primary);text-decoration:none}
.xpf-content a:hover{text-decoration:underline}
.xpf-content .container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.xpf-content .container-narrow{max-width:var(--container-narrow);margin:0 auto;padding:0 var(--gutter)}
.xpf-content h1, .xpf-content h2, .xpf-content h3, .xpf-content h4{font-family:var(--font-heading);font-weight:700;letter-spacing:-0.02em;line-height:1.15}
.xpf-content h1{font-size:var(--fs-2xl)} h2{font-size:var(--fs-xl);letter-spacing:-0.025em} h3{font-size:var(--fs-lg)}
.xpf-content p{max-width:72ch}
.xpf-content .mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.xpf-content .eyebrow{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--c-primary);font-weight:400}
.xpf-content section{padding:var(--sp-12) 0}
.xpf-content .section-tight{padding:var(--sp-8) 0}
.xpf-content .lede{font-size:var(--fs-md);color:var(--c-dim);max-width:60ch}

/* ---------- Header ---------- */
.xpf-content .site-header{position:sticky;top:0;z-index:50;background:rgba(247,247,245,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--c-border)}
.xpf-content .header-inner{display:flex;align-items:center;gap:var(--sp-4);height:64px}
.xpf-content .brand{display:flex;align-items:baseline;gap:10px;color:var(--c-text);font-family:var(--font-heading);font-weight:700;font-size:20px;letter-spacing:-0.02em}
.xpf-content .brand em{font-style:normal;color:var(--c-primary)}
.xpf-content .brand .mono{font-size:var(--fs-xs);color:var(--c-dim);font-weight:400;letter-spacing:.08em}
.xpf-content .main-nav{display:flex;gap:var(--sp-3);margin-left:auto;align-items:center}
.xpf-content .main-nav a{color:var(--c-text);font-size:var(--fs-sm);font-weight:600;padding:8px 0}
.xpf-content .main-nav a:hover{color:var(--c-primary);text-decoration:none}
.xpf-content .btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-heading);font-weight:600;font-size:var(--fs-sm);padding:12px 20px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:background var(--transition-fast) var(--easing)}
.xpf-content .btn-primary{background:var(--c-primary);color:#fff}
.xpf-content .btn-primary:hover{background:var(--c-primary-dk);text-decoration:none}
.xpf-content .btn-ghost{border-color:var(--c-border);color:var(--c-text);background:var(--c-surface)}
.xpf-content .btn-ghost:hover{border-color:var(--c-primary);color:var(--c-primary);text-decoration:none}
.xpf-content .btn .ic{width:16px;height:16px}
.xpf-content .nav-toggle{display:none}
@media(max-width:960px){
.xpf-content .main-nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--c-surface);flex-direction:column;align-items:stretch;padding:var(--sp-2) var(--gutter);border-bottom:1px solid var(--c-border);box-shadow:var(--shadow-md)}
.xpf-content .main-nav a{padding:12px 0;border-bottom:1px solid var(--c-border)}
.xpf-content .main-nav .btn{justify-content:center;margin-top:8px}
.xpf-content #nav-check:checked ~ .main-nav{display:flex}
.xpf-content .nav-toggle{display:inline-flex;margin-left:auto;cursor:pointer;padding:8px}
.xpf-content .header-inner .btn-header{display:none}
}

/* ---------- Hero（浅色版：参考 RapidDirect / machining-custom） ---------- */
.xpf-content .hero{background:var(--c-bg);color:var(--c-text);padding:var(--sp-16) 0;border-bottom:1px solid var(--c-border);position:relative;overflow:hidden}
.xpf-content .hero .grid{display:grid;grid-template-columns:7fr 5fr;gap:var(--sp-8);align-items:center}
.xpf-content .hero h1{color:var(--c-text);font-size:var(--fs-3xl);letter-spacing:-0.03em}
.xpf-content .hero .lede{color:var(--c-dim)}
.xpf-content .hero .eyebrow{color:var(--c-primary)}
.xpf-content .hero-cta{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-4)}
.xpf-content .hero .btn-ghost{border-color:var(--c-border);color:var(--c-text);background:var(--c-surface)}
.xpf-content .hero .btn-ghost:hover{border-color:var(--c-primary);color:var(--c-primary)}
.xpf-content .hero-stats{display:flex;gap:var(--sp-6);margin-top:var(--sp-6);flex-wrap:wrap}
.xpf-content .hero-stats .stat b{display:block;font-family:var(--font-mono);font-size:var(--fs-lg);color:var(--c-text)}
.xpf-content .hero-stats .stat span{font-size:var(--fs-sm);color:var(--c-dim)}
.xpf-content .hero-visual{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--c-border);background:var(--c-surface)}
/* signature 动效：标题逐行上浮（全页唯一） */
.xpf-content .rise{opacity:0;transform:translateY(14px);animation:rise .5s var(--easing) forwards}
.xpf-content .rise.d1{animation-delay:.06s}.rise.d2{animation-delay:.12s}.rise.d3{animation-delay:.18s}.rise.d4{animation-delay:.24s}
@keyframes rise{to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}.rise{opacity:1;transform:none}}

/* ---------- Trust bar ---------- */
.xpf-content .trustbar{background:var(--c-surface);border-bottom:1px solid var(--c-border)}
.xpf-content .trustbar .inner{display:flex;gap:var(--sp-6);padding:var(--sp-3) 0;flex-wrap:wrap;justify-content:space-between}
.xpf-content .trustbar .item{display:flex;align-items:baseline;gap:8px;font-family:var(--font-mono);font-size:var(--fs-sm)}
.xpf-content .trustbar .item b{font-size:var(--fs-md)}

/* ---------- 入口分流 / 卡片 ---------- */
.xpf-content .entries{display:grid;grid-template-columns:5fr 4fr 3fr;gap:var(--sp-3)}
.xpf-content .entry{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--sp-4);transition:border-color var(--transition-fast)}
.xpf-content .entry:hover{border-color:var(--c-primary)}
.xpf-content .entry h3{font-size:var(--fs-md);margin-bottom:var(--sp-1)}
.xpf-content .entry p{font-size:var(--fs-sm);color:var(--c-dim)}
.xpf-content .entry .arr{color:var(--c-primary);font-size:var(--fs-sm);font-weight:600;display:inline-flex;gap:6px;align-items:center;margin-top:var(--sp-2)}
.xpf-content .entry a{text-decoration:none;color:inherit;display:block}

/* ---------- 流程 / 能力 ---------- */
.xpf-content .split{display:grid;grid-template-columns:7fr 5fr;gap:var(--sp-8);align-items:start}
.xpf-content .steps{counter-reset:step;list-style:none;display:grid;gap:var(--sp-2)}
.xpf-content .steps li{display:flex;gap:var(--sp-2);align-items:flex-start;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:var(--sp-2) var(--sp-3)}
.xpf-content .steps li::before{counter-increment:step;content:"0" counter(step);font-family:var(--font-mono);color:var(--c-primary);font-size:var(--fs-sm);padding-top:2px}
.xpf-content .steps li b{font-size:var(--fs-sm)}
.xpf-content .steps li span{display:block;font-size:var(--fs-sm);color:var(--c-dim)}
.xpf-content .caplist{display:grid;gap:var(--sp-3)}
.xpf-content .caplist .cap{border-left:2px solid var(--c-primary);padding-left:var(--sp-3)}
.xpf-content .caplist .cap h3{font-size:var(--fs-md)}
.xpf-content .caplist .cap ul{list-style:none;margin-top:var(--sp-1);font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--c-dim);display:grid;gap:4px}

/* ---------- 对比表 ---------- */
.xpf-content .tablewrap{overflow-x:auto;border:1px solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-surface)}
.xpf-content table{border-collapse:collapse;width:100%;min-width:640px;font-size:var(--fs-sm)}
.xpf-content thead th{font-family:var(--font-heading);text-align:left;padding:var(--sp-2) var(--sp-3);border-bottom:2px solid var(--c-border);font-size:var(--fs-sm)}
.xpf-content tbody th[scope=row]{font-weight:600;color:var(--c-text);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--c-border)}
.xpf-content tbody td{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--c-border);color:var(--c-dim)}
.xpf-content tbody tr :first-child{white-space:nowrap}
.xpf-content .ours{background:#FDF1E9;color:var(--c-text);font-weight:600}

/* ---------- 产品 / 品类卡 ---------- */
.xpf-content .cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3)}
.xpf-content .card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);overflow:hidden}
.xpf-content .card .body{padding:var(--sp-3)}
.xpf-content .card h3{font-size:var(--fs-md);margin-bottom:var(--sp-1)}
.xpf-content .card .specs{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--c-dim);margin:var(--sp-2) 0;display:grid;gap:4px}
.xpf-content .card .arr{color:var(--c-primary);font-size:var(--fs-sm);font-weight:600}
.xpf-content .card a{color:inherit;text-decoration:none;display:block}

/* ---------- FAQ ---------- */
.xpf-content .faq details{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-1)}
.xpf-content .faq summary{font-weight:600;cursor:pointer;font-size:var(--fs-sm);list-style:none;display:flex;justify-content:space-between;align-items:center}
.xpf-content .faq summary::after{content:"+";font-family:var(--font-mono);color:var(--c-primary)}
.xpf-content .faq details[open] summary::after{content:"–"}
.xpf-content .faq details p{margin-top:var(--sp-2);color:var(--c-dim);font-size:var(--fs-sm)}

/* ---------- 表单（浅色版） ---------- */
.xpf-content .rfq{background:var(--c-surface);color:var(--c-text);padding:var(--sp-12) 0;border-top:1px solid var(--c-border)}
.xpf-content .rfq h2{color:var(--c-text)}
.xpf-content .rfq .lede{color:var(--c-dim)}
.xpf-content .formgrid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);margin-top:var(--sp-4)}
.xpf-content .formgrid .full{grid-column:1/-1}
.xpf-content .field label{display:block;font-size:var(--fs-xs);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--c-dim);margin-bottom:6px}
.xpf-content .field input, .xpf-content .field select, .xpf-content .field textarea{width:100%;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);color:var(--c-text);padding:12px 14px;font-family:var(--font-body);font-size:var(--fs-sm)}
.xpf-content .field input:focus, .xpf-content .field select:focus, .xpf-content .field textarea:focus{outline:2px solid var(--c-primary);outline-offset:1px}
.xpf-content .field textarea{min-height:96px;resize:vertical}
.xpf-content .radio-entry{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2)}
.xpf-content .radio-entry label{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--c-border);border-radius:var(--radius);padding:var(--sp-2);cursor:pointer;font-size:var(--fs-sm);background:var(--c-bg)}
.xpf-content .radio-entry input{margin-top:3px;accent-color:var(--c-primary)}
.xpf-content .radio-entry small{display:block;color:var(--c-dim)}
.xpf-content .form-note{font-size:var(--fs-xs);color:var(--c-dim);margin-top:var(--sp-2)}
.xpf-content .direct{display:flex;gap:var(--sp-4);flex-wrap:wrap;margin-top:var(--sp-4);font-size:var(--fs-sm);color:var(--c-dim)}
.xpf-content .direct a{color:var(--c-text)}
.xpf-content .form-ok{display:none;margin-top:var(--sp-2);color:#1B7D46;font-size:var(--fs-sm)}

/* ---------- CTA band ---------- */
.xpf-content .ctaband{background:var(--c-primary);color:#fff;padding:var(--sp-8) 0}
.xpf-content .ctaband .inner{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);flex-wrap:wrap}
.xpf-content .ctaband h2{color:#fff;font-size:var(--fs-lg)}
.xpf-content .ctaband p{color:#FDEBDD;font-size:var(--fs-sm)}
.xpf-content .ctaband .btn{background:#fff;color:var(--c-primary-dk)}

/* ---------- 占位块 ---------- */
.xpf-content .ph-block{border:1px dashed var(--c-primary);border-radius:var(--radius);background:#FDF6F0;padding:var(--sp-3);display:flex;gap:12px;align-items:center;color:var(--c-dim);font-size:var(--fs-sm)}
.xpf-content .ph-block .tag{font-family:var(--font-mono);font-size:var(--fs-xs);background:var(--c-primary);color:#fff;border-radius:2px;padding:2px 8px;white-space:nowrap}
.xpf-content .ph-img{position:relative;background:repeating-linear-gradient(45deg,#EFEDE8,#EFEDE8 12px,#F5F3EE 12px,#F5F3EE 24px);border:1px solid var(--c-border);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--c-dim);font-family:var(--font-mono);font-size:var(--fs-xs);text-align:center;padding:var(--sp-2)}
.xpf-content .ph-img .tag{position:absolute;top:8px;left:8px;background:var(--c-primary);color:#fff;border-radius:2px;padding:2px 8px;font-size:var(--fs-xs)}
.xpf-content .aspect-16-9{aspect-ratio:16/9}
.xpf-content .aspect-4-3{aspect-ratio:4/3}

/* ---------- Footer ---------- */
.xpf-content .site-footer{background:var(--c-surface);border-top:1px solid var(--c-border);padding:var(--sp-8) 0 var(--sp-4);margin-top:var(--sp-12)}
.xpf-content .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--sp-4)}
.xpf-content .site-footer h4{font-size:var(--fs-sm);margin-bottom:var(--sp-2)}
.xpf-content .site-footer ul{list-style:none;display:grid;gap:8px;font-size:var(--fs-sm);color:var(--c-dim)}
.xpf-content .site-footer a{color:var(--c-dim)}
.xpf-content .site-footer a:hover{color:var(--c-primary)}
.xpf-content .footer-bottom{margin-top:var(--sp-6);padding-top:var(--sp-3);border-top:1px solid var(--c-border);display:flex;justify-content:space-between;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--c-dim);flex-wrap:wrap}

/* ---------- 博客文章 ---------- */
.xpf-content .article{font-size:var(--fs-base)}
.xpf-content .article h2{margin:var(--sp-8) 0 var(--sp-2)}
.xpf-content .article h3{margin:var(--sp-4) 0 var(--sp-1);font-size:var(--fs-md)}
.xpf-content .article p{margin-bottom:var(--sp-2)}
.xpf-content .article ul{margin:0 0 var(--sp-3) var(--sp-3);color:var(--c-dim)}
.xpf-content .article li{margin-bottom:var(--sp-1)}
.xpf-content .article .tablewrap{margin:var(--sp-3) 0}
.xpf-content .article-meta{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--c-dim);letter-spacing:.06em}

/* ---------- 面包屑 ---------- */
.xpf-content .crumbs{font-size:var(--fs-xs);font-family:var(--font-mono);color:var(--c-dim);padding:var(--sp-3) 0 0}
.xpf-content .crumbs a{color:var(--c-dim)}
.xpf-content .crumbs a:hover{color:var(--c-primary)}

/* ---------- 响应式 ---------- */
@media(max-width:960px){
.xpf-content section{padding:var(--sp-8) 0}
.xpf-content .hero{padding:var(--sp-8) 0}
.xpf-content .hero h1{font-size:40px}
.xpf-content .hero .grid, .xpf-content .split{grid-template-columns:1fr}
.xpf-content .entries{grid-template-columns:1fr}
.xpf-content .footer-grid{grid-template-columns:1fr 1fr}
.xpf-content .formgrid{grid-template-columns:1fr}
.xpf-content .radio-entry{grid-template-columns:1fr}
.xpf-content .cards{grid-template-columns:1fr}
}
/* ---- migrated-content helpers ---- */
.xpf-imgph{position:relative;background:repeating-linear-gradient(45deg,#EFEFEC,#EFEFEC 12px,#F4F4F1 12px,#F4F4F1 24px);border:1px dashed var(--c-border);border-radius:var(--radius-lg);min-height:220px;display:flex;align-items:center;justify-content:center;padding:24px;margin:0}
.xpf-imgph::after{content:attr(data-desc);font-family:var(--font-mono);font-size:12.8px;color:var(--c-dim);text-align:center;max-width:52ch}
.xpf-embed-form{margin:var(--sp-6) 0}
.page .entry-header,.page .ast-entry-header{display:none!important}
