*,*::before,*::after{box-sizing:border-box;margin:0;padding:0} :root{--slate:#0f1923;--slate2:#1a2635;--amber:#e8a020;--amber2:#f5b940;--cream:#f5f0e8;--grey:#8a9bb0;--light:#dde4ec;--white:#ffffff;--danger:#c0392b} html{scroll-behavior:smooth;overflow-x:hidden} body{font-family:'Lato',sans-serif;background:var(--cream);color:var(--slate);line-height:1.6;overflow-x:hidden;width:100%;padding-top:98px} header{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--slate);width:100%} .emergency-banner{background:var(--danger);color:var(--white);text-align:center;padding:.5rem 5%;font-size:.78rem;font-weight:700;letter-spacing:1px;text-transform:uppercase} .emergency-banner a{color:var(--white);text-decoration:underline} .header-nav{display:flex;align-items:center;justify-content:space-between;padding:0 5%;height:64px;border-bottom:3px solid var(--amber)} .logo{font-family:'Bebas Neue',sans-serif;font-size:1.7rem;color:var(--white);letter-spacing:2px;text-decoration:none} .logo span{color:var(--amber)} nav a{color:var(--light);text-decoration:none;font-size:.85rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-left:2rem;transition:color .2s} nav a:hover{color:var(--amber)} .nav-cta{background:var(--amber);color:var(--slate)!important;padding:.5rem 1.2rem;border-radius:2px} .breadcrumb{background:var(--slate2);padding:.7rem 5%;border-bottom:1px solid rgba(232,160,32,.15)} .breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center} .breadcrumb li{font-size:.78rem;color:var(--grey)} .breadcrumb li a{color:var(--grey);text-decoration:none;transition:color .2s} .breadcrumb li a:hover{color:var(--amber)} .breadcrumb li+li::before{content:'›';margin-right:.4rem;color:rgba(138,155,176,.5)} .breadcrumb li:last-child{color:var(--amber);font-weight:700} .snav{background:var(--slate2);padding:1rem 5%;border-bottom:1px solid rgba(232,160,32,.15)} .snav-inner{display:flex;gap:.5rem;flex-wrap:wrap} .snav a{color:var(--grey);text-decoration:none;font-size:.78rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:.4rem .9rem;border:1px solid rgba(138,155,176,.25);border-radius:2px;transition:all .2s} .snav a:hover,.snav a.active{color:var(--amber);border-color:var(--amber);background:rgba(232,160,32,.08)} .hero{background:var(--slate);display:flex;align-items:center;padding:4rem 5%;position:relative;overflow:hidden;width:100%;box-sizing:border-box} .hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,#1a2635 0%,#0f1923 50%,#1a2a1a 100%);z-index:0} .hero-bg::after{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,transparent,transparent 40px,rgba(232,160,32,.03) 40px,rgba(232,160,32,.03) 80px)} .hero::before{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--amber),var(--amber2),var(--amber));z-index:2} .hero-content{position:relative;z-index:1;max-width:700px;width:100%;display:flex;flex-direction:column;align-items:flex-start} .hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(232,160,32,.15);border:1px solid var(--amber);color:var(--amber);font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:.4rem 1rem;border-radius:2px;margin-bottom:1.5rem;animation:fadeUp .6s ease both} .hero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(3rem,8vw,6rem);line-height:.95;color:var(--white);letter-spacing:2px;margin-bottom:1.5rem;animation:fadeUp .6s ease .1s both} .hero h1 span{color:var(--amber);display:block} .hero p{font-size:1.05rem;color:var(--light);font-weight:300;width:100%;max-width:100%;margin-bottom:2rem;animation:fadeUp .6s ease .2s both} .hero-actions{display:flex;gap:1rem;flex-wrap:wrap;animation:fadeUp .6s ease .3s both} .btn-primary{background:var(--amber);color:var(--slate);font-weight:700;font-size:1rem;letter-spacing:1px;text-transform:uppercase;padding:1rem 2.5rem;border-radius:2px;text-decoration:none;transition:all .2s;border:2px solid var(--amber)} .btn-primary:hover{background:var(--amber2);transform:translateY(-2px);box-shadow:0 8px 24px rgba(232,160,32,.4)} .btn-outline{background:transparent;color:var(--white);font-weight:700;font-size:1rem;letter-spacing:1px;text-transform:uppercase;padding:1rem 2.5rem;border-radius:2px;text-decoration:none;border:2px solid rgba(255,255,255,.4);transition:all .2s} .btn-outline:hover{border-color:var(--white);background:rgba(255,255,255,.08)} .hero-stats{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem;margin-top:2.5rem;width:100%;animation:fadeUp .6s ease .4s both} .stat{text-align:center;min-width:80px} .stat-num{font-family:'Bebas Neue',sans-serif;font-size:2.5rem;color:var(--amber);line-height:1} .stat-label{font-size:.7rem;color:var(--grey);text-transform:uppercase;letter-spacing:1px} .trust-bar{background:var(--slate2);padding:1.2rem 5%;display:flex;justify-content:center;gap:3rem;flex-wrap:wrap;border-bottom:1px solid rgba(232,160,32,.2)} .trust-item{display:flex;align-items:center;gap:.6rem;color:var(--light);font-size:.85rem;font-weight:700;letter-spacing:.5px} .trust-icon{color:var(--amber);font-size:1.1rem} section{padding:5rem 5%} .section-label{font-size:.75rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--amber);margin-bottom:.8rem} h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.2rem,4vw,3.5rem);line-height:1;letter-spacing:1px;margin-bottom:1.2rem;color:var(--slate)} .section-intro{font-size:1.05rem;color:#4a5568;max-width:600px;margin-bottom:3rem} .services-section{background:var(--white)} .services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5px;background:var(--light);border:1.5px solid var(--light)} .service-card{background:var(--white);padding:2.5rem 2rem;transition:all .25s;position:relative;overflow:hidden} .service-card::before{content:'';position:absolute;bottom:0;left:0;width:0;height:3px;background:var(--amber);transition:width .3s} .service-card:hover::before{width:100%} .service-card:hover{background:#fafbff} .service-icon{font-size:2rem;margin-bottom:1rem} .service-card h3{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;letter-spacing:1px;margin-bottom:.6rem;color:var(--slate)} .service-card p{font-size:.92rem;color:#4a5568;line-height:1.7} .service-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;font-size:.82rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--amber);text-decoration:none} .why-section{background:var(--slate);color:var(--white)} .why-section h2{color:var(--white)} .why-section .section-label{color:var(--amber)} .why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin-top:3rem} .why-item{border-left:3px solid var(--amber);padding-left:1.5rem} .why-num{font-family:'Bebas Neue',sans-serif;font-size:3rem;color:rgba(232,160,32,.2);line-height:1} .why-item h3{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;letter-spacing:1px;color:var(--amber);margin-bottom:.5rem} .why-item p{font-size:.9rem;color:var(--grey);line-height:1.7} .areas-section{background:var(--cream)} .areas-grid{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem} .area-tag{background:var(--white);border:1.5px solid var(--light);color:var(--slate);padding:.5rem 1.2rem;border-radius:2px;font-size:.85rem;font-weight:700;text-decoration:none;transition:all .2s;letter-spacing:.5px} .area-tag:hover{border-color:var(--amber);color:var(--amber)} .area-tag.primary{background:var(--amber);color:var(--slate);border-color:var(--amber)} .reviews-section{background:var(--white)} .reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:3rem} .review-card{background:var(--cream);padding:2rem;border-radius:2px;border-top:3px solid var(--amber)} .review-stars{color:var(--amber);font-size:1rem;margin-bottom:.8rem;letter-spacing:2px} .review-text{font-size:.95rem;color:#4a5568;line-height:1.7;font-style:italic;margin-bottom:1rem} .reviewer{font-weight:700;font-size:.85rem;color:var(--slate)} .reviewer span{font-weight:400;color:var(--grey);margin-left:.5rem} .faq-section{background:var(--cream)} .faq-list{max-width:800px;margin-top:2.5rem} .faq-item{border-bottom:1px solid var(--light)} .faq-question{width:100%;background:none;border:none;text-align:left;padding:1.4rem 0;font-family:'Lato',sans-serif;font-size:1rem;font-weight:700;color:var(--slate);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem} .faq-question::after{content:'+';font-size:1.4rem;color:var(--amber);flex-shrink:0;transition:transform .2s} .faq-item.open .faq-question::after{transform:rotate(45deg)} .faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease} .faq-item.open .faq-answer{max-height:300px} .faq-answer p{padding-bottom:1.4rem;font-size:.95rem;color:#4a5568;line-height:1.7} .content-section{background:var(--white)} .two-col{display:grid;grid-template-columns:2fr 1fr;gap:4rem;align-items:start} .two-col-equal{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start} .prose p{font-size:.95rem;color:#4a5568;line-height:1.8;margin-bottom:1.2rem} .prose h3{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;letter-spacing:1px;margin:2rem 0 .8rem;color:var(--slate)} .prose ul{margin:0 0 1.2rem 1.2rem} .prose ul li{font-size:.95rem;color:#4a5568;line-height:1.9} .pricing-section{background:var(--cream)} .pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-top:2.5rem} .pricing-card{background:var(--white);padding:2rem;border-radius:2px;border-top:3px solid var(--amber)} .pricing-card h3{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;letter-spacing:1px;color:var(--slate);margin-bottom:.5rem} .pricing-price{font-family:'Bebas Neue',sans-serif;font-size:2rem;color:var(--amber);margin-bottom:.5rem} .pricing-card p{font-size:.88rem;color:#4a5568;line-height:1.7} .callout-box{background:var(--slate2);padding:2rem;border-radius:2px;border-left:4px solid var(--amber)} .callout-box h4{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;letter-spacing:1px;color:var(--amber);margin-bottom:1rem} .callout-box p{font-size:.88rem;color:var(--light);line-height:1.7;margin-bottom:.8rem} .callout-phone{display:block;font-family:'Bebas Neue',sans-serif;font-size:1.6rem;color:var(--amber);letter-spacing:2px;text-decoration:none;margin-top:1rem} .info-box{margin-top:1.5rem;background:var(--cream);padding:1.5rem;border-radius:2px} .info-box strong{font-family:'Bebas Neue',sans-serif;letter-spacing:1px;font-size:1.1rem} .info-box span{font-size:.85rem;color:#4a5568;line-height:2;display:block;margin-top:.5rem} .local-section{background:var(--white)} .map-placeholder{background:var(--slate2);border-radius:2px;height:280px;display:flex;align-items:center;justify-content:center;color:var(--grey);font-size:.85rem;letter-spacing:1px;text-transform:uppercase;border:2px dashed rgba(232,160,32,.3);flex-direction:column;gap:1rem} .cta-section{background:var(--slate);color:var(--white);text-align:center;padding:5rem 5%;position:relative;overflow:hidden} .cta-section::before{content:'PORTSMOUTH';position:absolute;font-family:'Bebas Neue',sans-serif;font-size:18vw;color:rgba(255,255,255,.03);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;white-space:nowrap} .cta-section .section-label{color:var(--amber)} .cta-section h2{color:var(--white);margin-bottom:1rem} .cta-section p{color:var(--grey);max-width:500px;margin:0 auto 2.5rem} .cta-phone{display:block;font-family:'Bebas Neue',sans-serif;font-size:clamp(2.5rem,6vw,4rem);color:var(--amber);letter-spacing:3px;text-decoration:none;margin-bottom:2rem;transition:color .2s} .cta-phone:hover{color:var(--amber2)} footer{background:#080f17;color:var(--grey);padding:3rem 5%;display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem} .footer-brand .logo{font-size:1.4rem} .footer-brand p{font-size:.85rem;margin-top:1rem;line-height:1.7;max-width:280px} footer h4{font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:2px;color:var(--white);margin-bottom:1rem} footer ul{list-style:none} footer ul li{margin-bottom:.5rem} footer ul li a{color:var(--grey);text-decoration:none;font-size:.85rem;transition:color .2s} footer ul li a:hover{color:var(--amber)} .footer-bottom{background:#080f17;border-top:1px solid rgba(255,255,255,.06);padding:1.2rem 5%;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem} .footer-bottom p{font-size:.78rem;color:rgba(138,155,176,.6)} .sticky-call{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--amber);color:var(--slate);text-align:center;padding:1rem;font-weight:700;font-size:1rem;letter-spacing:1px;text-transform:uppercase;text-decoration:none} @keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}} .reveal{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease} .reveal.will-animate{opacity:0;transform:translateY(30px)} .reveal.visible{opacity:1;transform:none} @media(max-width:768px){ nav{display:none} .hero{padding:4rem 5% 5rem} .hero-actions{flex-direction:column} .btn-primary,.btn-outline{text-align:center;width:100%} .two-col,.two-col-equal{grid-template-columns:1fr} footer{grid-template-columns:1fr;gap:2rem} .sticky-call{display:block} body{padding-bottom:60px} .trust-bar{gap:1.2rem;justify-content:flex-start} }
New Build Roofing specialists in Paulsgrove. Coastal specification, 10-year guarantee, free written quotes with no call-out fee.
Paulsgrove's elevated chalk ridge wind exposure requires new build roofing to be specified for the coastal environment from the outset. Marine-grade stainless fixings are the correct specification for all new build work here.
We provide building regulations compliance documentation on all Paulsgrove new build roofing. All work is to current British Standards. NFRC registration provides proof of competence for developers and self-builders.
New build flat roof sections in Paulsgrove must be specified for coastal conditions from day one. We specify GRP as standard on all new build flat roof sections in this area.
| Service | Cost | Notes |
|---|---|---|
| New build pitched roof per m2 | 65-95 | Marine-grade fixings membrane tiles |
| New build flat roof GRP per m2 | 95-130 | 25-year guarantee |
| Developer package pricing | POA | Volume and phased projects |
| Building regs compliance pack | Included | All new build projects |
"Fascia replacement on our estate semi — original fascia from the 1960s build, badly deteriorated. Portsmouth Roofing did the whole job in one day."
"Chimney repointing on our post-war estate stack — Portsmouth Roofing used the correct OPC frost-resistant mix, not lime mortar. Correct for this era."
"Full nail sickness assessment and re-fix on our Paulsgrove estate property — both slopes. Stainless fixings throughout."
Yes new build pitched and flat roofing across Paulsgrove. Developer and self-build projects. Call 0239 307 1334.
Marine-grade stainless ring-shank as standard. Standard galvanised is inadequate in coastal conditions.
Yes compliance documentation provided on completion.
Yes we work with developers on phased projects. Volume pricing available. Call 0239 307 1334.
GRP fibreglass as standard. Not felt-based systems which require replacement within 10 to 15 years here.
Yes free specification survey and written quote. Call 0239 307 1334.
Yes. NFRC registered, fully insured, 10-year written guarantee.
Paulsgrove's position on the chalk ridge above Portsmouth gives it the highest wind exposure of any Portsmouth suburb. Northerly and westerly winds track across the Meon Valley with no obstruction before hitting the elevated estate — a fundamentally different exposure profile from the coastal urban areas below.
Paulsgrove is almost entirely post-war council estate built from 1945 to the early 1960s — a homogeneous housing stock with a single dominant failure mode: nail sickness on galvanised fixings now 60 to 80 years old in a coastal-adjacent, wind-exposed environment.
Paulsgrove new build work on the ridge position requires specification for the highest wind and frost exposure in the Portsmouth area. Marine-grade stainless fixings and wind-resistant tile clip specification as standard. Every job we carry out in Paulsgrove is specified for these specific conditions — not a generic Portsmouth-wide approach.
No call-out fees. No obligation. New Build Roofing specialists in Paulsgrove.
0239 307 1334