/* Case Studies hub only; detailed case records retain their shared stylesheet. */
body.case-index { --cs-muted: #4e617a; }
.case-index :is(p, small, .record-facts span, .product-note span) { text-wrap: pretty; }
.case-index :is(h1,h2,h3) { text-wrap: balance; }
.case-index :is(section,article[id]) { scroll-margin-top: 100px; }
.case-index :focus-visible { outline: 3px solid #0b7a75; outline-offset: 5px; }
.case-index .case-brand { display: inline-flex; align-items: center; flex: 0 0 auto; gap: 10px; min-height: 48px; color: #0b1830; text-decoration: none; }
.case-index .case-brand img { display: block; width: 48px; height: 48px; flex: 0 0 48px; object-fit: contain; }
.case-index .case-brand strong { display: block; font: 700 21px/1.12 'Space Grotesk',sans-serif; letter-spacing: -.5px; white-space: nowrap; }
.case-index .case-brand small { display: block; margin-top: 5px; font: 700 9px/1.3 'Plus Jakarta Sans',sans-serif; letter-spacing: 1.8px; text-transform: uppercase; }
.case-index .menu-toggle { width: 66px; font: 700 13px 'Plus Jakarta Sans',sans-serif; }
.case-index .mobile-menu { max-height: calc(100dvh - 110px); overflow-y: auto; }
.case-index .nojs-menu { display: none; }
.case-index .hero-grid { grid-template-columns: minmax(0,1.25fr) minmax(340px,.85fr); gap: 64px; min-height: 500px; padding-block: 64px; }
.case-index .case-hero h1 { font-size: clamp(2.8rem,4.7vw,4.3rem); line-height: 1.08; max-width: 660px; }
.case-index .lede { font-size: 1.12rem; max-width: 610px; line-height: 1.75; }
.case-index .hero-actions { gap: 12px; }
.case-index .button { font-size: .91rem; }
.case-index .case-finder { border: 1px solid #b8cde8; border-left: 4px solid #2563eb; border-radius: 18px; background: #fff; box-shadow: 0 18px 40px #0b18300d; overflow: hidden; }
.case-index .finder-head { padding: 24px 24px 20px; }
.case-index .finder-head h2 { margin: 10px 0 0; font-size: 1.65rem; text-wrap: pretty; }
.case-index .finder-links a { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 19px 24px; border-top: 1px solid #d9e4f1; color: #0b1830; text-decoration: none; }
.case-index .finder-links a:hover { background: #f0f6ff; }
.case-index .finder-links a:focus-visible { outline-offset: -4px; }
.case-index .finder-links strong { display: block; font-size: .93rem; }
.case-index .finder-links small { display: block; margin-top: 4px; color: #4e617a; font-size: .78rem; }
.case-index .finder-links a>span:last-child { color: #1a50c4; font-size: 1.25rem; }
.case-index .proof-strip .container { grid-template-columns: repeat(3,minmax(0,1fr)); }
.case-index .proof-stat { border-bottom: 0; padding: 23px 20px; }
.case-index .proof-stat strong { font-size: .95rem; }
.case-index .proof-stat span { display: block; margin-top: 7px; font-size: .78rem; }
.case-index .section { padding-block: 72px; }
.case-index .section-head { grid-template-columns: 1.1fr .9fr; gap: 70px; }
.case-index .section-head h2 { font-size: clamp(2rem,3.4vw,3rem); max-width: 540px; }
.case-index .case-record { grid-template-columns: 210px minmax(0,1fr); }
.case-index .record-id { grid-row: span 2; padding: 28px 24px; }
.case-index .record-id strong { font-size: 1.23rem; text-wrap: balance; }
.case-index .record-id small { font-size: .78rem; }
.case-index .record-copy { padding: 28px 32px 20px; }
.case-index .record-copy h3 { font-size: 1.6rem; max-width: 720px; text-wrap: pretty; }
.case-index .record-copy p { max-width: 780px; margin-bottom: 0; }
.case-index .record-facts { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.case-index .record-facts b { font-size: .76rem; }
.case-index .record-facts span { display: block; font-size: .8rem; line-height: 1.65; margin-top: 5px; }
.case-index .record-action { grid-column: 2; display: flex; flex-direction: row; align-items: center; gap: 20px; padding: 13px 32px; border: 0; border-top: 1px solid #d9e4f1; }
.case-index .record-action .status { font-size: .66rem; letter-spacing: .05em; }
.case-index .record-action a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: .85rem; }
.case-index .standard-copy h2 { font-size: clamp(2rem,3.2vw,2.8rem); }
.case-index .standard-grid { gap: 70px; }
.case-index .standard-item { display: block; padding: 22px 26px; }
.case-index .standard-item p { font-size: .91rem; line-height: 1.7; }
.case-index .product-proof { gap: 56px; }
.case-index .product-proof h2 { font-size: clamp(2.2rem,3.5vw,3.15rem); }
.case-index .production-boundary p { font-size: .88rem; }
.case-index .case-cta h2 { font-size: clamp(2rem,3.5vw,3rem); }
.case-index .case-cta p { max-width: 760px; }
.case-index .site-footer { padding-block: 48px 24px; }
.case-index .site-footer .case-brand { color: #fff; }
.case-index .site-footer .case-brand small { color: #b8c8dc; }
.case-index .footer-grid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,.8fr) minmax(0,.8fr); gap: 60px; }
.case-index .footer-brand p { max-width: 420px; margin-block: 20px 14px; font-size: .9rem; line-height: 1.75; }
.case-index .footer-brand address { font-size: .88rem; line-height: 1.8; }
.case-index .site-footer h2 { margin-bottom: 15px; }
.case-index .site-footer ul a { display: inline-flex; align-items: center; min-height: 38px; font-size: .88rem; }
.case-index .site-footer li+li { margin-top: 0; }
.case-index .footer-bottom { align-items: center; margin-top: 30px; padding-top: 18px; }
.case-index .footer-bottom a { display: inline-flex; align-items: center; min-height: 44px; }
.case-index .footer-bottom>span { display: inline-flex; align-items: center; min-height: 44px; }
.case-index .footer-bottom>span:last-child { gap: 12px; }
@media(max-width:1100px) {
 .case-index .nav-links { display:none; }
 .case-index .menu-toggle { display:inline-grid;place-items:center; }
 .case-index .mobile-menu:not([hidden]) { display:grid; padding:12px 24px 20px;background:#fff; }
 .case-index .mobile-menu a { min-height:46px;padding:12px 4px;border-bottom:1px solid #d9e4f1;color:#0b1830;text-decoration:none;font-weight:700; }
 .case-index .nojs-menu { display:flex;flex-wrap:wrap;padding:12px 24px;gap:8px 20px; }
 .case-index .nojs-menu a { display:inline-flex;align-items:center;min-height:44px; }
 .case-index .hero-grid { gap:32px;grid-template-columns:1fr 1fr; }
 .case-index .case-hero h1 { font-size:3.15rem; }
 .case-index .product-proof { grid-template-columns:1fr; }
}
@media(max-width:800px) {
 .case-index .container { width:calc(100% - 40px); }
 .case-index .hero-grid { grid-template-columns:1fr; padding-block:40px;gap:30px; }
 .case-index .case-hero h1 { max-width:580px;font-size:clamp(2.5rem,7.8vw,3.7rem); }
 .case-index .lede { font-size:1rem; }
 .case-index .proof-strip .container { grid-template-columns:1fr; }
 .case-index .proof-stat { border:0;border-bottom:1px solid #d9e4f1;padding:18px 0; }
 .case-index .proof-stat:last-child { border:0; }
 .case-index .section { padding-block:48px; }
 .case-index .section-head,.case-index .standard-grid { grid-template-columns:1fr;gap:22px; }
 .case-index .case-record { grid-template-columns:1fr; }
 .case-index .record-id { grid-row:auto;padding:22px; }
 .case-index .record-id strong { text-wrap:pretty;font-size:1.2rem; }
 .case-index .record-id small { margin-top:10px; }
 .case-index .record-copy { padding:24px 22px 20px; }
 .case-index .record-copy h3 { font-size:1.4rem; }
 .case-index #azure-security .record-copy>p { text-wrap:balance; }
 .case-index .record-facts { grid-template-columns:1fr;gap:12px; }
 .case-index .record-action { grid-column:auto;flex-direction:column;align-items:flex-start;gap:5px;padding:15px 22px; }
 .case-index .record-action a { font-size:.88rem; }
 .case-index .standard-item { padding:20px; }
 .case-index .product-proof { gap:30px; }
 .case-index .product-proof h2 { font-size:2.2rem; }
 .case-index .case-cta .container { grid-template-columns:1fr;gap:25px; }
 .case-index .footer-grid { grid-template-columns:1fr 1fr;gap:30px 24px; }
 .case-index .footer-brand { grid-column:1/-1; }
 .case-index .footer-brand p { max-width:600px; }
 .case-index .footer-brand address a { display:inline-flex;align-items:center;min-height:44px; }
 .case-index .site-footer ul a { min-height:44px;line-height:1.5; }
 .case-index .footer-bottom { flex-direction:column;align-items:flex-start;gap:3px; }
 .case-index .footer-bottom>span:last-child { display:flex;align-items:center;gap:12px; }
}
@media(max-width:420px) {
 .case-index .hero-actions { display:grid; }
 .case-index .hero-actions .button { width:100%; }
 .case-index .case-brand { gap:8px; }
 .case-index .case-brand img { width:42px;height:42px;flex-basis:42px; }
 .case-index .case-brand strong { font-size:19px; }
 .case-index .case-brand small { font-size:8px;letter-spacing:1.5px; }
 .case-index .finder-head,.case-index .finder-links a { padding-inline:20px; }
 .case-index .finder-head h2 { font-size:1.5rem; }
 .case-index .finder-links strong { font-size:.88rem; }
 .case-index .finder-links small { font-size:.75rem; }
 .case-index .footer-grid { gap:26px 18px; }
}
