/* RestoreMaster — Residential section
   Sits on top of the Divi theme styles; scoped to .rm-res so nothing else moves. */

.rm-res{--green:#2DB560;--blue:#1A5797;--ink:#16191E;--muted:#5b6670;--line:#e3e6e8;
  font-family:inherit;color:var(--ink);background:#fff}
.rm-res *{box-sizing:border-box}
.rm-res-wrap{max-width:1180px;margin:0 auto;padding:0 24px}

/* hero */
.rm-res-hero{background:#12233a center/cover no-repeat;color:#fff;padding:96px 0 84px;text-align:center}
.rm-res-hero h1{color:#fff;font-size:clamp(30px,4.2vw,52px);line-height:1.1;margin:6px 0 14px;font-weight:700;
  text-shadow:0 2px 18px rgba(0,0,0,.35)}
.rm-res-eyebrow{color:#7ff0ab;letter-spacing:3px;text-transform:uppercase;font-size:12px;margin:0;font-weight:700}
.rm-res-lede{color:#e8eef5;font-size:18px;line-height:1.6;max-width:760px;margin:0 auto 22px}
.rm-res-cta{margin:26px 0 0}
.rm-btn{display:inline-block;background:var(--green);color:#fff!important;padding:14px 26px;border-radius:4px;
  font-weight:700;letter-spacing:.4px;text-decoration:none;margin:6px}
.rm-btn:hover{background:#249c51}
.rm-btn.ghost{background:transparent;border:2px solid #fff;padding:12px 24px}
.rm-btn.ghost:hover{background:#fff;color:var(--blue)!important}

/* breadcrumbs */
.rm-res-crumbs{background:#f5f7f8;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.rm-res-crumbs .rm-res-wrap{padding-top:12px;padding-bottom:12px}
.rm-res-crumbs a{color:var(--blue);text-decoration:none}
.rm-res-crumbs span{color:var(--muted)}

/* layout */
.rm-res-body{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:52px;padding-top:54px;padding-bottom:70px}
.rm-res-main h2{font-size:clamp(23px,2.6vw,32px);color:var(--blue);margin:38px 0 14px;line-height:1.2}
.rm-res-main h3{font-size:20px;color:var(--ink);margin:26px 0 10px}
.rm-res-main p{font-size:16.5px;line-height:1.75;color:#3c454d;margin:0 0 14px}
.rm-res-main ul{margin:0 0 18px 20px}
.rm-res-main li{font-size:16.5px;line-height:1.7;color:#3c454d;margin-bottom:7px}

.rm-res-block{display:grid;grid-template-columns:1fr;gap:22px;margin:0 0 26px}
.rm-res-block:has(.rm-res-pics){grid-template-columns:1fr}
.rm-res-pics{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:6px 0 4px}
.rm-res-pics figure{margin:0}
.rm-res-pics img{width:100%;height:230px;object-fit:cover;border-radius:6px;display:block;
  box-shadow:0 2px 14px rgba(16,25,35,.12)}

/* sidebar */
.rm-res-side{align-self:start;position:sticky;top:90px}
.rm-res-card{background:var(--blue);color:#fff;border-radius:8px;padding:22px 22px 18px;margin-bottom:22px}
.rm-res-card h4{color:#fff;margin:0 0 8px;font-size:17px}
.rm-res-card p{color:#dbe6f2;font-size:14.5px;line-height:1.6;margin:0}
.rm-res-card a{color:#7ff0ab;text-decoration:none;font-weight:700}

.rm-res-nav{border:1px solid var(--line);border-radius:8px;padding:18px 20px 6px}
.rm-res-nav h4{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin:10px 0 8px}
.rm-res-nav ul{list-style:none;margin:0 0 16px;padding:0}
.rm-res-nav li{margin:0 0 6px}
.rm-res-nav a{color:#2f3a44;text-decoration:none;font-size:15px}
.rm-res-nav a:hover{color:var(--green)}
.rm-res-nav a.here{color:var(--green);font-weight:700}

/* hub cards */
.rm-res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;margin:0 0 34px}
.rm-res-card-link{display:block;border:1px solid var(--line);border-radius:8px;overflow:hidden;text-decoration:none;
  background:#fff;transition:box-shadow .18s,transform .18s}
.rm-res-card-link:hover{box-shadow:0 10px 26px rgba(16,25,35,.14);transform:translateY(-2px)}
.rm-res-card-link .thumb{display:block;height:150px;background:#dfe5e9 center/cover no-repeat}
.rm-res-card-link .t{display:block;font-weight:700;color:var(--blue);padding:14px 16px 4px;font-size:17px}
.rm-res-card-link .d{display:block;color:var(--muted);padding:0 16px 16px;font-size:14.5px;line-height:1.55}

/* the lead form inside the section */
.rm-res-form{margin:44px 0 0;border-top:1px solid var(--line);padding-top:30px}

@media (max-width:980px){
  .rm-res-body{grid-template-columns:1fr;gap:34px}
  .rm-res-side{position:static}
  .rm-res-hero{padding:64px 0 56px}
  .rm-res-pics img{height:200px}
}

/* photo gallery */
.rm-res-shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin:18px 0 10px}
.rm-res-shot{display:block;border-radius:5px;overflow:hidden;background:#dfe5e9}
.rm-res-shot img{width:100%;height:150px;object-fit:cover;display:block;transition:transform .2s}
.rm-res-shot:hover img{transform:scale(1.04)}
