.case-detail-hero{padding:58px 0 64px}.case-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}.case-hero-copy h1{font-size:clamp(40px,5vw,62px);line-height:1.12;margin:16px 0}.case-hero-copy p{font-size:17px;line-height:1.9}.case-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.case-facts span{padding:6px 11px;border:1px solid #e6c48c;border-radius:99px;background:#fff8ef;color:#8b642e;font-size:12px}.case-hero-image{margin:0;border-radius:20px;overflow:hidden;background:#003366;box-shadow:0 20px 55px rgba(0,51,102,.16)}.case-hero-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.case-hero-image figcaption{padding:10px 15px;color:#c5d9e2;font-size:12px;letter-spacing:.04em}
.case-overview{display:grid;grid-template-columns:1.25fr .75fr;gap:72px;align-items:start}.case-overview h2,.case-copy-card h2{color:#003366;font-size:34px;line-height:1.25;margin:10px 0 15px}.case-overview p{max-width:650px;color:#637789}.case-overview dl{margin:0;border-top:1px solid #e6ded2}.case-overview dl div{display:grid;grid-template-columns:90px 1fr;gap:15px;padding:15px 0;border-bottom:1px solid #e6ded2}.case-overview dt{color:#8b642e;font-size:12px}.case-overview dd{margin:0;color:#183247;font-weight:700}
.case-two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}.case-copy-card{padding:30px;border:1px solid #e6ded2;border-radius:16px;background:#fffdf9;box-shadow:0 8px 28px rgba(78,52,25,.04)}.case-list{list-style:none;padding:0;margin:22px 0 0}.case-list li{position:relative;padding:12px 0 12px 26px;border-top:1px solid #eee6da;color:#4d6577}.case-list li:before{content:"";position:absolute;left:2px;top:21px;width:8px;height:8px;border-radius:50%;background:#ff7f11}
.case-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.case-gallery-item{position:relative;display:block;min-width:0;padding:0;border:1px solid #e6ded2;border-radius:15px;overflow:hidden;background:#fffdf9;text-align:left;cursor:zoom-in;box-shadow:0 8px 24px rgba(78,52,25,.05);transition:transform .2s,box-shadow .2s}.case-gallery-item:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(0,51,102,.12)}.case-gallery-item.is-wide{grid-column:span 2}.case-gallery-item img{display:block;width:100%;height:260px;object-fit:cover}.case-gallery-item.is-wide img{height:340px}.case-gallery-item span{display:block;padding:12px 14px;color:#4f6576;font-size:13px;line-height:1.6}
.case-delivery .feature{align-items:stretch}.case-delivery h2{color:#fff}.case-system-map{min-height:360px;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:30px;border:1px solid rgba(255,255,255,.15);border-radius:20px;background:linear-gradient(145deg,#073f68,#002744)}.case-system-map span{display:grid;place-items:center;border:1px solid rgba(255,179,71,.35);border-radius:12px;color:#d6e5ed;background:rgba(255,255,255,.04)}.case-system-map strong{grid-column:1/-1;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#ffb347,#ff7f11,#e65100);color:#fff;letter-spacing:.05em}
.case-lightbox[hidden]{display:none}.case-lightbox{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:28px;background:rgba(0,25,45,.9)}.case-lightbox figure{margin:0;max-width:min(1180px,94vw);max-height:92vh}.case-lightbox img{display:block;max-width:100%;max-height:82vh;border-radius:12px;object-fit:contain}.case-lightbox figcaption{padding:11px 4px;color:#fffdf9;text-align:center}.case-lightbox-close{position:absolute;right:22px;top:18px;width:46px;height:46px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(0,0,0,.2);color:#fff;font-size:30px;cursor:pointer}
@media(max-width:850px){.case-hero-grid,.case-overview,.case-two-column{grid-template-columns:1fr}.case-hero-grid,.case-overview{gap:32px}.case-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.case-gallery-item.is-wide{grid-column:span 2}.case-gallery-item img,.case-gallery-item.is-wide img{height:280px}}
@media(max-width:520px){.case-detail-hero{padding:42px 0 48px}.case-hero-copy h1{font-size:38px}.case-overview h2,.case-copy-card h2{font-size:29px}.case-gallery{grid-template-columns:1fr}.case-gallery-item.is-wide{grid-column:auto}.case-gallery-item img,.case-gallery-item.is-wide img{height:230px}.case-system-map{min-height:300px;padding:18px}.case-lightbox{padding:14px}.case-lightbox-close{right:12px;top:10px}}
@media(prefers-reduced-motion:reduce){.case-gallery-item{transition:none}}
