.spp-page,.spp-project-detail-page{--spp-ink:#151515;--spp-muted:#62656a;--spp-line:#ded7cb;--spp-paper:#ffffff;--spp-cream:#f4f5f6;--spp-off-white:#f4f5f6;--spp-maroon:#8d2740;--spp-maroon-dark:#5f2130;--spp-max:1180px;--spp-section:clamp(42px,7vw,88px);--spp-type-page-title:clamp(30px,3vw,43px);--spp-type-section-title:clamp(23px,2vw,30px);--spp-type-card-title:clamp(17px,1.2vw,20px);--spp-type-body:clamp(15px,1vw,17px);--spp-type-small:clamp(12px,.86vw,14px)}.spp-page:not(.spp-home-page):not(.spp-team-page):not(.spp-contact-page):not(.spp-policies-page),.spp-project-detail-page{background:var(--spp-paper)}.section{width:min(var(--spp-max),calc(100vw - 40px));margin:0 auto;padding:var(--spp-section) 0}.spp-sector-projects{padding-top:clamp(28px,4vw,54px)}.section:first-of-type{border-top:0}.spp-project-list{--spp-project-gap-x:clamp(16px,1.8vw,28px);--spp-project-gap-y:clamp(20px,2.6vw,34px);display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:stretch;gap:var(--spp-project-gap-y) var(--spp-project-gap-x);margin:0;padding:0;list-style:none}.spp-project-card{flex:0 1 calc((100% - (2 * var(--spp-project-gap-x))) / 3);max-width:calc((100% - (2 * var(--spp-project-gap-x))) / 3);min-width:0;margin:0;padding:10px 10px 12px;display:flex;flex-direction:column;align-items:stretch;gap:8px;border:1px solid rgba(141,39,64,.26);background:transparent;color:var(--spp-ink)}.spp-project-link{display:flex;flex-direction:column;gap:10px;min-width:0;color:inherit;text-decoration:none}.spp-project-link:hover .spp-project-title,.spp-project-link:focus-visible .spp-project-title{color:var(--spp-maroon);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.spp-project-image{width:100%;aspect-ratio:4 / 3;object-fit:cover;object-position:center;background:rgba(141,39,64,.08)}.spp-project-title{display:block;color:var(--spp-ink);font-size:var(--spp-type-card-title);font-weight:650;line-height:1.25}.spp-project-title-main,.spp-project-title-detail{display:block}.spp-project-title-detail{margin-top:0;color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}.spp-concept-page{width:100%;max-width:none;background:var(--spp-paper)}.spp-concept-gallery-section{width:min(var(--spp-max),calc(100vw - 40px));margin:0 auto;padding:clamp(28px,4vw,54px) 0 var(--spp-section)}.spp-project-image-grid{--spp-project-gap-x:clamp(16px,1.8vw,28px);--spp-project-gap-y:clamp(20px,2.6vw,34px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spp-project-gap-y) var(--spp-project-gap-x);margin:0;padding:0;list-style:none}.spp-project-image-grid__item{min-width:0;margin:0;padding:10px;border:1px solid rgba(141,39,64,.26);background:transparent;overflow:hidden}.spp-project-image-grid__image{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;object-position:center;background:rgba(141,39,64,.08)}.spp-project-empty{margin:0;padding:40px;color:#151515}@media (max-width:1100px){.spp-project-card{flex-basis:calc((100% - var(--spp-project-gap-x)) / 2);max-width:calc((100% - var(--spp-project-gap-x)) / 2)}.spp-project-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.page-hero,.section,.spp-project-detail,.spp-concept-gallery-section{width:min(100% - 28px,var(--spp-max))}.spp-project-list,.spp-project-image-grid{--spp-project-gap-x:14px;--spp-project-gap-y:16px}.spp-project-card{flex-basis:100%;max-width:100%;padding:8px 8px 10px}.spp-project-title{font-size:16px;line-height:1.3}.spp-project-image-grid{grid-template-columns:1fr}.spp-project-image-grid__item{padding:8px}}