
/* KBRIDGE pipe post — article-body readability only.
   Header / Footer / common CTA / shared design-system are intentionally untouched. */

.pipe-post{
  max-width:830px;
  margin:0 auto;
  padding-top:8px;
}
.pipe-post .pipe-cover{
  margin:0 auto 42px;
}
.pipe-post .pipe-cover img{
  display:block;
  width:100%;
  height:auto;
}
.pipe-post .pipe-cover figcaption{
  margin-top:10px;
  color:#738197;
  font-size:12px;
  line-height:1.6;
}

.pipe-post .pipe-summary{
  margin:0 0 42px;
  padding:24px 25px;
  background:#f7faff;
  border:1px solid #dce6f2;
}
.pipe-post .pipe-summary-label{
  margin:0 0 9px;
  color:#0b5bd3;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
}
.pipe-post .pipe-summary h2{
  margin:0 0 12px;
  color:#0b2853;
  font-size:20px;
  line-height:1.45;
}
.pipe-post .pipe-summary p{
  margin:0;
  color:#36465a;
  font-size:15px;
  line-height:1.88;
}
.pipe-post .pipe-key-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:20px;
}
.pipe-post .pipe-key{
  min-height:94px;
  padding:14px 12px;
  background:#fff;
  border:1px solid #e1e8f0;
}
.pipe-post .pipe-key b{
  display:block;
  margin-bottom:5px;
  color:#0b2853;
  font-size:13px;
}
.pipe-post .pipe-key span{
  display:block;
  color:#6b7889;
  font-size:12px;
  line-height:1.55;
}

.pipe-post .pipe-toc{
  margin:0 0 52px;
  padding:22px 24px;
  background:#fff;
  border:1px solid #dfe6ee;
}
.pipe-post .pipe-toc-title{
  margin:0 0 13px;
  color:#0b2853;
  font-size:14px;
  font-weight:800;
}
.pipe-post .pipe-toc ol{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 28px;
  margin:0;
  padding-left:20px;
}
.pipe-post .pipe-toc li{
  color:#536275;
  font-size:13.2px;
  line-height:1.55;
}
.pipe-post .pipe-toc a:hover{
  color:#0b5bd3;
  text-decoration:underline;
}

.pipe-post .pipe-section{
  margin-top:64px;
  scroll-margin-top:92px;
}
.pipe-post .pipe-section + .pipe-section{
  padding-top:52px;
  border-top:1px solid #e7edf3;
}
.pipe-post .pipe-section h2{
  margin:0 0 20px;
  color:#092a58;
  font-size:23px;
  line-height:1.45;
  letter-spacing:-.03em;
}
.pipe-post .pipe-section h3{
  margin:32px 0 12px;
  color:#153e73;
  font-size:17px;
  line-height:1.5;
}
.pipe-post .pipe-section p{
  margin:0 0 19px;
  color:#334155;
  font-size:15px;
  line-height:1.92;
}
.pipe-post .pipe-lead{
  margin:0 0 26px!important;
  padding:17px 19px;
  background:#f4fafb;
  border-left:4px solid #119aa2;
  color:#263b57!important;
  line-height:1.84!important;
}
.pipe-post .pipe-note{
  margin:27px 0 0;
  padding:17px 19px;
  background:#fff8f1;
  border-left:4px solid #db7a38;
  color:#594437;
  font-size:13.6px;
  line-height:1.8;
}

.pipe-post .pipe-flow{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:28px 0 4px;
}
.pipe-post .pipe-flow-step{
  min-height:122px;
  padding:16px 12px 14px;
  background:#fbfdff;
  border:1px solid #dfe7f0;
  text-align:center;
}
.pipe-post .pipe-flow-step em{
  display:block;
  margin-bottom:6px;
  color:#0b8e98;
  font-style:normal;
  font-size:11px;
  font-weight:800;
}
.pipe-post .pipe-flow-step strong{
  display:block;
  color:#0b2853;
  font-size:14px;
  line-height:1.4;
}
.pipe-post .pipe-flow-step span{
  display:block;
  margin-top:6px;
  color:#718096;
  font-size:11.7px;
  line-height:1.5;
}

