@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap");

.roof-problem .roof-call-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:8px;
  padding:9px 17px;
  border-radius:999px;
  background:#e07a5f;
  color:#fff !important;
  font-weight:700;
  line-height:1.2;
  text-decoration:none;
  box-shadow:0 8px 18px rgba(224,122,95,.22);
}
.roof-problem .roof-call-link:hover,
.roof-problem .roof-call-link:focus{background:#c15f48;color:#fff !important;}
.s34-trust-row,.tx-kicker,.tx-proof-wrap{display:none !important;}
.tx-intro-support{margin-top:12px !important;}
.tx-info-label{display:inline-block;margin-bottom:6px;color:#c15f48;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;}
.tx-s6-closing{margin:18px 2px 0;color:#52606d;font-size:13px;line-height:1.7;}
.tx-s7-header h2,.tx-s7-stat-value,.tx-s8-left h2,.tx-s8-list li{min-width:0;overflow-wrap:anywhere;word-break:normal;}
.tx-section-7-inner,.tx-section-8-inner,.tx-section-8-grid,.tx-s8-left,.tx-s8-right{min-width:0;}
@media(max-width:600px){.roof-problem .roof-call-link{display:flex;width:100%;margin:10px 0 0;}}

/* 1. Base reset/box-sizing (if not already in your theme) */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* 2. Header container */
.site-header {
  background-color: #ffffff;
  border-bottom: 1px solid #e0e0e0; /* light grey line */
  /* If you want slight cream: use #fffaf3 or similar */
  /* background-color: #fffaf3; */
}

/* 3. Inner flex wrapper */
.site-header .header-inner {
  max-width: 1200px; /* or full width if you prefer */
  margin: 0 auto;
  padding: 12px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* 4. Site branding */
.site-header .site-branding {
  display: flex;
  flex-direction: column;
  /* Optionally: align-items: flex-start; */
}

.site-header .site-title {
  font-family: 'Poppins', sans-serif; /* if you use Poppins */
  font-size: 1.5rem; /* adjust as needed */
  font-weight: 600;
  color: #333333;
  line-height: 1.2;
  margin: 0;
}

.site-header .site-title .site-title-accent {
  color: #E07A5F; /* accent orange color; adjust to your brand color */
}

.site-header .site-tagline {
  font-family: 'Poppins', sans-serif;
  font-size: 0.9rem;
  color: #666666;
  margin: 2px 0 0;
  line-height: 1.3;
}

/* 5. Navigation */
.site-header .main-navigation {
  /* margin-left: auto;  flex will push it right */
}

.site-header .nav-menu {
  list-style: none;
  display: flex;
  gap: 24px; /* space between menu items */
  margin: 0;
  padding: 0;
}

.site-header .nav-menu .menu-item {
  margin: 0;
  padding: 0;
}

.site-header .nav-menu .nav-link {
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  color: #333333;
  text-decoration: none;
  font-weight: 500;
  padding: 4px 0;
  position: relative;
}

/* Active / hover states */
.site-header .nav-menu .current-menu-item > .nav-link,
.site-header .nav-menu .nav-link.active {
  color: #E07A5F;
}

.site-header .nav-menu .nav-link:hover {
  color: #E07A5F;
}

/* Optionally add an underline on hover */
.site-header .nav-menu .nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 0%;
  height: 2px;
  background-color: #E07A5F;
  transition: width 0.3s ease;
}

.site-header .nav-menu .nav-link:hover::after,
.site-header .nav-menu .current-menu-item > .nav-link::after {
  width: 100%;
}

/* 6. Search icon */
.site-header .header-search {
  margin-left: 16px;
}

.site-header .header-search .search-toggle img {
  width: 20px;
  height: 20px;
  display: block;
}

/* If using an inline SVG or icon font: adjust accordingly, e.g.: 
.site-header .search-toggle svg { width:20px; height:20px; fill:#333; }
.site-header .search-toggle:hover svg { fill:#E07A5F; }
*/

/* 7. Responsive adjustments */
@media (max-width: 768px) {
  .site-header .header-inner {
    flex-wrap: wrap;
    padding: 10px 16px;
  }
  /* Center branding on small if desired */
  .site-header .site-branding {
    width: 100%;
    text-align: center;
  }
  .site-header .main-navigation,
  .site-header .header-search {
    width: 100%;
    margin-top: 8px;
    display: flex;
    justify-content: center;
  }
  .site-header .nav-menu {
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
  }
}

/* 8. (Optional) If your theme outputs different container width, remove max-width or adjust */
/* This body class is auto-added for our template:
   page-fullwidth-landing.php → .page-template-page-fullwidth-landing */
.page-template-page-fullwidth-landing .entry-title,
.page-template-page-fullwidth-landing .page-title {
  display: none; /* just in case theme still prints title somewhere */
}

/* Kill sidebars on this template */
.page-template-page-fullwidth-landing .sidebar,
.page-template-page-fullwidth-landing .widget-area {
  display: none !important;
}

/* Make main content stretch full width */
.page-template-page-fullwidth-landing .site-content,
.page-template-page-fullwidth-landing #primary,
.page-template-page-fullwidth-landing .content-area {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto;
}

/* Optional: a nice max width for your sections, if theme uses huge screens */
.fullwidth-landing {
  max-width: 1400px;
  margin: 0 auto;
}
/* Call Us Now button – desktop main menu */
.main-navigation .main-nav ul li.call-now-btn > a {
  background-color: #e07a5f;       /* same accent as your theme */
  color: #ffffff;
  padding: 9px 18px;
  border-radius: 999px;
  font-weight: 600;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
  transition: background-color .2s ease, transform .15s ease,
              box-shadow .15s ease;
  margin-left: 12px;               /* gap from other menu items */
}

/* Hover / focus */
.main-navigation .main-nav ul li.call-now-btn > a:hover,
.main-navigation .main-nav ul li.call-now-btn > a:focus {
  background-color: #c15f48;       /* darker hover */
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.12);
}

/* Sticky navigation (if GeneratePress sticky nav is enabled) */
.navigation-stick .main-navigation .main-nav ul li.call-now-btn > a {
  background-color: #e07a5f;
  color: #ffffff;
}

/* MOBILE MENU – slide-out / dropdown style */
.slideout-navigation .main-nav ul li.call-now-btn > a,
.main-navigation .toggled .main-nav ul li.call-now-btn > a {
  background-color: #e07a5f;
  color: #ffffff;
  border-radius: 999px;
  font-weight: 600;
  margin: 10px 16px;
  padding: 10px 20px;
  display: flex;
  justify-content: center;
}

/* Mobile hover/focus */
.slideout-navigation .main-nav ul li.call-now-btn > a:hover,
.slideout-navigation .main-nav ul li.call-now-btn > a:focus,
.main-navigation .toggled .main-nav ul li.call-now-btn > a:hover,
.main-navigation .toggled .main-nav ul li.call-now-btn > a:focus {
  background-color: #c15f48;
  color: #ffffff;
}
/*****************************
  CALL US NOW BUTTON – DESKTOP
******************************/
.main-navigation .main-nav ul li.call-now-btn > a {
  background-color: #e07a5f;       /* your accent */
  color: #ffffff;
  padding: 9px 18px;
  border-radius: 999px;
  font-weight: 600;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
  transition: background-color .2s ease, transform .15s ease,
              box-shadow .15s ease;
  margin-left: 12px;               /* gap from other menu items */
}

.main-navigation .main-nav ul li.call-now-btn > a:hover,
.main-navigation .main-nav ul li.call-now-btn > a:focus {
  background-color: #c15f48;
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.12);
}

/*****************************
  CALL US NOW BUTTON – DESKTOP
******************************/
.main-navigation .main-nav ul li.call-now-btn > a {
  background-color: #e07a5f;
  color: #ffffff;
  padding: 9px 18px;
  border-radius: 999px;
  font-weight: 600;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
  transition: background-color .2s ease, transform .15s ease,
              box-shadow .15s ease;
  margin-left: 12px;
}

.main-navigation .main-nav ul li.call-now-btn > a:hover,
.main-navigation .main-nav ul li.call-now-btn > a:focus {
  background-color: #c15f48;
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.12);
}

/*********************************************
  MOBILE (max-width: 768px)
  Show ONLY "Call Us Now" in header
**********************************************/
@media (max-width: 768px) {

  /* Hide hamburger / menu toggle */
  .main-navigation .menu-toggle,
  .slideout-toggle {
    display: none !important;
  }

  /* Make sure the nav is visible on mobile */
  .main-navigation .inside-navigation .main-nav {
    display: block !important;
  }

  /* Turn the main menu list into a flex row */
  .main-navigation .inside-navigation .main-nav > ul {
    display: flex !important;
    margin-left: auto;
    align-items: center;
    justify-content: flex-end; /* use center if you prefer */
  }

  /* Hide all menu items */
  .main-navigation .inside-navigation .main-nav > ul > li {
    display: none !important;
  }

  /* Show only the Call Now item */
  .main-navigation .inside-navigation .main-nav > ul > li.call-now-btn {
    display: block !important;
    margin-left: auto;
  }

  /* Button styling on mobile */
  .main-navigation .inside-navigation .main-nav > ul > li.call-now-btn > a {
    padding: 9px 18px;
    border-radius: 999px;
    font-weight: 600;
    background-color: #e07a5f;
    color: #ffffff;
    text-decoration: none;
  }

  .main-navigation .inside-navigation .main-nav > ul > li.call-now-btn > a:hover,
  .main-navigation .inside-navigation .main-nav > ul > li.call-now-btn > a:focus {
    background-color: #c15f48;
    color: #ffffff;
  }

  /* Hide slideout/off-canvas menu if enabled */
  .slideout-navigation {
    display: none !important;
  }
}
/* Base: hide sticky bar on desktop */
.tx-sticky-callbar {
  display: none;
}
/* ===== DPT Highlight Hero (Paste into WP Additional CSS) ===== */

/* If you want ONLY the hero section background, keep body/html untouched.
   If you really want the whole site background, uncomment the html,body block. */

/*
html, body{
  margin: 0;
  padding: 0;
  background: #fff7f2;
}
*/

.dpt-highlight{
  font-family: 'Poppins', sans-serif;
  color: #333;
  width: 100%;
  box-sizing: border-box;
  padding: 60px 20px 20px;
  background: linear-gradient(135deg, #fff7f2, #fffaf3);
}

.dpt-highlight,
.dpt-highlight *{
  box-sizing: border-box;
}

.dpt-wrapper{
  display: flex;
  align-items: flex-start;
  max-width: 1200px;
  margin: 0 auto;
  gap: 40px;
  flex-wrap: wrap;
  width: 100%;
}

.dpt-content{
  flex: 1 1 420px;
  min-width: 300px;
}

/* IMAGE SIDE */
.dpt-image{
  flex: 1 1 380px;
  min-width: 280px;
  margin: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.dpt-image img{
  display: block;
  width: 100%;
  max-width: 520px;
  max-height: 440px; /* Desktop compact height */
  height: auto;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.14);
  object-fit: contain;
  background: transparent;
}

.dpt-tagline{
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  color: #e07a5f;
  background: rgba(224,122,95,0.08);
  padding: 4px 10px;
  border-radius: 999px;
  margin-bottom: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
  border: 1px solid rgba(224,122,95,0.28);
}

.dpt-title{
  font-size: 32px;
  line-height: 1.25;
  margin: 0 0 12px;
  font-weight: 700;
  color: #1a1a1a;
}
.dpt-title span{ color: #e07a5f; }

.dpt-subline{
  font-size: 15px;
  line-height: 1.6;
  margin: 0 0 10px;
  color: #1f2933;
  font-weight: 600;
}

.dpt-desc{
  font-size: 15px;
  line-height: 1.6;
  margin: 0 0 18px;
  color: #555;
  max-width: 48ch;
}

.dpt-badges{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}

.dpt-badges li{
  font-size: 12px;
  font-weight: 500;
  padding: 5px 11px;
  border-radius: 999px;
  background: rgba(224,122,95,0.08);
  border: 1px solid rgba(224,122,95,0.4);
  color: #e07a5f;
  white-space: nowrap;
}

.dpt-rating{
  font-size: 14px;
  margin: 0 0 18px;
  color: #444;
}

.dpt-stars{
  color: #d4af37;
  font-size: 18px;
  vertical-align: middle;
  margin-right: 4px;
}

.dpt-score{ font-weight: 600; margin-right: 6px; }
.dpt-count{ color: #555; }

.dpt-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #e07a5f;
  color: #fff;
  padding: 12px 26px;
  border-radius: 999px;
  font-weight: 600;
  text-decoration: none;
  font-size: 14.5px;
  transition: background .25s, transform .2s, box-shadow .2s;
  box-shadow: 0 8px 18px rgba(224,122,95,0.35);
}

.dpt-cta:hover{
  background: #c15f48;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(224,122,95,0.45);
}

.dpt-note{
  font-size: 13px;
  color: #555;
  margin-top: 6px;
}

@media (max-width: 1024px){
  .dpt-wrapper{ gap: 30px; }
  .dpt-image img{ max-height: 400px; }
}

@media (max-width: 768px){
  .dpt-highlight{ padding: 30px 15px 15px; }
  .dpt-wrapper{ flex-direction: column; gap: 16px; }
  .dpt-image{ order: 1; margin-bottom: 6px; }
  .dpt-content{ order: 2; }
  .dpt-title{ font-size: 26px; margin-bottom: 10px; }
  .dpt-subline{ font-size: 14px; }
  .dpt-desc{ margin-bottom: 14px; font-size: 14px; }
  .dpt-cta{ padding: 10px 20px; font-size: 14px; }
  .dpt-image img{ max-height: 320px; }
}

@media (max-width: 480px){
  .dpt-highlight{ padding: 24px 10px 12px; }
  .dpt-wrapper{ gap: 10px; }
  .dpt-title{ font-size: 22px; margin-bottom: 8px; }
  .dpt-subline{ font-size: 13.5px; }
  .dpt-desc{ font-size: 13.5px; margin-bottom: 12px; }
  .dpt-cta{ padding: 8px 16px; font-size: 13px; }
  .dpt-image img{ max-height: 260px; }
}
/* ===== SECTION 2 (Problem + Areas) — Additional CSS Ready ===== */

/* Scope everything to this section so theme CSS doesn't get affected */
.roof-problem{
  /* Local CSS variables (safer than :root in WordPress Additional CSS) */
  --accent:#E07A5F;
  --accent-hover:#c15f48;
  --primary:#1F2933;
  --secondary:#4B5563;
  --text-color:#1F2933;
  --muted-text:#585F73;

  /* cool-neutral background block */
  --bg-section2:#f3f4f6;
  --card-bg:#FFFFFF;
  --card-alt-bg:#eef2f7;
  --border-soft:#E5E7EB;
  --shadow-soft:0 10px 24px rgba(15,23,42,0.06);

  padding:56px 20px 60px;
  background:var(--bg-section2);
  color:var(--text-color);
  font-family:'Poppins',sans-serif;
}

.roof-problem,
.roof-problem *{
  box-sizing:border-box;
}

/* EYEBROW TAG */
.roof-problem .roof-eyebrow{
  font-size:.78rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--accent);
  margin-bottom:10px;
  display:inline-block;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(224,122,95,0.06);
  border:1px solid rgba(224,122,95,0.25);
}

/* =========================
   SECTION 2 · PROBLEM + AREAS
   ========================= */
.roof-problem .roof-problem-inner{
  max-width:1200px;
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  gap:40px;
  align-items:flex-start;
}

/* LEFT COLUMN: TEXT + IMAGE */
.roof-problem .roof-problem-copy{
  flex:1 1 520px;
  min-width:280px;
}

.roof-problem .roof-section-title{
  font-size:1.6rem;
  font-weight:600;
  letter-spacing:-0.01em;
  color:var(--primary);
  margin:0 0 10px;
  max-width:34ch;
}

.roof-problem .roof-section-intro{
  font-size:.96rem;
  color:var(--muted-text);
  margin:0 0 14px;
  max-width:54ch;
  line-height:1.6;
}

.roof-problem .roof-visual-card{
  background:var(--card-bg);
  border-radius:18px;
  padding:14px 14px 10px;
  box-shadow:var(--shadow-soft);
  margin:14px 0 18px;
  border:1px solid var(--border-soft);
}

.roof-problem .roof-visual-label{
  font-size:.78rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--muted-text);
  margin:0 0 6px;
}

.roof-problem .roof-problem-image{
  display:block;
  width:100%;
  height:auto;
  max-height:240px;
  object-fit:cover;
  border-radius:12px;
}

/* Avoid theme adding margins to images inside content */
.roof-problem img.roof-problem-image{
  margin:0;
}

.roof-problem .roof-problem-list{
  margin:0 0 6px;
  padding-left:18px;
  font-size:.94rem;
  color:var(--muted-text);
  line-height:1.6;
}

.roof-problem .roof-problem-list li{ margin-bottom:6px; }

.roof-problem .roof-problem-list strong{
  color:var(--primary);
  font-weight:600;
}

/* RIGHT COLUMN: SERVICE AREAS */
.roof-problem .roof-problem-locations{
  flex:1 1 420px;
  min-width:280px;
}

.roof-problem .roof-locations-title{
  font-size:1.05rem;
  font-weight:600;
  color:var(--primary);
  margin:0 0 6px;
}

.roof-problem .roof-locations-sub{
  font-size:.88rem;
  color:var(--muted-text);
  margin:0 0 16px;
  line-height:1.6;
}

.roof-problem .roof-service-areas{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:14px;
}

.roof-problem .roof-area-card{
  background:var(--card-bg);
  border-radius:14px;
  padding:12px 14px;
  border:1px solid var(--border-soft);
  box-shadow:0 4px 14px rgba(15,23,42,0.04);
}

.roof-problem .roof-area-label{
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--muted-text);
  margin-bottom:4px;
}

.roof-problem .roof-area-title{
  font-size:.95rem;
  font-weight:600;
  color:var(--primary);
  margin:0 0 4px;
}

.roof-problem .roof-area-cities{
  font-size:.83rem;
  color:var(--muted-text);
  margin:0 0 6px;
  line-height:1.5;
}

.roof-problem .roof-zip-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.roof-problem .roof-zip-tag{
  font-size:.75rem;
  padding:3px 8px;
  border-radius:999px;
  background:var(--card-alt-bg);
  border:1px solid rgba(148,163,184,0.55);
  color:var(--secondary);
  white-space:nowrap;
}

/* FULL-WIDTH CALLOUT */
.roof-problem .roof-inspection-callout{
  max-width:1200px;
  margin:26px auto 0;
  padding:12px 16px;
  border-radius:14px;
  background:#ffe9dd;
  border:1px solid rgba(224,122,95,0.4);
  box-shadow:0 8px 20px rgba(15,23,42,0.06);
}

.roof-problem .roof-inspection-text{
  margin:0;
  font-size:.98rem;
  line-height:1.7;
  text-align:center;
  color:var(--primary);
  font-weight:500;
}

.roof-problem .roof-inspection-text strong{
  color:var(--accent);
  font-weight:600;
}

@media (max-width:900px){
  .roof-problem .roof-problem-inner{
    flex-direction:column;
    gap:28px;
  }
}

@media (max-width:768px){
  .roof-problem{
    padding:40px 16px 44px;
  }
  .roof-problem .roof-section-title{ font-size:1.4rem; }
  .roof-problem .roof-section-intro{ font-size:.9rem; }
  .roof-problem .roof-inspection-text{ font-size:.9rem; }
}

