.posts-controls{margin:0 auto clamp(2rem,4vw,3rem);max-width:var(--max-width);padding:0 clamp(1rem,3vw,2rem)}@media(min-width:992px){.posts-controls{align-items:start;display:grid;gap:clamp(1.5rem,3vw,2rem);grid-template-columns:1fr auto}}.filter-controls{display:flex;flex-wrap:wrap;gap:clamp(.75rem,2vw,1rem);margin-bottom:clamp(1rem,2vw,1.5rem)}@media(min-width:992px){.filter-controls{margin-bottom:0}}.filter-group{display:flex;flex-direction:column;min-width:clamp(10rem,20vw,12rem)}@media(min-width:576px){.filter-group{min-width:clamp(12rem,25vw,15rem)}}.category-filter,.subcategory-filter{backdrop-filter:blur(.625rem);background:hsla(0,0%,100%,.1);border:.0625rem solid hsla(0,0%,100%,.2);border-radius:.5rem;color:hsla(0,0%,100%,.9);cursor:pointer;font-family:var(--font-sans);font-size:clamp(.875rem,2vw,.9375rem);padding:clamp(.625rem,1.5vw,.75rem) clamp(.875rem,2vw,1rem);transition:all .3s cubic-bezier(.4,0,.2,1)}.category-filter:hover:not(:disabled),.subcategory-filter:hover:not(:disabled){background:hsla(0,0%,100%,.15);border-color:hsla(0,0%,100%,.3);transform:translateY(-.0625rem)}.category-filter:focus,.subcategory-filter:focus{background:hsla(0,0%,100%,.15);outline:.125rem solid var(--color-link);outline-offset:.125rem}.category-filter:disabled,.subcategory-filter:disabled{background:hsla(0,0%,100%,.05);cursor:not-allowed;opacity:.5}.category-filter option,.subcategory-filter option{background:var(--color-bg);color:var(--color-text);padding:.5rem}.clear-filters{align-items:center;background:rgba(255,77,77,.2);border:.0625rem solid rgba(255,77,77,.3);border-radius:.5rem;color:hsla(0,0%,100%,.9);cursor:pointer;display:flex;font-family:var(--font-sans);font-size:clamp(.875rem,2vw,.9375rem);gap:.5rem;padding:clamp(.625rem,1.5vw,.75rem) clamp(.875rem,2vw,1rem);transition:all .3s cubic-bezier(.4,0,.2,1)}.clear-filters:hover{background:rgba(255,77,77,.3);border-color:rgba(255,77,77,.5);box-shadow:0 .25rem .75rem rgba(255,77,77,.2);transform:translateY(-.0625rem)}.clear-filters:focus{outline:.125rem solid rgba(255,77,77,.6);outline-offset:.125rem}.clear-filters svg{flex-shrink:0;height:1rem;width:1rem}.search-sort-controls{align-items:center;display:flex;flex-wrap:wrap;gap:clamp(.75rem,2vw,1rem)}@media(min-width:576px){.search-sort-controls{justify-content:space-between}}@media(min-width:992px){.search-sort-controls{flex-direction:column;gap:clamp(1rem,2vw,1.5rem)}}.search-group{flex:1;min-width:clamp(12rem,30vw,18rem)}@media(min-width:992px){.search-group{min-width:auto;width:100%}}#search-input{backdrop-filter:blur(.625rem);background:hsla(0,0%,100%,.1);border:.0625rem solid hsla(0,0%,100%,.2);border-radius:.5rem;color:hsla(0,0%,100%,.9);font-family:var(--font-sans);font-size:clamp(.875rem,2vw,.9375rem);padding:clamp(.625rem,1.5vw,.75rem) clamp(.875rem,2vw,1rem);transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}#search-input::-moz-placeholder{color:hsla(0,0%,100%,.6)}#search-input::placeholder{color:hsla(0,0%,100%,.6)}#search-input:hover{background:hsla(0,0%,100%,.15);border-color:hsla(0,0%,100%,.3);transform:translateY(-.0625rem)}#search-input:focus{background:hsla(0,0%,100%,.15);outline:.125rem solid var(--color-link);outline-offset:.125rem}.sort-buttons{backdrop-filter:blur(.625rem);background:hsla(0,0%,100%,.1);border-radius:.625rem;display:flex;gap:.5rem;padding:.25rem}.sort-buttons button{background:transparent;border:none;border-radius:.375rem;color:hsla(0,0%,100%,.7);cursor:pointer;font-family:var(--font-sans);font-size:clamp(.8125rem,1.8vw,.875rem);font-weight:500;padding:clamp(.5rem,1.2vw,.625rem) clamp(.75rem,1.8vw,1rem);transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.sort-buttons button:hover{background:hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.9);transform:translateY(-.0625rem)}.sort-buttons button.active{background:var(--color-link);box-shadow:0 .125rem .5rem rgba(57,160,237,.3);color:#fff}.sort-buttons button:focus-visible{outline:.125rem solid var(--color-link);outline-offset:.125rem}.active-filters{margin:0 auto clamp(1.5rem,3vw,2rem);max-width:var(--max-width);padding:0 clamp(1rem,3vw,2rem)}.filter-breadcrumb{align-items:center;backdrop-filter:blur(.625rem);background:hsla(0,0%,100%,.05);border:.0625rem solid hsla(0,0%,100%,.1);border-radius:.5rem;display:flex;flex-wrap:wrap;gap:clamp(.5rem,1vw,.75rem);padding:clamp(.75rem,1.5vw,1rem)}.filter-label{color:hsla(0,0%,100%,.7);font-weight:500}.filter-label,.filter-tag{font-family:var(--font-sans);font-size:clamp(.8125rem,1.8vw,.875rem)}.filter-tag{border-radius:.375rem;font-weight:600;padding:clamp(.25rem,.6vw,.375rem) clamp(.5rem,1.2vw,.75rem);white-space:nowrap}.filter-tag.category-tag{background:color-mix(in srgb,var(--category-color,#666) 20%,transparent);border:.0625rem solid color-mix(in srgb,var(--category-color,#666) 40%,transparent);color:color-mix(in srgb,var(--category-color,#666) 100%,#fff 20%)}.filter-tag.subcategory-tag{background:hsla(0,0%,100%,.1);border:.0625rem solid hsla(0,0%,100%,.2);color:hsla(0,0%,100%,.9)}.filter-separator{color:hsla(0,0%,100%,.5);font-weight:300;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sr-only{height:.0625rem;margin:-.0625rem;overflow:hidden;padding:0;position:absolute;width:.0625rem;clip:rect(0,0,0,0);border:0;white-space:nowrap}@media(min-width:0){.posts-controls{padding:0 1rem}.filter-controls{flex-direction:column}.filter-controls .filter-group{min-width:100%}.search-sort-controls{align-items:stretch;flex-direction:column}.search-sort-controls .search-group{min-width:100%}.search-sort-controls .sort-buttons{justify-content:center}}@media(min-width:1600px){.active-filters,.post-list,.posts-controls{max-width:calc(var(--max-width)*1.2)}}.projects-list{margin:2rem 0}.projects-controls{backdrop-filter:blur(12px);background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:1rem;margin-bottom:2rem;padding:1.5rem;position:relative;z-index:10}.controls-row{align-items:flex-end;display:flex;gap:1.5rem;margin-bottom:1.5rem}@media(max-width:768px){.controls-row{align-items:stretch;flex-direction:column;gap:1rem}}.search-container{flex:1;max-width:400px;position:relative}@media(max-width:768px){.search-container{max-width:none}}.search-input{background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.2);border-radius:.5rem;color:var(--text,#f8fafc);font-size:1rem;padding:.75rem 2.5rem .75rem 1rem;transition:all .2s ease;width:100%}.search-input::-moz-placeholder{color:var(--text-muted,#64748b)}.search-input::placeholder{color:var(--text-muted,#64748b)}.search-input:focus{background:hsla(0,0%,100%,.12);border-color:var(--accent,#3b82f6);box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:none}.clear-search{background:none;border:none;border-radius:.25rem;color:var(--text-muted,#64748b);cursor:pointer;display:none;font-size:1.5rem;padding:.25rem;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);transition:color .2s ease}.clear-search:hover{color:var(--text,#f8fafc)}.sort-and-filters-container{align-items:flex-start;display:flex;flex-wrap:wrap;gap:2rem}@media(max-width:1024px){.sort-and-filters-container{align-items:stretch;flex-direction:column;gap:1rem}}.sort-container{align-items:center;display:flex;flex-shrink:0;gap:.75rem}.sort-label{color:var(--text-secondary,#94a3b8);font-weight:500;white-space:nowrap}#project-sort,.sort-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:hsla(0,0%,100%,.08);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2394a3b8' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4z'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem;border:1px solid hsla(0,0%,100%,.2);border-radius:.5rem;color:var(--text,#f8fafc);cursor:pointer;font-size:.875rem;min-width:200px;padding:.75rem 2.5rem .75rem 1rem;transition:all .2s ease}@media(max-width:768px){#project-sort,.sort-select{min-width:100%}}#project-sort:hover,.sort-select:hover{background:hsla(0,0%,100%,.12);border-color:hsla(0,0%,100%,.3)}#project-sort:focus,.sort-select:focus{background:hsla(0,0%,100%,.15);border-color:var(--accent,#3b82f6);outline:none}.filter-dropdowns{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;position:relative;z-index:50}@media(max-width:768px){.filter-dropdowns{flex-direction:column;gap:.75rem}}.filter-dropdown{min-width:200px;position:relative;z-index:100}@media(max-width:768px){.filter-dropdown{min-width:100%}}.filter-dropdown-trigger{align-items:center;background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.2);border-radius:.5rem;color:var(--text,#f8fafc);cursor:pointer;display:flex;font-size:.875rem;gap:.75rem;justify-content:space-between;padding:.75rem 1rem;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.filter-dropdown-trigger:hover{background:hsla(0,0%,100%,.12);border-color:hsla(0,0%,100%,.3)}.filter-dropdown.open .filter-dropdown-trigger{background:hsla(0,0%,100%,.15);border-color:var(--accent,#3b82f6)}.filter-dropdown.open .filter-dropdown-trigger .filter-dropdown-arrow{transform:rotate(180deg)}.filter-dropdown-label{color:var(--text-secondary,#94a3b8);font-weight:500}.filter-dropdown-count{background:var(--accent,#3b82f6);border-radius:.75rem;color:#fff;display:none;font-size:.75rem;font-weight:600;min-width:1.25rem;padding:.125rem .5rem;text-align:center}.filter-dropdown-count:not(:empty){display:inline-block}.filter-dropdown-current{color:var(--text,#f8fafc);display:inline-block;font-size:.875rem;font-weight:500}.sort-option{cursor:pointer;transition:background-color .2s ease}.sort-option:hover{background:hsla(0,0%,100%,.1)}.filter-dropdown-arrow{color:var(--text-muted,#64748b);font-size:.75rem;transition:transform .2s ease}.filter-dropdown-content{backdrop-filter:blur(12px);background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:.5rem;box-shadow:0 4px 20px rgba(0,0,0,.2);display:none;left:0;margin-top:.25rem;max-height:250px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:9999}.filter-dropdown-options{padding:.5rem}.filter-checkbox-item{align-items:center;border-radius:.25rem;cursor:pointer;display:flex;gap:.75rem;padding:.5rem .75rem;transition:background-color .2s ease}.filter-checkbox-item:hover{background:hsla(0,0%,100%,.1)}.filter-checkbox-item.disabled{cursor:not-allowed;opacity:.5}.filter-checkbox-item.disabled:hover{background:transparent}.filter-checkbox-item input[type=checkbox]{display:none}.checkbox-custom{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.3);border-radius:.25rem;flex-shrink:0;height:1rem;position:relative;transition:all .2s ease;width:1rem}.filter-checkbox-item input[type=checkbox]:checked+.checkbox-custom{background:var(--accent,#3b82f6);border-color:var(--accent,#3b82f6)}.filter-checkbox-item input[type=checkbox]:checked+.checkbox-custom:after{color:#fff;content:"✓";font-size:.75rem;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.checkbox-label{color:var(--text,#f8fafc);flex-grow:1;font-size:.875rem;line-height:1}.active-filters{margin-bottom:1rem}.active-filters-list{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.active-filters-label{color:var(--text-secondary,#94a3b8);font-size:.875rem;font-weight:500}.active-filter-tag{align-items:center;background:rgba(239,68,68,.2);border:1px solid rgba(239,68,68,.3);border-radius:1rem;color:#fca5a5;display:inline-flex;font-size:.75rem;gap:.5rem;padding:.375rem .75rem}.active-filter-tag .remove-filter{background:none;border:none;color:inherit;cursor:pointer;font-size:1rem;line-height:1;padding:0}.active-filter-tag .remove-filter:hover{color:#fff}.filter-actions{align-items:center;display:flex;gap:1rem;justify-content:space-between}@media(max-width:480px){.filter-actions{align-items:stretch;flex-direction:column}}.clear-filters-btn{background:rgba(239,68,68,.2);border:1px solid rgba(239,68,68,.3);border-radius:.5rem;color:#fca5a5;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.clear-filters-btn:hover{background:rgba(239,68,68,.3);color:#fff}.results-count{color:var(--text-muted,#64748b);font-size:.875rem;font-weight:500}#projects-list{backdrop-filter:blur(12px);background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.1);border-radius:.75rem;box-shadow:0 4px 30px rgba(0,0,0,.1);margin:2rem 0;padding:var(--spacing,1.5rem)}.projects-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,350px),1fr));margin:0}@media(max-width:768px){.projects-grid{gap:1.5rem;grid-template-columns:1fr}}.project-card{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:1rem;border-top:none;opacity:0;overflow:hidden;transform:translateY(20px);transition:all .3s ease}.project-card.visible{opacity:1;transform:translateY(0)}.project-card:hover{border-color:hsla(0,0%,100%,.2);box-shadow:0 10px 30px rgba(0,0,0,.2);transform:translateY(-4px)}.project-card-header{line-height:0;margin-top:-1px;position:relative}.project-card-header,.project-card-header .project-image{border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}.project-card-header .project-image{height:200px;width:100%}.project-card-header .project-image img{border-top-left-radius:inherit;border-top-right-radius:inherit;display:block;height:100%;margin:0;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center;-o-object-position:top center!important;object-position:top center!important;transition:transform .3s ease;width:100%}.project-card-header .project-card:hover .project-image img{transform:scale(1.05)}.project-card-header .project-status{position:absolute;right:1rem;top:1rem}.status-badge{border-radius:1rem;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.status-badge.status-active{background:rgba(34,197,94,.2);border:1px solid rgba(34,197,94,.3);color:#86efac}.status-badge.status-completed{background:rgba(59,130,246,.2);border:1px solid rgba(59,130,246,.3);color:#93c5fd}.status-badge.status-on-hold{background:rgba(245,158,11,.2);border:1px solid rgba(245,158,11,.3);color:#fcd34d}.status-badge.status-archived{background:hsla(220,9%,46%,.2);border:1px solid hsla(220,9%,46%,.3);color:#d1d5db}.project-card-content{padding:1.5rem}.project-title{font-size:1.25rem;line-height:1.3;margin:0 0 .75rem}.project-title a{color:var(--text,#f8fafc);text-decoration:none;transition:color .2s ease}.project-title a:hover{color:var(--accent,#3b82f6)}.project-description{color:var(--text-secondary,#94a3b8);display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;line-height:1.5;margin-bottom:1rem;-webkit-box-orient:vertical;overflow:hidden}.project-meta{align-items:center;color:var(--text-muted,#64748b);display:flex;font-size:.875rem;justify-content:space-between;margin-bottom:1rem}.project-categories,.project-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.75rem}.category-tag{background:rgba(168,85,247,.2);border:1px solid rgba(168,85,247,.3);color:#c4b5fd;font-weight:500}.category-tag,.tag,.tag-more{border-radius:.375rem;font-size:.75rem;padding:.25rem .5rem}.tag,.tag-more{background:hsla(0,0%,100%,.1);color:var(--text-muted,#64748b)}.tag-more{font-style:italic}.project-card-footer{align-items:center;background:hsla(0,0%,100%,.02);border-top:1px solid hsla(0,0%,100%,.05);display:flex;justify-content:space-between;padding:1rem 1.5rem}.project-link{align-items:center;color:var(--accent,#3b82f6);display:flex;font-weight:500;gap:.5rem;text-decoration:none;transition:all .2s ease}.project-link:hover{color:var(--accent-hover,#2563eb);transform:translateX(4px)}.media-indicator{font-size:1.25rem;opacity:.6}.no-results{color:var(--text-muted,#64748b);padding:4rem 2rem;text-align:center}.no-results h3{color:var(--text,#f8fafc);margin-bottom:1rem}.no-results p{margin-bottom:2rem}.loading-state{color:var(--text-muted,#64748b);padding:4rem 2rem;text-align:center}.loading-state:after{animation:spin 1s linear infinite;border:2px solid hsla(0,0%,100%,.2);border-radius:50%;border-top:2px solid var(--accent,#3b82f6);content:"";display:inline-block;height:2rem;margin-left:1rem;width:2rem}.error-state{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);border-radius:.75rem;color:#fca5a5;padding:4rem 2rem;text-align:center}@keyframes spin{to{transform:rotate(1turn)}}.pagination{align-items:center;display:flex;gap:.5rem;justify-content:center;margin:3rem 0}@media(max-width:480px){.pagination{gap:.25rem}}.pagination-btn{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.2);border-radius:.5rem;color:var(--text-secondary,#94a3b8);cursor:pointer;font-size:.875rem;padding:.75rem 1rem;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:hsla(0,0%,100%,.1);color:var(--text,#f8fafc);transform:translateY(-1px)}.pagination-btn.active{background:var(--accent,#3b82f6);border-color:var(--accent,#3b82f6);color:#fff}.pagination-btn:disabled{cursor:not-allowed;opacity:.4}.pagination-btn.page{min-width:2.5rem}@media(max-width:480px){.pagination-btn.page{min-width:2rem;padding:.5rem .75rem}}.pagination-pages{display:flex;gap:.25rem}