/* FirstMarketing Portfolio Studio — v0.15.08
   Refined premium portfolio tiles: light gray + white identity, orange accents only. */
.ccp-portfolio-studio{
  --ps-orange:#ff7317;
  --ps-orange-2:#ee6510;
  --ps-ink:#202631;
  --ps-ink-soft:#4b5563;
  --ps-muted:#7a838f;
  --ps-border:#e2e6ea;
  --ps-soft:#f4f5f6;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:100%;
  margin:0;
  padding:44px 0 52px;
  color:var(--ps-ink);
  direction:rtl;
  background:
    radial-gradient(circle at 93% 4%,rgba(255,115,23,.055),transparent 21%),
    radial-gradient(circle at 4% 92%,rgba(148,163,184,.10),transparent 25%),
    linear-gradient(135deg,#f1f2f3 0%,#f7f8f9 34%,#ffffff 67%,#f4f5f6 100%);
}
.ccp-portfolio-studio *{box-sizing:border-box}
.ccp-portfolio-studio__bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.ccp-portfolio-studio__mesh{position:absolute;inset:0;opacity:.45;background-image:linear-gradient(rgba(113,124,137,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(113,124,137,.045) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.ccp-portfolio-studio__blueprint{position:absolute;inset:-10% -2%;width:104%;height:120%;opacity:.48;overflow:visible}
.ccp-portfolio-studio__blueprint g{fill:rgba(255,255,255,.18);stroke:rgba(124,134,145,.12);stroke-width:1.15;vector-effect:non-scaling-stroke}
.ccp-portfolio-studio__bp-window,.ccp-portfolio-studio__bp-device,.ccp-portfolio-studio__bp-store,.ccp-portfolio-studio__bp-code{animation:ccpPsBlueprintFloat 16s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.ccp-portfolio-studio__bp-device{animation-delay:-4s}.ccp-portfolio-studio__bp-store{animation-delay:-8s}.ccp-portfolio-studio__bp-code{animation-delay:-2s}
.ccp-portfolio-studio__route{fill:none!important;stroke:rgba(255,115,23,.12)!important;stroke-width:1.15!important;stroke-dasharray:8 18;animation:ccpPsRoute 34s linear infinite}
.ccp-portfolio-studio__route--two{animation-direction:reverse;animation-duration:40s}
.ccp-portfolio-studio__nodes circle{fill:#fff!important;stroke:rgba(255,115,23,.25)!important;animation:ccpPsNodePulse 5.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.ccp-portfolio-studio__token{position:absolute;padding:6px 10px;border:1px solid rgba(142,151,160,.12);border-radius:999px;background:rgba(255,255,255,.64);backdrop-filter:blur(5px);font:800 8px/1 ui-monospace,SFMono-Regular,monospace;letter-spacing:.11em;color:rgba(103,112,122,.35)}
.ccp-portfolio-studio__token--a{right:3.5%;top:34%}.ccp-portfolio-studio__token--b{left:5%;top:16%}.ccp-portfolio-studio__token--c{left:7%;bottom:19%}.ccp-portfolio-studio__token--d{right:7%;bottom:12%}
.ccp-portfolio-studio__inner{position:relative;z-index:2;width:min(1580px,calc(100% - 42px));margin:0 auto}

/* Compact heading */
.ccp-portfolio-studio__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;margin:0 0 17px}
.ccp-portfolio-studio__heading-copy{max-width:780px}
.ccp-portfolio-studio__eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:6px;color:#d85d10;font-size:8.5px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.ccp-portfolio-studio__eyebrow i{display:block;width:25px;height:2px;border-radius:99px;background:var(--ps-orange)}
.ccp-portfolio-studio__head h2{margin:0!important;color:var(--ps-ink)!important;font-size:clamp(20px,1.5vw,24px)!important;line-height:1.5!important;font-weight:900!important;letter-spacing:-.015em!important}
.ccp-portfolio-studio__head p{margin:5px 0 0!important;max-width:740px;color:var(--ps-muted)!important;font-size:12px!important;line-height:1.9!important}
.ccp-portfolio-studio__signature{position:relative;min-width:148px;padding:11px 15px;border:1px solid #e3e6e9;border-radius:13px;background:rgba(255,255,255,.78);backdrop-filter:blur(8px);text-align:right;box-shadow:0 8px 24px rgba(34,42,50,.035)}
.ccp-portfolio-studio__signature:after{content:"";position:absolute;right:0;top:0;width:34px;height:3px;border-radius:0 13px 0 8px;background:var(--ps-orange)}
.ccp-portfolio-studio__signature span{display:block;color:#727b86;font-size:7.5px;font-weight:900;letter-spacing:.13em}
.ccp-portfolio-studio__signature b{display:inline-block;margin-top:4px;color:var(--ps-orange);font-size:21px;line-height:1;font-weight:950}
.ccp-portfolio-studio__signature small{margin-inline-start:5px;color:#848b94;font-size:8.5px;font-weight:800}

/* Filter */
.ccp-portfolio-studio__filterbar{display:flex;align-items:center;gap:9px;min-height:43px;margin:0 0 18px;padding:5px 6px 5px 12px;border:1px solid #e2e5e8;border-radius:13px;background:rgba(255,255,255,.82);backdrop-filter:blur(8px);box-shadow:0 7px 22px rgba(32,39,48,.025)}
.ccp-portfolio-studio__filter-label{flex:0 0 auto;padding:0 8px;color:#828a94;font-size:8.5px;font-weight:900}
.ccp-portfolio-studio__filters{display:flex;align-items:center;flex-wrap:wrap;gap:5px;min-width:0}
.ccp-portfolio-studio__filter{appearance:none;display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 10px;border:1px solid transparent;border-radius:9px;background:transparent;color:#626a75;font:850 9.5px/1.2 inherit;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.ccp-portfolio-studio__filter b{display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border-radius:6px;background:#f0f2f4;color:#8a929c;font-size:7.5px;font-weight:900;transition:inherit}
.ccp-portfolio-studio__filter:hover{background:#fff7f1;border-color:#ffd9bf;color:#d85d10;transform:translateY(-1px)}
.ccp-portfolio-studio__filter.is-active{background:var(--ps-orange);border-color:var(--ps-orange);color:#fff}
.ccp-portfolio-studio__filter.is-active b{background:rgba(255,255,255,.20);color:#fff}
.ccp-portfolio-studio__filter:focus-visible{outline:3px solid rgba(255,115,23,.18);outline-offset:2px}
.ccp-portfolio-studio__filter-live{margin-inline-start:auto;flex:0 0 auto;color:#8a929c;font-size:8.5px;font-weight:900;white-space:nowrap}

/* Premium project tiles — clean, image-led, no dossier/spine look */
.ccp-portfolio-studio__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch;transition:opacity .12s ease,transform .12s ease}
.ccp-portfolio-studio.is-filtering .ccp-portfolio-studio__grid{opacity:.4;transform:translateY(2px)}
.ccp-portfolio-studio__card{position:relative;min-width:0;overflow:visible;animation:ccpPsReveal .42s both;animation-delay:calc(var(--ps-order) * 38ms)}
.ccp-portfolio-studio__card[hidden]{display:none!important}
.ccp-portfolio-studio__window{position:relative;height:100%;display:flex;flex-direction:column;padding:7px;border:1px solid #e1e5e8;border-radius:20px;background:rgba(255,255,255,.93);box-shadow:0 8px 26px rgba(27,35,44,.055);transition:transform .28s cubic-bezier(.2,.75,.25,1),box-shadow .28s ease,border-color .28s ease}
.ccp-portfolio-studio__window:before{content:"";position:absolute;z-index:-1;right:17px;left:17px;bottom:-7px;height:22px;border-radius:50%;background:rgba(77,86,96,.10);filter:blur(15px);opacity:.22;transition:opacity .28s ease,transform .28s ease}
.ccp-portfolio-studio__card:hover .ccp-portfolio-studio__window{transform:translateY(-5px);border-color:#d7dce0;box-shadow:0 17px 42px rgba(27,35,44,.09)}
.ccp-portfolio-studio__card:hover .ccp-portfolio-studio__window:before{opacity:.36;transform:translateY(3px)}
.ccp-portfolio-studio__media{position:relative;z-index:2;aspect-ratio:16/10;overflow:hidden;border:0;border-radius:15px;background:#eceff1;cursor:pointer;outline:none;clip-path:none}
.ccp-portfolio-studio__media:focus-visible{box-shadow:0 0 0 3px rgba(255,115,23,.20)}
.ccp-portfolio-studio__media img{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;transform:scale(1.01);transition:transform .68s cubic-bezier(.18,.78,.2,1),filter .36s ease}
.ccp-portfolio-studio__card:hover .ccp-portfolio-studio__media img{transform:scale(1.055);filter:saturate(1.04) contrast(1.01)}
.ccp-portfolio-studio__media-tint{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,27,35,0) 52%,rgba(20,27,35,.18) 100%);opacity:.6;transition:opacity .3s ease}
.ccp-portfolio-studio__card:hover .ccp-portfolio-studio__media-tint{opacity:.38}
.ccp-portfolio-studio__chrome{position:absolute;z-index:4;top:9px;left:9px;right:9px;height:27px;display:flex;align-items:center;gap:8px;padding:0 9px;border:1px solid rgba(255,255,255,.78);border-radius:9px;background:rgba(255,255,255,.89);backdrop-filter:blur(11px);box-shadow:0 5px 14px rgba(32,40,48,.045)}
.ccp-portfolio-studio__dots{display:flex;gap:4px;direction:ltr}.ccp-portfolio-studio__dots i{width:5px;height:5px;border-radius:50%;background:#c8cdd2}.ccp-portfolio-studio__dots i:first-child{background:var(--ps-orange)}
.ccp-portfolio-studio__chrome em{min-width:0;margin-inline-start:auto;max-width:64%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7d8590;font:800 7.3px/1 ui-monospace,monospace;font-style:normal;direction:ltr;text-align:left}
.ccp-portfolio-studio__chrome-mark{display:grid;place-items:center;width:22px;height:18px;border-radius:6px;background:#fff2e9;color:#d95e10;font:950 6.8px/1 Arial,sans-serif;letter-spacing:.04em}
.ccp-portfolio-studio__index{position:absolute;z-index:5;right:10px;bottom:10px;display:grid;place-items:center;min-width:31px;height:28px;padding:0 7px;border-radius:9px;background:rgba(255,255,255,.92);color:#6f7781;border:1px solid rgba(255,255,255,.82);font:900 8px/1 ui-monospace,monospace;box-shadow:0 5px 14px rgba(30,38,46,.055)}
.ccp-portfolio-studio__type{position:absolute;z-index:5;left:10px;bottom:10px;padding:6px 9px;border:1px solid rgba(255,255,255,.8);border-radius:999px;background:rgba(255,255,255,.91);backdrop-filter:blur(9px);color:#d85d10;font-size:7.7px;font-weight:900}
.ccp-portfolio-studio__peek{position:absolute;z-index:6;left:50%;top:50%;display:flex;align-items:center;gap:7px;min-height:32px;padding:0 11px;border-radius:10px;background:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.9);color:#363e48;font-size:8.5px;font-weight:900;opacity:0;transform:translate(-50%,-42%) scale(.95);transition:opacity .25s ease,transform .25s ease;box-shadow:0 10px 26px rgba(28,35,43,.10)}
.ccp-portfolio-studio__peek b{color:var(--ps-orange);font-size:13px}.ccp-portfolio-studio__card:hover .ccp-portfolio-studio__peek{opacity:1;transform:translate(-50%,-50%) scale(1)}

.ccp-portfolio-studio__paper{position:relative;z-index:3;margin:0;padding:13px 10px 9px;min-height:176px;display:flex;flex-direction:column;background:transparent;border:0;border-radius:0;backdrop-filter:none;transition:none}
.ccp-portfolio-studio__paper:before{content:"";position:absolute;top:0;right:10px;width:31px;height:2px;border-radius:99px;background:var(--ps-orange)}
.ccp-portfolio-studio__paper:after{display:none}
.ccp-portfolio-studio__card:hover .ccp-portfolio-studio__paper{transform:none;background:transparent;border-color:transparent}
.ccp-portfolio-studio__paper-top{display:flex;align-items:center;gap:6px;margin:5px 0 6px;color:#9a7a65;font-size:7px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.ccp-portfolio-studio__paper-top i{width:18px;height:1px;background:#d9dde1}
.ccp-portfolio-studio__paper h3{margin:0!important;color:var(--ps-ink)!important;font-size:15px!important;line-height:1.55!important;font-weight:900!important;letter-spacing:-.01em!important}
.ccp-portfolio-studio__paper p{margin:5px 0 9px!important;color:#727b86!important;font-size:10px!important;line-height:1.78!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ccp-portfolio-studio__micro{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 9px}
.ccp-portfolio-studio__micro span{padding:4px 7px;border:1px solid #e6e9ec;border-radius:7px;background:#f6f7f8;color:#707984;font-size:7px;font-weight:850}
.ccp-portfolio-studio__actions{margin-top:auto;display:flex;align-items:center;gap:6px;padding-top:9px;border-top:1px solid #eceef0}
.ccp-portfolio-studio__details,.ccp-portfolio-studio__visit{appearance:none;min-height:31px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;padding:0 9px;text-decoration:none!important;font:900 8.5px/1 inherit;cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
.ccp-portfolio-studio__details{border:1px solid #ffd5b8;background:#fff5ee;color:#d75d10}.ccp-portfolio-studio__details b{font-size:12px}.ccp-portfolio-studio__details:hover{transform:translateY(-1px);background:var(--ps-orange);border-color:var(--ps-orange);color:#fff}
.ccp-portfolio-studio__visit{margin-inline-start:auto;border:1px solid #e2e6e9;background:#fff;color:#5d6671}.ccp-portfolio-studio__visit:hover{transform:translateY(-1px);border-color:#ffbf93;color:#d75d10;background:#fff8f3}
.ccp-portfolio-studio__details:focus-visible,.ccp-portfolio-studio__visit:focus-visible{outline:3px solid rgba(255,115,23,.17);outline-offset:2px}
.ccp-portfolio-studio__spine{display:none!important}

/* Case-study drawer */
html.ccp-ps-modal-open,html.ccp-ps-modal-open body{overflow:hidden!important}
.ccp-ps-modal[hidden]{display:none!important}.ccp-ps-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:22px;direction:rtl;opacity:0;transition:opacity .2s ease}.ccp-ps-modal.is-open{opacity:1}
.ccp-ps-modal__backdrop{position:absolute;inset:0;background:rgba(82,65,53,.24);backdrop-filter:blur(9px)}
.ccp-ps-modal__dialog{position:relative;width:min(1080px,100%);max-height:calc(100vh - 44px);overflow:auto;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);border:1px solid #eadbd0;border-radius:26px 10px 26px 26px;background:#fffdfb;box-shadow:0 30px 90px rgba(84,61,44,.16);transform:translateY(12px) scale(.986);transition:transform .24s ease}
.ccp-ps-modal.is-open .ccp-ps-modal__dialog{transform:none}
.ccp-ps-modal__close{position:absolute;z-index:6;top:12px;left:12px;width:38px;height:38px;border:1px solid #eadbd0;border-radius:12px;background:rgba(255,255,255,.94);color:#4f555e;font:500 25px/1 inherit;cursor:pointer}
.ccp-ps-modal__visual{position:relative;min-height:430px;padding:50px 18px 18px;background:linear-gradient(145deg,#fff6ef,#fffdfb);overflow:hidden}
.ccp-ps-modal__visual:before{content:"";position:absolute;width:240px;height:240px;right:-60px;top:-70px;border:1px solid rgba(255,115,23,.12);border-radius:50%;box-shadow:0 0 0 38px rgba(255,115,23,.025),0 0 0 76px rgba(255,115,23,.018)}
.ccp-ps-modal__visual img{position:relative;z-index:2;width:100%;height:100%;min-height:360px;max-height:520px;object-fit:cover;display:block;border:1px solid #e8dad0;border-radius:18px 18px 8px 18px;box-shadow:0 18px 45px rgba(99,71,50,.11)}
.ccp-ps-modal__browser{position:absolute;z-index:4;top:14px;right:18px;left:18px;height:28px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid #eadfd7;border-radius:10px;background:rgba(255,255,255,.82)}
.ccp-ps-modal__browser span{display:flex;gap:4px}.ccp-ps-modal__browser i{width:5px;height:5px;border-radius:50%;background:var(--ps-orange)}.ccp-ps-modal__browser i:nth-child(2){opacity:.5}.ccp-ps-modal__browser i:nth-child(3){opacity:.2}.ccp-ps-modal__browser em{margin-inline-start:auto;color:#9c8b7e;font:800 7px/1 ui-monospace,monospace;font-style:normal;letter-spacing:.12em}
.ccp-ps-modal__visual-meta{position:absolute;z-index:5;right:34px;left:34px;bottom:34px;display:flex;align-items:center;justify-content:space-between;gap:10px}.ccp-ps-modal__type{padding:8px 11px;border:1px solid #ffd9be;border-radius:999px;background:rgba(255,255,255,.94);color:#d75b0d;font-size:9px;font-weight:900}.ccp-ps-modal__visual-meta b{padding:7px 9px;border-radius:8px;background:rgba(255,255,255,.9);color:#807268;font-size:7px;letter-spacing:.12em}
.ccp-ps-modal__content{padding:36px 34px 30px;align-self:center}.ccp-ps-modal__kicker{display:block;margin-bottom:8px;color:#dc6212;font-size:8px;font-weight:900;letter-spacing:.16em}.ccp-ps-modal__content h2{margin:0!important;color:#202936!important;font-size:22px!important;line-height:1.5!important;font-weight:900!important}.ccp-ps-modal__desc{margin:9px 0 18px!important;color:#707783!important;font-size:12.5px!important;line-height:1.9!important}.ccp-ps-modal__divider{display:flex;align-items:center;gap:9px;margin:0 0 10px}.ccp-ps-modal__divider span{color:#3f4650;font-size:11px;font-weight:900}.ccp-ps-modal__divider i{height:1px;flex:1;background:linear-gradient(90deg,#f0e1d7,transparent)}
.ccp-ps-modal__features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ccp-ps-modal__feature{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #eee3dc;border-radius:11px;background:#fff;color:#5e646d;font-size:10px;line-height:1.6}.ccp-ps-modal__feature b{flex:0 0 24px;color:#d75c10;font:900 8px/1 ui-monospace,monospace}.ccp-ps-modal__tags{display:flex;flex-wrap:wrap;gap:6px;margin:15px 0}.ccp-ps-modal__tags span{padding:6px 9px;border-radius:999px;background:#fff5ed;color:#745f50;border:1px solid #ffdfc8;font-size:8px;font-weight:900}.ccp-ps-modal__actions{display:flex;gap:8px;align-items:center}.ccp-ps-modal__open,.ccp-ps-modal__back{min-height:40px;border-radius:10px;padding:0 15px;font:900 10px/1 inherit;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none!important;cursor:pointer}.ccp-ps-modal__open{border:1px solid #ff7317;background:#ff7317;color:#fff}.ccp-ps-modal__open:hover{background:#ec660f;color:#fff}.ccp-ps-modal__back{border:1px solid #e9ddd5;background:#fff;color:#555d67}


@keyframes ccpPsRoute{to{stroke-dashoffset:-520}}
@keyframes ccpPsNodePulse{0%,100%{opacity:.25;transform:scale(.86)}50%{opacity:.72;transform:scale(1.14)}}
@keyframes ccpPsBlueprintFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes ccpPsReveal{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@media (max-width:1240px){.ccp-portfolio-studio__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.ccp-portfolio-studio{padding:38px 0 44px}.ccp-portfolio-studio__inner{width:min(100% - 28px,1580px)}.ccp-portfolio-studio__head{grid-template-columns:1fr}.ccp-portfolio-studio__signature{width:max-content}.ccp-portfolio-studio__filterbar{align-items:flex-start;flex-wrap:wrap}.ccp-portfolio-studio__filters{order:3;width:100%;flex-wrap:nowrap;overflow:auto;padding-bottom:2px;scrollbar-width:none}.ccp-portfolio-studio__filters::-webkit-scrollbar{display:none}.ccp-portfolio-studio__filter{flex:0 0 auto}.ccp-portfolio-studio__filter-live{margin-inline-start:auto}.ccp-portfolio-studio__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ccp-ps-modal__dialog{grid-template-columns:1fr}.ccp-ps-modal__visual{min-height:300px}.ccp-ps-modal__visual img{min-height:280px;max-height:380px}.ccp-ps-modal__content{padding:25px}}
@media (max-width:560px){.ccp-portfolio-studio{padding:32px 0 36px}.ccp-portfolio-studio__inner{width:calc(100% - 22px)}.ccp-portfolio-studio__head h2{font-size:20px!important}.ccp-portfolio-studio__head p{font-size:11.5px!important}.ccp-portfolio-studio__signature{display:none}.ccp-portfolio-studio__filter-label{display:none}.ccp-portfolio-studio__filterbar{padding:5px}.ccp-portfolio-studio__grid{grid-template-columns:1fr}.ccp-portfolio-studio__paper{min-height:0}.ccp-portfolio-studio__peek{display:none}.ccp-ps-modal{padding:9px}.ccp-ps-modal__dialog{max-height:calc(100vh - 18px);border-radius:18px 8px 18px 18px}.ccp-ps-modal__visual{padding:48px 12px 12px}.ccp-ps-modal__visual-meta{right:22px;left:22px;bottom:22px}.ccp-ps-modal__features{grid-template-columns:1fr}.ccp-ps-modal__content{padding:22px 18px}.ccp-ps-modal__actions{align-items:stretch;flex-direction:column}.ccp-ps-modal__open,.ccp-ps-modal__back{width:100%}}
@media (prefers-reduced-motion:reduce){.ccp-portfolio-studio__route,.ccp-portfolio-studio__nodes circle,.ccp-portfolio-studio__bp-window,.ccp-portfolio-studio__bp-device,.ccp-portfolio-studio__bp-store,.ccp-portfolio-studio__bp-code,.ccp-portfolio-studio__card{animation:none!important}.ccp-portfolio-studio__grid,.ccp-portfolio-studio__window,.ccp-portfolio-studio__window:before,.ccp-portfolio-studio__media img,.ccp-portfolio-studio__peek,.ccp-ps-modal,.ccp-ps-modal__dialog{transition:none!important}}

.ccp-elementor-portfolio-widget{width:100%;min-width:0}
.ccp-elementor-portfolio-widget__loading{padding:18px 20px;border:1px dashed #d9dde1;border-radius:14px;background:#f7f8f9;color:#69727d;text-align:center;font-size:12px;font-weight:800}
.ccp-elementor-portfolio-widget>.ccp-portfolio-studio{width:100%}
.ccp-elementor-portfolio-widget__empty{direction:rtl;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;border:1px dashed rgba(255,115,23,.25);border-radius:16px;background:linear-gradient(135deg,#fff,#f4f5f6);color:#5f6873;font-size:13px}
.ccp-elementor-portfolio-widget__empty strong{color:#202631;font-size:15px}
@media(max-width:640px){.ccp-elementor-portfolio-widget__empty{align-items:flex-start;flex-direction:column}}


/* =========================================================
   v0.15.08 — Editorial Project Portals
   A non-card portfolio language: image portals + floating rails.
   ========================================================= */
.ccp-portfolio-studio{
  padding:46px 0 54px;
  background:
    radial-gradient(circle at 92% 8%,rgba(255,115,23,.045),transparent 22%),
    radial-gradient(circle at 7% 88%,rgba(125,134,145,.085),transparent 25%),
    linear-gradient(132deg,#eef0f2 0%,#f5f6f7 34%,#fff 64%,#f0f2f3 100%);
}
.ccp-portfolio-studio__inner{width:min(1580px,calc(100% - 46px))}
.ccp-portfolio-studio__grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:28px 18px;
  align-items:start;
}
.ccp-portfolio-studio__card{
  position:relative;
  min-width:0;
  padding-inline-start:18px;
  overflow:visible;
}
.ccp-portfolio-studio__card[hidden]{display:none!important}
.ccp-portfolio-studio__card.is-revealed-late{animation:ccpPsLateReveal .52s cubic-bezier(.18,.82,.2,1) both}
.ccp-portfolio-studio__window{
  position:relative;
  display:block;
  height:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transition:none;
}
.ccp-portfolio-studio__window:before{display:none!important}
.ccp-portfolio-studio__card:hover .ccp-portfolio-studio__window{
  transform:none;
  border-color:transparent;
  box-shadow:none;
}

/* The visual itself is the object — asymmetric, not a white card. */
.ccp-portfolio-studio__media{
  position:relative;
  z-index:2;
  aspect-ratio:1.34/1;
  overflow:hidden;
  border:1px solid rgba(199,204,209,.82);
  border-radius:28px 8px 28px 28px;
  background:#e9ecef;
  clip-path:polygon(0 0,100% 0,100% 86%,94% 100%,0 100%);
  transform-origin:50% 80%;
  transition:transform .46s cubic-bezier(.18,.82,.2,1),border-color .3s ease,filter .3s ease;
  box-shadow:none;
}
.ccp-portfolio-studio__card:nth-child(4n+2) .ccp-portfolio-studio__media{
  border-radius:8px 28px 28px 28px;
  clip-path:polygon(0 0,100% 0,100% 100%,6% 100%,0 86%);
}
.ccp-portfolio-studio__card:nth-child(4n+3) .ccp-portfolio-studio__media{
  border-radius:28px 28px 8px 28px;
  clip-path:polygon(0 0,94% 0,100% 14%,100% 100%,0 100%);
}
.ccp-portfolio-studio__card:nth-child(4n+4) .ccp-portfolio-studio__media{
  border-radius:28px 28px 28px 8px;
  clip-path:polygon(6% 0,100% 0,100% 100%,0 100%,0 14%);
}
.ccp-portfolio-studio__media:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(112deg,transparent 0 63%,rgba(255,255,255,.16) 78%,transparent 92%);
  transform:translateX(-26%);
  opacity:0;
  transition:opacity .35s ease,transform .7s cubic-bezier(.18,.82,.2,1);
}
.ccp-portfolio-studio__media img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  transform:scale(1.015);
  transition:transform .8s cubic-bezier(.16,.82,.18,1),filter .4s ease!important;
}
.ccp-portfolio-studio__card:hover .ccp-portfolio-studio__media{
  transform:translateY(-5px) rotate(-.35deg);
  border-color:rgba(255,115,23,.34);
}
.ccp-portfolio-studio__card:nth-child(even):hover .ccp-portfolio-studio__media{transform:translateY(-5px) rotate(.35deg)}
.ccp-portfolio-studio__card:hover .ccp-portfolio-studio__media img{
  transform:scale(1.075);
  filter:saturate(1.06) contrast(1.025);
}
.ccp-portfolio-studio__card:hover .ccp-portfolio-studio__media:after{
  opacity:1;
  transform:translateX(22%);
}
.ccp-portfolio-studio__media-tint{
  z-index:1;
  background:
    linear-gradient(180deg,rgba(17,23,30,.02) 30%,rgba(23,28,34,.10) 64%,rgba(23,28,34,.53) 100%);
  opacity:.78;
}
.ccp-portfolio-studio__card:hover .ccp-portfolio-studio__media-tint{opacity:.64}

/* Minimal live-project capsule, not browser chrome. */
.ccp-portfolio-studio__chrome{
  position:absolute;
  z-index:5;
  top:12px;
  left:12px;
  right:12px;
  height:auto;
  min-height:27px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  backdrop-filter:none;
  box-shadow:none;
  pointer-events:none;
}
.ccp-portfolio-studio__chrome-label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:26px;
  padding:0 9px;
  border:1px solid rgba(255,255,255,.73);
  border-radius:999px;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(10px);
  color:#5f6873;
  font:900 7px/1 Arial,sans-serif;
  letter-spacing:.09em;
}
.ccp-portfolio-studio__chrome-label i{
  width:6px;height:6px;border-radius:50%;background:var(--ps-orange);
  box-shadow:0 0 0 4px rgba(255,115,23,.10);
}
.ccp-portfolio-studio__chrome em{
  margin-inline-start:auto;
  max-width:52%;
  padding:7px 9px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  border:1px solid rgba(255,255,255,.65);
  border-radius:999px;
  background:rgba(255,255,255,.76);
  backdrop-filter:blur(10px);
  color:#6f7781;
  font:800 7px/1 ui-monospace,SFMono-Regular,monospace;
  direction:ltr;
  text-align:left;
}
.ccp-portfolio-studio__index{
  right:13px;
  bottom:13px;
  min-width:34px;
  height:30px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.90);
  color:#5e6670;
  font-size:8px;
  box-shadow:none;
}
.ccp-portfolio-studio__type{
  left:13px;
  bottom:13px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.66);
  background:rgba(255,255,255,.88);
  color:#d45a0d;
  font-size:7.5px;
  box-shadow:none;
}
.ccp-portfolio-studio__peek{
  left:50%;
  top:50%;
  min-height:38px;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.90);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#303740;
  font-size:8.5px;
  box-shadow:0 11px 30px rgba(25,31,38,.12);
  transform:translate(-50%,-40%) scale(.94);
}
.ccp-portfolio-studio__peek b{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--ps-orange);color:#fff;font-size:11px}
.ccp-portfolio-studio__card:hover .ccp-portfolio-studio__peek{transform:translate(-50%,-50%) scale(1)}

/* Editorial metadata: open layout, no container box. */
.ccp-portfolio-studio__project-meta{
  position:relative;
  z-index:4;
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-width:0;
  margin:11px 5px 0;
  padding:0 0 0 2px;
}
.ccp-portfolio-studio__project-copy{min-width:0;flex:1}
.ccp-portfolio-studio__project-copy>span{
  display:block;
  margin-bottom:3px;
  color:#a06c49;
  font:900 6.8px/1.25 Arial,sans-serif;
  letter-spacing:.13em;
}
.ccp-portfolio-studio__project-copy h3{
  margin:0!important;
  overflow:hidden;
  color:#252b33!important;
  font-size:14px!important;
  line-height:1.55!important;
  font-weight:900!important;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ccp-portfolio-studio__project-actions{
  display:flex;
  align-items:center;
  gap:5px;
  flex:0 0 auto;
}
.ccp-portfolio-studio__details,
.ccp-portfolio-studio__visit{
  appearance:none;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0 10px;
  border-radius:999px;
  text-decoration:none!important;
  font:900 7.8px/1 inherit;
  cursor:pointer;
  transition:transform .22s ease,border-color .22s ease,background .22s ease,color .22s ease;
}
.ccp-portfolio-studio__details{
  border:1px solid #dadfe3;
  background:rgba(255,255,255,.78);
  color:#5c6570;
}
.ccp-portfolio-studio__details b{color:var(--ps-orange);font-size:11px}
.ccp-portfolio-studio__visit{
  padding:0;
  width:34px;
  border:1px solid rgba(255,115,23,.25);
  background:#fff5ed;
  color:#d45b0e;
}
.ccp-portfolio-studio__visit span{display:none}
.ccp-portfolio-studio__details:hover{
  transform:translateY(-2px);
  border-color:var(--ps-orange);
  background:var(--ps-orange);
  color:#fff;
}
.ccp-portfolio-studio__details:hover b{color:#fff}
.ccp-portfolio-studio__visit:hover{
  transform:translateY(-2px) rotate(-5deg);
  border-color:var(--ps-orange);
  background:var(--ps-orange);
  color:#fff;
}

/* Narrow technical rail gives each item an editorial identity. */
.ccp-portfolio-studio__rail{
  position:absolute;
  z-index:1;
  top:24px;
  bottom:48px;
  inset-inline-start:0;
  width:14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  pointer-events:none;
}
.ccp-portfolio-studio__rail small{
  color:#9aa1a9;
  font:900 5.7px/1 Arial,sans-serif;
  letter-spacing:.13em;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
}
.ccp-portfolio-studio__rail i{
  width:1px;
  flex:1;
  min-height:20px;
  background:linear-gradient(to bottom,rgba(255,115,23,.65),rgba(181,188,195,.18));
}
.ccp-portfolio-studio__rail b{
  color:#9aa1a9;
  font:900 6.8px/1 ui-monospace,monospace;
}

/* Load-more: a centered launch control, not a generic rectangular button. */
.ccp-portfolio-studio__more-wrap{
  position:relative;
  display:flex;
  justify-content:center;
  margin-top:28px;
  padding-top:18px;
}
.ccp-portfolio-studio__more-wrap[hidden]{display:none!important}
.ccp-portfolio-studio__more-wrap:before{
  content:"";
  position:absolute;
  top:0;
  right:8%;
  left:8%;
  height:1px;
  background:linear-gradient(90deg,transparent,#dfe3e6 18%,#dfe3e6 82%,transparent);
}
.ccp-portfolio-studio__more{
  appearance:none;
  position:relative;
  display:grid;
  grid-template-columns:auto auto;
  grid-template-rows:auto auto;
  column-gap:12px;
  align-items:center;
  min-width:205px;
  min-height:54px;
  padding:8px 12px 8px 58px;
  border:1px solid #dce1e4;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:#353c45;
  text-align:right;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(31,38,46,.04);
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.ccp-portfolio-studio__more>span{
  grid-column:1;
  grid-row:1;
  font-size:10px;
  line-height:1.3;
  font-weight:950;
}
.ccp-portfolio-studio__more>small{
  grid-column:1;
  grid-row:2;
  margin-top:2px;
  color:#8a929a;
  font-size:7.5px;
  font-weight:800;
}
.ccp-portfolio-studio__more>b{
  position:absolute;
  left:8px;
  top:7px;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:var(--ps-orange);
  color:#fff;
  font:300 23px/1 Arial,sans-serif;
  transition:transform .35s cubic-bezier(.2,.8,.2,1);
}
.ccp-portfolio-studio__more:hover{
  transform:translateY(-2px);
  border-color:#ffc7a1;
  background:#fff;
}
.ccp-portfolio-studio__more:hover>b{transform:rotate(90deg)}
.ccp-portfolio-studio__more:focus-visible{outline:3px solid rgba(255,115,23,.18);outline-offset:3px}

@keyframes ccpPsLateReveal{
  from{opacity:0;transform:translateY(16px) scale(.982)}
  to{opacity:1;transform:none}
}

@media(max-width:1240px){
  .ccp-portfolio-studio__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .ccp-portfolio-studio__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
}
@media(max-width:560px){
  .ccp-portfolio-studio__inner{width:calc(100% - 22px)}
  .ccp-portfolio-studio__grid{grid-template-columns:1fr;gap:23px}
  .ccp-portfolio-studio__card{padding-inline-start:14px}
  .ccp-portfolio-studio__media{aspect-ratio:1.42/1;border-radius:24px 8px 24px 24px}
  .ccp-portfolio-studio__project-meta{margin-top:9px}
  .ccp-portfolio-studio__project-copy h3{font-size:13.5px!important}
  .ccp-portfolio-studio__details{min-width:34px;padding:0;width:34px}
  .ccp-portfolio-studio__details span{display:none}
  .ccp-portfolio-studio__more{min-width:198px}
  .ccp-portfolio-studio__rail{top:20px;bottom:44px}
}
@media(prefers-reduced-motion:reduce){
  .ccp-portfolio-studio__card.is-revealed-late,
  .ccp-portfolio-studio__media,
  .ccp-portfolio-studio__media:after,
  .ccp-portfolio-studio__media img,
  .ccp-portfolio-studio__more,
  .ccp-portfolio-studio__more>b{animation:none!important;transition:none!important}
}
