.projects-shell.projects-v2{background:radial-gradient(860px 360px at 0% 0%,#3e7aba24,#3e7aba00 58%),var(--c-bg);min-height:100vh;padding:var(--space-6) 0 var(--space-8)}.projects-shell.projects-v2 .projects-v2__hero{margin-bottom:var(--space-5);border:1px solid var(--c-line);border-radius:var(--radius-xl);background:#fff;box-shadow:var(--shadow-sm);padding:var(--space-6)}.projects-shell.projects-v2 .projects-v2__hero h1{margin:0 0 4px;font-size:clamp(30px,4vw,46px);line-height:1.08;color:var(--c-accent);letter-spacing:-.01em}.projects-shell.projects-v2 .projects-v2__hero .lead{color:var(--c-muted);font-size:14px}.projects-shell.projects-v2 .projects-v2__hero .lead i{color:var(--c-primary)}.projects-shell.projects-v2 .shop-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.projects-shell.projects-v2 .shop-meta .shop-chip{border:1px solid var(--c-line);background:#fff;color:#334155;font-size:12px;font-weight:600}.projects-shell.projects-v2 .projects-v2__hero.is-filtered{border-color:#b9d0ea;background:linear-gradient(135deg,#eef5fcf2,#fff 58%),#fff}.projects-shell.projects-v2 .projects-v2__hero-eyebrow{display:inline-flex;align-items:center;gap:6px;margin:0;color:var(--c-primary);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.projects-shell.projects-v2 .projects-v2__hero-eyebrow i{font-size:12px}.projects-shell.projects-v2 .projects-v2__hero-clear{text-decoration:none;transition:all .2s ease}.projects-shell.projects-v2 .projects-v2__hero-clear:hover{border-color:#d7a0a0;background:#fff5f5;color:#b42318}.projects-shell.projects-v2 .projects-v2__active-filter{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px;padding:10px 14px;border:1px solid #c8d9ee;border-radius:var(--radius-lg);background:#f7fbff}.projects-shell.projects-v2 .projects-v2__active-filter-copy{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;color:#334155;font-size:13px}.projects-shell.projects-v2 .projects-v2__active-filter-copy i{color:var(--c-primary)}.projects-shell.projects-v2 .projects-v2__active-filter-copy strong{color:var(--c-accent);font-weight:700}.projects-shell.projects-v2 .projects-v2__active-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 7px;border-radius:999px;background:#fff;border:1px solid #c8d9ee;color:var(--c-primary);font-size:11px;font-weight:700;line-height:1}.projects-shell.projects-v2 .projects-v2__active-filter-clear{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--c-line);border-radius:999px;background:#fff;color:#334155;padding:6px 12px;font-size:12px;font-weight:600;text-decoration:none;transition:all .2s ease}.projects-shell.projects-v2 .projects-v2__active-filter-clear:hover{border-color:#a9c2de;color:var(--c-primary);background:#fff}.projects-shell.projects-v2 .projects-v2__related-tags{display:grid;gap:8px;margin:0 0 14px;padding:12px 14px;border:1px solid var(--c-line);border-radius:var(--radius-lg);background:#fff}.projects-shell.projects-v2 .projects-v2__related-tags-label{display:inline-flex;align-items:center;gap:6px;color:var(--c-muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.projects-shell.projects-v2 .projects-v2__related-tags-label i{color:var(--c-primary)}.projects-shell.projects-v2 .projects-v2__related-tags-list{display:flex;flex-wrap:wrap;gap:6px}.projects-shell.projects-v2 .projects-v2__related-tag{display:inline-flex;align-items:center;gap:6px;border:1px solid #d7e5f4;border-radius:999px;background:#f8fbff;color:#334155;padding:5px 10px;font-size:12px;font-weight:600;text-decoration:none;transition:all .2s ease}.projects-shell.projects-v2 .projects-v2__related-tag:hover{border-color:#9bb9dc;color:var(--c-primary);background:#eef5fc}.projects-shell.projects-v2 .projects-v2__toolbar{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;gap:10px;align-items:end;margin:0 0 14px;padding:12px 14px;border:1px solid var(--c-line);border-radius:var(--radius-lg);background:#fff}.projects-shell.projects-v2 .projects-v2__toolbar-field{display:grid;gap:4px;margin:0}.projects-shell.projects-v2 .projects-v2__toolbar-field--search{position:relative}.projects-shell.projects-v2 .projects-v2__toolbar-field--search i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--c-muted);font-size:14px;pointer-events:none}.projects-shell.projects-v2 .projects-v2__toolbar-field--search .form-control{padding-left:36px;border-radius:10px;border-color:var(--c-line-strong);min-height:40px;font-size:14px}.projects-shell.projects-v2 .projects-v2__toolbar-field--sort .form-select{border-radius:10px;border-color:var(--c-line-strong);min-height:40px;font-size:14px}.projects-shell.projects-v2 .projects-v2__toolbar-actions{display:flex;flex-wrap:wrap;gap:8px}.projects-shell.projects-v2 .projects-v2__toolbar-submit,.projects-shell.projects-v2 .projects-v2__toolbar-reset{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 14px;border-radius:10px;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s ease}.projects-shell.projects-v2 .projects-v2__toolbar-submit{border:1px solid var(--c-primary);background:var(--c-primary);color:#fff}.projects-shell.projects-v2 .projects-v2__toolbar-submit:hover{filter:brightness(.95);color:#fff}.projects-shell.projects-v2 .projects-v2__toolbar-reset{border:1px solid var(--c-line);background:#fff;color:#334155}.projects-shell.projects-v2 .projects-v2__toolbar-reset:hover{border-color:#d7a0a0;background:#fff5f5;color:#b42318}.projects-shell.projects-v2 .projects-v2__share{border:1px solid var(--c-line);background:#fff;color:#334155;cursor:pointer;transition:all .2s ease}.projects-shell.projects-v2 .projects-v2__share:hover{border-color:#9bb9dc;background:#eef5fc;color:var(--c-primary)}.projects-shell.projects-v2 .projects-v2__tag.is-tag-collapsed[hidden]{display:none!important}.projects-shell.projects-v2 .projects-v2__tags-toggle-wrap{margin:0 0 14px}.projects-shell.projects-v2 .projects-v2__tags-toggle{display:inline-flex;align-items:center;gap:6px;border:1px dashed var(--c-line-strong);border-radius:999px;background:#fff;color:var(--c-primary);padding:6px 12px;font-size:12px;font-weight:700}.projects-shell.projects-v2 .projects-v2__tags-toggle:hover{border-color:#9bb9dc;background:#f7fbff}.projects-shell.projects-v2 .projects-v2__range{margin:0 0 12px;color:var(--c-muted);font-size:13px;font-weight:600}.projects-shell.projects-v2 .projects-v2__tags-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px}.projects-shell.projects-v2 .projects-v2__tag-search{position:relative;display:inline-flex;align-items:center;min-width:min(100%,220px)}.projects-shell.projects-v2 .projects-v2__tag-search i{position:absolute;left:10px;color:var(--c-muted);font-size:12px;pointer-events:none}.projects-shell.projects-v2 .projects-v2__tag-search input{width:100%;border:1px solid var(--c-line);border-radius:999px;background:#fff;color:#334155;padding:6px 12px 6px 30px;font-size:12px}.projects-shell.projects-v2 .projects-v2__tag-search input:focus{outline:none;border-color:#9bb9dc;box-shadow:0 0 0 3px #3e7aba1f}.projects-shell.projects-v2 .projects-v2__spotlight{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px;margin:0 0 16px;padding:14px;border:1px solid #c8d9ee;border-radius:var(--radius-xl);background:linear-gradient(135deg,#eef5fce6,#fff 62%),#fff;box-shadow:var(--shadow-sm);overflow:hidden}.projects-shell.projects-v2 .projects-v2__spotlight-badge{position:absolute;top:14px;left:14px;z-index:2;display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#0f172ac7;color:#fff;padding:6px 10px;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.projects-shell.projects-v2 .projects-v2__spotlight-media{position:relative;display:block;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--c-line);background:#f1f5f9;aspect-ratio:4 / 3}.projects-shell.projects-v2 .projects-v2__spotlight-media img{width:100%;height:100%;object-fit:cover}.projects-shell.projects-v2 .projects-v2__spotlight-body{display:grid;align-content:center;gap:12px;padding:8px 4px}.projects-shell.projects-v2 .projects-v2__spotlight-eyebrow{display:inline-flex;align-items:center;gap:6px;margin:0;color:var(--c-primary);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.projects-shell.projects-v2 .projects-v2__spotlight-title{display:block;color:var(--c-accent);font-size:clamp(22px,3vw,32px);line-height:1.15;font-weight:800;letter-spacing:-.02em;text-decoration:none}.projects-shell.projects-v2 .projects-v2__spotlight-title:hover{color:var(--c-primary)}.projects-shell.projects-v2 .projects-v2__spotlight-cta,.projects-shell.projects-v2 .projects-v2__card-cta{display:inline-flex;align-items:center;gap:6px;width:fit-content;color:var(--c-primary);font-size:13px;font-weight:700;text-decoration:none;transition:gap .2s ease,color .2s ease}.projects-shell.projects-v2 .projects-v2__spotlight-cta:hover,.projects-shell.projects-v2 .projects-v2__card-cta:hover{gap:10px;color:var(--c-accent)}.projects-shell.projects-v2 .projects-v2__media-badge{position:absolute;right:8px;bottom:8px;z-index:2;display:inline-flex;align-items:center;gap:4px;border-radius:999px;background:#0f172ab8;color:#fff;padding:4px 8px;font-size:11px;font-weight:700;line-height:1}.projects-shell.projects-v2 .projects-v2__card-tag-more{display:inline-flex;align-items:center;border-radius:999px;background:#eef2f7;color:var(--c-muted);padding:3px 8px;font-size:10px;font-weight:700;line-height:1.2}.projects-shell.projects-v2 .projects-v2__tags-label{display:inline-flex;align-items:center;gap:6px;color:var(--c-muted);font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.projects-shell.projects-v2 .projects-v2__tags-label i{color:var(--c-primary);font-size:12px}.projects-shell.projects-v2 .projects-v2__tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.projects-shell.projects-v2 .projects-v2__tag{border:1px solid var(--c-line);border-radius:999px;background:#fff;color:#334155;padding:7px 12px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:all .2s ease;scroll-margin-top:88px}.projects-shell.projects-v2 .projects-v2__tag-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:999px;background:#f1f5f9;color:var(--c-muted);font-size:10px;font-weight:700;line-height:1}.projects-shell.projects-v2 .projects-v2__tag.is-active .projects-v2__tag-count{background:#ffffffb8;color:var(--c-primary)}.projects-shell.projects-v2 .projects-v2__tag i{color:var(--c-muted);font-size:12px}.projects-shell.projects-v2 .projects-v2__tag:hover{border-color:#a9c2de;color:var(--c-primary);background:#f7fbff}.projects-shell.projects-v2 .projects-v2__tag.is-active{border-color:#9bb9dc;background:#eef5fc;color:var(--c-primary)}.projects-shell.projects-v2 .projects-grid.projects-v2__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}.projects-shell.projects-v2 .project-card.projects-v2__card{position:relative;border:1px solid var(--c-line);border-radius:var(--radius-lg);overflow:hidden;background:var(--c-panel);box-shadow:var(--shadow-xs);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;display:flex;flex-direction:column;height:100%}.projects-shell.projects-v2 .project-card.projects-v2__card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--c-line-strong)}.projects-shell.projects-v2 .project-media.projects-v2__media{position:relative;display:block;border-bottom:1px solid var(--c-line);background:#f1f5f9;overflow:hidden;aspect-ratio:4 / 3}.projects-shell.projects-v2 .projects-v2__media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.projects-shell.projects-v2 .project-card.projects-v2__card:hover .projects-v2__media img{transform:scale(1.03)}.projects-shell.projects-v2 .project-body.projects-v2__body{display:grid;gap:10px;padding:12px}.projects-shell.projects-v2 .project-title.projects-v2__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;color:var(--c-accent);font-size:16px;line-height:1.35;font-weight:700;letter-spacing:-.01em;min-height:44px}.projects-shell.projects-v2 .project-title.projects-v2__title:hover{color:var(--c-primary)}.projects-shell.projects-v2 .projects-v2__card-tags{display:flex;flex-wrap:wrap;gap:5px}.projects-shell.projects-v2 .projects-v2__card-tag{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--c-line);border-radius:999px;background:#f8fafc;color:var(--c-muted);font-size:11px;font-weight:600;padding:3px 8px;line-height:1.2;text-decoration:none;transition:all .2s ease}.projects-shell.projects-v2 .projects-v2__card-tag i{color:var(--c-primary);font-size:10px}.projects-shell.projects-v2 .projects-v2__card-tag:hover{border-color:#a9c2de;background:#eef5fc;color:var(--c-primary)}.projects-shell.projects-v2 .projects-v2__card-tag.is-active{border-color:#9bb9dc;background:#eef5fc;color:var(--c-primary)}.projects-shell.projects-v2 .projects-v2__empty{grid-column:1 / -1;display:grid;justify-items:center;gap:10px;padding:48px 20px;border:1px dashed var(--c-line-strong);border-radius:var(--radius-lg);background:#fff;color:var(--c-muted);text-align:center}.projects-shell.projects-v2 .projects-v2__empty i{font-size:34px;color:#94a3b8}.projects-shell.projects-v2 .projects-v2__empty p{margin:0;max-width:420px;font-size:15px;line-height:1.5}.projects-shell.projects-v2 .projects-v2__empty-action{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--c-line);border-radius:999px;background:#fff;color:var(--c-primary);padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s ease}.projects-shell.projects-v2 .projects-v2__empty-action:hover{border-color:#9bb9dc;background:#eef5fc}.projects-shell.projects-v2 .projects-v2__meta{display:flex;flex-wrap:wrap;gap:6px}.projects-shell.projects-v2 .projects-v2__meta-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--c-line);border-radius:999px;background:#fff;color:var(--c-muted);font-size:11px;font-weight:600;padding:4px 9px;line-height:1}.projects-shell.projects-v2 .projects-v2__meta-chip i{color:var(--c-primary);font-size:11px}.projects-shell.projects-v2 .pagination{--bs-pagination-border-radius: 10px;gap:4px;flex-wrap:wrap;justify-content:center}.projects-shell.projects-v2 .pagination .page-link{border-color:var(--c-line-strong);color:#334155;min-width:36px;text-align:center;font-weight:600}.projects-shell.projects-v2 .pagination .page-item.active .page-link{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.projects-shell.projects-v2 .pagination .page-link:focus{box-shadow:0 0 0 .2rem #3e7aba26;border-color:#8cb0d7}@media (max-width: 1199.98px){.projects-shell.projects-v2 .projects-grid.projects-v2__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 767.98px){.projects-shell.projects-v2{padding:14px 0 24px}.projects-shell.projects-v2 .container{padding-left:10px;padding-right:10px}.projects-shell.projects-v2 .projects-v2__hero{border-radius:var(--radius-lg);padding:14px;margin-bottom:10px}.projects-shell.projects-v2 .projects-v2__hero .breadcrumb{margin-bottom:6px!important}.projects-shell.projects-v2 .projects-v2__hero h1{font-size:clamp(24px,7.2vw,32px)}.projects-shell.projects-v2 .projects-v2__hero .lead{font-size:12px}.projects-shell.projects-v2 .shop-meta .shop-chip{font-size:11px;padding:4px 8px}.projects-shell.projects-v2 .projects-v2__hero.is-filtered{padding:14px}.projects-shell.projects-v2 .projects-v2__hero-eyebrow{font-size:10px}.projects-shell.projects-v2 .projects-v2__active-filter{padding:9px 10px;margin-bottom:10px}.projects-shell.projects-v2 .projects-v2__active-filter-copy{font-size:12px;gap:6px}.projects-shell.projects-v2 .projects-v2__active-filter-clear{font-size:11px;padding:5px 10px}.projects-shell.projects-v2 .projects-v2__tags-label{font-size:11px}.projects-shell.projects-v2 .projects-v2__share,.projects-shell.projects-v2 .projects-v2__hero-clear{font-size:11px;padding:4px 8px}.projects-shell.projects-v2 .projects-v2__range{font-size:12px;margin-bottom:8px}.projects-shell.projects-v2 .projects-v2__related-tags{padding:10px;margin-bottom:10px}.projects-shell.projects-v2 .projects-v2__toolbar{grid-template-columns:minmax(0,1fr);padding:10px;margin-bottom:10px}.projects-shell.projects-v2 .projects-v2__toolbar-actions{width:100%}.projects-shell.projects-v2 .projects-v2__toolbar-submit,.projects-shell.projects-v2 .projects-v2__toolbar-reset{flex:1 1 auto}.projects-shell.projects-v2 .projects-v2__spotlight{grid-template-columns:minmax(0,1fr);padding:10px;margin-bottom:10px}.projects-shell.projects-v2 .projects-v2__spotlight-body{gap:8px;padding:0}.projects-shell.projects-v2 .projects-v2__spotlight-title{font-size:20px}.projects-shell.projects-v2 .projects-v2__tags{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.projects-shell.projects-v2 .projects-v2__tags::-webkit-scrollbar{display:none}.projects-shell.projects-v2 .projects-v2__tag{flex:0 0 auto;font-size:11px;padding:5px 9px}.projects-shell.projects-v2 .projects-grid.projects-v2__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.projects-shell.projects-v2 .project-card.projects-v2__card{border-radius:var(--radius-md)}.projects-shell.projects-v2 .project-media.projects-v2__media{aspect-ratio:1 / 1}.projects-shell.projects-v2 .project-body.projects-v2__body{padding:9px;gap:8px}.projects-shell.projects-v2 .project-title.projects-v2__title{font-size:13px;min-height:34px}.projects-shell.projects-v2 .projects-v2__card-tags{gap:4px}.projects-shell.projects-v2 .projects-v2__card-tag{font-size:10px;padding:3px 7px}.projects-shell.projects-v2 .projects-v2__card-tag i{font-size:9px}.projects-shell.projects-v2 .projects-v2__tag-count{min-width:18px;height:16px;font-size:9px;padding:0 5px}.projects-shell.projects-v2 .projects-v2__empty{padding:32px 14px}.projects-shell.projects-v2 .projects-v2__empty p{font-size:13px}.projects-shell.projects-v2 .projects-v2__meta{gap:5px}.projects-shell.projects-v2 .projects-v2__meta-chip{font-size:10px;padding:4px 7px}.projects-shell.projects-v2 .projects-v2__meta-chip i{font-size:10px}}@media (max-width: 399.98px){.projects-shell.projects-v2 .projects-grid.projects-v2__grid{grid-template-columns:minmax(0,1fr)}}@media (hover: none) and (pointer: coarse){.projects-shell.projects-v2 .project-card.projects-v2__card:hover,.projects-shell.projects-v2 .project-card.projects-v2__card:hover .projects-v2__media img{transform:none}}.projects-shell.projects-v2 .projects-v2__back-to-top{position:fixed;right:20px;bottom:24px;z-index:50;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--c-line);border-radius:50%;background:#fff;color:var(--c-primary);box-shadow:var(--shadow-md);text-decoration:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .25s ease}.projects-shell.projects-v2 .projects-v2__back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.projects-shell.projects-v2 .projects-v2__back-to-top:hover{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.projects-shell.projects-v2 .projects-v2__card-overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;background:#0f172a73;color:#fff;font-size:14px;font-weight:700;gap:8px;opacity:0;transition:opacity .25s ease;pointer-events:none;border-radius:var(--radius-lg)}.projects-shell.projects-v2 .project-media.projects-v2__media:hover .projects-v2__card-overlay{opacity:1}@keyframes projectsFadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.projects-shell.projects-v2 .project-card.projects-v2__card[data-fade-in]{opacity:0}.projects-shell.projects-v2 .project-card.projects-v2__card[data-fade-in].is-visible{animation:projectsFadeInUp .45s ease forwards}@media (max-width: 399.98px){.projects-shell.projects-v2 .projects-v2__back-to-top{right:12px;bottom:16px;width:36px;height:36px}}
