/* Case Study layouts and reusable editorial blocks. */
.mie-case-study { color:#fff; overflow:clip; }
.mie-case-component { box-sizing:border-box; --case-radius:clamp(20px,2.3vw,38px); }
.mie-case-hero { position:relative; isolation:isolate; display:flex; align-items:end; min-height:clamp(450px,42vw,720px); overflow:hidden; color:white; background:var(--mie-navy,#0a2038); }
.mie-case-hero-image { position:absolute; inset:0; width:100%; height:100%!important; object-fit:cover; z-index:-2; }
.mie-case-hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(10,32,56,.94),rgba(10,32,56,.5) 65%,rgba(10,32,56,.18)),linear-gradient(0deg,rgba(10,32,56,.65),transparent); }
.mie-case-hero-copy { width:min(100% - 2 * var(--mie-gutter,32px),1440px); margin:0 auto; padding:42px 0 clamp(70px,7vw,120px); }
.mie-case-back { display:inline-block; color:white; text-decoration:none; font-size:15px; margin-bottom:48px; }
.mie-case-back:hover { color:var(--mie-cyan,#00D9FF); }
.mie-case-tags { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:22px; }
.mie-case-tags span { padding:6px 12px; border:1px solid #ffffff55; border-radius:50px; font-size:14px; }
.mie-case-tags span:first-child { background:var(--mie-red,#cf2030); border-color:transparent; }
.mie-case-hero h1 { max-width:1050px; margin:0 0 22px; color:white; font-size:clamp(42px,5.7vw,94px); line-height:1.04; overflow-wrap:anywhere; }
.mie-case-hero-copy > p { font-size:clamp(20px,2vw,30px); line-height:1.4; margin:0 0 26px; max-width:800px; }
.mie-case-quote { width:min(100% - 2 * var(--mie-gutter,32px),1440px); margin:clamp(36px,5vw,85px) auto; padding:clamp(30px,4.5vw,74px); border-radius:var(--case-radius); display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,.32fr); gap:clamp(30px,5vw,80px); align-items:center; }
.mie-case-quote-light { color:var(--mie-ink,#17304d); background:var(--wp--preset--color--paper,#f2eeeb); }
.mie-case-quote-dark { background:var(--mie-deep-navy, #051323); color:white; border:0; }
.mie-case-quote-no-image { grid-template-columns:1fr; }
.mie-case-quote-copy { position:relative; margin:0; }
.mie-case-quote-mark { display:block; color:var(--mie-cyan,#00D9FF); font-size:100px; font-family:Georgia,serif; height:50px; line-height:1; }
.mie-case-quote blockquote { font-size:clamp(21px,2vw,32px); line-height:1.4; font-weight:600; margin:0 0 26px; border:0; padding:0; }
.mie-case-quote blockquote p { margin:0 0 .7em; }
.mie-case-quote blockquote p:last-child { margin-bottom:0; }
.mie-case-quote figcaption { font-size:16px; line-height:1.6; font-style:normal; position:relative; padding-left:14px; }
.mie-case-quote-author { display:block; font-weight:700; }
.mie-case-quote-author::before { content:"–"; position:absolute; left:0; }
.mie-case-quote-byline { display:block; }
.mie-case-quote-logo { background:transparent; border-radius:18px; padding:24px; }
.mie-case-quote-logo img { display:block; width:100%; max-height:180px; height:auto; object-fit:contain; mix-blend-mode:multiply; }
.mie-case-quote-dark .mie-case-quote-logo img { filter:grayscale(1) invert(1); mix-blend-mode:lighten; }
.mie-case-body.wp-block-columns { width:min(100% - 2 * var(--mie-gutter,32px),1440px); margin:clamp(45px,6vw,100px) auto; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(30px,5vw,85px); align-items:start; }
.mie-case-body > .wp-block-column { min-width:0; }
.mie-case-body h2 { font-size:clamp(30px,3vw,48px); line-height:1.12; margin:0 0 28px; }
.mie-case-body > .wp-block-column:first-child > p { font-size:18px; line-height:1.75; margin:0 0 25px; }
.mie-case-body > .wp-block-column:first-child a { color:var(--mie-cyan,#00D9FF); }
.mie-case-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:36px; }
.mie-case-gallery figure { margin:0; }
.mie-case-gallery img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:16px; transition:filter .2s ease; }
.mie-case-gallery a:hover img { filter:brightness(.8); }
.mie-case-gallery a:focus-visible { outline:3px solid var(--mie-cyan); outline-offset:4px; }
.mie-case-outcomes { display:grid; gap:18px; color:#fff; }
.mie-case-panel { border:0; border-radius:22px; background:var(--mie-deep-navy,#051323); color:#fff; overflow:hidden; box-shadow:0 16px 40px #0013261a; }
.mie-case-panel summary { display:flex; align-items:center; gap:16px; padding:24px; cursor:pointer; list-style:none; }
.mie-case-panel summary::-webkit-details-marker { display:none; }
.mie-case-panel summary:focus-visible { outline:3px solid var(--mie-cyan,#00D9FF); outline-offset:-5px; border-radius:18px; }
.mie-case-panel summary h2 { flex:1; margin:0; color:#fff; font-size:clamp(20px,1.6vw,26px); line-height:1.15; }
.mie-case-panel-toggle { width:16px; height:16px; position:relative; flex:0 0 16px; }
.mie-case-panel-toggle::before,.mie-case-panel-toggle::after { content:''; position:absolute; background:currentColor; inset:7px 0 auto; height:2px; }
.mie-case-panel-toggle::after { transform:rotate(90deg); transition:transform .2s ease; }
.mie-case-panel[open] .mie-case-panel-toggle::after { transform:rotate(0); }
.mie-case-panel-content { padding:0 26px 28px; }
.mie-case-panel-content ul { list-style:none; margin:0; padding:0; }
.mie-case-panel-content li { position:relative; padding:17px 0 17px 28px; border:0; font-size:15px; color:#fff; line-height:1.65; }
.mie-case-panel-content li::before { content:''; position:absolute; left:0; top:20px; width:18px; height:18px; background:var(--mie-cyan,#00D9FF); -webkit-mask:url('../images/checkbox.svg') center / contain no-repeat; mask:url('../images/checkbox.svg') center / contain no-repeat; }
.mie-case-panel-content li:last-child { padding-bottom:0; }
.mie-case-panel-content li p { margin:0 0 .6em; font-size:15px; color:inherit; }
.mie-case-panel-content li p:last-child { margin:0; }
.mie-case-study > .mie-overview-block { width:100%; max-width:none; margin:0; }
.mie-case-fallback { width:min(100% - 2 * var(--mie-gutter,32px),1440px); margin:70px auto; }
.editor-styles-wrapper .mie-case-body { color:white; background:var(--mie-navy,#0a2038); padding:24px; }
@media(max-width:850px) { .mie-case-body.wp-block-columns { grid-template-columns:1fr; } .mie-case-quote { grid-template-columns:1fr; } .mie-case-quote-logo { max-width:230px; } .mie-case-hero { min-height:440px; } }
@media(max-width:480px) { .mie-case-quote { padding:28px 24px; } .mie-case-panel summary { padding:20px 18px; gap:12px; } .mie-case-panel-content { padding:0 20px 22px; } .mie-case-gallery { gap:10px; } }
@media(prefers-reduced-motion:reduce) { .mie-case-component *, .mie-case-gallery img { transition:none!important; } }

.mie-case-study > .mie-feature-cta { width:min(100% - 2 * var(--mie-gutter,32px),1440px); margin:40px auto 80px; padding:0; }
