/* Application reports: the outer grid follows the existing site; prose has its own reading measure. */
.case-detail{--case-blue:#005aaa;--case-ink:#10334d;--case-red:#ed1c24;--case-line:#dce5ec;--case-muted:#5b6f80;--case-paper:#f3f7fa;color:var(--case-ink);font-size:16px;line-height:1.6;background:#fff}
.case-detail,.case-detail *{box-sizing:border-box}
.case-detail .case-shell{width:96%;max-width:1720px;margin:0 auto}
.case-detail a{text-decoration:none}
.case-detail a:focus-visible{outline:3px solid var(--case-red);outline-offset:5px}
.case-detail .case-breadcrumb{border-bottom:1px solid var(--case-line);background:#f7f9fb}
.case-detail .case-breadcrumb .case-shell{display:flex;flex-wrap:wrap;align-items:center;gap:9px 13px;padding-top:17px;padding-bottom:17px;font-size:13px;color:#697b89}
.case-detail .case-breadcrumb a{color:#456178}
.case-detail .case-breadcrumb a:hover{color:var(--case-blue)}
.case-detail .case-breadcrumb [aria-current]{max-width:700px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.case-detail .case-hero{background:linear-gradient(105deg,#fff 56%,#f1f6fa 56%);border-bottom:1px solid var(--case-line)}
.case-detail .case-hero-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,1fr);gap:clamp(36px,5.2vw,100px);align-items:center;padding-top:66px;padding-bottom:66px}
.case-detail .case-hero-copy{min-width:0}
.case-detail .case-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 23px;font-size:12px;font-weight:700;letter-spacing:.12em;line-height:1.5}
.case-detail .case-eyebrow>span{height:2px;width:30px;flex:none;background:var(--case-red)}
.case-detail .case-hero h1{margin:0 0 25px;font-size:clamp(36px,3.2vw,62px);font-weight:650;line-height:1.13;letter-spacing:-.025em;color:var(--case-ink);overflow-wrap:anywhere}
.case-detail .case-hero-summary{max-width:760px;margin:0 0 29px;font-size:18px;line-height:1.75;color:#516779}
.case-detail .case-hero-summary:empty{display:none}
.case-detail .case-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:33px}
.case-detail .case-button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:49px;padding:12px 23px;border:1px solid transparent;border-radius:0;font-size:14px;line-height:1.5;font-weight:600;transition:background-color .16s,color .16s,border-color .16s}
.case-detail .case-button-primary{color:#fff;background:var(--case-blue);border-color:var(--case-blue)}
.case-detail .case-button-primary:hover{background:#06467c;border-color:#06467c}
.case-detail .case-button svg,.case-detail .case-document-download svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;flex:none}
.case-detail .case-button-outline{color:var(--case-blue);background:transparent;border-color:#a5bacb}
.case-detail .case-button-outline:hover{background:#eef5fb;border-color:var(--case-blue)}
.case-detail .case-industry{display:flex;gap:16px;flex-wrap:wrap;padding-top:21px;border-top:1px solid var(--case-line);font-size:14px;align-items:baseline}
.case-detail .case-industry>span{font-size:10px;letter-spacing:.12em;font-weight:700;color:#788b9b}
.case-detail .case-industry a{color:var(--case-blue)}
.case-detail .case-hero-image{margin:0;min-width:0;background:#e3edf5;align-self:center;border:1px solid #d1dee8}
.case-detail .case-hero-image>img{display:block;width:100%;height:clamp(300px,25vw,460px);object-fit:cover}
.case-detail .case-hero-image figcaption{padding:16px 19px;background:var(--case-blue);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:9px;letter-spacing:.13em;font-weight:600}
.case-detail .case-hero-image figcaption>span:first-child{font-size:17px;font-weight:800;letter-spacing:.11em}
.case-detail .case-reading-layout{display:grid;grid-template-columns:minmax(0,880px) minmax(260px,320px);justify-content:center;gap:clamp(48px,6vw,112px);padding-top:80px;padding-bottom:88px}
.case-detail .case-article{min-width:0}
.case-detail .case-prose{font-size:17px;line-height:1.85;color:#344e62;overflow-wrap:break-word}
.case-detail .case-prose :where(p,div,span,font,li,td,th){font-family:inherit!important;font-size:inherit!important;color:inherit!important;line-height:inherit!important;letter-spacing:normal!important;background-color:transparent!important;max-width:100%!important}
.case-detail .case-prose :where(p,div){height:auto!important;min-height:0!important;margin-top:0!important;margin-bottom:22px!important;padding:0!important;border:0!important;text-align:left!important;white-space:normal!important}
.case-detail .case-prose span{display:inline}
.case-detail .case-prose :where(h1,h2,h3,h4,h5,h6){color:var(--case-ink)!important;font-family:inherit!important;line-height:1.35!important;letter-spacing:-.01em!important;margin:42px 0 19px!important;font-weight:650!important;text-align:left!important;scroll-margin-top:150px}
.case-detail .case-prose :where(h1,h2){font-size:29px!important}
.case-detail .case-prose :where(h3,h4,h5,h6){font-size:24px!important}
.case-detail .case-prose> :first-child{margin-top:0!important}
.case-detail .case-prose>p:first-child{font-size:22px!important;line-height:1.55!important;color:var(--case-ink)!important;margin-bottom:25px!important}
.case-detail .case-prose strong,.case-detail .case-prose b{font-weight:650!important;color:var(--case-ink)!important}
.case-detail .case-prose .case-section-label{display:block;font-size:26px!important;line-height:1.35!important;margin:38px 0 17px!important;color:var(--case-ink)!important;font-weight:650!important;scroll-margin-top:150px}
.case-detail .case-prose .case-section-label br{display:none}
.case-detail .case-prose a{color:var(--case-blue)!important;text-decoration:underline;text-underline-offset:3px}
.case-detail .case-prose a:hover{color:#e21828!important}
.case-detail .case-prose :where(ul,ol){padding-left:26px!important;margin:18px 0 26px!important;list-style-position:outside}
.case-detail .case-prose ul{list-style-type:disc}
.case-detail .case-prose ol{list-style-type:decimal}
.case-detail .case-prose li{margin:0 0 10px!important;display:list-item!important}
.case-detail .case-prose img{display:block;max-width:100%!important;height:auto!important;margin:26px auto!important;object-fit:contain}
.case-detail .case-prose iframe,.case-detail .case-prose video{max-width:100%}
.case-detail .case-prose .case-table-scroll{max-width:100%;overflow:auto;margin:26px 0!important;border:1px solid var(--case-line)!important}
.case-detail .case-prose table{border-collapse:collapse!important;width:100%!important;min-width:480px;margin:0!important;font-size:15px!important;border:1px solid var(--case-line)}
.case-detail .case-prose :where(td,th){padding:13px 16px!important;border:1px solid var(--case-line)!important;vertical-align:top!important}
.case-detail .case-prose th{font-weight:650!important;background-color:#edf4f9!important}
.case-detail .case-prose [hidden]{display:none!important}
.case-detail .case-sidebar{min-width:0;align-self:start;height:100%}
.case-detail .case-sidebar-inner{position:sticky;top:147px}
.case-detail .case-contents{border-top:3px solid var(--case-blue);padding:23px 0 27px}
.case-detail .case-contents[hidden]{display:none}
.case-detail .case-contents h2{margin:0 0 14px;font-size:18px;font-weight:650;color:var(--case-ink)}
.case-detail .case-contents ol{list-style:none;padding:0;margin:0;counter-reset:case-toc}
.case-detail .case-contents li{border-top:1px solid var(--case-line);counter-increment:case-toc}
.case-detail .case-contents a{display:flex;gap:13px;padding:13px 0;color:#536a7c;font-size:13px;line-height:1.55}
.case-detail .case-contents a:before{content:counter(case-toc,decimal-leading-zero);font-size:11px;color:#9aabb8;flex:none;padding-top:1px}
.case-detail .case-contents a:hover{color:var(--case-blue)}
.case-detail .case-document{background:#f1f6fa;padding:25px;border:1px solid var(--case-line)}
.case-detail .case-small-label{margin:0 0 13px;font-size:11px;line-height:1.5;letter-spacing:.12em;font-weight:700;color:#648095}
.case-detail .case-document-preview{width:158px;min-height:207px;margin:22px auto 26px;background:#fff;border:1px solid #d6e1e9;box-shadow:5px 7px 0 #dbe7f0;padding:15px 13px;display:flex;flex-direction:column;gap:12px;transform:rotate(-2deg)}
.case-detail .case-document-brand{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--case-blue)}
.case-detail .case-document-brand>span{display:block;font-size:5px;letter-spacing:.1em;margin-top:3px;color:#8295a6}
.case-detail .case-document-preview img{width:100%;height:72px;object-fit:cover}
.case-detail .case-document-name{font-size:9px;line-height:1.4;font-weight:650;color:var(--case-ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.case-detail .case-document-rules{height:18px;max-width:95px;background:repeating-linear-gradient(to bottom,#dce6ec 0,#dce6ec 1px,transparent 1px,transparent 6px)}
.case-detail .case-document h2{font-size:19px;line-height:1.4;margin:0 0 11px;color:var(--case-ink);font-weight:650}
.case-detail .case-document p:not(.case-small-label){font-size:13px;line-height:1.7;color:#597186;margin:0 0 21px}
.case-detail .case-document-download{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:44px;border-top:1px solid #c7d6e2;padding-top:17px;color:var(--case-blue);font-size:14px;font-weight:650}
.case-detail .case-section{padding-top:70px;padding-bottom:76px}
.case-detail .case-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:32px}
.case-detail .case-section-heading h2{font-size:clamp(28px,2.2vw,40px);line-height:1.2;font-weight:650;letter-spacing:-.02em;margin:0;color:var(--case-ink)}
.case-detail .case-section-heading .case-small-label{margin-bottom:12px}
.case-detail .case-text-link{color:var(--case-blue);display:inline-flex;gap:24px;align-items:center;font-size:14px;line-height:1.5;flex:none;padding-bottom:4px;border-bottom:1px solid #afc4d5}
.case-detail .case-text-link:hover{border-color:var(--case-blue)}
.case-detail .case-products{background:var(--case-paper);border-top:1px solid var(--case-line)}
.case-detail .case-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.case-detail .case-product-card{display:flex;flex-direction:column;border:1px solid #d5e1ea;background:#fff;min-width:0;color:var(--case-ink);transition:border-color .16s,box-shadow .16s}
.case-detail .case-product-card:hover{border-color:#7aa4c6;box-shadow:0 6px 20px #1236510b}
.case-detail .case-product-image{height:260px;border-bottom:1px solid #e6edf3;background:#fff;padding:18px}
.case-detail .case-product-image img{display:block;width:100%;height:100%;object-fit:contain}
.case-detail .case-product-copy{padding:25px;display:flex;flex-direction:column;flex:1}
.case-detail .case-product-copy h3{font-size:20px;line-height:1.4;font-weight:650;color:var(--case-ink);margin:0 0 12px}
.case-detail .case-product-copy p{font-size:14px;line-height:1.7;margin:0 0 25px;color:#62798b;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.case-detail .case-card-link{display:flex;justify-content:space-between;gap:20px;font-size:13px;font-weight:650;color:var(--case-blue);margin-top:auto;padding-top:19px;border-top:1px solid var(--case-line)}
.case-detail .case-contact{background:#0d2e46;color:#fff;background-image:linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-size:80px 80px}
.case-detail .case-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.case-detail .case-contact .case-eyebrow{color:#a5c9e4;margin-bottom:20px}
.case-detail .case-contact h2{font-size:clamp(30px,2.5vw,48px);line-height:1.2;font-weight:650;letter-spacing:-.025em;color:#fff;margin:0}
.case-detail .case-contact-grid>div:last-child{max-width:580px;justify-self:end}
.case-detail .case-contact-grid p:not(.case-eyebrow){font-size:17px;line-height:1.8;margin:0 0 25px;color:#d7e6f1}
.case-detail .case-button-white{color:var(--case-blue);background:#fff;min-width:245px}
.case-detail .case-button-white:hover{background:#dcebf7}
.case-detail .case-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.case-detail .case-related-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--case-line);color:var(--case-ink);transition:border-color .16s}
.case-detail .case-related-card:hover{border-color:#739bb9}
.case-detail .case-related-image{height:245px;overflow:hidden;background:#e9f0f5}
.case-detail .case-related-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.case-detail .case-related-card:hover .case-related-image img{transform:scale(1.025)}
.case-detail .case-related-copy{padding:25px;display:flex;flex-direction:column;flex:1}
.case-detail .case-related-copy h3{font-size:21px;line-height:1.4;font-weight:650;margin:0 0 14px;color:var(--case-ink);overflow-wrap:anywhere}
.case-detail .case-related-copy p{font-size:14px;line-height:1.75;color:#63798b;margin:0 0 25px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.case-detail .case-not-found{padding-top:100px;padding-bottom:120px}
.case-detail .case-not-found h1{font-size:36px;line-height:1.3;margin:0 0 22px}
.case-detail .case-not-found p{margin-bottom:25px}
@media(min-width:1600px){.case-detail .case-shell{max-width:1840px}.case-detail .case-reading-layout{grid-template-columns:minmax(0,880px) 320px;gap:112px}}
@media(max-width:1200px){.case-detail .case-hero-grid{gap:40px;padding-top:50px;padding-bottom:50px}.case-detail .case-hero-summary{font-size:16px}.case-detail .case-button{padding:11px 17px;gap:16px;font-size:13px}.case-detail .case-hero-image>img{height:340px}.case-detail .case-reading-layout{grid-template-columns:minmax(0,1fr) 270px;gap:44px}.case-detail .case-document{padding:20px}.case-detail .case-product-grid,.case-detail .case-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-detail .case-contact-grid{gap:50px}.case-detail .case-prose{font-size:16px}}
@media(max-width:900px){.case-detail .case-hero{background:linear-gradient(180deg,#fff 65%,#f2f6fa 65%)}.case-detail .case-hero-grid{grid-template-columns:1fr;gap:32px}.case-detail .case-hero-copy{max-width:780px}.case-detail .case-hero h1{font-size:40px}.case-detail .case-hero-summary{max-width:760px}.case-detail .case-hero-image>img{height:auto;max-height:470px;object-fit:contain;background:#e9f0f5}.case-detail .case-reading-layout{grid-template-columns:minmax(0,1fr);padding-top:50px;padding-bottom:55px;gap:42px}.case-detail .case-sidebar-inner{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px}.case-detail .case-document-preview{display:none}.case-detail .case-contents{padding-top:18px}.case-detail .case-document{align-self:start}.case-detail .case-section{padding-top:50px;padding-bottom:55px}.case-detail .case-section-heading{gap:20px}.case-detail .case-contact-grid{gap:35px}.case-detail .case-contact-grid p:not(.case-eyebrow){font-size:16px}.case-detail .case-product-image{height:235px}.case-detail .case-related-image{height:210px}}
@media(max-width:600px){.case-detail .case-shell{width:auto;margin-left:20px;margin-right:20px}.case-detail .case-breadcrumb .case-shell{font-size:11px;gap:7px 9px;padding-top:13px;padding-bottom:13px}.case-detail .case-breadcrumb [aria-current]{max-width:100%;white-space:normal;line-height:1.6}.case-detail .case-hero-grid{padding-top:32px;padding-bottom:30px;gap:27px}.case-detail .case-eyebrow{font-size:10px;letter-spacing:.1em;margin-bottom:17px}.case-detail .case-hero h1{font-size:33px;line-height:1.17;margin-bottom:21px;letter-spacing:-.025em}.case-detail .case-hero-summary{font-size:15px;line-height:1.75;margin-bottom:24px}.case-detail .case-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:25px}.case-detail .case-button{font-size:14px;padding:12px 18px;min-height:47px;justify-content:space-between}.case-detail .case-industry{gap:8px 12px;font-size:13px;padding-top:17px}.case-detail .case-hero-image figcaption{padding:13px;font-size:7px;letter-spacing:.08em}.case-detail .case-hero-image figcaption>span:first-child{font-size:14px}.case-detail .case-reading-layout{padding-top:37px;padding-bottom:42px}.case-detail .case-prose{font-size:15px;line-height:1.8}.case-detail .case-prose>p:first-child{font-size:19px!important}.case-detail .case-prose :where(h1,h2){font-size:25px!important}.case-detail .case-prose :where(h3,h4,h5,h6),.case-detail .case-prose .case-section-label{font-size:22px!important}.case-detail .case-prose :where(h1,h2,h3,h4,h5,h6),.case-detail .case-prose .case-section-label{scroll-margin-top:90px}.case-detail .case-sidebar-inner{display:block}.case-detail .case-contents{margin-bottom:17px}.case-detail .case-document{padding:22px}.case-detail .case-section{padding-top:39px;padding-bottom:43px}.case-detail .case-section-heading{display:block;margin-bottom:24px}.case-detail .case-section-heading h2{font-size:28px}.case-detail .case-section-heading .case-text-link{margin-top:19px;font-size:13px}.case-detail .case-product-grid,.case-detail .case-related-grid{grid-template-columns:1fr;gap:20px}.case-detail .case-product-image{height:245px}.case-detail .case-product-copy,.case-detail .case-related-copy{padding:22px}.case-detail .case-product-copy h3{font-size:19px}.case-detail .case-related-image{height:215px}.case-detail .case-related-copy h3{font-size:20px}.case-detail .case-contact-grid{grid-template-columns:1fr;gap:24px}.case-detail .case-contact h2{font-size:31px}.case-detail .case-contact-grid>div:last-child{justify-self:start}.case-detail .case-contact-grid p:not(.case-eyebrow){font-size:15px}.case-detail .case-contact .case-button{width:100%}}
@media(prefers-reduced-motion:reduce){.case-detail *{scroll-behavior:auto!important;transition:none!important}}
@media print{.case-detail .case-breadcrumb,.case-detail .case-actions,.case-detail .case-sidebar,.case-detail .case-products,.case-detail .case-contact,.case-detail .case-related{display:none!important}.case-detail .case-shell{width:100%;max-width:none;margin:0}.case-detail .case-hero-grid{display:block;padding:0 0 25px}.case-detail .case-hero-image{max-width:80%;margin:25px 0}.case-detail .case-reading-layout{display:block;padding:25px 0}.case-detail .case-prose{font-size:11pt;line-height:1.6}.case-detail .case-hero h1{font-size:25pt}}