.pipe-post .pipe-gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin:27px 0 30px;
  align-items:stretch;
}
.pipe-post .pipe-photo{
  margin:0;
  height:100%;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid #dfe7f0;
}
.pipe-post .pipe-photo img{
  display:block;
  width:100%;
  height:auto;
}
.pipe-post .pipe-photo--wide{
  grid-column:1/-1;
}
.pipe-post .pipe-photo figcaption{
  flex:1;
  min-height:62px;
  padding:11px 13px 12px;
  background:#fbfdff;
  color:#66758a;
  font-size:12px;
  line-height:1.62;
}
.pipe-post .pipe-photo figcaption strong{
  display:block;
  margin-bottom:2px;
  color:#193a66;
  font-size:12.5px;
}

.pipe-post .pipe-gallery-note{
  margin:-8px 0 0;
  color:#6f7d90;
  font-size:12.5px;
  line-height:1.7;
}

.pipe-post .pipe-table-wrap{
  overflow-x:auto;
  margin:27px 0 30px;
  border:1px solid #dde6ef;
}
.pipe-post .pipe-table{
  width:100%;
  min-width:650px;
  border-collapse:collapse;
}
.pipe-post .pipe-table th,
.pipe-post .pipe-table td{
  padding:13px 14px;
  border-right:1px solid #e6ecf3;
  border-bottom:1px solid #e6ecf3;
  text-align:left;
  vertical-align:top;
  font-size:13px;
  line-height:1.65;
}
.pipe-post .pipe-table th{
  background:#f5f8fc;
  color:#0b2853;
  font-weight:800;
}
.pipe-post .pipe-table tr:last-child td{border-bottom:0}
.pipe-post .pipe-table th:last-child,
.pipe-post .pipe-table td:last-child{border-right:0}

.pipe-post .pipe-check-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:26px 0 0;
}
.pipe-post .pipe-check{
  padding:15px 16px;
  background:#fff;
  border:1px solid #dfe7f0;
}
.pipe-post .pipe-check strong{
  display:block;
  margin-bottom:5px;
  color:#0b2853;
  font-size:13.5px;
}
.pipe-post .pipe-check span{
  display:block;
  color:#66758a;
  font-size:12.4px;
  line-height:1.6;
}
.pipe-post .pipe-service-box{
  margin:28px 0 0;
  padding:23px 24px;
  background:linear-gradient(135deg,#f8fbff,#f3f8fc);
  border:1px solid #d5e1ee;
}
.pipe-post .pipe-service-box h3{
  margin:0 0 12px;
  color:#0b2853;
  font-size:17px;
}
.pipe-post .pipe-service-box ul{
  margin:0;
  padding-left:20px;
}
.pipe-post .pipe-service-box li{
  margin:7px 0;
  color:#46566b;
  font-size:13.6px;
  line-height:1.7;
}

.pipe-post .pipe-faq{
  margin-top:26px;
  border-top:1px solid #dfe7f0;
}
.pipe-post .pipe-faq details{
  border-bottom:1px solid #dfe7f0;
}
.pipe-post .pipe-faq summary{
  padding:18px 0;
  color:#0b2853;
  font-size:14px;
  font-weight:800;
  line-height:1.55;
  cursor:pointer;
}
.pipe-post .pipe-faq .pipe-answer{
  padding:0 0 19px;
  color:#526174;
  font-size:13.7px;
  line-height:1.78;
}

@media(max-width:820px){
  .pipe-post{max-width:none}
  .pipe-post .pipe-key-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pipe-post .pipe-toc ol{grid-template-columns:1fr}
  .pipe-post .pipe-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pipe-post .pipe-gallery{gap:15px}
  .pipe-post .pipe-section{margin-top:52px}
  .pipe-post .pipe-section + .pipe-section{padding-top:42px}
  .pipe-post .pipe-section h2{font-size:21px}
}
@media(max-width:560px){
  .pipe-post .pipe-summary{padding:20px 18px;margin-bottom:34px}
  .pipe-post .pipe-key-grid{grid-template-columns:1fr}
  .pipe-post .pipe-toc{padding:19px 18px;margin-bottom:42px}
  .pipe-post .pipe-flow{grid-template-columns:1fr}
  .pipe-post .pipe-gallery{grid-template-columns:1fr}
  .pipe-post .pipe-photo--wide{grid-column:auto}
  .pipe-post .pipe-photo--wide img,
  .pipe-post .pipe-photo img{height:auto}
  .pipe-post .pipe-check-grid{grid-template-columns:1fr}
  .pipe-post .pipe-section{margin-top:44px}
  .pipe-post .pipe-section + .pipe-section{padding-top:34px}
  .pipe-post .pipe-section h2{font-size:19.5px;margin-bottom:17px}
  .pipe-post .pipe-section p{font-size:14.5px;line-height:1.86}
}
