.elementor-widget-shortcode{min-height:100%}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.portfolio-item{position:relative;overflow:hidden;opacity:0;transform:translateY(10px);transition:all .35s ease}.portfolio-item.is-visible{opacity:1;transform:translateY(0)}.jgb_item-thumb-wrapper{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:#f3f3f3}.jgb_item-thumb-wrapper img{width:100%;height:100%!important;object-fit:cover;transition:transform .5s ease}.jgb_item:hover img{transform:scale(1.06)}.jgb_item-body{position:absolute;bottom:0;left:0;width:100%;padding:18px;background:linear-gradient(to top,rgba(0,0,0,.7),rgba(0,0,0,0));color:#fff}.jgb_item-title{font-size:16px;font-weight:600}.jgb_item-taxonomy{font-size:12px;font-weight:400}.jgb_item-taxonomy a{color:#fff}.portfolio-controls{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin-bottom:20px;width:100%}.portfolio-search-wrap{flex-grow:1;max-width:300px}.portfolio-search{width:100%;padding:8px 14px;border:1px solid #ddd;background:#fff;font-family:inherit!important;font-size:14px;border-radius:4px;outline:none;transition:border-color .25s ease;box-sizing:border-box}.portfolio-search:focus{border-color:#202a44}.portfolio-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:0}.filter-btn{font-family:inherit!important;padding:6px 14px;border:1px solid #ddd;background:#fff;cursor:pointer;font-size:14px;transition:all .25s ease}.filter-btn:hover{background:#202a44;color:#fff;border-color:#202a44}.filter-btn.active{background:#202a44;color:#fff;border-color:#202a44}.no-results{grid-column:1/-1;text-align:center;color:#999;padding:40px 0;font-size:16px}.no-more-posts{grid-column:1/-1;text-align:center;color:#ccc;margin-top:20px;font-size:14px}.loading-spinner{border:4px solid rgba(0,0,0,.1);border-left-color:#333;border-radius:50%;width:36px;height:36px;animation:spin 1s linear infinite;margin:auto}@media (max-width:1024px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.portfolio-grid{grid-template-columns:1fr}}.portfolio-filters{min-height:40px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.portfolio-grid{min-height:100%}