@media (max-width:480px){
  .roof-problem{
    padding:32px 12px 40px;
  }
}

    :root{
      --accent:#e07a5f;
      --accent-hover:#c15f48;
      --text-color:#1f2933;
      --muted-text:#585f73;
      --bg-page:#fff7f2;
      --bg-section3:#fffaf3;
      --card-shadow:0 8px 20px rgba(0,0,0,0.05);
      --card-shadow-hover:0 12px 30px rgba(0,0,0,0.12);
      --container-max:1200px;
    }

    body{
      margin:0;
      padding:0;
      font-family:'Poppins',sans-serif;
      color:var(--text-color);
      background:var(--bg-page);
    }

    .tp-packages{
      width:100%;
      padding:56px 20px 60px;
      background:var(--bg-section3);
      box-sizing:border-box;
      box-shadow:0 -1px 0 rgba(15,23,42,0.04) inset;
    }

    .tp-header{
      max-width:var(--container-max);
      margin:0 auto 40px;
      text-align:center;
    }

    .tp-header h2{
      font-size:32px;
      margin-bottom:16px;
      font-weight:700;
      color:var(--text-color);
    }

    .tp-header p{
      font-size:15px;
      line-height:1.6;
      max-width:860px;
      margin:0 auto;
      color:var(--muted-text);
    }

    .tp-grid{
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
      gap:30px;
      max-width:var(--container-max);
      margin:0 auto;
    }

    .tp-card{
      background:#ffffff;
      padding:20px 18px 20px;
      border-radius:14px;
      box-shadow:var(--card-shadow);
      transition:all .3s ease;
      text-align:left;
      border-top:5px solid var(--accent);
      display:flex;
      flex-direction:column;
    }

    .tp-card:hover{
      transform:translateY(-6px);
      box-shadow:var(--card-shadow-hover);
    }

    .tp-card img{
      width:100%;
      height:160px;
      object-fit:cover;
      border-radius:8px;
      margin-bottom:14px;
      display:block;
    }

    .tp-card h3{
      font-size:20px;
      color:var(--text-color);
      margin:0 0 6px;
      font-weight:600;
    }

    .tp-rating{
      font-size:13.5px;
      color:var(--muted-text);
      margin:0 0 8px;
    }

    .tp-blurb{
      font-size:14.5px;
      color:#333;
      line-height:1.6;
      margin:0 0 12px;
      flex:1;
    }

    .tp-price{
      font-size:13.5px;
      font-weight:500;
      color:var(--muted-text);
      margin-bottom:14px;
    }

    .tp-cta,
    .tp-cta:visited{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:9px 18px;
      background:var(--accent);
      color:#fff;
      font-size:14px;
      font-weight:600;
      border-radius:999px;
      text-decoration:none;
      box-shadow:0 6px 18px rgba(224,122,95,0.35);
      transition:background .3s ease, transform .3s ease, box-shadow .3s ease;
      gap:6px;
    }

    .tp-cta::before{
      content:"📞";
      font-size:14px;
    }

    .tp-cta:hover{
      background:var(--accent-hover);
      color:#fff;
      transform:translateY(-2px);
      box-shadow:0 10px 24px rgba(193,95,72,0.45);
    }

    @media(max-width:768px){
      .tp-header h2{font-size:26px;}
      .tp-header p{font-size:14px;}
    }

    @media(max-width:480px){
      .tp-packages{padding:40px 12px 44px;}
      .tp-header h2{font-size:22px;}
      .tp-header p{font-size:13.5px;}
      .tp-card h3{font-size:18px;}
      .tp-blurb{font-size:13.5px;}
    }

  :root{
    --roof-accent:#e07a5f;
    --roof-accent-hover:#c15f48;
    --roof-text:#1f2933;
    --roof-muted:#555;

    /* cool, clean gray background to alternate with warm sections */
    --roof-bg-soft:#f3f4f6;

    --roof-card-bg:#ffffff;
    --roof-shadow:0 10px 30px rgba(0,0,0,0.06);
    --roof-shadow-hover:0 14px 40px rgba(0,0,0,0.12);
    --roof-max:1200px;
  }

  .roof-steps{
    font-family:'Poppins',sans-serif;
    background:var(--roof-bg-soft);
    padding:80px 20px 70px;
  }

  .roof-steps-inner{
    max-width:var(--roof-max);
    margin:0 auto;
    text-align:center;
  }

  .roof-steps-title{
    font-size:32px;
    font-weight:700;
    color:var(--roof-text);
    margin:0 0 10px;
  }

  .roof-steps-subtitle{
    max-width:640px;
    margin:0 auto 30px;
    font-size:14.5px;
    line-height:1.7;
    color:var(--roof-muted);
  }

  .roof-steps-card{
    background:var(--roof-card-bg);
    border-radius:24px;
    box-shadow:var(--roof-shadow);
    padding:32px 32px 28px;
    display:flex;
    align-items:center;
    gap:30px;
  }

  .roof-steps-image{
    flex:0 0 40%;
    max-width:420px;
    border-radius:18px;
    overflow:hidden;
  }

  .roof-steps-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .roof-steps-list{
    flex:1;
    text-align:left;
  }

  .roof-steps-list ul{
    list-style:none;
    padding:0;
    margin:0;
  }

  .roof-steps-list li{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:6px 0;
  }

  .roof-step-icon{
    flex:0 0 26px;
    height:26px;
    border-radius:999px;
    background:var(--roof-accent);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    color:#fff;
    margin-top:3px;
  }

  .roof-step-text{
    font-size:15px;
    line-height:1.5;
    color:var(--roof-muted);
  }

  .roof-step-text strong{
    color:var(--roof-text);
  }

  .roof-steps-cta-wrap{
    margin-top:26px;
  }

  .roof-steps-cta{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:var(--roof-accent);
    color:#fff;
    font-size:18px;
    font-weight:600;
    padding:14px 32px;
    border-radius:999px;
    text-decoration:none;
    box-shadow:0 8px 22px rgba(0,0,0,0.15);
    transition:background .25s ease, transform .25s ease, box-shadow .25s ease;
  }

  .roof-steps-cta span.icon{
    font-size:20px;
  }

  .roof-steps-cta:hover{
    background:var(--roof-accent-hover);
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(0,0,0,0.2);
  }

  @media (max-width:900px){
    .roof-steps-card{
      flex-direction:column;
      text-align:left;
      padding:24px 20px;
    }
    .roof-steps-image{
      width:100%;
      max-width:none;
    }
    .roof-steps-title{
      font-size:28px;
    }
  }

  @media (max-width:520px){
    .roof-steps-title{
      font-size:24px;
    }
    .roof-steps-subtitle{
      font-size:13.5px;
      margin-bottom:24px;
    }
    .roof-steps-cta{
      width:100%;
      justify-content:center;
      font-size:16px;
      padding:12px 20px;
    }
  }

  .tx-service-areas{
    padding:60px 30px;
    background:#fff7f3;
    font-family:'Poppins',sans-serif;
  }

  .tx-container{
    max-width:1100px;
    margin:0 auto;
  }

  .tx-service-areas h2{
    text-align:center;
    font-size:32px;
    color:#1f2933;
    margin-bottom:20px;
    font-weight:600;
  }

  .tx-intro{
    text-align:center;
    font-size:16px;
    max-width:780px;
    margin:0 auto 18px;
    color:#555;
    line-height:1.6;
  }

  .tx-search-wrap{
    max-width:720px;
    margin:0 auto 24px;
    display:flex;
    justify-content:center;
  }

  .tx-search{
    width:100%;
    padding:12px 14px;
    border-radius:10px;
    border:1px solid #f3d7c9;
    outline:none;
    font-size:14px;
    box-shadow:0 3px 10px rgba(0,0,0,0.03);
  }

  .tx-search:focus{
    border-color:#e07a5f;
    box-shadow:0 6px 16px rgba(0,0,0,0.08);
  }

  .tx-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
    gap:16px;
  }

  .tx-city-link{
    display:block;
    padding:10px 14px;
    background:#ffffff;
    border:1px solid #f3d7c9;
    border-radius:8px;
    text-align:center;
    text-decoration:none;
    color:#7b3419;
    font-weight:500;
    font-size:14px;
    box-shadow:0 3px 10px rgba(0,0,0,0.03);
    transition:all .3s ease;
  }

  .tx-city-link:hover{
    background:#e07a5f;
    color:#ffffff;
    border-color:#e07a5f;
    box-shadow:0 6px 16px rgba(0,0,0,0.14);
    transform:translateY(-2px);
  }

  @media(max-width:600px){
    .tx-service-areas{ padding:50px 20px; }
    .tx-service-areas h2{ font-size:26px; }
    .tx-intro{ font-size:14px; }
  }

  :root{
    --accent:#e07a5f;
    --accent-hover:#c15f48;
    --text-main:#111827;
    --text-muted:#374151;

    /* cool, clean gray-blue, different from warm sections */
    --bg-soft:#f1f5f9;

    --bg-card:#ffffff;
    --shadow-soft:0 10px 24px rgba(0,0,0,0.06);
    --shadow-strong:0 16px 36px rgba(0,0,0,0.16);
  }

  .tx-section-6{
    padding:72px 20px 80px;
    background:var(--bg-soft);
    font-family:'Poppins',sans-serif;
    color:var(--text-main);
  }

  .tx-section-6-inner{
    max-width:1200px;
    margin:0 auto;
  }

  .tx-section-6-grid{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:32px;
    align-items:stretch;
  }

  .tx-s6-panel{
    background:var(--bg-card);
    border-radius:18px;
    box-shadow:var(--shadow-soft);
    padding:24px 24px 26px;
    display:flex;
    flex-direction:column;
    height:100%;
    color:var(--text-main);
  }

  .tx-s6-left h2{
    font-size:34px;
    margin:0 0 14px;
    font-weight:600;
    color:var(--text-main);
  }

  .tx-s6-subtitle{
    margin:0 0 22px;
    font-size:17px;
    line-height:1.7;
    color:var(--text-main);
    font-weight:500;
  }

  .tx-s6-features ul{
    list-style:none;
    padding:18px 18px 16px;
    margin:0 0 18px;
    background:#fff7f3;
    border-radius:14px;
    columns:2;
    column-gap:28px;
  }

  .tx-s6-features li{
    break-inside:avoid-column;
    font-size:15px;
    line-height:1.7;
    color:var(--text-main);
    margin:0 0 8px;
  }

  .tx-s6-service-area{
    margin-top:auto;
    font-size:14.5px;
    line-height:1.8;
    color:var(--text-main);
  }

  /* RIGHT · TESTIMONIALS */
  .tx-s6-right{ gap:18px; }

  .tx-testimonial{
    border-radius:14px;
    background:#fff9f5;
    padding:16px 16px 14px;
    margin-bottom:12px;
  }

  .tx-testimonial-header{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:8px;
  }

  .tx-testimonial-header img{
    width:56px;
    height:56px;
    border-radius:50%;
    object-fit:cover;
    box-shadow:0 4px 12px rgba(0,0,0,0.12);
  }

  .tx-testimonial-meta{
    display:flex;
    flex-direction:column;
  }

  .tx-stars{
    color:var(--accent);
    font-size:16px;
    letter-spacing:2px;
    margin-bottom:2px;
  }

  .tx-name{
    font-size:14px;
    font-weight:600;
    color:var(--text-main);
    margin:0;
  }

  .tx-quote{
    font-size:15px;
    line-height:1.8;
    color:var(--text-main);
    margin:4px 0 0;
  }

  .tx-s6-cta{
    margin-top:auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:11px 22px;
    border-radius:999px;
    background:var(--accent);
    color:#fff;
    font-size:16px;
    font-weight:600;
    text-decoration:none;
    box-shadow:0 12px 30px rgba(224,122,95,0.45);
    transition:background .25s ease,transform .25s ease,box-shadow .25s ease;
  }

  .tx-s6-cta:hover{
    background:var(--accent-hover);
    transform:translateY(-2px);
    box-shadow:var(--shadow-strong);
  }

  @media(max-width:900px){
    .tx-section-6-grid{ grid-template-columns:1fr; }
    .tx-s6-features ul{ columns:1; }
  }

  @media(max-width:600px){
    .tx-section-6{ padding:60px 16px 70px; }
    .tx-s6-left h2{ font-size:28px; }
    .tx-s6-subtitle{ font-size:15.5px; }
  }

  :root{
    --accent:#e07a5f;
    --accent-hover:#c15f48;
    --text-main:#111827;
    --text-muted:#374151;
    --bg-soft-alt:#fff7f3;
    --bg-card:#ffffff;
    --shadow-soft:0 10px 24px rgba(0,0,0,0.06);
    --shadow-strong:0 18px 40px rgba(0,0,0,0.16);
  }

  .tx-section-7{
    padding:72px 20px 80px;
    background:linear-gradient(135deg,#fff7f3,#ffe4d6);
    font-family:'Poppins',sans-serif;
    color:var(--text-main);
  }

  .tx-section-7-inner{
    max-width:1200px;
    margin:0 auto;
  }

  /* HEADER */
  .tx-s7-header{
    text-align:center;
    max-width:820px;
    margin:0 auto 30px;
  }

  .tx-s7-eyebrow{
    display:inline-block;
    font-size:11px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.16em;
    padding:4px 10px;
    border-radius:999px;
    background:rgba(224,122,95,0.08);
    border:1px solid rgba(224,122,95,0.35);
    color:var(--accent);
    margin-bottom:10px;
  }

  .tx-s7-header h2{
    font-size:32px;
    margin:0 0 10px;
    font-weight:600;
    color:var(--text-main);
  }

  .tx-s7-header-sub{
    margin:0;
    font-size:16px;
    line-height:1.8;
    color:#111827;
    font-weight:400;
  }

  /* MAIN CARD */
  .tx-s7-card{
    background:var(--bg-card);
    border-radius:22px;
    box-shadow:var(--shadow-soft);
    padding:24px 24px 28px;
  }

  /* MAP BLOCK */
  .tx-s7-map-block{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-bottom:20px;
  }

  .tx-s7-map-text h3{
    margin:0 0 4px;
    font-size:20px;
    font-weight:600;
    color:var(--text-main);
  }

  .tx-s7-map-sub{
    margin:0;
    font-size:15px;
    line-height:1.7;
    color:#111827;
    max-width:720px;
    font-weight:400;
  }

  .tx-s7-map-wrapper{
    margin-top:10px;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 12px 30px rgba(0,0,0,0.12);
  }

  .tx-s7-map-wrapper iframe{
    width:100%;
    min-height:260px;
    border:0;
  }

  /* STATS ROW */
  .tx-s7-stats-row{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:16px;
    margin:20px 0 18px;
  }

  .tx-s7-stat-card{
    background:#fff9f5;
    border-radius:14px;
    padding:12px 14px 11px;
    border:1px solid rgba(224,122,95,0.3);
  }

  .tx-s7-stat-label{
    margin:0 0 4px;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.14em;
    color:#9a3412;
    font-weight:600;
  }

  .tx-s7-stat-value{
    margin:0 0 4px;
    font-size:18px;
    font-weight:600;
    color:var(--text-main);
  }

  .tx-s7-stat-note{
    margin:0;
    font-size:13px;
    line-height:1.6;
    color:#1f2933;
  }

  /* COVERAGE TEXT */
  .tx-s7-coverage{
    margin:10px 0 18px;
  }

  .tx-s7-coverage h3{
    margin:0 0 6px;
    font-size:18px;
    font-weight:600;
    color:var(--text-main);
  }

  .tx-s7-coverage-body{
    margin:0 0 6px;
    font-size:14.5px;
    line-height:1.8;
    color:#1f2933;
  }

  .tx-s7-coverage-hint{
    margin:0;
    font-size:14px;
    line-height:1.7;
    color:#111827;
    font-weight:500;
  }

  /* FAQ BLOCK */
  .tx-s7-faq-block{
    margin-top:18px;
    border-top:1px solid #f3e1d7;
    padding-top:18px;
  }

  .tx-s7-faq-heading{
    margin:0 0 4px;
    font-size:20px;
    font-weight:600;
    color:var(--text-main);
  }

  .tx-s7-faq-intro{
    margin:0 0 12px;
    font-size:15px;
    line-height:1.8;
    color:#111827;
    max-width:760px;
    font-weight:400;
  }

  .tx-s7-faq-list{
    display:flex;
    flex-direction:column;
    gap:8px;
  }

  .tx-faq-item{
    border-radius:12px;
    background:#fff7f2;
    box-shadow:0 4px 14px rgba(0,0,0,0.04);
    overflow:hidden;
  }

  .tx-faq-item summary{
    cursor:pointer;
    list-style:none;
    padding:12px 14px;
    font-size:15px;
    font-weight:600;
    color:var(--text-main);
    position:relative;
  }

  .tx-faq-item summary::-webkit-details-marker{ display:none; }

  .tx-faq-item summary::after{
    content:"+";
    position:absolute;
    right:16px;
    top:50%;
    transform:translateY(-50%);
    font-weight:600;
    color:var(--accent);
  }

  .tx-faq-item[open] summary::after{ content:"–"; }

  .tx-faq-item p{
    padding:0 14px 12px;
    margin:0;
    font-size:14px;
    line-height:1.8;
    color:#1f2933;
    border-top:1px solid #f1f1f1;
  }

  /* CTA */
  .tx-s7-cta-wrap{
    margin-top:22px;
    text-align:center;
  }

  .tx-s7-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:11px 24px;
    border-radius:999px;
    background:var(--accent);
    color:#fff;
    font-size:15px;
    font-weight:600;
    text-decoration:none;
    box-shadow:0 12px 30px rgba(224,122,95,0.45);
    transition:background .25s ease,transform .25s ease,box-shadow .25s ease;
    gap:6px;
  }

  .tx-s7-cta:hover{
    background:var(--accent-hover);
    transform:translateY(-2px);
    box-shadow:var(--shadow-strong);
  }

  /* RESPONSIVE */
  @media(max-width:600px){
    .tx-section-7{ padding:60px 16px 70px; }
    .tx-s7-header h2{ font-size:26px; }
    .tx-s7-header-sub{ font-size:14.5px; }
    .tx-s7-map-wrapper iframe{ min-height:220px; }
  }

  :root{
    --accent:#e07a5f;
    --accent-hover:#c15f48;
    --text-main:#1f2933;
    --text-muted:#e5e7eb;
    --bg-dark:#1f1b27;
    --bg-dark-alt:#241f30;
    --bg-card:#ffffff;
    --shadow-soft:0 10px 24px rgba(0,0,0,0.28);
  }

  .tx-section-8{
    padding:70px 20px 80px;
    background:linear-gradient(135deg,var(--bg-dark),var(--bg-dark-alt));
    font-family:'Poppins',sans-serif;
    color:#ffffff;
  }

  .tx-section-8-inner{
    max-width:1200px;
    margin:0 auto;
  }

  .tx-section-8-grid{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:38px;
    align-items:center;
  }

  .tx-s8-left h2{
    font-size:34px;
    margin:0 0 14px;
    font-weight:600;
    color:#ffffff;
  }

  .tx-s8-subtitle{
    margin:0 0 20px;
    font-size:16.5px;
    line-height:1.7;
    color:var(--text-muted);
    max-width:640px;
  }

  .tx-s8-list{
    list-style:none;
    padding:0;
    margin:0;
    display:grid;
    grid-template-columns:1fr;
    row-gap:8px;
  }

  .tx-s8-list li{
    font-size:14.5px;
    line-height:1.7;
    color:#f9fafb;
  }

  .tx-s8-right{
    display:flex;
    justify-content:flex-end;
  }

  .tx-s8-cta-card{
    background:#fff6f2;
    color:var(--text-main);
    border-radius:18px;
    box-shadow:var(--shadow-soft);
    padding:22px 22px 20px;
    max-width:340px;
    width:100%;
    text-align:left;
  }

  .tx-s8-mini-label{
    font-size:12px;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:#9b4a32;
    margin:0 0 4px;
    font-weight:600;
  }

  .tx-s8-phone-label{
    font-size:15.5px;
    margin:0 0 12px;
    color:#3b2a2a;
  }

  .tx-s8-cta-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    padding:11px 18px;
    border-radius:999px;
    background:var(--accent);
    color:#fff;
    font-size:16px;
    font-weight:600;
    text-decoration:none;
    box-shadow:0 12px 30px rgba(224,122,95,0.55);
    transition:background .25s ease,transform .25s ease,box-shadow .25s ease;
    margin-bottom:10px;
  }

  .tx-s8-cta-btn:hover{
    background:var(--accent-hover);
    transform:translateY(-2px);
    box-shadow:0 18px 40px rgba(193,95,72,0.65);
  }

  .tx-s8-footnote{
    font-size:13px;
    line-height:1.6;
    color:#5b3d33;
    margin:0;
  }

  @media(max-width:900px){
    .tx-section-8-grid{
      grid-template-columns:1fr;
      gap:26px;
    }
    .tx-s8-right{
      justify-content:flex-start;
    }
    .tx-s8-cta-card{
      max-width:100%;
    }
  }

  @media(max-width:600px){
    .tx-section-8{
      padding:60px 16px 70px;
    }
    .tx-s8-left h2{
      font-size:28px;
    }
    .tx-s8-subtitle{
      font-size:15.5px;
    }
    .tx-s8-list li{
      font-size:14px;
    }
  }
