/* Case pages: explicit layout, independent of the runtime Tailwind compiler. */
.case-container{width:min(100% - 40px,1248px);margin-inline:auto}
.case-section{padding-top:80px}
.case-section-heading{text-align:center;margin-bottom:36px}
.case-eyebrow{color:#b7421d;font-size:32px;letter-spacing:.08em;margin:0 0 8px}
.case-section-heading h2{font-size:26px;font-weight:400;letter-spacing:.12em}
.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.case-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #e5e7eb;border-radius:12px;background:#fff;transition:box-shadow .2s,transform .2s}
.case-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #1923310d}
.case-card-image{display:block;aspect-ratio:8/5;overflow:hidden;background:#f2f3f5}
.case-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.case-card:hover .case-card-image img{transform:scale(1.025)}
.case-card-body{display:flex;flex:1;flex-direction:column;padding:24px}
.case-card-title{font-size:18px;font-weight:600;line-height:1.65;color:#202a37;margin:0 0 12px;min-height:3.3em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.case-card-title a:hover{color:#b7421d}
.case-card-summary{font-size:14px;line-height:1.85;color:#67717e;margin:0 0 24px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.case-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;min-height:40px;padding-top:16px;border-top:1px solid #f0f1f3;font-size:13px;color:#6b7280}
.case-card-footer>a{color:#b7421d;font-weight:500;white-space:nowrap}
.case-product-icons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.case-product-icons img{width:32px;height:32px;object-fit:contain}
.case-section-action{text-align:center;margin-top:32px}
.case-button{display:inline-flex;justify-content:center;align-items:center;gap:20px;padding:12px 24px;min-height:48px;border:1px solid #b7421d;border-radius:6px;color:#b7421d;font-size:15px;font-weight:500}
.case-button:hover{background:#b7421d;color:#fff}
.case-button-primary{background:#b7421d;color:#fff}
.case-page{background:#f8f9fa;padding:28px 0 64px}
.case-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;color:#6b7280;margin-bottom:24px}
.case-breadcrumb a:hover{color:#b7421d}
.case-hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-bottom:40px}
.case-hero-media{background:#edf0f2;border-radius:12px;overflow:hidden;aspect-ratio:4/3}
.case-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.case-hero h1{font-size:clamp(25px,2.3vw,34px);font-weight:650;line-height:1.55;color:#202a37;margin:10px 0 18px;overflow-wrap:anywhere}
.case-hero-summary{font-size:16px;line-height:1.9;color:#67717e;margin:0 0 20px}
.case-meta{color:#6b7280;font-size:13px;margin-bottom:24px}
.case-label{font-size:12px;letter-spacing:.12em;color:#b7421d}
.case-layout{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:32px;align-items:start}
.case-article{padding:36px 40px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-width:0}
.case-article-heading{font-size:24px;line-height:1.5;margin:0 0 28px;color:#202a37;font-weight:600}
.case-prose{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:16px;font-weight:400;line-height:1.95;color:#47515e;text-align:left;overflow-wrap:anywhere}
.case-prose p{margin:0 0 1.25em}
.case-prose h2,.case-prose h3{color:#202a37;font-weight:600;line-height:1.55;margin:1.75em 0 .75em}
.case-prose h2{font-size:21px}.case-prose h3{font-size:18px}
.case-prose h2:first-child{margin-top:0}
.case-prose img{display:block;max-width:100%!important;max-height:720px;width:auto!important;height:auto!important;margin:24px auto;object-fit:contain;border-radius:8px}
.case-prose table{display:block;max-width:100%;overflow-x:auto}
.case-prose th,.case-prose td{padding:10px 14px;border:1px solid #e5e7eb;text-align:left;vertical-align:top}
.case-prose th{font-weight:600;background:#f7f8fa}
.case-prose strong{font-weight:600}
.case-prose a{color:#b7421d;text-decoration:underline;text-underline-offset:3px}
.case-prose ol{list-style:decimal;padding-left:1.5em;margin-bottom:1.5em}
.case-prose blockquote{border-left:3px solid #d6dce2;padding-left:20px;margin:24px 0;color:#67717e}
.case-prose pre{max-width:100%;overflow-x:auto;white-space:pre-wrap}
.case-contact{margin-top:32px;padding:24px;background:#f7f8fa;border:1px solid #e5e7eb;border-radius:8px}
.case-prose .case-contact h2{margin:0 0 12px;font-size:21px}
.case-prose .case-contact p{margin:0 0 20px}
.case-contact-list{margin:0;display:grid;gap:12px}
.case-contact-list>div{display:grid;grid-template-columns:3em minmax(0,1fr);gap:16px;align-items:baseline}
.case-contact-list dt{color:#67717e;font-weight:400}
.case-contact-list dd{margin:0;color:#202a37;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.case-prose .case-contact-list a{color:inherit;text-decoration:none}
.case-prose .case-contact-list a:hover{text-decoration:underline}
.case-prose ul{list-style:disc;padding-left:1.5em;margin-bottom:1.5em}
.case-prose li{margin:.5em 0}
.case-prose figure{margin:28px 0}.case-prose figure img{margin:0 auto 10px}
.case-prose figcaption{font-size:13px;text-align:center;color:#6b7280}
.case-facts{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0 0 32px;background:#f7f8fa;border:1px solid #edf0f2;border-radius:8px}
.case-facts div{padding:16px 20px}.case-facts dt{font-size:13px;color:#6b7280;margin-bottom:4px}.case-facts dd{font-size:16px;color:#202a37;margin:0}
.case-sidebar{display:grid;gap:20px}
.case-side-panel{padding:24px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-width:0}
.case-side-panel h2{font-size:18px;font-weight:600;margin-bottom:18px;color:#202a37}
.case-related-product{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid #f0f1f3;font-size:14px;line-height:1.7;color:#202a37}
.case-related-product img{width:72px;height:72px;object-fit:contain;flex:none}
.case-related-product small{display:block;color:#6b7280;font-size:12px}
.case-side-panel p{font-size:14px;line-height:1.85;color:#67717e;margin-bottom:18px}
.case-side-panel .case-button{width:100%}
.case-bottom-link{margin-top:32px}
a:focus-visible{outline:3px solid #b7421d;outline-offset:4px}
@media(max-width:1023px){.case-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.case-hero{gap:24px}.case-layout{grid-template-columns:minmax(0,1fr) 250px;gap:20px}.case-article{padding:28px}.case-side-panel{padding:20px}}
@media(max-width:767px){.case-hero{grid-template-columns:1fr;gap:24px}.case-layout{grid-template-columns:1fr}.case-hero-media{aspect-ratio:4/3;max-height:440px}.case-article{padding:24px}.case-sidebar{grid-template-columns:1fr 1fr}.case-prose{font-size:15px}.case-prose h2,.case-prose .case-contact h2{font-size:20px}.case-prose h3{font-size:17px}.case-contact{padding:20px 16px}.case-contact-list>div{gap:12px}.case-page{padding-top:20px}}
@media(max-width:639px){.case-container{width:calc(100% - 32px)}.case-grid{grid-template-columns:1fr;gap:24px}.case-card-body{padding:20px}.case-card-title{min-height:0}.case-section{padding-top:56px}.case-sidebar{grid-template-columns:1fr}.case-facts{grid-template-columns:1fr}.case-article{padding:22px 20px}.case-hero h1{font-size:25px}.case-section-heading{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.case-card,.case-card-image img{transition:none}.case-card:hover,.case-card:hover .case-card-image img{transform:none}}

/* Empty rich-text records use the full row for useful information. */
.case-layout-empty{display:block}
.case-layout-empty .case-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:24px}
@media(max-width:639px){.case-layout-empty .case-sidebar{grid-template-columns:1fr;gap:20px}}

/* Reserve equal media/title rows even when product source images have different ratios. */
.productList .product-card{min-width:0;overflow:hidden}
.productList .product-card-link{display:flex;flex-direction:column;height:100%;color:inherit}
.productList .product-card-media{position:relative;display:block;flex:none;aspect-ratio:1/1;width:100%;padding:24px;overflow:hidden;background:#fff}
.productList .product-card-image{display:block;width:100%;height:100%;object-fit:contain;transition:transform .3s}
.productList .product-card-link:hover .product-card-image{transform:scale(1.035)}
.productList .product-card-model{position:absolute;z-index:1;top:16px;left:16px;padding:8px 10px;background:#b7421d;color:#fff;font-size:14px;line-height:1.5}
.productList .product-card-info{display:flex;align-items:flex-start;justify-content:center;flex:1;min-height:96px;padding:20px 16px 24px;text-align:center}
.productList .product-card-title{margin:0;color:#202a37;font-size:20px;font-weight:700;line-height:1.6;overflow-wrap:anywhere}
@media(max-width:1023px){.productList .product-card-media{padding:18px}.productList .product-card-info{min-height:80px;padding:16px 12px 20px}.productList .product-card-title{font-size:17px}}
@media(max-width:639px){.productList .product-card-media{padding:12px}.productList .product-card-info{min-height:76px;padding:12px 10px 16px}.productList .product-card-title{font-size:14px;line-height:1.7}.productList .product-card-model{top:8px;left:8px;padding:4px 6px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.productList .product-card-image{transition:none}.productList .product-card-link:hover .product-card-image{transform:none}}
