/* KPMC's shared type and palette; individual service identities stay distinct. */
@font-face{font-family:Inter;src:url('/fonts/inter-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
.kpmc-portfolio{--paper:#fff;--ink:#161541;--muted:#55596b;--blue:#355caa;--pale:#f4f5f7;--line:#dce0e8;--white:#fff;--sans:Inter,system-ui,sans-serif;--serif:var(--sans);font-family:var(--sans)}
.kpmc-portfolio :is(.hero h1,.page-hero h1){font-weight:600;letter-spacing:-.045em;line-height:1.05}
.kpmc-portfolio :is(.section-heading h2,.service-name h2,.service-directory .section-kicker h2,.walk-heading h2,.section-title,.contact-inner h2,.newsletter h2,.example-dialog h2,.review-illustration-heading h2,.review-handover>h3,.stage-context h3,.newsletter-paper h3,.statement){font-weight:550;letter-spacing:-.035em}
.kpmc-portfolio :is(.gallery-grid figcaption>span,.construction-ribbon figcaption>span){font-weight:550;letter-spacing:-.025em}
.kpmc-portfolio .eyebrow{font-family:var(--sans);font-weight:700;letter-spacing:.16em}
.kpmc-portfolio .band-deep,.kpmc-portfolio .directory-grid>a[href="#contractflow"]{background:#161541}
.kpmc-portfolio .band-cobalt,.kpmc-portfolio .directory-grid>a[href="#contractfinder"]{background:#355caa}
.kpmc-portfolio .directory-grid>a[href="#bespoke"],.kpmc-portfolio .capabilities article{background:#f4f5f7}
.kpmc-portfolio .band-deep .stage-tabs button[aria-selected=true]{background:#355caa}
.kpmc-portfolio .band-deep .stage-panel,.kpmc-portfolio .band-cobalt .newsletter-paper{--ink:#161541;--muted:#55596b;--blue:#355caa;--line:#dce0e8;background:#fff;color:var(--ink)}
.kpmc-portfolio .band-cobalt .button{background:#fff;color:#161541;border-color:#fff}
.kpmc-portfolio .directory-logo.logo-paper,.kpmc-portfolio .band-deep .product-heading .product-mark{background:#fff}
.kpmc-portfolio .legacy-anchor{display:block;scroll-margin-top:30px}
/* A static, generated construction scene supports the integrated introduction. */
.kpmc-portfolio .portfolio-photo-hero{position:relative;isolation:isolate;overflow:hidden;min-height:430px;padding-top:58px;padding-bottom:110px;background:#161541;color:#fff}
.portfolio-photo-hero .portfolio-hero-image{position:absolute;inset:0;z-index:-2;pointer-events:none}
.portfolio-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 54%}
.portfolio-photo-hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(15,23,51,.6),rgba(15,23,51,.57) 48%,rgba(15,23,51,.12) 100%),linear-gradient(90deg,rgba(15,23,51,.45),transparent 52%,rgba(15,23,51,.24))}
.kpmc-portfolio .portfolio-photo-hero .hero-copy{max-width:1248px;align-items:start}
.kpmc-portfolio .portfolio-photo-hero :is(.eyebrow,h1 em){color:#c4d8f8}
.kpmc-portfolio .portfolio-photo-hero .blue-dot{background:#c4d8f8}
.kpmc-portfolio .portfolio-photo-hero :is(.hero-intro,.hero-footnote){color:#e9edf5}
.kpmc-portfolio .portfolio-photo-hero .hero-intro strong{color:#fff}
.kpmc-portfolio .portfolio-photo-hero .button{background:#fff;border-color:#fff;color:#161541}
.kpmc-portfolio .portfolio-photo-hero .button:hover{background:#dce8fb;border-color:#dce8fb}
.kpmc-portfolio .portfolio-photo-hero .text-link{color:#fff}
.kpmc-portfolio .portfolio-photo-hero .text-link:hover{color:#c4d8f8}
.portfolio-photo-hero a:focus-visible{outline-color:#fff}
.portfolio-image-caption{position:absolute;right:max(48px,calc((100% - 1248px)/2));bottom:16px;padding:3px 7px;background:rgba(15,23,51,.72);color:#e9edf5;font:10px/1.5 Inter,system-ui,sans-serif;letter-spacing:.02em}
.kpmc-portfolio .portfolio-photo-hero~.service-directory{padding-top:22px}
@media(max-width:700px){
 .kpmc-portfolio .portfolio-photo-hero{min-height:0;padding-top:36px;padding-bottom:80px}
 .kpmc-portfolio .portfolio-photo-hero .hero-copy{gap:24px}
 .portfolio-hero-image img{object-position:68% center}
 .portfolio-photo-hero:after{background:linear-gradient(180deg,rgba(15,23,51,.65),rgba(15,23,51,.72) 67%,rgba(15,23,51,.22) 100%)}
 .portfolio-image-caption{right:24px;bottom:14px;font-size:9px}
}
@media print{.portfolio-hero-image,.portfolio-photo-hero:after,.portfolio-image-caption{display:none}.kpmc-portfolio .portfolio-photo-hero{min-height:0;background:#fff;color:#161541;padding:36px 0}.kpmc-portfolio .portfolio-photo-hero :is(.eyebrow,h1 em,.hero-intro,.hero-intro strong,.hero-footnote,.text-link){color:#161541}.kpmc-portfolio .portfolio-photo-hero .button{border-color:#161541}}
/* Building Safety retains its green service identity and technical monospace. */
.portfolio-building-safety{--f-display:Inter,system-ui,sans-serif;--f-body:Inter,system-ui,sans-serif;--f-mono:ui-monospace,SFMono-Regular,Consolas,monospace}
.portfolio-building-safety .portfolio-return-bar{display:flex;justify-content:space-between;gap:16px;padding:10px 24px;border-bottom:1px solid #dce0e8;background:#fff;color:#161541;font:500 13px/1.5 Inter,system-ui,sans-serif}
.portfolio-building-safety .portfolio-return-bar a{color:inherit;text-decoration:none}
.portfolio-building-safety .foot-legal a{color:inherit;text-underline-offset:3px}
.portfolio-building-safety .enquiry-trap{display:none}
.portfolio-building-safety #enquiry button:disabled{cursor:default;opacity:.7}
.portfolio-building-safety #enquiry[aria-busy=true] input,.portfolio-building-safety #enquiry[aria-busy=true] textarea{opacity:.75}
.portfolio-building-safety .form-done:not([data-state=success]) svg{display:none}
.portfolio-building-safety .form-done[data-state=pending]{background:#f4f5f7}
.portfolio-building-safety .form-done[data-state=error]{background:#fff2ef;color:#812d22;border:1px solid #eac1b9}
.portfolio-building-safety .form-note a{text-decoration:underline;text-underline-offset:3px}
/* The working 5D example uses its own stylesheet. */
.portfolio-cedar{background:#fff}
.portfolio-cedar :is(h1,h2){font-family:Inter,system-ui,sans-serif;font-weight:600;letter-spacing:-.04em}
.portfolio-cedar :is(.timeline,.package-detail){background:#f4f5f7}
/* Two older project URLs retain their content in the current portfolio shell. */
.portfolio-legacy .legacy-main{padding:64px 0 72px;font-family:Inter,system-ui,sans-serif}
.portfolio-legacy .legacy-main h1{font:600 clamp(32px,5vw,48px)/1.08 Inter,system-ui,sans-serif;letter-spacing:-.04em}
.portfolio-legacy .legacy-main h3{font-family:Inter,system-ui,sans-serif;font-weight:600;letter-spacing:-.025em}
.portfolio-legacy .legacy-main .text-port-heading{color:#161541}
.portfolio-legacy .legacy-main .text-port-muted{color:#55596b}
.portfolio-legacy .legacy-main .bg-port-accent{background:#355caa;color:#fff}
.portfolio-legacy .legacy-main .text-port-accent{color:#355caa}
.portfolio-legacy .legacy-main .bg-port-bg{background:#f4f5f7}
.portfolio-legacy .legacy-main .flex:has(>h1){flex-wrap:wrap}
.portfolio-redirect{max-width:760px;margin:10vh auto;padding:30px;line-height:1.6}
.portfolio-redirect a{color:#355caa;text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){.portfolio-legacy .legacy-main{padding-top:36px}}
@media print{.kpmc-portfolio .band-deep,.kpmc-portfolio .band-cobalt{background:#fff;color:#161541}.portfolio-building-safety .portfolio-return-bar{display:none}}
