# Service &\#8211; Skylight Installation

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* ===== font lock (beat Divi theme fonts) ===== */
.rr, .rr p, .rr li, .rr a, .rr span, .rr div, .rr button, .rr input{font-family:'Public Sans',system-ui,-apple-system,sans-serif !important}
.rr h1, .rr h2, .rr h3, .rr h4, .rr .rr-offer-tag, .rr .rr-hero-offer .pct, .rr .rr-cmp .lbl, .rr .num{font-family:'Archivo',sans-serif !important}
.rr .rr-hero-eyebrow, .rr .rr-step .idx, .rr .rr-cmp .pin, .rr .ph-label, .rr .rr-hero-offer .ey{font-family:'Space Mono',monospace !important}
.rr .rr-quote blockquote{font-family:'Newsreader',serif !important}
/* ===== hero featured-offer card (full hero, right column) ===== */
.rr .rr-hero-offer{background:#fff;border-radius:var(--r-lg);padding:32px;box-shadow:var(--shadow-lg);color:var(--slate);text-align:center}
.rr .rr-hero-offer .ey{font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--royal)}
.rr .rr-hero-offer .pct{font-weight:800;font-size:64px;color:var(--navy);line-height:1;margin:10px 0 4px}
.rr .rr-hero-offer .pct small{font-size:24px;color:var(--royal);vertical-align:super}
.rr .rr-hero-offer h3{font-size:20px}
.rr .rr-hero-offer .or{margin:18px 0;font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--cool-grey);text-transform:uppercase;position:relative}
.rr .rr-hero-offer .or::before,.rr .rr-hero-offer .or::after{content:"";position:absolute;top:50%;width:34%;height:1px;background:var(--line-cool)}
.rr .rr-hero-offer .or::before{left:0}.rr .rr-hero-offer .or::after{right:0}
.rr .rr-hero-offer .fin{font-size:15px;color:var(--slate-grey)}
.rr .rr-hero-offer .fin b{color:var(--navy)}
.rr .rr-hero-offer .rr-btn{width:100%;justify-content:center;margin-top:20px}
.rr .rr-hero-offer .fine{font-size:11.5px;color:var(--cool-grey);margin-top:14px}
/* ===== robust 2-up services (never stack on desktop) ===== */
.rr-specials .rr-services-grid{display:grid !important;grid-template-columns:1fr 1fr !important;gap:24px}.rr-specials .rr-services-grid>.rr-card{min-width:0}.rr-specials .rr-final{margin-bottom:0 !important}
@media(max-width:620px){.rr-services-grid{grid-template-columns:1fr !important}}
.rr .rr-card .img img{width:100%;height:100%;object-fit:cover}
/* MOBILE-OPT v1 — homepage parity: center hero + hide trust pills on phone */@media(max-width:980px){.rr .rr-hero-left{text-align:center}.rr .rr-hero .rr-tagline-rule{margin-left:auto;margin-right:auto}.rr .rr-hero .rr-sub{margin-left:auto;margin-right:auto}.rr .rr-hero .rr-hero-ctas{justify-content:center}.rr .rr-hero .rr-trustline{justify-content:center}.rr .rr-hero .rr-trustline .trust-pills{justify-content:center}}@media(max-width:620px){.rr .rr-hero .rr-trustline .trust-pills{display:none}.rr .rr-hero .rr-sub{font-size:16px}}</style><style>.rr .rr-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.rr .rr-card2{background:#fff;border:1px solid var(--line-cool);border-radius:var(--r-md);padding:26px;transition:.2s ease}.rr .rr-card2:hover{border-color:var(--sky);box-shadow:var(--shadow-md);transform:translateY(-3px)}.rr .rr-card2-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}.rr .rr-card2-top h3{font-size:19px}.rr .rr-card2 .badge{font-family:'Space Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--royal);background:rgba(106,159,219,.14);border-radius:999px;padding:5px 12px;white-space:nowrap}.rr .rr-card2 p{color:var(--slate-grey);font-size:15px;line-height:1.6}.rr .rr-card2 p a{color:var(--royal);font-weight:600;text-decoration:none}@media(max-width:900px){.rr .rr-cards-grid{grid-template-columns:1fr 1fr}}@media(max-width:580px){.rr .rr-cards-grid{grid-template-columns:1fr}}.rr .rr-signs{display:grid;grid-template-columns:1fr 1fr;gap:20px}.rr .rr-sign{display:flex;gap:16px;background:#fff;border:1px solid var(--line-cool);border-radius:var(--r-md);padding:24px}.rr .rr-sign .sk{flex-shrink:0;width:42px;height:42px;border-radius:11px;background:rgba(255,140,66,.12);display:flex;align-items:center;justify-content:center}.rr .rr-sign .sk svg{width:22px;height:22px;stroke:var(--orange-deep);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.rr .rr-sign h3{font-size:16.5px}.rr .rr-sign p{margin-top:6px;color:var(--slate-grey);font-size:14.5px;line-height:1.6}@media(max-width:760px){.rr .rr-signs{grid-template-columns:1fr}}.rr .rr-values{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.rr .rr-value{background:#fff;border:1px solid var(--line-cool);border-radius:var(--r-md);padding:28px}.rr .rr-value .ic{width:46px;height:46px;border-radius:12px;background:rgba(106,159,219,.14);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.rr .rr-value .ic svg{width:23px;height:23px;stroke:var(--royal);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.rr .rr-value h3{font-size:18px}.rr .rr-value p{margin-top:8px;color:var(--slate-grey);font-size:15px;line-height:1.6}.rr .rr-value p a{color:var(--royal);font-weight:600;text-decoration:none}@media(max-width:880px){.rr .rr-values{grid-template-columns:1fr 1fr}}@media(max-width:560px){.rr .rr-values{grid-template-columns:1fr}}.rr .rr-areas{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.rr .rr-area .cty{font-family:'Archivo',sans-serif;font-weight:800;font-size:16px;color:var(--navy);text-decoration:none;display:block;border-bottom:1px solid var(--line-cool);padding-bottom:8px}.rr .rr-area .cty:hover{color:var(--royal)}.rr .rr-area p{margin-top:10px;color:var(--slate-grey);font-size:13px;line-height:1.9}.rr .rr-area p a{color:var(--slate-grey);text-decoration:none;border-bottom:1px solid var(--line-cool);transition:.15s ease}.rr .rr-area p a:hover{color:var(--royal);border-bottom-color:var(--royal)}@media(max-width:980px){.rr .rr-areas{grid-template-columns:1fr 1fr 1fr}}@media(max-width:620px){.rr .rr-areas{grid-template-columns:1fr 1fr}}.rr .rr-prose{max-width:780px;margin:0 auto;color:var(--slate-grey);font-size:17px;line-height:1.8}.rr .rr-prose b{color:var(--navy)}.rr .rr-prose a{color:var(--royal);font-weight:600;text-decoration:none}.rr .rr-prose+.rr-prose{margin-top:18px}.rr .rr-hero-form .frm_forms input[type=text],.rr .rr-hero-form .frm_forms input[type=email],.rr .rr-hero-form .frm_forms input[type=tel],.rr .rr-hero-form .frm_forms input[type=number],.rr .rr-hero-form .frm_forms select,.rr .rr-hero-form .frm_forms textarea{width:100%;font-family:'Public Sans',system-ui,sans-serif;font-size:15px;color:var(--slate);background:var(--offwhite);border:1.5px solid var(--line-cool);border-radius:var(--r-sm);padding:13px 14px;box-sizing:border-box;margin-bottom:0}.rr .rr-hero-form .frm_forms input:focus,.rr .rr-hero-form .frm_forms select:focus,.rr .rr-hero-form .frm_forms textarea:focus{outline:none;border-color:var(--royal);background:#fff;box-shadow:0 0 0 3px rgba(53,94,164,.12)}.rr .rr-hero-form .frm_forms .frm_submit button,.rr .rr-hero-form .frm_forms .frm_button_submit{width:100%;font-family:'Public Sans',sans-serif;font-weight:700;font-size:16px;color:#fff !important;background:var(--royal) !important;border:none !important;border-radius:var(--r-sm) !important;padding:15px;cursor:pointer;transition:.18s ease}.rr .rr-hero-form .frm_forms .frm_submit button:hover,.rr .rr-hero-form .frm_forms .frm_button_submit:hover{background:#2A5BAE !important}.rr .rr-hero-form .frm_forms,.rr .rr-hero-form form{margin:0;padding:0}.rr .rr-hero-form .frm_form_field{width:100%;margin:0 0 12px}.rr .rr-hero-form .frm_primary_label{font-weight:600;color:var(--slate);font-size:14px;margin-bottom:5px;display:block}.rr .rr-hero-form .frm_forms select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A6672' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:40px}.rr .rr-hero-form .frm_forms input::placeholder,.rr .rr-hero-form .frm_forms textarea::placeholder{color:var(--cool-grey);opacity:1}</style><div class="rr rr-specials"><style>.rr-js .rr-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.rr-js .rr-reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.rr-js .rr-reveal{opacity:1 !important;transform:none !important;transition:none}}.rr .rr-ana-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:46px;align-items:center}.rr .rr-spec-fig{margin:0;background:#fff;border:1px solid var(--line-cool);border-radius:18px;padding:24px;box-shadow:var(--shadow-md)}.rr .rr-spec-fig svg{width:100%;height:auto;display:block}.rr .rr-spec-fig figcaption{margin-top:12px;text-align:center;font-family:'Space Mono',monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--cool-grey)}.rr .rr-spec-tag{display:inline-block;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-deep);margin-bottom:10px}.rr .rr-arow{display:flex;gap:16px;padding:17px 0;border-top:1px solid var(--line-cool)}.rr .rr-arow .num{flex-shrink:0;width:27px;height:27px;border-radius:50%;background:var(--orange);color:#fff;font-family:'Space Mono',monospace;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.rr .rr-arow h4{font-family:'Archivo',sans-serif;font-weight:700;font-size:16.5px;color:var(--navy);margin-bottom:4px}.rr .rr-arow p{color:var(--slate-grey);font-size:14px;line-height:1.55}@media(max-width:860px){.rr .rr-ana-grid{grid-template-columns:1fr;gap:26px}}.rr .rr-svcstats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.rr .rr-svcstat{background:#fff;border:1px solid var(--line-cool);border-radius:16px;padding:30px 16px;text-align:center}.rr .rr-svcstatnum{font-family:'Archivo',sans-serif;font-weight:800;font-size:46px;line-height:1;color:var(--navy);letter-spacing:-.02em;display:inline-block}.rr .rr-svcstat .star{font-family:'Archivo',sans-serif;font-size:30px;color:var(--orange);display:inline-block;margin-left:1px;vertical-align:2px}.rr .rr-svcstat .lbl{display:block;margin-top:12px;font-family:'Archivo',sans-serif;font-weight:700;font-size:15px;color:var(--slate)}.rr .rr-svcstat .sub{display:block;margin-top:3px;font-size:12.5px;color:var(--cool-grey)}@media(max-width:760px){.rr .rr-svcstats{grid-template-columns:1fr 1fr;gap:14px}.rr .rr-svcstatnum{font-size:40px}}.rr .rr-ctable{border:1px solid var(--line-cool);border-radius:16px;overflow:hidden;background:#fff;box-shadow:var(--shadow-md)}.rr .rr-ctrow{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.7fr;align-items:center}.rr .rr-ctrow>div{padding:18px 20px;border-bottom:1px solid var(--line-cool);font-size:15px;color:var(--slate-grey)}.rr .rr-cthead>div{background:var(--navy);color:#fff;font-family:'Archivo',sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;border-bottom:none}.rr .rr-ctrow .m{font-family:'Archivo',sans-serif;font-weight:700;color:var(--navy);font-size:16px}.rr .rr-ctrow .ls,.rr .rr-ctrow .ct{font-family:'Space Mono',monospace;color:var(--navy);font-size:14px}.rr .rr-ctrow.pick>div{background:rgba(255,140,66,.06)}.rr .rr-ctrow.pick .m{box-shadow:inset 3px 0 0 var(--orange)}.rr .rr-ctrow .pill{display:inline-block;font-family:'Space Mono',monospace;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--orange-deep);background:rgba(255,140,66,.15);border-radius:999px;padding:3px 8px;margin-left:8px;vertical-align:middle}.rr .rr-ctrow:last-child>div{border-bottom:none}.rr .rr-ctable .cl{display:none;font-family:'Space Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--cool-grey);margin-right:8px}@media(max-width:760px){.rr .rr-cthead{display:none}.rr .rr-ctrow{grid-template-columns:1fr;border-bottom:7px solid var(--offwhite)}.rr .rr-ctrow:last-child{border-bottom:none}.rr .rr-ctrow>div{border-bottom:1px solid var(--line-cool);padding:11px 18px}.rr .rr-ctrow .m{padding-top:15px}.rr .rr-ctable .cl{display:inline-block}.rr .rr-ctrow.pick .m{box-shadow:inset 0 3px 0 var(--orange)}}.rr .rr-ror{display:grid;grid-template-columns:1fr 1fr;gap:22px}.rr .rr-ror-card{background:#fff;border:1px solid var(--line-cool);border-radius:16px;padding:30px;box-shadow:var(--shadow-md)}.rr .rr-ror-tag{display:inline-block;font-family:'Space Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:999px;margin-bottom:12px}.rr .rr-ror-card.rep .rr-ror-tag{color:#1f7a52;background:rgba(46,158,107,.13)}.rr .rr-ror-card.rep2 .rr-ror-tag{color:var(--orange-deep);background:rgba(255,140,66,.15)}.rr .rr-ror-card h3{font-family:'Archivo',sans-serif;font-weight:800;font-size:20px;color:var(--navy);margin-bottom:14px}.rr .rr-ror-card ul{list-style:none;margin:0;padding:0}.rr .rr-ror-card li{position:relative;padding:10px 0 10px 30px;font-size:14.5px;color:var(--slate-grey);line-height:1.5;border-top:1px solid var(--line-cool)}.rr .rr-ror-card li:first-child{border-top:none}.rr .rr-ror-card li:before{position:absolute;left:0;top:9px;font-family:'Archivo',sans-serif;font-weight:700;font-size:15px}.rr .rr-ror-card.rep li:before{content:'\2713';color:#2e9e6b}.rr .rr-ror-card.rep2 li:before{content:'\21BB';color:var(--orange-deep)}@media(max-width:760px){.rr .rr-ror{grid-template-columns:1fr}}.rr .rr-edband{background:#15314F;padding:74px 0;text-align:center}.rr .rr-edband .rr-wrap{max-width:880px}.rr .rr-edband .eb-ey{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange)}.rr .rr-edband .eb-q{font-family:'Newsreader',Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(24px,3.4vw,37px);line-height:1.32;color:#fff;margin:20px 0 20px}.rr .rr-edband .eb-s{color:#bccadb;font-size:16px;line-height:1.75;max-width:640px;margin:0 auto}.rr .rr-ctaband{padding:70px 0;background:var(--offwhite);border-top:1px solid var(--line-cool);border-bottom:1px solid var(--line-cool);text-align:center}.rr .rr-ctaband .rr-wrap{max-width:720px}.rr .rr-ctaband .ey{display:inline-block;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-deep);margin-bottom:16px}.rr .rr-ctaband h3{font-family:'Archivo',sans-serif;font-weight:800;font-size:clamp(26px,3.3vw,34px);color:var(--navy);letter-spacing:-.025em;line-height:1.16}.rr .rr-ctaband p{color:var(--slate-grey);font-size:16px;line-height:1.6;margin:16px auto 28px;max-width:560px}.rr .rr-ctaband .rr-btn-primary{white-space:nowrap}.rr .rr-locserv{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.rr .rr-locserv a{display:block;background:#fff;border:1px solid var(--line-cool);border-radius:var(--r-md);padding:24px;text-decoration:none;transition:.2s ease}.rr .rr-locserv a:hover{border-color:var(--sky);box-shadow:var(--shadow-md);transform:translateY(-3px)}.rr .rr-locserv .ic{width:44px;height:44px;border-radius:11px;background:rgba(106,159,219,.14);display:flex;align-items:center;justify-content:center;margin-bottom:14px}.rr .rr-locserv .ic svg{width:22px;height:22px;stroke:var(--royal);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.rr .rr-locserv h3{font-size:18px;color:var(--navy);margin-bottom:6px}.rr .rr-locserv p{color:var(--slate-grey);font-size:14.5px;line-height:1.55}.rr .rr-locserv .go{display:inline-block;margin-top:10px;font-family:'Space Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--royal)}@media(max-width:880px){.rr .rr-locserv{grid-template-columns:1fr 1fr}}@media(max-width:560px){.rr .rr-locserv{grid-template-columns:1fr}}.rr .rr-chips{display:flex;flex-wrap:wrap;gap:10px}.rr .rr-chips a{display:inline-block;background:#fff;border:1px solid var(--line-cool);border-radius:999px;padding:9px 16px;font-size:14px;font-weight:600;color:var(--navy);text-decoration:none;transition:.15s ease}.rr .rr-chips a:hover{border-color:var(--royal);color:var(--royal);box-shadow:var(--shadow-sm)}.rr .rr-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.rr .rr-proj{position:relative;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line-cool);box-shadow:var(--shadow-md);aspect-ratio:4/3;background:var(--navy)}.rr .rr-proj img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.rr .rr-proj:hover img{transform:scale(1.06)}.rr .rr-proj .cap{position:absolute;left:0;right:0;bottom:0;padding:16px 16px 14px;background:linear-gradient(to top,rgba(15,30,45,.92),rgba(15,30,45,.4) 55%,rgba(15,30,45,0))}.rr .rr-proj .cap h4{font-family:'Archivo',sans-serif;font-weight:700;font-size:16px;color:#fff}.rr .rr-proj .cap span{display:block;margin-top:3px;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:#bcd6ea}@media(max-width:880px){.rr .rr-projects{grid-template-columns:1fr 1fr}}@media(max-width:560px){.rr .rr-projects{grid-template-columns:1fr}}.rr .rr-creds{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.rr .rr-cred{background:#fff;border:1px solid var(--line-cool);border-radius:var(--r-md);padding:22px 14px 20px;text-align:center;display:flex;flex-direction:column;align-items:center}.rr .rr-cred-logo{height:56px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}.rr .rr-cred-logo img{max-height:56px;max-width:100%;width:auto;object-fit:contain;display:block}.rr .rr-cred h4{font-family:'Archivo',sans-serif;font-weight:700;font-size:13px;color:var(--navy);line-height:1.3}.rr .rr-cred p{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--cool-grey);margin-top:5px}@media(max-width:860px){.rr .rr-creds{grid-template-columns:1fr 1fr 1fr}}@media(max-width:520px){.rr .rr-creds{grid-template-columns:1fr 1fr}}.rr .rr-feature{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}.rr .rr-feat-media{border-radius:18px;overflow:hidden;border:1px solid var(--line-cool);box-shadow:var(--shadow-md);aspect-ratio:4/3}.rr .rr-feat-media img{width:100%;height:100%;object-fit:cover;display:block}.rr .rr-feature.rev .rr-feat-media{order:2}.rr .rr-feat-body h2{font-family:'Archivo',sans-serif;font-weight:800;font-size:clamp(24px,3vw,32px);color:var(--navy);letter-spacing:-.02em;line-height:1.14;margin:8px 0 14px}.rr .rr-feat-body>p{color:var(--slate-grey);font-size:16px;line-height:1.7;margin-bottom:18px}.rr .rr-feat-list{list-style:none;margin:0;padding:0}.rr .rr-feat-list li{position:relative;padding:9px 0 9px 30px;color:var(--slate-grey);font-size:15px;line-height:1.5;border-top:1px solid var(--line-cool)}.rr .rr-feat-list li:first-child{border-top:none}.rr .rr-feat-list li:before{content:'\2713';position:absolute;left:0;top:9px;color:var(--orange-deep);font-weight:700}.rr .rr-feat-list li b{color:var(--navy)}@media(max-width:820px){.rr .rr-feature{grid-template-columns:1fr;gap:24px}.rr .rr-feature.rev .rr-feat-media{order:0}}.rr .rr-spec-fig svg .rr-hot{cursor:pointer;transition:transform .25s cubic-bezier(.34,1.56,.64,1),opacity .25s ease;transform-box:fill-box;transform-origin:center}.rr .rr-spec-fig svg .rr-hot-on{transform:scale(1.28);filter:drop-shadow(0 1px 5px rgba(214,109,38,.65))}.rr .rr-spec-fig svg .rr-hot-dim{opacity:.3}.rr .rr-spec-fig{position:relative}.rr .rr-spec-hint{position:absolute;top:14px;right:16px;font-family:'Space Mono',monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--cool-grey);background:var(--offwhite);border:1px solid var(--line-cool);border-radius:999px;padding:5px 11px;pointer-events:none;transition:opacity .4s ease}.rr .rr-spec-hint.hide{opacity:0}.rr .rr-spec-list .rr-arow{cursor:pointer;transition:background .22s ease,opacity .22s ease,box-shadow .22s ease;padding-left:14px;margin-left:-14px;border-radius:0 10px 10px 0}.rr .rr-spec-list .rr-arow.rr-row-on{background:rgba(255,140,66,.08);box-shadow:inset 4px 0 0 var(--orange)}.rr .rr-spec-list .rr-arow.rr-row-dim{opacity:.5}.rr .rr-spec-list .rr-arow .num{transition:transform .2s ease,box-shadow .2s ease}.rr .rr-spec-list .rr-arow.rr-row-on .num{transform:scale(1.14);box-shadow:0 0 0 4px rgba(255,140,66,.2)}.rr .rr-spec-list .rr-arow.rr-row-on h4{color:var(--orange-deep)}.rr .rr-arow:focus,.rr .rr-spec-fig svg .rr-hot:focus{outline:none}@media(prefers-reduced-motion:reduce){.rr .rr-spec-fig svg .rr-hot{transition:none}}</style><script>document.documentElement.classList.add("rr-js");</script><section class="rr-hero" style="background:linear-gradient(100deg,rgba(14,25,36,.86) 0%,rgba(20,46,71,.68) 45%,rgba(20,46,71,.34) 100%),url('https://reasonablecontractingservices.com/wp-content/uploads/2025/09/Untitled-2025-09-26T154421.618.jpg') center/cover no-repeat"><div class="rr-wrap"><div class="rr-hero-grid"><div class="rr-hero-left"><div class="rrs-m rrs-band"><img src="https://reasonablecontractingservices.com/wp-content/uploads/2026/10/reasonable-skylight-install.jpg" class="skip-lazy" loading="eager" fetchpriority="high" decoding="sync" alt="Reasonable Roofing installer fitting three Velux skylights into a Michigan shingle roof" srcset="https://reasonablecontractingservices.com/wp-content/uploads/2026/10/reasonable-skylight-install-480x479.jpg 480w, https://reasonablecontractingservices.com/wp-content/uploads/2026/10/reasonable-skylight-install-510x382.jpg 510w, https://reasonablecontractingservices.com/wp-content/uploads/2026/10/reasonable-skylight-install-768x767.jpg 768w, https://reasonablecontractingservices.com/wp-content/uploads/2026/10/reasonable-skylight-install-980x979.jpg 980w, https://reasonablecontractingservices.com/wp-content/uploads/2026/10/reasonable-skylight-install-1024x1024.jpg 1024w, https://reasonablecontractingservices.com/wp-content/uploads/2026/10/reasonable-skylight-install-1080x1079.jpg 1080w, https://reasonablecontractingservices.com/wp-content/uploads/2026/10/reasonable-skylight-install-1280x1278.jpg 1280w, https://reasonablecontractingservices.com/wp-content/uploads/2026/10/reasonable-skylight-install.jpg 1440w" 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">Natural Light · Leak-Proof Flashing</div><h1>Skylight installation, flashed to never leak.</h1><div class="rr-tagline-rule"></div><div class="rr-hero-services">Roofing · Siding · Gutters · Windows · Doors · Storm Restoration</div><p class="rr-sub">Bring daylight, fresh air, and a view into any room — installed by roofers who flash the opening right, so the skylight becomes a watertight part of your roof instead of a hole in it.</p><div class="rr-hero-ctas"><a class="rr-btn rr-btn-ghost" href="tel:8109843420">Call (810) 984-3420</a></div><div class="rr-trustline"><div class="g-rating"><span class="rr-stars">★★★★★</span> <span data-rr-live="avg">4.8</span> · <span data-rr-live="total">255</span> Reviews</div><div class="trust-pills"><div class="item">Fixed, Vented & Solar</div><div class="item">Leak-Proof Flashing</div></div></div></div><div class="rr-hero-form" id="estimate"><div class="fh"><span class="rrs-m rrs-eyebrow">Free, no-obligation estimate</span><h3>Get your free skylight estimate</h3><p>Tell us about your project — we'll be in touch within one business day.</p></div>

Service Type Form Fill

GET IN TOUCH

If you are human, leave this field blank.			

<div class="privacy">No spam, ever. Your details are used only to prepare your estimate.</div></div></div></div></section><div class="rr-badgebar"><div class="rr-wrap"><div class="row"><div class="rr-badge"><span class="dot"></span><strong>Since 1984</strong></div><div class="rr-badge"><span class="dot"></span>Fixed, Vented & Solar</div><div class="rr-badge"><span class="dot"></span>Leak-Proof Flashing</div><div class="rr-badge"><span class="dot"></span>Workmanship Warranty</div><div class="rr-badge"><span class="dot"></span><span data-rr-live="avg">4.8</span>★ <span data-rr-live="total">255</span> Reviews</div></div></div></div><section class="rr-reveal rr-section"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">Skylight Specialists</span><h2>Light done right, sealed for good.</h2></div><p class="rr-prose">A skylight transforms a dark room — more natural light, better ventilation, a view of the sky, and real added value to your home. Done right, it does all that for decades without a single drop of water getting in.</p><p class="rr-prose">Done wrong, it's the most notorious leak source on a roof. The difference is entirely in the flashing. We're <b>roofers</b>, not handymen with a saw — we install the full metal flashing kit, wrap the opening in ice-and-water membrane, and weave the shingles back in so the skylight sheds water like the rest of the roof.</p><p class="rr-prose">Fixed, vented, solar-powered, or a sun tunnel for an interior room — we'll match the type to your space and finish the interior shaft so it looks built-in. The ideal time to add one is during a <a href="https://reasonablecontractingservices.com/roofing-contractors/">roof replacement</a>, but we install into existing roofs every week.</p></div></section><section class="rr-reveal rr-section rr-spec is-mist"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">How We Build It</span><h2>Anatomy of a leak-proof skylight.</h2><p>A skylight is a penetration through your roof — the only thing standing between daylight and a leak is how it's flashed and sealed. Here's exactly how we make it watertight.</p></div><div class="rr-ana-grid"><figure class="rr-spec-fig"><svg viewBox="0 0 660 500" role="img" aria-label="Isometric roof with a flashed skylight" 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="296" cy="388" rx="214" ry="40" fill="#1f3050" opacity="0.10"/><path d="M112.0 250.0 L296.0 342.0 L296.0 360.0 L112.0 268.0 Z" fill="#4c5660" stroke="#23344a" stroke-width="1.2" stroke-linejoin="round"/><path d="M296.0 342.0 L480.0 250.0 L480.0 255.8 L296.0 347.8 Z" fill="#4c5660" stroke="#23344a" stroke-width="0.8" stroke-linejoin="round"/><path d="M296.0 347.8 L480.0 255.8 L480.0 259.7 L296.0 351.7 Z" fill="#9badbf" stroke="#23344a" stroke-width="0.8" stroke-linejoin="round"/><path d="M296.0 351.7 L480.0 259.7 L480.0 263.7 L296.0 355.7 Z" fill="#2e373f" stroke="#23344a" stroke-width="0.8" stroke-linejoin="round"/><path d="M296.0 355.7 L480.0 263.7 L480.0 268.0 L296.0 360.0 Z" fill="#c3a86d" stroke="#23344a" stroke-width="0.8" stroke-linejoin="round"/><path d="M112.0 250.0 L296.0 158.0 L480.0 250.0 L296.0 342.0 Z" fill="url(#gs)" stroke="#23344a" stroke-width="1.3" stroke-linejoin="round"/><path d="M138.3 236.9 L322.3 328.9" stroke="#56616c" stroke-width="1"/><path d="M164.6 223.7 L348.6 315.7" stroke="#56616c" stroke-width="1"/><path d="M190.9 210.6 L374.9 302.6" stroke="#56616c" stroke-width="1"/><path d="M217.1 197.4 L401.1 289.4" stroke="#56616c" stroke-width="1"/><path d="M243.4 184.3 L427.4 276.3" stroke="#56616c" stroke-width="1"/><path d="M269.7 171.1 L453.7 263.1" stroke="#56616c" stroke-width="1"/><path d="M132.4 260.2 L316.4 168.2" stroke="#56616c" stroke-width="0.8"/><path d="M152.9 270.4 L336.9 178.4" stroke="#56616c" stroke-width="0.8"/><path d="M173.3 280.7 L357.3 188.7" stroke="#56616c" stroke-width="0.8"/><path d="M193.8 290.9 L377.8 198.9" stroke="#56616c" stroke-width="0.8"/><path d="M214.2 301.1 L398.2 209.1" stroke="#56616c" stroke-width="0.8"/><path d="M234.7 311.3 L418.7 219.3" stroke="#56616c" stroke-width="0.8"/><path d="M255.1 321.6 L439.1 229.6" stroke="#56616c" stroke-width="0.8"/><path d="M275.6 331.8 L459.6 239.8" stroke="#56616c" stroke-width="0.8"/><path d="M112 250 L296 158" stroke="#8a98a6" stroke-width="6"/><path d="M296 360 L480 268 L488 275 L304 367 Z" fill="#b4c1ce" stroke="#23344a" stroke-width="1"/><path d="M230 241 L303 226 L333 259 L259 274 Z" fill="#aebccd" stroke="#23344a" stroke-width="1.1" stroke-linejoin="round"/><path d="M263 270 L322 259 L322 247 L263 258 Z" fill="#8a98a6" stroke="#23344a" stroke-width="1"/><path d="M322 259 L300 230 L300 218 L322 247 Z" fill="#76808c" stroke="#23344a" stroke-width="1"/><path d="M241 229 L300 218 L322 247 L263 258 Z" fill="#bcd6ea" stroke="#23344a" stroke-width="1.2" stroke-linejoin="round"/><path d="M241 229 L322 247" stroke="#9fb6cf" stroke-width="1.2"/><path d="M262.9 264.2 L560.0 372.0" stroke="#c4cdd6" stroke-width="1.5" stroke-dasharray="2 4" stroke-linecap="round"/><circle cx="262.9" cy="264.2" r="3.2" fill="#FF8C42"/><g><circle cx="560.0" cy="372.0" r="15.5" fill="#FF8C42" stroke="#fff" stroke-width="2.5" filter="url(#bsh)"/><text x="560.0" y="377.0" text-anchor="middle" font-family="Space Mono, monospace" font-weight="700" font-size="14" fill="#fff">1</text></g><path d="M303.4 226.1 L560.0 330.0" stroke="#c4cdd6" stroke-width="1.5" stroke-dasharray="2 4" stroke-linecap="round"/><circle cx="303.4" cy="226.1" r="3.2" fill="#FF8C42"/><g><circle cx="560.0" cy="330.0" r="15.5" fill="#FF8C42" stroke="#fff" stroke-width="2.5" filter="url(#bsh)"/><text x="560.0" y="335.0" text-anchor="middle" font-family="Space Mono, monospace" font-weight="700" font-size="14" fill="#fff">2</text></g><path d="M480.0 259.9 L560.0 288.0" stroke="#c4cdd6" stroke-width="1.5" stroke-dasharray="2 4" stroke-linecap="round"/><circle cx="480.0" cy="259.9" r="3.2" fill="#FF8C42"/><g><circle cx="560.0" cy="288.0" r="15.5" fill="#FF8C42" stroke="#fff" stroke-width="2.5" filter="url(#bsh)"/><text x="560.0" y="293.0" text-anchor="middle" font-family="Space Mono, monospace" font-weight="700" font-size="14" fill="#fff">3</text></g><path d="M286.8 233.4 L560.0 246.0" stroke="#c4cdd6" stroke-width="1.5" stroke-dasharray="2 4" stroke-linecap="round"/><circle cx="286.8" cy="233.4" r="3.2" fill="#FF8C42"/><g><circle cx="560.0" cy="246.0" r="15.5" fill="#FF8C42" stroke="#fff" stroke-width="2.5" filter="url(#bsh)"/><text x="560.0" y="251.0" text-anchor="middle" font-family="Space Mono, monospace" font-weight="700" font-size="14" fill="#fff">4</text></g><path d="M290.5 262.0 L554.0 202.0" stroke="#c4cdd6" stroke-width="1.5" stroke-dasharray="2 4" stroke-linecap="round"/><circle cx="290.5" cy="262.0" r="3.2" fill="#FF8C42"/><g><circle cx="554.0" cy="202.0" r="15.5" fill="#FF8C42" stroke="#fff" stroke-width="2.5" filter="url(#bsh)"/><text x="554.0" y="207.0" text-anchor="middle" font-family="Space Mono, monospace" font-weight="700" font-size="14" fill="#fff">5</text></g><path d="M229.8 240.8 L510.0 150.0" stroke="#c4cdd6" stroke-width="1.5" stroke-dasharray="2 4" stroke-linecap="round"/><circle cx="229.8" cy="240.8" r="3.2" fill="#FF8C42"/><g><circle cx="510.0" cy="150.0" r="15.5" fill="#FF8C42" stroke="#fff" stroke-width="2.5" filter="url(#bsh)"/><text x="510.0" y="155.0" text-anchor="middle" font-family="Space Mono, monospace" font-weight="700" font-size="14" fill="#fff">6</text></g></svg><figcaption>Skylight detail · flashing & seal</figcaption></figure><div class="rr-spec-list"><span class="rr-spec-tag">Build Spec · Six non-negotiables</span><div class="rr-arow"><span class="num">01</span><div><h4>Curb & mounting</h4><p>The skylight is set on a properly built and leveled curb — the foundation that keeps the unit square and the glass sealed for decades.</p></div></div><div class="rr-arow"><span class="num">02</span><div><h4>Step & head flashing</h4><p>A real metal flashing kit — step flashing up the sides, head flashing above, apron below — not a bead of caulk. This is the single thing that decides whether a skylight ever leaks.</p></div></div><div class="rr-arow"><span class="num">03</span><div><h4>Ice & water underlayment</h4><p>Self-adhering membrane wrapped around the opening and lapped under the flashing — a second waterproof layer where the roof is most vulnerable.</p></div></div><div class="rr-arow"><span class="num">04</span><div><h4>Insulated Low-E glass</h4><p>Dual-pane, Low-E glazing that blocks UV and cuts heat transfer — natural light without the summer heat gain or winter cold spot.</p></div></div><div class="rr-arow"><span class="num">05</span><div><h4>Interior light shaft</h4><p>A finished, often-flared shaft that spreads the light into the room — drywalled and painted to look built-in, not bolted on.</p></div></div><div class="rr-arow"><span class="num">06</span><div><h4>Weather-tight seal</h4><p>Every joint sealed and shingled back in so water sheds over the unit and down the roof — the skylight becomes part of the roof, not a hole in it.</p></div></div></div></div></div></section><section class="rr-reveal rr-section is-mist"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">Skylight Options</span><h2>Types of skylights we install.</h2><p>From a simple fixed unit that floods a room with light to solar-powered vented models and sun tunnels — the right type for every space.</p></div><div class="rr-cards-grid"><div class="rr-card2"><div class="rr-card2-top"><h3>Fixed / Deck-Mounted</h3><span class="badge">Most Light</span></div><p>A sealed, non-opening skylight that maximizes natural light — the most popular and most economical choice for brightening a room.</p></div><div class="rr-card2"><div class="rr-card2-top"><h3>Ventilating Skylights</h3><span class="badge">Fresh Air</span></div><p>Open to release heat and humidity — ideal over kitchens and bathrooms where ventilation matters as much as light.</p></div><div class="rr-card2"><div class="rr-card2-top"><h3>Solar-Powered Vented</h3><span class="badge">No Wiring</span></div><p>Opens and closes on a solar-charged motor with a rain sensor — the convenience of a vented skylight with no electrician required.</p></div><div class="rr-card2"><div class="rr-card2-top"><h3>Sun Tunnels (Tubular)</h3><span class="badge">Tight Spaces</span></div><p>A reflective tube that channels daylight into hallways, closets, and small interior rooms a full skylight can't reach.</p></div><div class="rr-card2"><div class="rr-card2-top"><h3>Curb-Mounted</h3><span class="badge">Low-Slope</span></div><p>Set on a raised curb for low-slope roofs and larger units — the right mount where a deck-mounted skylight won't shed water.</p></div><div class="rr-card2"><div class="rr-card2-top"><h3>Low-E Glass Upgrades</h3><span class="badge">Efficiency</span></div><p>Energy-efficient glazing options that cut heat gain and UV — light and views without the energy penalty.</p></div></div></div></section><section class="rr-reveal rr-section"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">Our Services</span><h2>Complete skylight services.</h2><p>New installs, replacements, leak repair, and sun tunnels — everything that brings light in and keeps water out.</p></div><div class="rr-pillars"><div class="rr-pillar"><div class="pidx">01</div><h3>New Skylight Installation</h3><div class="promise">We cut, frame, flash, and finish the opening — a complete install, inside and out, that becomes a watertight part of your roof.</div></div><div class="rr-pillar"><div class="pidx">02</div><h3>Skylight Replacement</h3><div class="promise">Swap an old, foggy, or leaking unit for a modern energy-efficient skylight — new flashing and seal included, not reused.</div></div><div class="rr-pillar"><div class="pidx">03</div><h3>Re-Flashing & Leak Repair</h3><div class="promise">Skylight leaking? Almost always the flashing, not the glass. We strip and rebuild the flashing kit to stop it for good.</div></div><div class="rr-pillar"><div class="pidx">04</div><h3>Sun Tunnel Installation</h3><div class="promise">Bring daylight to interior rooms with no exterior wall — a tubular skylight threaded from the roof down through the attic.</div></div><div class="rr-pillar"><div class="pidx">05</div><h3>Solar & Vented Skylights</h3><div class="promise">Fresh-air and solar-powered models installed and sealed — ventilation and light in one opening.</div></div><div class="rr-pillar"><div class="pidx">06</div><h3>Skylight + Roof Combos</h3><div class="promise">Adding skylights during a <a href="https://reasonablecontractingservices.com/roofing-contractors/">roof replacement</a> is the ideal time — one crew, one flashing job, one warranty.</div></div></div></div></section><section class="rr-reveal rr-ctaband"><div class="rr-wrap"><span class="ey">Free Estimate</span><h3>Bring in the light — without the leak.</h3><p>A free consultation, honest guidance on the right type and placement, and flashing done the way only a roofer does it.</p><a class="rr-btn rr-btn-primary" href="https://reasonablecontractingservices.com/free-estimate/">Get My Free Estimate →</a></div></section><section class="rr-reveal rr-section rr-svcsteps is-mist"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">Our Process</span><h2>How a skylight install works.</h2><p>Five steps from consultation to a finished, watertight skylight and a bright new room — most singles wrap in a day.</p></div><div class="rr-steps"><div class="rr-step"><div class="idx">01</div><div class="tick"></div><h3>Consultation</h3><p>We assess your roof, attic, and the room below, and recommend the right type, size, and placement for the light you want.</p></div><div class="rr-step"><div class="idx">02</div><div class="tick"></div><h3>Product Selection</h3><p>Choose your unit — fixed, vented, solar, or tubular — and glazing options, with energy-efficient upgrades laid out.</p></div><div class="rr-step"><div class="idx">03</div><div class="tick"></div><h3>Opening & Framing</h3><p>We cut and frame the opening to spec, reinforcing the rafters and prepping the deck around it.</p></div><div class="rr-step"><div class="idx">04</div><div class="tick"></div><h3>Install & Flash</h3><p>The unit is set, the full metal flashing kit installed, ice-and-water membrane wrapped, and shingles woven back in.</p></div><div class="rr-step"><div class="idx">05</div><div class="tick"></div><h3>Interior Finish</h3><p>We finish the light shaft — drywall, trim, and paint — so it looks built-in, then clean up completely.</p></div></div></div></section><style>@media(min-width:981px){.rr .rr-svcsteps .rr-steps{grid-template-columns:repeat(5,1fr)}}</style><section class="rr-reveal rr-section is-mist"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">By The Numbers</span><h2>42 years. One standard.</h2><p>The kind of track record that only comes from doing it right, in the same communities, for a very long time.</p></div><div class="rr-svcstats"><div class="rr-svcstat"><span class="rr-svcstatnum" data-to="42" data-suf="+">0</span><span class="lbl">Years in Michigan</span><span class="sub">Family-owned since 1984</span></div><div class="rr-svcstat"><span class="rr-svcstatnum" data-to="16">0</span><span class="lbl">Counties Served</span><span class="sub">St. Clair to Kent</span></div><div class="rr-svcstat"><span class="rr-svcstatnum" data-to="4.8">0</span><span class="star">★</span><span class="lbl">Google Rating</span><span class="sub"><span data-rr-live="total">255</span> homeowner reviews</span></div><div class="rr-svcstat"><span class="rr-svcstatnum" data-to="1">0</span><span class="lbl">Day Install</span><span class="sub">Most single skylights</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 skylight only leaks when someone treated it like a window instead of a hole in the roof. Flash it like a roofer, and it's watertight for the life of the roof.”</p><p class="eb-s">Family-run since 1984. We install skylights the way we build roofs — full metal flashing, ice-and-water membrane, shingles woven back in — so the light comes in and the water never does.</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 homeowners choose us.</h2><p>Roofer-grade flashing, quality energy-efficient units, and 42 years of keeping Michigan roofs watertight.</p></div><div class="rr-values"><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>Flashing Done Right</h3><p>Skylights leak for exactly one reason: bad flashing. We install the full metal flashing kit and wrap the opening in ice-and-water membrane — the watertight detail handymen skip.</p></div><div class="rr-value"><div class="ic"><svg viewBox="0 0 24 24"><path d="M14.7 6.3a4 4 0 0 0-5.4 5.4l-6 6 2 2 6-6a4 4 0 0 0 5.4-5.4l-2.3 2.3-2-2 2.3-2.3z"/></svg></div><h3>Roofers, Not Handymen</h3><p>A skylight is a hole in your roof. We're roofers — we make it a watertight part of the system, with the same care we put into the roof around it.</p></div><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>Quality Units</h3><p>Energy-efficient, Low-E glazing from name-brand skylight manufacturers — built to stay clear, sealed, and leak-free for decades.</p></div><div class="rr-value"><div class="ic"><svg viewBox="0 0 24 24"><path d="M11 20A7 7 0 0 1 4 13c0-6 8-9 16-9 0 8-3 16-9 16zM4 21c3-3 5-5 8-7"/></svg></div><h3>Energy-Smart Glazing</h3><p>Dual-pane Low-E glass brings in the light without the summer heat gain or the winter cold spot — comfort, not just brightness.</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. We know how Michigan weather tests a roof penetration — and how to flash one so it never becomes a problem.</p></div><div class="rr-value"><div class="ic"><svg viewBox="0 0 24 24"><path d="M12 3l2.5 5.5 6 .5-4.5 4 1.4 6L12 16.5 6.6 19l1.4-6L3.5 9l6-.5L12 3z"/></svg></div><h3>Workmanship Warranty</h3><p>Every skylight install is backed by our workmanship warranty. If it ever leaks because of our work, we come back and fix it at no charge.</p></div></div></div></section><section class="rr-reveal rr-section"><div class="rr-wrap"><div class="rr-shead"><span class="rr-eyebrow">Skylight Installation FAQ</span><h2>Skylight FAQs.</h2></div><div class="rr-faq-list"><div class="rr-qa"><button class="rr-qa-q" type="button">Do skylights leak?<span class="mk"></span></button><div class="rr-qa-a"><div class="inner">Properly installed skylights don't. Nearly every leaking skylight was flashed with caulk instead of a real metal flashing kit, or installed without ice-and-water membrane around the opening. We install both — which is why our skylights stay watertight.</div></div></div><div class="rr-qa"><button class="rr-qa-q" type="button">How much does skylight installation cost?<span class="mk"></span></button><div class="rr-qa-a"><div class="inner">Most residential skylight installs run $1,200–3,500 per unit installed, depending on type, size, glazing, and the interior finish work. Solar-vented and larger units cost more. We provide free written estimates with exact pricing.</div></div></div><div class="rr-qa"><button class="rr-qa-q" type="button">What's the best type of skylight?<span class="mk"></span></button><div class="rr-qa-a"><div class="inner">It depends on the room. Fixed deck-mounted units give the most light for the money; vented or solar-vented models are ideal over kitchens and baths; sun tunnels bring daylight to interior spaces a full skylight can't reach. We'll match the type to your goal.</div></div></div><div class="rr-qa"><button class="rr-qa-q" type="button">Are skylights energy efficient?<span class="mk"></span></button><div class="rr-qa-a"><div class="inner">Modern skylights with dual-pane Low-E glazing are — they bring in daylight (cutting lighting use) while blocking UV and limiting heat transfer. The efficiency depends on the glass and the quality of the install seal, both of which we handle.</div></div></div><div class="rr-qa"><button class="rr-qa-q" type="button">Can you add a skylight to my existing roof?<span class="mk"></span></button><div class="rr-qa-a"><div class="inner">Yes — we cut, frame, flash, and finish the opening on an existing roof. The ideal time is during a roof replacement, when the flashing integrates cleanly, but we install into existing roofs routinely.</div></div></div><div class="rr-qa"><button class="rr-qa-q" type="button">Vented or fixed skylight?<span class="mk"></span></button><div class="rr-qa-a"><div class="inner">Fixed units cost less and give maximum light with no moving parts. Vented (especially solar-powered) units add fresh-air ventilation — worth it over kitchens, bathrooms, and any room that traps heat or humidity.</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">Service Areas</span><h2>Skylight installation across Michigan.</h2><p>With offices in Port Huron and Troy, we serve homeowners throughout the region.</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>Ready to bring in the light?</h2><p>A free consultation, honest guidance on the right skylight for your room, and flashing done the way only a roofer does it — with no high-pressure pitch.</p><div class="rr-hero-ctas"><a href="https://reasonablecontractingservices.com/free-estimate/" class="rr-btn rr-btn-primary">Get My Free Estimate →</a><a href="tel:8109843420" class="rr-btn rr-btn-ghost">Call (810) 984-3420</a></div><div class="phones">Port Huron <a href="tel:8109843420">(810) 984-3420</a>  ·  Troy <a href="tel:2488003269">(248) 800-3269</a></div></div></section><div class="rr-mcta" id="rrMcta"><a href="tel:8109843420" class="rr-btn rr-btn-ghost" style="color:var(--navy);border-color:rgba(20,46,71,.3)">Call Now</a><a href="https://reasonablecontractingservices.com/free-estimate/" class="rr-btn rr-btn-primary">Free Estimate</a></div><script>(function(){var D=document;D.documentElement.classList.add("rr-js");function ready(fn){if(D.readyState!="loading")fn();else D.addEventListener("DOMContentLoaded",fn);}ready(function(){var rm=window.matchMedia&&matchMedia("(prefers-reduced-motion: reduce)").matches;var rev=[].slice.call(D.querySelectorAll(".rr-reveal"));if(rm||!("IntersectionObserver"in window)){rev.forEach(function(e){e.classList.add("in");});}else{var io=new IntersectionObserver(function(es){es.forEach(function(en){if(en.isIntersecting){en.target.classList.add("in");io.unobserve(en.target);}});},{threshold:0.12,rootMargin:"0px 0px -8% 0px"});rev.forEach(function(e){io.observe(e);});}var nums=[].slice.call(D.querySelectorAll(".rr-svcstatnum[data-to]"));function run(el){var to=parseFloat(el.getAttribute("data-to")),suf=el.getAttribute("data-suf")||"",dec=to%1!=0,t0=null,dur=1400;function st(ts){if(!t0)t0=ts;var p=Math.min((ts-t0)/dur,1),e=1-Math.pow(1-p,3),v=to*e;el.textContent=(dec?v.toFixed(1):Math.round(v))+suf;if(p<1)requestAnimationFrame(st);}requestAnimationFrame(st);}if(rm||!("IntersectionObserver"in window)){nums.forEach(function(el){el.textContent=el.getAttribute("data-to")+(el.getAttribute("data-suf")||"");});}else{var io2=new IntersectionObserver(function(es){es.forEach(function(en){if(en.isIntersecting){run(en.target);io2.unobserve(en.target);}});},{threshold:0.6});nums.forEach(function(el){io2.observe(el);});}});})();</script><script>(function(){var D=document;function init(spec){var fig=spec.querySelector('.rr-spec-fig svg');if(!fig)return;var rows=[].slice.call(spec.querySelectorAll('.rr-arow'));var hotByNum={},rowByNum={};rows.forEach(function(r){var x=r.querySelector('.num');if(x){rowByNum[parseInt(x.textContent,10)]=r;}});[].slice.call(fig.querySelectorAll('g')).forEach(function(g){var t=g.querySelector('text'),c=g.querySelector('circle');if(t&&c){var nn=parseInt(t.textContent,10);if(nn){hotByNum[nn]=g;g.setAttribute('class',(g.getAttribute('class')||'')+' rr-hot');g.setAttribute('tabindex','0');}}});var nums=Object.keys(rowByNum).map(Number).filter(function(x){return hotByNum[x];}).sort(function(a,b){return a-b;});if(!nums.length)return;var fc=spec.querySelector('.rr-spec-fig');var hint=null;if(fc){hint=D.createElement('span');hint.className='rr-spec-hint';hint.textContent='Hover to explore';fc.appendChild(hint);}var cur=-1,timer=null,locked=false;function paint(num){nums.forEach(function(k){var on=(k===num);hotByNum[k].classList.toggle('rr-hot-on',on);hotByNum[k].classList.toggle('rr-hot-dim',!on);rowByNum[k].classList.toggle('rr-row-on',on);rowByNum[k].classList.toggle('rr-row-dim',!on);});cur=num;}function stop(){if(timer){clearInterval(timer);timer=null;}}nums.forEach(function(k){function act(){locked=true;stop();if(hint)hint.classList.add('hide');paint(k);}hotByNum[k].addEventListener('mouseenter',act);hotByNum[k].addEventListener('click',act);hotByNum[k].addEventListener('focus',act);rowByNum[k].setAttribute('tabindex','0');rowByNum[k].addEventListener('mouseenter',act);rowByNum[k].addEventListener('click',act);rowByNum[k].addEventListener('focus',act);});paint(nums[0]);var rm=window.matchMedia&&matchMedia('(prefers-reduced-motion: reduce)').matches;if(!rm){timer=setInterval(function(){if(locked){stop();return;}var i=nums.indexOf(cur);paint(nums[(i+1)%nums.length]);},2600);}}function ready(fn){if(D.readyState!='loading')fn();else D.addEventListener('DOMContentLoaded',fn);}ready(function(){[].slice.call(D.querySelectorAll('.rr-spec')).forEach(init);});})();</script></div><!-- /.rr skylight-installation --><script type="application/ld+json">{"@context": "https://schema.org", "@type": "Service", "serviceType": "Skylight Installation", "name": "Skylight Installation 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": "Skylight installation across Michigan — fixed, ventilating, solar-powered, and tubular skylights installed by roofers with full metal flashing and ice-and-water membrane for a watertight, energy-efficient result. Since 1984.", "offers": {"@type": "Offer", "priceRange": "$$"}}</script><script type="application/ld+json">{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "Do skylights leak?", "acceptedAnswer": {"@type": "Answer", "text": "Properly installed skylights don't. Nearly every leaking skylight was flashed with caulk instead of a real metal flashing kit, or installed without ice-and-water membrane around the opening. We install both - which is why our skylights stay watertight."}}, {"@type": "Question", "name": "How much does skylight installation cost?", "acceptedAnswer": {"@type": "Answer", "text": "Most residential skylight installs run $1,200-3,500 per unit installed, depending on type, size, glazing, and the interior finish work. Solar-vented and larger units cost more. We provide free written estimates with exact pricing."}}, {"@type": "Question", "name": "What's the best type of skylight?", "acceptedAnswer": {"@type": "Answer", "text": "It depends on the room. Fixed deck-mounted units give the most light for the money; vented or solar-vented models are ideal over kitchens and baths; sun tunnels bring daylight to interior spaces a full skylight can't reach. We'll match the type to your goal."}}, {"@type": "Question", "name": "Are skylights energy efficient?", "acceptedAnswer": {"@type": "Answer", "text": "Modern skylights with dual-pane Low-E glazing are - they bring in daylight (cutting lighting use) while blocking UV and limiting heat transfer. The efficiency depends on the glass and the quality of the install seal, both of which we handle."}}, {"@type": "Question", "name": "Can you add a skylight to my existing roof?", "acceptedAnswer": {"@type": "Answer", "text": "Yes - we cut, frame, flash, and finish the opening on an existing roof. The ideal time is during a roof replacement, when the flashing integrates cleanly, but we install into existing roofs routinely."}}, {"@type": "Question", "name": "Vented or fixed skylight?", "acceptedAnswer": {"@type": "Answer", "text": "Fixed units cost less and give maximum light with no moving parts. Vented (especially solar-powered) units add fresh-air ventilation - worth it over kitchens, bathrooms, and any room that traps heat or humidity."}}]}</script><script>
(function(){
  'use strict';
  function tryOpenQuoteWidget(){
    var apis=[
      function(){return window.RoofleWidget&&typeof window.RoofleWidget.open==='function'&&(window.RoofleWidget.open(),true);},
      function(){return window.Roofle&&typeof window.Roofle.open==='function'&&(window.Roofle.open(),true);},
      function(){return typeof window.openRoofleWidget==='function'&&(window.openRoofleWidget(),true);}
    ];
    for(var i=0;i<apis.length;i++){try{if(apis[i]())return true;}catch(e){}}
    var sel=['[data-roofle-widget]','.roofle-widget-trigger','.roofle-launcher','.roofle-trigger','iframe[src*="roofle"]'];
    for(var j=0;j<sel.length;j++){try{var el=document.querySelector(sel[j]);if(el&&el.click){el.click();return true;}}catch(e){}}
    return false;
  }
  document.addEventListener('click',function(e){var t=e.target.closest&&e.target.closest('[data-rr-quote]');if(!t)return;if(tryOpenQuoteWidget())e.preventDefault();},false);
  function initReveal(){
    var targets=document.querySelectorAll('.rr-specials .rr-shead, .rr-specials .rr-offer, .rr-specials .rr-cmp, .rr-specials .rr-step, .rr-specials .rr-card, .rr-specials .rr-final');
    if(!targets.length||!('IntersectionObserver' in window))return;
    targets.forEach(function(el){el.classList.add('rr-reveal');});
    var io=new IntersectionObserver(function(ents){ents.forEach(function(en){if(en.isIntersecting){en.target.classList.add('is-in');io.unobserve(en.target);}});},{threshold:.12,rootMargin:'0px 0px -40px 0px'});
    targets.forEach(function(el){io.observe(el);});
  }
  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',initReveal);else initReveal();
})();
</script><script>
(function(){
  document.querySelectorAll('.rr-specials .rr-qa-q').forEach(function(b){
    b.addEventListener('click',function(){
      var qa=b.closest('.rr-qa'),a=qa.querySelector('.rr-qa-a'),open=qa.classList.contains('is-open');
      qa.classList.toggle('is-open',!open); a.style.maxHeight=open?null:a.scrollHeight+'px';
    });
  });
  var mcta=document.getElementById('rrMcta');
  function onScroll(){if(mcta){mcta.classList.toggle('is-show',window.pageYOffset>520);}}
  window.addEventListener('scroll',onScroll,{passive:true});onScroll();
})();
</script><script type="application/ld+json">
{"@context":"https://schema.org","@type":"RoofingContractor","name":"Reasonable Roofing & Contracting","url":"https://reasonablecontractingservices.com","telephone":"+1-810-984-3420","address":[{"@type":"PostalAddress","streetAddress":"1605 Beard St","addressLocality":"Port Huron","addressRegion":"MI","postalCode":"48060","addressCountry":"US"},{"@type":"PostalAddress","streetAddress":"1470 Souter Blvd","addressLocality":"Troy","addressRegion":"MI","postalCode":"48083","addressCountry":"US"}],"openingHoursSpecification":{"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday"],"opens":"08:00","closes":"17:00"},"priceRange":"$$","aggregateRating":{"@type":"AggregateRating","ratingValue": "4.8", "reviewCount": "255"},"areaServed":[{"@type":"County","name":"St. Clair County, MI"},{"@type":"County","name":"Macomb County, MI"},{"@type":"County","name":"Oakland County, MI"},{"@type":"County","name":"Lapeer County, MI"},{"@type":"County","name":"Sanilac County, MI"}],"foundingDate":"1984","slogan":"Michigan's Exterior Standard","award":["BBB A+ Rating","Owens Corning Platinum Preferred Contractor","GAF Master Elite Contractor — Top 3%","HAAG Certified Inspector"]}
</script>
```
