.product-top-summary { color: #666; font-size: 16px; line-height: 1.9; }
.product-top-summary p { display: -webkit-box; margin: 0 0 28px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 5; }
.product-top-summary span { display: inline-block; border-left: 3px solid #172f68; padding-left: 12px; color: #172f68; font-size: 14px; }
.product-showcase { color: #333; }
.product-showcase section { margin-top: 54px; }
.product-showcase-hero { display: grid; min-height: 420px; grid-template-columns: minmax(280px, .85fr) minmax(0, 1.35fr); background: #f4f6fb; }
.product-showcase-copy { display: flex; flex-direction: column; justify-content: center; padding: 54px; }
.news-detail-info .product-kicker { margin: 0 0 8px; color: #74809b; font-size: 13px; line-height: 1.5; }
.news-detail-info .product-showcase h2 { margin: 0 0 22px; color: #172f68; font-size: 30px; font-weight: 500; line-height: 1.35; }
.product-showcase-line { display: block; width: 56px; height: 3px; margin: 0 0 26px; background: #172f68; }
.product-showcase-copy > p:last-child { margin: 0; color: #666; line-height: 1.9; }
.product-showcase-main, .product-gallery-item { margin: 0; overflow: hidden; background: #fff; }
.product-showcase-main img { width: 100%; height: 100%; min-height: 420px; object-fit: contain; }
.product-showcase-description { border-top: 1px solid #dfe3ec; padding-top: 34px; }
.product-showcase-text { max-width: 1060px; color: #555; font-size: 16px; line-height: 2; }
.product-showcase-text h2, .product-showcase-text h3, .product-showcase-text h4 { margin: 28px 0 12px; color: #172f68; font-size: 20px; line-height: 1.5; }
.product-showcase-text p { margin: 0 0 18px; }
.product-showcase-text ul { margin: 0 0 22px; padding-left: 1.5em; }
.product-showcase-text li { margin-bottom: 8px; list-style: disc; }
.product-gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.product-gallery-item { aspect-ratio: 4 / 3; border: 1px solid #e7e9ee; }
.product-gallery-item img { width: 100%; height: 100%; object-fit: contain; transition: transform .35s ease; }
.product-gallery-item:hover img { transform: scale(1.035); }
@media (max-width: 768px) {
  .product-showcase section { margin-top: 32px; }
  .product-showcase-hero { min-height: 0; grid-template-columns: 1fr; }
  .product-showcase-copy { padding: 28px 22px; }
  .news-detail-info .product-showcase h2 { font-size: 23px; }
  .product-showcase-main img { min-height: 260px; max-height: 420px; }
  .product-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .product-showcase-text { font-size: 15px; }
}
