.spp-page,.spp-project-detail-page{--spp-ink:#151515;--spp-muted:#62656a;--spp-line:#ded7cb;--spp-paper:#ffffff;--spp-cream:#f5efe4;--spp-off-white:#fff7ea;--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)}.page-hero{width:min(var(--spp-max),calc(100vw - 40px));margin:0 auto;padding:clamp(58px,8vw,112px) 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,520px);gap:clamp(28px,5vw,72px);align-items:center}.page-hero:first-child{border-bottom:1px solid var(--spp-line)}.hero-copy{min-width:0}.hero-media img{width:100%;aspect-ratio:4 / 3;object-fit:cover;background:var(--spp-cream)}.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}.section-heading{max-width:760px;margin-bottom:clamp(24px,4vw,42px)}.text-flow,.privacy-flow{max-width:840px}.text-flow p,.privacy-flow p{margin-top:14px}.privacy-flow h2{margin-top:28px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,28px)}.info-card{min-width:0;padding:18px;border:1px solid rgba(141,39,64,.26);background:transparent}.info-card h3 a{color:inherit;text-decoration:none}.info-card h3 a:hover,.info-card h3 a:focus-visible{color:var(--spp-maroon);text-decoration:underline}.info-card p{margin-top:8px}.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-summary,.spp-project-categories{display:block;color:rgba(21,21,21,.72);font-size:var(--spp-type-body);font-weight:400;line-height:1.58}.spp-project-detail{width:min(var(--spp-max),calc(100vw - 40px));margin:0 auto;padding:clamp(64px,8vw,112px) 0 clamp(56px,8vw,96px)}.spp-project-detail-hero{width:100%;max-height:min(72vh,680px);object-fit:cover;background:var(--spp-cream);border:1px solid var(--spp-line)}.spp-project-detail-title{max-width:860px;margin-top:clamp(28px,5vw,56px)}.spp-project-detail-categories{margin-top:12px;color:var(--spp-maroon);font-size:var(--spp-type-small);font-weight:520;line-height:1.4;text-transform:none}.spp-project-detail-summary,.spp-project-detail-body{max-width:840px;margin-top:24px;color:var(--spp-muted);font-size:var(--spp-type-body);font-weight:400;line-height:1.58}.spp-project-detail-body p+p{margin-top:16px}.spp-project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:40px 0 0;padding:0;list-style:none}.spp-project-gallery img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border:1px solid var(--spp-line);background:var(--spp-cream)}.spp-page .spp-project-title{font-size:var(--spp-type-card-title) !important;font-weight:650 !important;line-height:1.25 !important}.spp-page .spp-project-categories,.spp-page .spp-project-summary{font-size:var(--spp-type-body) !important;font-weight:400 !important;line-height:1.58 !important;opacity:1 !important}@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)}}@media (max-width:900px){.page-hero{grid-template-columns:1fr}.card-grid,.spp-project-gallery{grid-template-columns:1fr}}@media (max-width:620px){.page-hero,.section,.spp-project-detail{width:min(100% - 28px,var(--spp-max))}.spp-project-list{--spp-project-gap-x:14px;--spp-project-gap-y:16px}.spp-project-card{flex-basis:100%;max-width:100%;padding:8px 8px 10px}}