
:root{--pp-red:#d70b14;--pp-black:#050505;--pp-panel:#111315;--pp-line:#2b2e31;--pp-muted:#c5c7c9;--pp-white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#070707;color:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.5}
body.admin-bar .pp-header{top:32px}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}
.pp-topbar{height:42px;background:#020202;border-bottom:1px solid #252525;display:flex;align-items:center;justify-content:space-between;padding:0 28px;font-size:13px}
.pp-topbar__group{display:flex;gap:26px}.pp-topbar b{color:var(--pp-red)}
.pp-header{height:92px;background:#050505;border-bottom:1px solid #242424;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:80}
.pp-logo img,.custom-logo{max-height:68px;width:auto}.pp-menu{display:flex;align-items:center;gap:34px;margin:0;padding:0;list-style:none;text-transform:uppercase;font-size:14px;font-weight:800}
.pp-menu a:hover,.pp-menu .current-menu-item>a{color:var(--pp-red)}.pp-button{display:inline-flex;align-items:center;justify-content:center;background:var(--pp-red);border:1px solid var(--pp-red);color:#fff;padding:16px 24px;font-weight:900;text-transform:uppercase;cursor:pointer}
.pp-button--outline{background:transparent;border-color:#fff}.pp-mobile-toggle{display:none;background:none;border:1px solid #666;color:#fff;padding:9px 12px}
.pp-hero{min-height:620px;position:relative;display:flex;align-items:center;background-position:center;background-size:cover}.pp-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.44) 48%,rgba(0,0,0,.12)),linear-gradient(0deg,rgba(0,0,0,.45),transparent 65%)}
.pp-hero__inner{position:relative;z-index:2;padding:70px 5vw;max-width:780px}.pp-eyebrow{color:var(--pp-red);font-weight:900;text-transform:uppercase;letter-spacing:.15em;font-size:13px}.pp-hero h1{font-size:62px;line-height:.95;text-transform:uppercase;margin:16px 0 22px;letter-spacing:-.035em}.pp-hero h1 span{display:block;color:var(--pp-red)}.pp-hero p{font-size:19px;color:#efefef;max-width:650px}.pp-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.pp-wrap{max-width:1260px;margin:0 auto;padding:66px 24px}.pp-section-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:28px}.pp-section-head h2,.pp-title{font-size:38px;line-height:1.05;text-transform:uppercase;margin:8px 0}.pp-lead{font-size:18px;color:var(--pp-muted);max-width:830px}
.pp-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.pp-service-card{min-height:360px;position:relative;overflow:hidden;border:1px solid #4a4a4a}.pp-service-card--wide{grid-column:1/-1;min-height:300px}
.pp-service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s}.pp-service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,.08) 75%)}
.pp-service-card:hover img{transform:scale(1.04)}.pp-service-card:hover{border-color:var(--pp-red)}.pp-service-number{position:absolute;z-index:2;top:14px;left:14px;background:var(--pp-red);padding:6px 10px;font-weight:900}
.pp-service-copy{position:absolute;z-index:2;left:26px;right:26px;bottom:24px}.pp-service-copy h3{font-size:26px;text-transform:uppercase;line-height:1.05;margin:0}.pp-service-copy p{color:#eee;max-width:620px}.pp-view{font-size:12px;text-transform:uppercase;font-weight:900}.pp-view b{color:var(--pp-red);font-size:18px}
.pp-trust{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--pp-line);border-bottom:1px solid var(--pp-line)}.pp-trust article{text-align:center;padding:30px 20px;border-right:1px solid var(--pp-line)}.pp-trust article:last-child{border-right:0}.pp-trust i{font-style:normal;color:var(--pp-red);font-size:34px}.pp-trust strong{display:block;text-transform:uppercase;margin:10px 0}.pp-trust small{color:#bbb}
.pp-page-hero{min-height:430px;position:relative;display:flex;align-items:end;background-position:center;background-size:cover}.pp-page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.91),rgba(0,0,0,.16) 76%),linear-gradient(90deg,rgba(0,0,0,.66),transparent 72%)}.pp-page-hero__copy{position:relative;z-index:2;padding:70px 5vw;max-width:900px}.pp-page-hero h1{font-size:54px;text-transform:uppercase;line-height:1;margin:12px 0 18px}
.pp-two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:start}.pp-panel,.pp-card{background:var(--pp-panel);border:1px solid var(--pp-line);padding:30px}.pp-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pp-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 20px;margin-top:24px}.pp-check{padding:13px 15px;background:#0b0c0d;border-left:3px solid var(--pp-red)}
.pp-process{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.pp-step{background:var(--pp-panel);border:1px solid var(--pp-line);padding:22px;min-height:150px}.pp-step b{color:var(--pp-red)}.pp-step strong{display:block;text-transform:uppercase;margin-top:10px}
.pp-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pp-gallery a{min-height:245px;overflow:hidden}.pp-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.pp-gallery a:hover img{transform:scale(1.04)}
.pp-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.pp-field{display:flex;flex-direction:column;gap:7px}.pp-field--full{grid-column:1/-1}.pp-field input,.pp-field select,.pp-field textarea{background:#090909;border:1px solid #474747;color:#fff;padding:14px;font:inherit}.pp-field textarea{min-height:150px}.pp-field input:focus,.pp-field select:focus,.pp-field textarea:focus{outline:2px solid var(--pp-red)}
.pp-notice{padding:14px 16px;margin-bottom:20px;border-left:3px solid var(--pp-red);background:#121212}.pp-contact-list{display:grid;gap:14px}.pp-contact-item{background:var(--pp-panel);border-left:3px solid var(--pp-red);padding:18px}.pp-contact-item strong{display:block;text-transform:uppercase}
.pp-footer{padding:40px 24px;text-align:center;border-top:1px solid var(--pp-line);color:#aaa}.pp-footer img{height:58px;margin:0 auto 16px;width:auto}
@media(max-width:1000px){.pp-menu{gap:18px}.pp-process{grid-template-columns:repeat(2,1fr)}.pp-gallery{grid-template-columns:repeat(2,1fr)}.pp-card-grid{grid-template-columns:repeat(2,1fr)}.pp-trust{grid-template-columns:repeat(2,1fr)}}
@media(max-width:782px){body.admin-bar .pp-header{top:46px}}
@media(max-width:760px){.pp-topbar{display:none}.pp-header{height:78px;padding:0 14px}.pp-logo img,.custom-logo{max-height:54px}.pp-mobile-toggle{display:block}.pp-header>.pp-button{display:none}.pp-menu-wrap{display:none;position:absolute;top:78px;left:0;right:0;background:#050505;padding:16px}.pp-menu-wrap.is-open{display:block}.pp-menu{flex-direction:column;align-items:stretch}.pp-menu a{display:block;padding:11px;border-bottom:1px solid #222}.pp-hero{min-height:540px}.pp-hero__inner{padding:52px 22px}.pp-hero h1{font-size:44px}.pp-services-grid,.pp-card-grid,.pp-gallery,.pp-process,.pp-checks,.pp-trust,.pp-form-grid{grid-template-columns:1fr}.pp-service-card--wide{grid-column:auto}.pp-section-head,.pp-two-col{display:block}.pp-wrap{padding:48px 18px}.pp-field--full{grid-column:auto}.pp-page-hero h1{font-size:40px}}

/* FINAL PRODUCTION */
.pp-logo{background:#fff;padding:8px 12px;border-radius:3px;display:inline-flex;align-items:center}.pp-logo img,.pp-logo .custom-logo{max-height:62px}
.pp-featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pp-project-card{background:#fff;color:#111;border:1px solid #ddd}.pp-project-card img{width:100%;height:240px;object-fit:cover}.pp-project-card__copy{padding:18px}.pp-project-card__copy h3{margin:0 0 6px;text-transform:uppercase}
.pp-city-list{columns:2;column-gap:28px}.pp-city-list a{display:block;padding:5px 0}.pp-insurance{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;background:#fff;color:#111;padding:28px;border-top:4px solid var(--pp-red)}.pp-insurance strong{display:block;font-size:26px;text-transform:uppercase}.pp-insurance__limits{display:flex;gap:28px;flex-wrap:wrap}.pp-insurance__limits b{display:block;font-size:22px}.pp-warranty{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.pp-warranty article{background:var(--pp-panel);border:1px solid var(--pp-line);padding:26px}.pp-faq details{background:var(--pp-panel);border:1px solid var(--pp-line);margin-bottom:10px;padding:18px}.pp-faq summary{cursor:pointer;font-weight:800}.pp-breadcrumbs{max-width:1260px;margin:0 auto;padding:16px 24px;color:#aaa;font-size:13px}.pp-review-ready{background:#0e0e0e;border:1px dashed #555;padding:24px;text-align:center;color:#bbb}.pp-coi-viewer{width:100%;height:800px;border:1px solid #333;background:#fff}.pp-sticky-mobile{display:none}.pp-backtop{position:fixed;right:20px;bottom:20px;width:44px;height:44px;border-radius:50%;background:var(--pp-red);color:#fff;border:0;z-index:90;cursor:pointer}
@media(max-width:900px){.pp-featured-grid{grid-template-columns:repeat(2,1fr)}.pp-insurance{grid-template-columns:1fr}.pp-warranty{grid-template-columns:1fr}}@media(max-width:760px){.pp-featured-grid{grid-template-columns:1fr}.pp-city-list{columns:1}.pp-sticky-mobile{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:95}.pp-sticky-mobile a{flex:1;text-align:center;padding:14px 8px;background:#111;border-top:1px solid #333;font-weight:800}.pp-sticky-mobile a:last-child{background:var(--pp-red)}body{padding-bottom:52px}.pp-coi-viewer{height:520px}}

/* Final approved homepage refinements */
.pp-home-intro{padding-bottom:38px}
.pp-final-cta{border-top:1px solid var(--pp-line)}
@media(min-width:1001px){
  .pp-hero{min-height:700px}
  .pp-hero h1{font-size:72px}
  .pp-service-card{min-height:410px}
  .pp-service-card--wide{min-height:340px}
}

/* Final launch fixes: single clean text layer and generated clean photography */
.pp-hero__inner,.pp-service-copy,.pp-service-number{position:relative;z-index:3}
.pp-service-card:before{display:none!important;content:none!important}
.pp-service-card .pp-service-copy:before,
.pp-service-card .pp-service-copy:after,
.pp-hero__inner:before,
.pp-hero__inner:after{display:none!important;content:none!important}
.pp-service-card img{opacity:1!important;visibility:visible!important}
.pp-service-card{isolation:isolate}
.pp-service-card:after{z-index:1}
.pp-service-copy{position:absolute}

/* v1.2.0 duplicate-text correction */
.pp-hero__inner::before,
.pp-hero__inner::after,
.pp-service-card::before,
.pp-service-copy::before,
.pp-service-copy::after,
.pp-service-card h3::before,
.pp-service-card h3::after,
.pp-service-card p::before,
.pp-service-card p::after {
    content: none !important;
    display: none !important;
}
.pp-hero__inner > *,
.pp-service-copy > * {
    text-shadow: none !important;
}
.pp-service-card {
    isolation: isolate;
}
.pp-service-card img {
    z-index: 0 !important;
}
.pp-service-card::after {
    z-index: 1 !important;
}
.pp-service-number,
.pp-service-copy {
    z-index: 2 !important;
}

/* v2.0 crisp homepage service photography */
.pp-service-card img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: translateZ(0);
    filter: none !important;
    image-rendering: auto;
    backface-visibility: hidden;
}
.pp-service-card:hover img {
    transform: scale(1.018) translateZ(0) !important;
}
.pp-service-card::before,
.pp-service-copy::before,
.pp-service-copy::after,
.pp-service-card h3::before,
.pp-service-card h3::after,
.pp-service-card p::before,
.pp-service-card p::after {
    content: none !important;
    display: none !important;
}

/* v2.1 homepage card sizing correction */
.pp-service-card {
    background-image: none !important;
    background-size: initial !important;
    background-position: initial !important;
}
.pp-service-card > img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
}
.pp-service-card::before {
    background-image: none !important;
}

/* v2.2 sharper Core Service cards 03–07 */
.pp-service-card > img {
    image-rendering: auto !important;
    filter: none !important;
    transform: none !important;
}
.pp-service-card:hover > img {
    transform: scale(1.012) !important;
}

/* v3.0 approved daytime Core Service image set */
.pp-service-card > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    filter: none !important;
    image-rendering: auto !important;
}
.pp-service-card:hover > img {
    transform: scale(1.01) !important;
}

