/* Polished Concrete Plus | Phase 5 v1.4.0 — Approved Visual System
   Incremental, scoped overrides. Retains CMS, content and existing form backend. */
:root{--pcp5-wine:#6a202a;--pcp5-wine-dark:#3e1019;--pcp5-gold:#b49a70;--pcp5-paper:#fffefd;--pcp5-warm:#f5f1eb;--pcp5-ink:#171c20}
html{scroll-padding-top:98px}
.pcp5-body{background:#fff;color:var(--pcp5-ink);font-size:15px;line-height:1.65}
.pcp5-body .container{width:min(1280px,calc(100% - 80px))}
.pcp5-body .section{padding:86px 0}
.pcp5-body .eyebrow{font-size:10px;font-weight:800;letter-spacing:.21em}
.pcp5-body .section-title{font-family:'DM Sans',Arial,sans-serif;letter-spacing:-.042em;font-size:clamp(34px,3.2vw,51px);font-weight:800;line-height:1.1}
.pcp5-body .section-title em,.pcp5-body .pcp5-about-title em{font-style:normal;color:var(--pcp5-gold)}
.pcp5-body .btn{border-radius:1px;font-weight:800;letter-spacing:.055em;box-shadow:none}
.pcp5-body .btn-gold{background:#c9a96f;color:#171c20}
.pcp5-body .btn-wine{background:var(--pcp5-wine);color:#fff}
.pcp5-body .btn:hover{transform:translateY(-2px)}
.pcp5-body .topline{background:#4d151c;color:#f0e3d9}
.pcp5-body .topflex{padding:6px 0;letter-spacing:.06em}
.pcp5-body .sitehead{position:sticky;top:0;z-index:95;background:#fff;box-shadow:0 3px 23px #00000010}
.pcp5-body .nav{height:79px;gap:28px}
.pcp5-body .logo img{height:73px;width:210px;object-fit:contain}
.pcp5-body nav#mainnav{gap:clamp(11px,1.6vw,28px)}
.pcp5-body nav#mainnav>a,.pcp5-body nav#mainnav .nav-dropdown>a{font-size:11px;font-weight:800;letter-spacing:.045em}
.pcp5-body .navcta{background:var(--pcp5-wine);color:white;padding:13px 21px;font-size:10px}
/* Hero: cinematic photograph + human-scale headline + enquiry panel. All hero photographs stay client-controlled. */
.pcp5-home-hero{min-height:590px;background-position:center 54%;isolation:isolate}
.pcp5-home-hero .hero-shade{background:linear-gradient(90deg,#060d12d9 0%,#0b1218ac 36%,#0b12185c 66%,#0b12189e 100%)}
.pcp5-home-hero .hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,347px);gap:clamp(35px,5vw,82px);padding:60px 0 74px;align-items:center}
.pcp5-home-hero .hero-copy h1{font-family:'DM Sans',Arial,sans-serif;max-width:750px;font-size:clamp(45px,5vw,76px);font-weight:800;line-height:1.025;letter-spacing:-.058em;margin-bottom:21px;text-wrap:balance}
.pcp5-home-hero .eyebrow{letter-spacing:.19em;font-size:12px;margin-bottom:17px}
.pcp5-home-hero .hero-description{font-size:17px;max-width:580px;line-height:1.6;color:#fff}
.pcp5-home-hero .actions{margin:23px 0 42px;gap:12px}
.pcp5-home-hero .btn{min-height:49px}
.pcp5-home-hero .hero-points{display:grid;grid-template-columns:repeat(3,max-content);gap:18px;color:#f8f4ed;font-size:10px;letter-spacing:.015em}
.pcp5-home-hero .hero-index,.pcp5-home-hero .hero-rail{display:none}
/* Compact and highly legible native enquiry form; identical backend pipeline. */
.pcp5-body .hero .quote-box,.pcp5-body .pcp5-innerhero .quote-box{background:#10171cfa;border:1px solid #ccb48d8c;box-shadow:0 22px 64px #0006;padding:25px 25px 22px;backdrop-filter:blur(9px);border-radius:3px}
.pcp5-body .quote-box h2{font-family:'DM Sans',Arial,sans-serif;letter-spacing:-.03em;font-size:26px;font-weight:800;line-height:1.15;margin:2px 0 8px}
.pcp5-body .quote-box>p{font-size:12px;line-height:1.45;margin-bottom:15px;color:#e2e5e3}
.pcp5-body .quote-box .eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:8px}
.pcp5-body .quote-box .quote-form{gap:8px}
.pcp5-body .quote-box .quote-form label{display:block}
.pcp5-body .quote-box .quote-form input,.pcp5-body .quote-box .quote-form select,.pcp5-body .quote-box .quote-form textarea{width:100%;min-height:41px;padding:10px 13px;font-size:12px;background:#fff;border:1px solid #e8e4de;border-radius:2px;color:#161b1e}
.pcp5-body .quote-box .quote-form textarea{min-height:70px;max-height:150px}
.pcp5-body .quote-box .quote-form button{min-height:45px;font-size:11px;background:#c8a873}
.pcp5-body .quote-box .quote-form small{color:#dcd9d2}
/* The client reference has a bright trust strip, aligned logo/photo collage and cream service area. */
.pcp5-body .pcp5-trust-band{background:#fff;border-bottom:1px solid #e9e5dc}
.pcp5-body .pcp5-trust-band .feature-grid{padding:23px 0}
.pcp5-body .pcp5-trust-band .feature-grid>div{padding:0 clamp(12px,2vw,30px)}
.pcp5-body .pcp5-trust-band .feature-icon{font-size:30px;color:var(--pcp5-wine)}
.pcp5-body .pcp5-trust-band strong{font-size:11px;color:#181c1f}
.pcp5-body .pcp5-trust-band small{font-size:12px;color:#666}
.pcp5-body .about-section{background:#fff}
.pcp5-body .about-grid{grid-template-columns:45% 55%;align-items:center}
.pcp5-body .about-grid>div:first-child{padding-right:clamp(32px,4vw,70px)}
.pcp5-body .about-grid .pcp5-about-title{font-family:'DM Sans',sans-serif;font-weight:800;font-size:clamp(39px,3.5vw,55px);letter-spacing:-.049em}
.pcp5-body .about-grid p:not(.eyebrow){font-size:14px;line-height:1.8}
.pcp5-body .photo-collage{height:430px}
.pcp5-body .photo-collage .large{width:73%;height:86%;object-fit:cover;border-width:6px}
.pcp5-body .photo-collage .small1{width:41%;height:145px;top:-14px;right:0}
.pcp5-body .photo-collage .small2{width:43%;height:152px;bottom:3px;right:1%}
.pcp5-body .photo-collage .editorial-number{font-size:53px;bottom:-8px;left:8%;background:#b99b6e;color:#fff;padding:10px 15px;line-height:1.05}
.pcp5-body .photo-collage .editorial-number span{font-size:12px;color:white}
.pcp5-body .photo-collage .vertical-stamp{font-size:8px;right:-17px}
/* Six-across editorial service products, matching supplied approved theme */
.pcp5-body .services-section{background:var(--pcp5-warm);background-image:none;color:var(--pcp5-ink)}
.pcp5-body .services-section .section-intro{align-items:end}
.pcp5-body .services-section .eyebrow{color:#a18356}
.pcp5-body .services-section .section-title{max-width:930px}
.pcp5-body .service-grid.premium-services{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.pcp5-body .premium-services .service-card{height:100%;display:flex;flex-direction:column;border:1px solid #e6e0d6;box-shadow:none;border-radius:0}
.pcp5-body .premium-services .service-card>a:first-child{width:100%}
.pcp5-body .premium-services .service-card img{height:130px;width:100%;object-fit:cover;filter:none}
.pcp5-body .premium-services .service-card-body{padding:17px 14px 16px;display:flex;flex-direction:column;flex:1;min-height:215px}
.pcp5-body .premium-services .service-count{display:none}
.pcp5-body .premium-services .service-card h3{font-size:14px;font-weight:800;line-height:1.25;margin:0 0 9px;letter-spacing:-.017em}
.pcp5-body .premium-services .service-card p{font-size:11px;line-height:1.55;color:#656769;margin-bottom:16px}
.pcp5-body .pcp5-service-link{margin-top:auto;align-self:flex-start;color:var(--pcp5-wine);font-size:10px;font-weight:800;letter-spacing:.02em;text-decoration:none}
.pcp5-body .pcp5-service-link span{display:inline-block;margin-left:4px;transition:transform .2s}
.pcp5-body .pcp5-service-link:hover span{transform:translateX(5px)}
/* Two-column why block with image covering right side. */
.pcp5-body .why-section{position:relative;isolation:isolate;background:#10171b;padding:77px 0;overflow:hidden}
.pcp5-body .why-section:before{content:"";position:absolute;inset:0 0 0 55%;z-index:-2;background:url('/assets/images/garage-black.webp') center/cover no-repeat}
.pcp5-body .why-section:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#10171b 4%,#10171be9 48%,#10171b91 72%,#10171b3d 100%)}
.pcp5-body .why-grid{grid-template-columns:43% 55%;gap:2%}
.pcp5-body .why-grid .section-title{font-family:'DM Sans',sans-serif;font-weight:800;font-size:clamp(36px,3.5vw,56px)}
.pcp5-body .why-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pcp5-body .why-values>div{min-height:117px;border:1px solid #ffffff52;background:#0e171bc4;padding:16px}
.pcp5-body .why-values span{font-size:27px;color:#c8aa72}
.pcp5-body .why-values h3{font-size:13px;color:#fff}
.pcp5-body .why-values p{font-size:11px;color:#cdd1ce}
/* Project portfolio image-first, aligned with the approved reference. */
.pcp5-body .projects-section{background:#fff}
.pcp5-body .projects-section .premium-projects{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}
.pcp5-body .projects-section .project-tile,.pcp5-body .projects-section .project-tile:nth-child(5n+1),.pcp5-body .projects-section .project-tile:nth-child(5n+2){grid-column:auto;height:215px}
.pcp5-body .projects-section .project-caption{padding:32px 13px 13px}
.pcp5-body .projects-section .project-caption h3{font-size:13px}
.pcp5-body .projects-section .project-caption small{font-size:9px}
.pcp5-body .portfolio-hint{font-size:11px}
.pcp5-body .filter{padding:7px 17px;font-size:11px}
/* Original user-supplied testimonials; no synthetic star ratings or invented review platform. */
.pcp5-testimonials{background:#f4f3f1;text-align:center;border-top:1px solid #eeeae4;border-bottom:1px solid #eeeae4}
.pcp5-testimonials .section-title{margin:0 0 36px}
.pcp5-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;text-align:left}
.pcp5-review{position:relative;display:flex;flex-direction:column;margin:0;background:white;padding:27px 27px 24px;border:1px solid #e8e3dc;min-height:246px;box-shadow:0 8px 23px #00000008}
.pcp5-review-mark{color:#b79661;font:55px/1 Georgia,serif;height:42px}
.pcp5-review>p{font-size:13px;line-height:1.7;color:#626363;flex:1}
.pcp5-review footer{background:none!important;display:flex;flex-direction:column;padding:17px 0 0!important;border-top:1px solid #ede8e2;color:#161b20}
.pcp5-review footer strong{font-size:13px}.pcp5-review footer span{font-size:11px;color:#777}
/* Three descriptive sections used on every internal route */
.pcp5-innerhero{min-height:570px;position:relative;color:#fff;display:flex;align-items:center;background-position:center 45%;isolation:isolate}
.pcp5-innerhero::before{display:none}
.pcp5-innerhero::after{height:4px;width:33%;z-index:1}
.pcp5-inner-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0c1318eb 0%,#10161dc9 42%,#10161d8c 71%,#0c1318ac 100%);z-index:0}
.pcp5-innerhero>.container.pcp5-inner-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,350px);gap:clamp(35px,5vw,80px);align-items:center;padding:58px 0 68px;position:relative;z-index:2}
.pcp5-innerhero .pcp5-inner-copy h1{font-family:'DM Sans',sans-serif;font-size:clamp(43px,4.65vw,76px);font-weight:800;max-width:770px;letter-spacing:-.057em;line-height:1.05;margin:18px 0 22px;text-wrap:balance}
.pcp5-innerhero .pcp5-inner-description{font-size:16px;line-height:1.7;color:#f2f2f0;max-width:580px}
.pcp5-inner-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:30px}
.pcp5-link-white{color:white;font-weight:800;font-size:12px;border-bottom:1px solid #b49a70;padding-bottom:5px}
.pcp5-innerhero .breadcrumb{display:flex;flex-wrap:wrap;gap:12px;margin-top:44px;color:#d7c8b1;font-size:11px;letter-spacing:.07em}
.pcp5-innerhero .breadcrumb a{color:white}
.pcp5-innerhero .pcp5-inner-form{color:white}
.pcp5-innerhero .pcp-hero-vertical{display:none}
/* Internal page polish consistent with reference rather than exaggerated empty space */
.pcp5-body .pcp-service-details,.pcp5-body .pcp-about-story{background:#fff}
.pcp5-body .pcp-service-layout,.pcp5-body .pcp-story-grid{gap:clamp(28px,5vw,74px)}
.pcp5-body .pcp-service-visual,.pcp5-body .pcp-service-visual img{height:510px;min-height:510px}
.pcp5-body .pcp-service-story .section-title,.pcp5-body .pcp-story-grid .section-title{font-size:clamp(39px,3.8vw,59px)}
.pcp5-body .pcp-service-method{background:#191d20;padding:70px 0}
.pcp5-body .pcp-related-services{background:#f5f1eb}
.pcp5-body .pcp-related-grid a{height:285px}
.pcp5-body .pcp-story-photos{height:440px}
.pcp5-body .pcp-contact-points{background:#f6f2eb}
.pcp5-body .pcp5-contact-information{background:#f5f1eb;padding:38px;border-top:4px solid #b79b71}
.pcp5-body .pcp5-contact-information h3{font:700 26px 'DM Sans',sans-serif;margin:0 0 30px;letter-spacing:-.03em}
.pcp5-contact-information ol{list-style:none;counter-reset:steps;margin:0;padding:0}
.pcp5-contact-information li{counter-increment:steps;position:relative;padding:0 0 23px 47px;margin-bottom:19px;border-bottom:1px solid #ddd3c5}
.pcp5-contact-information li:before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:0;font:700 23px Georgia,serif;color:#af9062}
.pcp5-contact-information li strong,.pcp5-contact-information li span{display:block}.pcp5-contact-information li strong{font-size:14px}.pcp5-contact-information li span{font-size:13px;color:#606366}
.pcp5-body .process-section{background:#fff;text-align:center}
.pcp5-body .process-section .section-intro{display:block;margin-bottom:48px}
.pcp5-body .process-section .section-intro>p{max-width:none;margin:15px auto 0}
.pcp5-body .steps>div{text-align:center;border-top:0;padding:8px 16px}
.pcp5-body .steps b{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 18px;border-radius:50%;background:#f4f0e8;color:#b3925e;font:700 27px/1 'DM Sans',sans-serif}
.pcp5-body .steps>div:not(:last-child){border-right:1px solid #eee8dc}
.pcp5-body .steps h3{font-size:15px}
.pcp5-body .steps p{font-size:12px;max-width:220px;margin:0 auto}
.pcp5-body .faq-section{background:#f6f1eb}
.pcp5-body .faqs details{margin-bottom:7px;border:1px solid #eae5de;background:white;padding:0 15px}
.pcp5-body .faqs summary{padding:16px 0;font-size:13px}
.pcp5-body .faqs details p{padding-bottom:17px}
.pcp5-body .cta-banner{background:linear-gradient(100deg,#541622,#7e2932);padding:45px 0}
.pcp5-body .cta-banner h2{font:800 clamp(30px,3vw,46px)/1.1 'DM Sans',sans-serif;letter-spacing:-.04em}
.pcp5-body footer{background:#12181c;padding-top:60px}
.pcp5-body .footer-brand img{max-height:105px;width:auto;max-width:240px;object-fit:contain}
.pcp5-body .footer-grid{gap:35px}
.pcp5-body .mobile-action-bar{z-index:100}
/* Motion: never hide key content if JS isn't available */
@media(min-width:761px) and (prefers-reduced-motion:no-preference){
 .pcp5-body .service-card,.pcp5-body .project-tile{transition:transform .35s ease,box-shadow .35s ease}
 .pcp5-body .service-card:hover{transform:translateY(-5px);box-shadow:0 18px 35px #271b141c}
 .pcp5-body .project-tile:hover{transform:translateY(-2px)}
}
@media(max-width:1250px){
 .pcp5-body .container{width:calc(100% - 64px)}
 .pcp5-body nav#mainnav{gap:13px}
 .pcp5-body .logo img{width:180px}
 .pcp5-body .service-grid.premium-services{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
 .pcp5-body .premium-services .service-card img{height:190px}
 .pcp5-body .premium-services .service-card-body{min-height:190px}
 .pcp5-body .premium-services .service-card h3{font-size:17px}
 .pcp5-body .premium-services .service-card p{font-size:12px}
}
@media(max-width:950px){
 .pcp5-body .navcta{display:none}
 .pcp5-body .hero-grid{grid-template-columns:minmax(0,1fr) minmax(280px,310px);gap:28px}
 .pcp5-home-hero .hero-copy h1{font-size:clamp(43px,5.3vw,61px)}
 .pcp5-home-hero .hero-points{grid-template-columns:repeat(2,max-content);gap:10px 19px}
 .pcp5-body .projects-section .premium-projects{grid-template-columns:repeat(3,minmax(0,1fr))}
 .pcp5-body .pcp5-inner-grid{gap:25px!important}
 .pcp5-body .pcp5-innerhero .pcp5-inner-copy h1{font-size:clamp(38px,5vw,57px)}
 .pcp5-body .why-grid{grid-template-columns:1fr 1.2fr}
}
@media(max-width:760px){
 .pcp5-body .container{width:calc(100% - 36px)}
 .pcp5-body .nav{height:72px}.pcp5-body .logo img{width:172px;height:62px}
 .pcp5-body nav#mainnav{gap:15px}
 .pcp5-body .pcp5-home-hero{min-height:0}
 .pcp5-body .pcp5-home-hero .hero-grid{grid-template-columns:1fr;gap:30px;padding:72px 0 66px}
 .pcp5-body .pcp5-home-hero .hero-copy h1{font-size:clamp(42px,8vw,62px)}
 .pcp5-home-hero .hero-points{grid-template-columns:repeat(3,max-content);gap:12px}
 .pcp5-body .pcp5-home-hero .quote-box{max-width:580px}
 .pcp5-body .pcp5-trust-band .feature-grid{grid-template-columns:repeat(2,1fr);gap:14px}
 .pcp5-body .pcp5-trust-band .feature-grid>div{padding:8px 12px;border:0}
 .pcp5-body .about-grid{grid-template-columns:1fr;gap:45px}.pcp5-body .about-grid>div:first-child{padding-right:0}
 .pcp5-body .photo-collage{height:400px;max-width:640px}
 .pcp5-body .service-grid.premium-services{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pcp5-body .why-grid{grid-template-columns:1fr;gap:30px}
 .pcp5-body .why-section:before{inset:0}
 .pcp5-body .why-section:after{background:#10171bce}
 .pcp5-body .projects-section .premium-projects{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pcp5-review-grid{grid-template-columns:1fr;max-width:600px;margin:auto}
 .pcp5-review{min-height:unset}
 .pcp5-body .pcp5-innerhero{min-height:0}
 .pcp5-body .pcp5-innerhero>.container.pcp5-inner-grid{grid-template-columns:1fr;gap:28px;padding:65px 0}
 .pcp5-body .pcp5-innerhero .pcp5-inner-copy h1{font-size:clamp(42px,8vw,61px)}
 .pcp5-body .pcp5-inner-form{width:min(100%,570px)}
 .pcp5-body .pcp-service-visual,.pcp5-body .pcp-service-visual img{height:400px;min-height:400px}
 .pcp5-body .steps{grid-template-columns:repeat(2,1fr)}
 .pcp5-body .steps>div:not(:last-child){border-right:0}
 .pcp5-body .section{padding:72px 0}
}
@media(max-width:520px){
 .pcp5-body .container{width:calc(100% - 32px)}
 .pcp5-body .section{padding:62px 0}
 .pcp5-body .pcp5-home-hero .hero-grid{padding:55px 0}
 .pcp5-body .pcp5-home-hero .hero-copy h1{font-size:clamp(38px,10.7vw,53px)}
 .pcp5-body .pcp5-home-hero .hero-description{font-size:15px}
 .pcp5-body .pcp5-home-hero .hero-points{grid-template-columns:1fr 1fr;gap:9px;font-size:9px}
 .pcp5-body .pcp5-home-hero .actions .btn{width:100%}
 .pcp5-body .quote-box{padding:20px!important}
 .pcp5-body .pcp5-trust-band .feature-grid{grid-template-columns:1fr 1fr}
 .pcp5-body .pcp5-trust-band .feature-grid>div{gap:8px;padding:4px}
 .pcp5-body .pcp5-trust-band .feature-icon{font-size:23px}
 .pcp5-body .pcp5-trust-band strong{font-size:9px}
 .pcp5-body .pcp5-trust-band small{font-size:10px}
 .pcp5-body .photo-collage{height:295px}
 .pcp5-body .photo-collage .small1{height:95px}
 .pcp5-body .photo-collage .small2{height:118px}
 .pcp5-body .service-grid.premium-services{grid-template-columns:1fr 1fr;gap:9px}
 .pcp5-body .premium-services .service-card img{height:115px}
 .pcp5-body .premium-services .service-card-body{padding:14px 12px;min-height:205px}
 .pcp5-body .premium-services .service-card h3{font-size:13px}
 .pcp5-body .premium-services .service-card p{font-size:10px}
 .pcp5-body .why-values{grid-template-columns:1fr 1fr;gap:8px}
 .pcp5-body .why-values>div{padding:12px;min-height:150px}
 .pcp5-body .why-values span{font-size:20px}
 .pcp5-body .why-values h3{font-size:11px}
 .pcp5-body .why-values p{font-size:10px}
 .pcp5-body .projects-section .premium-projects{grid-template-columns:1fr 1fr;gap:8px}
 .pcp5-body .projects-section .project-tile,.pcp5-body .projects-section .project-tile:nth-child(5n+1),.pcp5-body .projects-section .project-tile:nth-child(5n+2){height:160px}
 .pcp5-body .projects-section .project-caption{padding:24px 9px 8px}
 .pcp5-body .projects-section .project-caption h3{font-size:11px}
 .pcp5-body .pcp5-innerhero>.container.pcp5-inner-grid{padding:54px 0}
 .pcp5-body .pcp5-innerhero .pcp5-inner-copy h1{font-size:clamp(38px,10.8vw,52px)}
 .pcp5-body .pcp5-innerhero .pcp5-inner-description{font-size:14px}
 .pcp5-body .pcp5-innerhero .breadcrumb{margin-top:22px}
 .pcp5-body .pcp-service-visual,.pcp5-body .pcp-service-visual img{height:310px;min-height:310px}
 .pcp5-body .steps{gap:8px}
 .pcp5-body .steps b{width:56px;height:56px;font-size:20px}
 .pcp5-body .pcp5-contact-information{padding:24px}
}
@media(prefers-reduced-motion:reduce){.pcp5-body .reveal{opacity:1!important;transform:none!important}.pcp5-body .btn,.pcp5-body .service-card,.pcp5-body .project-tile{transition:none!important}}
