/* Portfolio em cartões empilhados, integrado à rolagem da página. */
#portfolio.cp-stack{overflow:visible;padding:0 0 50px;background:linear-gradient(145deg,#ffe12a,#e7c900);isolation:isolate}
#portfolio.cp-stack:before,#portfolio.cp-stack .portfolio-flying-images{display:none}
#portfolio.cp-stack>.container{position:sticky;top:82px;height:calc(100svh - 82px);min-height:590px;max-width:1400px;width:94%;padding:24px 0;display:flex;flex-direction:column}
#portfolio.cp-stack .portfolio-top{flex:none;gap:20px;margin:0 0 45px;align-items:center;opacity:1;transform:none}
#portfolio.cp-stack .portfolio-top h2{font-size:clamp(23px,2.6vw,38px);margin:4px 0}
#portfolio.cp-stack .portfolio-top p{display:none}
#portfolio.cp-stack .filters{max-width:52%;gap:6px;flex-wrap:wrap}
#portfolio.cp-stack .filters button{padding:7px 10px;font-size:11px}
#portfolio.cp-stack .portfolio-grid{position:relative;display:block;flex:1;min-height:0;margin:0 0 38px;perspective:1500px}
#portfolio.cp-stack .portfolio-card{position:absolute;inset:0;display:grid;grid-template-columns:40% 60%;border:1px solid #ffffff30;border-radius:22px;background:#10120e;color:white;box-shadow:0 -7px 28px #332b0033;transform-origin:center top;will-change:transform;transition:none;overflow:hidden}
#portfolio.cp-stack .portfolio-card-image{grid-column:2;grid-row:1;height:100%;min-height:0;border-radius:0}
#portfolio.cp-stack .project-card-media{height:100%;width:100%;object-fit:cover;transform:none}
#portfolio.cp-stack .portfolio-card-content{grid-column:1;grid-row:1;padding:clamp(24px,4vw,64px);display:flex;flex-direction:column;justify-content:center;background:radial-gradient(ellipse at 0 0,#33351d,transparent 90%)}
#portfolio.cp-stack .portfolio-card-content h3{color:#ffdf00;font-size:clamp(24px,3vw,44px);line-height:1.15;margin-bottom:20px}
#portfolio.cp-stack .portfolio-card-content p{color:#c8c9be;font-size:14px;line-height:1.7}
#portfolio.cp-stack .portfolio-view-btn{align-self:flex-start;margin-top:25px;border:1px solid #ffdf00;border-radius:50px;padding:15px 24px;color:#111;background:#ffdf00}
#portfolio.cp-stack .portfolio-card-badge{background:#111d;color:#ffe12a}
.cp-controls{position:absolute;bottom:14px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#171b10;font-size:12px}
.cp-controls button{background:#111;color:#ffdf00;border:0;border-radius:24px;padding:9px 18px;cursor:pointer}.cp-controls button:disabled{opacity:.35;cursor:default}.cp-controls span{font-variant-numeric:tabular-nums}
@media(max-width:650px){#portfolio.cp-stack>.container{min-height:640px;width:92%;padding-top:18px}#portfolio.cp-stack .portfolio-top{display:block;margin-bottom:34px}#portfolio.cp-stack .portfolio-top h2{font-size:23px}#portfolio.cp-stack .filters{max-width:100%;margin-top:12px;gap:5px}#portfolio.cp-stack .filters button{font-size:10px;padding:6px 8px}#portfolio.cp-stack .portfolio-card{grid-template-columns:1fr;grid-template-rows:55% 45%;border-radius:16px}#portfolio.cp-stack .portfolio-card-image{grid-column:1;grid-row:1}#portfolio.cp-stack .portfolio-card-content{grid-column:1;grid-row:2;padding:18px 22px}#portfolio.cp-stack .portfolio-card-content h3{font-size:23px;margin:0 0 8px}#portfolio.cp-stack .portfolio-card-content p{font-size:12px;line-height:1.4;margin:0}#portfolio.cp-stack .portfolio-view-btn{padding:9px 16px;margin-top:12px;font-size:11px}.cp-controls{font-size:10px}.cp-controls button{padding:8px 12px}}
.cp-controls[hidden]{display:none}
