.dfp-chip{min-height:38px;padding:8px 14px;display:inline-flex;align-items:center;gap:8px;color:#56545c;border:1px solid rgba(30,28,34,.075);border-radius:999px;background:#fff;box-shadow:0 4px 10px rgba(35,30,55,.025);font-family:inherit;font-size:8px;font-weight:720;cursor:pointer;transition:color .25s ease,background .25s ease,border-color .25s ease,transform .3s cubic-bezier(.16,1,.3,1)}.dfp-chip:hover{color:var(--df-purple);border-color:rgba(103,72,255,.18);transform:translateY(-2px)}.dfp-chip.is-active{color:#fff;border-color:var(--df-purple);background:var(--df-purple)}.dfp-chip-icon{font-size:11px;line-height:1}.dfp-project{position:relative;grid-column:span 4;min-width:0;overflow:hidden;border:1px solid rgba(26,24,30,.065);border-radius:18px;background:#fff;box-shadow:0 5px 16px rgba(38,32,62,.025);transform:translateY(12px) scale(.985);opacity:0;animation:dfpCardIn .62s cubic-bezier(.16,1,.3,1) forwards;transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .3s ease,box-shadow .35s ease}.dfp-project:hover{z-index:3;transform:translateY(-7px);border-color:rgba(103,72,255,.15);box-shadow:0 18px 37px rgba(52,41,105,.07)}.dfp-project.is-website{grid-column:span 6}.dfp-browser{position:relative;aspect-ratio:16/9;overflow:hidden;background:#eeeef4}.dfp-browser-bar{position:absolute;top:0;left:0;right:0;z-index:4;height:29px;padding:0 10px;display:flex;align-items:center;gap:5px;background:rgba(255,255,255,.93);border-bottom:1px solid rgba(0,0,0,.05);backdrop-filter:blur(8px)}.dfp-browser-dot{width:5px;height:5px;border-radius:50%;background:rgba(25,24,30,.18)}.dfp-browser-domain{max-width:55%;margin-left:7px;overflow:hidden;color:#8a8790;font-size:6px;text-overflow:ellipsis;white-space:nowrap}.dfp-browser img{width:100%;height:100%;display:block;object-fit:cover;object-position:top center;transition:transform 7s cubic-bezier(.15,.8,.25,1)}.dfp-project.is-website:hover .dfp-browser img{transform:translateY(-7%) scale(1.035)}.dfp-site-placeholder{width:100%;height:100%;padding:36px 20px 20px;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at 70% 20%,rgba(103,72,255,.18),transparent 30%),linear-gradient(145deg,#f8f7ff,#eeecf7)}.dfp-site-placeholder strong{display:block;margin-bottom:5px;color:var(--df-ink);font-size:20px;letter-spacing:-1px}.dfp-site-placeholder span{color:var(--df-purple);font-size:7px;font-weight:800}.dfp-media{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:#ecebf1;cursor:zoom-in}.dfp-project.is-portrait .dfp-media{aspect-ratio:4/5}.dfp-project.is-landscape .dfp-media{aspect-ratio:16/10}.dfp-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1)}.dfp-project:hover .dfp-media img{transform:scale(1.035)}.dfp-media-overlay{position:absolute;inset:auto 9px 9px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:10px;opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .4s cubic-bezier(.16,1,.3,1)}.dfp-project:hover .dfp-media-overlay{opacity:1;transform:translateY(0)}.dfp-media-overlay span:first-child{padding:7px 9px;color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(20,18,28,.68);backdrop-filter:blur(10px);font-size:6px;font-weight:750}.dfp-view-icon{width:32px;height:32px;display:grid;place-items:center;color:var(--df-purple);border-radius:50%;background:#fff;font-size:11px}.dfp-project-info{padding:15px}.dfp-project-topline{margin-bottom:7px;display:flex;align-items:center;justify-content:space-between;gap:10px}.dfp-project-category{color:var(--df-purple);font-size:6px;font-weight:850;letter-spacing:.65px;text-transform:uppercase}.dfp-project-year{color:#aaa7b1;font-size:6px}.dfp-project-info h3{margin:0 0 6px;color:var(--df-ink);font-size:clamp(12px,1.08vw,15px);font-weight:820;letter-spacing:-.35px}.dfp-project-info p{min-height:34px;margin:0 0 13px;color:var(--df-muted);font-size:8px;line-height:1.5}.dfp-project-link{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--df-purple);text-decoration:none;font-size:7px;font-weight:800}.dfp-project-link span:last-child{width:29px;height:29px;display:grid;place-items:center;border:1px solid rgba(103,72,255,.12);border-radius:9px;background:rgba(103,72,255,.055);transition:transform .35s cubic-bezier(.16,1,.3,1)}.dfp-project-link:hover span:last-child{transform:translate(2px,-2px)}.dfp-video-preview{position:relative;width:100%;overflow:hidden;background:linear-gradient(145deg,#201942,#6748ff);cursor:pointer}.dfp-video-preview.portrait{aspect-ratio:4/5}.dfp-video-preview.landscape{aspect-ratio:16/10}.dfp-video-preview video{width:100%;height:100%;display:block;object-fit:cover;background:#211a40}.dfp-video-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.17),transparent 25%),linear-gradient(145deg,#2d2357,#6748ff)}.dfp-video-play{width:54px;height:54px;display:grid;place-items:center;color:var(--df-purple);border:1px solid rgba(255,255,255,.8);border-radius:50%;background:#fff;box-shadow:0 12px 35px rgba(0,0,0,.18);font-size:16px;transition:transform .4s cubic-bezier(.16,1,.3,1)}.dfp-video-preview:hover .dfp-video-play{transform:scale(1.09)}.dfp-lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto}.dfp-lightbox.is-open .dfp-lightbox-dialog{transform:translateY(0) scale(1)}.dfp-lightbox-stage img{display:block;max-width:100%;max-height:calc(92vh - 59px);object-fit:contain}.dfp-lightbox-stage video{display:block;width:100%;max-height:calc(92vh - 59px);background:#111}@media (min-width:1101px){.dfp-project:not(.is-website):nth-child(7n+1),.dfp-project:not(.is-website):nth-child(7n+5){grid-column:span 3}.dfp-project:not(.is-website):nth-child(7n+2),.dfp-project:not(.is-website):nth-child(7n+6){grid-column:span 3}}@media (max-width:1100px){.dfp-project,.dfp-project.is-website{grid-column:span 6}}@media (max-width:700px){.dfp-project,.dfp-project.is-website{grid-column:span 1;border-radius:14px}.dfp-project.is-website{grid-column:1/-1}.dfp-project-info{padding:11px}.dfp-project-info p{min-height:0;font-size:7.2px}.dfp-media-overlay{display:none}.dfp-project-info h3{font-size:11px}.dfp-browser{aspect-ratio:16/10}.dfp-project-link{font-size:7px}}@media (max-width:430px){.dfp-project,.dfp-project.is-website{grid-column:1/-1}.dfp-media{aspect-ratio:1}.dfp-project.is-portrait .dfp-media{aspect-ratio:4/5}}