/* 产品单页。视觉沿用首页的宣纸与墨色，章节按单页往下读。 */

.product-hero{
  padding:calc(var(--nav-top) + var(--nav-h) + 1.6rem) 0 clamp(2.2rem, 5vw, 3.4rem);
  background:var(--c-paper);
}
.product-kicker{
  color:var(--c-cinnabar);
}
.product-hero h1{
  margin-top:1rem;
  font-size:clamp(2.8rem, 6.4vw, 5.4rem);
  font-weight:400;
  letter-spacing:.03em;
  line-height:1.02;
  color:var(--c-ink);
}
.product-lede{
  margin-top:1.15rem;
  max-width:18em;
  font-size:clamp(1.35rem, 2.5vw, 1.9rem);
  font-weight:400;
  letter-spacing:.06em;
  line-height:1.45;
  color:var(--c-ink);
}
.product-dek{
  margin-top:.85rem;
  max-width:38rem;
  font-size:15px;
  line-height:1.95;
  letter-spacing:.03em;
  color:var(--c-muted);
}
.product-switch{
  margin:1.5rem 0 1.15rem;
}
a.solutions-pill{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}
.product-stage{
  min-height:clamp(340px, 46vw, 620px);
}
.product-source{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  margin-top:1.5rem;
  font-size:13px;
  letter-spacing:.16em;
  color:var(--c-cinnabar);
}
.product-source:hover{color:var(--c-ink);}

.fact-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1px;
  background:var(--c-line);
  border:1px solid var(--c-line);
}
.fact-grid--wide{grid-template-columns:repeat(3, minmax(0, 1fr));}
.fact-grid--five{grid-template-columns:repeat(3, minmax(0, 1fr));}
.fact{
  background:var(--c-paper-2);
  padding:1.55rem 1.35rem 1.45rem;
  min-height:100%;
}
.fact-k{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.22em;
  color:var(--c-cinnabar);
}
.fact-num{
  margin-top:.75rem;
  font-size:clamp(1.7rem, 2.8vw, 2.45rem);
  font-weight:400;
  letter-spacing:.04em;
  line-height:1.2;
  color:var(--c-ink);
}
.fact-label{
  margin-top:.65rem;
  font-size:14px;
  line-height:1.85;
  letter-spacing:.03em;
  color:var(--c-muted);
}

.sibling-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}
.sibling{
  display:block;
  padding:1.7rem 1.5rem 1.55rem;
  background:#fff;
  border:1px solid var(--c-line);
  transition:border-color .3s ease, transform .45s var(--ease);
}
.sibling:hover{
  border-color:var(--c-ink);
  transform:translateY(-3px);
}
.sibling span{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.28em;
  color:var(--c-faint);
}
.sibling strong{
  display:block;
  margin-top:.75rem;
  font-weight:400;
  font-size:clamp(1.4rem, 2.2vw, 1.85rem);
  letter-spacing:.05em;
  color:var(--c-ink);
}
.sibling p{
  margin-top:.55rem;
  font-size:14px;
  line-height:1.85;
  color:var(--c-muted);
}

.score-case{
  display:grid;
  grid-template-columns:minmax(16rem, .72fr) minmax(0, 1.4fr);
  gap:1.25rem;
  align-items:stretch;
}
.compare{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:1px;
  background:var(--c-line);
  border:1px solid var(--c-line);
}
.compare-side{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:.45rem;
  padding:1.6rem 1.4rem 1.45rem;
  background:var(--c-paper-2);
  color:var(--c-ink);
}
.compare-side.is-on{
  background:var(--c-ink);
  color:#fff;
}
.compare-side span{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.22em;
}
.compare-side strong{
  font-size:clamp(2.4rem, 4vw, 3.6rem);
  font-weight:400;
  letter-spacing:.03em;
  line-height:1;
}
.compare-side em{
  font-style:normal;
  font-size:13px;
  letter-spacing:.08em;
  color:var(--c-muted);
}
.compare-side.is-on em{color:rgba(247,244,237,.62);}
.score-shot{
  margin:0;
  background:#fff;
  border:1px solid var(--c-line);
  overflow:hidden;
}
.score-shot img,
.shot img{
  width:100%;
  height:auto;
  display:block;
  background:#e7eef6;
}
.score-shot figcaption,
.shot figcaption{
  padding:.85rem 1rem 1rem;
  font-size:13px;
  letter-spacing:.06em;
  line-height:1.7;
  color:var(--c-muted);
}
.shot-note{
  margin-top:1.1rem;
  max-width:46rem;
  font-size:13.5px;
  line-height:1.9;
  color:var(--c-faint);
}
.shot-block{margin-top:2.6rem;}
.shot-block h3{
  font-size:1.35rem;
  font-weight:400;
  letter-spacing:.08em;
  color:var(--c-ink);
  margin-bottom:1rem;
}
.shot-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
}
.shot-grid--two{grid-template-columns:minmax(0, 1.15fr) minmax(0, .85fr);}
.shot{
  margin:0;
  background:#fff;
  border:1px solid var(--c-line);
}
.shot a{display:block;}

@media (max-width:900px){
  .fact-grid,
  .fact-grid--five{grid-template-columns:1fr 1fr;}
  .sibling-grid,
  .score-case,
  .shot-grid,
  .shot-grid--two{grid-template-columns:1fr;}
}
@media (max-width:680px){
  .product-hero h1{letter-spacing:.02em;}
  .fact-grid,
  .fact-grid--five{grid-template-columns:1fr;}
  .score-case,
  .shot-grid,
  .shot-grid--two{grid-template-columns:1fr;}
}
