/* Studio DPH — premium dynamic portfolio cards */
.portfolio-grid.is-enhanced{gap:clamp(14px,1.4vw,22px)}
.portfolio-card{overflow:hidden;isolation:isolate;min-height:510px;padding:0 30px 31px;background:linear-gradient(155deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:0 22px 60px rgba(0,0,0,.22)}
.portfolio-card:hover,.portfolio-card:focus-visible{background:linear-gradient(155deg,rgba(232,188,89,.10),rgba(255,255,255,.025));box-shadow:0 34px 85px rgba(0,0,0,.34);transform:translateY(-6px)}
.portfolio-visual{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;margin:0 -30px 25px;border-bottom:1px solid rgba(232,188,89,.22);background:#060806;pointer-events:none}
.portfolio-visual-backdrop{position:absolute;inset:0;background:
 linear-gradient(180deg,rgba(4,5,4,.03),rgba(4,5,4,.78)),
 url(../studio-dph-hero-clean.png) 50% 56%/cover no-repeat;filter:saturate(.78) contrast(1.06);transform:scale(1.015);transition:filter .65s ease,transform .85s cubic-bezier(.2,.75,.2,1)}
.portfolio-visual-shade{position:absolute;inset:0;background:
 linear-gradient(90deg,rgba(4,5,4,.72),transparent 58%),
 radial-gradient(circle at 78% 18%,rgba(232,188,89,.19),transparent 28%),
 linear-gradient(0deg,rgba(4,5,4,.72),transparent 48%)}
.portfolio-card:hover .portfolio-visual-backdrop,.portfolio-card:focus-visible .portfolio-visual-backdrop{filter:saturate(.92) contrast(1.1);transform:scale(1.065)}
.portfolio-provider-badge{position:absolute;top:18px;left:18px;z-index:2;display:inline-flex;align-items:center;min-height:29px;padding:0 11px;border:1px solid rgba(232,188,89,.46);background:rgba(5,7,6,.72);color:#e8bc59;font-size:8px;letter-spacing:.17em;text-transform:uppercase;backdrop-filter:blur(10px)}
.portfolio-action-mark{position:absolute;right:20px;bottom:18px;z-index:3;display:grid;place-items:center;width:54px;height:54px;border:1px solid rgba(232,188,89,.7);border-radius:50%;background:rgba(5,7,6,.73);color:#e8bc59;font-size:15px;line-height:1;box-shadow:0 0 34px rgba(232,188,89,.08);backdrop-filter:blur(9px);transition:background .3s ease,transform .3s ease}
.portfolio-card:hover .portfolio-action-mark,.portfolio-card:focus-visible .portfolio-action-mark{background:rgba(232,188,89,.16);transform:scale(1.08)}
.portfolio-card[data-kind="music"] .portfolio-visual-backdrop{background:
 linear-gradient(145deg,rgba(5,7,6,.7),rgba(5,7,6,.94)),
 url(../studio-dph-hero-clean.png) 50% 60%/cover no-repeat;filter:saturate(.35) contrast(1.1)}
.portfolio-card[data-provider="spotify"] .portfolio-visual-shade{background:radial-gradient(circle at 72% 18%,rgba(67,214,126,.16),transparent 30%),linear-gradient(120deg,rgba(4,6,5,.72),rgba(4,6,5,.26)),linear-gradient(0deg,rgba(4,6,5,.78),transparent 55%)}
.portfolio-card[data-provider="soundcloud"] .portfolio-visual-shade{background:radial-gradient(circle at 72% 18%,rgba(244,124,49,.16),transparent 30%),linear-gradient(120deg,rgba(4,6,5,.72),rgba(4,6,5,.26)),linear-gradient(0deg,rgba(4,6,5,.78),transparent 55%)}
.portfolio-card[data-provider="applemusic"] .portfolio-visual-shade{background:radial-gradient(circle at 72% 18%,rgba(235,74,104,.14),transparent 30%),linear-gradient(120deg,rgba(4,6,5,.72),rgba(4,6,5,.26)),linear-gradient(0deg,rgba(4,6,5,.78),transparent 55%)}
.portfolio-wave-art{position:absolute;right:86px;bottom:27px;left:21px;z-index:2;display:flex;align-items:end;gap:clamp(2px,.35vw,5px);height:76px;opacity:.72;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.portfolio-wave-art i{display:block;flex:1;max-width:5px;height:var(--wave-height);background:linear-gradient(180deg,rgba(244,214,145,.96),rgba(232,188,89,.22));transform-origin:bottom;transition:height .35s ease,opacity .35s ease}
.portfolio-card:hover .portfolio-wave-art i,.portfolio-card:focus-visible .portfolio-wave-art i{animation:dph-wave-breathe 1.8s ease-in-out infinite alternate;animation-delay:calc(var(--wave-index) * -55ms)}
@keyframes dph-wave-breathe{from{transform:scaleY(.72);opacity:.58}to{transform:scaleY(1.08);opacity:1}}
.portfolio-card>span:not(.portfolio-visual){display:block;margin:0 0 17px;color:#e8bc59;letter-spacing:.18em;text-transform:uppercase;font-size:8px}
.portfolio-card h3{margin:0 48px 15px 0;font-size:clamp(31px,3.2vw,50px);line-height:1.02}
.portfolio-card p{margin:0 48px 0 0;color:rgba(255,255,255,.55);font-size:13px;line-height:1.65}
.portfolio-card b{right:29px;bottom:28px}
.films-section.has-live-projects .showreel-placeholder{display:none}
.films-section.has-live-projects .portfolio-grid{margin-top:55px}
@media(max-width:720px){
 .portfolio-card{min-height:440px;padding:0 23px 26px}
 .portfolio-visual{margin:0 -23px 22px}
 .portfolio-provider-badge{top:14px;left:14px}
 .portfolio-action-mark{right:15px;bottom:14px;width:48px;height:48px}
 .portfolio-wave-art{right:76px;left:16px;bottom:22px;height:61px}
 .portfolio-card h3{font-size:clamp(31px,10vw,45px)}
}
@media(prefers-reduced-motion:reduce){.portfolio-card:hover .portfolio-wave-art i,.portfolio-card:focus-visible .portfolio-wave-art i{animation:none}.portfolio-visual-backdrop,.portfolio-action-mark{transition:none}}
