*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;font-size:15px;line-height:1.65;color:var(--c-text);background:#fff}
a{color:var(--c-primary)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.site-header{background:var(--c-primary-dark)}
.header-in{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;min-height:64px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none}
.brand svg{display:block;flex:0 0 auto;width:40px;height:40px}
.brand-txt{display:flex;flex-direction:column;justify-content:center}
.brand-name{font-size:19px;font-weight:500;color:#fff;line-height:1.15;letter-spacing:-.01em;white-space:nowrap}
.brand-tag{font-size:12px;color:rgba(255,255,255,.72);line-height:1.3;letter-spacing:.05em;white-space:nowrap}
.brand--only-text{display:block;font-size:24px;font-weight:500;letter-spacing:-.02em;color:#fff}
.top-nav{display:flex;gap:24px;align-items:center}
.top-nav a{color:rgba(255,255,255,.85);text-decoration:none;font-size:14px}
.top-nav a:hover{color:#fff;text-decoration:underline}
.catnav{display:inline-block}
.catnav-d{position:relative}
.catnav-sum{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:rgba(255,255,255,.85);list-style:none;font-size:14px;padding:5px 0;white-space:nowrap}
.catnav-sum::-webkit-details-marker{display:none}
.catnav-sum:hover{color:#fff;text-decoration:underline}
.catnav-caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;transition:transform .15s}
.catnav-d[open] .catnav-caret{transform:rotate(180deg)}
.catnav-list{position:absolute;left:50%;transform:translateX(-50%);top:calc(100% + 8px);z-index:70;background:#fff;border:1px solid var(--c-border);border-radius:10px;box-shadow:0 12px 32px rgba(15,23,42,.2);list-style:none;margin:0;padding:14px 18px;
column-count:4;column-gap:22px;width:max-content;max-width:calc(100vw - 16px);max-height:calc(100vh - 120px);overflow-y:auto}
.catnav-list li{margin:0 0 1px;break-inside:avoid}
.catnav-list a{display:block;padding:5px 8px;color:var(--c-text);text-decoration:none;border-radius:6px;font-size:13px;line-height:1.35}
.catnav-list a:hover{background:var(--c-bg-soft);color:var(--c-primary);text-decoration:none}
.crumbs{background:var(--c-bg-head);border-bottom:1px solid var(--c-border)}
.crumbs .wrap{padding-top:10px;padding-bottom:10px}
.breadcrumb{list-style:none;display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--c-text-2);margin:0;padding:0}
.breadcrumb li+li::before{content:">";margin-right:6px;color:var(--c-text-2)}
.breadcrumb .active a{color:var(--c-text-2);text-decoration:none}
.page-body h2{font-size:20px;font-weight:var(--head-weight);margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid var(--c-primary)}
.site-footer{background:var(--c-primary-dark);color:rgba(255,255,255,.8);margin-top:48px;padding:28px 0;font-size:13px}
.site-footer a{color:#fff}
.site-footer p{margin:0 0 6px}
.f-brand{font-size:16px;font-weight:700;color:#fff}
.page-body{padding:28px 0 8px;max-width:820px;margin:0 auto}
.page-body h1{font-size:28px;font-weight:var(--head-weight);line-height:1.3;margin:0 0 18px;color:var(--c-text)}
.page-body h3{font-size:17px;font-weight:600;color:var(--c-primary);margin:26px 0 8px;line-height:1.4}
.page-body p{margin:0 0 13px}
.page-body ul{margin:0 0 14px;padding-left:20px}
.page-body li{margin:0 0 6px}
.page-body strong{color:var(--c-text);font-weight:600}
.price-table{width:100%;border-collapse:collapse;margin:6px 0 18px;font-size:14px}
.price-table caption{caption-side:top;text-align:left;color:var(--c-text-2);font-size:13px;padding:0 0 6px}
.price-table th,.price-table td{border:1px solid var(--c-border);padding:8px 12px;text-align:left}
.price-table thead th{background:var(--c-bg-head);font-weight:600;color:var(--c-text)}
.price-table td:first-child{font-weight:600}
@media (max-width:600px){
.page-body{padding-top:20px}
.page-body h1{font-size:22px}
.price-table{display:block;overflow-x:auto;white-space:nowrap}
}
@media (max-width:900px){
.top-nav{gap:16px}
.brand svg{width:34px;height:34px}
.brand-name{font-size:17px}
.brand-tag{display:none}
.brand--only-text{font-size:20px}
.header-right{gap:14px}
.catnav-list{column-count:3}
}
@media (max-width:600px){
.catnav-list{column-count:2;left:0;transform:none;width:auto;max-width:none}
.header-in{gap:10px}
.header-right{width:100%;justify-content:space-between}
.top-nav{gap:12px;flex-wrap:wrap}
.top-nav a,.catnav-sum{font-size:13px}
}
.hdr-search{display:inline-flex;align-items:center}
.hdr-search input{width:140px;padding:6px 10px;border:1px solid rgba(255,255,255,.28);border-radius:6px;background:rgba(255,255,255,.10);color:#fff;font-size:13px;outline:none;transition:background .15s,border-color .15s}
.hdr-search input::placeholder{color:rgba(255,255,255,.45)}
.hdr-search input:focus{border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.16)}
@media (max-width:600px){.hdr-search input{width:110px}}
@media (min-width:601px) and (max-width:880px){.catnav-list{column-count:2}}
@media (min-width:881px) and (max-width:1180px){.catnav-list{column-count:3}}
.art-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;color:var(--c-text-2);margin:0 0 20px}
.art-meta .dot{color:var(--c-border)}
.art-cover{margin:0 0 22px}
.art-cover img{display:block;width:100%;height:auto;border-radius:10px}
.article-body{max-width:820px}
.article-body h2{font-size:21px;font-weight:var(--head-weight);line-height:1.35;margin:30px 0 12px;padding-bottom:8px;border-bottom:2px solid var(--c-primary);color:var(--c-text)}
.article-body h2{clear:both}
.article-body h3{font-size:17px;font-weight:600;color:var(--c-primary);margin:24px 0 8px;line-height:1.4}
.article-body p{margin:0 0 14px}
.article-body ul,.article-body ol{margin:0 0 15px;padding-left:22px}
.article-body li{margin:0 0 6px}
.article-body img{max-width:100%;height:auto;border-radius:8px}
.article-body .fig{margin:22px 0 24px}
.article-body .fig img{display:block;width:100%;height:auto;border-radius:8px;background:#fff}
.article-body .fig-diagram img{border:1px solid var(--c-border);border-radius:10px}
.article-body .fig-product{display:grid;grid-template-columns:170px 1fr;gap:16px;align-items:center;border:1px solid var(--c-border);border-radius:12px;padding:14px;background:var(--c-bg-soft);margin:22px 0 24px}
.article-body .fig-product img{width:100%;height:170px;object-fit:contain;background:#fff;border-radius:8px;border:1px solid var(--c-border)}
.article-body .fig-product figcaption{margin:0}
.article-body .fig-product b{display:block;color:var(--c-text);font-size:15px;margin-bottom:4px}
.article-body figcaption{font-size:13px;line-height:1.65;color:var(--c-text-2);margin-top:8px}
.article-body figcaption a{color:var(--c-primary);font-weight:600;text-decoration:none;white-space:nowrap}
.article-body figcaption a:hover{text-decoration:underline}
.article-body .fig-video{display:flex;flex-direction:column;align-items:center;margin:22px 0 24px}
.article-body .fig-video video{display:block;width:100%;max-width:100%;height:auto;border-radius:10px;border:1px solid var(--c-border);background:#000}
.article-body .fig-video-vertical video{width:auto;height:min(600px,70vh)}
.article-body .fig-video video:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}
/* Vertical short: float right on wide screens so body copy wraps beside it; narrow screens fall back to full-width centered */
@media (min-width:760px){.article-body .fig-video-vertical{float:right;display:block;width:270px;margin:2px 0 20px 28px}.article-body .fig-video-vertical video{width:100%;height:auto}.article-body .fig-video-vertical figcaption{font-size:12.5px;line-height:1.55}}
@media (min-width:900px){.article-body .fig-video-vertical{width:300px;margin:2px 0 20px 32px}}
.article-body .fig-product,.article-body .fig-video:not(.fig-video-vertical),.article-body table,.article-body .cta-box{clear:both}
@media (max-width:640px){.article-body .fig-product{grid-template-columns:1fr}.article-body .fig-product img{height:200px}.article-body .fig-video-vertical video{height:auto;width:100%}}
.article-body table{width:100%;border-collapse:collapse;margin:8px 0 18px;font-size:14px}
.article-body th,.article-body td{border:1px solid var(--c-border);padding:8px 12px;text-align:left}
.article-body thead th{background:var(--c-bg-head);font-weight:600}
.article-body blockquote{margin:0 0 16px;padding:2px 0 2px 16px;border-left:3px solid var(--c-primary);color:var(--c-text-2)}
.cta-box{margin:28px 0 8px;padding:20px 22px;background:var(--c-bg-soft);border:1px solid var(--c-border);border-radius:12px}
.cta-t{font-size:17px;font-weight:600;margin:0 0 6px;color:var(--c-text)}
.cta-d{font-size:14px;color:var(--c-text-2);margin:0 0 14px}
.cta-btn{display:inline-block;background:var(--c-primary);color:#fff!important;text-decoration:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600}
.cta-btn:hover{background:var(--c-primary-dark);text-decoration:none}
.art-related{margin:34px 0 0;padding-top:22px;border-top:1px solid var(--c-border)}
.rel-h{font-size:18px;font-weight:600;margin:0 0 14px;border:0;padding:0}
.rel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.rel-card{display:block;border:1px solid var(--c-border);border-radius:10px;overflow:hidden;text-decoration:none;color:var(--c-text);background:#fff}
.rel-card:hover{border-color:var(--c-primary);text-decoration:none}
.rc-img{display:block;aspect-ratio:1/1;overflow:hidden;background:var(--c-bg-soft)}
.rc-img img{width:100%;height:100%;object-fit:cover;display:block}
.rc-title{display:block;padding:8px 10px 2px;font-size:13px;line-height:1.4}
.rc-sku{display:block;padding:0 10px 9px;font-size:12px;color:var(--c-text-2);letter-spacing:.03em}
/* 700–860px：auto-fill 会掉到 4 列，5 张卡变 4+1。此区间强制 5 列等分（768 平板每卡 ≈134px）。
   下限 700 是为了不把手机横屏（667/736）压到 120px 以下；上限 860 之上 auto-fill 本来就是 5 列。 */
@media (min-width:700px) and (max-width:860px){
.rel-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.rel-grid .rc-title{font-size:12px;line-height:1.35;padding:7px 8px 2px}
.rel-grid .rc-sku{padding:0 8px 8px;font-size:10.5px}
}
.art-posts .post-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.art-posts .post-list li{margin:0}
.art-posts .post-list a{display:block;border:1px solid var(--c-border);border-radius:10px;padding:12px 14px;background:#fff;color:var(--c-text);text-decoration:none;font-size:14px;line-height:1.45}
.art-posts .post-list a:hover{border-color:var(--c-primary);text-decoration:none}
.art-posts .post-list span{display:block;font-size:12px;color:var(--c-text-2);margin-top:4px;letter-spacing:.02em}

/* ---- a11y（2026-10-25）---- */
.skip{position:absolute;left:-9999px;top:0;z-index:100;padding:10px 16px;background:var(--c-primary);color:#fff;border-radius:0 0 8px 0;font-size:14px;font-weight:600;text-decoration:none}
.skip:focus{left:0;outline:2px solid #fff}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ==== V2 UI Polish: Shared Layout, Header, Breadcrumbs & Footer ==== */
:root {
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --sh-xs: 0 1px 2px rgba(11, 19, 36, 0.04);
  --sh-card: 0 1px 2px rgba(11, 19, 36, 0.03), 0 4px 12px -2px rgba(11, 19, 36, 0.05);
  --sh-card-hover: 0 2px 4px rgba(11, 19, 36, 0.04), 0 12px 24px -6px rgba(var(--c-primary-rgb), 0.12), 0 24px 48px -12px rgba(11, 19, 36, 0.12);
}
body {
  background: var(--c-bg-soft);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
.wrap {
  max-width: 1220px;
  padding: 0 28px;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 80;
  background: var(--c-primary-dark);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 4px 20px -4px rgba(4, 12, 26, 0.35);
}
.header-in { min-height: 68px; }
.brand-name { font-weight: 700; letter-spacing: -0.02em; }
.brand-tag { color: rgba(255, 255, 255, 0.68); letter-spacing: 0.06em; text-transform: uppercase; font-size: 10.5px; }
.top-nav { gap: 4px; }
.top-nav > a,
.catnav-sum {
  padding: 7px 12px;
  border-radius: 8px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.86);
  transition: background 0.18s var(--ease-out), color 0.18s var(--ease-out);
}
.top-nav > a:hover,
.catnav-sum:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.09);
  text-decoration: none;
}
.top-nav > a[href*="contact"] {
  margin-left: 4px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  padding: 6px 15px;
  font-weight: 600;
  color: #fff;
}
.top-nav > a[href*="contact"]:hover {
  background: var(--c-accent);
  border-color: var(--c-accent);
}
.hdr-search { margin-left: 6px; }
.hdr-search input {
  width: 156px;
  padding: 6px 13px;
  border-radius: 999px;
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
  transition: all 0.22s var(--ease-out);
}
.hdr-search input:focus {
  width: 196px;
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.55);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.12);
}
.crumbs {
  background: var(--c-bg-head);
  border-bottom: 1px solid var(--c-border);
}
.breadcrumb { font-size: 12.5px; align-items: center; }
.breadcrumb a { color: var(--c-text-2); text-decoration: none; transition: color 0.15s; }
.breadcrumb a:hover { color: var(--c-primary); }
.breadcrumb li + li::before { content: "/"; color: #94A3B8; }
.site-footer {
  position: relative;
  background: linear-gradient(180deg, var(--c-primary-dark) 0%, var(--c-primary-dark) 100%);
  padding: 40px 0 36px;
  margin-top: 64px;
  color: rgba(226, 232, 240, 0.72);
}
.site-footer a { color: #E2E8F0; text-decoration: none; transition: color 0.2s; }
.site-footer a:hover { color: #fff; text-decoration: underline; }

/* ==== V2 UI Polish: Blog Article Detail Page (article.css) ==== */
.page-body,
.article-body {
  max-width: 100%;
  margin: 24px 0 36px;
  padding: 40px 48px 44px;
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: 20px;
  box-shadow: var(--sh-card);
}
@media (max-width: 760px) {
  .page-body, .article-body { padding: 24px 20px 28px; border-radius: 14px; }
}
.article-body h1 {
  font-size: 34px;
  line-height: 1.18;
  letter-spacing: -0.03em;
  margin: 0 0 16px;
}
.art-meta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 14px;
  margin: 0 0 26px;
  border-radius: 999px;
  background: var(--c-bg-soft);
  border: 1px solid var(--c-border);
  font-size: 12.5px;
  font-weight: 500;
}
.art-cover {
  margin: 0 0 30px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid var(--c-border);
  box-shadow: var(--sh-card);
}
.art-cover img {
  border-radius: 0;
  max-height: 400px;
  object-fit: cover;
}
.article-body h2 {
  position: relative;
  font-size: 24px;
  line-height: 1.28;
  letter-spacing: -0.025em;
  margin: 40px 0 16px;
  padding: 0 0 0 14px;
  border-bottom: 0;
}
.article-body h2::before {
  content: "";
  position: absolute;
  left: 0; top: 4px; bottom: 4px;
  width: 4px;
  border-radius: 4px;
  background: linear-gradient(180deg, var(--c-primary) 0%, var(--c-accent) 100%);
}
.article-body blockquote {
  margin: 22px 0;
  padding: 16px 20px;
  border-left: 4px solid var(--c-accent);
  background: linear-gradient(90deg, var(--c-accent-soft) 0%, var(--c-bg-soft) 100%);
  border-radius: 0 12px 12px 0;
}
.article-body .fig-product {
  border-radius: 16px;
  background: linear-gradient(135deg, #FFFFFF 0%, var(--c-bg-soft) 100%);
  padding: 18px 20px;
  box-shadow: var(--sh-card);
}
.article-body .fig-product img {
  border-radius: 12px;
  background: radial-gradient(ellipse at 50% 42%, #FFFFFF 0%, #F4F7FB 70%, #ECF1F6 100%);
  padding: 12px;
  mix-blend-mode: multiply;
}
.article-body table {
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--c-border);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: var(--sh-xs);
}
.article-body th, .article-body td {
  border: 0;
  border-bottom: 1px solid #EDF1F7;
  padding: 11px 16px;
}
.article-body tr:last-child td { border-bottom: 0; }
.cta-box {
  margin: 38px 0 12px;
  padding: 30px 32px;
  border-radius: 18px;
  border: 0;
  background: linear-gradient(135deg, var(--c-primary-dark) 0%, var(--c-primary) 100%);
  box-shadow: 0 20px 40px -20px rgba(var(--c-primary-rgb), 0.45);
}
.cta-t { font-size: 22px; font-weight: 700; color: #fff; }
.cta-d { color: rgba(226, 232, 240, 0.88); margin-bottom: 18px; }
.cta-btn {
  background: linear-gradient(180deg, var(--c-accent) 0%, var(--c-accent-dark) 100%);
  padding: 12px 26px;
  border-radius: var(--radius-cta, 10px);
}
.art-posts .post-list {
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 16px;
}
.art-posts .post-list a {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  border-radius: 14px;
  padding: 16px 18px;
  box-shadow: var(--sh-card);
  font-weight: 600;
  transition: all 0.25s var(--ease-out);
}
.art-posts .post-list a:hover {
  transform: translateY(-3px);
  color: var(--c-primary);
  box-shadow: var(--sh-card-hover);
}
.rel-grid {
  grid-template-columns: repeat(auto-fill, minmax(185px, 1fr));
  gap: 16px;
}
.rel-card {
  border-radius: 14px;
  box-shadow: var(--sh-card);
  transition: all 0.3s var(--ease-out);
}
.rel-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--sh-card-hover);
}
.rc-img {
  background: radial-gradient(ellipse at 50% 42%, #FFFFFF 0%, #F4F7FB 70%, #ECF1F6 100%);
  border-bottom: 1px solid #EDF1F7;
  padding: 10px;
}
.rc-img img {
  object-fit: contain;
  mix-blend-mode: multiply;
  transition: transform 0.45s var(--ease-out);
}
.rel-card:hover .rc-img img { transform: scale(1.06); }
.rc-sku {
  margin: 2px 10px 10px;
  padding: 1px 6px;
  display: inline-block;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-size: 10.5px;
  font-weight: 600;
  background: var(--c-bg-head);
  border-radius: 4px;
}
