/* CC Portfolio public styles */
.ccp-grid{display:grid;gap:24px}
.ccp-card{position:relative;overflow:hidden;border-radius:18px;background:#f7f7f9;box-shadow:0 6px 18px rgba(0,0,0,.08)}
.ccp-card img{display:block;width:100%;height:280px;object-fit:cover;transition:transform .5s}
.ccp-card:hover img{transform:scale(1.05)}
.ccp-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.65),rgba(0,0,0,.1) 50%,transparent);display:flex;flex-direction:column;justify-content:flex-end;padding:18px;opacity:0;transition:opacity .3s}
.ccp-card:hover .ccp-ov{opacity:1}
.ccp-title{color:#fff;font-size:1.125rem;font-weight:700;margin:0 0 10px}
.ccp-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;text-decoration:none;font-weight:700;letter-spacing:.02em;transition:transform .15s ease, background .2s ease, color .2s ease}
.ccp-btn:hover{transform:translateY(-1px)}
/* modal */
.ccp-modal{position:fixed;inset:0;background:rgba(10,14,23,.75);display:none;align-items:center;justify-content:center;z-index:9999}
.ccp-modal[aria-hidden="false"]{display:flex}
.ccp-dialog{background:#0a1320;color:#e6ecff;max-width:min(1000px,92vw);width:100%;border-radius:18px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.ccp-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#0e1a2d}
.ccp-head h3{margin:0;font-size:1.125rem}
.ccp-close{background:none;border:none;color:#9fb4ff;font-size:26px;line-height:1;padding:0 6px;cursor:pointer}
.ccp-body{display:grid;grid-template-columns:1fr;gap:16px;padding:16px}
@media(min-width:900px){.ccp-body{grid-template-columns:3fr 2fr}}
.ccp-slider{position:relative}
.ccp-slide{display:none}
.ccp-slide.active{display:block}
.ccp-slide img{width:100%;height:420px;object-fit:cover;border-radius:12px}
.ccp-nav{position:absolute;top:50%;left:0;right:0;display:flex;justify-content:space-between;transform:translateY(-50%)}
.ccp-nav button{background:rgba(0,0,0,.4);border:none;color:#fff;padding:10px 14px;border-radius:999px;cursor:pointer}
.ccp-desc{line-height:1.6}
