# Commercial Roofing

```
<!-- ============================================================
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}}

<!-- [et_pb_line_break_holder] -->/* ===== FALL SAVINGS STRIP (offer ends 2026-12-15) ===== */<!-- [et_pb_line_break_holder] -->.rr-hero .rr-fall{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin:24px 0 0;<!-- [et_pb_line_break_holder] -->  padding:14px 18px;border:1px solid rgba(255,140,66,.6);border-radius:var(--r-md);<!-- [et_pb_line_break_holder] -->  background:linear-gradient(90deg,rgba(255,140,66,.20),rgba(17,30,45,.34));}<!-- [et_pb_line_break_holder] -->.rr-hero .rr-fall-tag{flex:none;font-family:'Archivo',sans-serif;font-weight:800;font-size:11px;<!-- [et_pb_line_break_holder] -->  letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--orange-deep);<!-- [et_pb_line_break_holder] -->  padding:6px 11px;border-radius:var(--r-pill);}<!-- [et_pb_line_break_holder] -->.rr-hero .rr-fall-main{font-family:'Archivo',sans-serif;font-weight:700;font-size:18px;<!-- [et_pb_line_break_holder] -->  color:#fff;line-height:1.25;}<!-- [et_pb_line_break_holder] -->.rr-hero .rr-fall-main strong{font-weight:800;color:var(--orange);}<!-- [et_pb_line_break_holder] -->.rr-hero .rr-fall-meta{flex-basis:100%;font-size:13px;color:rgba(255,255,255,.82);line-height:1.5;}<!-- [et_pb_line_break_holder] -->.rr-hero .rr-fall-meta a{color:#fff;font-weight:700;text-decoration:underline;<!-- [et_pb_line_break_holder] -->  text-underline-offset:2px;}<!-- [et_pb_line_break_holder] -->.rr-hero .rr-fall br{display:none!important;}<!-- [et_pb_line_break_holder] -->@media(max-width:768px){<!-- [et_pb_line_break_holder] -->  .rr-hero .rr-fall{padding:13px 15px;gap:8px 11px;margin-top:20px;<!-- [et_pb_line_break_holder] -->    justify-content:center;text-align:center;}<!-- [et_pb_line_break_holder] -->  .rr-hero .rr-fall-main{font-size:16px;flex-basis:100%;}<!-- [et_pb_line_break_holder] -->  .rr-hero .rr-fall-meta{font-size:12px;}<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --></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"><video class="rr-hero-vid" data-msrc="https://reasonablecontractingservices.com/wp-content/uploads/2026/10/commercial-hero-loop-v6-mobile.mp4" data-mposter="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/commercial-hero-loop-poster-v5-mobile.jpg" autoplay muted loop playsinline preload="metadata" poster="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/commercial-hero-loop-poster-v5.jpg" aria-hidden="true"><source src="https://reasonablecontractingservices.com/wp-content/uploads/2026/10/commercial-hero-loop-v6.mp4" type="video/mp4" media="(min-width:768px)"></video><div class="rr-hero-veil" aria-hidden="true"></div><script>/* rr-vidswap */(function(){try{var v=document.querySelector(".rr-hero-vid");if(!v)return;if(window.matchMedia("(max-width:767px)").matches){/* the mobile layer shows a still band instead, so the video is never visible. Strip it rather than download it. */var s=v.querySelector("source");if(s)s.removeAttribute("src");v.removeAttribute("poster");v.removeAttribute("autoplay");v.setAttribute("preload","none");try{v.pause();}catch(e){}try{v.load();}catch(e){}if(v.parentNode)v.parentNode.removeChild(v);}}catch(e){}})();</script><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/06/2026-06-23-15-09-50-450.jpg" class="skip-lazy" loading="eager" fetchpriority="high" decoding="sync" alt="Reasonable Roofing crew installing shingles over synthetic underlayment on a large commercial roof in Michigan" srcset="https://reasonablecontractingservices.com/wp-content/uploads/2026/06/2026-06-23-15-09-50-450-480x270.jpg 480w, https://reasonablecontractingservices.com/wp-content/uploads/2026/06/2026-06-23-15-09-50-450-510x382.jpg 510w, https://reasonablecontractingservices.com/wp-content/uploads/2026/06/2026-06-23-15-09-50-450-768x433.jpg 768w, https://reasonablecontractingservices.com/wp-content/uploads/2026/06/2026-06-23-15-09-50-450-980x552.jpg 980w, https://reasonablecontractingservices.com/wp-content/uploads/2026/06/2026-06-23-15-09-50-450-1024x577.jpg 1024w, https://reasonablecontractingservices.com/wp-content/uploads/2026/06/2026-06-23-15-09-50-450-1080x608.jpg 1080w, https://reasonablecontractingservices.com/wp-content/uploads/2026/06/2026-06-23-15-09-50-450-1280x721.jpg 1280w, https://reasonablecontractingservices.com/wp-content/uploads/2026/06/2026-06-23-15-09-50-450-1536x865.jpg 1536w, https://reasonablecontractingservices.com/wp-content/uploads/2026/06/2026-06-23-15-09-50-450.jpg 1900w" 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">Firestone & IB Roof Systems Certified</div><h1>Commercial roofing for Michigan.</h1><div class="rr-tagline-rule"></div><div class="rr-hero-services">TPO · EPDM · PVC · Metal · Coatings · Maintenance Programs</div><p class="rr-sub">Built for building owners and property managers — fast response when the roof leaks, documentation on every job, and a commercial-certified crew backed by 42 years in Michigan.</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-fall" data-offer-ends="2026-12-15"><span class="rr-fall-tag">Fall Savings</span><span class="rr-fall-main"><strong>$1,000 off</strong> full roofing & siding projects</span><span class="rr-fall-meta">New contracts only · Stacks with 0% financing · Ends December 15 · <a href="https://reasonablecontractingservices.com/seasonal-specials/">See details</a></span></div><!-- [et_pb_line_break_holder] -->          <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">Commercial-Certified</div><div class="item">NDL Warranties Available</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>Request a commercial roof assessment</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 assessment.</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>Firestone Certified</div><div class="rr-badge"><span class="dot"></span>IB Roof Systems</div><div class="rr-badge"><span class="dot"></span>GAF Master Elite</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 is-mist"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">Certified & Trusted</span><h2>The credentials behind your warranty.</h2><p>Commercial manufacturer warranties — including No-Dollar-Limit coverage — require a certified installer. We hold the certifications most contractors can't.</p></div><div class="rr-creds"><div class="rr-cred"><div class="rr-cred-logo"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/01/Firestone-Logo-scaled.png" alt="Firestone logo" loading="lazy"/></div><h4>Firestone</h4><p>Certified Installer</p></div><div class="rr-cred"><div class="rr-cred-logo"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/01/Approved-Logo-Standard-Logo-White-Lettering.png" alt="IB Roof Systems logo" loading="lazy"/></div><h4>IB Roof Systems</h4><p>PVC & Fluid-Applied</p></div><div class="rr-cred"><div class="rr-cred-logo"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/01/GAF_logo.svg.png" alt="GAF Master Elite™ logo" loading="lazy"/></div><h4>GAF Master Elite™</h4><p>Top 3% of Roofers</p></div><div class="rr-cred"><div class="rr-cred-logo"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2025/11/Untitled-2025-11-14T131606.093.jpg" alt="CertainTeed logo" loading="lazy"/></div><h4>CertainTeed</h4><p>Commercial Certified</p></div><div class="rr-cred"><div class="rr-cred-logo"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2025/11/Untitled-2025-11-14T132059.066.png" alt="BBB A+ Rated logo" loading="lazy"/></div><h4>BBB A+ Rated</h4><p>Accredited Since 1984</p></div></div></div></section><section class="rr-reveal rr-section"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">Commercial Specialists</span><h2>Built for serious properties.</h2></div><p class="rr-prose">Your commercial property is a substantial capital asset, and the roof protects everything underneath it — inventory, equipment, employees, operations. When a commercial roof fails, the whole business pays for it.</p><p class="rr-prose">Reasonable Roofing & Contracting is certified by <b>Firestone, IB Roof Systems, GAF, and CertainTeed</b> — the credentials that let us install manufacturer system warranties, including No-Dollar-Limit options, that most contractors simply can't offer.</p><p class="rr-prose">We work with property managers, general contractors, and building owners across Michigan — and we plan every job around your operations. Tenants, access, business hours, inventory: we stage the work so your building keeps running while the roof gets done right.</p></div></section><!-- rr-featured-commercial:switcher -->
<section class="rr-reveal rr-section is-mist"><div class="rr-wrap">
  <div class="rr-shead"><span class="rr-eyebrow">Featured Commercial Projects</span>
  <h2>Commercial work, on the record.</h2>
  <p>Real buildings, real before-and-afters, documented job by job. Select a project, or see the full commercial portfolio.</p></div>
  <div style="display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:30px"><button type="button" class="rr-projtab on" data-proj="wrights" style="font-family:'Public Sans',sans-serif;font-weight:700;font-size:13.5px;padding:10px 18px;border-radius:999px;border:1.5px solid #e4ddd0;background:#1F4068;color:#fff;cursor:pointer">Wright Plastic Products</button><button type="button" class="rr-projtab" data-proj="krafft" style="font-family:'Public Sans',sans-serif;font-weight:700;font-size:13.5px;padding:10px 18px;border-radius:999px;border:1.5px solid #e4ddd0;background:#fff;color:#2C3742;cursor:pointer">Blue Water Counseling</button><button type="button" class="rr-projtab" data-proj="ave24" style="font-family:'Public Sans',sans-serif;font-weight:700;font-size:13.5px;padding:10px 18px;border-radius:999px;border:1.5px solid #e4ddd0;background:#fff;color:#2C3742;cursor:pointer">Armed Forces Career Center</button><button type="button" class="rr-projtab" data-proj="riverrd" style="font-family:'Public Sans',sans-serif;font-weight:700;font-size:13.5px;padding:10px 18px;border-radius:999px;border:1.5px solid #e4ddd0;background:#fff;color:#2C3742;cursor:pointer">Lamplighter Condominiums</button><button type="button" class="rr-projtab" data-proj="porthaven" style="font-family:'Public Sans',sans-serif;font-weight:700;font-size:13.5px;padding:10px 18px;border-radius:999px;border:1.5px solid #e4ddd0;background:#fff;color:#2C3742;cursor:pointer">Porthaven Manor</button></div>
  <div class="rr-projpanel" id="rr-proj-wrights" style="display:block"><h3 style="font-family:'Archivo',sans-serif;font-weight:800;font-size:24px;color:#1F4068;letter-spacing:-.02em;margin:0 0 8px">Wright Plastic Products · Saint Clair</h3><p style="color:#5A6672;font-size:15.5px;max-width:820px;margin:0 0 22px">Elevate 060mil TPO system (Elevate is the new owner of Firestone — the same recognized brand) on an active manufacturing facility: failed seams out, fully adhered membrane, new curbs and edge metal in.</p><div style="display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px" class="rr-projgrid"><div style="min-width:0"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/wrights-plastic-building-saint-clair.jpg" alt="Wright Plastic Products building" loading="lazy" style="width:100%;height:225px;object-fit:cover;border-radius:10px;display:block"><div style="font-size:12.5px;font-weight:700;color:#5A6672;margin-top:8px;letter-spacing:.04em;text-transform:uppercase">The facility</div></div><div style="min-width:0"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/wrights-plastic-before-failed-seam.jpg" alt="Before: failed parapet seam" loading="lazy" style="width:100%;height:225px;object-fit:cover;border-radius:10px;display:block"><div style="font-size:12.5px;font-weight:700;color:#5A6672;margin-top:8px;letter-spacing:.04em;text-transform:uppercase">Before — failed seams</div></div><div style="min-width:0"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/wrights-plastic-tpo-completed-wide.jpg" alt="Completed Elevate TPO roof" loading="lazy" style="width:100%;height:225px;object-fit:cover;border-radius:10px;display:block"><div style="font-size:12.5px;font-weight:700;color:#5A6672;margin-top:8px;letter-spacing:.04em;text-transform:uppercase">After — Elevate 060 TPO</div></div></div><div style="display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px" class="rr-projgrid"><div style="min-width:0"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/wrights-plastic-tpo-roof-overview.jpg" alt="Roof overview" loading="lazy" style="width:100%;height:225px;object-fit:cover;border-radius:10px;display:block"><div style="font-size:12.5px;font-weight:700;color:#5A6672;margin-top:8px;letter-spacing:.04em;text-transform:uppercase">Roof overview</div></div><div style="min-width:0"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/wrights-plastic-tpo-field-edge.jpg" alt="New TPO field" loading="lazy" style="width:100%;height:225px;object-fit:cover;border-radius:10px;display:block"><div style="font-size:12.5px;font-weight:700;color:#5A6672;margin-top:8px;letter-spacing:.04em;text-transform:uppercase">Membrane field</div></div><div style="min-width:0"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/wrights-plastic-parapet-metal.jpg" alt="New parapet metal" loading="lazy" style="width:100%;height:225px;object-fit:cover;border-radius:10px;display:block"><div style="font-size:12.5px;font-weight:700;color:#5A6672;margin-top:8px;letter-spacing:.04em;text-transform:uppercase">Edge & parapet metal</div></div><div style="min-width:0"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/wrights-plastic-tpo-curb-flashing.jpg" alt="TPO curb flashing" loading="lazy" style="width:100%;height:225px;object-fit:cover;border-radius:10px;display:block"><div style="font-size:12.5px;font-weight:700;color:#5A6672;margin-top:8px;letter-spacing:.04em;text-transform:uppercase">Curb flashing detail</div></div></div></div><div class="rr-projpanel" id="rr-proj-krafft" style="display:none"><h3 style="font-family:'Archivo',sans-serif;font-weight:800;font-size:24px;color:#1F4068;letter-spacing:-.02em;margin:0 0 8px">Blue Water Counseling · Fort Gratiot</h3><p style="color:#5A6672;font-size:15.5px;max-width:820px;margin:0 0 22px">Full flat-roof transformation on a mid-century commercial building: ballasted roof with chronic ponding replaced with a clean fully-adhered membrane system — plus new drains and two-tone fascia metal.</p><div style="display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px" class="rr-projgrid"><div style="min-width:0"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/krafft-rd-before-ballast-ponding.jpg" alt="Before: standing water on ballasted roof" loading="lazy" style="width:100%;height:225px;object-fit:cover;border-radius:10px;display:block"><div style="font-size:12.5px;font-weight:700;color:#5A6672;margin-top:8px;letter-spacing:.04em;text-transform:uppercase">Before — ponding & ballast</div></div><div style="min-width:0"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/krafft-rd-after-membrane-aerial.jpg" alt="After: completed membrane roof" loading="lazy" style="width:100%;height:225px;object-fit:cover;border-radius:10px;display:block"><div style="font-size:12.5px;font-weight:700;color:#5A6672;margin-top:8px;letter-spacing:.04em;text-transform:uppercase">After — new membrane system</div></div><div style="min-width:0"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/krafft-rd-after-clean-wide.jpg" alt="Completed white membrane roof with brick chimney" loading="lazy" style="width:100%;height:225px;object-fit:cover;border-radius:10px;display:block"><div style="font-size:12.5px;font-weight:700;color:#5A6672;margin-top:8px;letter-spacing:.04em;text-transform:uppercase">After — clean field & chimney</div></div></div></div><div class="rr-projpanel" id="rr-proj-ave24" style="display:none"><h3 style="font-family:'Archivo',sans-serif;font-weight:800;font-size:24px;color:#1F4068;letter-spacing:-.02em;margin:0 0 8px">Armed Forces Career Center · Port Huron</h3><p style="color:#5A6672;font-size:15.5px;max-width:820px;margin:0 0 22px">Complete commercial shingle replacement, finished in 2026 — clean hip-and-ridge lines over a working commercial corridor.</p><div style="display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px" class="rr-projgrid"><div style="min-width:0"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/24th-ave-before-aged-shingle.jpg" alt="Before: aged shingle at HVAC" loading="lazy" style="width:100%;height:225px;object-fit:cover;border-radius:10px;display:block"><div style="font-size:12.5px;font-weight:700;color:#5A6672;margin-top:8px;letter-spacing:.04em;text-transform:uppercase">Before — aged & worn</div></div><div style="min-width:0"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/24th-ave-after-hip-ridge.jpg" alt="Completed hip and ridge" loading="lazy" style="width:100%;height:225px;object-fit:cover;border-radius:10px;display:block"><div style="font-size:12.5px;font-weight:700;color:#5A6672;margin-top:8px;letter-spacing:.04em;text-transform:uppercase">After — hip & ridge</div></div><div style="min-width:0"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/24th-ave-after-wide.jpg" alt="Completed roof wide view" loading="lazy" style="width:100%;height:225px;object-fit:cover;border-radius:10px;display:block"><div style="font-size:12.5px;font-weight:700;color:#5A6672;margin-top:8px;letter-spacing:.04em;text-transform:uppercase">After — wide view</div></div><div style="min-width:0"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/24th-ave-after-corridor.jpg" alt="Roof over retail corridor" loading="lazy" style="width:100%;height:225px;object-fit:cover;border-radius:10px;display:block"><div style="font-size:12.5px;font-weight:700;color:#5A6672;margin-top:8px;letter-spacing:.04em;text-transform:uppercase">The commercial corridor</div></div></div></div><div class="rr-projpanel" id="rr-proj-riverrd" style="display:none"><h3 style="font-family:'Archivo',sans-serif;font-weight:800;font-size:24px;color:#1F4068;letter-spacing:-.02em;margin:0 0 8px">Lamplighter Condominiums · Saint Clair</h3><p style="color:#5A6672;font-size:15.5px;max-width:820px;margin:0 0 22px">Commercial shingle replacement on a riverfront property — aged, storm-worn roofing replaced end to end.</p><div style="display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px" class="rr-projgrid"><div style="min-width:0"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/river-rd-before-aged-roof.jpg" alt="Before: aged shingle roof" loading="lazy" style="width:100%;height:225px;object-fit:cover;border-radius:10px;display:block"><div style="font-size:12.5px;font-weight:700;color:#5A6672;margin-top:8px;letter-spacing:.04em;text-transform:uppercase">Before — aged roof</div></div><div style="min-width:0"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/river-rd-drone-hero.jpg" alt="Drone view of completed riverfront roof" loading="lazy" style="width:100%;height:225px;object-fit:cover;border-radius:10px;display:block"><div style="font-size:12.5px;font-weight:700;color:#5A6672;margin-top:8px;letter-spacing:.04em;text-transform:uppercase">After — the riverfront hero</div></div><div style="min-width:0"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/river-rd-drone-roofline.jpg" alt="Drone roofline against the river" loading="lazy" style="width:100%;height:225px;object-fit:cover;border-radius:10px;display:block"><div style="font-size:12.5px;font-weight:700;color:#5A6672;margin-top:8px;letter-spacing:.04em;text-transform:uppercase">After — roofline on the river</div></div><div style="min-width:0"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/river-rd-drone-complex.jpg" alt="Drone overhead of full complex" loading="lazy" style="width:100%;height:225px;object-fit:cover;border-radius:10px;display:block"><div style="font-size:12.5px;font-weight:700;color:#5A6672;margin-top:8px;letter-spacing:.04em;text-transform:uppercase">The full complex — every building re-roofed</div></div></div></div>
  <div class="rr-projpanel" id="rr-proj-porthaven" style="display:none"><h3 style="font-family:'Archivo',sans-serif;font-weight:800;font-size:24px;color:#1F4068;letter-spacing:-.02em;margin:0 0 8px">Porthaven Manor · Port Huron</h3><p style="color:#5A6672;font-size:15.5px;max-width:820px;margin:0 0 22px">Roofing partner to a multi-wing senior living community — a repeat property-management client we’ve served on six separate roofing projects since 2023, with complex hip-and-valley roofs over occupied residences.</p><div style="display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px" class="rr-projgrid"><div style="min-width:0"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/porthaven-manor-community-wide.jpg" alt="Porthaven Manor senior living community" loading="lazy" style="width:100%;height:225px;object-fit:cover;border-radius:10px;display:block"><div style="font-size:12.5px;font-weight:700;color:#5A6672;margin-top:8px;letter-spacing:.04em;text-transform:uppercase">The community</div></div><div style="min-width:0"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/porthaven-manor-overhead.jpg" alt="Overhead of the hip roof system" loading="lazy" style="width:100%;height:225px;object-fit:cover;border-radius:10px;display:block"><div style="font-size:12.5px;font-weight:700;color:#5A6672;margin-top:8px;letter-spacing:.04em;text-transform:uppercase">Overhead — every wing</div></div><div style="min-width:0"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/porthaven-manor-hip-detail.jpg" alt="Complex hip and valley geometry" loading="lazy" style="width:100%;height:225px;object-fit:cover;border-radius:10px;display:block"><div style="font-size:12.5px;font-weight:700;color:#5A6672;margin-top:8px;letter-spacing:.04em;text-transform:uppercase">Hip & valley geometry</div></div><div style="min-width:0"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/09/porthaven-manor-full-length.jpg" alt="Full length of the completed roofline" loading="lazy" style="width:100%;height:225px;object-fit:cover;border-radius:10px;display:block"><div style="font-size:12.5px;font-weight:700;color:#5A6672;margin-top:8px;letter-spacing:.04em;text-transform:uppercase">Down the full roofline</div></div></div></div>
  <style>@media(max-width:880px){.rr .rr-projgrid{grid-template-columns:1fr 1fr!important}}</style>
  <script>(function(){var B=document.querySelectorAll(".rr-projtab"),P=document.querySelectorAll(".rr-projpanel");
  B.forEach(function(b){b.addEventListener("click",function(){
    B.forEach(function(x){x.style.background="#fff";x.style.color="#2C3742";});
    b.style.background="#1F4068";b.style.color="#fff";
    P.forEach(function(p){p.style.display="none";});
    var t=document.getElementById("rr-proj-"+b.getAttribute("data-proj"));if(t)t.style.display="block";
  });});})();</script>
<!-- rr-portfolio-link --><div style="text-align:center;margin-top:34px"><a class="rr-btn rr-btn-primary" href="https://reasonablecontractingservices.com/commercial-roofing-projects/">See All Commercial Projects →</a></div></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 commercial flat roof.</h2><p>A commercial roof is an engineered assembly, not a single membrane. Six layers, each spec'd to your building — here's what goes into a roof built to last decades.</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 commercial single-ply flat roof" 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="174" ry="40" fill="#1f3050" opacity="0.10"/><path d="M250.0 478.0 L402.0 402.0 L402.0 418.0 L250.0 494.0 Z" fill="#9fabb8" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M98.0 402.0 L250.0 478.0 L250.0 494.0 L98.0 418.0 Z" fill="#b6c0cb" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M98.0 402.0 L250.0 326.0 L402.0 402.0 L250.0 478.0 Z" fill="url(#gsteel)" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M114.9 393.6 l 7 3.5 l 7 -3.5" fill="none" stroke="#9fabb8" stroke-width="1.3"/><path d="M131.8 385.1 l 7 3.5 l 7 -3.5" fill="none" stroke="#9fabb8" stroke-width="1.3"/><path d="M148.7 376.7 l 7 3.5 l 7 -3.5" fill="none" stroke="#9fabb8" stroke-width="1.3"/><path d="M165.6 368.2 l 7 3.5 l 7 -3.5" fill="none" stroke="#9fabb8" stroke-width="1.3"/><path d="M182.4 359.8 l 7 3.5 l 7 -3.5" fill="none" stroke="#9fabb8" stroke-width="1.3"/><path d="M199.3 351.3 l 7 3.5 l 7 -3.5" fill="none" stroke="#9fabb8" stroke-width="1.3"/><path d="M216.2 342.9 l 7 3.5 l 7 -3.5" fill="none" stroke="#9fabb8" stroke-width="1.3"/><path d="M233.1 334.4 l 7 3.5 l 7 -3.5" fill="none" stroke="#9fabb8" stroke-width="1.3"/><path d="M250.0 432.0 L402.0 356.0 L402.0 386.0 L250.0 462.0 Z" fill="#d4be73" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M98.0 356.0 L250.0 432.0 L250.0 462.0 L98.0 386.0 Z" fill="#e6d28a" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M98.0 356.0 L250.0 280.0 L402.0 356.0 L250.0 432.0 Z" fill="url(#gpoly)" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M136.0 337.0 L288.0 413.0" stroke="#e0cd84" stroke-width="1.2"/><path d="M174.0 318.0 L326.0 394.0" stroke="#e0cd84" stroke-width="1.2"/><path d="M212.0 299.0 L364.0 375.0" stroke="#e0cd84" stroke-width="1.2"/><path d="M250.0 376.0 L402.0 300.0 L402.0 312.0 L250.0 388.0 Z" fill="#b6a884" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M98.0 300.0 L250.0 376.0 L250.0 388.0 L98.0 312.0 Z" fill="#cabd9d" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M98.0 300.0 L250.0 224.0 L402.0 300.0 L250.0 376.0 Z" fill="url(#gcover)" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M148.7 274.7 L300.7 350.7" stroke="#c7ba98" stroke-width="1"/><path d="M199.3 249.3 L351.3 325.3" stroke="#c7ba98" stroke-width="1"/><path d="M250.0 324.0 L402.0 248.0 L402.0 257.0 L250.0 333.0 Z" fill="#c2cdd7" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M98.0 248.0 L250.0 324.0 L250.0 333.0 L98.0 257.0 Z" fill="#d6dfe7" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M98.0 248.0 L250.0 172.0 L402.0 248.0 L250.0 324.0 Z" fill="url(#gmemb)" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M220.0 233.0 L372.0 309.0" stroke="#aeb9c4" stroke-width="2.5"/><path d="M98.0 248.0 L250.0 172.0 L250.0 142.0 L98.0 218.0 Z" fill="#aab6c2" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M250.0 172.0 L402.0 248.0 L402.0 218.0 L250.0 142.0 Z" fill="#94a1ae" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M98.0 218.0 L250.0 142.0 L402.0 218.0" fill="none" stroke="#c2cdd7" stroke-width="2"/><ellipse cx="290.0" cy="282.2" rx="15" ry="7" fill="#aeb9c4" stroke="#23344a" stroke-width="1"/><ellipse cx="290.0" cy="282.2" rx="6" ry="3" fill="#5d6873"/><path d="M402.0 402.0 L486.0 408.0" stroke="#c4cdd6" stroke-width="1.5" stroke-dasharray="2 4" stroke-linecap="round"/><circle cx="402.0" cy="402.0" r="3.2" fill="#FF8C42"/><g><circle cx="486.0" cy="408.0" r="15.5" fill="#FF8C42" stroke="#fff" stroke-width="2.5" filter="url(#bsh)"/><text x="486.0" y="413.0" text-anchor="middle" font-family="Space Mono, monospace" font-weight="700" font-size="14" fill="#fff">1</text></g><path d="M402.0 356.0 L486.0 360.0" stroke="#c4cdd6" stroke-width="1.5" stroke-dasharray="2 4" stroke-linecap="round"/><circle cx="402.0" cy="356.0" r="3.2" fill="#FF8C42"/><g><circle cx="486.0" cy="360.0" r="15.5" fill="#FF8C42" stroke="#fff" stroke-width="2.5" filter="url(#bsh)"/><text x="486.0" y="365.0" text-anchor="middle" font-family="Space Mono, monospace" font-weight="700" font-size="14" fill="#fff">2</text></g><path d="M402.0 300.0 L486.0 308.0" stroke="#c4cdd6" stroke-width="1.5" stroke-dasharray="2 4" stroke-linecap="round"/><circle cx="402.0" cy="300.0" r="3.2" fill="#FF8C42"/><g><circle cx="486.0" cy="308.0" r="15.5" fill="#FF8C42" stroke="#fff" stroke-width="2.5" filter="url(#bsh)"/><text x="486.0" y="313.0" text-anchor="middle" font-family="Space Mono, monospace" font-weight="700" font-size="14" fill="#fff">3</text></g><path d="M280.0 320.0 L486.0 262.0" stroke="#c4cdd6" stroke-width="1.5" stroke-dasharray="2 4" stroke-linecap="round"/><circle cx="280.0" cy="320.0" r="3.2" fill="#FF8C42"/><g><circle cx="486.0" cy="262.0" r="15.5" fill="#FF8C42" stroke="#fff" stroke-width="2.5" filter="url(#bsh)"/><text x="486.0" y="267.0" text-anchor="middle" font-family="Space Mono, monospace" font-weight="700" font-size="14" fill="#fff">4</text></g><path d="M372.0 309.0 L480.0 212.0" stroke="#c4cdd6" stroke-width="1.5" stroke-dasharray="2 4" stroke-linecap="round"/><circle cx="372.0" cy="309.0" r="3.2" fill="#FF8C42"/><g><circle cx="480.0" cy="212.0" r="15.5" fill="#FF8C42" stroke="#fff" stroke-width="2.5" filter="url(#bsh)"/><text x="480.0" y="217.0" text-anchor="middle" font-family="Space Mono, monospace" font-weight="700" font-size="14" fill="#fff">5</text></g><path d="M402.0 226.0 L434.0 156.0" stroke="#c4cdd6" stroke-width="1.5" stroke-dasharray="2 4" stroke-linecap="round"/><circle cx="402.0" cy="226.0" r="3.2" fill="#FF8C42"/><g><circle cx="434.0" cy="156.0" r="15.5" fill="#FF8C42" stroke="#fff" stroke-width="2.5" filter="url(#bsh)"/><text x="434.0" y="161.0" text-anchor="middle" font-family="Space Mono, monospace" font-weight="700" font-size="14" fill="#fff">6</text></g></svg><figcaption>Single-ply flat roof · 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>Steel, concrete, or wood — we core-sample and assess the existing deck before we spec anything, because the whole assembly rides on it.</p></div></div><div class="rr-arow"><span class="num">02</span><div><h4>Polyiso insulation</h4><p>Rigid insulation board to the R-value your building and energy code require — tapered where needed to move water toward the drains.</p></div></div><div class="rr-arow"><span class="num">03</span><div><h4>Cover board</h4><p>A dense layer over the insulation that resists punctures, hail, and foot traffic — the toughness most low-bid roofs leave out.</p></div></div><div class="rr-arow"><span class="num">04</span><div><h4>Single-ply membrane</h4><p>TPO, PVC, or EPDM mechanically fastened or fully adhered to spec — the waterproof layer, installed to earn the manufacturer warranty.</p></div></div><div class="rr-arow"><span class="num">05</span><div><h4>Heat-welded seams</h4><p>On TPO and PVC, seams are hot-air welded into a single monolithic sheet — stronger than the membrane itself, and the #1 place cheap installs fail.</p></div></div><div class="rr-arow"><span class="num">06</span><div><h4>Flashing & parapet details</h4><p>Terminations, penetrations, drains, and parapet walls flashed right — the details that decide whether a flat roof lasts 25 years or leaks in 5.</p></div></div></div></div></div></section><section class="rr-reveal rr-section"><div class="rr-wrap"><div class="rr-feature rev"><div class="rr-feat-media"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2025/02/Untitled-2025-02-24T130638.308.jpg" alt="Commercial roof maintenance program" loading="lazy"/></div><div class="rr-feat-body"><span class="rr-eyebrow">Maintenance Program</span><h2>Maintenance that protects the asset.</h2><p>The cheapest roofing dollar you'll ever spend is maintenance. Our <a href="https://reasonablecontractingservices.com/commercial-roof-maintenance/">commercial maintenance program</a> turns the roof from a surprise expense into a managed, documented asset — with a file you can hand to ownership.</p><p><a href="https://www.nrca.net" target="_blank" rel="noopener">Two scheduled inspections a year</a>, a photo report after every visit, and priority response when something does go wrong — all while keeping your manufacturer warranty in force.</p><ul class="rr-feat-list"><li><b>Two inspections per year</b> — spring and fall, on schedule</li><li><b>Photo reports after every visit</b> — documentation you can forward</li><li><b>Priority leak scheduling</b> when a leak can't wait</li><li><b>Warranty compliance</b> that keeps manufacturer coverage in force</li><li><b>Budget forecasting</b> — know the capital timeline years out</li><li><b>Small fixes caught early</b> — before they become tenant claims</li></ul></div></div></div></section><section class="rr-reveal rr-section is-mist"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">Roofing Systems</span><h2>Commercial systems we install.</h2><p><a href="https://reasonablecontractingservices.com/flat-roof-materials-port-huron-michigan/">Single-ply, metal, and coatings</a> installed to manufacturer spec — plus expert repair and restoration for built-up and modified-bitumen roofs.</p></div><div class="rr-cards-grid"><div class="rr-card2"><div class="rr-card2-top"><h3>TPO Single-Ply</h3><span class="badge">Most Popular</span></div><p>Reflective, energy-efficient, heat-welded thermoplastic — the go-to for most <a href="https://reasonablecontractingservices.com/flat-roofing-company-port-huron/">commercial flat roofs</a>. See our <a href="https://reasonablecontractingservices.com/tpo-roofing-contractors/">TPO systems</a>.</p></div><div class="rr-card2"><div class="rr-card2-top"><h3>EPDM Rubber</h3><span class="badge">Proven</span></div><p>Durable <a href="https://reasonablecontractingservices.com/rubber-roofing-material-port-huron-michigan/">synthetic rubber</a> with a decades-long track record — dependable and economical for large low-slope roofs. See our <a href="https://reasonablecontractingservices.com/epdm-roofing-contractors/">EPDM systems</a>.</p></div><div class="rr-card2"><div class="rr-card2-top"><h3>PVC Single-Ply</h3><span class="badge">Chemical-Resistant</span></div><p>Hot-air-welded thermoplastic that shrugs off grease and chemicals — the spec for restaurants and industrial roofs. See our <a href="https://reasonablecontractingservices.com/pvc-roofing-contractors/">PVC systems</a>.</p></div><div class="rr-card2"><div class="rr-card2-top"><h3>BUR & Mod-Bit Repair</h3><span class="badge">Time-Tested</span></div><p>Expert repair and restoration for existing built-up and modified-bitumen roofs — we extend their life instead of defaulting to tear-off. See <a href="https://reasonablecontractingservices.com/bur-modified-bitumen-roof-repair/">BUR & mod-bit repair</a>.</p></div><div class="rr-card2"><div class="rr-card2-top"><h3>Metal Systems</h3><span class="badge">Longevity</span></div><p>Standing-seam and structural metal for buildings that want maximum lifespan and minimal upkeep. See our <a href="https://reasonablecontractingservices.com/commercial-metal-roofing/">metal systems</a>.</p></div><div class="rr-card2"><div class="rr-card2-top"><h3>Roof Coatings & Restoration</h3><span class="badge">Renew</span></div><p>Elastomeric and reflective coatings that restore a sound roof for a fraction of replacement cost — see our <a href="https://reasonablecontractingservices.com/flat-roof-coatings/">roof coatings</a>.</p></div></div></div></section><section class="rr-reveal rr-section is-mist"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">Industries Served</span><h2>Roofs for every industry.</h2><p>Retail to municipal, warehouse to worship — we've roofed them all across Michigan, and we know what each building type demands.</p></div><div class="rr-projects"><div class="rr-proj"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/06/2026-06-23-15-09-50-450.jpg" alt="Retail & Restaurants" loading="lazy"/><div class="cap"><h4>Retail & Restaurants</h4><span>Storefronts, plazas & QSR</span></div></div><div class="rr-proj"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/01/DJI_20251013132214_0194_D-scaled.jpg" alt="Office Buildings" loading="lazy"/><div class="cap"><h4>Office Buildings</h4><span>Single- and multi-tenant</span></div></div><div class="rr-proj"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2025/02/After1web.jpg" alt="Industrial & Warehouse" loading="lazy"/><div class="cap"><h4>Industrial & Warehouse</h4><span>Manufacturing & distribution</span></div></div><div class="rr-proj"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2022/03/Cambria-Hotel-Shelby-6-scaled.jpg" alt="Multifamily & Condo" loading="lazy"/><div class="cap"><h4>Multifamily & Condo</h4><span>Apartments, condos & HOAs</span></div></div><div class="rr-proj"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2021/03/Layer-649.jpg" alt="Municipal & Schools" loading="lazy"/><div class="cap"><h4>Municipal & Schools</h4><span>Public buildings & districts</span></div></div><div class="rr-proj"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2021/05/Double-Tree-3-scaled.jpg" alt="Churches & Nonprofits" loading="lazy"/><div class="cap"><h4>Churches & Nonprofits</h4><span>Stewardship-minded budgets</span></div></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 commercial roofing.</h2><p>From new installation to maintenance programs and leak repair — full lifecycle service for your building's most important asset.</p></div><div class="rr-pillars"><div class="rr-pillar"><div class="pidx">01</div><h3>New Commercial Installation</h3><div class="promise">Full TPO, EPDM, PVC, or metal systems installed to manufacturer spec on new and existing buildings.</div></div><div class="rr-pillar"><div class="pidx">02</div><h3>Tear-Off & Re-Roof</h3><div class="promise">Complete removal and replacement when an old roof is past restoration — deck assessed, insulation upgraded, new system installed.</div></div><div class="rr-pillar"><div class="pidx">03</div><h3>Commercial Roof Repair</h3><div class="promise">Leak repairs, seam and flashing fixes, and storm damage — fast response to protect inventory, equipment, and operations.</div></div><div class="rr-pillar"><div class="pidx">04</div><h3>Preventive Maintenance</h3><div class="promise">Two inspections a year with photo reports through our <a href="https://reasonablecontractingservices.com/commercial-roof-maintenance/">maintenance program</a> — the cheapest roofing dollar you'll spend.</div></div><div class="rr-pillar"><div class="pidx">05</div><h3>Roof Coatings & Restoration</h3><div class="promise">Elastomeric and <a href="https://coolroofs.org" target="_blank" rel="noopener">reflective coatings</a> that extend the life of a sound roof and cut cooling costs — without a full tear-off.</div></div><div class="rr-pillar"><div class="pidx">06</div><h3>Leak Detection & Repair</h3><div class="promise">We trace leaks on large roofs to their real source and get repairs scheduled fast — minimizing downtime and water damage.</div></div></div></div></section><section class="rr-reveal rr-ctaband"><div class="rr-wrap"><span class="ey">Commercial Roof Assessment</span><h3>Protect your building's most expensive asset.</h3><p>A roof assessment with core samples, a detailed system proposal, and scheduling that works around your operations — from a commercial-certified crew.</p><a class="rr-btn rr-btn-primary" href="https://reasonablecontractingservices.com/free-estimate/">Request a Commercial Roof Assessment →</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 commercial roof project works.</h2><p>Five steps from core-sample assessment to a maintenance plan — engineered, scheduled around you, and built to spec.</p></div><div class="rr-steps"><div class="rr-step"><div class="idx">01</div><div class="tick"></div><h3>Assessment & Core Sample</h3><p>We inspect the roof, take core samples to see what's really in the assembly, and identify the actual condition of the deck.</p></div><div class="rr-step"><div class="idx">02</div><div class="tick"></div><h3>Proposal & Specs</h3><p>A detailed proposal with system options, R-values, warranty tiers, and itemized pricing — written for owners and property managers, not guesswork.</p></div><div class="rr-step"><div class="idx">03</div><div class="tick"></div><h3>Schedule Around Operations</h3><p>We plan the work around your business hours, tenants, and access needs — so the roof gets done without shutting you down.</p></div><div class="rr-step"><div class="idx">04</div><div class="tick"></div><h3>Installation</h3><p>Our commercial-certified crews install to manufacturer spec, with the quality control the warranty — and your building — require.</p></div><div class="rr-step"><div class="idx">05</div><div class="tick"></div><h3>Maintenance Plan</h3><p>We hand off with a maintenance plan that protects your investment and keeps the manufacturer warranty in force.</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 commercial roofing 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><table class="rr-pricetable"><thead><tr><th>System</th><th>Planning Range</th><th>Best For</th></tr></thead><tbody><tr><td><a href="https://reasonablecontractingservices.com/tpo-roofing-contractors/">TPO</a></td><td class="pr">$7.50 – $12.50 / sq ft</td><td>The all-around single-ply — reflective, weldable, cost-effective.</td></tr><tr><td><a href="https://reasonablecontractingservices.com/epdm-roofing-contractors/">EPDM</a></td><td class="pr">$7 – $11.50 / sq ft</td><td>The proven rubber — 50+ year track record, famously repairable.</td></tr><tr><td><a href="https://reasonablecontractingservices.com/pvc-roofing-contractors/">PVC</a></td><td class="pr">$8.50 – $14 / sq ft</td><td>Restaurants, industrial, chemical exposure — the premium membrane.</td></tr><tr><td><a href="https://reasonablecontractingservices.com/commercial-metal-roofing/">Standing-Seam Metal</a></td><td class="pr">$12 – $20 / sq ft</td><td>Sloped commercial roofs built to a 40-year standard.</td></tr><tr><td><a href="https://reasonablecontractingservices.com/flat-roof-coatings/">Coating Restoration</a></td><td class="pr">$2.50 – $6.50 / sq ft</td><td>Qualifying roofs — roughly half the cost of replacement.</td></tr><tr><td><a href="https://reasonablecontractingservices.com/bur-modified-bitumen-roof-repair/">BUR / Mod-Bit Repair</a></td><td class="pr">$1,500 – $8,000 typical</td><td>Repair-first service for existing built-up and mod-bit roofs.</td></tr><tr><td><a href="https://reasonablecontractingservices.com/commercial-roof-maintenance/">RoofWatch Maintenance</a></td><td class="pr">$0.03 – $0.06 / sq ft / yr</td><td>Two visits a year, photo reports, budget forecasts.</td></tr></tbody></table><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">New to hiring commercial roofers? Read <a href="https://reasonablecontractingservices.com/how-to-vet-a-commercial-roofer/">how to vet a commercial roofer in Michigan</a> — the 10 questions that sort the pros from the pretenders. 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="4">0</span><span class="lbl">Commercial Certs</span><span class="sub">Firestone · IB · GAF · CertainTeed</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="16">0</span><span class="lbl">Counties Served</span><span class="sub">St. Clair to Kent</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 commercial roof isn't an expense you handle once — it's an asset you manage. Spec it right, install it certified, maintain it, and it protects the building for thirty years.”</p><p class="eb-s">Family-run since 1984 and certified by Firestone, IB, GAF, and CertainTeed. We install commercial systems to manufacturer spec, work around your operations, and back the job with warranties that actually mean something.</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 property managers choose us.</h2><p>Documentation, insurance, warranties, and references — everything a <a href="https://reasonablecontractingservices.com/roofing-for-property-managers/">property management company</a> needs on file, from one contractor.</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>Commercial-Certified</h3><p>Certified by Firestone, IB Roof Systems, GAF, and CertainTeed — the credentials that let us offer manufacturer system and NDL warranties most contractors can't.</p></div><div class="rr-value"><div class="ic"><svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></svg></div><h3>We Work Around You</h3><p>Tenants, inventory, operations, access — we schedule and stage the work so your building keeps running while the roof gets replaced.</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>Documentation on Every Job</h3><p>Photo reports, itemized proposals, certificates of insurance, and closeout packages — every job leaves a paper trail your ownership group can audit.</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>Manufacturer & NDL Warranties</h3><p>As a certified installer we offer manufacturer system warranties — including No-Dollar-Limit options — backed by quality-controlled installation.</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, trusted by property managers, GCs, and building owners across Michigan. We're still here when the warranty needs us.</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="M12 8v8M9.5 10.5h3.5a1.5 1.5 0 0 1 0 3h-2a1.5 1.5 0 0 0 0 3H14"/></svg></div><h3>Insured, Bonded & Referenced</h3><p>Full liability coverage and bonding on every project, with commercial references on request — property managers and owners who'll tell you how we run a job.</p></div></div></div></section><section class="rr-reveal rr-section"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">Commercial Division</span><h2>Led by 35 years on flat roofs.</h2></div><p>Jeff Hagan leads the Commercial Roofing Division at Reasonable. A third-generation builder with more than 35 years in the roofing trade, he has run commercial roof programs at every scale — from single-building repairs to multi-million-dollar installations — and specializes in matching low-slope systems (TPO, EPDM, PVC, metal) to the building, its use, and its budget, rather than selling one membrane for everything.</p><p>Jeff runs point on every commercial project personally: the first walk, the system spec, installation oversight, and manufacturer warranty registration. Reach him through either office — Port Huron <a href="tel:8109843420">(810) 984-3420</a> or Troy <a href="tel:2488003269">(248) 800-3269</a>.</p></div></section><section class="rr-reveal rr-section"><div class="rr-wrap"><p><strong>Factory-certified across the low-slope spectrum:</strong> Elevate (Firestone) · GenFlex · Mule-Hide · IB Roof Systems · GAF · Gaco silicone coatings.</p></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 is-mist"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">Selected Commercial Work</span><h2>Roofs you can drive past.</h2></div><p>A sample of the commercial projects our team has delivered across Michigan:</p><ul><li><strong>Ann Arbor VA Hospital</strong> (with Saylor Construction) — fully adhered EPDM, adhered insulation, metals, wall panels</li><li><strong>Regal Cinema, Lansing Mall</strong> (with VCC Construction) — fully adhered EPDM, mechanically attached insulation, metals</li><li><strong>Country Club of Detroit</strong>, Grosse Pointe Farms — premium shingles, standing-seam copper</li><li><strong>Cedarbrook of Bloomfield Hills</strong> (with Damone Construction) — fully adhered EPDM, full tapered insulation, premium shingles, metals</li><li><strong>Lourdes Rehabilitation</strong>, Waterford (with Frank Rewold & Son) — fully adhered EPDM, full tapered insulation, metals</li><li><strong>Bluewater Counseling</strong>, Fort Gratiot Township — Firestone 60-mil TPO with tapered insulation</li><li><strong>Wright Plastic</strong> — Elevate (Firestone) 60-mil TPO roof system</li><li>Plus churches, condominium communities, and downtown commercial blocks from Port Huron to Detroit — including Griswold Street Baptist Church, Bethel Lutheran, Edison Shores Place, and Lamplighter Condominiums</li></ul><p>Owner and general-contractor references available on request — and yes, you can call them.</p></div></section><section class="rr-reveal rr-section"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">Commercial Roofing FAQ</span><h2>Commercial roofing FAQs.</h2></div><div class="rr-faq-list"><div class="rr-qa"><button class="rr-qa-q" type="button">How fast can you respond to a commercial roof leak?<span class="mk"></span></button><div class="rr-qa-a"><div class="inner">Active leaks over inventory, equipment, or tenants go to the front of the schedule, and maintenance-program buildings get priority. Call (810) 984-3420 — we'll get eyes on the roof and document the damage for your file.</div></div></div><div class="rr-qa"><button class="rr-qa-q" type="button">Do you work with property management companies?<span class="mk"></span></button><div class="rr-qa-a"><div class="inner">Every week. We handle multi-building portfolios, provide COIs and photo documentation on every job, and give your office one point of contact from assessment to closeout. See our <a href="https://reasonablecontractingservices.com/roofing-for-property-managers/">roofing for property managers</a> page for how we structure it.</div></div></div><div class="rr-qa"><button class="rr-qa-q" type="button">Which commercial roofing systems do you install?<span class="mk"></span></button><div class="rr-qa-a"><div class="inner">We install TPO, EPDM, and PVC single-ply systems plus standing-seam and structural metal. For existing built-up (BUR) and modified-bitumen roofs, we specialize in repair and restoration that extends their life. We spec the system to your building, not the other way around.</div></div></div><div class="rr-qa"><button class="rr-qa-q" type="button">Should I coat my roof or replace it?<span class="mk"></span></button><div class="rr-qa-a"><div class="inner">If the membrane is sound and the insulation is dry, a restoration coating can add 10–15 years for a fraction of <a href="https://reasonablecontractingservices.com/roof-replacement-cost-michigan/">replacement cost</a>. If the assembly is saturated or the seams are failing, a coating just buries the problem. We core-sample first, then tell you which side of the line you're on.</div></div></div><div class="rr-qa"><button class="rr-qa-q" type="button">What does your maintenance program include?<span class="mk"></span></button><div class="rr-qa-a"><div class="inner">Two scheduled inspections a year, a photo report after every visit, priority leak scheduling, warranty-compliance documentation, and budget forecasting for the roof's capital timeline — details on our <a href="https://reasonablecontractingservices.com/commercial-roof-maintenance/">commercial roof maintenance</a> page.</div></div></div><div class="rr-qa"><button class="rr-qa-q" type="button">What warranties do you offer on commercial roofs?<span class="mk"></span></button><div class="rr-qa-a"><div class="inner">As a Firestone, IB, GAF, and CertainTeed certified contractor, we offer manufacturer system warranties — including No-Dollar-Limit (NDL) options on qualifying systems — plus our own workmanship guarantee.</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>Commercial roofing across Michigan.</h2><p>With offices in Port Huron and Troy, we serve building owners and property managers statewide. 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>Time to address your commercial roof?</h2><p>Request a consultation — we'll core-sample the assembly, assess the deck, and give you a detailed system proposal and honest timeline, scheduled around your operations.</p><div class="rr-hero-ctas"><a href="https://reasonablecontractingservices.com/free-estimate/" class="rr-btn rr-btn-primary">Request a Commercial 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">Roof Assessment</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 commercial-roofing --><script type="application/ld+json">{"@context": "https://schema.org", "@type": "Service", "serviceType": "Commercial Roofing", "name": "Commercial 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": "Commercial roofing across Michigan — TPO, PVC, EPDM single-ply and metal systems installed, plus BUR and modified bitumen repair, coatings, and maintenance programs, by a Firestone, IB Roof Systems, GAF, and CertainTeed certified contractor with NDL warranties. Since 1984.", "offers": {"@type": "Offer", "priceRange": "$$"}}</script><script type="application/ld+json">{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "How fast can you respond to a commercial roof leak?", "acceptedAnswer": {"@type": "Answer", "text": "Active leaks over inventory, equipment, or tenants go to the front of the schedule, and maintenance-program buildings get priority. Call (810) 984-3420 - we'll get eyes on the roof and document the damage for your file."}}, {"@type": "Question", "name": "Do you work with property management companies?", "acceptedAnswer": {"@type": "Answer", "text": "Every week. We handle multi-building portfolios, provide COIs and photo documentation on every job, and give your office one point of contact from assessment to closeout. See our roofing for property managers page for how we structure it."}}, {"@type": "Question", "name": "Which commercial roofing systems do you install?", "acceptedAnswer": {"@type": "Answer", "text": "We install TPO, EPDM, and PVC single-ply systems plus standing-seam and structural metal. For existing built-up (BUR) and modified-bitumen roofs, we specialize in repair and restoration that extends their life. We spec the system to your building, not the other way around."}}, {"@type": "Question", "name": "Should I coat my roof or replace it?", "acceptedAnswer": {"@type": "Answer", "text": "If the membrane is sound and the insulation is dry, a restoration coating can add 10-15 years for a fraction of replacement cost. If the assembly is saturated or the seams are failing, a coating just buries the problem. We core-sample first, then tell you which side of the line you're on."}}, {"@type": "Question", "name": "What does your maintenance program include?", "acceptedAnswer": {"@type": "Answer", "text": "Two scheduled inspections a year, a photo report after every visit, priority leak scheduling, warranty-compliance documentation, and budget forecasting for the roof's capital timeline - details on our commercial roof maintenance page."}}, {"@type": "Question", "name": "What warranties do you offer on commercial roofs?", "acceptedAnswer": {"@type": "Answer", "text": "As a Firestone, IB, GAF, and CertainTeed certified contractor, we offer manufacturer system warranties - including No-Dollar-Limit (NDL) options on qualifying systems - plus our own workmanship guarantee."}}]}</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":"$$","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><script type="application/ld+json">{"@context": "https://schema.org", "@type": "Person", "name": "Jeff Hagan", "jobTitle": "Commercial Roofing Division Lead", "worksFor": {"@type": "RoofingContractor", "name": "Reasonable Contracting Services", "url": "https://reasonablecontractingservices.com/"}, "description": "Third-generation builder with more than 35 years in the roofing trade, leading the Commercial Roofing Division at Reasonable.", "knowsAbout": ["Commercial roofing", "Flat roof systems", "TPO", "EPDM", "PVC", "Roof coatings", "BUR and modified bitumen"], "url": "https://reasonablecontractingservices.com/commercial-roofing/"}</script>
```
