/* One editorial layout for the library, every case and its download form. */
body:has(.site-header25) main.cases-page {
  --cases-ink:#234b77;--cases-muted:#445364;--cases-line:#cbd6dc;
  --cases-accent:#a44712;--cases-link:#234b77;--cases-soft:#eaf3f9;
  margin:0!important;padding:0;background:#fff;color:var(--cases-ink);width:100%!important;max-width:none!important;
  font-size:16px;line-height:1.7;letter-spacing:0;
}
body:has(.site-header25) main.cases-page *{letter-spacing:0}
.cases-page [hidden]{display:none!important}
.cases-shell{width:min(1200px,calc(100% - 48px));margin-inline:auto}
body:has(.site-header25) main.cases-page :is(h1,h2,h3,p,figure,blockquote){margin:0}
body:has(.site-header25) main.cases-page h1{font-size:48px!important;line-height:1.15!important;font-weight:700}
body:has(.site-header25) main.cases-page h2{font-size:28px!important;line-height:1.3!important;font-weight:650}
body:has(.site-header25) main.cases-page h3{font-size:22px;line-height:1.35;font-weight:650}
.cases-page :is(a,button){-webkit-tap-highlight-color:transparent}
.cases-page a{color:var(--cases-link);text-underline-offset:4px}
.cases-page svg{width:20px;height:20px;flex:0 0 20px}
.cases-kicker{display:block;color:var(--cases-accent);font-size:12px;font-weight:700;line-height:1.5;text-transform:uppercase}
.cases-intro{padding-block:48px 32px}
.cases-intro h1{margin-top:10px!important}
.cases-intro>p{max-width:760px;margin-top:18px!important;color:var(--cases-muted);font-size:18px}
.cases-filter-form{display:grid;grid-template-columns:minmax(180px,1.35fr) repeat(2,minmax(180px,1fr)) auto;gap:16px;align-items:end;padding:24px 0;border-block:1px solid var(--cases-line)}
.cases-filter-form label,.cases-form label{display:grid;gap:8px;font-size:13px;font-weight:650;color:var(--cases-ink);min-width:0}
.cases-page :is(input,select){width:100%;min-width:0;min-height:48px;border:1px solid #8497a1;padding:11px 12px;background:#fff;color:var(--cases-ink);font-size:15px}
.cases-page input::placeholder{color:#546772;opacity:1}
.cases-page select{padding-right:26px}
.cases-page .cases-button,.cases-page button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--cases-ink);background:var(--cases-ink);color:#fff;text-decoration:none;font-weight:600;font-size:14px;min-height:48px;padding:12px 18px;line-height:1.5;cursor:pointer;max-width:100%;white-space:normal;text-align:center}
.cases-button:hover,.cases-page button:hover{background:#275366;border-color:#275366;color:#fff}
.cases-filter-form button{width:48px;padding:12px}
.cases-filter-status{display:flex;gap:20px;justify-content:space-between;align-items:center;min-height:68px;font-size:14px;color:var(--cases-muted)}
.cases-filter-status a{font-weight:600}
.cases-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.cases-card{min-width:0;border:1px solid var(--cases-line);background:#fff;transition:border-color .15s}
body:has(.site-header25) main.cases-page article.cases-card{border:1px solid var(--cases-line)!important;overflow:hidden}
body:has(.site-header25) main.cases-page article.cases-card:is(:hover,:focus-within){border-color:var(--cases-link)!important}
.cases-card:hover{border-color:var(--cases-link)}
.cases-card-link{display:flex;flex-direction:column;height:100%;color:var(--cases-ink)!important;text-decoration:none}
.cases-card-link:focus-visible{outline-offset:4px}
.cases-card-brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:16px;min-height:160px;padding:22px 24px;border-bottom:1px solid var(--cases-line);background:#fff}
.cases-card-brand img{width:250px;height:80px;max-width:100%;object-fit:contain;object-position:left center;background:transparent;filter:none;opacity:1}
.cases-card-brand>span{font-size:12px;line-height:1.5;color:var(--cases-muted);min-width:0;overflow-wrap:anywhere}
.cases-card-copy{display:flex;flex-direction:column;flex:1;padding:24px;min-width:0;background:#f0f6fb}
.cases-card h3{margin:10px 0 8px!important}
body:has(.site-header25) main.cases-page .cases-card-title{font-size:17px;font-weight:600;line-height:1.5}
.cases-card-summary{font-size:15px;color:var(--cases-muted);margin-top:14px!important}
.cases-link-label{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding-top:26px;color:var(--cases-link);font-size:14px;font-weight:650}
.cases-link-label>span{display:flex}
.cases-library{padding-bottom:64px}
.cases-empty{padding:48px 0;text-align:center;border-bottom:1px solid var(--cases-line)}
.cases-empty p{margin-top:12px!important;color:var(--cases-muted)}
.cases-breadcrumb{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-top:28px;font-size:13px;color:var(--cases-muted)}
.cases-header-band{background:#eaf3f9;border-bottom:1px solid var(--cases-line)}
.cases-header-band .cases-case-nav{border-bottom:0}
.cases-breadcrumb svg{width:14px;height:14px;flex-basis:14px}
.cases-case-header{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;padding-block:32px 40px}
.cases-case-header h1{margin:10px 0 16px!important}
.cases-case-header .cases-subtitle{font-size:25px;font-weight:600;line-height:1.4;max-width:880px}
.cases-case-header .cases-lead{color:var(--cases-muted);margin-top:18px!important;max-width:800px;font-size:17px}
.cases-case-logo{display:flex;align-items:flex-start;justify-content:flex-end;padding-top:22px}
.cases-case-logo img{display:block;max-width:100%;width:320px;height:140px;object-fit:contain;background:transparent;filter:none;opacity:1}
.cases-case-nav{display:flex;gap:26px;flex-wrap:wrap;padding:18px 0;border-block:1px solid var(--cases-line);font-size:14px}
.cases-case-nav a{text-decoration:none;font-weight:600}
.cases-case-nav a:hover{text-decoration:underline}
.cases-article-grid{display:grid;grid-template-columns:minmax(0,760px) minmax(240px,1fr);gap:64px;padding-block:12px 56px;align-items:start}
.cases-story-section{padding:32px 0;border-bottom:1px solid var(--cases-line);scroll-margin-top:136px}
.cases-story-section>p{margin-top:16px!important;color:var(--cases-muted)}
.cases-role{margin-top:28px;padding:0 0 0 22px;border-left:3px solid #ef742e}
.cases-role .cases-kicker{margin-bottom:8px}
.cases-role p{color:var(--cases-ink);font-size:16px}
.cases-outcome h2{color:var(--cases-ink)}
.cases-sidebar{padding-top:32px;min-width:0}
body:has(.site-header25) main.cases-page .cases-sidebar h2{font-size:20px!important}
.cases-facts{margin:22px 0 0}
.cases-facts>div{padding:15px 0;border-bottom:1px solid var(--cases-line)}
.cases-facts dt{font-size:12px;font-weight:700;color:var(--cases-muted);margin-bottom:6px}
.cases-facts dd{margin:0;font-size:15px;overflow-wrap:break-word}
.cases-facts a{text-decoration:none}
.cases-facts a:hover{text-decoration:underline}
.cases-aside-links{display:grid;gap:14px;margin-top:24px;font-size:14px}
.cases-aside-links a{display:flex;gap:10px;align-items:center}
.cases-illustration{margin-top:28px!important;padding:20px;background:var(--cases-soft);border:1px solid var(--cases-line)}
.cases-illustration img{display:block;width:100%;height:210px;object-fit:contain}
.cases-illustration figcaption{font-size:12px;color:var(--cases-muted);margin-top:14px;line-height:1.55}
.cases-quote{padding:32px 0;border-bottom:1px solid var(--cases-line)}
.cases-page .cases-quote blockquote{font-size:21px;line-height:1.6;color:var(--cases-ink);background:transparent;border:0;padding:0;box-shadow:none}
.cases-quote figcaption{font-size:14px;color:var(--cases-muted);margin-top:18px}
.cases-quote figcaption strong{display:block;color:var(--cases-ink)}
.cases-download{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:32px 0}
.cases-download p{margin-top:8px!important;font-size:15px;color:var(--cases-muted)}
.cases-download .cases-button{flex-shrink:0}
.cases-connection-band{background:#eaf3f9;border-block:1px solid var(--cases-line);padding:40px 0 0}
.cases-connection-band>.cases-shell{padding-bottom:14px}
.cases-application-band{background:#fff;border-top:1px solid var(--cases-line);padding:26px 0}
.cases-application-band .cases-applications{padding:0;border:0}
.cases-technologies .cases-technology-products{flex-direction:column;align-items:flex-start;justify-content:center;gap:10px}
.cases-technology-products small{font-size:12px;line-height:1.5;color:var(--cases-muted)}
.cases-heading{margin-bottom:28px}
.cases-heading h2{margin-top:8px!important}
.cases-heading p{max-width:780px;margin-top:12px!important;color:var(--cases-muted)}
.cases-connections{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.cases-connections-single{grid-template-columns:1fr}
.cases-connections>div,.cases-applications{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px;padding:26px 0;border-top:1px solid var(--cases-line);align-items:start}
body:has(.site-header25) main.cases-page :is(.cases-connections,.cases-applications) h3{font-size:17px;line-height:1.5;font-weight:650}
.cases-connection-list{display:grid;gap:0}
.cases-connection-link{display:flex;gap:24px;align-items:flex-start;justify-content:space-between;padding:20px 0;border-top:1px solid var(--cases-line);text-decoration:none;color:var(--cases-ink)!important;min-width:0}
.cases-connection-link:first-child{padding-top:0;border-top:0}
.cases-connection-link:last-child{padding-bottom:0}
.cases-connection-link>span{min-width:0;max-width:720px}
.cases-connection-link>svg{margin-top:4px}
.cases-connection-link strong{display:block;font-size:16px}
.cases-connection-link small{display:block;color:var(--cases-muted);line-height:1.6;margin-top:6px;font-size:14px}
.cases-connection-link:hover strong{text-decoration:underline;text-underline-offset:4px;color:var(--cases-link)}
.cases-applications{margin-top:0;padding-bottom:0}
.cases-technologies{display:flex;flex-wrap:wrap;gap:24px 40px;align-items:center;margin-top:0}
.cases-technology{display:flex;align-items:center;justify-content:flex-start;width:160px;min-height:64px;color:var(--cases-ink)!important;text-decoration:none;font-size:13px;position:relative}
.cases-technology img{display:block;width:auto;max-width:160px;height:auto;max-height:58px;object-fit:contain;background:transparent;padding:0;filter:none!important;opacity:1!important}
.cases-technology img+span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cases-technology:focus-visible{outline:2px solid var(--cases-ink);outline-offset:6px}
.cases-technology:hover span{text-decoration:underline}
.cases-related{padding-block:52px;scroll-margin-top:120px}
.cases-related .cases-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cases-contact{background:#e3eff8;border-top:1px solid var(--cases-line);padding:44px 0}
.cases-contact-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.cases-contact h2{margin-top:8px!important}
.cases-contact p{color:var(--cases-muted);max-width:720px;margin-top:12px!important}
.cases-contact .cases-button{flex-shrink:0}
.cases-download-layout{display:grid;grid-template-columns:1fr 1fr;gap:72px;padding-block:40px 64px}
body:has(.site-header25) main.cases-page .cases-download-copy h1{font-size:36px!important;margin-block:14px!important}
.cases-download-copy p{color:var(--cases-muted);margin-top:16px!important}
.cases-download-copy img{display:block;width:280px;max-width:100%;height:120px;object-fit:contain;object-position:left center;background:transparent;margin-bottom:24px}
.cases-form{border:1px solid var(--cases-line);padding:28px;background:var(--cases-soft)}
.cases-form>p{margin-block:14px 24px!important;color:var(--cases-muted);font-size:15px}
.cases-form form{display:grid;gap:18px}
.cases-form-error{border-left:3px solid #a62b24;padding:12px 16px;background:#fff;color:#8b211d!important}
.cases-form .cases-privacy{font-size:12px;margin-top:0!important}
.cases-page .cases-form .privacy-consent{border:0!important;background:transparent!important;padding:0!important;border-radius:0!important;font-weight:400}
@media(max-width:1000px){
  .cases-case-header{grid-template-columns:minmax(0,1fr) 240px;gap:28px}
  .cases-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cases-filter-form{grid-template-columns:1fr 1fr auto}.cases-search-field{grid-column:1/-1}
  .cases-article-grid{gap:32px;grid-template-columns:minmax(0,1fr) 260px}
  .cases-download{align-items:flex-start;flex-direction:column}
  .cases-download-layout{gap:36px}
}
@media(max-width:760px){
  .cases-shell{width:calc(100% - 40px)}
  body:has(.site-header25) main.cases-page h1{font-size:36px!important}
  body:has(.site-header25) main.cases-page h2{font-size:25px!important}
  .cases-case-header{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:24px}
  .cases-case-logo{grid-row:1;padding:0;justify-content:flex-start}.cases-case-logo img{width:280px;height:110px;object-position:left center}
  .cases-case-header .cases-subtitle{font-size:22px}
  .cases-article-grid{grid-template-columns:minmax(0,1fr);gap:0}
  .cases-sidebar{border-top:1px solid var(--cases-line)}
  .cases-illustration img{height:260px}
  .cases-download-layout{grid-template-columns:minmax(0,1fr);gap:36px}
  .cases-connections>div,.cases-applications{grid-template-columns:minmax(0,1fr);gap:18px;padding-top:24px}
  .cases-technologies{gap:20px 24px}
  .cases-technology{width:140px}
  .cases-technology img{max-width:140px}
  .cases-contact-inner{align-items:flex-start;flex-direction:column;gap:24px}
  .cases-case-nav{gap:14px 24px}
  .cases-related .cases-grid{grid-template-columns:1fr}
}
@media(max-width:540px){
  .cases-grid{grid-template-columns:1fr}
  .cases-filter-form{grid-template-columns:minmax(0,1fr) auto;gap:16px 12px}
  .cases-filter-form label{grid-column:1/-1}.cases-filter-form label:last-of-type{grid-column:1}
  .cases-intro{padding-top:32px}.cases-intro>p{font-size:16px}
  .cases-card-copy{padding:22px}.cases-card-brand{padding:18px 22px}
  .cases-form{padding:22px}.cases-quote blockquote{font-size:19px}
  .cases-download .cases-button{width:100%}
}
@media(prefers-reduced-motion:reduce){.cases-card{transition:none}}

/* Shared customer-story banner: readable copy and one generous image. */
.cases-case-header.cases-story-hero{grid-template-columns:minmax(0,1fr);gap:36px;align-items:center;padding-block:32px 38px}
.cases-case-header.cases-story-hero-with-image{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.cases-story-hero-copy{min-width:0;max-width:640px}
.cases-story-hero-brand{display:flex;align-items:center;margin:0 0 28px;height:56px}
.cases-story-hero-brand img{display:block;width:auto;max-width:180px;height:auto;max-height:56px;object-fit:contain;object-position:left center}
.cases-story-hero .cases-subtitle{font-size:clamp(22px,2.1vw,29px);line-height:1.35;max-width:28ch}
.cases-story-hero .cases-lead{font-size:16px;line-height:1.7;max-width:60ch}
.cases-story-hero-visual{display:flex;align-items:center;justify-content:center;align-self:stretch;min-width:0;min-height:360px;margin:0;padding:24px;border:1px solid #d4e3eb;border-radius:18px;background:linear-gradient(145deg,#fff,#dcecf3);overflow:hidden}
.cases-story-hero-visual img{display:block;width:100%;height:auto;max-height:460px;object-fit:contain;border-radius:8px}
@media(max-width:1000px){.cases-case-header.cases-story-hero{gap:28px}.cases-story-hero-visual{padding:18px;min-height:300px}}
@media(max-width:760px){.cases-case-header.cases-story-hero-with-image{grid-template-columns:minmax(0,1fr)}.cases-story-hero-brand{margin-bottom:22px;height:44px}.cases-story-hero-brand img{max-height:44px;max-width:156px}.cases-story-hero-visual{min-height:0;padding:18px}.cases-story-hero-visual img{max-height:340px}.cases-story-hero .cases-subtitle{max-width:32ch}}

/* Download form: keep labels clear of control borders and native widget padding. */
body:has(.site-header25) main.cases-page .cases-form form>label:not(.privacy-consent){display:grid;gap:8px;height:auto;min-height:0;padding:0;border:0;background:transparent;box-shadow:none;line-height:1.5}
body:has(.site-header25) main.cases-page .cases-form :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select){display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:auto;min-height:48px;padding:11px 12px;font-size:15px;font-weight:400;line-height:1.5;color:var(--cases-ink);background-color:#fff;border:1px solid #8497a1;box-shadow:none}
body:has(.site-header25) main.cases-page .cases-form select{appearance:auto;-webkit-appearance:menulist;padding-right:32px}
body:has(.site-header25) main.cases-page .cases-form label.privacy-consent{display:flex;align-items:flex-start;gap:10px;min-width:0;height:auto;min-height:0;padding:0!important;border:0!important;background:transparent!important;box-shadow:none;font-weight:400;line-height:1.6}
body:has(.site-header25) main.cases-page .cases-form .privacy-consent input[type="checkbox"]{appearance:auto;-webkit-appearance:checkbox;flex:0 0 18px;width:18px!important;height:18px!important;min-width:18px;min-height:18px!important;margin:2px 0 0;padding:0;box-shadow:none;accent-color:#234b77}
body:has(.site-header25) main.cases-page .cases-form :is(input,select,button):focus-visible{outline:2px solid #2967b6;outline-offset:3px}
