.zep-pcase { color: #e7e9ea; }
.zep-pcase-back { display:inline-block; margin-bottom:28px; color:#edb63e; }
.zep-pcase-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:48px; align-items:start; }
.zep-pcase-field { margin-bottom:30px; }
.zep-pcase h2 { font-size:clamp(22px,2.1vw,30px); line-height:1.25; margin:0 0 14px; }
.zep-pcase p,.zep-pcase li { line-height:1.75; overflow-wrap:anywhere; }
.zep-pcase ul { padding-left:22px; }
.zep-pcase-cover { display:block; width:100%; max-height:540px; object-fit:contain; background:#0b1c29; border-radius:12px; }
.zep-pcase-side { padding:24px; background:#0b1c29; border:1px solid #29404e; border-radius:16px; min-width:0; }
.zep-pcase-direction { color:#edb63e; }
.zep-pcase-side .zep-btn,.zep-pcase-order .zep-btn { white-space:normal; text-align:center; max-width:100%; box-sizing:border-box; }
.zep-pcase-side nav { margin-top:28px; }
.zep-pcase-side nav a { color:#edb63e; }
.zep-pcase-media,.zep-pcase-faq,.zep-pcase-order { margin-top:44px; }
.zep-pcase-media-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.zep-pcase-media figure { margin:0; min-width:0; }
.zep-pcase-media img,.zep-pcase-media video { display:block; width:100%; max-height:560px; object-fit:contain; background:#0b1c29; border-radius:12px; }
.zep-pcase-media figcaption { padding-top:12px; line-height:1.6; }
.zep-pcase-faq details { padding:18px 0; border-bottom:1px solid #29404e; }
.zep-pcase-faq summary { cursor:pointer; font-size:18px; line-height:1.5; }
.zep-pcase-order { padding:28px; background:#0b1c29; border:1px solid #29404e; border-radius:16px; }
.zep-pcase a:focus-visible,.zep-pcase summary:focus-visible { outline:2px solid #edb63e; outline-offset:5px; }
#portfolio-cases .zep-case-showcase-card img { object-fit:contain; background:#0b1c29; }
@media(min-width:761px) and (max-width:1050px) { #portfolio-cases .zep-case-showcase-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .zep-pcase-layout,.zep-pcase-media-grid { grid-template-columns:1fr; gap:24px; } .zep-pcase-side,.zep-pcase-order { padding:20px; } }