/* ===== Show More toggle (Section 2 right side) ===== */
.roof-problem .roof-more{
  margin-top:14px;
}

.roof-problem .roof-more-toggle{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;

  padding:12px 14px;
  border-radius:14px;
  background:var(--card-bg);
  border:1px solid var(--border-soft);
  box-shadow:0 4px 14px rgba(15,23,42,0.04);
}

.roof-problem .roof-more-toggle::-webkit-details-marker{ display:none; }

.roof-problem .roof-more-text{
  font-size:.95rem;
  font-weight:600;
  color:var(--primary);
}

.roof-problem .roof-more-icon{
  width:28px;
  height:28px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;

  background:rgba(224,122,95,0.10);
  border:1px solid rgba(224,122,95,0.30);
  color:var(--accent);
  font-weight:700;
  line-height:1;
}

.roof-problem .roof-more[open] .roof-more-icon{
  transform:rotate(45deg);
}

.roof-problem .roof-more-grid{
  margin-top:14px;
}
/* =========================================================
   FIX: “Show more locations” not working
   Cause: CSS was forcing #tx-grid-more to stay hidden.
   Solution: DO NOT hard-force display:none. Let JS inline style win.
   ========================================================= */

/* Center section content */
.tx-service-areas{ text-align:center; }

/* Grid base */
.tx-service-areas .tx-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:16px;
  margin-top:28px;
}

/* IMPORTANT:
   Remove any rule like:
   #tx-grid-more { display:none; }
   Because it blocks the button JS (style.display='grid').
*/

/* Instead: only apply spacing when it becomes visible */
.tx-service-areas #tx-grid-more{
  margin-top:28px;
}

/* If JS sets inline style display:grid, keep it clean + consistent */
.tx-service-areas #tx-grid-more[style*="display: grid"],
.tx-service-areas #tx-grid-more[style*="display:grid"]{
  display:grid !important;    /* allow reveal */
  margin-top:28px;
}

/* Keep button centered + orange */
.tx-service-areas .tx-show-more-btn{
  margin:24px auto 0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 22px;
  border:none;
  border-radius:999px;
  background:#e07a5f;
  color:#fff;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(224,122,95,0.35);
  transition:background .25s ease, transform .25s ease, box-shadow .25s ease;
}
.tx-service-areas .tx-show-more-btn:hover{
  background:#c15f48;
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(193,95,72,0.40);
}

/* City links orange theme */
.tx-service-areas .tx-city-link{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 14px;
  background:#fff;
  border:1px solid rgba(224,122,95,0.35);
  border-radius:10px;
  text-decoration:none;
  color:#7b3419;
  font-weight:500;
  font-size:14px;
  text-align:center;
  line-height:1.25;
  overflow-wrap:anywhere;
  word-break:break-word;
  box-shadow:0 6px 18px rgba(224,122,95,0.10);
  transition:all .25s ease;
}
.tx-service-areas .tx-city-link:hover{
  background:#e07a5f;
  border-color:#e07a5f;
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(224,122,95,0.28);
}

/* Mobile spacing (keep margins SAME after reveal) */
@media (max-width:600px){
  .tx-service-areas .tx-grid{
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
    gap:12px;
    margin-top:24px;
  }
  .tx-service-areas #tx-grid-more{
    margin-top:24px;
  }
  .tx-service-areas #tx-grid-more[style*="display: grid"],
  .tx-service-areas #tx-grid-more[style*="display:grid"]{
    margin-top:24px;
  }
}
/* ===== SECTION 3 + 4 · RamCor Fence · Additional CSS ===== */
.tp-packages,
.tp-packages *,
.roof-steps,
.roof-steps *{
  box-sizing:border-box;
}

.tp-packages{
  --s34-accent:#e07a5f;
  --s34-accent-hover:#c15f48;
  --s34-text:#1f2933;
  --s34-muted:#585f73;
  --s34-bg:#fffaf3;
  --s34-card:#ffffff;
  --s34-border:#f1d0c3;
  --s34-shadow:0 8px 20px rgba(15,23,42,.06);
  --s34-shadow-hover:0 14px 34px rgba(15,23,42,.13);
  width:100%;
  padding:56px 20px 60px;
  background:var(--s34-bg);
  color:var(--s34-text);
  font-family:'Poppins',sans-serif;
  box-shadow:0 -1px 0 rgba(15,23,42,.04) inset;
}

.tp-header{
  max-width:1200px;
  margin:0 auto 38px;
  text-align:center;
}

.tp-header h2{
  font-size:32px;
  line-height:1.25;
  margin:0 0 14px;
  font-weight:700;
  color:var(--s34-text);
  letter-spacing:-.02em;
}

.tp-header p{
  max-width:880px;
  margin:0 auto;
  font-size:15px;
  line-height:1.7;
  color:var(--s34-muted);
}

.tp-grid{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:28px;
}

.tp-card{
  min-height:100%;
  background:var(--s34-card);
  border-radius:16px;
  border:1px solid rgba(241,208,195,.85);
  border-top:5px solid var(--s34-accent);
  box-shadow:var(--s34-shadow);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.tp-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--s34-shadow-hover);
  border-color:rgba(224,122,95,.45);
}

.tp-card img{
  width:100%;
  height:166px;
  object-fit:cover;
  display:block;
  margin:0;
}

.tp-body{
  padding:18px 18px 20px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.tp-body header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin:0 0 8px;
}

.tp-card h3{
  font-size:18px;
  line-height:1.32;
  color:var(--s34-text);
  margin:0;
  font-weight:700;
}

.tp-badge{
  flex:0 0 auto;
  max-width:118px;
  padding:5px 9px;
  border-radius:999px;
  background:#fff3eb;
  border:1px solid var(--s34-border);
  color:var(--s34-accent-hover);
  font-size:11px;
  font-weight:700;
  line-height:1.15;
  text-align:center;
}

.tp-rating{
  font-size:13.5px;
  line-height:1.45;
  color:var(--s34-muted);
  margin:0 0 8px;
  font-weight:600;
}

.tp-blurb{
  font-size:14.5px;
  line-height:1.65;
  color:#374151;
  margin:0;
  flex:1;
}

.s34-card-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:auto;
  padding-top:16px;
}

.s34-btn,
.s34-btn:visited{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border-radius:999px;
  font-size:13px;
  font-weight:700;
  line-height:1.1;
  text-align:center;
  text-decoration:none;
  padding:11px 14px;
  transition:background .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  border:1px solid transparent;
  white-space:nowrap;
}

.s34-btn-call{
  background:var(--s34-accent);
  color:#fff;
  box-shadow:0 8px 20px rgba(224,122,95,.22);
}

.s34-btn-call:hover,
.s34-btn-call:focus{
  background:var(--s34-accent-hover);
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(193,95,72,.28);
}

.s34-btn-link{
  background:#fff7f3;
  color:var(--s34-accent-hover);
  border-color:var(--s34-border);
}

.s34-btn-link:hover,
.s34-btn-link:focus{
  background:#fff0e8;
  color:#9f4936;
  border-color:#e7ab99;
  transform:translateY(-2px);
}

.s34-btn-icon{
  font-size:14px;
  line-height:1;
}

.roof-steps{
  --roof-accent:#e07a5f;
  --roof-accent-hover:#c15f48;
  --roof-text:#1f2933;
  --roof-muted:#555f6f;
  --roof-bg:#f3f4f6;
  --roof-card:#ffffff;
  --roof-border:#e5e7eb;
  --roof-shadow:0 10px 30px rgba(15,23,42,.07);
  font-family:'Poppins',sans-serif;
  background:var(--roof-bg);
  padding:76px 20px 70px;
  color:var(--roof-text);
}

.roof-steps-inner{
  max-width:1200px;
  margin:0 auto;
  text-align:center;
}

.roof-steps-title{
  font-size:32px;
  line-height:1.25;
  font-weight:700;
  color:var(--roof-text);
  margin:0 0 10px;
  letter-spacing:-.02em;
}

.roof-steps-subtitle{
  max-width:760px;
  margin:0 auto 30px;
  font-size:14.5px;
  line-height:1.75;
  color:var(--roof-muted);
}

.roof-steps-card{
  background:var(--roof-card);
  border:1px solid var(--roof-border);
  border-radius:24px;
  box-shadow:var(--roof-shadow);
  padding:32px;
  display:flex;
  align-items:center;
  gap:30px;
  text-align:left;
}

.roof-steps-image{
  flex:0 0 40%;
  max-width:420px;
  border-radius:18px;
  overflow:hidden;
  margin:0;
  box-shadow:0 8px 20px rgba(15,23,42,.08);
}

.roof-steps-image img{
  display:block;
  width:100%;
  height:100%;
  min-height:300px;
  object-fit:cover;
  margin:0;
}

.roof-steps-list{
  flex:1;
}

.roof-steps-list ul{
  list-style:none;
  padding:0;
  margin:0;
}

.roof-steps-list li{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:7px 0;
}

.roof-step-icon{
  flex:0 0 28px;
  width:28px;
  height:28px;
  border-radius:999px;
  background:var(--roof-accent);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:700;
  color:#fff;
  margin-top:2px;
  box-shadow:0 6px 14px rgba(224,122,95,.25);
}

.roof-step-text{
  font-size:14.5px;
  line-height:1.58;
  color:var(--roof-muted);
}

.roof-step-text strong{
  color:var(--roof-text);
  font-weight:700;
}

.roof-steps-cta-wrap{
  margin-top:28px;
  text-align:center;
}

