/* Application cases: shared site chrome is in style.css and mould.css. */
.cases-banner { background: radial-gradient(circle at 44% 10%, #16bce7 0, #087fc3 29%, transparent 61%), linear-gradient(112deg, #252c9b 0%, #075cab 45%, #142675 100%); }
.cases-banner::before { width: 740px; height: 360px; left: -170px; bottom: -260px; border-color: #b9eaff55; }
.cases-banner::after { content: ''; position: absolute; inset: 0; opacity: .17; pointer-events: none; background: linear-gradient(35deg, transparent 40%, #d7f4ff 40.12%, transparent 40.3%), linear-gradient(142deg, transparent 34%, #d7f4ff 34.12%, transparent 34.3%); }
.cases-banner .catalog-banner-inner { z-index: 1; }
.cases-banner-art { width: min(100%, 470px); height: 250px; position: relative; justify-self: end; }
.case-banner-diamond { position: absolute; width: 94px; height: 94px; transform: rotate(45deg); overflow: hidden; border: 3px solid #e8f7ff; border-radius: 10px; background: #fff; box-shadow: 0 6px 16px #08285855; }
.case-banner-diamond img { position: absolute; width: 165%; height: 165%; max-width: none; object-fit: contain; left: -32.5%; top: -32.5%; transform: rotate(-45deg); }
.case-banner-diamond:nth-child(1) { left: 7%; top: 14px; }
.case-banner-diamond:nth-child(2) { left: 39%; top: 14px; }
.case-banner-diamond:nth-child(3) { left: 71%; top: 14px; }
.case-banner-diamond:nth-child(4) { left: 23%; top: 119px; }
.case-banner-diamond:nth-child(5) { left: 55%; top: 119px; }
.cases-sidebar:not(.about-sidebar):not(.contact-sidebar) .catalog-category-list a[aria-current="page"] { color: #008dca; background: #eaf6fc; box-shadow: inset 3px 0 #009bd6; }
.case-sidebar-news { background: #fff; border-radius: 8px; overflow: hidden; }
.case-sidebar-news h2 { background: #232323; color: #fff; text-align: center; font-size: 15px; margin: 0; padding: 10px; }
.case-sidebar-news > div { padding: 7px 13px 12px; }
.case-sidebar-news a { display: block; padding: 6px 3px; border-bottom: 1px dotted #e4e4e4; font-size: 12px; color: #77828a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.case-sidebar-news a::before { content: '›'; margin-right: 7px; color: #119bd0; }
.case-sidebar-news a:hover { color: #008dca; }
.case-sidebar-news .catalog-category-list a { display: block; font-size: 12px; padding: 8px 3px; }
.catalog-panel .case-rows { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.case-row { display: grid; grid-template-columns: minmax(190px, 30%) minmax(0, 1fr); gap: 18px; padding: 15px 0; border-bottom: 1px dotted #ddd; min-height: 173px; }
.case-row:first-child { padding-top: 0; }
.case-row-image { display: block; width: 100%; height: 150px; object-fit: cover; background: #edf0f2; }
.case-row-content { display: flex; flex-direction: column; min-width: 0; }
.case-row h3 { margin: 0 0 5px; font-size: 17px; color: #0098d1; line-height: 1.45; }
.case-row h3 a:hover { text-decoration: underline; }
.case-row p { margin: 0; color: #78848b; font-size: 13px; line-height: 1.75; }
.case-detail-link { margin-top: auto; width: fit-content; color: #0098d1; font-size: 13px; font-weight: 600; }
.case-detail-link:hover { text-decoration: underline; }
.case-recommend h2, .case-related h2 { margin: 0 0 12px; background: #009bd6; color: #fff; font-size: 15px; padding: 9px 12px; }
.case-recommend-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
.case-recommend-card { display: block; min-width: 0; text-align: center; color: #687780; font-size: 12px; }
.case-recommend-card img { display: block; width: 100%; aspect-ratio: 1.25; object-fit: contain; border: 1px solid #e5e8eb; background: #fff; margin-bottom: 7px; }
.case-recommend-card:hover { color: #009bd6; }
.case-detail-heading { margin: 0 0 14px; font-size: clamp(22px, 2.2vw, 30px); color: #26313a; }
.case-detail-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 24px; margin-bottom: 26px; }
.case-detail-hero > img { width: 100%; aspect-ratio: 4/3; object-fit: cover; background: #eef2f5; }
.case-detail-intro { color: #667680; line-height: 1.9; }
.case-detail-intro p { margin: 0 0 16px; }
.case-detail-kicker { display: inline-block; color: #009bd6; font-size: 13px; font-weight: 700; padding-bottom: 10px; margin-bottom: 14px; border-bottom: 1px solid #e8edf0; width: 100%; }
.case-detail-section { margin: 0 0 28px; }
.case-detail-section h3 { margin: 0 0 14px; font-size: 18px; color: #009bd6; border-bottom: 2px solid #009bd6; padding-bottom: 10px; }
.case-detail-section p { color: #667680; font-size: 15px; line-height: 2; text-indent: 2em; margin: 0 0 14px; }
.case-detail-contact { background: #f1f4f6; padding: 16px 20px; color: #52626d; margin-bottom: 28px; }
.case-detail-contact strong { color: #009bd6; font-size: 22px; }
.case-detail-contact a { display: inline-block; margin-left: 16px; background: #009bd6; color: #fff; padding: 8px 16px; }
.case-related-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.case-related-grid a { color: #667680; font-size: 13px; }
.case-related-grid img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; margin-bottom: 7px; }
.case-related-grid a:hover { color: #009bd6; }
@media (max-width: 760px) {
  .cases-sidebar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cases-sidebar .catalog-category { grid-column: auto; }
  .cases-sidebar .case-sidebar-news { overflow: visible; }
  .cases-sidebar .catalog-hotline { grid-column: 1/-1; }
  .case-row { grid-template-columns: 210px minmax(0,1fr); }
  .case-detail-hero { grid-template-columns: 1fr; gap: 18px; }
  .case-detail-hero > img { max-height: 390px; }
}
@media (max-width: 540px) {
  .cases-banner-art { width: min(86%, 340px); height: 170px; justify-self: center; margin: 3px 0 18px; }
  .case-banner-diamond { width: 64px; height: 64px; border-width: 2px; border-radius: 7px; }
  .case-banner-diamond:nth-child(1), .case-banner-diamond:nth-child(2), .case-banner-diamond:nth-child(3) { top: 5px; }
  .case-banner-diamond:nth-child(4), .case-banner-diamond:nth-child(5) { top: 82px; }
  .cases-sidebar .catalog-hotline { grid-column: 1/-1; }
  .case-row { grid-template-columns: 1fr; gap: 10px; }
  .case-row-image { height: auto; aspect-ratio: 16/9; }
  .case-row p { margin-bottom: 8px; }
  .case-detail-link { margin-top: 0; }
  .case-recommend-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .case-related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .case-detail-contact a { margin: 12px 0 0; }
}

/* Shared by application cases and customer testimonials. */
.case-rows .case-row > a { min-width:0; }
.case-rows .case-row h3 a:hover, .case-rows .case-detail-link:hover { text-decoration:none;color:#0675a4; }
