/* Phase 7: refined design system. Loaded last; no legacy file replacements needed. */
:root{--pcp7-charcoal:#14191d;--pcp7-wine:#681f2a;--pcp7-gold:#c7a672;--pcp7-cream:#f6f2eb;--pcp7-ink:#1e2226}
.pcp5-body{color:var(--pcp7-ink);font-size:15px;line-height:1.68}
.pcp5-body .container{width:min(1240px,calc(100% - 64px));margin-inline:auto}
.pcp5-body .section{padding-block:clamp(68px,6.2vw,98px)}
.pcp5-body .section-title{font:800 clamp(32px,3.6vw,51px)/1.12 'DM Sans',sans-serif;letter-spacing:-.045em;max-width:100%;text-wrap:balance}
.pcp5-body .section-intro{align-items:end;gap:28px;margin-bottom:30px}
.pcp5-body .section-intro .text-link{white-space:nowrap}
.pcp5-body .eyebrow{letter-spacing:.17em;font-weight:800}
.pcp5-body .btn{letter-spacing:.045em;border-radius:2px;font-size:11px;min-height:49px}
.pcp5-body .sitehead{position:sticky;top:0;z-index:80;box-shadow:0 9px 28px #10171b0b}
.pcp5-body .nav{height:83px;gap:20px}
.pcp5-body .logo img{width:188px;height:69px;object-fit:contain}
.pcp5-body nav#mainnav{gap:clamp(11px,1.2vw,20px)}
.pcp5-body nav#mainnav>a,.pcp5-body nav#mainnav .nav-dropdown>a{font-size:10px;letter-spacing:.047em}
.pcp5-body .navcta{padding-inline:17px;font-size:10px}
/* Homepage: composed like an architectural brand campaign, not a cramped booking widget. */
.pcp5-body .pcp6-home-hero{min-height:740px}
.pcp5-body .pcp6-home-hero .hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(370px,410px);gap:clamp(35px,5.2vw,86px);align-items:center;padding-block:60px 69px}
.pcp5-body .pcp6-home-hero .pcp6-hero-left{max-width:740px}
.pcp5-body .pcp6-home-hero .pcp6-slide-heading{font-size:clamp(46px,4.9vw,72px);line-height:1.07;letter-spacing:-.055em;max-width:750px;text-wrap:balance}
.pcp5-body .pcp6-home-hero .pcp6-slide-copy .hero-description{font-size:16px;line-height:1.65;max-width:540px;color:#fffdf9}
.pcp5-body .pcp6-home-hero .pcp6-slide-copy .actions{margin:29px 0 30px;gap:13px}
.pcp5-body .pcp6-home-hero .hero-points{display:flex;gap:13px 22px;flex-wrap:wrap;max-width:650px;color:#f9eee2;letter-spacing:.06em;line-height:1.45;font-size:10px}
.pcp5-body .pcp6-home-hero .hero-shade{background:linear-gradient(90deg,rgba(9,15,19,.91),rgba(9,15,19,.75) 42%,rgba(9,15,19,.44) 66%,rgba(9,15,19,.78))}
.pcp5-body .pcp6-slider-controls{margin-top:25px}
/* Shared quote form – accessible visible labels, comfortable touch targets, one form identity. */
.pcp5-body .hero .quote-box,.pcp5-body .pcp5-innerhero .quote-box{width:100%;max-width:440px;padding:29px 30px 25px;background:#11191ef5;border:1px solid #ccaa739c;box-shadow:0 27px 66px #02060780;border-radius:4px;justify-self:end}
.pcp5-body .quote-box h2{font:800 26px/1.17 'DM Sans',sans-serif;letter-spacing:-.04em;margin:6px 0 8px}
.pcp5-body .quote-box>p{font-size:12px;line-height:1.55;margin-bottom:19px;color:#e7e3dc}
.pcp5-body .quote-box .quote-form{display:block}
.pcp5-body .quote-box .pcp7-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 12px}
.pcp5-body .quote-box .pcp7-form-grid .pcp7-full{grid-column:1/-1}
.pcp5-body .quote-box .pcp7-field-label{display:block;color:#f1ece4;font-size:10.5px;font-weight:700;letter-spacing:.015em;margin-bottom:5px}
.pcp5-body .quote-box .pcp7-field-label b{color:#deba80}
.pcp5-body .quote-box .pcp7-field-label small{font-size:10px;color:#c2c4c1;font-weight:400}
.pcp5-body .quote-box .pcp7-form-grid input,.pcp5-body .quote-box .pcp7-form-grid select,.pcp5-body .quote-box .pcp7-form-grid textarea{display:block;background:#fff!important;color:#1b1d20!important;border:1px solid #e2ded7!important;width:100%;border-radius:2px;font:500 12px/1.35 'DM Sans',sans-serif;min-height:46px;padding:11px 13px;box-shadow:none}
.pcp5-body .quote-box .pcp7-form-grid textarea{min-height:62px;height:62px;resize:vertical}
.pcp5-body .quote-box .pcp7-form-grid input::placeholder,.pcp5-body .quote-box .pcp7-form-grid textarea::placeholder{color:#777d7e;opacity:1}
.pcp5-body .quote-box .pcp7-form-grid input:focus,.pcp5-body .quote-box .pcp7-form-grid textarea:focus,.pcp5-body .quote-box .pcp7-form-grid select:focus{border-color:#c2a277!important;outline:2px solid #d4bd94;outline-offset:1px}
.pcp5-body .quote-box .pcp7-form>button{display:flex;justify-content:space-between;width:100%;margin-top:14px;min-height:51px;font-size:11px;letter-spacing:.035em;background:linear-gradient(110deg,#dfc590,#baa06f);color:#171b1d}
.pcp5-body .quote-box .pcp7-form-privacy{display:block;color:#d4d8d7;font-size:10px;margin-top:10px;text-align:center;line-height:1.5}
/* Improve legibility, proportions, and consistent bottom alignment on service cards. */
.pcp5-body .services-section{background:#f5f1eb}
.pcp5-body .service-grid.premium-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pcp5-body .premium-services .service-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #ece7df;box-shadow:0 9px 20px #261a0e0a;overflow:hidden}
.pcp5-body .premium-services .service-card>a{display:block;overflow:hidden}
.pcp5-body .premium-services .service-card img{width:100%;height:218px;object-fit:cover;transition:transform .5s ease}
.pcp5-body .premium-services .service-card:hover img{transform:scale(1.045)}
.pcp5-body .premium-services .service-card-body{display:flex;flex-direction:column;flex:1;min-height:230px;padding:21px 24px 24px}
.pcp5-body .premium-services .service-card h3{font-size:19px;line-height:1.3;letter-spacing:-.025em;margin:5px 0 8px}
.pcp5-body .premium-services .service-card p{font-size:13px;color:#626466;line-height:1.63;margin-bottom:18px}
.pcp5-body .premium-services .pcp5-service-link{margin-top:auto;font-weight:800;font-size:11px}
.pcp5-body .about-grid{align-items:center;gap:clamp(45px,5.3vw,90px)}
.pcp5-body .about-grid>div:first-child>p:not(.eyebrow){font-size:15px;line-height:1.8;max-width:560px}
.pcp5-body .photo-collage{max-width:100%;height:440px}
.pcp5-body .why-section{padding:80px 0}
.pcp5-body .why-grid{align-items:center;gap:4%;grid-template-columns:42% 54%}
.pcp5-body .why-grid .section-title{font-size:clamp(34px,3.3vw,50px)}
.pcp5-body .why-values>div{padding:20px;min-height:130px}
.pcp5-body .why-values h3{font-size:14px}
.pcp5-body .why-values p{font-size:12px}
.pcp5-body .projects-section .premium-projects{gap:13px}
.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:225px}
.pcp5-body .pcp5-testimonials{padding:76px 0}
.pcp5-body .pcp5-review{padding:28px 27px;min-height:260px}
.pcp5-body .pcp5-review>p{font-size:13px;line-height:1.75}
.pcp5-body .process-section .steps{gap:18px}
.pcp5-body .faq-section .faqs summary{font-size:14px;line-height:1.5;padding:17px 1px}
.pcp5-body .cta-banner{padding:44px 0}
/* All existing internal pages keep their unique content while sharing hero grid and form sizing. */
.pcp5-body .pcp5-innerhero>.container.pcp5-inner-grid{grid-template-columns:minmax(0,1fr) minmax(370px,410px);gap:clamp(35px,5vw,84px);padding:65px 0 72px;align-items:center}
.pcp5-body .pcp5-innerhero .pcp5-inner-copy h1{font-size:clamp(43px,4.7vw,66px);line-height:1.08;max-width:760px}
.pcp5-body .pcp5-innerhero .pcp5-inner-description{font-size:16px}
.pcp5-body .pcp5-innerhero .quote-box{max-width:440px}
.pcp5-body .pcp5-innerhero .breadcrumb{margin-top:26px}
/* Insight journal: designed for reading, trust and genuine organic search traffic. */
.pcp7-insights-hero{background:linear-gradient(90deg,#14191de8,#14191d55),url('/assets/images/concrete-sheen.webp') center/cover;color:#fff;padding:110px 0 100px}
.pcp7-insights-heading{max-width:850px}.pcp7-insights-heading h1{font:800 clamp(43px,5.2vw,78px)/1.08 'DM Sans',sans-serif;letter-spacing:-.06em;margin:16px 0 23px}.pcp7-insights-heading h1 em{font-style:normal;color:#d3b27c}.pcp7-insights-heading>p:not(.eyebrow){font-size:17px;max-width:590px;color:#e6e7e6;margin-bottom:30px}
.pcp7-insights-section{background:#f7f4ee}.pcp7-home-insights{background:#fff}
.pcp7-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.pcp7-article-card{min-width:0;background:#fff;border:1px solid #e5dfd5;display:flex;flex-direction:column;box-shadow:0 6px 20px #3020180a}
.pcp7-card-image{display:block;overflow:hidden}.pcp7-card-image img{width:100%;height:235px;object-fit:cover;transition:transform .5s ease}.pcp7-article-card:hover img{transform:scale(1.035)}
.pcp7-card-content{padding:24px 25px 26px;display:flex;flex-direction:column;flex:1;gap:10px}.pcp7-category{font-size:10px;text-transform:uppercase;color:#936c3d;letter-spacing:.15em;font-weight:800}
.pcp7-card-content h3{font-size:23px;line-height:1.22;letter-spacing:-.035em;margin:0;font-weight:800}.pcp7-card-content h3 a:hover{color:#69212a}.pcp7-card-content>p{font-size:13px;line-height:1.7;color:#6c7071;flex:1;margin:0 0 10px}
.pcp7-read-more{font-size:11px;font-weight:800;letter-spacing:.05em;color:#762734}.pcp7-read-more span{margin-left:5px}
.pcp7-pagination{display:flex;align-items:center;justify-content:center;gap:25px;padding-top:37px;font-size:13px}.pcp7-pagination a{color:#762734;font-weight:800}.pcp7-empty-journal{background:#fff;border:1px solid #e7e2d8;padding:45px;max-width:750px}.pcp7-empty-journal h3{font-size:28px;margin:0 0 10px}.pcp7-empty-journal p{color:#62686c;max-width:590px}
.pcp7-post-hero{padding:85px 0 125px;background:#151b20;color:#fff}.pcp7-post-hero-inner>div{max-width:960px}.pcp7-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;color:#d8cfc3;font-size:12px;margin-bottom:42px}.pcp7-breadcrumb a:hover{color:#d5b280}
.pcp7-post-hero h1{font:800 clamp(44px,5.4vw,77px)/1.09 'DM Sans',sans-serif;letter-spacing:-.055em;max-width:990px;margin:0 0 26px}.pcp7-post-deck{font-size:18px;max-width:760px;color:#e0e4e4;line-height:1.65}.pcp7-byline{color:#c7b9a4;font-size:12px;letter-spacing:.035em}
.pcp7-feature-image{position:relative;margin-top:-71px}.pcp7-feature-image img{height:clamp(310px,43vw,550px);width:100%;object-fit:cover;box-shadow:0 17px 40px #0002}
.pcp7-article-main{padding:85px 0 110px;background:#fff}.pcp7-article-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(260px,340px);gap:clamp(55px,8vw,140px);align-items:start}.pcp7-prose{font-size:17px;line-height:1.88;color:#43474a;overflow-wrap:anywhere}.pcp7-prose h2{font:800 clamp(26px,2.6vw,35px)/1.26 'DM Sans',sans-serif;letter-spacing:-.035em;margin:40px 0 19px;color:#171c20}.pcp7-prose h3{font:800 23px/1.3 'DM Sans',sans-serif;margin:28px 0 13px}.pcp7-prose p{margin:0 0 26px}
.pcp7-aside{background:#f7f2eb;padding:34px;border-top:3px solid #c5a36d;position:sticky;top:114px}.pcp7-aside h2{font:800 27px/1.17 'DM Sans',sans-serif;letter-spacing:-.035em}.pcp7-aside>p:not(.eyebrow){color:#5b6165;font-size:14px}.pcp7-aside .btn{width:100%;font-size:10px}.pcp7-back-link{display:block;font-weight:800;color:#7e2935;font-size:12px;margin-top:22px}
/* Responsive breakpoints based on real column constraints, not fixed device names. */
@media(max-width:1150px){.pcp5-body .container{width:calc(100% - 52px)}.pcp5-body nav#mainnav{gap:11px}.pcp5-body nav#mainnav>a,.pcp5-body nav#mainnav .nav-dropdown>a{font-size:9px}.pcp5-body .navcta{min-width:0;padding-inline:12px}.pcp5-body .pcp6-home-hero .hero-grid,.pcp5-body .pcp5-innerhero>.container.pcp5-inner-grid{grid-template-columns:minmax(0,1fr) minmax(340px,380px);gap:34px}.pcp5-body .pcp6-home-hero .pcp6-slide-heading{font-size:clamp(41px,5.2vw,60px)}.pcp5-body .quote-box .pcp7-form-grid{grid-template-columns:1fr}.pcp5-body .quote-box .pcp7-form-grid label{grid-column:1/-1}.pcp5-body .quote-box .pcp7-form-grid input,.pcp5-body .quote-box .pcp7-form-grid select{min-height:42px}.pcp5-body .service-grid.premium-services{gap:16px}.pcp5-body .premium-services .service-card img{height:192px}}
@media(max-width:960px){.pcp5-body .navcta{display:none}.pcp5-body .pcp6-home-hero{min-height:0}.pcp5-body .pcp6-home-hero .hero-grid,.pcp5-body .pcp5-innerhero>.container.pcp5-inner-grid{grid-template-columns:1fr;gap:30px;padding:67px 0 74px}.pcp5-body .pcp6-home-hero .pcp6-hero-left{max-width:780px}.pcp5-body .pcp6-home-hero .pcp6-slide-heading{font-size:clamp(45px,6.6vw,70px)}.pcp5-body .hero .quote-box,.pcp5-body .pcp5-innerhero .quote-box{justify-self:start;max-width:600px;width:100%}.pcp5-body .quote-box .pcp7-form-grid{grid-template-columns:1fr 1fr}.pcp5-body .quote-box .pcp7-form-grid label:not(.pcp7-full){grid-column:auto}.pcp5-body .why-grid{grid-template-columns:1fr;gap:30px}.pcp5-body .photo-collage{height:400px}.pcp7-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pcp7-article-layout{grid-template-columns:minmax(0,1fr);gap:35px}.pcp7-aside{position:static;max-width:550px}}
@media(max-width:760px){.pcp5-body .container{width:calc(100% - 38px)}.pcp5-body .sitehead .nav{height:74px}.pcp5-body .logo img{width:169px;height:63px}.pcp5-body .section{padding:72px 0}.pcp5-body .section-intro{display:block}.pcp5-body .section-intro .text-link{display:inline-block;margin-top:14px}.pcp5-body .service-grid.premium-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pcp5-body .premium-services .service-card img{height:188px}.pcp5-body .premium-services .service-card-body{min-height:225px;padding:21px 20px}.pcp5-body .premium-services .service-card h3{font-size:17px}.pcp5-body .premium-services .service-card p{font-size:12px}.pcp5-body .pcp6-home-hero .hero-grid{padding:62px 0 66px}.pcp5-body .pcp6-home-hero .pcp6-slide-heading{font-size:clamp(40px,8.5vw,58px)}.pcp5-body .pcp6-home-hero .hero-points{gap:10px 15px}.pcp5-body .pcp5-innerhero .pcp5-inner-copy h1{font-size:clamp(40px,7.5vw,57px)}.pcp5-body .pcp5-review{min-height:0}.pcp7-insights-hero{padding:78px 0}.pcp7-insights-heading h1{font-size:clamp(43px,8vw,60px)}.pcp7-article-card .pcp7-card-image img{height:190px}}
@media(max-width:520px){.pcp5-body .container{width:calc(100% - 32px)}.pcp5-body .section{padding:60px 0}.pcp5-body .pcp6-home-hero .hero-grid{padding:52px 0 65px}.pcp5-body .pcp6-home-hero .pcp6-slide-heading{font-size:clamp(37px,10vw,48px)}.pcp5-body .pcp6-home-hero .hero-points{gap:10px 14px;font-size:9px}.pcp5-body .pcp6-home-hero .actions{display:grid;grid-template-columns:1fr}.pcp5-body .pcp6-home-hero .actions .btn{width:100%;margin:0}.pcp5-body .quote-box .pcp7-form-grid{grid-template-columns:1fr}.pcp5-body .quote-box .pcp7-form-grid label{grid-column:1/-1!important}.pcp5-body .hero .quote-box,.pcp5-body .pcp5-innerhero .quote-box{padding:24px 20px;max-width:100%}.pcp5-body .quote-box h2{font-size:25px}.pcp5-body .service-grid.premium-services{grid-template-columns:1fr;gap:19px}.pcp5-body .premium-services .service-card img{height:222px}.pcp5-body .premium-services .service-card-body{min-height:0;padding:21px 22px 25px}.pcp5-body .premium-services .service-card h3{font-size:19px}.pcp5-body .premium-services .service-card p{font-size:13px}.pcp5-body .why-values{grid-template-columns:1fr 1fr}.pcp5-body .projects-section .premium-projects{grid-template-columns:1fr 1fr}.pcp5-body .pcp5-innerhero>.container.pcp5-inner-grid{padding:50px 0}.pcp5-body .pcp5-innerhero .pcp5-inner-copy h1{font-size:clamp(37px,10vw,50px)}.pcp7-article-grid{grid-template-columns:1fr;gap:18px}.pcp7-article-card .pcp7-card-image img{height:215px}.pcp7-post-hero{padding:61px 0 92px}.pcp7-post-hero h1{font-size:clamp(37px,10vw,52px)}.pcp7-post-deck{font-size:16px}.pcp7-feature-image{margin-top:-42px}.pcp7-feature-image img{height:265px}.pcp7-article-main{padding:57px 0 78px}.pcp7-prose{font-size:16px}.pcp7-empty-journal{padding:28px}.pcp7-aside{padding:27px}}
@media(prefers-reduced-motion:reduce){.pcp5-body .premium-services .service-card img,.pcp7-card-image img{transition:none!important;transform:none!important}}
/* Tablet navigation changes to a proper toggle before menu labels crowd or overflow. */
@media(max-width:1280px){
 .pcp5-body .menu-btn{display:block;margin-left:auto;color:#171c20;padding:7px 11px;min-width:44px;min-height:44px}
 .pcp5-body nav#mainnav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:22px max(24px,calc((100vw - 1030px)/2));box-shadow:0 18px 35px #0002;flex-direction:column;align-items:stretch;gap:13px;max-height:min(75vh,680px);overflow-y:auto}
 .pcp5-body nav#mainnav.is-open{display:flex}
 .pcp5-body nav#mainnav>a,.pcp5-body nav#mainnav .nav-dropdown>a{font-size:12px;padding:7px 0;letter-spacing:.07em}
 .pcp5-body .dropdown-panel{display:block;position:static;box-shadow:none;padding:5px 0 5px 12px;background:#f8f5f0}
 .pcp5-body .dropdown-panel a{padding:7px 10px}
}
@media(min-width:761px) and (max-width:1100px){
 .pcp5-body .about-grid,.pcp5-body .faq-grid{grid-template-columns:minmax(0,1fr);gap:36px}
 .pcp5-body .about-grid .photo-collage{width:min(100%,700px);max-width:100%;margin:0 auto;height:420px}
 .pcp5-body .photo-collage .vertical-stamp{display:none}
 .pcp5-body .faqs{min-width:0;width:100%}
}
@media(min-width:1101px) and (max-width:1340px){
 .pcp5-body .about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
 .pcp5-body .about-grid .photo-collage{width:calc(100% - 38px);max-width:calc(100% - 38px);height:400px}
 .pcp5-body .photo-collage .vertical-stamp{display:none}
 .pcp5-body .faq-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:34px}
 .pcp5-body .faq-grid>div,.pcp5-body .faqs{min-width:0;width:100%}
}
/* Final form QA: do not squeeze phone and name into half-width fields. */
.pcp5-body .quote-box .pcp7-form-grid{grid-template-columns:minmax(0,1fr);gap:9px}
.pcp5-body .quote-box .pcp7-form-grid label{grid-column:1/-1!important}
.pcp5-body .quote-box .pcp7-form-grid input,.pcp5-body .quote-box .pcp7-form-grid select{min-height:43px}

.pcp6-home-hero .pcp7-gold-word{color:#ddbd88}
