# PVC Roofing Contractors

```
<!-- ============================================================
REASONABLE ROOFING & CONTRACTING — SEASONAL SPECIALS (SLIM-HERO build)
Rebrand "THE STANDARD" (Direction A) · built to REASONABLE_PAGE_SYSTEM.
Tier-2 secondary page: SLIM hero (bg photo + navy overlay) + inline trust line,
NO full stats band — keeps the page lighter than Home/Service pages so the
hierarchy reads. Drop into the Divi Code module. Scoped .rr / .rr-specials.

PRESERVED PER BLAKE: instant-quote -> Roofle [data-rr-quote]; free-estimate -> /free-estimate/.
HERO PHOTO: .rr-hero-slim background is a navy fallback for preview — in WordPress,
  set background-image to a real hero photo URL (same imagery as the homepage drone shots).
SERVICE CARD PHOTOS: placeholders — point at the homepage roofing/siding media URLs.
ACCURACY (Page System §2 + Brand Guide §0): 42 years / since 1984 · dual-elite /
  top 3% (not the inflated tier) · 4.8 / 255+ · 3,000+ / 100+ / 16 counties ·
  "Michigan" only (no regional prefix) · no always-on claim · real offers only.
============================================================ -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800&family=Public+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Newsreader:ital,wght@1,400;1,500&family=Space+Mono:wght@400;700&display=swap" rel="stylesheet">
<style>
/* ===== DIRECTION A — DESIGN TOKENS (scoped) ===== */
.rr{
  --navy:#1F4068; --royal:#355EA4; --sky:#6A9FDB;
  --white:#FFFFFF; --offwhite:#FAF7F1; --slate:#2C3742; --slate-grey:#5A6672; --cool-grey:#9AA6B2;
  --orange:#FF8C42; --orange-deep:#E87A35;
  --line:#e4ddd0; --line-cool:#e7eaee; --navy-deep:#15314F;
  --r-sm:6px; --r-md:10px; --r-lg:16px; --r-pill:999px;
  --shadow-sm:0 2px 10px rgba(20,46,71,.08);
  --shadow-md:0 10px 30px rgba(20,46,71,.12);
  --shadow-lg:0 24px 60px rgba(20,46,71,.18);
  --maxw:1200px;
  font-family:'Public Sans',system-ui,-apple-system,sans-serif;
  color:var(--slate); line-height:1.6; -webkit-font-smoothing:antialiased;
}
.rr *{box-sizing:border-box;margin:0;padding:0}
.rr img{max-width:100%;display:block}
.rr .rr-wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.rr h1,.rr h2,.rr h3,.rr h4{font-family:'Archivo',sans-serif;font-weight:800;color:var(--navy);line-height:1.06;letter-spacing:-.01em}
.rr section{position:relative}

.rr-eyebrow{font-family:'Public Sans';font-weight:600;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--royal);display:inline-block;margin-bottom:16px}
.rr-eyebrow.on-dark{color:var(--sky)}
.rr-section{padding:86px 0}
.rr-section.is-navy{background:var(--navy);color:#dbe4ee}
.rr-section.is-navy h2,.rr-section.is-navy h3{color:#fff}
.rr-shead{max-width:680px;margin:0 auto 52px;text-align:center}
.rr-shead h2{font-size:clamp(28px,3.6vw,44px)}
.rr-shead p{margin-top:16px;color:var(--slate-grey);font-size:17px}
.rr-section.is-navy .rr-shead p{color:#aab8c7}

.rr-btn{display:inline-flex;align-items:center;gap:10px;font-family:'Public Sans';font-weight:700;font-size:16px;text-decoration:none;border-radius:var(--r-sm);padding:16px 30px;border:2px solid transparent;cursor:pointer;transition:.18s ease;text-align:center;line-height:1.1}
.rr-btn-primary{background:var(--orange);color:#fff}
.rr-btn-primary:hover{background:var(--orange-deep);transform:translateY(-1px)}
.rr-btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.rr-btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.rr-stars{color:var(--sky);letter-spacing:2px;font-size:15px}

/* ===== HERO ===== */
.rr-hero{background:linear-gradient(100deg,rgba(14,25,36,.78) 0%,rgba(20,46,71,.60) 45%,rgba(20,46,71,.24) 100%),url('IMG') center/cover no-repeat;color:#fff;padding:64px 0 72px;overflow:hidden}
.rr-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:start}@media(min-width:981px){.rr-hero-grid>.rr-hero-form{margin-top:36px}}
.rr-hero-eyebrow{font-family:'Space Mono';font-weight:700;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--sky);margin-bottom:18px}
.rr-hero h1{color:#fff;font-size:clamp(34px,4.6vw,58px);line-height:1.02}
.rr-hero .rr-tagline{font-family:'Archivo';font-weight:700;font-size:clamp(18px,2vw,24px);color:var(--sky);margin-top:14px;letter-spacing:-.01em}
.rr-hero-services{margin-top:16px;font-family:'Public Sans';font-weight:600;font-size:13px;letter-spacing:.04em;color:#bcd0e4;text-transform:uppercase}
.rr-hero .rr-sub{margin-top:22px;font-size:18px;color:#d6e0ea;max-width:560px}
.rr-hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.rr-trustline{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:34px;padding-top:26px;border-top:1px solid rgba(255,255,255,.18)}
.rr-trustline .item{font-size:13px;font-weight:600;color:#d2dde8;white-space:nowrap}
.rr-trustline .trust-pills{flex-basis:100%;display:flex;flex-wrap:wrap;gap:10px}
.rr-trustline .g-rating{display:flex;align-items:center;gap:8px;font-weight:700;color:#fff}

.rr-hero-form{background:#fff;border-radius:var(--r-lg);padding:30px;box-shadow:var(--shadow-lg);color:var(--slate)}
.rr-hero-form .fh{margin-bottom:18px}
.rr-hero-form .fh h3{font-size:22px}
.rr-hero-form .fh p{font-size:14px;color:var(--slate-grey);margin-top:6px}
.rr-hero-form .privacy{font-size:12px;color:var(--cool-grey);margin-top:14px;text-align:center}
.rr-hero-form .frm_forms input[type=text],.rr-hero-form .frm_forms input[type=email],.rr-hero-form .frm_forms input[type=tel],.rr-hero-form .frm_forms select,.rr-hero-form .frm_forms textarea,.rr-hero-form .mock-field{width:100%;font-family:'Public Sans';font-size:15px;color:var(--slate);background:var(--offwhite);border:1.5px solid var(--line-cool);border-radius:var(--r-sm);padding:13px 14px;margin-bottom:12px;transition:.15s ease}
.rr-hero-form .frm_forms input:focus,.rr-hero-form .mock-field:focus{outline:none;border-color:var(--royal);background:#fff;box-shadow:0 0 0 3px rgba(53,94,164,.12)}
.rr-hero-form .frm_forms .frm_submit button,.rr-hero-form .mock-submit{width:100%;font-family:'Public Sans';font-weight:700;font-size:16px;color:#fff;background:var(--royal);border:none;border-radius:var(--r-sm);padding:15px;cursor:pointer;transition:.18s ease}
.rr-hero-form .frm_forms .frm_submit button:hover,.rr-hero-form .mock-submit:hover{background:var(--navy)}
.rr-hero-form .frm_forms .frm_submit{margin:0}

/* ===== TRUST BADGE BAR ===== */
.rr-badgebar{background:var(--white);border-bottom:1px solid var(--line-cool);padding:22px 0}
.rr-badgebar .row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px 38px}
.rr-badge{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:var(--slate);white-space:nowrap}
.rr-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--sky)}
.rr-badge strong{color:var(--navy)}

/* ===== STATS BAND ===== */
.rr-stats{background:var(--navy);color:#fff;padding:54px 0}
.rr-stats .grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;text-align:center}
.rr-stat .num{font-family:'Archivo';font-weight:800;font-size:clamp(30px,4vw,46px);color:var(--sky);line-height:1}
.rr-stat .lbl{font-size:12.5px;font-weight:600;color:#aebccb;margin-top:8px;letter-spacing:.02em}

/* ===== THE REASONABLE STANDARD ===== */
.rr-standard{background:var(--offwhite)}
.rr-steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.rr-step{padding:34px 26px 8px;border-right:1px solid var(--line)}
.rr-step:last-child{border-right:none}
.rr-step .idx{font-family:'Space Mono';font-weight:700;font-size:15px;color:var(--royal)}
.rr-step .tick{width:26px;height:2px;background:var(--sky);margin:14px 0 16px}
.rr-step h3{font-size:20px;text-transform:uppercase;letter-spacing:.01em}
.rr-step p{margin-top:10px;color:var(--slate-grey);font-size:14.5px}

/* ===== SERVICES ===== */
.rr-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rr-card{background:#fff;border:1px solid var(--line-cool);border-radius:var(--r-md);overflow:hidden;text-decoration:none;color:inherit;transition:.2s ease;display:flex;flex-direction:column}
.rr-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--sky)}
.rr-card .img{aspect-ratio:16/10;background:linear-gradient(135deg,#1d3a57,var(--navy));position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.rr-card .img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.rr-card:hover .img img{transform:scale(1.04)}
.rr-card .body{padding:22px}
.rr-card h3{font-size:19px}
.rr-card p{margin-top:8px;color:var(--slate-grey);font-size:14.5px}
.rr-card .more{margin-top:14px;font-weight:700;font-size:14px;color:var(--royal)}
.ph-label{font-family:'Space Mono';font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.66);text-align:center;padding:10px 14px;border:1px dashed rgba(255,255,255,.3);border-radius:6px;max-width:80%}

/* ===== WHY ===== */
.rr-why{background:var(--offwhite)}
.rr-pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.rr-pillar{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:30px}
.rr-pillar .pidx{font-family:'Space Mono';font-weight:700;color:var(--sky);font-size:13px}
.rr-pillar h3{font-size:21px;margin-top:6px}
.rr-pillar .promise{color:var(--slate);margin-top:10px;font-size:15.5px}
.rr-pillar .proof{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:13.5px;color:var(--slate-grey)}
.rr-pillar .proof b{color:var(--navy)}

/* ===== WORK + MAP ===== */
.rr-work-grid{display:grid;grid-template-columns:2fr 1fr;gap:22px}
.rr-work-main,.rr-work-map{border-radius:var(--r-md);overflow:hidden;min-height:360px;display:flex;align-items:center;justify-content:center;position:relative}
.rr-work-main img{width:100%;height:100%;object-fit:cover}
.rr-work-map{background:linear-gradient(135deg,#274a6c,#27517f)}

/* ===== REVIEWS ===== */
.rr-reviews .topline{text-align:center;margin-bottom:40px}
.rr-reviews .topline .big{font-family:'Archivo';font-weight:800;font-size:40px;color:#fff;display:flex;align-items:center;justify-content:center;gap:12px}
.rr-reviews .topline .sub{color:#aab8c7;font-size:14px;margin-top:6px}
.rr-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rr-quote{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-md);padding:26px}
.rr-quote .rr-stars{margin-bottom:14px}
.rr-quote blockquote{font-family:'Newsreader';font-style:italic;font-size:18px;line-height:1.5;color:#eaf0f6}
.rr-quote .who{margin-top:16px;font-size:13px;font-weight:600;color:var(--sky)}

/* ===== FINANCING ===== */
.rr-fin{background:var(--offwhite)}
.rr-fin-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.rr-fin .lead{font-family:'Archivo';font-weight:800;font-size:clamp(26px,3vw,38px);color:var(--navy)}
.rr-fin p{margin-top:16px;color:var(--slate-grey);font-size:16px}
.rr-fin .paycard{background:var(--navy);color:#fff;border-radius:var(--r-lg);padding:34px;text-align:center;box-shadow:var(--shadow-md)}
.rr-fin .paycard .est{font-size:13px;color:#aebccb;letter-spacing:.04em;text-transform:uppercase}
.rr-fin .paycard .amt{font-family:'Archivo';font-weight:800;font-size:46px;color:var(--sky);margin:8px 0}
.rr-fin .paycard .note{font-size:13px;color:#aebccb}

/* ===== COMMUNITIES ===== */
.rr-comm-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:center}
.rr-counties{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.rr-county{font-family:'Public Sans';font-weight:600;font-size:13px;color:var(--navy);background:#fff;border:1px solid var(--sky);border-radius:var(--r-pill);padding:8px 16px}
.rr-comm-map{min-height:320px;border-radius:var(--r-md);background:linear-gradient(135deg,#274a6c,#27517f);display:flex;align-items:center;justify-content:center}

/* ===== FINAL CTA ===== */
.rr-final{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-deep) 100%);color:#fff;text-align:center;padding:80px 0}
.rr-final h2{color:#fff;font-size:clamp(28px,3.4vw,42px)}
.rr-final p{color:#c6d3e0;font-size:17px;margin-top:14px;max-width:560px;margin-left:auto;margin-right:auto}
.rr-final .rr-hero-ctas{justify-content:center}
.rr-final .phones{margin-top:22px;font-size:14px;color:#aab8c7}
.rr-final .phones a{color:#fff;text-decoration:none;font-weight:700}

.rr .rr-reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.rr .rr-reveal.is-in{opacity:1;transform:none}

@media(max-width:980px){
  .rr-hero-grid{grid-template-columns:1fr;gap:34px}
  .rr-stats .grid{grid-template-columns:repeat(2,1fr);gap:28px 18px}
  .rr-services-grid,.rr-quotes{grid-template-columns:1fr 1fr}
  .rr-steps{grid-template-columns:1fr 1fr}
  .rr-step{border-bottom:1px solid var(--line)}
  .rr-step:nth-child(odd){border-right:1px solid var(--line)}
  .rr-pillars,.rr-work-grid,.rr-fin-grid,.rr-comm-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .rr-section{padding:60px 0}
  .rr-services-grid,.rr-quotes,.rr-stats .grid,.rr-steps{grid-template-columns:1fr}
  .rr-step{border-right:none}
  .rr-btn{width:100%;justify-content:center}
}

/* ================= HEADER ================= */
.rr{--util-h:38px}
.rr section{scroll-margin-top:118px}
.rr-header{position:sticky;top:0;z-index:1000;font-family:'Public Sans',sans-serif}
/* utility bar */
.rr-util{background:var(--navy-deep);color:#aebccb;font-size:12.5px;transition:max-height .3s ease,opacity .25s ease;max-height:60px;overflow:hidden}
.rr-util-row{display:flex;align-items:center;justify-content:space-between;height:var(--util-h)}
.rr-util-left{display:flex;gap:22px}
.rr-util-left span{display:flex;align-items:center;gap:6px;font-weight:600;letter-spacing:.02em}
.rr-util-left .star{color:var(--sky)}
.rr-util-right{display:flex;align-items:center;gap:14px}
.rr-util-right a{color:#cdd9e6;text-decoration:none;font-weight:600}
.rr-util-right a:hover{color:#fff}
.rr-util-right .sep{color:#3c5573}
.rr-util-right .hours{color:#7e93ab}
/* main nav */
.rr-nav{background:#fff;border-bottom:1px solid var(--line-cool);transition:box-shadow .25s ease,padding .25s ease}
.rr-nav-row{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;transition:padding .25s ease}
.rr-logo img{height:46px;width:auto;transition:height .25s ease}
.rr-navlinks{display:flex;align-items:center;gap:26px}
.rr-navlinks a{color:var(--navy);text-decoration:none;font-weight:600;font-size:15px;letter-spacing:-.01em;transition:color .15s ease}
.rr-navlinks a:hover{color:var(--royal)}
.rr-nav-item{position:relative}
.rr-nav-item>a{display:inline-flex;align-items:center;gap:5px}
.rr-mega{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);background:#fff;border:1px solid var(--line-cool);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:4px;width:430px;opacity:0;visibility:hidden;transition:.2s ease}
.rr-nav-item:hover .rr-mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.rr-mega::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.rr-mega a{display:block;padding:11px 13px;border-radius:var(--r-sm);transition:background .15s ease}
.rr-mega a:hover{background:var(--offwhite)}
.rr-mega a .mt{font-weight:700;font-size:14.5px;color:var(--navy);display:block}
.rr-mega a .md{font-size:12px;color:var(--slate-grey);margin-top:2px}
.rr-nav-cta{display:flex;align-items:center;gap:18px}
.rr-nav-phone{color:var(--navy);text-decoration:none;font-weight:800;font-size:16px;white-space:nowrap}
.rr-nav-phone:hover{color:var(--royal)}
.rr-nav-btn{padding:12px 22px;font-size:14.5px}
.rr-burger{display:none;background:none;border:none;cursor:pointer;width:42px;height:42px;flex-direction:column;justify-content:center;gap:5px;padding:9px}
.rr-burger span{display:block;height:2.5px;background:var(--navy);border-radius:2px;transition:.25s ease}
/* stuck state */
.rr-header.is-stuck .rr-util{max-height:0;opacity:0}
.rr-header.is-stuck .rr-nav{box-shadow:0 6px 24px rgba(20,46,71,.12)}
.rr-header.is-stuck .rr-nav-row{padding-top:11px;padding-bottom:11px}
.rr-header.is-stuck .rr-logo img{height:38px}
/* mobile drawer */
.rr-drawer{position:fixed;top:0;right:0;height:100%;width:88%;max-width:360px;background:#fff;z-index:1200;transform:translateX(100%);transition:transform .3s ease;box-shadow:-20px 0 60px rgba(20,46,71,.25);display:flex;flex-direction:column;padding:22px}
.rr-drawer.is-open{transform:translateX(0)}
.rr-drawer .dhead{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line-cool);padding-bottom:18px;margin-bottom:8px}
.rr-drawer .dhead img{height:40px}
.rr-drawer .dclose{background:none;border:none;font-size:26px;color:var(--navy);cursor:pointer;line-height:1}
.rr-drawer nav{display:flex;flex-direction:column;padding:8px 0}
.rr-drawer nav a{padding:14px 4px;color:var(--navy);text-decoration:none;font-weight:600;font-size:17px;border-bottom:1px solid var(--line-cool)}
.rr-drawer .dcta{margin-top:18px;display:flex;flex-direction:column;gap:12px}
.rr-drawer .dphones{margin-top:18px;font-size:14px;color:var(--slate-grey);line-height:2}
.rr-drawer .dphones a{color:var(--navy);font-weight:700;text-decoration:none}
.rr-scrim{position:fixed;inset:0;background:rgba(14,25,36,.5);z-index:1150;opacity:0;visibility:hidden;transition:.3s ease}
.rr-scrim.is-open{opacity:1;visibility:visible}
/* sticky mobile CTA */
.rr-mcta{position:fixed;bottom:0;left:0;right:0;z-index:900;display:none;gap:10px;padding:10px 14px;background:#fff;border-top:1px solid var(--line-cool);box-shadow:0 -8px 24px rgba(20,46,71,.1);transform:translateY(110%);transition:transform .3s ease}
.rr-mcta.is-show{transform:translateY(0)}
.rr-mcta a{flex:1;justify-content:center;padding:14px}

/* ====== ELEVATION: editorial eyebrows ====== */
.rr-shead .rr-eyebrow{display:inline-flex;align-items:center}
.rr-shead .rr-eyebrow::before,.rr-shead .rr-eyebrow::after{content:"";display:inline-block;width:26px;height:1px;background:var(--royal);margin:0 12px}
.rr-section.is-navy .rr-shead .rr-eyebrow::before,.rr-section.is-navy .rr-shead .rr-eyebrow::after{background:var(--sky)}
.rr-fin .rr-eyebrow::before,.rr-comm-grid .rr-eyebrow::before{content:"";display:inline-block;width:26px;height:1px;background:var(--royal);vertical-align:middle;margin-right:12px}
/* hero trust chips + depth */
.rr-hero{position:relative}
.rr-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 78% 12%,transparent 40%,rgba(14,25,36,.35) 100%);pointer-events:none}
.rr-hero .rr-wrap{position:relative;z-index:1}
.rr-trustline .item{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:var(--r-pill);padding:6px 14px;backdrop-filter:blur(2px)}
.rr-tagline-rule{width:54px;height:2px;background:var(--sky);margin-top:16px;border-radius:2px}
/* premium trust strip dividers */
.rr-badgebar .row{gap:0}
.rr-badge{padding:4px 26px;border-right:1px solid var(--line-cool)}
.rr-badge:last-child{border-right:none}
@media(max-width:980px){
  .rr-navlinks,.rr-nav-cta{display:none}
  .rr-burger{display:flex}
  .rr-mcta{display:flex}
  .rr-util-left span:nth-child(2),.rr-util-right .hours{display:none}
  .rr-badge{border-right:none;padding:4px 14px}
}
@media(max-width:620px){
  .rr-util-left span:nth-child(3){display:none}
  .rr-util{font-size:11.5px}
}

/* ===== TOP-THIRD REFINEMENT (final) ===== */
.rr{--util-h:34px}
.rr-util{background:var(--navy-deep);font-size:12px}
.rr-util-row{height:34px}
.rr-util-left{color:#8ea2b7}
.rr-util-left span{font-weight:500;letter-spacing:.01em}
.rr-util-left .star{color:var(--sky)}
.rr-util-right{gap:12px}
.rr-util-right a{color:#bccadb;font-weight:600}
.rr-util-right .sep{color:#39516e}
.rr-util-right .hours{color:#6f8095;font-weight:500}
.rr-nav-row{padding:20px 24px}
.rr-logo img{height:44px}
.rr-navlinks{gap:30px}
.rr-navlinks a{font-size:15px;font-weight:600;letter-spacing:-.005em}
.rr-nav-cta{gap:18px;padding-left:26px;margin-left:6px;border-left:1px solid var(--line-cool)}
.rr-nav-btn{padding:13px 24px}
.rr-header.is-stuck .rr-nav-row{padding-top:12px;padding-bottom:12px}
/* calm WHITE proof strip (replaces the second dark banner) */
.rr-stats{background:#fff;color:var(--slate);padding:64px 0;border-bottom:1px solid var(--line-cool)}
.rr-stats .grid{gap:0}
.rr-stat{position:relative;padding:6px 14px}
.rr-stat + .rr-stat::before{content:"";position:absolute;left:0;top:16%;height:68%;width:1px;background:var(--line-cool)}
.rr-stat .num{color:var(--navy)}
.rr-stat .lbl{color:var(--slate-grey);text-transform:uppercase;letter-spacing:.08em;font-size:11.5px}
@media(max-width:980px){.rr-stat + .rr-stat::before{display:none}}

/* ===== FIXES PASS ===== */
.rr-hero{padding-top:98px;padding-bottom:84px}
.rr-reviews .topline .topline-stars{display:block;font-size:30px;letter-spacing:7px;line-height:1;margin-bottom:10px;color:var(--sky)}
.rr-reviews .topline .big{display:block;gap:0;font-size:54px;line-height:1}
.rr-reviews .topline .big .of5{font-size:24px;color:#7d93ab;font-weight:700}
.rr-reviews .topline .sub{margin-top:12px}

/* ===== NAV REFINEMENT (research-led) ===== */
.rr-navlinks{gap:34px}
.rr-navlinks a{font-size:15px}
.caret{font-size:10px;opacity:.65;margin-left:2px}
.rr-mega.rr-mega-sm{grid-template-columns:1fr;width:250px}
.rr-nav-row{padding:22px 28px}
.rr-nav-cta{gap:20px;padding-left:28px}

/* ===== HEADER v3 — big-brand calm/spacious ===== */
.rr-util{background:var(--navy-deep);font-size:12px}
.rr-util-row{height:36px}
.rr-util-left{color:#93a6ba;font-weight:500;letter-spacing:.02em}
.rr-util-left .star{color:var(--sky)}
.rr-util-right{gap:14px}
.rr-util-right a{color:#c4d2df;font-weight:600}
.rr-util-right .sep{color:#39516e}
.rr-util-right .hours{color:#6f8095;font-weight:500}
.rr-nav{border-bottom:1px solid #eef1f4}
.rr-nav-row{padding:22px 30px}
.rr-logo img{height:44px}
.rr-navlinks{gap:34px}
.rr-navlinks a{font-size:15px;font-weight:600;color:var(--navy);letter-spacing:-.005em}
.rr-navlinks a:hover{color:var(--royal)}
.rr-navlinks .caret{font-size:9px;opacity:.55;margin-left:3px;vertical-align:middle}
.rr-nav-cta{gap:24px;padding-left:0;margin-left:0;border-left:none}
.rr-nav-phone{font-size:16px;font-weight:800;color:var(--navy)}
.rr-nav-phone:hover{color:var(--royal)}
.rr-nav-btn{padding:12px 26px;font-size:14.5px;border-radius:8px;box-shadow:0 6px 16px rgba(255,140,66,.26)}
.rr-nav-btn:hover{box-shadow:0 8px 22px rgba(255,140,66,.34);transform:translateY(-1px)}
.rr-header.is-stuck .rr-nav-row{padding-top:13px;padding-bottom:13px}
.rr-header.is-stuck .rr-logo img{height:38px}
/* refined mega */
.rr-mega{width:440px;padding:12px;gap:2px}
.rr-mega a{padding:12px 14px}
.rr-mega a .mt{font-size:14.5px}
.rr-mega a .md{font-size:11.5px;margin-top:3px}

/* ===== UNIFIED VERTICAL RHYTHM (one system) ===== */
.rr{--sp-section:clamp(72px,8vw,108px); --sp-head:clamp(40px,5vw,56px)}
.rr-section{padding:var(--sp-section) 0}
.rr-final{padding:var(--sp-section) 0}
.rr-stats{padding:clamp(52px,6vw,76px) 0}
.rr-shead{margin-bottom:var(--sp-head)}
.rr-services-grid,.rr-pillars,.rr-quotes,.rr-work-grid{gap:24px}
.rr-reviews .topline{margin-bottom:clamp(36px,4vw,48px)}
.rr-hero{padding-top:clamp(72px,8vw,104px);padding-bottom:clamp(64px,7vw,92px)}
@media(max-width:620px){.rr{--sp-section:60px;--sp-head:36px}}

</style>
<style>
/* ===== ADDITIONS — reusable components for secondary pages (added to the .rr library) ===== */
.rr .rr-btn-navy{background:transparent;color:var(--navy);border-color:var(--line-cool)}
.rr .rr-btn-navy:hover{border-color:var(--royal);color:var(--royal);background:var(--offwhite)}

/* SLIM HERO — tier-2 secondary-page banner (bg photo + navy overlay + inline trust) */
.rr .rr-hero-slim{position:relative;background:linear-gradient(180deg,rgba(14,25,36,.74),rgba(20,46,71,.80)),#1F4068 center/cover no-repeat;color:#fff;text-align:center;padding:clamp(74px,9vw,116px) 0 clamp(58px,7vw,88px)}
.rr .rr-hero-slim .rr-hero-eyebrow{font-family:'Space Mono';font-weight:700;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--sky);margin-bottom:16px}
.rr .rr-hero-slim h1{color:#fff;font-size:clamp(32px,4.4vw,52px);line-height:1.04;max-width:880px;margin:0 auto}
.rr .rr-hero-slim .rr-tagline-rule{margin:16px auto 0}
.rr .rr-hero-slim .rr-sub{margin:18px auto 0;max-width:620px;color:#d6e0ea;font-size:18px}
.rr .rr-hero-slim .rr-hero-ctas{justify-content:center;margin-top:28px}
.rr .rr-slim-trust{margin-top:26px;font-size:13.5px;font-weight:600;color:#cdd9e6;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;justify-content:center}
.rr .rr-slim-trust .rr-stars{font-size:15px}

/* Offer cards */
.rr .rr-offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.rr .rr-offer{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;display:flex;flex-direction:column;transition:.2s ease}
.rr .rr-offer:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--sky)}
.rr .rr-offer-head{background:var(--navy);color:#fff;padding:26px 28px;display:flex;align-items:center;gap:18px}
.rr .rr-offer.is-fin .rr-offer-head{background:var(--royal)}
.rr .rr-offer-tag{font-family:'Archivo';font-weight:800;font-size:30px;color:var(--sky);line-height:1;white-space:nowrap}
.rr .rr-offer-head h3{color:#fff;font-size:20px;line-height:1.15}
.rr .rr-offer-head p{color:#c6d3e0;font-size:13px;margin-top:4px}
.rr .rr-offer-body{padding:26px 28px;display:flex;flex-direction:column;flex:1}
.rr .rr-checks{list-style:none;display:flex;flex-direction:column;gap:12px}
.rr .rr-checks li{position:relative;padding-left:30px;font-size:15px;color:var(--slate)}
.rr .rr-checks li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:rgba(106,159,219,.16)}
.rr .rr-checks li::after{content:"";position:absolute;left:6px;top:7px;width:5px;height:9px;border:solid var(--royal);border-width:0 2px 2px 0;transform:rotate(45deg)}
.rr .rr-offer .fine{font-size:12px;color:var(--cool-grey);margin-top:18px}
.rr .rr-offer .rr-btn{margin-top:20px;justify-content:center}

/* Quick compare */
.rr .rr-compare{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.rr .rr-cmp{border:1px solid var(--line-cool);border-radius:var(--r-md);padding:30px;background:#fff}
.rr .rr-cmp .lbl{font-family:'Archivo';font-weight:800;font-size:22px;color:var(--navy)}
.rr .rr-cmp .lbl .pin{display:inline-block;font-family:'Space Mono';font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--royal);background:var(--offwhite);border:1px solid var(--line);border-radius:var(--r-pill);padding:4px 12px;margin-left:8px;vertical-align:middle}
.rr .rr-cmp p{margin-top:12px;color:var(--slate-grey);font-size:15.5px}
.rr .rr-compare-note{margin-top:24px;text-align:center;color:var(--slate-grey);font-size:15.5px}
.rr .rr-compare-note b{color:var(--navy)}

/* FAQ accordion */
.rr .rr-faq-list{max-width:820px;margin:0 auto;border-top:1px solid var(--line)}
.rr .rr-qa{border-bottom:1px solid var(--line)}
.rr .rr-qa-q{width:100%;background:none;border:none;cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 4px;font-family:'Public Sans';font-weight:700;font-size:17px;color:var(--navy)}
.rr .rr-qa-q .mk{flex:0 0 auto;width:22px;height:22px;position:relative;transition:transform .25s ease}
.rr .rr-qa-q .mk::before,.rr .rr-qa-q .mk::after{content:"";position:absolute;background:var(--royal);border-radius:2px}
.rr .rr-qa-q .mk::before{left:0;right:0;top:10px;height:2px}
.rr .rr-qa-q .mk::after{top:0;bottom:0;left:10px;width:2px}
.rr .rr-qa.is-open .rr-qa-q .mk{transform:rotate(135deg)}
.rr .rr-qa-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.rr .rr-qa-a .inner{padding:0 4px 24px;color:var(--slate-grey);font-size:15.5px;line-height:1.65}
.rr .rr-qa-a .inner b{color:var(--navy)}
.rr .rr-section.is-mist{background:var(--offwhite)}

@media(max-width:980px){ .rr .rr-offer-grid,.rr .rr-compare{grid-template-columns:1fr} }

/* ===== font lock (beat Divi theme fonts) ===== */
.rr, .rr p, .rr li, .rr a, .rr span, .rr div, .rr button, .rr input{font-family:'Public Sans',system-ui,-apple-system,sans-serif !important}
.rr h1, .rr h2, .rr h3, .rr h4, .rr .rr-offer-tag, .rr .rr-hero-offer .pct, .rr .rr-cmp .lbl, .rr .num{font-family:'Archivo',sans-serif !important}
.rr .rr-hero-eyebrow, .rr .rr-step .idx, .rr .rr-cmp .pin, .rr .ph-label, .rr .rr-hero-offer .ey{font-family:'Space Mono',monospace !important}
.rr .rr-quote blockquote{font-family:'Newsreader',serif !important}
/* ===== hero featured-offer card (full hero, right column) ===== */
.rr .rr-hero-offer{background:#fff;border-radius:var(--r-lg);padding:32px;box-shadow:var(--shadow-lg);color:var(--slate);text-align:center}
.rr .rr-hero-offer .ey{font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--royal)}
.rr .rr-hero-offer .pct{font-weight:800;font-size:64px;color:var(--navy);line-height:1;margin:10px 0 4px}
.rr .rr-hero-offer .pct small{font-size:24px;color:var(--royal);vertical-align:super}
.rr .rr-hero-offer h3{font-size:20px}
.rr .rr-hero-offer .or{margin:18px 0;font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--cool-grey);text-transform:uppercase;position:relative}
.rr .rr-hero-offer .or::before,.rr .rr-hero-offer .or::after{content:"";position:absolute;top:50%;width:34%;height:1px;background:var(--line-cool)}
.rr .rr-hero-offer .or::before{left:0}.rr .rr-hero-offer .or::after{right:0}
.rr .rr-hero-offer .fin{font-size:15px;color:var(--slate-grey)}
.rr .rr-hero-offer .fin b{color:var(--navy)}
.rr .rr-hero-offer .rr-btn{width:100%;justify-content:center;margin-top:20px}
.rr .rr-hero-offer .fine{font-size:11.5px;color:var(--cool-grey);margin-top:14px}
/* ===== robust 2-up services (never stack on desktop) ===== */
.rr-specials .rr-services-grid{display:grid !important;grid-template-columns:1fr 1fr !important;gap:24px}.rr-specials .rr-services-grid>.rr-card{min-width:0}.rr-specials .rr-final{margin-bottom:0 !important}
@media(max-width:620px){.rr-services-grid{grid-template-columns:1fr !important}}
.rr .rr-card .img img{width:100%;height:100%;object-fit:cover}
/* MOBILE-OPT v1 — homepage parity: center hero + hide trust pills on phone */@media(max-width:980px){.rr .rr-hero-left{text-align:center}.rr .rr-hero .rr-tagline-rule{margin-left:auto;margin-right:auto}.rr .rr-hero .rr-sub{margin-left:auto;margin-right:auto}.rr .rr-hero .rr-hero-ctas{justify-content:center}.rr .rr-hero .rr-trustline{justify-content:center}.rr .rr-hero .rr-trustline .trust-pills{justify-content:center}}@media(max-width:620px){.rr .rr-hero .rr-trustline .trust-pills{display:none}.rr .rr-hero .rr-sub{font-size:16px}}</style><style>.rr .rr-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.rr .rr-card2{background:#fff;border:1px solid var(--line-cool);border-radius:var(--r-md);padding:26px;transition:.2s ease}.rr .rr-card2:hover{border-color:var(--sky);box-shadow:var(--shadow-md);transform:translateY(-3px)}.rr .rr-card2-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}.rr .rr-card2-top h3{font-size:19px}.rr .rr-card2 .badge{font-family:'Space Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--royal);background:rgba(106,159,219,.14);border-radius:999px;padding:5px 12px;white-space:nowrap}.rr .rr-card2 p{color:var(--slate-grey);font-size:15px;line-height:1.6}.rr .rr-card2 p a{color:var(--royal);font-weight:600;text-decoration:none}@media(max-width:900px){.rr .rr-cards-grid{grid-template-columns:1fr 1fr}}@media(max-width:580px){.rr .rr-cards-grid{grid-template-columns:1fr}}.rr .rr-signs{display:grid;grid-template-columns:1fr 1fr;gap:20px}.rr .rr-sign{display:flex;gap:16px;background:#fff;border:1px solid var(--line-cool);border-radius:var(--r-md);padding:24px}.rr .rr-sign .sk{flex-shrink:0;width:42px;height:42px;border-radius:11px;background:rgba(255,140,66,.12);display:flex;align-items:center;justify-content:center}.rr .rr-sign .sk svg{width:22px;height:22px;stroke:var(--orange-deep);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.rr .rr-sign h3{font-size:16.5px}.rr .rr-sign p{margin-top:6px;color:var(--slate-grey);font-size:14.5px;line-height:1.6}@media(max-width:760px){.rr .rr-signs{grid-template-columns:1fr}}.rr .rr-values{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.rr .rr-value{background:#fff;border:1px solid var(--line-cool);border-radius:var(--r-md);padding:28px}.rr .rr-value .ic{width:46px;height:46px;border-radius:12px;background:rgba(106,159,219,.14);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.rr .rr-value .ic svg{width:23px;height:23px;stroke:var(--royal);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.rr .rr-value h3{font-size:18px}.rr .rr-value p{margin-top:8px;color:var(--slate-grey);font-size:15px;line-height:1.6}.rr .rr-value p a{color:var(--royal);font-weight:600;text-decoration:none}@media(max-width:880px){.rr .rr-values{grid-template-columns:1fr 1fr}}@media(max-width:560px){.rr .rr-values{grid-template-columns:1fr}}.rr .rr-areas{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.rr .rr-area .cty{font-family:'Archivo',sans-serif;font-weight:800;font-size:16px;color:var(--navy);text-decoration:none;display:block;border-bottom:1px solid var(--line-cool);padding-bottom:8px}.rr .rr-area .cty:hover{color:var(--royal)}.rr .rr-area p{margin-top:10px;color:var(--slate-grey);font-size:13px;line-height:1.9}.rr .rr-area p a{color:var(--slate-grey);text-decoration:none;border-bottom:1px solid var(--line-cool);transition:.15s ease}.rr .rr-area p a:hover{color:var(--royal);border-bottom-color:var(--royal)}@media(max-width:980px){.rr .rr-areas{grid-template-columns:1fr 1fr 1fr}}@media(max-width:620px){.rr .rr-areas{grid-template-columns:1fr 1fr}}.rr .rr-prose{max-width:780px;margin:0 auto;color:var(--slate-grey);font-size:17px;line-height:1.8}.rr .rr-prose b{color:var(--navy)}.rr .rr-prose a{color:var(--royal);font-weight:600;text-decoration:none}.rr .rr-prose+.rr-prose{margin-top:18px}.rr .rr-hero-form .frm_forms input[type=text],.rr .rr-hero-form .frm_forms input[type=email],.rr .rr-hero-form .frm_forms input[type=tel],.rr .rr-hero-form .frm_forms input[type=number],.rr .rr-hero-form .frm_forms select,.rr .rr-hero-form .frm_forms textarea{width:100%;font-family:'Public Sans',system-ui,sans-serif;font-size:15px;color:var(--slate);background:var(--offwhite);border:1.5px solid var(--line-cool);border-radius:var(--r-sm);padding:13px 14px;box-sizing:border-box;margin-bottom:0}.rr .rr-hero-form .frm_forms input:focus,.rr .rr-hero-form .frm_forms select:focus,.rr .rr-hero-form .frm_forms textarea:focus{outline:none;border-color:var(--royal);background:#fff;box-shadow:0 0 0 3px rgba(53,94,164,.12)}.rr .rr-hero-form .frm_forms .frm_submit button,.rr .rr-hero-form .frm_forms .frm_button_submit{width:100%;font-family:'Public Sans',sans-serif;font-weight:700;font-size:16px;color:#fff !important;background:var(--royal) !important;border:none !important;border-radius:var(--r-sm) !important;padding:15px;cursor:pointer;transition:.18s ease}.rr .rr-hero-form .frm_forms .frm_submit button:hover,.rr .rr-hero-form .frm_forms .frm_button_submit:hover{background:#2A5BAE !important}.rr .rr-hero-form .frm_forms,.rr .rr-hero-form form{margin:0;padding:0}.rr .rr-hero-form .frm_form_field{width:100%;margin:0 0 12px}.rr .rr-hero-form .frm_primary_label{font-weight:600;color:var(--slate);font-size:14px;margin-bottom:5px;display:block}.rr .rr-hero-form .frm_forms select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A6672' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:40px}.rr .rr-hero-form .frm_forms input::placeholder,.rr .rr-hero-form .frm_forms textarea::placeholder{color:var(--cool-grey);opacity:1}</style><div class="rr rr-specials"><style>.rr-js .rr-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.rr-js .rr-reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.rr-js .rr-reveal{opacity:1 !important;transform:none !important;transition:none}}.rr .rr-ana-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:46px;align-items:center}.rr .rr-spec-fig{margin:0;background:#fff;border:1px solid var(--line-cool);border-radius:18px;padding:24px;box-shadow:var(--shadow-md)}.rr .rr-spec-fig svg{width:100%;height:auto;display:block}.rr .rr-spec-fig figcaption{margin-top:12px;text-align:center;font-family:'Space Mono',monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--cool-grey)}.rr .rr-spec-tag{display:inline-block;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-deep);margin-bottom:10px}.rr .rr-arow{display:flex;gap:16px;padding:17px 0;border-top:1px solid var(--line-cool)}.rr .rr-arow .num{flex-shrink:0;width:27px;height:27px;border-radius:50%;background:var(--orange);color:#fff;font-family:'Space Mono',monospace;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.rr .rr-arow h4{font-family:'Archivo',sans-serif;font-weight:700;font-size:16.5px;color:var(--navy);margin-bottom:4px}.rr .rr-arow p{color:var(--slate-grey);font-size:14px;line-height:1.55}@media(max-width:860px){.rr .rr-ana-grid{grid-template-columns:1fr;gap:26px}}.rr .rr-svcstats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.rr .rr-svcstat{background:#fff;border:1px solid var(--line-cool);border-radius:16px;padding:30px 16px;text-align:center}.rr .rr-svcstatnum{font-family:'Archivo',sans-serif;font-weight:800;font-size:46px;line-height:1;color:var(--navy);letter-spacing:-.02em;display:inline-block}.rr .rr-svcstat .star{font-family:'Archivo',sans-serif;font-size:30px;color:var(--orange);display:inline-block;margin-left:1px;vertical-align:2px}.rr .rr-svcstat .lbl{display:block;margin-top:12px;font-family:'Archivo',sans-serif;font-weight:700;font-size:15px;color:var(--slate)}.rr .rr-svcstat .sub{display:block;margin-top:3px;font-size:12.5px;color:var(--cool-grey)}@media(max-width:760px){.rr .rr-svcstats{grid-template-columns:1fr 1fr;gap:14px}.rr .rr-svcstatnum{font-size:40px}}.rr .rr-ctable{border:1px solid var(--line-cool);border-radius:16px;overflow:hidden;background:#fff;box-shadow:var(--shadow-md)}.rr .rr-ctrow{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.7fr;align-items:center}.rr .rr-ctrow>div{padding:18px 20px;border-bottom:1px solid var(--line-cool);font-size:15px;color:var(--slate-grey)}.rr .rr-cthead>div{background:var(--navy);color:#fff;font-family:'Archivo',sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;border-bottom:none}.rr .rr-ctrow .m{font-family:'Archivo',sans-serif;font-weight:700;color:var(--navy);font-size:16px}.rr .rr-ctrow .ls,.rr .rr-ctrow .ct{font-family:'Space Mono',monospace;color:var(--navy);font-size:14px}.rr .rr-ctrow.pick>div{background:rgba(255,140,66,.06)}.rr .rr-ctrow.pick .m{box-shadow:inset 3px 0 0 var(--orange)}.rr .rr-ctrow .pill{display:inline-block;font-family:'Space Mono',monospace;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--orange-deep);background:rgba(255,140,66,.15);border-radius:999px;padding:3px 8px;margin-left:8px;vertical-align:middle}.rr .rr-ctrow:last-child>div{border-bottom:none}.rr .rr-ctable .cl{display:none;font-family:'Space Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--cool-grey);margin-right:8px}@media(max-width:760px){.rr .rr-cthead{display:none}.rr .rr-ctrow{grid-template-columns:1fr;border-bottom:7px solid var(--offwhite)}.rr .rr-ctrow:last-child{border-bottom:none}.rr .rr-ctrow>div{border-bottom:1px solid var(--line-cool);padding:11px 18px}.rr .rr-ctrow .m{padding-top:15px}.rr .rr-ctable .cl{display:inline-block}.rr .rr-ctrow.pick .m{box-shadow:inset 0 3px 0 var(--orange)}}.rr .rr-ror{display:grid;grid-template-columns:1fr 1fr;gap:22px}.rr .rr-ror-card{background:#fff;border:1px solid var(--line-cool);border-radius:16px;padding:30px;box-shadow:var(--shadow-md)}.rr .rr-ror-tag{display:inline-block;font-family:'Space Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:999px;margin-bottom:12px}.rr .rr-ror-card.rep .rr-ror-tag{color:#1f7a52;background:rgba(46,158,107,.13)}.rr .rr-ror-card.rep2 .rr-ror-tag{color:var(--orange-deep);background:rgba(255,140,66,.15)}.rr .rr-ror-card h3{font-family:'Archivo',sans-serif;font-weight:800;font-size:20px;color:var(--navy);margin-bottom:14px}.rr .rr-ror-card ul{list-style:none;margin:0;padding:0}.rr .rr-ror-card li{position:relative;padding:10px 0 10px 30px;font-size:14.5px;color:var(--slate-grey);line-height:1.5;border-top:1px solid var(--line-cool)}.rr .rr-ror-card li:first-child{border-top:none}.rr .rr-ror-card li:before{position:absolute;left:0;top:9px;font-family:'Archivo',sans-serif;font-weight:700;font-size:15px}.rr .rr-ror-card.rep li:before{content:'\2713';color:#2e9e6b}.rr .rr-ror-card.rep2 li:before{content:'\21BB';color:var(--orange-deep)}@media(max-width:760px){.rr .rr-ror{grid-template-columns:1fr}}.rr .rr-edband{background:#15314F;padding:74px 0;text-align:center}.rr .rr-edband .rr-wrap{max-width:880px}.rr .rr-edband .eb-ey{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange)}.rr .rr-edband .eb-q{font-family:'Newsreader',Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(24px,3.4vw,37px);line-height:1.32;color:#fff;margin:20px 0 20px}.rr .rr-edband .eb-s{color:#bccadb;font-size:16px;line-height:1.75;max-width:640px;margin:0 auto}.rr .rr-ctaband{padding:70px 0;background:var(--offwhite);border-top:1px solid var(--line-cool);border-bottom:1px solid var(--line-cool);text-align:center}.rr .rr-ctaband .rr-wrap{max-width:720px}.rr .rr-ctaband .ey{display:inline-block;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-deep);margin-bottom:16px}.rr .rr-ctaband h3{font-family:'Archivo',sans-serif;font-weight:800;font-size:clamp(26px,3.3vw,34px);color:var(--navy);letter-spacing:-.025em;line-height:1.16}.rr .rr-ctaband p{color:var(--slate-grey);font-size:16px;line-height:1.6;margin:16px auto 28px;max-width:560px}.rr .rr-ctaband .rr-btn-primary{white-space:nowrap}.rr .rr-locserv{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.rr .rr-locserv a{display:block;background:#fff;border:1px solid var(--line-cool);border-radius:var(--r-md);padding:24px;text-decoration:none;transition:.2s ease}.rr .rr-locserv a:hover{border-color:var(--sky);box-shadow:var(--shadow-md);transform:translateY(-3px)}.rr .rr-locserv .ic{width:44px;height:44px;border-radius:11px;background:rgba(106,159,219,.14);display:flex;align-items:center;justify-content:center;margin-bottom:14px}.rr .rr-locserv .ic svg{width:22px;height:22px;stroke:var(--royal);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.rr .rr-locserv h3{font-size:18px;color:var(--navy);margin-bottom:6px}.rr .rr-locserv p{color:var(--slate-grey);font-size:14.5px;line-height:1.55}.rr .rr-locserv .go{display:inline-block;margin-top:10px;font-family:'Space Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--royal)}@media(max-width:880px){.rr .rr-locserv{grid-template-columns:1fr 1fr}}@media(max-width:560px){.rr .rr-locserv{grid-template-columns:1fr}}.rr .rr-chips{display:flex;flex-wrap:wrap;gap:10px}.rr .rr-chips a{display:inline-block;background:#fff;border:1px solid var(--line-cool);border-radius:999px;padding:9px 16px;font-size:14px;font-weight:600;color:var(--navy);text-decoration:none;transition:.15s ease}.rr .rr-chips a:hover{border-color:var(--royal);color:var(--royal);box-shadow:var(--shadow-sm)}.rr .rr-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.rr .rr-proj{position:relative;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line-cool);box-shadow:var(--shadow-md);aspect-ratio:4/3;background:var(--navy)}.rr .rr-proj img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.rr .rr-proj:hover img{transform:scale(1.06)}.rr .rr-proj .cap{position:absolute;left:0;right:0;bottom:0;padding:16px 16px 14px;background:linear-gradient(to top,rgba(15,30,45,.92),rgba(15,30,45,.4) 55%,rgba(15,30,45,0))}.rr .rr-proj .cap h4{font-family:'Archivo',sans-serif;font-weight:700;font-size:16px;color:#fff}.rr .rr-proj .cap span{display:block;margin-top:3px;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:#bcd6ea}@media(max-width:880px){.rr .rr-projects{grid-template-columns:1fr 1fr}}@media(max-width:560px){.rr .rr-projects{grid-template-columns:1fr}}.rr .rr-creds{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.rr .rr-cred{background:#fff;border:1px solid var(--line-cool);border-radius:var(--r-md);padding:22px 14px 20px;text-align:center;display:flex;flex-direction:column;align-items:center}.rr .rr-cred-logo{height:56px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}.rr .rr-cred-logo img{max-height:56px;max-width:100%;width:auto;object-fit:contain;display:block}.rr .rr-cred h4{font-family:'Archivo',sans-serif;font-weight:700;font-size:13px;color:var(--navy);line-height:1.3}.rr .rr-cred p{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--cool-grey);margin-top:5px}@media(max-width:860px){.rr .rr-creds{grid-template-columns:1fr 1fr 1fr}}@media(max-width:520px){.rr .rr-creds{grid-template-columns:1fr 1fr}}.rr .rr-feature{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}.rr .rr-feat-media{border-radius:18px;overflow:hidden;border:1px solid var(--line-cool);box-shadow:var(--shadow-md);aspect-ratio:4/3}.rr .rr-feat-media img{width:100%;height:100%;object-fit:cover;display:block}.rr .rr-feature.rev .rr-feat-media{order:2}.rr .rr-feat-body h2{font-family:'Archivo',sans-serif;font-weight:800;font-size:clamp(24px,3vw,32px);color:var(--navy);letter-spacing:-.02em;line-height:1.14;margin:8px 0 14px}.rr .rr-feat-body>p{color:var(--slate-grey);font-size:16px;line-height:1.7;margin-bottom:18px}.rr .rr-feat-list{list-style:none;margin:0;padding:0}.rr .rr-feat-list li{position:relative;padding:9px 0 9px 30px;color:var(--slate-grey);font-size:15px;line-height:1.5;border-top:1px solid var(--line-cool)}.rr .rr-feat-list li:first-child{border-top:none}.rr .rr-feat-list li:before{content:'\2713';position:absolute;left:0;top:9px;color:var(--orange-deep);font-weight:700}.rr .rr-feat-list li b{color:var(--navy)}@media(max-width:820px){.rr .rr-feature{grid-template-columns:1fr;gap:24px}.rr .rr-feature.rev .rr-feat-media{order:0}}.rr .rr-spec-fig svg .rr-hot{cursor:pointer;transition:transform .25s cubic-bezier(.34,1.56,.64,1),opacity .25s ease;transform-box:fill-box;transform-origin:center}.rr .rr-spec-fig svg .rr-hot-on{transform:scale(1.28);filter:drop-shadow(0 1px 5px rgba(214,109,38,.65))}.rr .rr-spec-fig svg .rr-hot-dim{opacity:.3}.rr .rr-spec-fig{position:relative}.rr .rr-spec-hint{position:absolute;top:14px;right:16px;font-family:'Space Mono',monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--cool-grey);background:var(--offwhite);border:1px solid var(--line-cool);border-radius:999px;padding:5px 11px;pointer-events:none;transition:opacity .4s ease}.rr .rr-spec-hint.hide{opacity:0}.rr .rr-spec-list .rr-arow{cursor:pointer;transition:background .22s ease,opacity .22s ease,box-shadow .22s ease;padding-left:14px;margin-left:-14px;border-radius:0 10px 10px 0}.rr .rr-spec-list .rr-arow.rr-row-on{background:rgba(255,140,66,.08);box-shadow:inset 4px 0 0 var(--orange)}.rr .rr-spec-list .rr-arow.rr-row-dim{opacity:.5}.rr .rr-spec-list .rr-arow .num{transition:transform .2s ease,box-shadow .2s ease}.rr .rr-spec-list .rr-arow.rr-row-on .num{transform:scale(1.14);box-shadow:0 0 0 4px rgba(255,140,66,.2)}.rr .rr-spec-list .rr-arow.rr-row-on h4{color:var(--orange-deep)}.rr .rr-arow:focus,.rr .rr-spec-fig svg .rr-hot:focus{outline:none}@media(prefers-reduced-motion:reduce){.rr .rr-spec-fig svg .rr-hot{transition:none}}</style><script>document.documentElement.classList.add("rr-js");</script><section class="rr-hero" style="background:linear-gradient(100deg,rgba(14,25,36,.86) 0%,rgba(20,46,71,.68) 45%,rgba(20,46,71,.34) 100%),url('https://reasonablecontractingservices.com/wp-content/uploads/2025/09/Untitled-2025-09-26T154421.618.jpg') center/cover no-repeat"><div class="rr-wrap"><div class="rr-hero-grid"><div class="rr-hero-left"><div class="rrs-m rrs-band"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/krafft-rd-after-membrane-aerial.jpg" class="skip-lazy" loading="eager" fetchpriority="high" decoding="sync" alt="Completed white PVC membrane roof on a Michigan commercial building" srcset="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/krafft-rd-after-membrane-aerial-480x270.jpg 480w, https://reasonablecontractingservices.com/wp-content/uploads/2026/09/krafft-rd-after-membrane-aerial-510x382.jpg 510w, https://reasonablecontractingservices.com/wp-content/uploads/2026/09/krafft-rd-after-membrane-aerial-768x432.jpg 768w, https://reasonablecontractingservices.com/wp-content/uploads/2026/09/krafft-rd-after-membrane-aerial-980x552.jpg 980w, https://reasonablecontractingservices.com/wp-content/uploads/2026/09/krafft-rd-after-membrane-aerial-1024x577.jpg 1024w, https://reasonablecontractingservices.com/wp-content/uploads/2026/09/krafft-rd-after-membrane-aerial-1080x608.jpg 1080w, https://reasonablecontractingservices.com/wp-content/uploads/2026/09/krafft-rd-after-membrane-aerial-1280x721.jpg 1280w, https://reasonablecontractingservices.com/wp-content/uploads/2026/09/krafft-rd-after-membrane-aerial-1536x865.jpg 1536w, https://reasonablecontractingservices.com/wp-content/uploads/2026/09/krafft-rd-after-membrane-aerial.jpg 1600w" sizes="100vw"><span class="rrs-fade"></span></div><div class="rrs-m rrs-pill"><svg class="rrs-g" viewBox="0 0 48 48" aria-hidden="true"><path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"/><path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"/><path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"/><path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"/></svg><b><span data-rr-live="avg">4.8</span></b><span class="rrs-stars">★★★★★</span><span class="rrs-pilltxt"><span data-rr-live="total">255</span> Google reviews</span></div><div class="rrs-m rrs-cta"><a class="rrs-call" href="tel:8109843420"><span class="rrs-callrow"><svg viewBox="0 0 20 20" aria-hidden="true"><path d="M2 3a1 1 0 011-1h2.153a1 1 0 01.986.836l.74 4.435a1 1 0 01-.54 1.06l-1.548.773a11.037 11.037 0 006.105 6.105l.774-1.548a1 1 0 011.059-.54l4.435.74a1 1 0 01.836.986V17a1 1 0 01-1 1h-2C7.82 18 2 12.18 2 5V3z"/></svg><b>Call Now</b><span class="rrs-num">(810) 984-3420</span></span><span class="rrs-callsub">Free estimate · No pressure</span></a><a class="rrs-alt" href="#estimate">Can’t talk? Request your estimate →</a><div class="rrs-trust"><span><b>1984</b>Family-run</span><span><b>A+</b>BBB Rated</span><span><b>Dual-Elite</b>Certified</span></div></div><div class="rr-hero-eyebrow">Single-Ply · Heat-Welded</div><h1>PVC roofing systems for Michigan.</h1><div class="rr-tagline-rule"></div><div class="rr-hero-services">Roofing · Siding · Gutters · Windows · Doors · Storm Restoration</div><p class="rr-sub">Heat-welded thermoplastic roofing with best-in-class resistance to grease, oils, and chemicals — the go-to membrane for restaurants, industrial plants, and demanding commercial roofs, installed to manufacturer spec by a certified single-ply crew.</p><div class="rr-hero-ctas"><a class="rr-btn rr-btn-primary" href="https://reasonablecontractingservices.com/free-estimate/">Schedule a Free Roof Assessment →</a><a class="rr-btn rr-btn-ghost" href="tel:8109843420">Call (810) 984-3420</a></div><div class="rr-trustline"><div class="g-rating"><span class="rr-stars">★★★★★</span> <span data-rr-live="avg">4.8</span> · <span data-rr-live="total">255</span> Reviews</div><div class="trust-pills"><div class="item">Grease & Chemical Resistant</div><div class="item">Heat-Welded Seams</div></div></div></div><div class="rr-hero-form" id="estimate"><div class="fh"><span class="rrs-m rrs-eyebrow">Free, no-obligation estimate</span><h3>Get your free PVC estimate</h3><p>Tell us about your building — we'll be in touch within one business day.</p></div>

Service Type Form Fill

GET IN TOUCH

If you are human, leave this field blank.			

<div class="privacy">No spam, ever. Your details are used only to prepare your estimate.</div></div></div></div></section><div class="rr-badgebar"><div class="rr-wrap"><div class="row"><div class="rr-badge"><span class="dot"></span><strong>Since 1984</strong></div><div class="rr-badge"><span class="dot"></span>Single-Ply Certified</div><div class="rr-badge"><span class="dot"></span>Heat-Welded Seams</div><div class="rr-badge"><span class="dot"></span>Chemical Resistant</div><div class="rr-badge"><span class="dot"></span><span data-rr-live="avg">4.8</span>★ <span data-rr-live="total">255</span> Reviews</div></div></div></div><section class="rr-reveal rr-section"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">PVC Roofing Specialists</span><h2>The heavy-duty flat roof.</h2></div><p class="rr-prose">PVC (<a href="https://www.vinylinfo.org" target="_blank" rel="noopener">polyvinyl chloride</a>) is the membrane you choose when a roof has to work harder: heat-welded seams stronger than the membrane itself, best-in-class resistance to grease, oils, and chemicals, and a reflective white surface that cuts cooling costs.</p><p class="rr-prose">We install PVC for restaurant, industrial, and commercial properties across Michigan — including portfolio work for <a href="https://reasonablecontractingservices.com/roofing-for-property-managers/">property managers</a> — in <b>50-, 60-, and 80-mil</b> thickness, over the insulation that fits your R-value target — Polyiso, XPS, or EPS. Every seam is hot-air welded into one continuous sheet, then probed to confirm it.</p><p class="rr-prose">From a restaurant with kitchen exhaust to a large industrial plant, we spec the membrane, insulation, and attachment for your roof — not the thinnest assembly we could bid. For other systems, see our <a href="https://reasonablecontractingservices.com/commercial-roofing/">commercial roofing</a> hub, our <a href="https://reasonablecontractingservices.com/tpo-roofing-contractors/">TPO</a> and <a href="https://reasonablecontractingservices.com/epdm-roofing-contractors/">EPDM</a> pages, or <a href="https://reasonablecontractingservices.com/commercial-metal-roofing/">commercial metal roofing</a> for sloped sections.</p></div></section><section class="rr-reveal rr-section rr-spec is-mist"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">How We Build It</span><h2>Anatomy of a PVC roof.</h2><p>PVC is the top layer of an engineered assembly. Get any of the six layers wrong and the membrane can't do its job — here's how we build a PVC roof that lasts.</p></div><div class="rr-ana-grid"><figure class="rr-spec-fig"><svg viewBox="0 0 620 540" role="img" aria-label="Isometric cutaway of a PVC single-ply roof membrane" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="gr" x1="0" y1="0" x2="0.4" y2="1"><stop offset="0" stop-color="#dcc095"/><stop offset="1" stop-color="#caac79"/></linearGradient><linearGradient id="gd" x1="0" y1="0" x2="0.4" y2="1"><stop offset="0" stop-color="#f0dbad"/><stop offset="1" stop-color="#e1c78c"/></linearGradient><linearGradient id="gi" x1="0" y1="0" x2="0.4" y2="1"><stop offset="0" stop-color="#4c5862"/><stop offset="1" stop-color="#39434c"/></linearGradient><linearGradient id="gu" x1="0" y1="0" x2="0.4" y2="1"><stop offset="0" stop-color="#d2e0ef"/><stop offset="1" stop-color="#bccddd"/></linearGradient><linearGradient id="gs" x1="0" y1="0" x2="0.4" y2="1"><stop offset="0" stop-color="#7a8794"/><stop offset="1" stop-color="#646f7a"/></linearGradient><linearGradient id="gv" x1="0" y1="0" x2="0.4" y2="1"><stop offset="0" stop-color="#96a3af"/><stop offset="1" stop-color="#7e8a95"/></linearGradient><linearGradient id="gsteel" x1="0" y1="0" x2="0.4" y2="1"><stop offset="0" stop-color="#cfd8e1"/><stop offset="1" stop-color="#b3bdc8"/></linearGradient><linearGradient id="gpoly" x1="0" y1="0" x2="0.4" y2="1"><stop offset="0" stop-color="#f5e7b2"/><stop offset="1" stop-color="#e7d48c"/></linearGradient><linearGradient id="gcover" x1="0" y1="0" x2="0.4" y2="1"><stop offset="0" stop-color="#dacdb2"/><stop offset="1" stop-color="#c5b892"/></linearGradient><linearGradient id="gmemb" x1="0" y1="0" x2="0.4" y2="1"><stop offset="0" stop-color="#eef3f7"/><stop offset="1" stop-color="#dae3eb"/></linearGradient><linearGradient id="gfoam" x1="0" y1="0" x2="0.4" y2="1"><stop offset="0" stop-color="#f4dcab"/><stop offset="1" stop-color="#e7c184"/></linearGradient><linearGradient id="gcoat" x1="0" y1="0" x2="0.4" y2="1"><stop offset="0" stop-color="#e2e9f0"/><stop offset="1" stop-color="#cad6e0"/></linearGradient><linearGradient id="gmetal" x1="0" y1="0" x2="0.4" y2="1"><stop offset="0" stop-color="#d6e0ea"/><stop offset="1" stop-color="#bdccdb"/></linearGradient><linearGradient id="gsiding" x1="0" y1="0" x2="0.4" y2="1"><stop offset="0" stop-color="#efe7d8"/><stop offset="1" stop-color="#dccfba"/></linearGradient><linearGradient id="gwrap" x1="0" y1="0" x2="0.4" y2="1"><stop offset="0" stop-color="#cfe0ef"/><stop offset="1" stop-color="#b4cde1"/></linearGradient><linearGradient id="gbrick" x1="0" y1="0" x2="0.4" y2="1"><stop offset="0" stop-color="#c08560"/><stop offset="1" stop-color="#a36745"/></linearGradient><linearGradient id="gwater" x1="0" y1="0" x2="0.4" y2="1"><stop offset="0" stop-color="#9cc6ea"/><stop offset="1" stop-color="#6fa3d6"/></linearGradient><linearGradient id="ggrass" x1="0" y1="0" x2="0.4" y2="1"><stop offset="0" stop-color="#a7c98f"/><stop offset="1" stop-color="#8fb574"/></linearGradient><linearGradient id="gsky" x1="0" y1="0" x2="0.4" y2="1"><stop offset="0" stop-color="#eaf2fb"/><stop offset="1" stop-color="#d8e7f6"/></linearGradient><filter id="bsh" x="-60%" y="-60%" width="220%" height="220%"><feDropShadow dx="0" dy="2" stdDeviation="3" flood-color="#9c4a0c" flood-opacity="0.5"/></filter><filter id="sh" x="-40%" y="-40%" width="180%" height="180%"><feDropShadow dx="0" dy="8" stdDeviation="10" flood-color="#1f3050" flood-opacity="0.16"/></filter></defs><ellipse cx="250" cy="486" rx="172" ry="40" fill="#1f3050" opacity="0.10"/><path d="M250.0 474.0 L402.0 398.0 L402.0 414.0 L250.0 490.0 Z" fill="#9fabb8" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M98.0 398.0 L250.0 474.0 L250.0 490.0 L98.0 414.0 Z" fill="#b6c0cb" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M98.0 398.0 L250.0 322.0 L402.0 398.0 L250.0 474.0 Z" fill="url(#gsteel)" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M148.7 372.7 L300.7 448.7" stroke="#a8b3bf" stroke-width="1"/><path d="M199.3 347.3 L351.3 423.3" stroke="#a8b3bf" stroke-width="1"/><path d="M250.0 428.0 L402.0 352.0 L402.0 382.0 L250.0 458.0 Z" fill="#d4be73" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M98.0 352.0 L250.0 428.0 L250.0 458.0 L98.0 382.0 Z" fill="#e6d28a" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M98.0 352.0 L250.0 276.0 L402.0 352.0 L250.0 428.0 Z" fill="url(#gpoly)" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M136.0 333.0 L288.0 409.0" stroke="#e0cd84" stroke-width="1.2"/><path d="M174.0 314.0 L326.0 390.0" stroke="#e0cd84" stroke-width="1.2"/><path d="M212.0 295.0 L364.0 371.0" stroke="#e0cd84" stroke-width="1.2"/><path d="M250.0 372.0 L402.0 296.0 L402.0 308.0 L250.0 384.0 Z" fill="#b6a884" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M98.0 296.0 L250.0 372.0 L250.0 384.0 L98.0 308.0 Z" fill="#cabd9d" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M98.0 296.0 L250.0 220.0 L402.0 296.0 L250.0 372.0 Z" fill="url(#gcover)" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M250.0 320.0 L402.0 244.0 L402.0 258.0 L250.0 334.0 Z" fill="#c8d2db" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M98.0 244.0 L250.0 320.0 L250.0 334.0 L98.0 258.0 Z" fill="#dde6ed" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M98.0 244.0 L250.0 168.0 L402.0 244.0 L250.0 320.0 Z" fill="url(#gmemb)" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M200.0 219.0 L352.0 295.0" stroke="#9fb0bd" stroke-width="2.5"/><path d="M240.0 239.0 L392.0 315.0" stroke="#9fb0bd" stroke-width="2.5"/><path d="M98.0 244.0 q -26 -8 -34 -28 q 20 6 34 0 Z" fill="#eef3f7" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><ellipse cx="68.0" cy="214.0" rx="8" ry="5" fill="#dde6ed" stroke="#23344a" stroke-width="1"/><path d="M402.0 398.0 L486.0 404.0" stroke="#c4cdd6" stroke-width="1.5" stroke-dasharray="2 4" stroke-linecap="round"/><circle cx="402.0" cy="398.0" r="3.2" fill="#FF8C42"/><g><circle cx="486.0" cy="404.0" r="15.5" fill="#FF8C42" stroke="#fff" stroke-width="2.5" filter="url(#bsh)"/><text x="486.0" y="409.0" text-anchor="middle" font-family="Space Mono, monospace" font-weight="700" font-size="14" fill="#fff">1</text></g><path d="M402.0 352.0 L486.0 358.0" stroke="#c4cdd6" stroke-width="1.5" stroke-dasharray="2 4" stroke-linecap="round"/><circle cx="402.0" cy="352.0" r="3.2" fill="#FF8C42"/><g><circle cx="486.0" cy="358.0" r="15.5" fill="#FF8C42" stroke="#fff" stroke-width="2.5" filter="url(#bsh)"/><text x="486.0" y="363.0" text-anchor="middle" font-family="Space Mono, monospace" font-weight="700" font-size="14" fill="#fff">2</text></g><path d="M402.0 296.0 L486.0 304.0" stroke="#c4cdd6" stroke-width="1.5" stroke-dasharray="2 4" stroke-linecap="round"/><circle cx="402.0" cy="296.0" r="3.2" fill="#FF8C42"/><g><circle cx="486.0" cy="304.0" r="15.5" fill="#FF8C42" stroke="#fff" stroke-width="2.5" filter="url(#bsh)"/><text x="486.0" y="309.0" text-anchor="middle" font-family="Space Mono, monospace" font-weight="700" font-size="14" fill="#fff">3</text></g><path d="M402.0 250.0 L486.0 256.0" stroke="#c4cdd6" stroke-width="1.5" stroke-dasharray="2 4" stroke-linecap="round"/><circle cx="402.0" cy="250.0" r="3.2" fill="#FF8C42"/><g><circle cx="486.0" cy="256.0" r="15.5" fill="#FF8C42" stroke="#fff" stroke-width="2.5" filter="url(#bsh)"/><text x="486.0" y="261.0" text-anchor="middle" font-family="Space Mono, monospace" font-weight="700" font-size="14" fill="#fff">4</text></g><path d="M392.0 315.0 L480.0 206.0" stroke="#c4cdd6" stroke-width="1.5" stroke-dasharray="2 4" stroke-linecap="round"/><circle cx="392.0" cy="315.0" r="3.2" fill="#FF8C42"/><g><circle cx="480.0" cy="206.0" r="15.5" fill="#FF8C42" stroke="#fff" stroke-width="2.5" filter="url(#bsh)"/><text x="480.0" y="211.0" text-anchor="middle" font-family="Space Mono, monospace" font-weight="700" font-size="14" fill="#fff">5</text></g><path d="M72.0 224.0 L434.0 150.0" stroke="#c4cdd6" stroke-width="1.5" stroke-dasharray="2 4" stroke-linecap="round"/><circle cx="72.0" cy="224.0" r="3.2" fill="#FF8C42"/><g><circle cx="434.0" cy="150.0" r="15.5" fill="#FF8C42" stroke="#fff" stroke-width="2.5" filter="url(#bsh)"/><text x="434.0" y="155.0" text-anchor="middle" font-family="Space Mono, monospace" font-weight="700" font-size="14" fill="#fff">6</text></g></svg><figcaption>PVC single-ply · deck-to-membrane</figcaption></figure><div class="rr-spec-list"><span class="rr-spec-tag">Build Spec · Six layers</span><div class="rr-arow"><span class="num">01</span><div><h4>Structural deck</h4><p>We assess the existing deck — steel, wood, or concrete — and confirm it's sound before the new PVC assembly goes down.</p></div></div><div class="rr-arow"><span class="num">02</span><div><h4>Insulation layer</h4><p>Polyiso, XPS, or EPS board to the R-value your building and budget call for — tapered where needed to drive water to the drains.</p></div></div><div class="rr-arow"><span class="num">03</span><div><h4>Cover board</h4><p>A dense board over the insulation that resists punctures, hail, and foot traffic — the layer that keeps the membrane from getting bruised from below.</p></div></div><div class="rr-arow"><span class="num">04</span><div><h4>PVC membrane</h4><p>Reflective thermoplastic membrane engineered for grease and chemical exposure — mechanically fastened or fully adhered to spec, in white and standard colors.</p></div></div><div class="rr-arow"><span class="num">05</span><div><h4>Heat-welded seams</h4><p>Seams are hot-air welded into one monolithic sheet, stronger than the membrane itself — the difference between a 25-year PVC roof and a leaky one.</p></div></div><div class="rr-arow"><span class="num">06</span><div><h4>Flashing & terminations</h4><p>Drains, curbs, penetrations, and edge terminations detailed and welded right — the spots where a flat roof actually leaks if you rush them.</p></div></div></div></div></div></section><section class="rr-reveal rr-section is-mist"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">Why PVC</span><h2>What makes PVC stand out.</h2><p>Welded watertight, chemically tough, and reflective — the membrane for roofs that have to earn their keep.</p></div><div class="rr-cards-grid"><div class="rr-card2"><div class="rr-card2-top"><h3>Welded Watertight Seams</h3><span class="badge">Stronger Than the Sheet</span></div><p>Every seam is hot-air welded into one monolithic membrane — a properly welded PVC seam tests stronger than the membrane itself.</p></div><div class="rr-card2"><div class="rr-card2-top"><h3>Grease & Chemical Resistant</h3><span class="badge">Restaurant-Grade</span></div><p>Best-in-class resistance to grease, oils, and chemicals — the go-to membrane over kitchen exhaust, industrial processes, and rooftop equipment.</p></div><div class="rr-card2"><div class="rr-card2-top"><h3>Handles Ponding Water</h3><span class="badge">Low-Slope Ready</span></div><p>PVC tolerates standing water better than most membranes — a real advantage on flat roofs where drainage is less than perfect.</p></div><div class="rr-card2"><div class="rr-card2-top"><h3>Cool-Roof Reflective</h3><span class="badge">Cool Roof</span></div><p>The reflective white surface — the kind rated by the <a href="https://coolroofs.org" target="_blank" rel="noopener">Cool Roof Rating Council</a> — bounces solar heat instead of absorbing it, for lower cooling costs and a more comfortable building below.</p></div><div class="rr-card2"><div class="rr-card2-top"><h3>Long Service Life</h3><span class="badge">20–30+ Years</span></div><p>PVC membranes routinely deliver 20–30+ years of service — welded seams don't rely on adhesives or tapes that age out.</p></div><div class="rr-card2"><div class="rr-card2-top"><h3>Proven in Demanding Buildings</h3><span class="badge">Industrial-Tested</span></div><p>Restaurants, food processing, manufacturing, healthcare — PVC has decades of performance on roofs that take real abuse.</p></div></div></div></section><section class="rr-reveal rr-section"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">Our Services</span><h2>Complete PVC services.</h2><p>Installation, re-roof, repair, and maintenance — full lifecycle service for your single-ply roof.</p></div><div class="rr-pillars"><div class="rr-pillar"><div class="pidx">01</div><h3>PVC Installation</h3><div class="promise">New single-ply PVC systems installed to manufacturer spec on restaurant, industrial, and commercial flat and low-slope roofs.</div></div><div class="rr-pillar"><div class="pidx">02</div><h3>PVC Re-Roof & Recover</h3><div class="promise">Replace or recover an aging flat roof — including older <a href="https://reasonablecontractingservices.com/bur-modified-bitumen-roof-repair/">built-up and modified bitumen</a> systems — with a new heat-welded PVC membrane, deck assessed and insulation upgraded.</div></div><div class="rr-pillar"><div class="pidx">03</div><h3>PVC Repair</h3><div class="promise">Punctures, seam failures, and flashing leaks repaired with proper hot-air welding — not a patch of tape that fails next season.</div></div><div class="rr-pillar"><div class="pidx">04</div><h3>Seam Welding & Detailing</h3><div class="promise">Hot-air welded seams and welded flashing details — the craftsmanship that makes a PVC roof watertight for decades.</div></div><div class="rr-pillar"><div class="pidx">05</div><h3>Insulation Upgrades</h3><div class="promise">Add R-value with Polyiso, XPS, or EPS during a re-roof — lower energy bills on top of the reflective surface.</div></div><div class="rr-pillar"><div class="pidx">06</div><h3>Maintenance & Inspection</h3><div class="promise">Scheduled <a href="https://reasonablecontractingservices.com/commercial-roof-maintenance/">commercial roof maintenance</a> inspections that catch small issues early, extend roof life, and keep your manufacturer warranty valid.</div></div></div></div></section><section class="rr-reveal rr-ctaband"><div class="rr-wrap"><span class="ey">Free Estimate</span><h3>A hard-working roof, welded watertight.</h3><p>A roof assessment, a system spec built for your building, and heat-welded installation from a certified single-ply crew — with no pressure.</p><a class="rr-btn rr-btn-primary" href="https://reasonablecontractingservices.com/free-estimate/">Get My Free Estimate →</a></div></section><section class="rr-reveal rr-section rr-svcsteps is-mist"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">Our Process</span><h2>How a PVC project works.</h2><p>Five steps from assessment to a probed, watertight PVC roof — spec'd for your building, welded to last.</p></div><div class="rr-steps"><div class="rr-step"><div class="idx">01</div><div class="tick"></div><h3>Assessment</h3><p>We inspect the roof and deck, take core samples where needed, and confirm what's really in the existing assembly.</p></div><div class="rr-step"><div class="idx">02</div><div class="tick"></div><h3>System Spec</h3><p>We spec the membrane thickness, insulation, and attachment method for your building — with itemized pricing and warranty options.</p></div><div class="rr-step"><div class="idx">03</div><div class="tick"></div><h3>Tear-Off / Prep</h3><p>Old roof removed or prepped for recover, deck repaired, and insulation and cover board installed.</p></div><div class="rr-step"><div class="idx">04</div><div class="tick"></div><h3>Heat-Welded Install</h3><p>PVC membrane laid, fastened or adhered to spec, and every seam hot-air welded into one continuous sheet.</p></div><div class="rr-step"><div class="idx">05</div><div class="tick"></div><h3>Inspection</h3><p>We probe the welds, check the details, and confirm the roof is watertight before we hand it off.</p></div></div></div></section><style>@media(min-width:981px){.rr .rr-svcsteps .rr-steps{grid-template-columns:repeat(5,1fr)}}</style><style>.rr .rr-pricegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:26px 0 8px}.rr .rr-pricecard{background:#fff;border:1px solid var(--line-cool);border-radius:var(--r-md);padding:26px;display:flex;flex-direction:column;gap:6px}.rr .rr-pricecard .plabel{font-family:'Space Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--royal)}.rr .rr-pricecard .pnum{font-size:30px;font-weight:800;color:var(--navy);line-height:1.1}.rr .rr-pricecard .pnum small{font-size:14px;font-weight:600;color:var(--slate-grey)}.rr .rr-pricecard .pnote{color:var(--slate-grey);font-size:14px;line-height:1.55}.rr .rr-factors{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;margin:18px 0 4px;padding:0;list-style:none}.rr .rr-factors li{position:relative;padding-left:26px;color:var(--slate-grey);font-size:15px;line-height:1.55}.rr .rr-factors li:before{content:"";position:absolute;left:0;top:11px;width:16px;height:2px;background:#FF8C42}.rr .rr-factors li b{color:var(--navy)}.rr .rr-pricefoot{margin-top:20px;padding-top:16px;border-top:1px solid var(--line-cool);color:var(--slate-grey);font-size:13.5px;line-height:1.6}.rr .rr-pricefoot a{color:var(--royal);font-weight:600;text-decoration:none}.rr .rr-pricetable{width:100%;border-collapse:collapse;margin:26px 0 8px;background:#fff;border:1px solid var(--line-cool);border-radius:var(--r-md);overflow:hidden}.rr .rr-pricetable th{font-family:'Space Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--navy);padding:13px 16px;text-align:left}.rr .rr-pricetable td{padding:14px 16px;border-top:1px solid var(--line-cool);font-size:15px;color:var(--slate-grey);vertical-align:top}.rr .rr-pricetable td:first-child a{color:var(--navy);font-weight:700;text-decoration:none}.rr .rr-pricetable td.pr{white-space:nowrap;font-weight:700;color:var(--navy)}.rr .rr-slaband{background:#0e1924;padding:72px 0}.rr .rr-slaband .sla-ey{font-family:'Space Mono',monospace;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#FF8C42;display:inline-flex;align-items:center;gap:12px}.rr .rr-slaband .sla-ey:before,.rr .rr-slaband .sla-ey:after{content:"";width:18px;height:1px;background:#FF8C42}.rr .rr-slaband h2{color:#fff;font-size:34px;margin:14px 0 10px}.rr .rr-slaband .sla-lead{color:#b8c6d4;font-size:17px;max-width:640px;line-height:1.6}.rr .rr-sla-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:36px}.rr .rr-sla-item{border-top:1px solid rgba(255,255,255,.16);padding-top:18px}.rr .rr-sla-item .n{font-family:'Space Mono',monospace;font-size:13px;font-weight:700;color:#FF8C42}.rr .rr-sla-item h3{color:#fff;font-size:19px;margin:8px 0 8px}.rr .rr-sla-item p{color:#b8c6d4;font-size:15px;line-height:1.6}.rr .rr-sla-note{margin-top:34px;color:#8fa1b3;font-size:14px}.rr .rr-sla-note a{color:#fff;font-weight:600;text-decoration:none}.rr .rr-scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}.rr .rr-scope-col{background:#fff;border:1px solid var(--line-cool);border-radius:var(--r-md);padding:28px}.rr .rr-scope-col h3{font-size:19px;color:var(--navy);margin-bottom:14px;display:flex;align-items:center;gap:10px}.rr .rr-scope-col ul{list-style:none;padding:0;margin:0;display:grid;gap:11px}.rr .rr-scope-col li{position:relative;padding-left:28px;color:var(--slate-grey);font-size:15px;line-height:1.55}.rr .rr-scope-col li b{color:var(--navy)}.rr .rr-scope-do li:before{content:"\2713";position:absolute;left:0;top:0;font-weight:800;color:#2e7d4f}.rr .rr-scope-dont li:before{content:"\2715";position:absolute;left:0;top:0;font-weight:800;color:#FF8C42}.rr .rr-scope-close{margin-top:22px;color:var(--slate-grey);font-size:15px;line-height:1.6}@media(max-width:900px){.rr .rr-pricegrid{grid-template-columns:1fr 1fr}.rr .rr-sla-grid{grid-template-columns:1fr}.rr .rr-scope-grid{grid-template-columns:1fr}.rr .rr-factors{grid-template-columns:1fr}}@media(max-width:580px){.rr .rr-pricegrid{grid-template-columns:1fr}.rr .rr-slaband h2{font-size:27px}.rr .rr-pricetable{display:block;overflow-x:auto}}</style><section class="rr-reveal rr-section rr-pricing"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">Published Pricing</span><h2>What a PVC roof costs in Michigan.</h2></div><p class="rr-prose">Nobody in commercial roofing publishes prices. We think that's backwards — you're building a budget, and you deserve real numbers before you ever sit through a sales call. These are honest planning ranges for typical commercial projects in Michigan.</p><div class="rr-pricegrid"><div class="rr-pricecard"><span class="plabel">PVC Replacement</span><span class="pnum">$8.50 – $14 <small>/ sq ft installed</small></span><p class="pnote">Full tear-off, insulation to code, hot-air-welded PVC membrane, flashing and edge detail — the complete assembly.</p></div><div class="rr-pricecard"><span class="plabel">PVC Recover</span><span class="pnum">$7 – $10.50 <small>/ sq ft installed</small></span><p class="pnote">New PVC over a sound existing roof, confirmed by core samples first.</p></div><div class="rr-pricecard"><span class="plabel">PVC Repairs</span><span class="pnum">$2,000 – $6,000 <small>typical project</small></span><p class="pnote">Weld repairs, flashing details, and membrane patches by a crew certified on the system.</p></div></div><p class="rr-prose" style="margin-top:22px"><b>What moves the number:</b></p><ul class="rr-factors"><li><b>Tear-off vs. recover</b> — removing the old roof adds cost, but resets the clock and lets us fix what's underneath.</li><li><b>Wet insulation & deck repair</b> — found by core samples and moisture scans, and priced before work starts — never a mid-job surprise.</li><li><b>Code-required insulation</b> — Michigan energy code sets the R-value; more insulation costs more up front and less every month after.</li><li><b>Edge metal, curbs & penetrations</b> — detail work is where the labor lives; a cluttered roof costs more than a clean one.</li><li><b>Access, height & staging</b> — how hard it is to get material up and debris down changes the number.</li><li><b>Warranty term</b> — a 15-, 20-, or 30-year no-dollar-limit warranty changes the spec, not just the paperwork.</li></ul><div class="rr-pricefoot">Want a number for <i>your</i> roof? Try our <a href="https://reasonablecontractingservices.com/commercial-roof-cost-calculator/">Commercial Roof Budget Planner</a> — system, age, and size in, planning budget out. No form, no phone call. Planning ranges updated August 2026; every roof is specified and priced individually — your itemized proposal is the number that counts.</div></div></section><section class="rr-reveal rr-section is-mist"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">By The Numbers</span><h2>42 years. One standard.</h2><p>The kind of track record that only comes from doing it right, in the same communities, for a very long time.</p></div><div class="rr-svcstats"><div class="rr-svcstat"><span class="rr-svcstatnum" data-to="42" data-suf="+">0</span><span class="lbl">Years in Michigan</span><span class="sub">Family-owned since 1984</span></div><div class="rr-svcstat"><span class="rr-svcstatnum" data-to="16">0</span><span class="lbl">Counties Served</span><span class="sub">St. Clair to Kent</span></div><div class="rr-svcstat"><span class="rr-svcstatnum" data-to="4.8">0</span><span class="star">★</span><span class="lbl">Google Rating</span><span class="sub"><span data-rr-live="total">255</span> reviews</span></div><div class="rr-svcstat"><span class="rr-svcstatnum" data-to="3">0</span><span class="lbl">Thickness Options</span><span class="sub">50 / 60 / 80 mil</span></div></div></div></section><section class="rr-reveal rr-edband"><div class="rr-wrap"><span class="eb-ey">Since 1984</span><p class="eb-q">“A PVC roof is only as good as its welds. We weld every seam into one sheet and probe each one — because that seam is the whole roof.”</p><p class="eb-s">Family-run since 1984 and certified to install single-ply to spec. We weld it right, insulate it right, and back it with manufacturer warranties — for commercial buildings and homes alike.</p></div></section><section class="rr-reveal rr-section"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">The Reasonable Difference</span><h2>Why owners choose us for PVC.</h2><p>Certified installation, properly welded seams, the right spec, and 42 years of single-ply experience in Michigan weather.</p></div><div class="rr-values"><div class="rr-value"><div class="ic"><svg viewBox="0 0 24 24"><circle cx="12" cy="8" r="6"/><path d="M8.5 13.5 7 22l5-3 5 3-1.5-8.5"/></svg></div><h3>Certified Single-Ply Installer</h3><p>We install PVC to manufacturer spec and <a href="https://www.nrca.net" target="_blank" rel="noopener">NRCA industry standards</a> as a certified contractor — the requirement for the system and NDL warranties that protect your investment.</p></div><div class="rr-value"><div class="ic"><svg viewBox="0 0 24 24"><path d="M14.7 6.3a4 4 0 0 0-5.4 5.4l-6 6 2 2 6-6a4 4 0 0 0 5.4-5.4l-2.3 2.3-2-2 2.3-2.3z"/></svg></div><h3>Heat-Welded Seams Done Right</h3><p>Properly welded seams are stronger than the membrane itself. We weld and probe every one — because the seam is where a cheap PVC roof fails first.</p></div><div class="rr-value"><div class="ic"><svg viewBox="0 0 24 24"><path d="M11 20A7 7 0 0 1 4 13c0-6 8-9 16-9 0 8-3 16-9 16zM4 21c3-3 5-5 8-7"/></svg></div><h3>Energy-Efficient by Design</h3><p>PVC's reflective surface cuts cooling load. Pair it with the right insulation and you get real, measurable savings on the building below.</p></div><div class="rr-value"><div class="ic"><svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><path d="M8.5 12.5l2.5 2.5 4.5-5"/></svg></div><h3>The Right Spec, Not the Cheapest</h3><p>50, 60, or 80 mil; Polyiso, XPS, or EPS; fastened or adhered — we spec what your building needs, not the thinnest assembly we can bid.</p></div><div class="rr-value"><div class="ic"><svg viewBox="0 0 24 24"><path d="M12 21s-7-5.2-7-11a7 7 0 0 1 14 0c0 5.8-7 11-7 11z"/><circle cx="12" cy="10" r="2.5"/></svg></div><h3>42 Years in Michigan</h3><p>Family-run since 1984. As a longtime <a href="https://reasonablecontractingservices.com/flat-roofing-company-port-huron/">flat roofing company in Port Huron</a>, we've installed and serviced single-ply roofs across Michigan's full range of weather — and we know how PVC behaves here.</p></div><div class="rr-value"><div class="ic"><svg viewBox="0 0 24 24"><path d="M12 3l8 4v5c0 5-3.5 8-8 9-4.5-1-8-4-8-9V7l8-4z"/><path d="M9 12l2 2 4-4"/></svg></div><h3>Manufacturer Warranties</h3><p>As a certified installer we offer manufacturer system warranties — terms vary by manufacturer and system, up to No-Dollar-Limit coverage where the installed system qualifies — backed by quality-controlled installation.<p><strong>Factory-certified across the low-slope spectrum:</strong> Elevate (Firestone) · GenFlex · Mule-Hide · IB Roof Systems · GAF · Gaco silicone coatings.</p></p></div></div></div></section><section class="rr-reveal rr-slaband"><div class="rr-wrap"><span class="sla-ey">The Response Standard</span><h2>Response times you can put in your vendor file.</h2><p class="sla-lead">Every roofer says “fast response.” We'd rather commit to numbers you can hold us to.</p><div class="rr-sla-grid"><div class="rr-sla-item"><span class="n">01</span><h3>A human, same business day.</h3><p>Every commercial call or inquiry gets a response from a person the same business day — not a voicemail loop, not a callback queue.</p></div><div class="rr-sla-item"><span class="n">02</span><h3>Leaks go to the front of the schedule.</h3><p>Report a leak and it jumps the queue — a technician on your roof inside the week, prioritized by severity, with maintenance-program buildings first in line. A documented visit that actually happens, not an emergency-line promise that doesn't.</p></div><div class="rr-sla-item"><span class="n">03</span><h3>A photo report after every visit.</h3><p>What we found, what we did, and what to budget — photo-documented and sent to your file after every single visit. Your records, not our word.</p></div></div><p class="rr-sla-note">Hold us to it — Port Huron <a href="tel:8109843420">(810) 984-3420</a>  ·  Troy <a href="tel:2488003269">(248) 800-3269</a></p></div></section><section class="rr-reveal rr-section"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">PVC Roofing FAQ</span><h2>PVC roofing FAQs.</h2></div><div class="rr-faq-list"><div class="rr-qa"><button class="rr-qa-q" type="button">PVC or TPO — which is better?<span class="mk"></span></button><div class="rr-qa-a"><div class="inner">Both are heat-welded thermoplastics. TPO usually wins on price for standard roofs; PVC wins wherever grease, oils, chemicals, or ponding water are in play — and its welded seams have the longer track record. We'll recommend based on your building and how the roof gets used — our guide to <a href="https://reasonablecontractingservices.com/flat-roof-materials-port-huron-michigan/">flat roof materials</a> compares the options side by side.</div></div></div><div class="rr-qa"><button class="rr-qa-q" type="button">Why do restaurants need PVC roofing?<span class="mk"></span></button><div class="rr-qa-a"><div class="inner">Kitchen exhaust deposits grease on the roof, and grease degrades most membranes — some manufacturers even exclude it from warranty coverage. PVC is engineered to resist grease and oils, which is why it's the standard spec over restaurants and food-service buildings.</div></div></div><div class="rr-qa"><button class="rr-qa-q" type="button">How long does a PVC roof last?<span class="mk"></span></button><div class="rr-qa-a"><div class="inner">A properly installed PVC roof lasts 20–30 years or more. Weld quality, membrane thickness, and maintenance are the big factors — and because the seams are welded rather than glued or taped, they don't age out the way adhesive seams do.</div></div></div><div class="rr-qa"><button class="rr-qa-q" type="button">Can PVC handle ponding water?<span class="mk"></span></button><div class="rr-qa-a"><div class="inner">Better than most membranes. PVC is highly resistant to standing water, which makes it a strong choice for flat roofs with imperfect drainage. We still spec tapered insulation and proper drains — but PVC gives you a real margin of safety.</div></div></div><div class="rr-qa"><button class="rr-qa-q" type="button">Can an older PVC roof be repaired?<span class="mk"></span></button><div class="rr-qa-a"><div class="inner">Often, yes. PVC stays weldable for much of its life, so new membrane can be welded to the old for patches and flashing repairs. If the membrane has gone brittle with age, we'll tell you honestly whether repair, a <a href="https://reasonablecontractingservices.com/flat-roof-coatings/">flat roof coating</a>, or replacement is the better spend.</div></div></div><div class="rr-qa"><button class="rr-qa-q" type="button">How much does a PVC roof cost?<span class="mk"></span></button><div class="rr-qa-a"><div class="inner">PVC typically runs slightly more than TPO, and it earns that premium in the right application — restaurants, industrial buildings, and roofs with ponding or chemical exposure. As a planning range, PVC replacement in Michigan typically runs $8.50-$14 per square foot installed. The spec drives the price: membrane thickness, insulation, attachment, and deck condition. We provide a detailed, itemized proposal with warranty options — and our <a href="https://reasonablecontractingservices.com/roof-replacement-cost-michigan/">Michigan roof replacement cost guide</a> is a helpful starting point for budgeting.</div></div></div></div></div></section><section class="rr-reveal rr-section is-mist"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">Straight Answers</span><h2>What we install — and what we don't.</h2><p>Most commercial roofers claim every system in the book. We'd rather be honest about where we're excellent — and say so in writing.</p></div><div class="rr-scope-grid"><div class="rr-scope-col rr-scope-do"><h3>We install & service</h3><ul><li><b><a href="https://reasonablecontractingservices.com/tpo-roofing-contractors/">TPO</a>, <a href="https://reasonablecontractingservices.com/epdm-roofing-contractors/">EPDM</a> & <a href="https://reasonablecontractingservices.com/pvc-roofing-contractors/">PVC</a> single-ply systems</b> — full replacement, recover, and repair, installed to manufacturer spec.</li><li><b><a href="https://reasonablecontractingservices.com/commercial-metal-roofing/">Commercial metal roofing</a></b> — standing-seam and screw-down systems, new and retrofit.</li><li><b><a href="https://reasonablecontractingservices.com/flat-roof-coatings/">Silicone, acrylic & liquid-applied coatings</a></b> — roof restoration that defers replacement for a decade or more.</li><li><b><a href="https://reasonablecontractingservices.com/commercial-roof-maintenance/">Preventive maintenance programs</a></b> — scheduled, photo-documented, warranty-compliant.</li></ul></div><div class="rr-scope-col rr-scope-dont"><h3>We don't — on purpose</h3><ul><li><b>Spray polyurethane foam (SPF) roofing.</b> We believe coatings and single-ply membranes serve Michigan's freeze-thaw climate better over the long haul — so we don't sell foam.</li><li><b>New built-up (BUR) or modified bitumen installs.</b> We <a href="https://reasonablecontractingservices.com/bur-modified-bitumen-roof-repair/">repair and restore existing BUR and mod-bit roofs</a> every week — but when replacement day comes, we'll spec a modern single-ply instead of selling you yesterday's system.</li></ul></div></div><p class="rr-scope-close">If your project needs something we don't do, we'll tell you on the first call — and point you toward someone good. That's the fastest way to earn the next roof.</p></div></section><section class="rr-reveal rr-section is-mist"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">Service Areas</span><h2>PVC roofing across Michigan.</h2><p>With offices in Port Huron and Troy, we serve building owners and homeowners throughout the region. We also work commercial and flat roofs across <a href="https://reasonablecontractingservices.com/commercial-roofing-southwest-michigan/">Southwest Michigan</a>.</p></div><div class="rr-areas"><div class="rr-area"><a class="cty" href="https://reasonablecontractingservices.com/roofing-contractors-oakland-county-mi/">Oakland County</a><p><a href="https://reasonablecontractingservices.com/roofers-troy-mi/">Troy</a> · <a href="https://reasonablecontractingservices.com/rochester-michigan-roofers/">Rochester</a> · <a href="https://reasonablecontractingservices.com/auburn-hills-roofers/">Auburn Hills</a> · <a href="https://reasonablecontractingservices.com/roofers-birmingham-mi/">Birmingham</a> · <a href="https://reasonablecontractingservices.com/bloomfield-hills-roofers/">Bloomfield Hills</a> · <a href="https://reasonablecontractingservices.com/royal-oak-roofers/">Royal Oak</a></p></div><div class="rr-area"><a class="cty" href="https://reasonablecontractingservices.com/macomb-county/">Macomb County</a><p><a href="https://reasonablecontractingservices.com/clinton-township-roofers/">Clinton Township</a> · <a href="https://reasonablecontractingservices.com/shelby-township-roofers/">Shelby Township</a> · <a href="https://reasonablecontractingservices.com/macomb-township-roofers/">Macomb Township</a> · <a href="https://reasonablecontractingservices.com/utica-roofers/">Utica</a> · <a href="https://reasonablecontractingservices.com/mount-clemens-roofers/">Mount Clemens</a> · <a href="https://reasonablecontractingservices.com/new-baltimore-roofers/">New Baltimore</a></p></div><div class="rr-area"><a class="cty" href="https://reasonablecontractingservices.com/st-clair-roofers/">St. Clair County</a><p><a href="https://reasonablecontractingservices.com/roofers-in-port-huron-mi/">Port Huron</a> · <a href="https://reasonablecontractingservices.com/marysville-roofers/">Marysville</a> · <a href="https://reasonablecontractingservices.com/fort-gratiot-roofers/">Fort Gratiot</a> · <a href="https://reasonablecontractingservices.com/st-clair-roofers/">St. Clair</a> · <a href="https://reasonablecontractingservices.com/marine-city-roofers/">Marine City</a> · <a href="https://reasonablecontractingservices.com/algonac-roofers/">Algonac</a></p></div><div class="rr-area"><a class="cty" href="https://reasonablecontractingservices.com/lapeer-county/">Lapeer County</a><p><a href="https://reasonablecontractingservices.com/lapeer-roofers/">Lapeer</a> · <a href="https://reasonablecontractingservices.com/imlay-city-roofers/">Imlay City</a> · <a href="https://reasonablecontractingservices.com/almont-roofers/">Almont</a> · <a href="https://reasonablecontractingservices.com/metamora-roofers/">Metamora</a> · <a href="https://reasonablecontractingservices.com/dryden-roofers/">Dryden</a> · <a href="https://reasonablecontractingservices.com/north-branch-roofers/">North Branch</a></p></div><div class="rr-area"><a class="cty" href="https://reasonablecontractingservices.com/sanilac-county-roofers/">Sanilac County</a><p><a href="https://reasonablecontractingservices.com/sandusky-roofers/">Sandusky</a> · <a href="https://reasonablecontractingservices.com/lexington-roofers/">Lexington</a> · <a href="https://reasonablecontractingservices.com/croswell-roofers/">Croswell</a> · <a href="https://reasonablecontractingservices.com/deckerville-roofers/">Deckerville</a> · <a href="https://reasonablecontractingservices.com/brown-city-roofers/">Brown City</a> · <a href="https://reasonablecontractingservices.com/marlette-roofers/">Marlette</a></p></div><div class="rr-area"><a class="cty" href="https://reasonablecontractingservices.com/kalamazoo-roofers/">Kalamazoo Area</a><p><a href="https://reasonablecontractingservices.com/kalamazoo-city-roofers/">Kalamazoo</a> · <a href="https://reasonablecontractingservices.com/portage-roofers/">Portage</a> · <a href="https://reasonablecontractingservices.com/battle-creek-roofers/">Battle Creek</a> · <a href="https://reasonablecontractingservices.com/texas-township-roofers/">Texas Township</a> · <a href="https://reasonablecontractingservices.com/oshtemo-roofers/">Oshtemo Township</a> · <a href="https://reasonablecontractingservices.com/richland-roofers/">Richland & Gull Lake</a> · <a href="https://reasonablecontractingservices.com/comstock-roofers/">Comstock</a></p></div><div class="rr-area"><a class="cty" href="https://reasonablecontractingservices.com/grand-rapids-roofers/">Grand Rapids Area</a><p><a href="https://reasonablecontractingservices.com/grand-rapids-roofers/">Grand Rapids</a> · <a href="https://reasonablecontractingservices.com/wyoming-roofers/">Wyoming</a> · <a href="https://reasonablecontractingservices.com/kentwood-roofers/">Kentwood</a> · <a href="https://reasonablecontractingservices.com/holland-roofers/">Holland</a> · <a href="https://reasonablecontractingservices.com/grandville-roofers/">Grandville</a> · <a href="https://reasonablecontractingservices.com/jenison-roofers/">Jenison</a> · <a href="https://reasonablecontractingservices.com/byron-center-roofers/">Byron Center</a></p></div></div><div class="rr-compare-note" style="margin-top:26px"><b>Don't see your town?</b> <a href="https://reasonablecontractingservices.com/areas-served/">See the full list of 100+ communities →</a></div></div></section><section class="rr-reveal rr-final"><div class="rr-wrap"><h2>Considering a PVC roof?</h2><p>Get a free assessment and a system spec built for your building — membrane thickness, insulation, and warranty options laid out clearly, with heat-welded installation from a certified crew.</p><div class="rr-hero-ctas"><a href="https://reasonablecontractingservices.com/free-estimate/" class="rr-btn rr-btn-primary">Schedule My Free Roof Assessment →</a><a href="tel:8109843420" class="rr-btn rr-btn-ghost">Call (810) 984-3420</a></div><div class="phones">Port Huron <a href="tel:8109843420">(810) 984-3420</a>  ·  Troy <a href="tel:2488003269">(248) 800-3269</a></div></div></section><div class="rr-mcta" id="rrMcta"><a href="tel:8109843420" class="rr-btn rr-btn-ghost" style="color:var(--navy);border-color:rgba(20,46,71,.3)">Call Now</a><a href="https://reasonablecontractingservices.com/free-estimate/" class="rr-btn rr-btn-primary">Free Estimate</a></div><script>(function(){var D=document;D.documentElement.classList.add("rr-js");function ready(fn){if(D.readyState!="loading")fn();else D.addEventListener("DOMContentLoaded",fn);}ready(function(){var rm=window.matchMedia&&matchMedia("(prefers-reduced-motion: reduce)").matches;var rev=[].slice.call(D.querySelectorAll(".rr-reveal"));if(rm||!("IntersectionObserver"in window)){rev.forEach(function(e){e.classList.add("in");});}else{var io=new IntersectionObserver(function(es){es.forEach(function(en){if(en.isIntersecting){en.target.classList.add("in");io.unobserve(en.target);}});},{threshold:0.12,rootMargin:"0px 0px -8% 0px"});rev.forEach(function(e){io.observe(e);});}var nums=[].slice.call(D.querySelectorAll(".rr-svcstatnum[data-to]"));function run(el){var to=parseFloat(el.getAttribute("data-to")),suf=el.getAttribute("data-suf")||"",dec=to%1!=0,t0=null,dur=1400;function st(ts){if(!t0)t0=ts;var p=Math.min((ts-t0)/dur,1),e=1-Math.pow(1-p,3),v=to*e;el.textContent=(dec?v.toFixed(1):Math.round(v))+suf;if(p<1)requestAnimationFrame(st);}requestAnimationFrame(st);}if(rm||!("IntersectionObserver"in window)){nums.forEach(function(el){el.textContent=el.getAttribute("data-to")+(el.getAttribute("data-suf")||"");});}else{var io2=new IntersectionObserver(function(es){es.forEach(function(en){if(en.isIntersecting){run(en.target);io2.unobserve(en.target);}});},{threshold:0.6});nums.forEach(function(el){io2.observe(el);});}});})();</script><script>(function(){var D=document;function init(spec){var fig=spec.querySelector('.rr-spec-fig svg');if(!fig)return;var rows=[].slice.call(spec.querySelectorAll('.rr-arow'));var hotByNum={},rowByNum={};rows.forEach(function(r){var x=r.querySelector('.num');if(x){rowByNum[parseInt(x.textContent,10)]=r;}});[].slice.call(fig.querySelectorAll('g')).forEach(function(g){var t=g.querySelector('text'),c=g.querySelector('circle');if(t&&c){var nn=parseInt(t.textContent,10);if(nn){hotByNum[nn]=g;g.setAttribute('class',(g.getAttribute('class')||'')+' rr-hot');g.setAttribute('tabindex','0');}}});var nums=Object.keys(rowByNum).map(Number).filter(function(x){return hotByNum[x];}).sort(function(a,b){return a-b;});if(!nums.length)return;var fc=spec.querySelector('.rr-spec-fig');var hint=null;if(fc){hint=D.createElement('span');hint.className='rr-spec-hint';hint.textContent='Hover to explore';fc.appendChild(hint);}var cur=-1,timer=null,locked=false;function paint(num){nums.forEach(function(k){var on=(k===num);hotByNum[k].classList.toggle('rr-hot-on',on);hotByNum[k].classList.toggle('rr-hot-dim',!on);rowByNum[k].classList.toggle('rr-row-on',on);rowByNum[k].classList.toggle('rr-row-dim',!on);});cur=num;}function stop(){if(timer){clearInterval(timer);timer=null;}}nums.forEach(function(k){function act(){locked=true;stop();if(hint)hint.classList.add('hide');paint(k);}hotByNum[k].addEventListener('mouseenter',act);hotByNum[k].addEventListener('click',act);hotByNum[k].addEventListener('focus',act);rowByNum[k].setAttribute('tabindex','0');rowByNum[k].addEventListener('mouseenter',act);rowByNum[k].addEventListener('click',act);rowByNum[k].addEventListener('focus',act);});paint(nums[0]);var rm=window.matchMedia&&matchMedia('(prefers-reduced-motion: reduce)').matches;if(!rm){timer=setInterval(function(){if(locked){stop();return;}var i=nums.indexOf(cur);paint(nums[(i+1)%nums.length]);},2600);}}function ready(fn){if(D.readyState!='loading')fn();else D.addEventListener('DOMContentLoaded',fn);}ready(function(){[].slice.call(D.querySelectorAll('.rr-spec')).forEach(init);});})();</script></div><!-- /.rr pvc-roofing-contractors --><script type="application/ld+json">{"@context": "https://schema.org", "@type": "Service", "serviceType": "PVC Roofing", "name": "PVC Roofing in Michigan", "provider": {"@type": "RoofingContractor", "name": "Reasonable Roofing & Contracting", "telephone": "+1-810-984-3420", "url": "https://reasonablecontractingservices.com", "foundingDate": "1984", "address": {"@type": "PostalAddress", "streetAddress": "1605 Beard St", "addressLocality": "Port Huron", "addressRegion": "MI", "postalCode": "48060", "addressCountry": "US"}}, "areaServed": [{"@type": "County", "name": "St. Clair County, MI"}, {"@type": "County", "name": "Macomb County, MI"}, {"@type": "County", "name": "Oakland County, MI"}, {"@type": "County", "name": "Lapeer County, MI"}, {"@type": "County", "name": "Sanilac County, MI"}], "description": "PVC single-ply roofing across Michigan for restaurant, industrial, and commercial flat roofs — heat-welded thermoplastic membrane with best-in-class grease and chemical resistance, over Polyiso, XPS, or EPS insulation, installed certified since 1984.", "offers": {"@type": "Offer", "priceRange": "$$"}}</script><script type="application/ld+json">{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "PVC or TPO — which is better?", "acceptedAnswer": {"@type": "Answer", "text": "Both are heat-welded thermoplastics. TPO usually wins on price for standard roofs; PVC wins wherever grease, oils, chemicals, or ponding water are in play - and its welded seams have the longer track record. We'll recommend based on your building and how the roof gets used."}}, {"@type": "Question", "name": "Why do restaurants need PVC roofing?", "acceptedAnswer": {"@type": "Answer", "text": "Kitchen exhaust deposits grease on the roof, and grease degrades most membranes - some manufacturers even exclude it from warranty coverage. PVC is engineered to resist grease and oils, which is why it's the standard spec over restaurants and food-service buildings."}}, {"@type": "Question", "name": "How long does a PVC roof last?", "acceptedAnswer": {"@type": "Answer", "text": "A properly installed PVC roof lasts 20-30 years or more. Weld quality, membrane thickness, and maintenance are the big factors - and because the seams are welded rather than glued or taped, they don't age out the way adhesive seams do."}}, {"@type": "Question", "name": "Can PVC handle ponding water?", "acceptedAnswer": {"@type": "Answer", "text": "Better than most membranes. PVC is highly resistant to standing water, which makes it a strong choice for flat roofs with imperfect drainage. We still spec tapered insulation and proper drains - but PVC gives you a real margin of safety."}}, {"@type": "Question", "name": "Can an older PVC roof be repaired?", "acceptedAnswer": {"@type": "Answer", "text": "Often, yes. PVC stays weldable for much of its life, so new membrane can be welded to the old for patches and flashing repairs. If the membrane has gone brittle with age, we'll tell you honestly whether repair or replacement is the better spend."}}, {"@type": "Question", "name": "How much does a PVC roof cost?", "acceptedAnswer": {"@type": "Answer", "text": "PVC typically runs slightly more than TPO, and it earns that premium in the right application - restaurants, industrial buildings, and roofs with ponding or chemical exposure. As a planning range, PVC replacement in Michigan typically runs $8.50-$14 per square foot installed. The spec drives the price: membrane thickness, insulation, attachment, and deck condition. We provide a detailed, itemized proposal with warranty options."}}]}</script><script>
(function(){
  'use strict';
  function tryOpenQuoteWidget(){
    var apis=[
      function(){return window.RoofleWidget&&typeof window.RoofleWidget.open==='function'&&(window.RoofleWidget.open(),true);},
      function(){return window.Roofle&&typeof window.Roofle.open==='function'&&(window.Roofle.open(),true);},
      function(){return typeof window.openRoofleWidget==='function'&&(window.openRoofleWidget(),true);}
    ];
    for(var i=0;i<apis.length;i++){try{if(apis[i]())return true;}catch(e){}}
    var sel=['[data-roofle-widget]','.roofle-widget-trigger','.roofle-launcher','.roofle-trigger','iframe[src*="roofle"]'];
    for(var j=0;j<sel.length;j++){try{var el=document.querySelector(sel[j]);if(el&&el.click){el.click();return true;}}catch(e){}}
    return false;
  }
  document.addEventListener('click',function(e){var t=e.target.closest&&e.target.closest('[data-rr-quote]');if(!t)return;if(tryOpenQuoteWidget())e.preventDefault();},false);
  function initReveal(){
    var targets=document.querySelectorAll('.rr-specials .rr-shead, .rr-specials .rr-offer, .rr-specials .rr-cmp, .rr-specials .rr-step, .rr-specials .rr-card, .rr-specials .rr-final');
    if(!targets.length||!('IntersectionObserver' in window))return;
    targets.forEach(function(el){el.classList.add('rr-reveal');});
    var io=new IntersectionObserver(function(ents){ents.forEach(function(en){if(en.isIntersecting){en.target.classList.add('is-in');io.unobserve(en.target);}});},{threshold:.12,rootMargin:'0px 0px -40px 0px'});
    targets.forEach(function(el){io.observe(el);});
  }
  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',initReveal);else initReveal();
})();
</script><script>
(function(){
  document.querySelectorAll('.rr-specials .rr-qa-q').forEach(function(b){
    b.addEventListener('click',function(){
      var qa=b.closest('.rr-qa'),a=qa.querySelector('.rr-qa-a'),open=qa.classList.contains('is-open');
      qa.classList.toggle('is-open',!open); a.style.maxHeight=open?null:a.scrollHeight+'px';
    });
  });
  var mcta=document.getElementById('rrMcta');
  function onScroll(){if(mcta){mcta.classList.toggle('is-show',window.pageYOffset>520);}}
  window.addEventListener('scroll',onScroll,{passive:true});onScroll();
})();
</script><script type="application/ld+json">
{"@context":"https://schema.org","@type":"RoofingContractor","name":"Reasonable Roofing & Contracting","url":"https://reasonablecontractingservices.com","telephone":"+1-810-984-3420","address":[{"@type":"PostalAddress","streetAddress":"1605 Beard St","addressLocality":"Port Huron","addressRegion":"MI","postalCode":"48060","addressCountry":"US"},{"@type":"PostalAddress","streetAddress":"1470 Souter Blvd","addressLocality":"Troy","addressRegion":"MI","postalCode":"48083","addressCountry":"US"}],"openingHoursSpecification":{"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday"],"opens":"08:00","closes":"17:00"},"priceRange":"$$","aggregateRating":{"@type":"AggregateRating","ratingValue": "4.8", "reviewCount": "255"},"areaServed":[{"@type":"County","name":"St. Clair County, MI"},{"@type":"County","name":"Macomb County, MI"},{"@type":"County","name":"Oakland County, MI"},{"@type":"County","name":"Lapeer County, MI"},{"@type":"County","name":"Sanilac County, MI"}],"foundingDate":"1984","slogan":"Michigan's Exterior Standard","award":["BBB A+ Rating","Owens Corning Platinum Preferred Contractor","GAF Master Elite Contractor — Top 3%","HAAG Certified Inspector"]}
</script>
```
