:root{--spm-gap:30px;--spm-card-bg:#fff;--spm-card-radius:8px;--spm-title-color:#1a1a1a;--spm-meta-color:#666;--spm-accent:#f59e0b;--spm-border:#e5e7eb;--spm-shadow:0 2px 8px rgba(0, 0, 0, 0.06);--spm-shadow-hover:0 8px 24px rgba(0, 0, 0, 0.1);--spm-text:#374151;--spm-radius-sm:4px;--spm-transition:0.2s ease}.spm-projects-wrapper{--spm-cols:3;position:relative;width:100%;max-width:100%;box-sizing:border-box;color:var(--spm-text)}.spm-projects-wrapper *,.spm-projects-wrapper *::before,.spm-projects-wrapper *::after{box-sizing:border-box}.spm-projects-wrapper.spm-columns-1{--spm-cols:1}.spm-projects-wrapper.spm-columns-2{--spm-cols:2}.spm-projects-wrapper.spm-columns-3{--spm-cols:3}.spm-projects-wrapper.spm-columns-4{--spm-cols:4}.spm-projects-wrapper.spm-columns-5{--spm-cols:5}.spm-projects-wrapper.is-loading .spm-projects-inner{opacity:.5;pointer-events:none}.spm-no-results{text-align:center;padding:2rem 1rem;color:var(--spm-meta-color)}.spm-filters{margin-bottom:var(--spm-gap)}.spm-filters__list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}.spm-filters__btn{display:inline-block;padding:.5rem 1rem;border:1px solid var(--spm-border);border-radius:999px;background:var(--spm-card-bg);color:var(--spm-title-color);text-decoration:none;font-size:.875rem;line-height:1.25;transition:background var(--spm-transition),border-color var(--spm-transition),color var(--spm-transition)}.spm-filters__btn:hover,.spm-filters__btn:focus{border-color:var(--spm-accent);color:var(--spm-accent);outline:none}.spm-filters__btn.is-active{background:var(--spm-accent);border-color:var(--spm-accent);color:#fff}.spm-project-card{background:var(--spm-card-bg);border-radius:var(--spm-card-radius);box-shadow:var(--spm-shadow);overflow:hidden;transition:box-shadow var(--spm-transition),transform var(--spm-transition);height:100%}.spm-project-card:hover{box-shadow:var(--spm-shadow-hover);transform:translateY(-2px)}.spm-project-card__link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}.spm-project-card__image{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:#f3f4f6}.spm-project-card__img{display:block;width:100%;height:100%;object-fit:cover}.spm-project-card__badge{position:absolute;top:.75rem;left:.75rem;padding:.25rem .6rem;background:var(--spm-accent);color:#fff;font-size:.75rem;font-weight:600;border-radius:var(--spm-radius-sm);letter-spacing:.02em;text-transform:uppercase}.spm-project-card__content{display:flex;flex-direction:column;flex:1;padding:1.25rem;gap:.5rem}.spm-project-card__title{margin:0;font-size:1.125rem;font-weight:600;line-height:1.35;color:var(--spm-title-color)}.spm-project-card__meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.8125rem;color:var(--spm-meta-color)}.spm-project-card__location::before{content:""}.spm-project-card__capacity{color:var(--spm-accent);font-weight:500}.spm-project-card__excerpt{font-size:.9375rem;line-height:1.5;color:var(--spm-text);flex:1}.spm-project-card__readmore{margin-top:.5rem;font-size:.875rem;font-weight:600;color:var(--spm-accent)}.spm-layout-grid .spm-projects-list--grid{display:grid;grid-template-columns:repeat(var(--spm-cols),1fr);gap:var(--spm-gap)}.spm-layout-list .spm-projects-list--list{display:flex;flex-direction:column;gap:var(--spm-gap)}.spm-layout-list .spm-project-card__link{flex-direction:row;align-items:stretch}.spm-layout-list .spm-project-card__image{flex:0 0 30%;max-width:30%;aspect-ratio:4 / 3}.spm-layout-list .spm-project-card__content{flex:1 1 70%;justify-content:center}.spm-layout-masonry .spm-projects-list--masonry{column-count:var(--spm-cols);column-gap:var(--spm-gap)}.spm-layout-masonry .spm-project-card{break-inside:avoid;page-break-inside:avoid;margin-bottom:var(--spm-gap);display:inline-block;width:100%}.spm-carousel{position:relative;display:flex;align-items:center;gap:.5rem}.spm-carousel__track-wrap{overflow:hidden;flex:1;width:100%}.spm-carousel__track{display:flex;transition:transform 0.35s ease;will-change:transform;touch-action:pan-y}.spm-carousel__slide{flex:0 0 100%;min-width:0;padding:0 .5rem}.spm-carousel__btn{flex:0 0 auto;width:2.5rem;height:2.5rem;border:1px solid var(--spm-border);border-radius:50%;background:var(--spm-card-bg);color:var(--spm-title-color);font-size:1.5rem;line-height:1;cursor:pointer;transition:background var(--spm-transition),border-color var(--spm-transition);z-index:1}.spm-carousel__btn:hover,.spm-carousel__btn:focus{border-color:var(--spm-accent);color:var(--spm-accent);outline:none}.spm-carousel__btn:disabled{opacity:.4;cursor:not-allowed}.spm-carousel__dots{position:absolute;bottom:-1.75rem;left:0;right:0;display:flex;justify-content:center;gap:.4rem}.spm-carousel__dot{width:.5rem;height:.5rem;padding:0;border:none;border-radius:50%;background:var(--spm-border);cursor:pointer}.spm-carousel__dot.is-active{background:var(--spm-accent)}.spm-layout-carousel{padding-bottom:2rem}.spm-pagination{margin-top:var(--spm-gap)}.spm-pagination__list{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem;list-style:none;margin:0;padding:0}.spm-pagination__link{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;padding:0 .65rem;border:1px solid var(--spm-border);border-radius:var(--spm-radius-sm);background:var(--spm-card-bg);color:var(--spm-title-color);text-decoration:none;font-size:.875rem;transition:border-color var(--spm-transition),background var(--spm-transition)}.spm-pagination__link:hover,.spm-pagination__link:focus{border-color:var(--spm-accent);color:var(--spm-accent);outline:none}.spm-pagination__link.is-active{background:var(--spm-accent);border-color:var(--spm-accent);color:#fff}.spm-single,.spm-archive{width:100%}.spm-single__header{margin-bottom:1.5rem}.spm-single__title{margin:0 0 1rem;color:var(--spm-title-color)}.spm-single__featured-img{display:block;width:100%;height:auto;border-radius:var(--spm-card-radius)}.spm-single__meta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;margin-bottom:2rem;padding:1.25rem;background:var(--spm-card-bg);border:1px solid var(--spm-border);border-radius:var(--spm-card-radius)}.spm-single__meta-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--spm-meta-color);margin-bottom:.25rem}.spm-single__meta-value{font-weight:600;color:var(--spm-title-color)}.spm-single__gallery{margin-top:2.5rem}.spm-single__gallery-title{margin:0 0 1rem;font-size:1.25rem}.spm-single__gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.spm-single__gallery-img{display:block;width:100%;height:auto;border-radius:var(--spm-radius-sm);object-fit:cover;aspect-ratio:4 / 3}.spm-single__nav{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--spm-border)}.spm-single__back{color:var(--spm-accent);text-decoration:none;font-weight:600}.spm-single__back:hover,.spm-single__back:focus{text-decoration:underline}.spm-archive__container{width:min(1200px, 100% - 2rem);margin-inline:auto;padding:2rem 0}.spm-archive__title{margin:0 0 .5rem}.spm-archive__description{margin-bottom:1.5rem;color:var(--spm-meta-color)}@media (max-width:1023px){.spm-layout-grid .spm-projects-list--grid{grid-template-columns:repeat(min(2, var(--spm-cols)),1fr)}.spm-layout-masonry .spm-projects-list--masonry{column-count:min(2, var(--spm-cols))}.spm-carousel__slide{flex-basis:50%}}@media (max-width:767px){.spm-layout-grid .spm-projects-list--grid{grid-template-columns:1fr}.spm-layout-masonry .spm-projects-list--masonry{column-count:1}.spm-layout-list .spm-project-card__link{flex-direction:column}.spm-layout-list .spm-project-card__image{flex:none;max-width:100%;width:100%}.spm-carousel__slide{flex-basis:100%}.spm-carousel__btn{width:2rem;height:2rem;font-size:1.25rem}}@media (max-width:639px){:root{--spm-gap:20px}}@media (prefers-reduced-motion:reduce){.spm-project-card,.spm-carousel__track,.spm-filters__btn,.spm-pagination__link{transition:none}}