/*
Theme Name: Drywall Pros Enterprise
Theme URI: https://drywallpros.co.za/
Author: Drywall Pros
Description: A clean, standalone contractor theme for drywall installation, ceilings, partitions and office fit-outs.
Version: 4.3.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: drywall-pros-premium
*/
:root{--navy:#0b1f33;--blue:#145da0;--sky:#eaf4fb;--orange:#f28c28;--ink:#17212b;--muted:#66717c;--line:#dce4ea;--white:#fff;--radius:18px;--shadow:0 18px 48px rgba(11,31,51,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.container{width:min(1180px,calc(100% - 32px));margin:auto}.site-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.topbar{background:var(--navy);color:#fff;font-size:14px}.topbar .container{display:flex;justify-content:space-between;gap:20px;padding:8px 0;flex-wrap:wrap}.mainbar{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:78px}.brand{display:flex;align-items:center;gap:12px;min-width:0;font-weight:800;font-size:24px;color:var(--navy);flex:0 1 auto}.brand .custom-logo-link{display:flex;align-items:center;line-height:0;max-width:220px}.brand .custom-logo{display:block;width:auto!important;height:auto!important;max-width:210px!important;max-height:54px!important;object-fit:contain}.brand-text{white-space:nowrap}.brand-mark{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--orange));display:grid;place-items:center;color:#fff;font-weight:900}.site-nav ul{display:flex;list-style:none;padding:0;margin:0;gap:28px;align-items:center}.site-nav a{font-weight:700;color:var(--navy)}.site-nav a:hover{color:var(--orange)}.header-actions{display:flex;gap:10px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;border-radius:999px;font-weight:800;border:0;cursor:pointer}.btn-primary{background:var(--orange);color:#fff}.btn-secondary{background:var(--navy);color:#fff}.btn-light{background:#fff;color:var(--navy)}.menu-toggle{display:none;background:none;border:0;font-size:28px}.hero{background:linear-gradient(120deg,rgba(11,31,51,.96),rgba(20,93,160,.88)),url('assets/images/hero.svg') center/cover;color:#fff;padding:96px 0 82px}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center}.eyebrow{display:inline-block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);padding:7px 12px;border-radius:999px;font-weight:700}.hero h1{font-size:clamp(42px,6vw,72px);line-height:1.05;margin:18px 0}.hero p{font-size:20px;max-width:700px;color:#eaf2f8}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.quote-card{background:#fff;color:var(--ink);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.quote-card h3{margin-top:0;color:var(--navy)}.quote-card input,.quote-card select,.quote-card textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:12px;margin:7px 0;font:inherit}.quote-card button{width:100%;margin-top:8px}.trust-strip{background:#fff;border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:22px 0}.trust-item{font-weight:800;color:var(--navy)}section{padding:82px 0}.section-head{max-width:760px;margin-bottom:34px}.section-head h2{font-size:clamp(34px,4vw,52px);line-height:1.15;margin:0 0 12px;color:var(--navy)}.section-head p{color:var(--muted);font-size:18px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:#fff;box-shadow:0 10px 30px rgba(11,31,51,.06)}.card-icon{width:52px;height:52px;border-radius:14px;background:var(--sky);display:grid;place-items:center;font-size:26px}.card h3{color:var(--navy);margin:16px 0 8px}.card p{color:var(--muted)}.alt{background:#f6f9fb}.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.feature-list{display:grid;gap:16px}.feature{display:flex;gap:14px}.tick{width:30px;height:30px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;flex:0 0 auto}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stat{background:var(--navy);color:#fff;border-radius:18px;padding:24px}.stat strong{font-size:36px;display:block}.areas{display:flex;flex-wrap:wrap;gap:10px}.pill{padding:10px 14px;border-radius:999px;background:var(--sky);color:var(--navy);font-weight:700}.cta{background:linear-gradient(135deg,var(--orange),#ffad53);color:#fff;border-radius:28px;padding:44px}.cta h2{margin-top:0;font-size:40px}.site-footer{background:var(--navy);color:#dce7ef;padding-top:58px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:30px}.site-footer h3,.site-footer h4{color:#fff}.site-footer ul{list-style:none;padding:0}.site-footer li{margin:8px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:38px;padding:20px 0;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.floating{position:fixed;right:18px;bottom:18px;z-index:1000;display:flex;flex-direction:column;gap:10px}.floating a{box-shadow:var(--shadow)}.page-hero{background:var(--navy);color:#fff;padding:70px 0}.content-wrap{padding:60px 0}.post-card{border-bottom:1px solid var(--line);padding:24px 0}.screen-reader-text{position:absolute;left:-9999px}
@media(max-width:1100px){.brand .custom-logo-link{max-width:180px}.brand .custom-logo{max-width:170px!important;max-height:48px!important}.site-nav ul{gap:18px}.mainbar{gap:18px}}
@media(max-width:950px){.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:20px}.site-nav.open{display:block}.site-nav ul{flex-direction:column;align-items:flex-start}.menu-toggle{display:block}.header-actions .btn-secondary{display:none}.hero-grid,.split{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.trust-grid,.stats,.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.topbar .container{justify-content:center}.mainbar{min-height:68px;gap:10px}.brand{font-size:20px;max-width:62%}.brand .custom-logo-link{max-width:145px}.brand .custom-logo{max-width:140px!important;max-height:42px!important}.brand-mark{width:40px;height:40px}.header-actions .btn-primary{display:none}.hero{padding:72px 0}.cards,.trust-grid,.stats,.footer-grid{grid-template-columns:1fr}section{padding:62px 0}.cta{padding:28px}.hero h1{font-size:44px}}


/* Lead generation suite v2.1 */
.estimator-wrap{display:grid;grid-template-columns:1fr .85fr;gap:28px;align-items:stretch}.estimator-panel,.estimate-result,.lead-card,.project-card,.testimonial-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 36px rgba(11,31,51,.07)}.estimator-panel,.estimate-result{padding:28px}.estimator-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.estimator-panel label{font-weight:800;color:var(--navy)}.estimator-panel input,.estimator-panel select{width:100%;margin-top:7px;padding:13px;border:1px solid var(--line);border-radius:12px;font:inherit;background:#fff}.estimate-result{background:var(--navy);color:#fff;display:flex;flex-direction:column;justify-content:center}.estimate-result .estimate-label{color:#bcd1df;font-weight:700}.estimate-result output{font-size:clamp(38px,5vw,62px);font-weight:900;line-height:1.1;margin:10px 0}.estimate-result small{color:#cbd9e3}.estimate-breakdown{margin:20px 0;padding:16px;background:rgba(255,255,255,.08);border-radius:14px}.estimate-breakdown div{display:flex;justify-content:space-between;gap:20px;padding:5px 0}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project-card{overflow:hidden}.project-image{height:210px;background:linear-gradient(135deg,var(--navy),var(--blue));display:grid;place-items:center;color:#fff;font-size:46px}.project-card img{width:100%;height:210px;object-fit:cover}.project-body{padding:22px}.project-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.project-meta span{font-size:13px;font-weight:800;background:var(--sky);color:var(--navy);padding:6px 9px;border-radius:999px}.project-card h3{margin:5px 0;color:var(--navy)}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.testimonial-card{padding:25px}.stars{color:var(--orange);letter-spacing:2px}.testimonial-card blockquote{margin:14px 0;color:var(--muted)}.lead-band{background:var(--sky)}.lead-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.lead-card{padding:24px}.lead-card strong{display:block;color:var(--navy);font-size:20px;margin-bottom:8px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.process-step{padding:22px;border-left:4px solid var(--orange);background:#fff;border-radius:0 var(--radius) var(--radius) 0;box-shadow:0 8px 24px rgba(11,31,51,.06)}.process-step b{font-size:32px;color:var(--blue);display:block}.section-actions{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}.notice-success{padding:14px;border-radius:12px;background:#e9f8ef;color:#166534;margin-bottom:16px}.notice-error{padding:14px;border-radius:12px;background:#fff0f0;color:#991b1b;margin-bottom:16px}.quote-card .honeypot{position:absolute;left:-9999px}.quote-card small{display:block;color:var(--muted);margin-top:8px}.badge-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.badge{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);padding:8px 11px;border-radius:999px;font-size:14px;font-weight:700}
@media(max-width:950px){.estimator-wrap{grid-template-columns:1fr}.projects-grid,.testimonials-grid,.lead-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.estimator-grid,.projects-grid,.testimonials-grid,.lead-grid,.process-grid{grid-template-columns:1fr}.estimator-panel,.estimate-result{padding:22px}.project-image,.project-card img{height:180px}}


/* v2.2 Lead Manager & Booking */
.booking-section{background:#071d35;color:#fff}.booking-section .section-head p{color:#c8d6e5}.booking-wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:28px;align-items:start}.booking-benefits{display:grid;gap:14px}.booking-benefit{padding:18px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.06)}.booking-benefit strong{display:block;margin-bottom:5px}.booking-card{background:#fff;color:#17212b;padding:26px;border-radius:22px;box-shadow:0 20px 55px rgba(0,0,0,.2)}.booking-card form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-card label{display:grid;gap:6px;font-weight:700}.booking-card .wide{grid-column:1/-1}.booking-card input,.booking-card select,.booking-card textarea{width:100%;padding:13px;border:1px solid #d5dde5;border-radius:10px;font:inherit}.commercial-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.commercial-card{padding:22px;border:1px solid #e3e8ed;border-radius:18px;background:#fff}.commercial-card b{display:block;font-size:1.15rem;margin-bottom:8px}.seo-band{background:#eef5fa}.seo-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.seo-links a{display:block;padding:14px 16px;background:#fff;border:1px solid #dfe7ee;border-radius:12px;font-weight:700}.notice-info{padding:12px 14px;border-radius:10px;background:#eaf4ff;color:#0c4d83;margin-bottom:14px}
@media(max-width:900px){.booking-wrap{grid-template-columns:1fr}.commercial-grid{grid-template-columns:repeat(2,1fr)}.seo-links{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.booking-card form{grid-template-columns:1fr}.booking-card .wide{grid-column:auto}.commercial-grid,.seo-links{grid-template-columns:1fr}}


/* v2.3 Sales Pipeline, Tender Desk & Follow-up Tools */
.tender-section{background:#f7fafc}.tender-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:start}.tender-copy{padding:30px;border-radius:22px;background:linear-gradient(145deg,#0b1f33,#145da0);color:#fff}.tender-copy h2{margin-top:0;font-size:clamp(32px,4vw,48px)}.tender-copy p{color:#d7e5f0}.tender-list{display:grid;gap:12px;margin-top:22px}.tender-list div{padding:12px 14px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.07)}.tender-form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:var(--shadow)}.tender-form form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tender-form label{display:grid;gap:6px;font-weight:700}.tender-form .wide{grid-column:1/-1}.tender-form input,.tender-form select,.tender-form textarea{width:100%;padding:13px;border:1px solid var(--line);border-radius:11px;font:inherit}.pipeline-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.pipeline-step{padding:20px;background:#fff;border:1px solid var(--line);border-radius:16px}.pipeline-step strong{display:block;color:var(--navy);margin-bottom:6px}.pipeline-step span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--orange);color:#fff;font-weight:900;margin-bottom:12px}
@media(max-width:900px){.tender-wrap{grid-template-columns:1fr}.pipeline-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.tender-form form,.pipeline-strip{grid-template-columns:1fr}.tender-form .wide{grid-column:auto}}

/* v2.5 customer portal */
.dpp-portal{max-width:1100px;margin:50px auto;padding:0 20px}.dpp-portal-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.dpp-portal-head h1{margin:.2rem 0}.dpp-stage{background:#e9f3fb;color:#0b4d7a;padding:9px 14px;border-radius:999px;font-weight:700}.dpp-portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.dpp-portal-card{background:#fff;border:1px solid #dde5ec;border-radius:16px;padding:24px;margin:0 0 20px;box-shadow:0 12px 30px rgba(11,31,51,.06)}.dpp-progressbar{height:13px;background:#e8edf1;border-radius:20px;overflow:hidden;margin:14px 0}.dpp-progressbar span{display:block;height:100%;background:#f59e0b;border-radius:20px}.dpp-timeline{border-left:3px solid #dce7ef;margin-left:7px;padding-left:24px}.dpp-timeline article{position:relative;padding:0 0 22px}.dpp-timeline article:before{content:"";position:absolute;width:13px;height:13px;border-radius:50%;background:#f59e0b;left:-32px;top:5px}.dpp-timeline time{font-size:.86rem;color:#617184}.dpp-timeline h4{margin:4px 0}.dpp-success{border-color:#9fd8b2;background:#f1fbf4}.dpp-portal input[type=text]{width:100%;max-width:500px;padding:12px;border:1px solid #cbd5df;border-radius:8px}@media(max-width:700px){.dpp-portal-grid{grid-template-columns:1fr}.dpp-portal-head{align-items:flex-start;flex-direction:column}}

/* Enterprise v3.0 public refinements */
.enterprise-badge{display:inline-flex;align-items:center;gap:8px;background:#eef5fa;color:#0b1f33;border:1px solid #d7e4ed;border-radius:999px;padding:8px 13px;font-weight:800}.portal-finance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.portal-finance-grid .dpp-portal-card{margin:0}@media(max-width:700px){.portal-finance-grid{grid-template-columns:1fr}}

/* v3.1 public SEO pages */
.seo-page-hero{background:linear-gradient(125deg,#071d35,#145da0);color:#fff;padding:78px 0}.seo-page-hero .breadcrumbs{font-size:14px;color:#d8e8f3;margin-bottom:18px}.seo-page-hero h1{font-size:clamp(38px,5vw,64px);line-height:1.08;max-width:900px;margin:0 0 18px}.seo-page-hero p{font-size:20px;color:#e7f1f7;max-width:780px}.seo-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start}.seo-copy h2{color:var(--navy);font-size:clamp(28px,3vw,42px);line-height:1.2;margin:42px 0 14px}.seo-copy h2:first-child{margin-top:0}.seo-copy h3{color:var(--navy);font-size:23px;margin:28px 0 8px}.seo-copy p,.seo-copy li{font-size:17px}.seo-copy ul{padding-left:22px}.seo-sidebar{position:sticky;top:120px}.seo-quote-box{background:var(--navy);color:#fff;border-radius:22px;padding:26px;box-shadow:var(--shadow)}.seo-quote-box h2{color:#fff;margin:0 0 10px;font-size:28px}.seo-quote-box p{color:#d8e6f0}.seo-quote-box .btn{width:100%;margin-top:10px}.seo-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:24px 0}.seo-check{background:#f3f8fb;border:1px solid var(--line);border-radius:14px;padding:17px}.seo-check strong{display:block;color:var(--navy);margin-bottom:4px}.faq-list details{border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin:12px 0;background:#fff}.faq-list summary{cursor:pointer;font-weight:800;color:var(--navy)}.related-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.related-links a{padding:15px;background:#fff;border:1px solid var(--line);border-radius:12px;font-weight:800;color:var(--blue)}.footer-grid a:hover{color:#fff;text-decoration:underline}@media(max-width:900px){.seo-layout{grid-template-columns:1fr}.seo-sidebar{position:static}.related-links{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.seo-checks,.related-links{grid-template-columns:1fr}.seo-page-hero{padding:60px 0}}

/* v3.3.0 Advanced estimator */
.advanced-estimator-wrap{align-items:start}.estimator-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 20px}.estimator-progress span{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--blue);background:var(--sky);border-radius:999px;padding:7px 10px;text-align:center}.estimate-notes-label{display:block;font-weight:800;color:var(--navy);margin-top:16px}.estimate-notes-label textarea{width:100%;margin-top:7px;padding:13px;border:1px solid var(--line);border-radius:12px;font:inherit;resize:vertical}.estimator-disclaimer{margin-bottom:0}.estimate-result{position:sticky;top:110px}.estimator-wa{width:100%;margin-top:4px}.estimator-site-visit{width:100%;text-align:center;margin-top:10px}.estimate-result .btn-light{background:#fff;color:var(--navy);border:1px solid rgba(255,255,255,.45)}.estimate-result .btn-light:hover{background:#f2f7fa}.text-link{font-weight:900;color:var(--blue);text-decoration:none}.text-link:hover{text-decoration:underline}.content-wrap .dpp-advanced-estimator{margin:20px 0 45px}.content-wrap .advanced-estimator-wrap{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}
@media(max-width:900px){.estimate-result{position:static}.content-wrap .advanced-estimator-wrap{grid-template-columns:1fr}}
@media(max-width:620px){.estimator-progress{grid-template-columns:repeat(2,1fr)}.advanced-estimator-wrap .estimator-grid{grid-template-columns:1fr}}


/* v3.4.0 Projects, Case Studies & Before/After Gallery */
.projects-archive-hero{background:linear-gradient(125deg,#071d35,#145da0);color:#fff;padding:76px 0}.projects-archive-hero h1{font-size:clamp(40px,5vw,64px);line-height:1.08;margin:0 0 14px}.projects-archive-hero p{font-size:19px;max-width:760px;color:#e4eef5}.project-filter{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 28px}.project-filter button{border:1px solid var(--line);background:#fff;color:var(--navy);padding:10px 15px;border-radius:999px;font:inherit;font-weight:800;cursor:pointer}.project-filter button.is-active,.project-filter button:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.project-card-link{display:block;height:100%}.project-card .project-readmore{font-weight:900;color:var(--blue);display:inline-block;margin-top:8px}.project-card[hidden]{display:none!important}.project-case-hero{background:#f4f8fb;padding:52px 0}.project-case-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:40px;align-items:center}.project-case-grid h1{font-size:clamp(38px,5vw,62px);line-height:1.08;color:var(--navy);margin:10px 0 14px}.project-lede{font-size:19px;color:var(--muted)}.project-facts{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow)}.project-facts dl{margin:0}.project-facts div{display:grid;grid-template-columns:120px 1fr;gap:15px;padding:11px 0;border-bottom:1px solid var(--line)}.project-facts div:last-child{border-bottom:0}.project-facts dt{font-weight:900;color:var(--navy)}.project-facts dd{margin:0;color:var(--ink)}.before-after-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.before-after-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 12px 32px rgba(11,31,51,.07)}.before-after-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.before-after-card figcaption{padding:13px 16px;font-weight:900;color:var(--navy)}.project-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project-gallery a{display:block;border-radius:16px;overflow:hidden;background:#eef3f6}.project-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .2s ease}.project-gallery a:hover img{transform:scale(1.025)}.project-content{max-width:820px}.project-content h2,.project-content h3{color:var(--navy)}.project-cta{margin-top:35px}.projects-empty{padding:30px;border:1px dashed var(--line);border-radius:16px;background:#f8fafb;color:var(--muted)}
@media(max-width:900px){.project-case-grid{grid-template-columns:1fr}.project-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.before-after-grid,.project-gallery{grid-template-columns:1fr}.project-facts div{grid-template-columns:1fr;gap:3px}}

/* v3.5.0 Reviews & Trust Centre */
.dpp-trust-centre{max-width:1180px;margin:0 auto;padding:46px 20px 70px}.trust-hero{background:linear-gradient(125deg,#071d35,#145da0);color:#fff;border-radius:26px;padding:clamp(30px,5vw,62px);margin-bottom:28px}.trust-hero h1{font-size:clamp(38px,5vw,62px);line-height:1.08;margin:8px 0 14px}.trust-hero p{font-size:19px;max-width:780px;color:#e5eef5}.trust-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0 0 48px}.trust-proof-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:23px;box-shadow:0 10px 30px rgba(11,31,51,.05)}.trust-proof-grid strong{display:block;color:var(--navy);font-size:19px;margin-bottom:7px}.trust-proof-grid p{margin:0;color:var(--muted)}.trust-review-card .stars{letter-spacing:3px}.trust-review-card blockquote{margin:12px 0 14px}.review-meta{margin-top:6px;color:var(--muted);font-weight:700}.review-source{display:block;color:var(--muted);margin-top:5px}.trust-review-card .project-readmore{display:block;margin-top:12px}.trust-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.trust-actions .trust-contact{background:#fff;color:var(--navy);border:1px solid var(--line)}.trust-google-button{border:1px solid var(--line);color:var(--navy)}
@media(max-width:800px){.trust-proof-grid{grid-template-columns:1fr}.dpp-trust-centre{padding-top:24px}}


/* v3.6.0 Materials & Systems Comparison Centre */
.dpp-materials-centre{padding:0}.materials-hero{background:linear-gradient(135deg,var(--navy),#123f68);color:#fff;border-radius:28px;padding:48px;margin-bottom:36px}.materials-hero h1{font-size:clamp(38px,5vw,62px);line-height:1.08;margin:16px 0}.materials-hero p{font-size:18px;max-width:860px;color:#dbe8f3}.materials-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.materials-system-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.material-system-card{border:1px solid var(--line);border-radius:20px;padding:24px;background:#fff;box-shadow:0 10px 30px rgba(11,31,51,.06)}.material-system-card h2{font-size:24px;color:var(--navy);margin:12px 0 8px}.material-system-card p{color:var(--muted)}.material-badge{display:inline-block;padding:6px 9px;border-radius:999px;background:var(--sky);color:var(--blue);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.material-system-card dl{margin:18px 0}.material-system-card dl div{padding:10px 0;border-top:1px solid var(--line)}.material-system-card dt{font-size:12px;text-transform:uppercase;letter-spacing:.04em;font-weight:900;color:var(--muted)}.material-system-card dd{margin:3px 0 0;color:var(--navy);font-weight:700}.materials-compare-head{margin-top:58px}.materials-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:#fff}.materials-table{border-collapse:collapse;width:100%;min-width:900px}.materials-table th,.materials-table td{padding:15px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.materials-table thead th{background:var(--navy);color:#fff}.materials-table tbody th{color:var(--navy);min-width:160px}.materials-use-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}.materials-use-grid article{background:var(--sky);border-radius:18px;padding:24px}.materials-use-grid h3{color:var(--navy);margin-top:0;font-size:24px}.materials-use-grid a{font-weight:900;color:var(--blue)}.materials-spec-section{margin-top:60px}.materials-factor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.materials-factor-grid div{border-left:4px solid var(--orange);padding:18px 20px;background:#fff;border-radius:0 14px 14px 0;box-shadow:0 8px 24px rgba(11,31,51,.05)}.materials-factor-grid strong{display:block;color:var(--navy);margin-bottom:5px}.materials-factor-grid span{color:var(--muted)}.materials-faq{margin:60px 0}.materials-faq details{border:1px solid var(--line);border-radius:14px;background:#fff;margin:10px 0;padding:0 18px}.materials-faq summary{cursor:pointer;font-weight:900;color:var(--navy);padding:18px 0}.materials-faq details p{margin-top:0;color:var(--muted)}.materials-cta{margin-top:40px}.dpp-materials-guide-page .entry-content{max-width:none}.dpp-materials-guide-page .content-wrap>.container{width:min(1180px,calc(100% - 32px))}
@media(max-width:950px){.materials-system-grid,.materials-use-grid,.materials-factor-grid{grid-template-columns:repeat(2,1fr)}.materials-hero{padding:36px}}
@media(max-width:620px){.materials-system-grid,.materials-use-grid,.materials-factor-grid{grid-template-columns:1fr}.materials-hero{padding:26px;border-radius:20px}.materials-hero h1{font-size:38px}}

/* v3.7.0 Commercial Contractor & Tender Centre */
.tender-centre{padding-top:54px}.tender-hero{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;border-radius:28px;padding:54px;margin-bottom:28px}.tender-hero h1{font-size:clamp(38px,5vw,62px);line-height:1.08;margin:16px 0}.tender-hero p{font-size:19px;max-width:850px;color:#e7f0f7}.tender-capabilities{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:28px 0 70px}.tender-capabilities article{border:1px solid var(--line);border-radius:16px;padding:20px;background:#fff}.tender-capabilities strong{display:block;color:var(--navy);font-size:18px;margin-bottom:6px}.tender-capabilities span{color:var(--muted)}.tender-procurement{margin-bottom:70px}.tender-checklist{background:var(--sky);border-radius:22px;padding:30px}.tender-checklist h3{margin-top:0;color:var(--navy);font-size:27px}.tender-checklist li{margin:8px 0}.tender-sectors{padding:48px;border-radius:24px;margin-bottom:70px}.tender-form-wrap{max-width:960px;margin:0 auto 70px}.tender-form{border:1px solid var(--line);border-radius:22px;padding:30px;background:#fff;box-shadow:var(--shadow)}.tender-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.tender-form label{display:block;font-weight:800;color:var(--navy);margin-bottom:16px}.tender-form input,.tender-form select,.tender-form textarea{display:block;width:100%;padding:13px 14px;margin-top:7px;border:1px solid var(--line);border-radius:12px;font:inherit;background:#fff}.tender-form textarea{resize:vertical}.tender-form small{display:block;color:var(--muted);margin-top:12px}.tender-form .honeypot{position:absolute;left:-9999px}.tender-cta{margin-bottom:20px}@media(max-width:950px){.tender-capabilities{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.tender-hero{padding:30px 24px}.tender-capabilities,.tender-form-grid{grid-template-columns:1fr}.tender-sectors{padding:28px 20px}.tender-form{padding:22px}}

/* v3.8.0 Service Area Finder & Gauteng Local SEO Hub */
.dpp-area-hub{padding-top:54px;padding-bottom:72px}.area-hero{background:linear-gradient(135deg,var(--navy),#145da0);color:#fff;border-radius:28px;padding:clamp(30px,5vw,58px);margin-bottom:46px}.area-hero h1{font-size:clamp(38px,5vw,62px);line-height:1.08;margin:14px 0}.area-hero>p{font-size:19px;max-width:850px;color:#e7f0f7}.area-finder-box{max-width:850px;margin-top:28px;padding:22px;border-radius:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2)}.area-finder-box label{display:block;font-weight:900;margin-bottom:8px}.area-search-row{display:grid;grid-template-columns:1fr auto;gap:10px}.area-search-row input{width:100%;border:0;border-radius:12px;padding:14px 15px;font:inherit}.area-result{margin:12px 0 0;color:#e7f0f7}.area-result a{color:#fff;font-weight:900}.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0 65px}.area-card{position:relative;border:1px solid var(--line);border-radius:20px;background:#fff;padding:24px;box-shadow:0 10px 28px rgba(11,31,51,.05);transition:.2s ease}.area-card:hover,.area-card.is-match{transform:translateY(-3px);border-color:var(--blue);box-shadow:0 16px 38px rgba(11,31,51,.1)}.area-card.is-match{outline:3px solid rgba(20,93,160,.14)}.area-card h2{font-size:25px;color:var(--navy);margin:6px 0 10px}.area-card p{color:var(--muted);min-height:72px}.area-card strong{display:block;color:var(--ink);margin-bottom:16px}.area-pin{font-size:25px;color:var(--orange)}.area-service-links{border-radius:24px;padding:44px;margin:0 0 52px}.area-guidance{background:var(--sky);border-radius:22px;padding:34px}.area-guidance h2{color:var(--navy);margin-top:0}.area-guidance p{max-width:850px;color:var(--muted)}
@media(max-width:950px){.area-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.area-hero{padding:28px 22px}.area-search-row{grid-template-columns:1fr}.area-grid{grid-template-columns:1fr}.area-card p{min-height:0}.area-service-links{padding:28px 20px}}

/* v3.9 Price Intelligence Centre */
.price-intel-centre .price-notice{padding:18px 20px;border:1px solid rgba(0,0,0,.12);border-radius:14px;margin:0 0 28px;background:#fff}.price-factor-cards{margin-bottom:34px}.price-factor-cards .card h2{font-size:1.15rem}.table-wrap{overflow-x:auto;margin:20px 0 36px}.price-table{width:100%;border-collapse:collapse;background:#fff}.price-table th,.price-table td{padding:16px;text-align:left;border-bottom:1px solid rgba(0,0,0,.1);vertical-align:top}.price-table thead th{font-size:.9rem;text-transform:uppercase;letter-spacing:.04em}.price-formula{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center;padding:30px;border-radius:18px;margin:30px 0}.formula-box{display:grid;gap:8px;padding:20px;border-radius:14px;background:#fff}.formula-box span{padding:9px 12px;border:1px solid rgba(0,0,0,.1);border-radius:8px}.formula-box b{text-align:center}.price-links{margin-top:34px}.price-cta{margin-top:38px}@media(max-width:780px){.price-formula{grid-template-columns:1fr;padding:20px}.price-table th,.price-table td{min-width:180px;padding:12px}.price-intel-centre h1{font-size:clamp(2rem,10vw,3rem)}}


/* v4.3.0 SEO content + internal linking engine */
.dwp-v400-related,.dwp-v400-hub{max-width:1180px;margin:48px auto;padding:28px clamp(18px,3vw,36px);box-sizing:border-box}
.dwp-v400-related{border:1px solid rgba(15,23,42,.12);border-radius:20px;background:#fff}
.dwp-v400-eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:.78rem;font-weight:800;margin:0 0 8px}
.dwp-v400-related__head h2,.dwp-v400-hub>h2{font-size:clamp(1.55rem,2.6vw,2.35rem);line-height:1.15;margin:0 0 10px}
.dwp-v400-related__head p{max-width:760px}
.dwp-v400-related__grid,.dwp-v400-hub__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}
.dwp-v400-resource,.dwp-v400-hub__card{display:flex;flex-direction:column;gap:7px;padding:18px;border:1px solid rgba(15,23,42,.12);border-radius:14px;text-decoration:none!important;color:inherit!important;background:#fff;transition:transform .18s ease,box-shadow .18s ease}
.dwp-v400-resource:hover,.dwp-v400-hub__card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(15,23,42,.10)}
.dwp-v400-resource span,.dwp-v400-hub__card span{font-weight:700}
.dwp-v400-hub__card h3{font-size:1.1rem;margin:0}
.dwp-v400-hub__card p{margin:0;line-height:1.55}
@media(max-width:800px){.dwp-v400-related__grid,.dwp-v400-hub__grid{grid-template-columns:1fr}.dwp-v400-related,.dwp-v400-hub{margin:28px auto}}

/* v4.3.0 specialist content gap expansion */
.dwp-v410-specialist{max-width:1180px;margin:48px auto;padding:28px clamp(18px,3vw,36px)}
.dwp-v410-specialist>h2{font-size:clamp(1.55rem,2.6vw,2.35rem);margin:0 0 20px}
.dwp-v410-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dwp-v410-grid a{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid rgba(15,23,42,.12);border-radius:14px;text-decoration:none!important;color:inherit!important;background:#fff}
.dwp-v410-grid a:hover{box-shadow:0 10px 28px rgba(15,23,42,.1);transform:translateY(-2px)}
.dwp-v410-grid span{font-size:.9rem;line-height:1.45}
.dwp-authority-page .dwp-lead{font-size:1.15rem;line-height:1.7}
.dwp-authority-page section{margin:34px 0}
@media(max-width:800px){.dwp-v410-grid{grid-template-columns:1fr}}

/* v4.3.0 ceiling SEO powerhouse */
.dwp-v420-ceilings{max-width:1180px;margin:48px auto;padding:30px clamp(18px,3vw,36px);border-radius:20px}
.dwp-v420-ceilings>h2{font-size:clamp(1.55rem,2.6vw,2.35rem);margin:0 0 10px}
.dwp-v420-intro{max-width:760px;line-height:1.65}
.dwp-v420-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}
.dwp-v420-grid a{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid rgba(15,23,42,.12);border-radius:14px;background:#fff;color:inherit!important;text-decoration:none!important}
.dwp-v420-grid a:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(15,23,42,.1)}
.dwp-v420-grid span{font-size:.88rem;font-weight:700}
@media(max-width:800px){.dwp-v420-grid{grid-template-columns:1fr}}

/* v4.3.0 office partitioning powerhouse */
.dwp-v430-office{max-width:1180px;margin:48px auto;padding:30px clamp(18px,3vw,36px)}
.dwp-v430-office>h2{font-size:clamp(1.55rem,2.6vw,2.35rem);margin:0 0 10px}
.dwp-v430-intro{max-width:760px;line-height:1.65}
.dwp-v430-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}
.dwp-v430-grid a{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid rgba(15,23,42,.12);border-radius:14px;background:#fff;color:inherit!important;text-decoration:none!important;transition:transform .18s ease,box-shadow .18s ease}
.dwp-v430-grid a:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(15,23,42,.1)}
.dwp-v430-grid span{font-size:.88rem;font-weight:700}
.dwp-office-authority .dwp-lead{font-size:1.15rem;line-height:1.7}
@media(max-width:800px){.dwp-v430-grid{grid-template-columns:1fr}}
