/* Phase 4 · Polished Concrete Plus: editorial internal pages + flexible block system */
:root{--pcp4-wine:#651d2a;--pcp4-gold:#baa071;--pcp4-ink:#151b1e;--pcp4-cream:#f0ece5}
:focus-visible{outline:3px solid #c6a066;outline-offset:4px}
.pcp-innerhero{min-height:clamp(410px,43vw,610px);position:relative;overflow:hidden;isolation:isolate;background-size:cover;background-position:center 55%;}
.pcp-innerhero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,#11191de9 0%,#151b1edc 30%,#151b1e52 70%,#151b1e24 100%);z-index:-1}
.pcp-innerhero::after{content:"";position:absolute;bottom:0;right:0;width:32%;height:3px;background:#baa071}
.pcp-innerhero>.container{position:relative;z-index:1;padding:96px 0 92px}
.pcp-innerhero h1{font-size:clamp(57px,7vw,112px);letter-spacing:-.065em;line-height:1.04;max-width:960px;margin:25px 0 28px;text-wrap:balance}
.pcp-innerhero p:not(.eyebrow){font-size:clamp(16px,1.35vw,20px);line-height:1.75;max-width:680px;color:#e4e7e6}
.pcp-innerhero .breadcrumb{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:36px;font-size:12px;letter-spacing:.03em;color:#e9d9bb}
.pcp-innerhero .breadcrumb a{color:#fff}.pcp-innerhero .breadcrumb a:hover{color:var(--pcp4-gold)}
.pcp-hero-vertical{position:absolute;right:0;bottom:15px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.32em;color:#e4d6bd}
.pcp-innerhero--contact{background-position:center 70%}.pcp-innerhero--faq{background-position:center 40%}
/* Premium internal service layouts */
.pcp-service-details{background:#fff}.pcp-service-layout{display:grid;grid-template-columns:52% 1fr;gap:clamp(45px,6vw,110px);align-items:center}.pcp-service-visual{position:relative;min-height:630px}.pcp-service-visual img{width:100%;height:630px;object-fit:cover;box-shadow:32px 32px 0 #efebe3}.pcp-image-label{position:absolute;right:0;bottom:26px;background:#651d2a;color:#fff;padding:22px 27px;font-size:11px;letter-spacing:.14em;display:flex;gap:24px}.pcp-image-label span{color:#d0ad76}.pcp-service-story{padding:24px 0}.pcp-service-story .section-title{font-size:clamp(42px,4.5vw,77px);margin:22px 0}.pcp-service-story p{color:#666;line-height:1.9;font-size:16px}.pcp-service-checks{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;padding:29px 0 37px;border-top:1px solid #ddd5c9;margin-top:32px}.pcp-service-checks span{font-size:13px;font-weight:650;line-height:1.5}.pcp-service-method{padding:95px 0;background:#171c1e;color:#fff}.pcp-service-method>.container{display:grid;grid-template-columns:1fr 1.45fr;gap:90px;align-items:end}.pcp-service-method .section-title{font-size:clamp(38px,4.1vw,64px);margin-top:12px}.pcp-service-method .section-title em{color:var(--pcp4-gold)}.pcp-method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}.pcp-method-grid>div{border-top:1px solid #b49c72;padding:19px 0 0}.pcp-method-grid b{color:#c6a56f;font:45px 'Playfair Display',serif}.pcp-method-grid h3{font-size:17px;margin-top:16px}.pcp-method-grid p{font-size:13px;color:#c4c7c6}.pcp-related-services{background:#f6f3ed}.pcp-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.pcp-related-grid a{display:block;position:relative;height:360px;overflow:hidden;background:#171c1f;color:white}.pcp-related-grid a:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0c1115d9,transparent 60%);z-index:1}.pcp-related-grid img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}.pcp-related-grid a:hover img{transform:scale(1.05)}.pcp-related-grid span{position:absolute;bottom:20px;left:24px;right:24px;z-index:2;font-weight:700;font-size:19px;line-height:1.35}
/* Individual editorial layouts for all core internal pages */
.pcp-about-story{background:#fbf9f5}.pcp-story-grid{display:grid;grid-template-columns:45% 55%;align-items:center;gap:45px}.pcp-story-grid .section-title{font-size:clamp(42px,4.3vw,70px);max-width:650px}.pcp-story-grid p:not(.eyebrow){font-size:16px;max-width:610px;color:#5b5d5d;line-height:1.9}.pcp-story-photos{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;height:545px}.pcp-story-photos img{width:100%;height:100%;object-fit:cover}.pcp-story-photos img:nth-child(2){height:75%;align-self:end;border:10px solid #fff;box-shadow:0 20px 40px #0001}
.pcp-service-selection{background:#641d29;color:#fff;padding:96px 0;text-align:center}.pcp-service-selection>.container{max-width:890px}.pcp-service-selection h2,.pcp-faq-outro h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(34px,4.3vw,62px);letter-spacing:-.045em;margin:12px 0 24px}.pcp-service-selection p:not(.eyebrow){color:#eee2de;max-width:675px;margin:0 auto 27px;font-size:16px}.pcp-service-selection .btn{display:inline-flex}
.pcp-portfolio-outro{background:#f0ece5;text-align:center}.pcp-portfolio-outro .container{max-width:780px}.pcp-portfolio-outro p:not(.eyebrow){font-size:17px;color:#5b5b5b;max-width:560px;margin:15px auto 28px}.pcp-faq-outro{background:#171b1d;color:white;padding:90px 0;text-align:center}.pcp-faq-outro h2 em{color:#c4a67b}.pcp-faq-outro .btn{display:inline-flex}
.pcp-contact-points{background:#f2ede5;padding:62px 0}.pcp-contact-points>.container{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.pcp-contact-points .container>div{border-top:2px solid #b79d74;padding:18px 0}.pcp-contact-points span{display:block;color:#ab8b5d;font:38px 'Playfair Display',Georgia,serif}.pcp-contact-points strong{display:block;font-size:19px;margin:15px 0 6px}.pcp-contact-points p{margin:0;color:#6a6b6b;font-size:13px}.pcp-generic-page .container{max-width:860px}.pcp-generic-page .container>p:not(.eyebrow){font-size:19px;line-height:1.9}
/* CMS flexible blocks: all input saved as text and escaped by template renderer */
.pcp-block{padding:clamp(68px,7vw,115px) 0;background:#fff}.pcp-block--cream{background:#f2eee7}.pcp-block--dark{background:#181d20;color:#f7f5ef}.pcp-block--dark .eyebrow,.pcp-block--dark em{color:#c9a877}.pcp-block--dark p{color:#dee0dd}.pcp-block--split{overflow:hidden}
.pcp-split{display:grid;grid-template-columns:1fr 1.08fr;gap:clamp(35px,6vw,100px);align-items:center}.pcp-block--left .pcp-split__visual{grid-column:1;grid-row:1}.pcp-block--left .pcp-split__content{grid-column:2;grid-row:1}.pcp-split__content h2{margin:17px 0 26px}.pcp-split__content>p{font-size:16px;line-height:1.9;color:#696868;margin-bottom:30px}.pcp-split__visual img{width:100%;height:clamp(350px,40vw,630px);object-fit:cover;box-shadow:28px 25px 0 #d1bd9d55}
.pcp-statement{max-width:1050px;margin:auto;text-align:center}.pcp-statement h2{font:clamp(44px,5.4vw,89px)/1.1 'Playfair Display',Georgia,serif;letter-spacing:-.06em;margin:25px 0}.pcp-statement>p:not(.eyebrow){font-size:18px;max-width:710px;margin:0 auto 28px;color:#696868}.pcp-block--dark .pcp-statement>p:not(.eyebrow){color:#dcd1c3}
.pcp-block-title{max-width:790px;margin-bottom:36px}.pcp-block-title p:not(.eyebrow){color:#646464}.pcp-feature-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pcp-feature-card{padding:30px 30px 35px;border:1px solid #d9d2c6;min-height:220px;background:#ffffff07}.pcp-feature-card>span{font:43px 'Playfair Display',Georgia,serif;color:#bc9c68}.pcp-feature-card h3{font-size:20px;margin:20px 0 10px}.pcp-feature-card p{color:#757575;font-size:14px;margin:0}.pcp-block--dark .pcp-feature-card p{color:#c5c5c5}
.pcp-custom-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.pcp-custom-gallery figure{margin:0;position:relative;overflow:hidden;background:#242829;min-height:250px}.pcp-custom-gallery img{width:100%;height:350px;object-fit:cover;transition:transform .6s ease}.pcp-custom-gallery figure:hover img{transform:scale(1.04)}.pcp-custom-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:25px;color:#fff;background:linear-gradient(0deg,#080d11d9,transparent);font-weight:650}
.pcp-faq-layout{display:grid;grid-template-columns:38% 1fr;gap:70px}.pcp-faq-layout>.faqs{min-width:0}.pcp-block-cta{display:flex;align-items:center;justify-content:space-between;gap:40px}.pcp-block-cta h2{font:clamp(39px,4.8vw,72px)/1.1 'Playfair Display',Georgia,serif;letter-spacing:-.055em;margin:15px 0}.pcp-block-cta p:not(.eyebrow){max-width:550px;font-size:16px}.pcp-block-cta .btn{flex-shrink:0}
/* Correct original opaque-white logo on the dark footer: transparent derivative */
.footer-brand img{width:min(270px,100%);height:auto;filter:none;opacity:1;background:transparent}.footer-brand{max-width:335px}.footer-brand p{margin-top:16px}
/* The project lightbox existed in JS/CSS but had no HTML in Phase 3 */
.project-lightbox{max-width:min(1100px,calc(100vw - 24px));max-height:90dvh;overflow:auto}.project-lightbox #lightbox-image{width:100%;height:min(65vh,650px);object-fit:contain;background:#101517}.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 24px}.lightbox-controls button,.lightbox-close{background:#bda076;color:#14191c;border:0;padding:11px 17px;font-weight:700;cursor:pointer}.lightbox-close{align-self:flex-start}
@media(max-width:1100px){.pcp-innerhero h1{font-size:clamp(55px,7vw,84px)}.pcp-service-layout{gap:55px}.pcp-service-visual,.pcp-service-visual img{height:480px;min-height:480px}.pcp-service-method>.container{gap:40px}.pcp-story-grid{gap:25px}.pcp-story-photos{height:450px}}
@media(max-width:800px){.pcp-innerhero>.container{padding:75px 0}.pcp-hero-vertical{display:none}.pcp-service-layout,.pcp-story-grid,.pcp-faq-layout{grid-template-columns:1fr}.pcp-service-visual,.pcp-service-visual img{min-height:360px;height:440px}.pcp-service-method>.container{grid-template-columns:1fr}.pcp-method-grid{grid-template-columns:repeat(3,1fr)}.pcp-related-grid,.pcp-contact-points>.container{grid-template-columns:repeat(2,1fr)}.pcp-story-photos{height:420px}.pcp-split{grid-template-columns:1fr;gap:40px}.pcp-block--left .pcp-split__visual,.pcp-block--left .pcp-split__content{grid-row:auto;grid-column:1}.pcp-block--left .pcp-split__content{grid-row:1}.pcp-block--left .pcp-split__visual{grid-row:2}.pcp-split__visual img{height:450px}.pcp-feature-cards,.pcp-custom-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:550px){.pcp-innerhero{min-height:350px}.pcp-innerhero>.container{padding:68px 0}.pcp-innerhero h1{font-size:clamp(45px,12vw,66px);margin:19px 0}.pcp-innerhero p:not(.eyebrow){font-size:15px}.pcp-innerhero .breadcrumb{font-size:11px;margin-top:22px}.pcp-service-visual,.pcp-service-visual img{height:345px;min-height:345px}.pcp-service-visual img{box-shadow:12px 14px 0 #efebe3}.pcp-image-label{padding:12px;font-size:8px;gap:10px}.pcp-service-checks,.pcp-method-grid,.pcp-related-grid,.pcp-contact-points>.container,.pcp-feature-cards,.pcp-custom-gallery{grid-template-columns:1fr}.pcp-method-grid>div{padding-top:10px}.pcp-service-method{padding:65px 0}.pcp-related-grid a{height:290px}.pcp-story-photos{height:300px;gap:8px}.pcp-split__visual img{height:300px;box-shadow:12px 12px 0 #d1bd9d55}.pcp-statement h2{font-size:40px}.pcp-feature-card{min-height:0}.pcp-custom-gallery img{height:260px}.pcp-block-cta{flex-direction:column;align-items:flex-start}.pcp-block-cta .btn{max-width:100%;white-space:normal}.pcp-service-selection,.pcp-faq-outro{padding:70px 0}.lightbox-controls button{padding:8px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.pcp-related-grid img,.pcp-custom-gallery img{transition:none!important}}