.roof-steps-cta,
.roof-steps-cta:visited,
.s34-final-cta,
.s34-final-cta:visited{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  background:var(--roof-accent,#e07a5f);
  color:#fff;
  border-radius:999px;
  padding:13px 26px;
  font-size:15px;
  font-weight:700;
  line-height:1.2;
  text-decoration:none;
  box-shadow:0 10px 24px rgba(224,122,95,.24);
  transition:background .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.roof-steps-cta:hover,
.roof-steps-cta:focus,
.s34-final-cta:hover,
.s34-final-cta:focus{
  background:var(--roof-accent-hover,#c15f48);
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(193,95,72,.28);
}

.roof-steps-cta .icon{
  font-size:20px;
  line-height:1;
}

.tp-cta-main{
  font-size:15px;
  font-weight:800;
}

.tp-cta-sub{
  font-size:12.5px;
  font-weight:600;
  opacity:.95;
}

@media(max-width:900px){
  .tp-grid{
    gap:22px;
  }
  .roof-steps-card{
    flex-direction:column;
    padding:24px 20px;
  }
  .roof-steps-image{
    width:100%;
    max-width:none;
  }
  .roof-steps-image img{
    min-height:240px;
    max-height:360px;
  }
}

@media(max-width:768px){
  .tp-packages{
    padding:42px 16px 48px;
  }
  .tp-header{
    margin-bottom:28px;
  }
  .tp-header h2,
  .roof-steps-title{
    font-size:26px;
  }
  .tp-header p,
  .roof-steps-subtitle{
    font-size:14px;
  }
  .roof-steps{
    padding:52px 16px 54px;
  }
}

@media(max-width:520px){
  .tp-packages{
    padding:36px 12px 42px;
  }
  .tp-grid{
    grid-template-columns:1fr;
  }
  .tp-header h2,
  .roof-steps-title{
    font-size:23px;
  }
  .tp-body header{
    flex-direction:column;
    gap:8px;
  }
  .tp-badge{
    max-width:none;
  }
  .s34-card-actions{
    grid-template-columns:1fr;
  }
  .s34-btn{
    width:100%;
  }
  .roof-steps-card{
    border-radius:18px;
    padding:18px 14px;
  }
  .roof-steps-image img{
    min-height:200px;
  }
  .roof-steps-list li{
    gap:10px;
  }
  .roof-step-text{
    font-size:13.8px;
  }
  .roof-steps-cta,
  .s34-final-cta{
    width:100%;
    padding:12px 18px;
  }
}
/* =========================================================
   CANONICAL SECTION 5 + 6 STYLES
   Moved from generated page HTML into Theme Additional CSS.
   Future generators should output only the Section 5 + 6 HTML
   and should not output a Google Fonts <link> or <style> block.
   ========================================================= */

.tx-service-areas,.tx-section-6{font-family:"Poppins",sans-serif;}
  .tx-service-areas *,.tx-section-6 *{box-sizing:border-box;}
  .tx-container{max-width:1200px;margin:0 auto;}
  .tx-service-areas{background:#ffffff;padding:56px 20px;color:#263238;}
  .tx-s5-head{max-width:820px;margin:0 auto 26px;text-align:center;}
  .tx-s5-head h2{margin:0 0 12px;font-size:32px;line-height:1.22;font-weight:700;color:#1f2933;}
  .tx-intro{margin:0 auto;font-size:16px;line-height:1.65;color:#5b6773;max-width:820px;}
  .tx-grid{display:grid;grid-template-columns:minmax(240px,420px);justify-content:center;gap:12px;margin-top:28px;}
  .tx-city-link{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 14px;background:#fffaf3;border:1px solid #eadfd9;border-radius:14px;color:#24303a;text-decoration:none;font-size:14px;font-weight:600;text-align:center;line-height:1.35;transition:all .25s ease;}
  .tx-city-link:hover{background:#fff1ea;color:#c15f48;border-color:#efcfc0;transform:translateY(-2px);}
  .tx-hidden-location{display:none !important;}
  .tx-grid.tx-locations-open .tx-hidden-location{display:flex !important;}
  .tx-show-more-wrap{text-align:center;margin:26px auto 0;}
  .tx-show-more-btn{border:0;cursor:pointer;background:#e07a5f;color:#fff;border-radius:999px;padding:13px 26px;font-size:15px;font-weight:700;font-family:"Poppins",sans-serif;box-shadow:0 10px 24px rgba(224,122,95,.22);transition:all .25s ease;}
  .tx-show-more-btn:hover{background:#c15f48;transform:translateY(-2px);}
  :root{--accent:#e07a5f;--accent-hover:#c15f48;--text-main:#111827;--bg-soft:#f1f5f9;--bg-card:#ffffff;--shadow-soft:0 10px 24px rgba(0,0,0,0.06);--shadow-strong:0 16px 36px rgba(0,0,0,0.16);}
  .tx-section-6{padding:72px 20px 80px;background:var(--bg-soft);font-family:"Poppins",sans-serif;color:var(--text-main);}
  .tx-section-6-inner{max-width:1200px;margin:0 auto;}
  .tx-section-6-grid{display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:stretch;}
  .tx-s6-panel{background:var(--bg-card);border-radius:18px;box-shadow:var(--shadow-soft);padding:24px 24px 26px;display:flex;flex-direction:column;height:100%;color:var(--text-main);}
  .tx-s6-left h2{font-size:34px;margin:0 0 14px;font-weight:600;color:var(--text-main);line-height:1.25;}
  .tx-s6-subtitle{margin:0 0 22px;font-size:17px;line-height:1.7;color:var(--text-main);font-weight:500;}
  .tx-s6-features ul{list-style:none;padding:18px 18px 16px;margin:0 0 18px;background:#fff7f3;border-radius:14px;columns:2;column-gap:28px;}
  .tx-s6-features li{break-inside:avoid-column;font-size:15px;line-height:1.7;color:var(--text-main);margin:0 0 8px;}
  .tx-s6-service-area{margin-top:auto;font-size:14.5px;line-height:1.8;color:var(--text-main);}
  .tx-s6-right{gap:18px;}
  .tx-testimonial{border-radius:14px;background:#fff9f5;padding:16px 16px 14px;margin-bottom:12px;}
  .tx-testimonial-header{display:flex;align-items:center;gap:12px;margin-bottom:8px;}
  .tx-testimonial-header img{width:56px;height:56px;border-radius:50%;object-fit:cover;box-shadow:0 4px 12px rgba(0,0,0,0.12);}
  .tx-testimonial-meta{display:flex;flex-direction:column;}
  .tx-stars{color:var(--accent);font-size:16px;letter-spacing:2px;margin-bottom:2px;}
  .tx-name{font-size:14px;font-weight:600;color:var(--text-main);margin:0;}
  .tx-quote{font-size:15px;line-height:1.8;color:var(--text-main);margin:4px 0 0;}
  .tx-s6-cta{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;padding:11px 22px;border-radius:999px;background:var(--accent);color:#fff;text-decoration:none;font-size:16px;font-weight:600;box-shadow:0 12px 30px rgba(224,122,95,0.45);transition:background .25s ease,transform .25s ease,box-shadow .25s ease;}
  .tx-s6-cta:hover{background:var(--accent-hover);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-strong);}
  @media(max-width:992px){.tx-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:900px){.tx-section-6-grid{grid-template-columns:1fr;}.tx-s6-features ul{columns:1;}}
  @media(max-width:600px){.tx-service-areas{padding:48px 14px;}.tx-grid{grid-template-columns:1fr;}.tx-s5-head h2{font-size:25px;}.tx-intro{font-size:14px;}.tx-section-6{padding:60px 16px 70px;}.tx-s6-left h2{font-size:28px;}.tx-s6-subtitle{font-size:15.5px;}.tx-s6-panel{padding:20px;}}


/* =========================================================
   CANONICAL SECTION 7 + 8 STYLES
   Moved from generated page HTML into Theme Additional CSS.
   Future generators should output only the Section 7 + 8 HTML
   and should not output a Google Fonts <link> or <style> block.
   ========================================================= */

.tx-section-7,.tx-section-8{font-family:"Poppins",sans-serif;box-sizing:border-box;}
  .tx-section-7 *,.tx-section-8 *{box-sizing:border-box;}
  .tx-section-7{padding:72px 20px;background:#ffffff;color:#1f2933;}
  .tx-section-7-inner,.tx-section-8-inner{max-width:1180px;margin:0 auto;}
  .tx-s7-header{max-width:880px;margin:0 auto 30px;text-align:center;}
  .tx-s7-eyebrow{display:inline-flex;margin-bottom:10px;padding:7px 13px;border-radius:999px;background:#fff3eb;color:#c15f48;font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;}
  .tx-s7-header h2{margin:0 0 12px;font-size:35px;line-height:1.22;font-weight:700;color:#1f2933;}
  .tx-s7-header-sub{margin:0 auto;max-width:820px;font-size:16px;line-height:1.75;color:#5b6773;}
  .tx-s7-card{background:#fff;border:1px solid #f2c7b3;border-radius:24px;padding:26px;box-shadow:0 16px 44px rgba(23,45,22,.08);}
  .tx-s7-map-block{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;align-items:stretch;}
  .tx-s7-map-text{padding:22px;background:#fff7f3;border:1px solid #f2c7b3;border-radius:18px;display:flex;flex-direction:column;justify-content:center;}
  .tx-s7-map-text h3,.tx-s7-coverage h3,.tx-s7-faq-heading{margin:0 0 10px;font-size:23px;line-height:1.3;color:#1f2933;}
  .tx-s7-map-sub,.tx-s7-coverage-body,.tx-s7-coverage-hint,.tx-s7-faq-intro{margin:0;font-size:15px;line-height:1.75;color:#5b6773;}
  .tx-s7-map-wrapper{min-height:330px;border-radius:18px;overflow:hidden;border:1px solid #f2c7b3;background:#fff3eb;}
  .tx-s7-map-wrapper iframe{display:block;width:100%;height:100%;min-height:330px;border:0;}
  .tx-s7-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0;}
  .tx-s7-stat-card{padding:18px;background:#fff7f3;border:1px solid #eadfd9;border-radius:16px;}
  .tx-s7-stat-label{margin:0 0 5px;font-size:12px;color:#9a5a46;font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
  .tx-s7-stat-value{margin:0 0 8px;font-size:18px;color:#1f2933;font-weight:700;}
  .tx-s7-stat-note{margin:0;font-size:14px;line-height:1.65;color:#5b6773;}
  .tx-s7-coverage{padding:22px;background:#fffaf3;border:1px solid #f2c7b3;border-radius:18px;margin-bottom:22px;}
  .tx-s7-coverage-hint{margin-top:10px;font-weight:600;color:#7a4938;}
  .tx-s7-faq-block{padding:22px;background:#fff;border:1px solid #f2c7b3;border-radius:18px;}
  .tx-s7-faq-list{display:grid;gap:10px;margin-top:18px;}
  .tx-faq-item{border:1px solid #f2c7b3;border-radius:13px;background:#fffaf7;padding:0 16px;}
  .tx-faq-item summary{cursor:pointer;padding:15px 30px 15px 0;font-size:15px;line-height:1.45;font-weight:700;color:#24303a;position:relative;}
  .tx-faq-item summary::after{content:"+";position:absolute;right:0;top:13px;font-size:21px;color:#e07a5f;}
  .tx-faq-item[open] summary::after{content:"–";}
  .tx-faq-item p{margin:0;padding:0 0 16px;font-size:14.5px;line-height:1.75;color:#5b6773;}
  .tx-s7-cta-wrap{text-align:center;margin-top:22px;}
  .tx-s7-cta{display:inline-flex;align-items:center;justify-content:center;padding:14px 25px;border-radius:999px;background:#e07a5f;color:#fff;text-decoration:none;font-size:16px;font-weight:700;box-shadow:0 12px 28px rgba(224,122,95,.25);transition:.25s ease;}
  .tx-s7-cta:hover{background:#c15f48;color:#fff;transform:translateY(-2px);}
  .tx-section-8{padding:70px 20px 80px;background:#f1f5f9;color:#111827;}
  .tx-section-8-grid{display:grid;grid-template-columns:1.45fr .75fr;gap:28px;align-items:center;}
  .tx-s8-left h2{margin:0 0 14px;font-size:35px;line-height:1.22;color:#111827;}
  .tx-s8-subtitle{margin:0 0 21px;font-size:17px;line-height:1.75;color:#344054;}
  .tx-s8-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
  .tx-s8-list li{padding:12px 14px;background:#fff;border:1px solid #f2c7b3;border-radius:13px;font-size:15px;line-height:1.55;color:#24303a;font-weight:600;}
  .tx-s8-list li::before{content:"✓";margin-right:9px;color:#e07a5f;font-weight:800;}
  .tx-s8-cta-card{background:#fff;border:1px solid #f2c7b3;border-radius:22px;padding:27px;text-align:center;box-shadow:0 16px 38px rgba(0,0,0,.08);}
  .tx-s8-mini-label{margin:0 0 7px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#e07a5f;}
  .tx-s8-phone-label{margin:0 0 15px;font-size:15px;line-height:1.6;color:#344054;}
  .tx-s8-cta-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:15px 19px;border-radius:999px;background:#e07a5f;color:#fff;text-decoration:none;font-size:18px;font-weight:700;box-shadow:0 12px 27px rgba(224,122,95,.32);transition:.25s ease;}
  .tx-s8-cta-btn:hover{background:#c15f48;color:#fff;transform:translateY(-2px);}
  .tx-s8-footnote{margin:14px 0 0;font-size:13.5px;line-height:1.65;color:#5b6773;}
  @media(max-width:900px){.tx-s7-map-block,.tx-section-8-grid{grid-template-columns:1fr;}.tx-s7-stats-row{grid-template-columns:1fr;}.tx-s7-header h2,.tx-s8-left h2{font-size:29px;}}
  @media(max-width:600px){.tx-section-7,.tx-section-8{padding-left:14px;padding-right:14px;}.tx-s7-card{padding:16px;border-radius:18px;}.tx-s7-header h2,.tx-s8-left h2{font-size:25px;}.tx-s7-map-wrapper,.tx-s7-map-wrapper iframe{min-height:280px;}}

/* =========================================================
   FINAL RESPONSIVE CORRECTIONS
   Keep image frames consistent, restore the supplied Section 5
   city grid and isolate Section 8 from theme list styles.
   ========================================================= */

.dpt-highlight .dpt-image{
  align-self:stretch;
}
.dpt-highlight .dpt-image img{
  width:100% !important;
  height:100% !important;
  min-height:320px;
  max-height:440px;
  aspect-ratio:4 / 3;
  object-fit:cover !important;
  object-position:center;
}
.roof-problem .roof-problem-image{
  width:100% !important;
  height:260px !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center;
}
.tp-packages .tp-card img{
  width:100% !important;
  height:180px !important;
  object-fit:cover !important;
  object-position:center;
}
.roof-steps .roof-steps-image img{
  width:100% !important;
  min-height:300px;
  max-height:420px;
  object-fit:cover !important;
  object-position:center;
}

.tx-service-areas .tx-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  justify-content:stretch;
  gap:12px;
  width:100%;
  max-width:1150px;
  margin:28px auto 0;
}
.tx-service-areas .tx-city-link{
  min-width:0;
  overflow-wrap:anywhere;
}

.tx-service-areas,.tx-section-6,.tx-section-7,.tx-section-8{
  max-width:1200px;
  margin-left:auto !important;
  margin-right:auto !important;
}
.tx-service-areas{
  padding-top:58px !important;
  padding-bottom:60px !important;
}
.tx-section-6,.tx-section-7{
  padding-top:64px !important;
  padding-bottom:68px !important;
}
.tx-s5-head h2,.tx-section-6 .tx-s6-left h2,.tx-section-7 .tx-s7-header h2{
  font-size:32px !important;
  line-height:1.24 !important;
}
.tx-section-8{
  padding:58px 20px 62px !important;
  background:#241f30 !important;
  color:#fff !important;
}
.tx-section-8 .tx-section-8-grid{
  display:grid !important;
  grid-template-columns:minmax(0,2fr) minmax(280px,.72fr) !important;
  gap:42px !important;
  align-items:center !important;
}
.tx-section-8 .tx-s8-left{
  min-width:0;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.tx-section-8 .tx-s8-eyebrow{
  display:block !important;
  margin:0 0 7px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#f4b49d !important;
  font-size:12px !important;
  line-height:1.4 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
.tx-section-8 .tx-s8-left h2{
  max-width:720px;
  margin:0 0 15px !important;
  color:#fff !important;
  font-size:34px !important;
  line-height:1.18 !important;
  overflow-wrap:normal !important;
}
.tx-section-8 .tx-s8-subtitle{
  max-width:680px;
  margin:0 0 18px !important;
  color:#e5e7eb !important;
  font-size:15px !important;
  line-height:1.7 !important;
}
.tx-section-8 .tx-s8-list{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:7px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.tx-section-8 .tx-s8-list li{
  position:static !important;
  display:block !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  color:#f9fafb !important;
  font-size:14px !important;
  line-height:1.55 !important;
  font-weight:500 !important;
  overflow-wrap:anywhere;
}
.tx-section-8 .tx-s8-list li::before{
  content:none !important;
  display:none !important;
}
.tx-section-8 .tx-s8-right{
  display:flex !important;
  min-width:0;
  justify-content:flex-end !important;
}
.tx-section-8 .tx-s8-cta-card{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  width:100% !important;
  max-width:340px !important;
  min-height:0 !important;
  padding:22px !important;
  background:#fff6f2 !important;
  border:0 !important;
  border-radius:16px !important;
  color:#1f2933 !important;
  text-align:left !important;
  box-shadow:0 12px 28px rgba(0,0,0,.16) !important;
}
.tx-section-8 .tx-s8-mini-label{
  margin:0 0 8px !important;
  color:#b6533d !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase;
}
.tx-section-8 .tx-s8-phone-label{
  margin:0 0 14px !important;
  color:#3b2a2a !important;
  font-size:14px !important;
  line-height:1.55 !important;
  font-weight:600 !important;
}
.tx-section-8 .tx-s8-cta-btn{
  display:flex !important;
  width:100% !important;
  min-height:46px !important;
  margin:0 !important;
  padding:11px 16px !important;
  color:#fff !important;
  font-size:15px !important;
}
.tx-section-8 .tx-s8-footnote{
  margin:10px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  color:#6b4b42 !important;
  font-size:12.5px !important;
  line-height:1.55 !important;
}

@media(max-width:1024px){
  .tx-service-areas .tx-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media(max-width:900px){
  .tx-section-8 .tx-section-8-grid{grid-template-columns:1fr !important;}
  .tx-section-8 .tx-s8-right{justify-content:flex-start !important;}
  .tx-section-8 .tx-s8-cta-card{max-width:100% !important;}
}
@media(max-width:760px){
  .tx-service-areas .tx-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .dpt-highlight .dpt-image img{min-height:220px;max-height:340px;}
  .roof-problem .roof-problem-image{height:220px !important;}
}
@media(max-width:480px){
  .tx-service-areas .tx-grid{grid-template-columns:1fr !important;}
  .tx-service-areas,.tx-section-6,.tx-section-7{padding-top:44px !important;padding-bottom:48px !important;}
  .tx-s5-head h2,.tx-section-6 .tx-s6-left h2,.tx-section-7 .tx-s7-header h2{font-size:26px !important;}
  .tx-section-8{padding:42px 14px 46px !important;}
  .tx-section-8 .tx-s8-left{padding:0 !important;}
  .tx-section-8 .tx-s8-cta-card{padding:18px !important;border-radius:14px !important;}
  .tx-section-8 .tx-s8-left h2{font-size:27px !important;}
  .tx-section-8 .tx-s8-subtitle{font-size:15px !important;}
  .tx-section-8 .tx-s8-list li{padding:0 !important;font-size:13.5px !important;}
  .tx-section-8 .tx-s8-phone-label{font-size:14px !important;}
  .tx-section-8 .tx-s8-cta-btn{font-size:15px !important;}
}

/* =========================================================
   RANK & RENT PROFESSIONAL LANDING SYSTEM V8
   Final WordPress Additional CSS override for Homepage,
   Pages and Pages1. Keep this block last.
   ========================================================= */
:root{
  --rr-ink:#17212b;
  --rr-copy:#52606d;
  --rr-accent:#e7795b;
  --rr-accent-dark:#bd553d;
  --rr-line:#eaded8;
  --rr-warm:#fff8f4;
  --rr-soft:#f3f6f8;
  --rr-dark:#241f30;
  --rr-shadow:0 18px 45px rgba(29,38,48,.10);
}
.tp-packages,.roof-steps,.tx-service-areas,.tx-section-6,.tx-section-7,.tx-section-8{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  box-sizing:border-box !important;
  font-family:"Poppins",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}
.tp-header,.roof-steps-inner,.tx-service-areas>.tx-container,.tx-section-6-inner,.tx-section-7-inner,.tx-section-8-inner{
  width:min(1160px,calc(100% - 40px)) !important;
  max-width:1160px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}
.s34-trust-row{display:none !important;}

/* Section 3 — service option cards */
.tp-packages{
  padding:76px 20px 82px !important;
  background:var(--rr-warm) !important;
  color:var(--rr-ink) !important;
}
.tp-packages>.tp-header{margin-bottom:34px !important;text-align:center !important;}
.tp-packages .tp-header h2{
  max-width:850px !important;
  margin:0 auto 14px !important;
  color:var(--rr-ink) !important;
  font-size:clamp(30px,3.2vw,44px) !important;
  line-height:1.16 !important;
  letter-spacing:-.025em !important;
}
.tp-packages .tp-header>p{
  max-width:820px !important;
  margin:0 auto !important;
  color:var(--rr-copy) !important;
  font-size:16px !important;
  line-height:1.75 !important;
}
.tp-packages .tp-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px !important;
  width:min(1160px,calc(100% - 40px)) !important;
  max-width:1160px !important;
  margin:0 auto !important;
  padding:0 !important;
}
.tp-packages .tp-card{
  display:flex !important;
  min-width:0 !important;
  min-height:100% !important;
  flex-direction:column !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid var(--rr-line) !important;
  border-radius:18px !important;
  box-shadow:0 10px 26px rgba(34,42,52,.08) !important;
  transform:none !important;
}
.tp-packages .tp-card:hover{
  border-color:#efb49f !important;
  box-shadow:0 18px 38px rgba(34,42,52,.13) !important;
  transform:translateY(-3px) !important;
}
.tp-packages .tp-card>img{
  display:block !important;
  width:100% !important;
  height:215px !important;
  margin:0 !important;
  object-fit:cover !important;
  border:0 !important;
  border-radius:0 !important;
}
.tp-packages .tp-body{
  display:flex !important;
  flex:1 !important;
  flex-direction:column !important;
  padding:23px !important;
}
.tp-packages .tp-body header{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin:0 0 13px !important;
}
.tp-packages .tp-body h3{
  min-width:0 !important;
  margin:0 !important;
  color:var(--rr-ink) !important;
  font-size:20px !important;
  line-height:1.3 !important;
  letter-spacing:-.012em !important;
}
.tp-packages .tp-badge{
  flex:0 0 auto !important;
  max-width:44% !important;
  padding:6px 9px !important;
  background:#fff0e9 !important;
  border:1px solid #f4c8b8 !important;
  border-radius:999px !important;
  color:#a84d39 !important;
  font-size:10px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  text-align:center !important;
}
.tp-packages .tp-rating{
  margin:0 0 13px !important;
  padding:10px 12px !important;
  background:var(--rr-soft) !important;
  border-left:3px solid var(--rr-accent) !important;
  border-radius:8px !important;
  color:#344454 !important;
  font-size:12.5px !important;
  line-height:1.55 !important;
  font-weight:600 !important;
}
.tp-packages .tp-blurb{
  margin:0 0 20px !important;
  color:var(--rr-copy) !important;
  font-size:14px !important;
  line-height:1.72 !important;
}
.tp-packages .s34-card-actions{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  margin:auto 0 0 !important;
}
.tp-packages .s34-btn{
  display:flex !important;
  min-height:44px !important;
  align-items:center !important;
  justify-content:center !important;
  padding:10px 12px !important;
  border-radius:10px !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  text-decoration:none !important;
}
.tp-packages .s34-btn-call{background:var(--rr-accent) !important;color:#fff !important;border:1px solid var(--rr-accent) !important;}
.tp-packages .s34-btn-link{background:#fff !important;color:var(--rr-accent-dark) !important;border:1px solid #efb9a6 !important;}

/* Section 4 — process */
.roof-steps{padding:76px 20px 82px !important;background:var(--rr-soft) !important;}
.roof-steps .roof-steps-title{
  max-width:860px !important;
  margin:0 auto 12px !important;
  color:var(--rr-ink) !important;
  font-size:clamp(29px,3vw,42px) !important;
  line-height:1.18 !important;
  text-align:center !important;
}
.roof-steps .roof-steps-subtitle{
  max-width:800px !important;
  margin:0 auto 34px !important;
  color:var(--rr-copy) !important;
  font-size:16px !important;
  line-height:1.75 !important;
  text-align:center !important;
}
.roof-steps .roof-steps-card{
  display:grid !important;
  grid-template-columns:minmax(300px,.88fr) minmax(0,1.35fr) !important;
  gap:0 !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid #dfe6ea !important;
  border-radius:20px !important;
  box-shadow:var(--rr-shadow) !important;
}
.roof-steps .roof-steps-image{min-height:100% !important;margin:0 !important;}
.roof-steps .roof-steps-image img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:540px !important;
  object-fit:cover !important;
  border-radius:0 !important;
}
.roof-steps .roof-steps-list{padding:28px !important;}
.roof-steps .roof-steps-list ul{display:grid !important;gap:10px !important;margin:0 !important;padding:0 !important;list-style:none !important;}
.roof-steps .roof-steps-list li{
  display:grid !important;
  grid-template-columns:34px 1fr !important;
  gap:12px !important;
  align-items:start !important;
  margin:0 !important;
  padding:12px !important;
  background:#f8fafb !important;
  border:1px solid #e7ecef !important;
  border-radius:11px !important;
}
.roof-steps .roof-step-icon{
  display:flex !important;
  width:32px !important;
  height:32px !important;
  align-items:center !important;
  justify-content:center !important;
  background:var(--rr-accent) !important;
  border-radius:50% !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:700 !important;
}
.roof-steps .roof-step-text{color:var(--rr-copy) !important;font-size:13px !important;line-height:1.55 !important;}
.roof-steps .roof-step-text strong{color:var(--rr-ink) !important;font-size:14px !important;}
.roof-steps .roof-steps-cta-wrap{
  margin:28px auto 0 !important;
  padding:18px 22px !important;
  background:#fff4ef !important;
  border:1px solid #f1c6b6 !important;
  border-radius:14px !important;
  text-align:center !important;
}

/* Section 6 — trust and service standards */
.tx-section-6{padding:78px 20px !important;background:#edf3f6 !important;}
.tx-section-6 .tx-section-6-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr) !important;
  gap:28px !important;
  align-items:stretch !important;
}
.tx-section-6 .tx-s6-panel{
  min-width:0 !important;
  padding:30px !important;
  background:#fff !important;
  border:1px solid #dfe7eb !important;
  border-radius:18px !important;
  box-shadow:0 12px 32px rgba(35,48,58,.08) !important;
}
.tx-section-6 .tx-kicker-left{
  display:inline-flex !important;
  margin:0 0 12px !important;
  padding:7px 11px !important;
  background:#fff0e9 !important;
  border-radius:999px !important;
  color:var(--rr-accent-dark) !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}
.tx-section-6 .tx-s6-left h2{
  margin:0 0 14px !important;
  color:var(--rr-ink) !important;
  font-size:clamp(28px,3vw,39px) !important;
  line-height:1.2 !important;
}
.tx-section-6 .tx-s6-subtitle{margin:0 0 24px !important;color:var(--rr-copy) !important;font-size:15px !important;line-height:1.75 !important;}
.tx-section-6 .tx-proof-wrap{display:block !important;margin:0 0 24px !important;}
.tx-section-6 .tx-proof-wrap>h3{margin:0 0 8px !important;color:var(--rr-ink) !important;font-size:20px !important;}
.tx-section-6 .tx-proof-wrap>p{margin:0 0 16px !important;color:var(--rr-copy) !important;font-size:13.5px !important;line-height:1.65 !important;}
.tx-section-6 .tx-proof-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:12px !important;}
.tx-section-6 .tx-proof-card{
  min-width:0 !important;
  padding:16px !important;
  background:#f8fafb !important;
  border:1px solid #e3e9ed !important;
  border-top:3px solid var(--rr-accent) !important;
  border-radius:11px !important;
}
.tx-section-6 .tx-proof-card span{display:block !important;margin:0 0 7px !important;color:var(--rr-accent-dark) !important;font-size:10px !important;font-weight:700 !important;text-transform:uppercase !important;}
.tx-section-6 .tx-proof-card strong{display:block !important;margin:0 0 7px !important;color:var(--rr-ink) !important;font-size:14px !important;line-height:1.4 !important;}
.tx-section-6 .tx-proof-card p{margin:0 !important;color:var(--rr-copy) !important;font-size:12.5px !important;line-height:1.6 !important;}
.tx-section-6 .tx-s6-features ul{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;margin:0 !important;padding:0 !important;list-style:none !important;}
.tx-section-6 .tx-s6-features li{
  position:relative !important;
  margin:0 !important;
  padding:12px 12px 12px 38px !important;
  background:#fff8f4 !important;
  border:1px solid #f1d8cd !important;
  border-radius:10px !important;
  color:#394957 !important;
  font-size:12.5px !important;
  line-height:1.55 !important;
}
.tx-section-6 .tx-s6-features li::before{
  content:"✓" !important;
  position:absolute !important;
  left:12px !important;
  top:11px !important;
  display:flex !important;
  width:18px !important;
  height:18px !important;
  align-items:center !important;
  justify-content:center !important;
  background:var(--rr-accent) !important;
  border-radius:50% !important;
  color:#fff !important;
  font-size:11px !important;
  font-weight:700 !important;
}
.tx-section-6 .tx-s6-right{display:flex !important;flex-direction:column !important;gap:12px !important;background:var(--rr-dark) !important;}
.tx-section-6 .tx-info-card{
  margin:0 !important;
  padding:17px !important;
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.13) !important;
  border-radius:12px !important;
  box-shadow:none !important;
}
.tx-section-6 .tx-info-label{margin:0 0 7px !important;color:#f4b49d !important;font-size:10px !important;font-weight:700 !important;text-transform:uppercase !important;}
.tx-section-6 .tx-name{margin:0 0 6px !important;color:#fff !important;font-size:15px !important;font-weight:700 !important;}
.tx-section-6 .tx-quote{margin:0 !important;color:#e1e6ea !important;font-size:12.5px !important;line-height:1.65 !important;}
.tx-section-6 .tx-s6-closing{margin:auto 0 0 !important;padding-top:16px !important;border-top:1px solid rgba(255,255,255,.16) !important;color:#eef1f3 !important;font-size:13px !important;line-height:1.65 !important;}
.tx-section-6 .tx-s6-cta{display:flex !important;min-height:48px !important;align-items:center !important;justify-content:center !important;padding:12px 18px !important;background:var(--rr-accent) !important;border-radius:999px !important;color:#fff !important;font-size:14px !important;font-weight:700 !important;text-decoration:none !important;}

/* Section 7 — coverage and FAQ */
.tx-section-7{padding:78px 20px 84px !important;background:var(--rr-warm) !important;}
.tx-section-7 .tx-s7-header{max-width:820px !important;margin:0 auto 28px !important;text-align:center !important;}
.tx-section-7 .tx-s7-eyebrow{display:inline-flex !important;margin:0 0 12px !important;padding:7px 12px !important;background:#fff0e9 !important;border-radius:999px !important;color:var(--rr-accent-dark) !important;font-size:11px !important;font-weight:700 !important;text-transform:uppercase !important;}
.tx-section-7 .tx-s7-header h2{margin:0 0 13px !important;color:var(--rr-ink) !important;font-size:clamp(29px,3vw,42px) !important;line-height:1.2 !important;}
.tx-section-7 .tx-s7-header-sub{margin:0 !important;color:var(--rr-copy) !important;font-size:15px !important;line-height:1.75 !important;}
.tx-section-7 .tx-s7-card{
  overflow:hidden !important;
  padding:28px !important;
  background:#fff !important;
  border:1px solid var(--rr-line) !important;
  border-radius:20px !important;
  box-shadow:var(--rr-shadow) !important;
}
.tx-section-7 .tx-s7-map-wrapper{display:grid !important;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr) !important;gap:24px !important;align-items:stretch !important;}
.tx-section-7 .tx-s7-map-text{padding:23px !important;background:var(--rr-dark) !important;border-radius:15px !important;color:#fff !important;}
.tx-section-7 .tx-s7-map-text h3{margin:0 0 11px !important;color:#fff !important;font-size:21px !important;line-height:1.35 !important;}
.tx-section-7 .tx-s7-map-sub{margin:0 !important;color:#e5e7eb !important;font-size:13.5px !important;line-height:1.7 !important;}
.tx-section-7 .tx-s7-map-block{min-height:260px !important;overflow:hidden !important;border-radius:15px !important;}
.tx-section-7 .tx-s7-map-block iframe{display:block !important;width:100% !important;height:100% !important;min-height:260px !important;border:0 !important;}
.tx-section-7 .tx-s7-stats-row{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:13px !important;margin:22px 0 !important;}
.tx-section-7 .tx-s7-stat-card{min-width:0 !important;padding:17px !important;background:#f7f9fa !important;border:1px solid #e3e8eb !important;border-radius:12px !important;}
.tx-section-7 .tx-s7-stat-label{margin:0 0 7px !important;color:var(--rr-accent-dark) !important;font-size:10px !important;font-weight:700 !important;text-transform:uppercase !important;}
.tx-section-7 .tx-s7-stat-value{margin:0 0 7px !important;color:var(--rr-ink) !important;font-size:15px !important;font-weight:700 !important;line-height:1.4 !important;}
.tx-section-7 .tx-s7-stat-note{margin:0 !important;color:var(--rr-copy) !important;font-size:12.5px !important;line-height:1.6 !important;}
.tx-section-7 .tx-s7-coverage{margin:0 0 24px !important;padding:21px !important;background:#fff5ef !important;border:1px solid #f2d0c3 !important;border-radius:14px !important;}
.tx-section-7 .tx-s7-coverage h3,.tx-section-7 .tx-s7-faq-heading{margin:0 0 9px !important;color:var(--rr-ink) !important;font-size:21px !important;line-height:1.35 !important;}
.tx-section-7 .tx-s7-coverage-body,.tx-section-7 .tx-s7-faq-intro{margin:0 0 10px !important;color:var(--rr-copy) !important;font-size:13.5px !important;line-height:1.7 !important;}
.tx-section-7 .tx-s7-coverage-hint{margin:0 !important;color:#344454 !important;font-size:12.5px !important;line-height:1.65 !important;font-weight:600 !important;}
.tx-section-7 .tx-s7-faq-list{display:grid !important;gap:10px !important;margin-top:16px !important;}
.tx-section-7 .tx-faq-item{margin:0 !important;background:#fff !important;border:1px solid #dfe6ea !important;border-radius:11px !important;overflow:hidden !important;}
.tx-section-7 .tx-faq-item summary{position:relative !important;padding:15px 46px 15px 16px !important;color:var(--rr-ink) !important;font-size:13.5px !important;line-height:1.5 !important;font-weight:700 !important;cursor:pointer !important;list-style:none !important;}
.tx-section-7 .tx-faq-item summary::after{content:"+" !important;position:absolute !important;right:16px !important;top:50% !important;transform:translateY(-50%) !important;color:var(--rr-accent) !important;font-size:20px !important;}
.tx-section-7 .tx-faq-item[open] summary::after{content:"−" !important;}
.tx-section-7 .tx-faq-item p{margin:0 !important;padding:0 16px 16px !important;color:var(--rr-copy) !important;font-size:13px !important;line-height:1.7 !important;}
.tx-section-7 .tx-s7-cta-wrap{margin-top:22px !important;text-align:center !important;}
.tx-section-7 .tx-s7-cta{display:inline-flex !important;min-height:48px !important;align-items:center !important;justify-content:center !important;padding:12px 22px !important;background:var(--rr-accent) !important;border-radius:999px !important;color:#fff !important;font-size:14px !important;font-weight:700 !important;text-decoration:none !important;}

/* Section 8 — compact conversion close */
.tx-section-8{padding:70px 20px !important;background:var(--rr-dark) !important;}
.tx-section-8 .tx-section-8-grid{display:grid !important;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr) !important;gap:38px !important;align-items:center !important;}
.tx-section-8 .tx-s8-left h2{max-width:760px !important;margin:0 0 14px !important;color:#fff !important;font-size:clamp(29px,3vw,40px) !important;line-height:1.2 !important;}
.tx-section-8 .tx-s8-subtitle{max-width:720px !important;margin:0 0 20px !important;color:#dce3e7 !important;font-size:15px !important;line-height:1.72 !important;}
.tx-section-8 .tx-s8-list{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:9px !important;margin:0 !important;padding:0 !important;list-style:none !important;}
.tx-section-8 .tx-s8-list li{
  position:relative !important;
  min-width:0 !important;
  margin:0 !important;
  padding:10px 12px 10px 36px !important;
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:10px !important;
  color:#f4f6f7 !important;
  font-size:12.5px !important;
  line-height:1.5 !important;
}
.tx-section-8 .tx-s8-list li::before{content:"✓" !important;display:block !important;position:absolute !important;left:12px !important;top:10px !important;color:#f4a98f !important;font-weight:700 !important;}
.tx-section-8 .tx-s8-cta-card{max-width:360px !important;padding:24px !important;background:#fff8f4 !important;border:1px solid #f0c5b6 !important;border-radius:17px !important;box-shadow:0 18px 38px rgba(0,0,0,.22) !important;}
.tx-section-8 .tx-s8-cta-btn{display:flex !important;width:100% !important;min-height:48px !important;align-items:center !important;justify-content:center !important;background:var(--rr-accent) !important;border-radius:999px !important;color:#fff !important;font-size:14px !important;font-weight:700 !important;text-decoration:none !important;}

@media(max-width:980px){
  .tp-packages .tp-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .roof-steps .roof-steps-card,.tx-section-6 .tx-section-6-grid,.tx-section-7 .tx-s7-map-wrapper,.tx-section-8 .tx-section-8-grid{grid-template-columns:1fr !important;}
  .roof-steps .roof-steps-image img{min-height:340px !important;max-height:460px !important;}
  .tx-section-8 .tx-s8-cta-card{max-width:none !important;}
}
@media(max-width:700px){
  .tp-header,.roof-steps-inner,.tx-service-areas>.tx-container,.tx-section-6-inner,.tx-section-7-inner,.tx-section-8-inner{width:min(100% - 28px,1160px) !important;}
  .tp-packages,.roof-steps,.tx-section-6,.tx-section-7,.tx-section-8{padding:52px 14px !important;}
  .tp-packages .tp-grid{width:min(100% - 28px,1160px) !important;grid-template-columns:1fr !important;gap:18px !important;}
  .tp-packages .tp-card>img{height:225px !important;}
  .tp-packages .tp-body{padding:20px !important;}
  .tp-packages .tp-body header{display:block !important;}
  .tp-packages .tp-badge{display:inline-flex !important;max-width:100% !important;margin-top:9px !important;}
  .roof-steps .roof-steps-list,.tx-section-7 .tx-s7-card,.tx-section-6 .tx-s6-panel{padding:20px !important;}
  .roof-steps .roof-steps-image img{min-height:260px !important;max-height:330px !important;}
  .tx-section-6 .tx-proof-grid,.tx-section-6 .tx-s6-features ul,.tx-section-7 .tx-s7-stats-row,.tx-section-8 .tx-s8-list{grid-template-columns:1fr !important;}
  .tx-section-7 .tx-s7-map-block,.tx-section-7 .tx-s7-map-block iframe{min-height:230px !important;}
}
@media(max-width:420px){
  .tp-packages .s34-card-actions{grid-template-columns:1fr !important;}
  .tp-packages .tp-card>img{height:205px !important;}
  .roof-steps .roof-steps-list li{grid-template-columns:30px 1fr !important;padding:10px !important;}
  .roof-steps .roof-step-icon{width:28px !important;height:28px !important;}
}

/* =========================================================
   UNIFIED PROFESSIONAL THEME V9
   Final visual alignment for Homepage, Pages and Pages1.
   ========================================================= */
:root{
  --rr-container:1160px;
  --rr-section-space:72px;
  --rr-title-size:clamp(30px,3vw,42px);
  --rr-title-line:1.18;
  --rr-body-size:15px;
  --rr-body-line:1.72;
}
.dpt-highlight,.roof-problem,.tp-packages,.roof-steps,.tx-service-areas,.tx-section-6,.tx-section-7,.tx-section-8{
  overflow:hidden !important;
}
.dpt-highlight .dpt-wrapper,
.roof-problem .roof-problem-inner,
.roof-problem .roof-inspection-callout,
.tp-packages .tp-header,
.tp-packages .tp-grid,
.roof-steps .roof-steps-inner,
.tx-service-areas>.tx-container,
.tx-section-6 .tx-section-6-inner,
.tx-section-7 .tx-section-7-inner,
.tx-section-8 .tx-section-8-inner{
  width:min(var(--rr-container),calc(100% - 40px)) !important;
  max-width:var(--rr-container) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.roof-problem .roof-section-title,
.tp-packages .tp-header h2,
.roof-steps .roof-steps-title,
.tx-service-areas .tx-s5-head h2,
.tx-section-6 .tx-s6-left h2,
.tx-section-7 .tx-s7-header h2,
.tx-section-8 .tx-s8-left h2{
  color:var(--rr-ink) !important;
  font-family:"Poppins",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  font-size:var(--rr-title-size) !important;
  font-weight:700 !important;
  line-height:var(--rr-title-line) !important;
  letter-spacing:-.025em !important;
  text-wrap:balance !important;
}
.tx-section-8 .tx-s8-left h2{color:#fff !important;}
.roof-problem .roof-section-intro,
.tp-packages .tp-header>p,
.roof-steps .roof-steps-subtitle,
.tx-service-areas .tx-intro,
.tx-section-6 .tx-s6-subtitle,
.tx-section-7 .tx-s7-header-sub,
.tx-section-8 .tx-s8-subtitle{
  font-family:"Poppins",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  font-size:var(--rr-body-size) !important;
  line-height:var(--rr-body-line) !important;
}
.roof-problem .roof-eyebrow,
.tx-service-areas .tx-kicker,
.tx-section-6 .tx-kicker,
.tx-section-7 .tx-s7-eyebrow,
.tx-section-8 .tx-s8-eyebrow{
  display:inline-flex !important;
  width:auto !important;
  align-items:center !important;
  margin:0 0 13px !important;
  padding:7px 12px !important;
  background:#fff0e9 !important;
  border:1px solid #f3c9ba !important;
  border-radius:999px !important;
  color:var(--rr-accent-dark) !important;
  font-size:10.5px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
  letter-spacing:.075em !important;
  text-transform:uppercase !important;
}
.tx-section-8 .tx-s8-eyebrow{
  background:rgba(231,121,91,.12) !important;
  border-color:rgba(244,180,157,.34) !important;
  color:#f4b49d !important;
}

/* Section 1 alignment */
.dpt-highlight{padding:var(--rr-section-space) 20px !important;background:#fff8f4 !important;}
.dpt-highlight .dpt-wrapper{display:grid !important;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr) !important;gap:52px !important;align-items:center !important;}
.dpt-highlight .dpt-title{
  margin:0 0 14px !important;
  color:var(--rr-ink) !important;
  font-size:clamp(36px,4vw,52px) !important;
  font-weight:700 !important;
  line-height:1.12 !important;
  letter-spacing:-.035em !important;
  text-wrap:balance !important;
}
.dpt-highlight .dpt-desc{font-size:15px !important;line-height:1.72 !important;}
.dpt-highlight .dpt-image{margin:0 !important;overflow:hidden !important;border-radius:20px !important;box-shadow:var(--rr-shadow) !important;}
.dpt-highlight .dpt-image img{display:block !important;width:100% !important;height:480px !important;object-fit:cover !important;}

/* Section 2 — simple, balanced and overflow-safe */
.roof-problem{
  padding:var(--rr-section-space) 20px !important;
  background:#f3f6f8 !important;
  color:var(--rr-ink) !important;
}
.roof-problem .roof-problem-inner{
  display:grid !important;
  grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr) !important;
  gap:46px !important;
  align-items:start !important;
}
.roof-problem .roof-problem-copy,
.roof-problem .roof-problem-locations{
  min-width:0 !important;
  width:auto !important;
  flex:none !important;
}
.roof-problem .roof-section-title{
  max-width:720px !important;
  margin:0 0 15px !important;
}
.roof-problem .roof-section-intro{
  max-width:680px !important;
  margin:0 0 23px !important;
  color:var(--rr-copy) !important;
}
.roof-problem .roof-visual-card{
  margin:0 0 18px !important;
  padding:12px !important;
  background:#fff !important;
  border:1px solid #dfe6ea !important;
  border-radius:17px !important;
  box-shadow:0 12px 30px rgba(31,41,51,.08) !important;
}
.roof-problem .roof-visual-label{
  margin:1px 2px 10px !important;
  color:#52606d !important;
  font-size:10.5px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
.roof-problem .roof-problem-image{
  display:block !important;
  width:100% !important;
  height:285px !important;
  max-height:none !important;
  margin:0 !important;
  object-fit:cover !important;
  border-radius:12px !important;
}
.roof-problem .roof-problem-list{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.roof-problem .roof-problem-list li{
  position:relative !important;
  min-width:0 !important;
  margin:0 !important;
  padding:11px 12px 11px 37px !important;
  background:#fff !important;
  border:1px solid #dfe6ea !important;
  border-radius:10px !important;
  color:#425466 !important;
  font-size:12px !important;
  line-height:1.5 !important;
}
.roof-problem .roof-problem-list li::before{
  content:"✓" !important;
  position:absolute !important;
  top:11px !important;
  left:12px !important;
  display:flex !important;
  width:17px !important;
  height:17px !important;
  align-items:center !important;
  justify-content:center !important;
  background:var(--rr-accent) !important;
  border-radius:50% !important;
  color:#fff !important;
  font-size:10px !important;
  font-weight:700 !important;
}
.roof-problem .roof-problem-list strong{color:#344454 !important;font-weight:600 !important;}
.roof-problem .roof-problem-locations{
  padding:26px !important;
  background:#fff !important;
  border:1px solid #dfe6ea !important;
  border-radius:18px !important;
  box-shadow:0 12px 30px rgba(31,41,51,.07) !important;
}
.roof-problem .roof-locations-title{
  margin:0 0 8px !important;
  color:var(--rr-ink) !important;
  font-size:21px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
  letter-spacing:-.015em !important;
}
.roof-problem .roof-locations-sub{
  margin:0 0 19px !important;
  color:var(--rr-copy) !important;
  font-size:13.5px !important;
  line-height:1.65 !important;
}
.roof-problem .roof-service-areas{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
}
.roof-problem .roof-area-card{
  display:block !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:17px !important;
  background:#f8fafb !important;
  border:1px solid #e1e7ea !important;
  border-top:3px solid var(--rr-accent) !important;
  border-radius:12px !important;
  box-shadow:none !important;
}
.roof-problem .roof-area-label{
  margin:0 0 7px !important;
  color:var(--rr-accent-dark) !important;
  font-size:10px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
.roof-problem .roof-area-title{
  margin:0 0 7px !important;
  color:var(--rr-ink) !important;
  font-size:15px !important;
  line-height:1.4 !important;
  font-weight:700 !important;
  overflow-wrap:anywhere !important;
}
.roof-problem .roof-area-cities{
  margin:0 !important;
  color:var(--rr-copy) !important;
  font-size:12.5px !important;
  line-height:1.6 !important;
  overflow-wrap:anywhere !important;
}
.roof-problem .roof-zip-tags{display:none !important;}
.roof-problem .roof-inspection-callout{
  margin-top:24px !important;
  padding:15px 20px !important;
  background:#fff0e9 !important;
  border:1px solid #f0c4b4 !important;
  border-radius:13px !important;
  box-shadow:none !important;
}
.roof-problem .roof-inspection-text{
  margin:0 !important;
  color:#3f4d59 !important;
  font-size:13px !important;
  line-height:1.65 !important;
  font-weight:500 !important;
}
.roof-problem .roof-call-link{
  min-height:40px !important;
  margin-left:10px !important;
  padding:9px 15px !important;
  background:var(--rr-accent) !important;
  border-radius:999px !important;
  color:#fff !important;
  font-size:12.5px !important;
}

/* Sections 3–4 — shared card rhythm */
.tp-packages,.roof-steps,.tx-service-areas,.tx-section-6,.tx-section-7,.tx-section-8{
  padding-top:var(--rr-section-space) !important;
  padding-bottom:var(--rr-section-space) !important;
}
.tp-packages .tp-header,.roof-steps .roof-steps-title,.tx-service-areas .tx-s5-head,.tx-section-7 .tx-s7-header{
  text-align:center !important;
}
.tp-packages .tp-card,.roof-steps .roof-steps-card,.tx-section-6 .tx-s6-panel,.tx-section-7 .tx-s7-card{
  border-radius:18px !important;
}
.tp-packages .tp-grid{gap:22px !important;}
.tp-packages .tp-card>img{height:205px !important;}
.tp-packages .tp-body{padding:21px !important;}
.tp-packages .tp-body h3{font-size:18px !important;line-height:1.35 !important;}
.tp-packages .tp-blurb{font-size:13px !important;line-height:1.68 !important;}
.roof-steps .roof-steps-card{grid-template-columns:minmax(320px,.9fr) minmax(0,1.25fr) !important;}
.roof-steps .roof-steps-image img{min-height:500px !important;}
.roof-steps .roof-steps-list{padding:25px !important;}

/* Sections 5–8 — consistent text width and hierarchy */
.tx-service-areas .tx-s5-head,
.tx-section-7 .tx-s7-header{
  max-width:820px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.tx-service-areas .tx-intro{max-width:800px !important;margin-left:auto !important;margin-right:auto !important;color:var(--rr-copy) !important;}
.tx-section-6 .tx-section-6-grid{gap:24px !important;}
.tx-section-7 .tx-s7-card{padding:26px !important;}
.tx-section-7 .tx-s7-map-text{display:flex !important;flex-direction:column !important;justify-content:center !important;padding:25px !important;}
.tx-section-7 .tx-s7-stat-note{
  display:-webkit-box !important;
  overflow:hidden !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:4 !important;
}
.tx-section-7 .tx-s7-coverage{padding:20px !important;}
.tx-section-8 .tx-section-8-grid{gap:34px !important;}
.tx-section-8 .tx-s8-list li{overflow-wrap:anywhere !important;}

@media(max-width:980px){
  :root{--rr-section-space:60px;}
  .dpt-highlight .dpt-wrapper,
  .roof-problem .roof-problem-inner,
  .roof-steps .roof-steps-card,
  .tx-section-6 .tx-section-6-grid,
  .tx-section-7 .tx-s7-map-wrapper,
  .tx-section-8 .tx-section-8-grid{
    grid-template-columns:1fr !important;
  }
  .dpt-highlight .dpt-image img{height:400px !important;}
  .roof-problem .roof-problem-locations{padding:22px !important;}
  .roof-steps .roof-steps-image img{min-height:340px !important;max-height:430px !important;}
}
@media(max-width:700px){
  :root{--rr-section-space:46px;--rr-title-size:clamp(27px,8vw,34px);--rr-body-size:14px;}
  .dpt-highlight,.roof-problem,.tp-packages,.roof-steps,.tx-service-areas,.tx-section-6,.tx-section-7,.tx-section-8{
    padding-left:14px !important;
    padding-right:14px !important;
  }
  .dpt-highlight .dpt-wrapper,
  .roof-problem .roof-problem-inner,
  .roof-problem .roof-inspection-callout,
  .tp-packages .tp-header,
  .tp-packages .tp-grid,
  .roof-steps .roof-steps-inner,
  .tx-service-areas>.tx-container,
  .tx-section-6 .tx-section-6-inner,
  .tx-section-7 .tx-section-7-inner,
  .tx-section-8 .tx-section-8-inner{
    width:100% !important;
  }
  .dpt-highlight .dpt-wrapper{gap:28px !important;}
  .dpt-highlight .dpt-title{font-size:clamp(31px,9vw,40px) !important;}
  .dpt-highlight .dpt-image img{height:290px !important;}
  .roof-problem .roof-problem-inner{gap:24px !important;}
  .roof-problem .roof-problem-image{height:235px !important;}
  .roof-problem .roof-problem-list,
  .roof-problem .roof-service-areas,
  .tp-packages .tp-grid,
  .tx-section-6 .tx-proof-grid,
  .tx-section-6 .tx-s6-features ul,
  .tx-section-7 .tx-s7-stats-row,
  .tx-section-8 .tx-s8-list{
    grid-template-columns:1fr !important;
  }
  .roof-problem .roof-problem-locations,
  .tx-section-6 .tx-s6-panel,
  .tx-section-7 .tx-s7-card{padding:18px !important;}
  .roof-problem .roof-inspection-text{text-align:left !important;}
  .roof-problem .roof-call-link{display:flex !important;width:100% !important;margin:12px 0 0 !important;}
  .tp-packages .tp-card>img{height:220px !important;}
  .roof-steps .roof-steps-image img{min-height:260px !important;max-height:320px !important;}
  .roof-steps .roof-steps-list{padding:17px !important;}
  .tx-section-7 .tx-s7-map-block,.tx-section-7 .tx-s7-map-block iframe{min-height:220px !important;}
}
@media(max-width:400px){
  .roof-problem .roof-problem-image{height:205px !important;}
  .roof-problem .roof-area-card{padding:15px !important;}
  .tp-packages .tp-card>img{height:200px !important;}
}

/* =========================================================
   EDITORIAL LANDING SYSTEM V10
   Reference-aligned Sections 2, 4, 5, 7 and 8.
   Existing classes, colors and Section 1–8 order are preserved.
   ========================================================= */
.roof-problem,.roof-steps,.tx-service-areas,.tx-section-7,.tx-section-8{
  font-family:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif !important;
  font-size:16px !important;
  line-height:1.72 !important;
  -webkit-font-smoothing:antialiased !important;
  text-rendering:optimizeLegibility !important;
}
.roof-problem .roof-section-title,
.roof-steps .roof-steps-title,
.tx-service-areas .tx-s5-head h2,
.tx-section-7 .tx-s7-header h2,
.tx-section-8 .tx-s8-left h2{
  font-family:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif !important;
  font-size:clamp(24px,1.22rem + 1.25vw,37px) !important;
  line-height:1.28 !important;
  font-weight:700 !important;
  letter-spacing:-.024em !important;
  text-wrap:balance !important;
}
.roof-problem .roof-section-intro,
.roof-steps .roof-steps-subtitle,
.tx-service-areas .tx-intro,
.tx-section-7 .tx-s7-header-sub,
.tx-section-8 .tx-s8-subtitle{
  font-size:clamp(16px,1rem + .18vw,18px) !important;
  line-height:1.66 !important;
  font-weight:400 !important;
}

/* Section 2 — editorial heading, image/signs split and four focus cards */
.roof-problem{
  padding:clamp(56px,5vw,88px) 20px !important;
  background:#f3f6f8 !important;
}
.roof-problem .roof-problem-inner{
  display:block !important;
  width:min(1160px,calc(100% - 40px)) !important;
  max-width:1160px !important;
}
.roof-problem .roof-problem-copy{
  display:grid !important;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr) !important;
  grid-template-areas:
    "eyebrow eyebrow"
    "title title"
    "intro intro"
    "visual signs" !important;
  gap:0 44px !important;
  width:100% !important;
  max-width:none !important;
}
.roof-problem .roof-eyebrow{
  grid-area:eyebrow !important;
  justify-self:center !important;
  margin:0 0 15px !important;
}
.roof-problem .roof-section-title{
  grid-area:title !important;
  justify-self:center !important;
  max-width:800px !important;
  margin:0 0 15px !important;
  text-align:center !important;
}
.roof-problem .roof-section-intro{
  grid-area:intro !important;
  max-width:860px !important;
  margin:0 auto 34px !important;
  padding:20px 25px !important;
  background:#fff !important;
  border:1px solid #e2e8ec !important;
  border-left:3px solid var(--rr-accent) !important;
  border-radius:0 12px 12px 0 !important;
  box-shadow:0 1px 2px rgba(23,33,43,.04),0 3px 10px rgba(23,33,43,.04) !important;
  color:#52606d !important;
  font-size:15px !important;
  line-height:1.72 !important;
}
.roof-problem .roof-visual-card{
  grid-area:visual !important;
  align-self:start !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid #dfe6ea !important;
  border-radius:18px !important;
  box-shadow:0 1px 3px rgba(23,33,43,.06),0 10px 28px rgba(23,33,43,.07) !important;
}
.roof-problem .roof-visual-label{
  margin:0 !important;
  padding:11px 18px !important;
  background:var(--rr-dark) !important;
  color:#e7edf1 !important;
  font-size:12px !important;
  letter-spacing:.04em !important;
}
.roof-problem .roof-problem-image{
  height:390px !important;
  border-radius:0 !important;
}
.roof-problem .roof-problem-list{
  grid-area:signs !important;
  display:block !important;
  align-self:center !important;
  margin:0 !important;
}
.roof-problem .roof-problem-list li{
  position:relative !important;
  min-height:0 !important;
  margin:0 0 21px !important;
  padding:2px 0 2px 46px !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  color:#425466 !important;
  font-size:14px !important;
  line-height:1.62 !important;
}
.roof-problem .roof-problem-list li:last-child{margin-bottom:0 !important;}
.roof-problem .roof-problem-list li::before{
  top:1px !important;
  left:0 !important;
  width:28px !important;
  height:28px !important;
  background:#fff0e9 !important;
  border:1px solid #efc1b0 !important;
  color:var(--rr-accent-dark) !important;
  font-size:13px !important;
}
.roof-problem .roof-problem-list strong{
  display:block !important;
  color:var(--rr-ink) !important;
  font-size:14px !important;
  line-height:1.62 !important;
  font-weight:600 !important;
}
.roof-problem .roof-problem-locations{
  width:100% !important;
  margin-top:38px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.roof-problem .roof-locations-title{
  margin:0 0 8px !important;
  text-align:center !important;
  font-size:19px !important;
  font-weight:700 !important;
}
.roof-problem .roof-locations-sub{
  max-width:700px !important;
  margin:0 auto 23px !important;
  text-align:center !important;
  font-size:14px !important;
}
.roof-problem .roof-service-areas{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
}
.roof-problem .roof-area-card{
  padding:22px 20px !important;
  background:#fff !important;
  border:1px solid #dfe6ea !important;
  border-top:3px solid var(--rr-accent) !important;
  border-radius:12px !important;
  box-shadow:0 1px 2px rgba(23,33,43,.04),0 2px 8px rgba(23,33,43,.04) !important;
  transition:transform .18s ease,box-shadow .18s ease !important;
}
.roof-problem .roof-area-card:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 1px 3px rgba(23,33,43,.06),0 10px 28px rgba(23,33,43,.07) !important;
}
.roof-problem .roof-area-title{font-size:16px !important;line-height:1.45 !important;}
.roof-problem .roof-area-cities{font-size:13px !important;line-height:1.68 !important;}
.roof-problem .roof-inspection-callout{
  display:flex !important;
  align-items:center !important;
  margin-top:38px !important;
  padding:25px 31px !important;
  background:var(--rr-dark) !important;
  border:0 !important;
  border-radius:18px !important;
}
.roof-problem .roof-inspection-text{
  color:#dce4e9 !important;
  font-size:14px !important;
  line-height:1.68 !important;
  text-align:left !important;
}
.roof-problem .roof-inspection-text strong{color:#fff !important;font-size:16px !important;}

/* Section 4 — image plus restrained vertical process timeline */
.roof-steps{
  padding:clamp(56px,5vw,88px) 20px !important;
  background:#f3f6f8 !important;
}
.roof-steps .roof-steps-title{max-width:760px !important;margin-bottom:13px !important;}
.roof-steps .roof-steps-subtitle{max-width:740px !important;margin-bottom:38px !important;}
.roof-steps .roof-steps-card{
  display:grid !important;
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr) !important;
  gap:52px !important;
  align-items:start !important;
  overflow:visible !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.roof-steps .roof-steps-image{
  overflow:hidden !important;
  border-radius:18px !important;
  box-shadow:0 1px 3px rgba(23,33,43,.06),0 10px 28px rgba(23,33,43,.09) !important;
}
.roof-steps .roof-steps-image img{
  min-height:650px !important;
  max-height:720px !important;
  object-fit:cover !important;
}
.roof-steps .roof-steps-list{padding:0 !important;background:transparent !important;}
.roof-steps .roof-steps-list ul{display:block !important;}
.roof-steps .roof-steps-list li{
  position:relative !important;
  display:block !important;
  min-height:64px !important;
  margin:0 !important;
  padding:0 0 25px 58px !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
}
.roof-steps .roof-steps-list li:not(:last-child)::after{
  content:"" !important;
  position:absolute !important;
  top:41px !important;
  bottom:5px !important;
  left:19px !important;
  width:2px !important;
  background:#d6dee3 !important;
}
.roof-steps .roof-step-icon{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  width:40px !important;
  height:40px !important;
  background:var(--rr-dark) !important;
  box-shadow:0 0 0 4px #f3f6f8 !important;
  font-size:13px !important;
  font-weight:800 !important;
}
.roof-steps .roof-step-text{
  padding-top:7px !important;
  color:#52606d !important;
  font-size:14px !important;
  line-height:1.62 !important;
}
.roof-steps .roof-step-text strong{
  display:inline-block !important;
  margin-bottom:5px !important;
  color:var(--rr-ink) !important;
  font-size:16px !important;
}
.roof-steps .roof-steps-cta-wrap{
  max-width:760px !important;
  margin:38px auto 0 !important;
  padding:27px 31px !important;
  background:#fff !important;
  border:1px solid #dfe6ea !important;
  border-radius:18px !important;
  box-shadow:0 1px 2px rgba(23,33,43,.04),0 2px 8px rgba(23,33,43,.04) !important;
}

/* Section 5 — simple, scalable location directory */
.tx-service-areas{
  padding:clamp(56px,5vw,88px) 20px !important;
  background:#fff !important;
}
.tx-service-areas .tx-s5-head{max-width:760px !important;margin:0 auto 35px !important;}
.tx-service-areas .tx-intro{max-width:720px !important;}
.tx-service-areas .tx-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(168px,1fr)) !important;
  gap:12px !important;
}
.tx-service-areas .tx-city-link{
  display:flex !important;
  min-width:0 !important;
  min-height:52px !important;
  align-items:center !important;
  justify-content:center !important;
  padding:10px 14px !important;
  background:#fff !important;
  border:1px solid #dfe6ea !important;
  border-radius:12px !important;
  box-shadow:none !important;
  color:#344454 !important;
  font-size:13px !important;
  line-height:1.4 !important;
  font-weight:600 !important;
  text-align:center !important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease !important;
}
.tx-service-areas .tx-city-link:hover,
.tx-service-areas .tx-city-link:focus{
  transform:translateY(-2px) !important;
  background:var(--rr-accent) !important;
  border-color:var(--rr-accent) !important;
  color:#fff !important;
  box-shadow:0 8px 20px rgba(224,122,95,.26) !important;
}
.tx-service-areas .tx-show-more-wrap{margin-top:28px !important;}

/* Section 7 — two useful coverage panels followed by a focused FAQ */
.tx-section-7{
  padding:clamp(56px,5vw,88px) 20px !important;
  background:#fff !important;
}
.tx-section-7 .tx-s7-header{max-width:760px !important;margin-bottom:36px !important;}
.tx-section-7 .tx-s7-card{
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.tx-section-7 .tx-s7-map-wrapper{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:24px !important;
  align-items:stretch !important;
  margin-bottom:28px !important;
}
.tx-section-7 .tx-s7-map-text,
.tx-section-7 .tx-s7-map-block{
  min-height:300px !important;
  border:1px solid #dfe6ea !important;
  border-radius:18px !important;
  box-shadow:0 1px 2px rgba(23,33,43,.04),0 2px 8px rgba(23,33,43,.04) !important;
}
.tx-section-7 .tx-s7-map-text{
  padding:30px !important;
  background:#fff !important;
  color:#52606d !important;
}
.tx-section-7 .tx-s7-map-text h3{color:var(--rr-ink) !important;font-size:19px !important;}
.tx-section-7 .tx-s7-map-sub{color:#52606d !important;font-size:14px !important;line-height:1.7 !important;}
.tx-section-7 .tx-s7-map-block iframe{min-height:300px !important;}
.tx-section-7 .tx-s7-stats-row{display:none !important;}
.tx-section-7 .tx-s7-coverage{
  max-width:820px !important;
  margin:0 auto 32px !important;
  padding:25px !important;
  background:#f3f6f8 !important;
  border:1px solid #dfe6ea !important;
  border-left:3px solid var(--rr-accent) !important;
  border-radius:0 12px 12px 0 !important;
}
.tx-section-7 .tx-s7-faq-block{max-width:820px !important;margin:0 auto !important;}
.tx-section-7 .tx-s7-faq-heading{text-align:left !important;}
.tx-section-7 .tx-s7-faq-intro{margin-bottom:18px !important;}
.tx-section-7 .tx-faq-item{
  margin-bottom:11px !important;
  border:1px solid #dfe6ea !important;
  border-radius:12px !important;
  box-shadow:none !important;
}
.tx-section-7 .tx-faq-item[open]{
  border-color:#c9d4db !important;
  box-shadow:0 1px 2px rgba(23,33,43,.04),0 2px 8px rgba(23,33,43,.04) !important;
}
.tx-section-7 .tx-faq-item summary{padding:17px 54px 17px 20px !important;font-size:14px !important;}
.tx-section-7 .tx-faq-item p{padding:0 20px 20px !important;font-size:14px !important;line-height:1.7 !important;}

/* Section 8 — dark conversion close with restrained white call card */
.tx-section-8{
  padding:clamp(56px,5vw,82px) 20px !important;
  background:var(--rr-dark) !important;
}
.tx-section-8 .tx-section-8-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr) !important;
  gap:52px !important;
  align-items:start !important;
}
.tx-section-8 .tx-s8-left h2{max-width:680px !important;color:#fff !important;}
.tx-section-8 .tx-s8-subtitle{max-width:670px !important;color:#d7e0e5 !important;}
.tx-section-8 .tx-s8-list{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  margin-top:22px !important;
}
.tx-section-8 .tx-s8-list li{
  padding:2px 0 2px 28px !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  color:#e5eaed !important;
  font-size:14px !important;
  line-height:1.62 !important;
}
.tx-section-8 .tx-s8-list li::before{
  top:6px !important;
  left:0 !important;
  width:7px !important;
  height:7px !important;
  background:#f4b49d !important;
  border-radius:50% !important;
  color:transparent !important;
}
.tx-section-8 .tx-s8-cta-card{
  width:100% !important;
  max-width:440px !important;
  margin-left:auto !important;
  padding:31px 28px !important;
  background:#fff !important;
  border:0 !important;
  border-radius:18px !important;
  box-shadow:0 24px 56px rgba(0,0,0,.25) !important;
}
.tx-section-8 .tx-s8-phone-label{font-size:15px !important;line-height:1.6 !important;}
.tx-section-8 .tx-s8-cta-btn{min-height:52px !important;font-size:15px !important;}
.tx-section-8 .tx-s8-footnote{font-size:13px !important;line-height:1.65 !important;}

@media(max-width:1024px){
  .roof-problem .roof-problem-copy,
  .roof-steps .roof-steps-card,
  .tx-section-7 .tx-s7-map-wrapper,
  .tx-section-8 .tx-section-8-grid{
    grid-template-columns:1fr !important;
  }
  .roof-problem .roof-problem-copy{
    grid-template-areas:"eyebrow" "title" "intro" "visual" "signs" !important;
  }
  .roof-problem .roof-problem-list{margin-top:28px !important;}
  .roof-problem .roof-service-areas{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .roof-steps .roof-steps-image img{min-height:360px !important;max-height:500px !important;}
  .tx-section-8 .tx-s8-cta-card{max-width:none !important;}
}
@media(max-width:680px){
  .roof-problem,.roof-steps,.tx-service-areas,.tx-section-7,.tx-section-8{
    padding:48px 16px !important;
  }
  .roof-problem .roof-problem-inner,
  .roof-steps .roof-steps-inner,
  .tx-service-areas>.tx-container,
  .tx-section-7 .tx-section-7-inner,
  .tx-section-8 .tx-section-8-inner{
    width:100% !important;
  }
  .roof-problem .roof-section-title,
  .roof-steps .roof-steps-title,
  .tx-service-areas .tx-s5-head h2,
  .tx-section-7 .tx-s7-header h2,
  .tx-section-8 .tx-s8-left h2{
    font-size:clamp(25px,7.5vw,32px) !important;
  }
  .roof-problem .roof-section-intro{padding:17px 19px !important;}
  .roof-problem .roof-problem-image{height:260px !important;}
  .roof-problem .roof-service-areas{grid-template-columns:1fr !important;}
  .roof-problem .roof-area-card{padding:19px !important;}
  .roof-problem .roof-inspection-callout{padding:21px !important;}
  .roof-steps .roof-steps-card{gap:31px !important;}
  .roof-steps .roof-steps-image img{min-height:270px !important;max-height:330px !important;}
  .roof-steps .roof-steps-list li{padding-left:52px !important;}
  .tx-service-areas .tx-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .tx-section-7 .tx-s7-map-text,.tx-section-7 .tx-s7-map-block,.tx-section-7 .tx-s7-map-block iframe{min-height:230px !important;}
  .tx-section-7 .tx-s7-map-text,.tx-section-7 .tx-s7-coverage{padding:21px !important;}
  .tx-section-8 .tx-s8-cta-card{padding:24px 21px !important;}
}
@media(max-width:460px){
  .tx-service-areas .tx-grid{grid-template-columns:1fr !important;}
  .roof-problem .roof-problem-image{height:225px !important;}
  .roof-steps .roof-steps-image img{min-height:235px !important;}
}

/* =========================================================
   SCREENSHOT-SYNCHRONIZED CONVERSION THEME V11
   Poppins typography and density matched to the supplied
   Walls Plumbing Pros location-page reference.
   ========================================================= */
.dpt-highlight,.roof-problem,.tp-packages,.roof-steps,
.tx-service-areas,.tx-section-6,.tx-section-7,.tx-section-8{
  font-family:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  color:#273140 !important;
  -webkit-font-smoothing:antialiased !important;
  text-rendering:optimizeLegibility !important;
}
.dpt-highlight p,.roof-problem p,.tp-packages p,.roof-steps p,
.tx-service-areas p,.tx-section-6 p,.tx-section-7 p,.tx-section-8 p{
  font-size:14px !important;
  line-height:1.68 !important;
}
.roof-problem .roof-section-title,
.tp-packages .tp-header h2,
.roof-steps .roof-steps-title,
.tx-service-areas .tx-s5-head h2,
.tx-section-6 .tx-s6-left h2,
.tx-section-7 .tx-s7-header h2,
.tx-section-8 .tx-s8-left h2{
  font-family:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  font-size:clamp(28px,2.35vw,35px) !important;
  line-height:1.24 !important;
  font-weight:700 !important;
  letter-spacing:-.025em !important;
  text-wrap:balance !important;
}

/* Section 1 — preserve the supplied screenshot hero */
.dpt-highlight{
  padding:68px 20px 60px !important;
  background:#fff8f4 !important;
}
.dpt-highlight .dpt-wrapper{
  display:grid !important;
  grid-template-columns:minmax(0,1.03fr) minmax(380px,.97fr) !important;
  gap:54px !important;
  align-items:center !important;
  width:min(1160px,calc(100% - 40px)) !important;
}
.dpt-highlight .dpt-tagline{
  display:inline-flex !important;
  margin:0 0 13px !important;
  padding:7px 12px !important;
  background:#fff0e9 !important;
  border:1px solid #f3c7b7 !important;
  border-radius:999px !important;
  color:#d5684d !important;
  font-size:10px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
  letter-spacing:.075em !important;
  text-transform:uppercase !important;
}
.dpt-highlight .dpt-title{
  max-width:660px !important;
  margin:0 0 12px !important;
  color:#202a37 !important;
  font-size:clamp(31px,3.25vw,43px) !important;
  line-height:1.18 !important;
  font-weight:700 !important;
  letter-spacing:-.03em !important;
}
.dpt-highlight .dpt-subline{
  margin:0 0 11px !important;
  color:#2f3947 !important;
  font-size:14px !important;
  line-height:1.6 !important;
}
.dpt-highlight .dpt-desc{
  max-width:650px !important;
  margin:0 0 16px !important;
  color:#596476 !important;
  font-size:14px !important;
  line-height:1.7 !important;
}
.dpt-highlight .dpt-badges{gap:8px !important;margin:0 0 15px !important;}
.dpt-highlight .dpt-badges li{
  padding:6px 10px !important;
  background:#fff !important;
  border:1px solid #f2c8b8 !important;
  border-radius:999px !important;
  color:#c65f47 !important;
  font-size:10.5px !important;
  line-height:1.35 !important;
  font-weight:600 !important;
}
.dpt-highlight .dpt-rating{margin:0 0 15px !important;}
.dpt-highlight .dpt-score{font-size:13px !important;}
.dpt-highlight .dpt-count{font-size:12px !important;}
.dpt-highlight .dpt-cta{
  min-height:48px !important;
  padding:12px 22px !important;
  border-radius:999px !important;
  font-size:13px !important;
}
.dpt-highlight .dpt-note{margin-top:11px !important;color:#687382 !important;font-size:11.5px !important;line-height:1.6 !important;}
.dpt-highlight .dpt-image{
  overflow:hidden !important;
  border-radius:15px !important;
  box-shadow:0 14px 34px rgba(32,42,55,.16) !important;
}
.dpt-highlight .dpt-image img{
  width:100% !important;
  height:430px !important;
  object-fit:cover !important;
}

/* Section 2 — improved screenshot layout with safer text density */
.roof-problem{
  padding:58px 20px 62px !important;
  background:#f1f4f6 !important;
}
.roof-problem .roof-section-title{font-size:clamp(27px,2.3vw,34px) !important;}
.roof-problem .roof-section-intro{
  font-family:"Poppins",sans-serif !important;
  color:#596476 !important;
  font-size:14px !important;
  line-height:1.72 !important;
}
.roof-problem .roof-problem-copy{
  gap:0 38px !important;
}
.roof-problem .roof-problem-image{height:345px !important;}
.roof-problem .roof-problem-list li,
.roof-problem .roof-problem-list strong{
  font-family:"Poppins",sans-serif !important;
  font-size:13px !important;
  line-height:1.62 !important;
}
.roof-problem .roof-locations-title{font-size:17px !important;}
.roof-problem .roof-locations-sub{font-size:13px !important;}
.roof-problem .roof-area-card{padding:18px 17px !important;}
.roof-problem .roof-area-label{font-size:9px !important;}
.roof-problem .roof-area-title{font-size:14px !important;}
.roof-problem .roof-area-cities{font-size:12px !important;line-height:1.62 !important;}
.roof-problem .roof-inspection-callout{
  padding:17px 21px !important;
  background:#fff0e9 !important;
  border:1px solid #f0bda9 !important;
  border-radius:11px !important;
}
.roof-problem .roof-inspection-text{
  color:#3f4a58 !important;
  font-size:12.5px !important;
  text-align:center !important;
}
.roof-problem .roof-inspection-text strong{color:#d5684d !important;font-size:12.5px !important;}

/* Section 3 — screenshot card proportions and density */
.tp-packages{
  padding:66px 20px 74px !important;
  background:#fff8f4 !important;
}
.tp-packages .tp-header{
  max-width:820px !important;
  margin-bottom:34px !important;
}
.tp-packages .tp-header h2{margin-bottom:12px !important;}
.tp-packages .tp-header>p{
  max-width:760px !important;
  color:#667180 !important;
  font-size:14px !important;
  line-height:1.68 !important;
}
.tp-packages .tp-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:25px !important;
}
.tp-packages .tp-card{
  border:1px solid #efd9d0 !important;
  border-top:4px solid #e7795b !important;
  border-radius:15px !important;
  box-shadow:0 8px 20px rgba(40,48,58,.07) !important;
}
.tp-packages .tp-card:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 14px 30px rgba(40,48,58,.12) !important;
}
.tp-packages .tp-card>img{
  height:220px !important;
  margin:12px 12px 0 !important;
  width:calc(100% - 24px) !important;
  border-radius:10px !important;
}
.tp-packages .tp-body{padding:19px !important;}
.tp-packages .tp-body h3{font-size:17px !important;line-height:1.35 !important;}
.tp-packages .tp-badge{font-size:9px !important;padding:5px 8px !important;}
.tp-packages .tp-rating{
  padding:0 0 0 11px !important;
  background:transparent !important;
  border-left:2px solid #e7795b !important;
  border-radius:0 !important;
  color:#596476 !important;
  font-size:11.5px !important;
}
.tp-packages .tp-blurb{
  color:#4f5c6b !important;
  font-size:12.5px !important;
  line-height:1.68 !important;
}
.tp-packages .s34-btn{
  min-height:42px !important;
  padding:9px 11px !important;
  font-size:10.5px !important;
}

/* Section 4 — screenshot white process card */
.roof-steps{
  padding:64px 20px 70px !important;
  background:#eef2f4 !important;
}
.roof-steps .roof-steps-title{max-width:900px !important;margin-bottom:10px !important;}
.roof-steps .roof-steps-subtitle{
  max-width:760px !important;
  margin-bottom:30px !important;
  color:#687382 !important;
  font-size:13px !important;
}
.roof-steps .roof-steps-card{
  display:grid !important;
  grid-template-columns:minmax(310px,.82fr) minmax(0,1.18fr) !important;
  gap:0 !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid #e2e8eb !important;
  border-radius:19px !important;
  box-shadow:0 12px 30px rgba(35,44,54,.09) !important;
}
.roof-steps .roof-steps-image{
  min-height:100% !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.roof-steps .roof-steps-image img{
  width:100% !important;
  height:100% !important;
  min-height:590px !important;
  max-height:none !important;
  border-radius:0 !important;
  object-fit:cover !important;
}
.roof-steps .roof-steps-list{
  padding:28px 30px !important;
  background:#fff !important;
}
.roof-steps .roof-steps-list ul{display:grid !important;gap:10px !important;}
.roof-steps .roof-steps-list li{
  position:relative !important;
  display:grid !important;
  grid-template-columns:32px 1fr !important;
  gap:11px !important;
  min-height:0 !important;
  padding:8px 0 !important;
}
.roof-steps .roof-steps-list li::after{display:none !important;content:none !important;}
.roof-steps .roof-step-icon{
  position:static !important;
  width:28px !important;
  height:28px !important;
  background:#e7795b !important;
  box-shadow:none !important;
  font-size:11px !important;
}
.roof-steps .roof-step-text{
  padding:0 !important;
  color:#596476 !important;
  font-size:12px !important;
  line-height:1.58 !important;
}
.roof-steps .roof-step-text strong{
  margin:0 0 3px !important;
  color:#273140 !important;
  font-size:13px !important;
  line-height:1.45 !important;
}
.roof-steps .roof-steps-cta-wrap{
  max-width:420px !important;
  margin:25px auto 0 !important;
  padding:13px 20px !important;
  background:#e7795b !important;
  border:0 !important;
  border-radius:999px !important;
  box-shadow:0 9px 22px rgba(231,121,91,.25) !important;
}
.roof-steps .roof-steps-cta-wrap p{margin:0 !important;color:#fff !important;font-size:11px !important;line-height:1.5 !important;}

/* Sections 5–8 — retain current layouts, synchronize screenshot type */
.tx-service-areas,.tx-section-6,.tx-section-7,.tx-section-8{
  font-family:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
}
.tx-service-areas .tx-intro,
.tx-section-6 .tx-s6-subtitle,
.tx-section-7 .tx-s7-header-sub,
.tx-section-8 .tx-s8-subtitle{
  color:#647080 !important;
  font-size:13.5px !important;
  line-height:1.68 !important;
}
.tx-service-areas .tx-city-link{
  min-height:48px !important;
  font-size:11.5px !important;
  line-height:1.4 !important;
  border-color:#efc6b7 !important;
}
.tx-section-6 .tx-proof-card strong,
.tx-section-6 .tx-name{font-size:13px !important;}
.tx-section-6 .tx-proof-card p,
.tx-section-6 .tx-quote,
.tx-section-6 .tx-s6-features li{font-size:11.5px !important;line-height:1.62 !important;}
.tx-section-7 .tx-s7-map-text h3,
.tx-section-7 .tx-s7-coverage h3,
.tx-section-7 .tx-s7-faq-heading{
  font-size:17px !important;
  line-height:1.4 !important;
}
.tx-section-7 .tx-s7-map-sub,
.tx-section-7 .tx-s7-coverage-body,
.tx-section-7 .tx-s7-coverage-hint,
.tx-section-7 .tx-s7-faq-intro,
.tx-section-7 .tx-faq-item summary,
.tx-section-7 .tx-faq-item p{
  font-size:12px !important;
  line-height:1.68 !important;
}
.tx-section-8 .tx-s8-list li{font-size:12px !important;line-height:1.58 !important;}
.tx-section-8 .tx-s8-phone-label{font-size:13px !important;}
.tx-section-8 .tx-s8-cta-btn{min-height:48px !important;font-size:13px !important;}
.tx-section-8 .tx-s8-footnote{font-size:11.5px !important;}

@media(max-width:980px){
  .dpt-highlight .dpt-wrapper,
  .roof-steps .roof-steps-card{
    grid-template-columns:1fr !important;
  }
  .dpt-highlight .dpt-image img{height:390px !important;}
  .tp-packages .tp-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .roof-steps .roof-steps-image img{min-height:340px !important;max-height:440px !important;}
}
@media(max-width:700px){
  .dpt-highlight,.roof-problem,.tp-packages,.roof-steps,
  .tx-service-areas,.tx-section-6,.tx-section-7,.tx-section-8{
    padding:44px 14px !important;
  }
  .dpt-highlight .dpt-wrapper{width:100% !important;gap:26px !important;}
  .dpt-highlight .dpt-title{font-size:clamp(28px,8.5vw,36px) !important;}
  .dpt-highlight .dpt-image img{height:285px !important;}
  .roof-problem .roof-section-title,
  .tp-packages .tp-header h2,
  .roof-steps .roof-steps-title,
  .tx-service-areas .tx-s5-head h2,
  .tx-section-6 .tx-s6-left h2,
  .tx-section-7 .tx-s7-header h2,
  .tx-section-8 .tx-s8-left h2{
    font-size:clamp(25px,7.4vw,31px) !important;
  }
  .roof-problem .roof-problem-image{height:240px !important;}
  .tp-packages .tp-grid{grid-template-columns:1fr !important;}
  .tp-packages .tp-card>img{height:220px !important;}
  .roof-steps .roof-steps-list{padding:20px 18px !important;}
  .roof-steps .roof-steps-image img{min-height:255px !important;max-height:315px !important;}
  .tx-service-areas .tx-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:460px){
  .dpt-highlight .dpt-image img{height:245px !important;}
  .tp-packages .tp-card>img{height:205px !important;}
  .tx-service-areas .tx-grid{grid-template-columns:1fr !important;}
}

/* =========================================================
   ATTACHMENT-EXACT TYPOGRAPHY V12
   Final authority: the supplied Additional CSS and the
   Walls Plumbing Pros screenshot. Keep this block last.
   ========================================================= */
.dpt-highlight,.roof-problem,.tp-packages,.roof-steps,
.tx-service-areas,.tx-section-6,.tx-section-7,.tx-section-8{
  font-family:"Poppins",sans-serif !important;
}

/* Section 1 — exact compact screenshot proportions */
.dpt-highlight{
  padding:60px 20px 20px !important;
  background:linear-gradient(135deg,#fff7f2,#fffaf3) !important;
}
.dpt-highlight .dpt-wrapper{
  display:flex !important;
  align-items:flex-start !important;
  max-width:1200px !important;
  width:100% !important;
  margin:0 auto !important;
  gap:40px !important;
  flex-wrap:wrap !important;
}
.dpt-highlight .dpt-content{
  flex:1 1 420px !important;
  min-width:300px !important;
}
.dpt-highlight .dpt-image{
  flex:1 1 380px !important;
  min-width:280px !important;
  margin:0 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  overflow:visible !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.dpt-highlight .dpt-image img{
  display:block !important;
  width:100% !important;
  max-width:520px !important;
  max-height:440px !important;
  height:auto !important;
  border-radius:12px !important;
  box-shadow:0 6px 18px rgba(0,0,0,.14) !important;
  object-fit:contain !important;
  background:transparent !important;
}
.dpt-highlight .dpt-tagline{
  display:inline-block !important;
  margin:0 0 10px !important;
  padding:4px 10px !important;
  color:#e07a5f !important;
  background:rgba(224,122,95,.08) !important;
  border:1px solid rgba(224,122,95,.28) !important;
  border-radius:999px !important;
  font-size:14px !important;
  line-height:1.4 !important;
  font-weight:600 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
.dpt-highlight .dpt-title{
  max-width:none !important;
  margin:0 0 12px !important;
  color:#1a1a1a !important;
  font-size:32px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  letter-spacing:normal !important;
}
.dpt-highlight .dpt-subline{
  margin:0 0 10px !important;
  color:#1f2933 !important;
  font-size:15px !important;
  line-height:1.6 !important;
  font-weight:600 !important;
}
.dpt-highlight .dpt-desc{
  max-width:48ch !important;
  margin:0 0 18px !important;
  color:#555 !important;
  font-size:15px !important;
  line-height:1.6 !important;
}
.dpt-highlight .dpt-badges{gap:8px !important;margin:0 0 20px !important;}
.dpt-highlight .dpt-badges li{
  padding:5px 11px !important;
  color:#e07a5f !important;
  background:rgba(224,122,95,.08) !important;
  border:1px solid rgba(224,122,95,.4) !important;
  font-size:12px !important;
  line-height:1.4 !important;
  font-weight:500 !important;
}
.dpt-highlight .dpt-rating{
  margin:0 0 18px !important;
  color:#444 !important;
  font-size:14px !important;
}
.dpt-highlight .dpt-score{font-size:14px !important;font-weight:600 !important;}
.dpt-highlight .dpt-count{color:#555 !important;font-size:14px !important;}
.dpt-highlight .dpt-cta{
  min-height:0 !important;
  padding:12px 26px !important;
  background:#e07a5f !important;
  color:#fff !important;
  border-radius:999px !important;
  font-size:14.5px !important;
  font-weight:600 !important;
  box-shadow:0 8px 18px rgba(224,122,95,.35) !important;
}
.dpt-highlight .dpt-note{
  margin-top:6px !important;
  color:#555 !important;
  font-size:13px !important;
  line-height:1.55 !important;
}

/* Section 2 — exact screenshot two-column problem/focus layout */
.roof-problem{
  padding:56px 20px 60px !important;
  background:#f3f4f6 !important;
  color:#1f2933 !important;
}
.roof-problem .roof-problem-inner{
  max-width:1200px !important;
  margin:0 auto !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:40px !important;
  align-items:flex-start !important;
}
.roof-problem .roof-problem-copy{
  display:block !important;
  flex:1 1 520px !important;
  min-width:280px !important;
}
.roof-problem .roof-eyebrow{
  display:inline-block !important;
  margin:0 0 10px !important;
  padding:4px 10px !important;
  color:#e07a5f !important;
  background:rgba(224,122,95,.06) !important;
  border:1px solid rgba(224,122,95,.25) !important;
  border-radius:999px !important;
  font-size:.78rem !important;
  line-height:1.4 !important;
  font-weight:600 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}
.roof-problem .roof-section-title{
  max-width:34ch !important;
  margin:0 0 10px !important;
  color:#1f2933 !important;
  font-size:1.6rem !important;
  line-height:1.35 !important;
  font-weight:600 !important;
  letter-spacing:-.01em !important;
  text-align:left !important;
}
.roof-problem .roof-section-intro{
  max-width:54ch !important;
  margin:0 0 14px !important;
  color:#585f73 !important;
  font-size:.96rem !important;
  line-height:1.6 !important;
}
.roof-problem .roof-visual-card{
  display:block !important;
  margin:14px 0 18px !important;
  padding:14px 14px 10px !important;
  background:#fff !important;
  border:1px solid #e5e7eb !important;
  border-radius:18px !important;
  box-shadow:0 10px 24px rgba(15,23,42,.06) !important;
}
.roof-problem .roof-visual-label{
  margin:0 0 6px !important;
  color:#585f73 !important;
  font-size:.78rem !important;
  line-height:1.4 !important;
  font-weight:600 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}
.roof-problem .roof-problem-image{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:240px !important;
  margin:0 !important;
  border-radius:12px !important;
  object-fit:cover !important;
}
.roof-problem .roof-problem-list{
  display:block !important;
  margin:0 0 6px !important;
  padding-left:18px !important;
  color:#585f73 !important;
  font-size:.94rem !important;
  line-height:1.6 !important;
  list-style:disc !important;
}
.roof-problem .roof-problem-list li{
  display:list-item !important;
  margin:0 0 6px !important;
  padding:0 !important;
  color:#585f73 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-size:.94rem !important;
  line-height:1.6 !important;
  list-style:disc !important;
}
.roof-problem .roof-problem-list li::before{
  display:none !important;
  content:none !important;
}
.roof-problem .roof-problem-list strong{
  color:#1f2933 !important;
  font-size:.94rem !important;
  line-height:1.6 !important;
  font-weight:600 !important;
}
.roof-problem .roof-problem-locations{
  display:block !important;
  flex:1 1 420px !important;
  min-width:280px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.roof-problem .roof-locations-title{
  margin:0 0 6px !important;
  color:#1f2933 !important;
  font-size:1.05rem !important;
  line-height:1.4 !important;
  font-weight:600 !important;
}
.roof-problem .roof-locations-sub{
  margin:0 0 16px !important;
  color:#585f73 !important;
  font-size:.88rem !important;
  line-height:1.6 !important;
}
.roof-problem .roof-service-areas{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr)) !important;
  gap:14px !important;
}
.roof-problem .roof-area-card{
  min-width:0 !important;
  padding:12px 14px !important;
  background:#fff !important;
  border:1px solid #e5e7eb !important;
  border-radius:14px !important;
  box-shadow:0 4px 14px rgba(15,23,42,.04) !important;
}
.roof-problem .roof-area-label{
  margin:0 0 4px !important;
  color:#585f73 !important;
  font-size:.75rem !important;
  line-height:1.4 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}
.roof-problem .roof-area-title{
  margin:0 0 4px !important;
  color:#1f2933 !important;
  font-size:.95rem !important;
  line-height:1.45 !important;
  font-weight:600 !important;
}
.roof-problem .roof-area-cities{
  margin:0 0 6px !important;
  color:#585f73 !important;
  font-size:.83rem !important;
  line-height:1.5 !important;
}
.roof-problem .roof-zip-tags{display:none !important;}
.roof-problem .roof-inspection-callout{
  max-width:1200px !important;
  margin:26px auto 0 !important;
  padding:12px 16px !important;
  background:#ffe9dd !important;
  border:1px solid rgba(224,122,95,.4) !important;
  border-radius:14px !important;
  box-shadow:0 8px 20px rgba(15,23,42,.06) !important;
}
.roof-problem .roof-inspection-text,
.roof-problem .roof-inspection-text strong{
  font-size:.98rem !important;
  line-height:1.7 !important;
}
.roof-problem .roof-inspection-text{
  margin:0 !important;
  color:#1f2933 !important;
  text-align:center !important;
  font-weight:500 !important;
}
.roof-problem .roof-inspection-text strong{color:#e07a5f !important;font-weight:600 !important;}

/* Sections 3 and 4 — supplied CSS density, shared by all exports */
.tp-packages{
  padding:56px 20px 60px !important;
  background:#fffaf3 !important;
}
.tp-packages .tp-header{max-width:1200px !important;margin:0 auto 40px !important;text-align:center !important;}
.tp-packages .tp-header h2{
  margin:0 0 12px !important;
  font-size:32px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  letter-spacing:normal !important;
}
.tp-packages .tp-header>p{
  max-width:760px !important;
  margin:0 auto !important;
  color:#585f73 !important;
  font-size:15px !important;
  line-height:1.6 !important;
}
.tp-packages .tp-grid{
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr)) !important;
  gap:28px !important;
}
.tp-packages .tp-card{
  border-top:5px solid #e07a5f !important;
  border-radius:16px !important;
}
.tp-packages .tp-card>img{
  width:100% !important;
  height:166px !important;
  margin:0 !important;
  border-radius:0 !important;
  object-fit:cover !important;
}
.tp-packages .tp-body{padding:18px 18px 20px !important;}
.tp-packages .tp-body h3{font-size:18px !important;line-height:1.4 !important;}
.tp-packages .tp-badge{font-size:11px !important;}
.tp-packages .tp-rating{font-size:13.5px !important;line-height:1.55 !important;}
.tp-packages .tp-blurb{font-size:14.5px !important;line-height:1.6 !important;}
.tp-packages .s34-btn{min-height:44px !important;font-size:13px !important;}

.roof-steps{padding:76px 20px 70px !important;background:#f3f4f6 !important;}
.roof-steps .roof-steps-title{
  margin-bottom:10px !important;
  font-size:32px !important;
  line-height:1.25 !important;
  letter-spacing:normal !important;
}
.roof-steps .roof-steps-subtitle{
  margin-bottom:30px !important;
  color:#585f73 !important;
  font-size:14.5px !important;
  line-height:1.6 !important;
}
.roof-steps .roof-steps-card{
  display:flex !important;
  align-items:center !important;
  gap:30px !important;
  padding:32px !important;
  overflow:visible !important;
  background:#fff !important;
  border:1px solid #e5e7eb !important;
  border-radius:24px !important;
  box-shadow:0 10px 24px rgba(15,23,42,.06) !important;
}
.roof-steps .roof-steps-image{
  flex:0 0 40% !important;
  max-width:420px !important;
  min-height:0 !important;
  border-radius:18px !important;
  overflow:hidden !important;
}
.roof-steps .roof-steps-image img{
  width:100% !important;
  height:100% !important;
  min-height:300px !important;
  max-height:420px !important;
  border-radius:18px !important;
  object-fit:cover !important;
}
.roof-steps .roof-steps-list{flex:1 1 auto !important;padding:0 !important;}
.roof-steps .roof-steps-list ul{display:block !important;}
.roof-steps .roof-steps-list li{
  display:flex !important;
  grid-template-columns:none !important;
  gap:12px !important;
  padding:7px 0 !important;
}
.roof-steps .roof-step-icon{flex:0 0 28px !important;width:28px !important;height:28px !important;}
.roof-steps .roof-step-text{font-size:14.5px !important;line-height:1.55 !important;}
.roof-steps .roof-step-text strong{font-size:14.5px !important;line-height:1.45 !important;}

/* Keep Sections 5–8 layout intact; only synchronize screenshot typography */
.tx-service-areas .tx-s5-head h2,
.tx-section-6 .tx-s6-left h2,
.tx-section-7 .tx-s7-header h2,
.tx-section-8 .tx-s8-left h2{
  font-size:32px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  letter-spacing:normal !important;
}
.tx-service-areas .tx-intro,
.tx-section-6 .tx-s6-subtitle,
.tx-section-7 .tx-s7-header-sub,
.tx-section-8 .tx-s8-subtitle{
  font-size:14.5px !important;
  line-height:1.6 !important;
}

@media(max-width:1024px){
  .dpt-highlight .dpt-wrapper{gap:30px !important;}
  .dpt-highlight .dpt-image img{max-height:400px !important;}
}
@media(max-width:900px){
  .roof-problem .roof-problem-inner{flex-direction:column !important;gap:28px !important;}
  .roof-problem .roof-problem-copy,
  .roof-problem .roof-problem-locations{width:100% !important;flex-basis:auto !important;}
  .roof-steps .roof-steps-card{flex-direction:column !important;align-items:stretch !important;}
  .roof-steps .roof-steps-image{max-width:none !important;width:100% !important;}
}
@media(max-width:768px){
  .dpt-highlight{padding:30px 15px 15px !important;}
  .dpt-highlight .dpt-wrapper{flex-direction:column !important;gap:16px !important;}
  .dpt-highlight .dpt-image{order:1 !important;margin-bottom:6px !important;width:100% !important;}
  .dpt-highlight .dpt-content{order:2 !important;width:100% !important;}
  .dpt-highlight .dpt-title{font-size:26px !important;line-height:1.25 !important;margin-bottom:10px !important;}
  .dpt-highlight .dpt-subline{font-size:14px !important;}
  .dpt-highlight .dpt-desc{margin-bottom:14px !important;font-size:14px !important;}
  .dpt-highlight .dpt-cta{padding:10px 20px !important;font-size:14px !important;}
  .dpt-highlight .dpt-image img{height:auto !important;max-height:320px !important;}

  .roof-problem{padding:40px 16px 44px !important;}
  .roof-problem .roof-section-title{font-size:1.4rem !important;}
  .roof-problem .roof-section-intro{font-size:.9rem !important;}
  .roof-problem .roof-inspection-text,
  .roof-problem .roof-inspection-text strong{font-size:.9rem !important;}
  .roof-problem .roof-service-areas{grid-template-columns:1fr !important;}

  .tp-packages{padding:48px 16px 54px !important;}
  .tp-packages .tp-header h2,
  .roof-steps .roof-steps-title,
  .tx-service-areas .tx-s5-head h2,
  .tx-section-6 .tx-s6-left h2,
  .tx-section-7 .tx-s7-header h2,
  .tx-section-8 .tx-s8-left h2{font-size:26px !important;}
  .tp-packages .tp-card>img{height:166px !important;}

  .roof-steps{padding:52px 16px 56px !important;}
  .roof-steps .roof-steps-card{padding:20px !important;gap:22px !important;}
  .roof-steps .roof-steps-image img{min-height:260px !important;max-height:340px !important;}
}
@media(max-width:480px){
  .dpt-highlight{padding:24px 10px 12px !important;}
  .dpt-highlight .dpt-wrapper{gap:10px !important;}
  .dpt-highlight .dpt-title{font-size:22px !important;margin-bottom:8px !important;}
  .dpt-highlight .dpt-subline,
  .dpt-highlight .dpt-desc{font-size:13.5px !important;}
  .dpt-highlight .dpt-desc{margin-bottom:12px !important;}
  .dpt-highlight .dpt-cta{padding:8px 16px !important;font-size:13px !important;}
  .dpt-highlight .dpt-image img{height:auto !important;max-height:260px !important;}

  .roof-problem{padding:32px 12px 40px !important;}
  .tp-packages .tp-header h2,
  .roof-steps .roof-steps-title,
  .tx-service-areas .tx-s5-head h2,
  .tx-section-6 .tx-s6-left h2,
  .tx-section-7 .tx-s7-header h2,
  .tx-section-8 .tx-s8-left h2{font-size:23px !important;}
}

/* =========================================================
   SYNCHRONIZED SECTIONS 1–8 V14
   This final cascade is shared by Homepage, Pages1 and Pages.
   It keeps the established Poppins design while bringing the
   previously small Sections 5–8 copy up to the same readable
   landing-page scale used by Sections 1–4.
   ========================================================= */
.dpt-highlight,.roof-problem,.tp-packages,.roof-steps,
.tx-service-areas,.tx-section-6,.tx-section-7,.tx-section-8{
  font-family:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
}
.tx-service-areas .tx-intro,
.tx-service-areas .tx-intro-support,
.tx-section-6 .tx-s6-subtitle,
.tx-section-6 .tx-proof-wrap>p,
.tx-section-6 .tx-proof-card p,
.tx-section-6 .tx-quote,
.tx-section-6 .tx-s6-features li,
.tx-section-6 .tx-s6-service-area,
.tx-section-6 .tx-s6-closing,
.tx-section-7 .tx-s7-header-sub,
.tx-section-7 .tx-s7-map-sub,
.tx-section-7 .tx-s7-coverage-body,
.tx-section-7 .tx-s7-coverage-hint,
.tx-section-7 .tx-s7-faq-intro,
.tx-section-7 .tx-faq-item summary,
.tx-section-7 .tx-faq-item p,
.tx-section-8 .tx-s8-subtitle,
.tx-section-8 .tx-s8-list li{
  font-size:15px !important;
  line-height:1.7 !important;
}
.tx-service-areas .tx-city-link{
  min-height:50px !important;
  font-size:14px !important;
  line-height:1.45 !important;
}
.tx-section-6 .tx-proof-card strong,
.tx-section-6 .tx-name{
  font-size:16px !important;
  line-height:1.45 !important;
}
.tx-section-6 .tx-proof-wrap h3,
.tx-section-7 .tx-s7-map-text h3,
.tx-section-7 .tx-s7-coverage h3,
.tx-section-7 .tx-s7-faq-heading{
  font-size:20px !important;
  line-height:1.35 !important;
}
.tx-section-8 .tx-s8-phone-label{font-size:15px !important;line-height:1.6 !important;}
.tx-section-8 .tx-s8-cta-btn{min-height:52px !important;font-size:15px !important;}
.tx-section-8 .tx-s8-footnote{font-size:13.5px !important;line-height:1.65 !important;}

@media(max-width:768px){
  .tx-service-areas .tx-intro,
  .tx-service-areas .tx-intro-support,
  .tx-section-6 .tx-s6-subtitle,
  .tx-section-6 .tx-proof-wrap>p,
  .tx-section-6 .tx-proof-card p,
  .tx-section-6 .tx-quote,
  .tx-section-6 .tx-s6-features li,
  .tx-section-6 .tx-s6-service-area,
  .tx-section-6 .tx-s6-closing,
  .tx-section-7 .tx-s7-header-sub,
  .tx-section-7 .tx-s7-map-sub,
  .tx-section-7 .tx-s7-coverage-body,
  .tx-section-7 .tx-s7-coverage-hint,
  .tx-section-7 .tx-s7-faq-intro,
  .tx-section-7 .tx-faq-item summary,
  .tx-section-7 .tx-faq-item p,
  .tx-section-8 .tx-s8-subtitle,
  .tx-section-8 .tx-s8-list li{
    font-size:14px !important;
    line-height:1.68 !important;
  }
  .tx-service-areas .tx-city-link{font-size:13.5px !important;}
  .tx-section-6 .tx-proof-wrap h3,
  .tx-section-7 .tx-s7-map-text h3,
  .tx-section-7 .tx-s7-coverage h3,
  .tx-section-7 .tx-s7-faq-heading{font-size:18px !important;}
}

/* =========================================================
   UNIFIED CONTENT RHYTHM V13
   One readable Poppins hierarchy across Homepage, Pages1
   and Pages while preserving every supplied HTML class.
   ========================================================= */
.dpt-highlight,.roof-problem,.tp-packages,.roof-steps,
.tx-service-areas,.tx-section-6,.tx-section-7,.tx-section-8{
  font-family:"Poppins",sans-serif !important;
}
.roof-problem .roof-section-intro{
  display:block !important;
  max-width:58ch !important;
  margin:0 0 18px !important;
  padding:0 !important;
  color:#585f73 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-size:15px !important;
  line-height:1.68 !important;
  text-align:left !important;
}
.tp-packages .tp-header{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  max-width:860px !important;
  margin:0 auto 40px !important;
  text-align:center !important;
}
.tp-packages .tp-header h2,
.tp-packages .tp-header>p{
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}
.tp-packages .tp-header h2{max-width:760px !important;}
.tp-packages .tp-header>p{max-width:720px !important;}
.roof-problem .roof-section-title,
.tp-packages .tp-header h2,
.roof-steps .roof-steps-title,
.tx-service-areas .tx-s5-head h2,
.tx-section-6 .tx-s6-left h2,
.tx-section-7 .tx-s7-header h2,
.tx-section-8 .tx-s8-left h2{
  font-family:"Poppins",sans-serif !important;
  font-size:32px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  letter-spacing:-.015em !important;
}
.tx-service-areas .tx-intro,
.tx-service-areas .tx-intro-support,
.tx-section-6 .tx-s6-subtitle,
.tx-section-7 .tx-s7-header-sub,
.tx-section-8 .tx-s8-subtitle{
  color:#585f73 !important;
  font-family:"Poppins",sans-serif !important;
  font-size:14.5px !important;
  line-height:1.68 !important;
}
.tx-service-areas .tx-city-link,
.tx-section-6 .tx-proof-card,
.tx-section-6 .tx-testimonial,
.tx-section-7 .tx-s7-map-text,
.tx-section-7 .tx-s7-coverage,
.tx-section-7 .tx-faq-item,
.tx-section-8 .tx-s8-list li{
  font-family:"Poppins",sans-serif !important;
}
@media(max-width:768px){
  .roof-problem .roof-section-title,
  .tp-packages .tp-header h2,
  .roof-steps .roof-steps-title,
  .tx-service-areas .tx-s5-head h2,
  .tx-section-6 .tx-s6-left h2,
  .tx-section-7 .tx-s7-header h2,
  .tx-section-8 .tx-s8-left h2{font-size:26px !important;}
  .roof-problem .roof-section-intro{max-width:none !important;font-size:14px !important;}
}
@media(max-width:480px){
  .roof-problem .roof-section-title,
  .tp-packages .tp-header h2,
  .roof-steps .roof-steps-title,
  .tx-service-areas .tx-s5-head h2,
  .tx-section-6 .tx-s6-left h2,
  .tx-section-7 .tx-s7-header h2,
  .tx-section-8 .tx-s8-left h2{font-size:23px !important;}
}

/* FINAL COMMON DESIGN SCALE
   One predictable title and copy hierarchy across Homepage, Pages1 and Pages.
   Layout, cards, colors, spacing and the full Section 7 map remain unchanged. */
.dpt-highlight .dpt-title,
.roof-problem .roof-section-title,
.tp-packages .tp-header > h2,
.roof-steps .roof-steps-title,
.tx-service-areas .tx-s5-head > h2,
.tx-section-6 .tx-s6-left > h2,
.tx-section-7 .tx-s7-header > h2,
.tx-section-8 .tx-s8-left > h2{
  font-family:"Poppins",sans-serif !important;
  font-size:32px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  letter-spacing:-.015em !important;
}
.dpt-highlight .dpt-subline,
.dpt-highlight .dpt-desc,
.roof-problem .roof-section-intro,
.tp-packages .tp-header > p,
.roof-steps .roof-steps-subtitle,
.tx-service-areas .tx-intro,
.tx-section-6 .tx-s6-subtitle,
.tx-section-7 .tx-s7-header-sub,
.tx-section-8 .tx-s8-subtitle{
  font-family:"Poppins",sans-serif !important;
  font-size:15px !important;
  line-height:1.68 !important;
}
@media(max-width:768px){
  .dpt-highlight .dpt-title,
  .roof-problem .roof-section-title,
  .tp-packages .tp-header > h2,
  .roof-steps .roof-steps-title,
  .tx-service-areas .tx-s5-head > h2,
  .tx-section-6 .tx-s6-left > h2,
  .tx-section-7 .tx-s7-header > h2,
  .tx-section-8 .tx-s8-left > h2{font-size:26px !important;}
}
@media(max-width:480px){
  .dpt-highlight .dpt-title,
  .roof-problem .roof-section-title,
  .tp-packages .tp-header > h2,
  .roof-steps .roof-steps-title,
  .tx-service-areas .tx-s5-head > h2,
  .tx-section-6 .tx-s6-left > h2,
  .tx-section-7 .tx-s7-header > h2,
  .tx-section-8 .tx-s8-left > h2{font-size:23px !important;}
}

/* Rank & Rent conversion consistency: equal service actions, full map, white CTA copy. */
.tp-packages .s34-card-actions{
  display:flex !important;
  align-items:stretch !important;
  gap:10px !important;
  grid-template-columns:none !important;
}
.tp-packages .s34-card-actions > :not(a){display:none !important;}
.tp-packages .s34-card-actions > a.s34-btn{
  flex:1 1 0 !important;
  width:auto !important;
  min-width:0 !important;
  min-height:44px !important;
  margin:0 !important;
}
.tx-section-7 .tx-s7-map-wrapper{
  display:block !important;
  width:100% !important;
  margin-bottom:28px !important;
}
.tx-section-7 .tx-s7-map-text{
  width:100% !important;
  min-height:0 !important;
  margin:0 0 18px !important;
}
.tx-section-7 .tx-s7-map-block{
  display:block !important;
  width:100% !important;
  min-height:420px !important;
}
.tx-section-7 .tx-s7-map-block iframe{
  display:block !important;
  width:100% !important;
  height:420px !important;
  min-height:420px !important;
}
.tx-section-8 .tx-s8-subtitle{color:#fff !important;}
@media(max-width:600px){
  .tp-packages .s34-card-actions{gap:8px !important;}
  .tp-packages .s34-card-actions > a.s34-btn{
    padding:10px 8px !important;
    font-size:12px !important;
  }
  .tx-section-7 .tx-s7-map-block,
  .tx-section-7 .tx-s7-map-block iframe{
    min-height:320px !important;
    height:320px !important;
  }
}

/* Section 5: keep every managed page compact until the visitor asks for more. */
.tx-service-areas .tx-grid .tx-city-link.tx-hidden-location{
  display:none !important;
}
.tx-service-areas .tx-grid.tx-locations-open .tx-city-link.tx-hidden-location{
  display:flex !important;
}

/* Section 7: useful text on the left, complete map on the right. */
.tx-section-7 .tx-s7-map-block{
  display:grid !important;
  grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr) !important;
  gap:22px !important;
  align-items:stretch !important;
  width:100% !important;
  min-height:340px !important;
  overflow:visible !important;
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.tx-section-7 .tx-s7-map-text{
  width:auto !important;
  min-height:340px !important;
  margin:0 !important;
  padding:30px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
.tx-section-7 .tx-s7-map-wrapper{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  min-height:340px !important;
  height:100% !important;
  margin:0 !important;
  overflow:hidden !important;
  border-radius:18px !important;
}
.tx-section-7 .tx-s7-map-wrapper iframe{
  display:block !important;
  width:100% !important;
  min-height:340px !important;
  height:100% !important;
  border:0 !important;
}
@media(max-width:760px){
  .tx-section-7 .tx-s7-map-block{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .tx-section-7 .tx-s7-map-text{
    min-height:0 !important;
    padding:22px !important;
  }
  .tx-section-7 .tx-s7-map-wrapper,
  .tx-section-7 .tx-s7-map-wrapper iframe{
    min-height:300px !important;
    height:300px !important;
  }
}
