/* iPistis M03: case study system — brand blue #0C6693, red #EF3438, charcoal #201E1A. */
.ip-industry .ip-case-study__readmore{margin-top:30px;padding:24px 27px;border:1px solid #d6e8f0;background:#eff8fc;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.ip-industry .ip-case-study__readmore p{margin:0;color:#506b7a;font-size:14px}
.ip-industry .ip-case-study__readmore .ip-eyebrow{margin:0 0 5px}
.ip-industry .ip-case-study__readmore .ip-button{white-space:nowrap}
.ip-case-page .ip-case-hero{padding-bottom:98px;background:radial-gradient(ellipse at 96% 0%,rgba(239,52,56,.19),transparent 45%),linear-gradient(119deg,#0d293c 0%,#0c6693 65%,#074063 100%)}
.ip-case-hero__content{max-width:880px}
.ip-case-hero .ip-breadcrumb{margin-bottom:54px}
.ip-case-hero h1{max-width:870px;font-size:clamp(38px,5vw,67px);line-height:1.09}
.ip-case-hero__chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.ip-case-hero__chips span{display:inline-flex;gap:8px;align-items:center;border:1px solid rgba(226,241,250,.3);border-radius:25px;color:#ebf7ff;padding:7px 13px;font-size:12px}
.ip-case-hero__chips i{color:#ffafb1}
.ip-case-overview{background:#fff}
.ip-case-overview__grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.65fr);gap:65px;align-items:start}
.ip-case-overview__grid>div>p{color:#50687a;font-size:17px;max-width:760px;margin-bottom:18px}
.ip-case-context{padding:29px 28px;border-radius:14px;background:#f1f8fb;border:1px solid #dceaf0;position:relative;overflow:hidden}
.ip-case-context:before{content:"";position:absolute;width:70px;height:6px;right:0;top:0;background:#ef3438}
.ip-case-context>span{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;color:#0c6693;margin-bottom:12px}
.ip-case-context>strong{display:block;font-size:21px;line-height:1.25;color:#201e1a}
.ip-case-context ul{list-style:none;padding:15px 0;margin:14px 0;border-top:1px solid #dae6ec;border-bottom:1px solid #dae6ec}
.ip-case-context li{font-size:13px;color:#476578;position:relative;padding:5px 0 5px 17px}
.ip-case-context li:before{content:"";position:absolute;left:0;top:15px;width:6px;height:6px;background:#ef3438;border-radius:50%}
.ip-case-context__note{font-size:12px;color:#697f8e;margin:0!important}
.ip-case-challenges{background:#f5f9fc}
.ip-case-problems-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.ip-case-problem{background:white;border:1px solid #e1eaf0;border-radius:15px;padding:30px;box-shadow:0 18px 35px rgba(13,53,76,.03)}
.ip-case-problem__number{color:#ef3438;font-weight:800;font-size:13px;letter-spacing:.12em}
.ip-case-problem h3{font-size:23px;line-height:1.28;max-width:460px;margin:13px 0 12px}
.ip-case-problem>p{font-size:15px;color:#587082;margin-bottom:21px}
.ip-case-problem__solution{padding:20px;background:#f1f8fb;border-left:3px solid #0c6693;margin-bottom:23px}
.ip-case-problem__solution b{color:#0c6693;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ip-case-problem__solution p{font-size:14px;margin:7px 0 0;color:#536c7d}
.ip-case-architecture{background:white}
.ip-case-architecture__list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;counter-reset:none}
.ip-case-architecture__list li{background:#eff7fb;border:1px solid #d8eaf2;border-radius:13px;padding:24px 20px;position:relative}
.ip-case-architecture__list li:not(:last-child):after{content:"\2192";position:absolute;right:-12px;top:41%;z-index:1;color:#ef3438;font-size:18px;background:#fff;border-radius:50%;height:27px;width:27px;display:grid;place-items:center;box-shadow:0 1px 6px rgba(0,0,0,.08)}
.ip-case-architecture__list li span{font-size:12px;font-weight:800;color:#ef3438}
.ip-case-architecture__list h3{font-size:17px;margin:15px 0 7px}
.ip-case-architecture__list p{font-size:13px;color:#5a7280;margin:0}
.ip-case-scope{margin-top:32px;border-top:1px solid #dce8ef;padding-top:22px;color:#506879}
.ip-case-scope strong{display:block;color:#201e1a;margin-bottom:8px}
.ip-case-scope ul{margin:0;padding-left:18px;line-height:1.8;font-size:14px}
.ip-case-evidence{background:#f2f8fb;scroll-margin-top:70px}
.ip-case-evidence__head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:30px}
.ip-case-evidence__head>div{max-width:760px}
.ip-case-evidence__head p{font-size:15px;color:#5c7281}
.ip-case-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ip-case-shot{background:white;border:1px solid #dbe8ef;border-radius:15px;overflow:hidden;min-width:0}
.ip-case-shot__visual{position:relative;background:#eaf1f5;aspect-ratio:1.36;overflow:hidden}
.ip-case-shot__visual button[data-ip-shot-open]{display:block;width:100%;height:100%;border:0;padding:0;cursor:zoom-in;background:#fff;position:relative;color:inherit}
.ip-case-shot__visual img{width:100%;height:100%;object-fit:contain;display:block}
.ip-case-shot__zoom{position:absolute;bottom:12px;right:12px;border-radius:6px;padding:8px 10px;background:#0c6693;color:white;font-size:11px;font-weight:700}
.ip-case-shot__pin,.ip-lightbox__pin{position:absolute;transform:translate(-50%,-50%);background:#ef3438;color:white;border:2px solid white;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-weight:800;font-size:11px;box-shadow:0 2px 8px rgba(0,0,0,.25);pointer-events:none}
.ip-case-shot__pending{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;height:100%;padding:24px;gap:9px;background:linear-gradient(155deg,#e6f0f6,#f8fbfd);color:#587386}
.ip-case-shot__pending-icon{font-size:30px;color:#8facbc}
.ip-case-shot__pending strong{font-size:13px;color:#345b70}
.ip-case-shot__pending small{font-size:11px;max-width:220px;line-height:1.4}
.ip-case-shot__copy{padding:22px}
.ip-case-shot__count{font-size:11px;color:#ef3438;font-weight:800;letter-spacing:.12em}
.ip-case-shot__copy h3{font-size:18px;line-height:1.25;margin:8px 0}
.ip-case-shot__copy>p{font-size:13px;color:#607786;line-height:1.6;margin:0}
.ip-case-shot__legend{list-style:none;margin:15px 0 0;padding:12px 0 0;border-top:1px solid #e1ebf0}
.ip-case-shot__legend li{font-size:12px;color:#536b79;display:flex;gap:10px;align-items:center;margin:6px 0}
.ip-case-shot__legend b{color:#fff;background:#ef3438;width:19px;height:19px;display:grid;place-items:center;border-radius:50%;font-size:10px}
.ip-case-evidence__disclaimer{font-size:12px;color:#6b7c8c;margin-top:19px}
.ip-case-outcome{background:#fff;padding-top:60px}
.ip-case-outcome__box{max-width:930px;border-left:5px solid #ef3438;background:#f4f9fc;padding:34px 42px;border-radius:0 16px 16px 0}
.ip-case-outcome__box p{font-size:15px;color:#5c7383;margin-bottom:13px}
.ip-case-page .ip-cta{padding-top:10px}
/* Screenshot lightbox sits outside <main>, like the M02.1 contact modal. */
.ip-lightbox[hidden]{display:none!important}
.ip-lightbox{position:fixed;inset:0;z-index:100001;background:rgba(6,21,33,.94);padding:3vh 24px;display:flex;align-items:center;justify-content:center;overscroll-behavior:contain;font-family:Overpass,Arial,sans-serif}
.ip-lightbox__dialog{display:flex;flex-direction:column;background:#f9fcff;border-radius:15px;width:min(100%,1250px);height:min(94vh,920px);height:min(94dvh,920px);overflow:hidden;outline:0}
.ip-lightbox__toolbar{flex-shrink:0;padding:16px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #d8e3eb}
.ip-lightbox__toolbar h2{font-size:18px;margin:2px 0 0;color:#201e1a}
.ip-lightbox__eyebrow{font-size:10px;font-weight:800;letter-spacing:.13em;color:#0c6693}
.ip-lightbox__actions{display:flex;gap:8px}
.ip-lightbox__actions button,.ip-lightbox__image-wrap>button{border:1px solid #d5e1e8;background:white;color:#0c6693;padding:10px 12px;border-radius:8px;font-weight:800;font-size:12px;cursor:pointer}
.ip-lightbox__actions button:hover,.ip-lightbox__image-wrap>button:hover{background:#e8f6fc}
.ip-lightbox__image-wrap{display:flex;gap:12px;align-items:center;min-height:0;flex:1;padding:15px 18px}
.ip-lightbox__image-wrap>button{flex-shrink:0}
.ip-lightbox__image-wrap>button:disabled{opacity:.35;cursor:not-allowed}
.ip-lightbox__image-stage{position:relative;overflow:auto;min-width:0;min-height:0;flex:1;height:100%;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#dfe9f0}
.ip-lightbox__image-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.ip-lightbox__image-stage.is-zoomed{display:block;text-align:center}
.ip-lightbox__image-stage.is-zoomed img{max-height:none;max-width:none;width:auto;height:auto;min-width:115%;margin:auto}
.ip-lightbox__image-stage.is-zoomed .ip-lightbox__pin{display:none}
.ip-lightbox__footer{display:flex;gap:20px;align-items:center;justify-content:space-between;border-top:1px solid #dbe7ee;padding:15px 22px;color:#536e80;font-size:12px}
.ip-lightbox__footer p{margin:0;max-width:900px}
.ip-lightbox__footer span{white-space:nowrap;font-weight:800;color:#0c6693}
.ip-lightbox :focus-visible,.ip-case-page :focus-visible{outline:3px solid #ef3438;outline-offset:3px}
body.ip-lightbox-open{overflow:hidden}
@media(max-width:1100px){.ip-case-architecture__list{grid-template-columns:repeat(2,minmax(0,1fr))}.ip-case-architecture__list li:after{display:none}.ip-case-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.ip-case-overview__grid,.ip-case-problems-grid,.ip-case-gallery{grid-template-columns:1fr;gap:18px}.ip-case-overview__grid{gap:25px}.ip-case-overview__grid>div>p{font-size:15px}.ip-case-evidence__head{flex-direction:column}.ip-case-evidence__head .ip-evidence-pill{margin:0}.ip-case-page .ip-hero{padding-bottom:66px}.ip-case-hero .ip-breadcrumb{margin-bottom:32px}.ip-case-outcome__box{padding:28px 23px}.ip-lightbox{padding:8px}.ip-lightbox__dialog{height:calc(100dvh - 16px)}.ip-lightbox__image-wrap{padding:8px;gap:4px}.ip-lightbox__image-wrap>button{padding:8px}.ip-lightbox__toolbar{padding:12px}.ip-lightbox__footer{padding:12px;flex-direction:column;align-items:flex-start;gap:7px}}
@media(max-width:480px){.ip-case-architecture__list{grid-template-columns:1fr}.ip-case-hero__chips{gap:7px}.ip-case-hero__chips span{font-size:10px}.ip-lightbox__toolbar h2{font-size:15px}.ip-lightbox__actions button{padding:8px}.ip-case-page .ip-case-hero h1{font-size:35px}.ip-industry .ip-case-study__readmore{flex-direction:column;align-items:flex-start}.ip-industry .ip-case-study__readmore .ip-button{width:100%}}

/* M03.1 submitted screenshots: clear staging labels; original dimensions preserved on zoom. */
.ip-case-shot__review-label{position:absolute;left:9px;top:9px;background:rgba(128,37,21,.91);color:#fff;border-radius:5px;padding:5px 7px;font-size:9px;font-weight:800;letter-spacing:.03em;pointer-events:none;z-index:3}
.ip-case-shot__visual img{object-position:center center}
.ip-case-gallery .ip-case-shot:has(#unused){outline:none}

/* M03.2 — reusable Outcome & Business Impact cards */
.ip-case-outcome{padding-bottom:68px}
.ip-case-outcome__intro{max-width:930px;margin-bottom:30px}
.ip-case-outcome__intro > p{color:#587080;font-size:16px;line-height:1.7;max-width:860px}
.ip-impact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ip-impact-card{border:1px solid #dae7ef;border-radius:14px;padding:25px 23px;background:#f5fafd;min-width:0;position:relative}
.ip-impact-card:before{content:"";position:absolute;left:0;top:22px;width:3px;height:34px;background:#ef3438;border-radius:0 3px 3px 0}
.ip-impact-card__icon{width:43px;height:43px;border-radius:10px;display:grid;place-items:center;background:#e1f2fa;color:#0c6693;font-size:18px;margin-bottom:17px}
.ip-impact-card h3{font-size:18px;line-height:1.32;color:#201e1a;margin:0 0 12px}
.ip-impact-card p{font-size:14px;color:#597080;line-height:1.64;margin:0}
.ip-impact-evidence{display:flex;justify-content:space-between;align-items:center;gap:25px;border:1px solid #d7e7f0;border-left:5px solid #0c6693;background:#eef7fc;padding:22px 26px;border-radius:0 12px 12px 0;margin-top:25px}
.ip-impact-evidence > div{max-width:730px}
.ip-impact-evidence p{margin:8px 0 0;font-size:14px;color:#4e6575;line-height:1.6}
.ip-impact-evidence .ip-inline-link{flex-shrink:0}
.ip-impact-more{margin:23px 0 0}
@media(max-width:991px){.ip-impact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ip-impact-evidence{align-items:flex-start;flex-direction:column}}
@media(max-width:575px){.ip-impact-grid{grid-template-columns:1fr;gap:13px}.ip-impact-card{padding:20px}.ip-case-outcome{padding-bottom:48px}.ip-impact-evidence{padding:18px 20px}}

.ip-case-visual-source{display:inline-block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;color:#0c6693;border:1px solid #c7dfec;background:#f2f9fc;padding:5px 8px;border-radius:5px;margin-bottom:9px;}
