 /* =========================================================
       RESET / BASE
       ========================================================= */
    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      background: #140604;
      color: #2b1a14;
      font-family: "Lora", serif;
      line-height: 1.5;
    }

    img {
      max-width: 100%;
      height: auto;
      /*display: block;*/
    }

    a {
      text-decoration: none;
      color: inherit;
    }

    ul {
      list-style: none;
    }
    #footer-container
{
    background-color: #3A0404;
}

    /* =========================================================
       THEME VARIABLES
       ========================================================= */
    :root {
      --cs-deep-red: #4e0908;
      --cs-red: #6e120d;
      --cs-red-2: #7f1610;
      --cs-red-3: #8f2418;
      --cs-gold: #d7b06a;
      --cs-gold-2: #f2c765;
      --cs-gold-3: #b98934;
      --cs-cream: #f4e7d2;
      --cs-cream-2: #ead7bd;
      --cs-brown: #3b1f18;
      --cs-dark: #160605;
      --cs-dark-2: #220807;
      --cs-white: #ffffff;
      --cs-shadow: rgba(0, 0, 0, 0.35);

      --container: 1200px;
      --radius-sm: 8px;
      --radius-md: 14px;
      --radius-lg: 20px;
    }

    /* =========================================================
       REUSABLE HELPERS
       ========================================================= */
    .container {
      width: min(100% - 32px, var(--container));
      margin-inline: auto;
    }

    .text-center {
      text-align: center;
    }

    .section-pad {
      padding: 70px 0;
    }

    /* =========================================================
       MOCKUP TEXTURE / BACKGROUND UTILITIES
       ========================================================= */
    .red-texture {
      background:
        radial-gradient(circle at 20% 20%, rgba(255, 179, 107, 0.12), transparent 28%),
        radial-gradient(circle at 75% 30%, rgba(255, 160, 122, 0.08), transparent 28%),
        radial-gradient(circle at 50% 85%, rgba(255, 215, 160, 0.06), transparent 30%),
        linear-gradient(180deg, rgba(255,255,255,0.03), rgba(0,0,0,0.12)),
        linear-gradient(135deg, #61100d 0%, #7d180f 35%, #54100b 100%);
      position: relative;
      overflow: hidden;
    }

    .red-texture::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        repeating-linear-gradient(
          0deg,
          rgba(255,255,255,0.015) 0px,
          rgba(255,255,255,0.015) 2px,
          transparent 2px,
          transparent 6px
        );
      opacity: 0.35;
      pointer-events: none;
    }

    .paper-texture {
      background:
        radial-gradient(circle at 20% 20%, rgba(150, 100, 70, 0.08), transparent 25%),
        radial-gradient(circle at 80% 25%, rgba(190, 130, 80, 0.06), transparent 22%),
        radial-gradient(circle at 60% 80%, rgba(170, 120, 90, 0.05), transparent 25%),
        linear-gradient(180deg, rgba(255,255,255,0.18), rgba(0,0,0,0.02)),
        linear-gradient(135deg, #f6ead7 0%, #ecd9bf 100%);
      position: relative;
      overflow: hidden;
    }

    .paper-texture::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        repeating-linear-gradient(
          45deg,
          rgba(120, 70, 40, 0.015) 0px,
          rgba(120, 70, 40, 0.015) 2px,
          transparent 2px,
          transparent 7px
        );
      opacity: 0.45;
      pointer-events: none;
    }

    /* =========================================================
       TOP NAVIGATION
       ========================================================= */
    .site-topbar {
      border-bottom: 1px solid rgba(255, 212, 145, 0.18);
      box-shadow: inset 0 -1px 0 rgba(0,0,0,0.25);
      position: relative;
      z-index: 20;
    }

    .site-topbar-inner {
      min-height: 68px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .site-nav ul {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      gap: 0;
    }

    .site-nav li {
      position: relative;
    }

    .site-nav li + li::before {
      content: "";
      position: absolute;
      left: 0;
      top: 50%;
      width: 1px;
      height: 20px;
      background: rgba(240, 211, 171, 0.20);
      transform: translateY(-50%);
    }

    .site-nav a {
      display: inline-block;
      padding: 18px 24px;
      font-family: "Cinzel", serif;
      font-size: 0.95rem;
      font-weight: 500;
      color: #f5dfc0;
      transition: background 0.25s ease, color 0.25s ease;
    }

    .site-nav a:hover {
      background: rgba(255,255,255,0.05);
      color: #ffe4af;
    }

    /* =========================================================
       BRAND HEADER
       ========================================================= */
    .brand-header {

      border-top: 1px solid rgba(255,255,255,0.03);
      border-bottom: 3px solid rgba(0,0,0,0.22);
      position: relative;
    }

    .brand-header-inner {
      position: relative;
      min-height: 190px;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 0 180px 0 20px;
      z-index: 2;
    }

    .brand-copy {
      position: relative;
      z-index: 2;
    }

    .brand-kicker {
      display: block;
      margin-bottom: 4px;
      color: #edd4af;
      font-family: "Cinzel", serif;
      font-size: 1.15rem;
      letter-spacing: 0.02em;
    }

    .brand-title {
      font-family: "Great Vibes", cursive;
      font-size: clamp(3.2rem, 6vw, 5.6rem);
      line-height: 0.88;
      font-weight: 400;
      color: #f0d6a5;
      text-shadow:
        0 1px 0 rgba(120, 60, 0, 0.45),
        0 2px 0 rgba(120, 60, 0, 0.35),
        0 6px 18px rgba(0, 0, 0, 0.35);
      margin-bottom: 0;
      transform: translateY(-6px);
    }

    .brand-tagline {
      color: #fff2de;
      font-size: clamp(1rem, 2vw, 1.18rem);
      margin-bottom: 10px;
      text-shadow: 0 2px 8px rgba(0,0,0,0.28);
    }

    .brand-meta {
      color: #f0d8b7;
      font-size: 1rem;
      text-shadow: 0 2px 8px rgba(0,0,0,0.28);
    }

    .brand-figure {
      position: absolute;
      right: 10px;
      /*bottom: -1px;*/
      width: 175px;
      z-index: 1;
      opacity: 0.95;
    }

    /* =========================================================
       HERO
       ========================================================= */
    .hero {
      position: relative;
      overflow: hidden;
      border-top: 2px solid rgba(0,0,0,0.25);
      border-bottom: 2px solid rgba(0,0,0,0.25);
    }

   .hero::before {
  background:
    linear-gradient(
      90deg,
      rgba(30, 10, 5, 0.98) 20%,
      rgba(30, 10, 5, 0.80) 50%,
      rgba(30, 10, 5, 0.40) 80%,
      rgba(30, 10, 5, 0.06) 100%
    );
}


    .hero::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, rgba(255,255,255,0.07), transparent 20%, transparent 80%, rgba(0,0,0,0.18));
      z-index: 1;
      pointer-events: none;
    }

    .hero-bg {
      position: absolute;
      inset: 0;
      background:
        linear-gradient(rgba(255,255,255,0.08), rgba(255,255,255,0.05)),
        url("/cms/assets/_core/image/chimney-sweep-hero.jpg") center center / cover no-repeat;
      transform: scale(1.02);
    }

    .hero-inner {
      position: relative;
      z-index: 2;
      min-height: 430px;
      display: grid;
      align-items: center;
      grid-template-columns: minmax(0, 540px) 1fr;
      gap: 30px;
      padding: 60px 0;
    }

    .hero-copy {
      color: #fff4e3;
      padding: 10px 0;
    }

    .hero-title {
      font-family: "Cinzel", serif;
      font-size: clamp(2rem, 4vw, 3.5rem);
      line-height: 1.08;
      color: #f7ddb0;
      margin-bottom: 18px;
      text-shadow: 0 3px 10px rgba(0,0,0,0.40);
    }

    .hero-subtitle {
      font-size: clamp(1.05rem, 1.8vw, 1.45rem);
      line-height: 1.45;
      color: #fff0db;
      margin-bottom: 30px;
      text-shadow: 0 2px 8px rgba(0,0,0,0.35);
    }

    .hero-cta {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 74px;
      padding: 18px 32px;
      background: linear-gradient(180deg, #f8d575 0%, #e7b845 100%);
      border: 2px solid rgba(125, 68, 0, 0.22);
      border-radius: 6px;
      box-shadow:
        0 8px 18px rgba(0,0,0,0.20),
        inset 0 1px 0 rgba(255,255,255,0.38),
        inset 0 -2px 0 rgba(145, 74, 0, 0.20);
      font-family: "Cinzel", serif;
      font-weight: 700;
      font-size: clamp(1.2rem, 2vw, 1.5rem);
      color: #5a1d05;
      text-align: center;
      transition: transform 0.25s ease, box-shadow 0.25s ease;
    }

    .hero-cta strong {
      font-size: 1.18em;
      margin-left: 10px;
    }

    .hero-cta:hover {
      transform: translateY(-2px);
      box-shadow:
        0 12px 24px rgba(0,0,0,0.24),
        inset 0 1px 0 rgba(255,255,255,0.38),
        inset 0 -2px 0 rgba(145, 74, 0, 0.20);
    }

    .hero-visual-spacer {
      min-height: 1px;
    }

    /* =========================================================
       TRUST BAR
       ========================================================= */
    /* ==========================================
   HOMEPAGE TRUST BAR
   Directly below hero section
   ========================================== */

.trust-bar {
  position: relative;
  padding: 22px 0;
  background:
    linear-gradient(
      180deg,
      rgba(95, 20, 20, 0.96) 0%,
      rgba(70, 14, 14, 0.98) 100%
    );
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 10px 24px rgba(0, 0, 0, 0.18);
}

.trust-bar .container {
  position: relative;
}

.trust-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  align-items: center;
}

.trust-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;

  min-height: 56px;
  padding: 12px 16px;

  text-align: center;
  color: #ffffff;
  font-size: 0.98rem;
  font-weight: 600;
  letter-spacing: 0.2px;

  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 8px 18px rgba(0, 0, 0, 0.16);

  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.trust-item:hover {
  transform: translateY(-2px);
  border-color: rgba(224, 185, 115, 0.35);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 12px 24px rgba(0, 0, 0, 0.22);
}

.trust-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 28px;
  height: 28px;
  flex: 0 0 28px;

  border-radius: 50%;
  background: linear-gradient(135deg, #e0b973 0%, #cfa95f 100%);
  color: #1a1a1a;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1;

  box-shadow:
    0 4px 10px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

/* ==========================================
   TRUST BAR RESPONSIVE
   ========================================== */

@media (max-width: 991px) {
  .trust-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .trust-bar {
    padding: 18px 0;
  }

}

    /* ==========================================
   HOMEPAGE WELCOME SECTION
   ========================================== */
    .welcome {
  position: relative;
  padding: 80px 0;

  background:
    linear-gradient(
      180deg,
      #f5efe6 0%,
      #efe3d3 100%
    );
}

    .welcome-wrap {
      position: relative;
      z-index: 2;
    }

    .welcome-header {
      text-align: center;
      margin-bottom: 38px;
    }

    .welcome-title {
  font-family: "Cinzel", serif;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  text-align: center;
  color: #1a1a1a;

  margin-bottom: 40px;

  letter-spacing: 0.5px;
}

    .welcome-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 50px;
  align-items: center;
}

    .welcome-image-card {
  position: relative;
  border-radius: 8px;
  overflow: hidden;

  box-shadow:
    0 20px 40px rgba(0, 0, 0, 0.25);
}

    .welcome-image {
  width: 100%;
  height: auto;
  display: block;

  transition: transform 0.6s ease;
}

.welcome-image-card:hover .welcome-image {
  transform: scale(1.05);
}

    .welcome-content p {
      color: #4f352b;
      font-size: 1.08rem;
      margin-bottom: 24px;
    }

    .service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;

  margin-top: 30px;
}

    .service-item {
  display: flex;
  gap: 14px;

  padding: 16px;

  background: #ffffff;
  border-radius: 6px;

  box-shadow:
    0 10px 22px rgba(0, 0, 0, 0.08);

  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.service-item:hover {
  transform: translateY(-3px);

  box-shadow:
    0 14px 28px rgba(0, 0, 0, 0.12);
}

    .service-check {
  width: 28px;
  height: 28px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background: linear-gradient(135deg, #e0b973 0%, #cfa95f 100%);
  color: #1a1a1a;

  font-weight: 700;
  font-size: 0.9rem;

  flex: 0 0 28px;
}

    .service-body h3 {
      font-family: "Cinzel", serif;
      font-size: 1.65rem;
      line-height: 1.15;
      color: #8a180f;
      margin-bottom: 8px;
    }

    .service-body p {
      margin: 0;
      font-size: 1rem;
      line-height: 1.45;
      color: #553a30;
    }

    .welcome-bottom {
  margin-top: 35px;
}

    .welcome-note {
  margin-bottom: 20px;
  font-size: 1rem;
  color: #333;
}

    .btn-maroon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 60px;
  padding: 16px 28px;
  border-radius: 999px;
  background: linear-gradient(180deg, #8b140d 0%, #64100c 100%);
  color: #f8e2c0;
  font-family: "Cinzel", serif;
  font-size: 1.1rem;
  font-weight: 600;
  box-shadow:
    0 8px 18px rgba(0,0,0,0.18),
    inset 0 1px 0 rgba(255,255,255,0.10),
    inset 0 -2px 0 rgba(0,0,0,0.18);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  white-space: nowrap;
  text-decoration: none !important;
}

.btn-maroon:hover {
  transform: translateY(-2px);
  box-shadow:
    0 12px 22px rgba(0,0,0,0.22),
    inset 0 1px 0 rgba(255,255,255,0.10),
    inset 0 -2px 0 rgba(0,0,0,0.18);
  text-decoration: none !important;
}

    /* =========================================================
       FOOTER
       ========================================================= */
    .site-footer {
      color: #f2dfbf;
      border-top: 2px solid rgba(0,0,0,0.22);
      position: relative;
    }

    .footer-main {
      padding: 36px 0 36px;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.3fr 1fr 1fr 1fr;
      gap: 30px;
      position: relative;
      z-index: 2;
    }

    .footer-col h3 {
      font-family: "Cinzel", serif;
      font-size: 1.6rem;
      color: #f4dfbb;
      margin-bottom: 18px;
    }

    .footer-col p,
    .footer-col li,
    .footer-col a,
    .footer-col address {
      font-size: 1.08rem;
      color: #f4dfc7;
      font-style: normal;
    }

    .footer-col ul li + li {
      margin-top: 10px;
    }

    .footer-col a:hover {
      color: #ffd98d;
    }

    .footer-address {
      margin-bottom: 18px;
      line-height: 1.7;
    }

    .footer-phone {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-family: "Cinzel", serif;
      font-size: 2rem;
      font-weight: 700;
      color: #f1c96d;
      margin: 12px 0 22px;
    }

    .footer-socials {
      display: flex;
      gap: 12px;
      margin-top: 8px;
    }

    .footer-socials a {
      width: 38px;
      height: 38px;
      border-radius: 4px;
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.08);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 1rem;
      transition: background 0.25s ease, transform 0.25s ease;
    }

    .footer-socials a:hover {
      background: rgba(255,255,255,0.14);
      transform: translateY(-2px);
    }

    .footer-links li::before {
  content: "›";
  color: #efc977;
  margin-right: 8px;
}

.subpage-checklist li::before {
  content: "\2713"; /* ✓ */
  position: absolute;
  left: 0;
  top: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #3a140b;
  color: #ffffff;
  font-size: 0.88rem;
  line-height: 22px;
  text-align: center;
}

    .footer-contact-phone {
      font-family: "Cinzel", serif;
      font-size: 2.15rem;
      font-weight: 700;
      color: #f2c76b;
      margin-bottom: 12px;
    }

    .footer-contact-line {
      display: block;
      margin-bottom: 8px;
    }

    .footer-hours {
      margin-top: 14px;
      color: #f7e8d0;
    }

    .footer-bottom {
      border-top: 1px solid rgba(255,255,255,0.08);
      padding: 18px 0 22px;
      text-align: center;
      color: #ead2b1;
      font-size: 0.98rem;
    }

    /* =========================================================
       MOBILE NAV TOGGLE
       ========================================================= */
    .nav-toggle {
      display: none;
      background: transparent;
      border: 1px solid rgba(255,255,255,0.15);
      color: #f5dfc0;
      padding: 10px 14px;
      border-radius: 6px;
      font-family: "Cinzel", serif;
      font-size: 0.95rem;
    }

    /* =========================================================
       RESPONSIVE
       ========================================================= */
    @media (max-width: 1100px) {
      .brand-header-inner {
        padding-right: 130px;
      }

      .brand-figure {
        width: 110px;
      }

      .trust-list {
        grid-template-columns: repeat(2, 1fr);
      }

      .footer-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media (max-width: 900px) {
      .site-topbar-inner {
        justify-content: space-between;
        min-height: 72px;
      }

      .nav-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
      }

      .site-nav {
        display: none;
        width: 100%;
        padding-bottom: 16px;
      }

      .site-topbar.is-open .site-nav {
        display: block;
      }

      .site-topbar-inner {
        flex-wrap: wrap;
        padding: 12px 0;
      }

      .site-nav ul {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        margin-top: 8px;
      }

      .site-nav li + li::before {
        display: none;
      }

      .site-nav a {
        padding: 14px 16px;
        border-top: 1px solid rgba(255,255,255,0.07);
      }

      .brand-header-inner {
        min-height: auto;
        padding: 0 20px;
      }

      .brand-figure {
        display: none;
      }

      .hero-inner {
        grid-template-columns: 1fr;
        min-height: auto;
      }

      .hero-copy {
        max-width: 620px;
      }

      .welcome-grid {
        grid-template-columns: 1fr;
      }

      .welcome-image-card {
        max-width: 320px;
        margin-inline: auto;
      }

      .service-grid {
        grid-template-columns: 1fr;
      }

      .welcome-bottom {
        flex-direction: column;
        align-items: flex-start;
      }
    }

    @media (max-width: 640px) {
      .container {
        width: min(100% - 22px, var(--container));
      }

      .brand-header {
        padding: 22px 0 24px;
      }

      .brand-kicker {
        font-size: 1rem;
      }

      .brand-tagline {
        font-size: 0.96rem;
      }

      .brand-meta {
        font-size: 0.92rem;
        line-height: 1.6;
      }

      .hero {
        min-height: auto;
      }

      .hero-bg {
        background-position: 68% center;
      }

      .hero-inner {
        padding: 42px 0;
      }

      .hero-title {
        font-size: 2rem;
      }

      .hero-subtitle {
        font-size: 1rem;
        margin-bottom: 22px;
      }

      .hero-cta {
        width: 100%;
        min-height: 66px;
        padding: 16px 18px;
        line-height: 1.25;
      }

      .trust-list {
        grid-template-columns: 1fr;
        gap: 14px;
      }

      .welcome {
        padding-top: 8px;
      }

      .welcome-title {
        font-size: 2rem;
      }

      .welcome-content p,
      .welcome-note {
        font-size: 1rem;
      }

      .service-body h3 {
        font-size: 1.45rem;
      }

      .btn-maroon {
        width: 80%;
      }

      .footer-grid {
        grid-template-columns: 1fr;
      }

      .footer-col h3 {
        font-size: 1.6rem;
      }

      .footer-phone,
      .footer-contact-phone {
        font-size: 1.65rem;
      }
    }
 /* =========================================================
   SUBPAGE STYLES
   Add this BELOW your homepage CSS
   These styles are intended for interior/subpages so they
   inherit the same overall brand feel as the homepage.
========================================================= */


/* =========================================================
   1. SUBPAGE WRAPPER
   Main wrapper for all subpages
========================================================= */
.subpage-wrap {
  width: 100%;
  position: relative;
  overflow: hidden;
  background: #f7f3ee;
}


/* =========================================================
   2. SUBPAGE HERO / INTERIOR HERO
   Use for the top banner area of subpages
========================================================= */
/*.subpage-hero {
  position: relative;
  width: 100%;
  min-height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 120px 20px 90px 20px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
}*/

/* Optional dark overlay for readability */
.subpage-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(20, 10, 6, 0.40),
    rgba(20, 10, 6, 0.58)
  );
  z-index: 1;
}

/* Subpage title */
.subpage-hero h1 {
  margin: 0 0 14px 0;
  color: #ffffff;
  font-size: clamp(2.2rem, 5vw, 4.4rem);
  line-height: 1.05;
  font-weight: 700;
  text-shadow:
    0 2px 6px rgba(0,0,0,0.35),
    0 8px 24px rgba(0,0,0,0.30);
}

/* Optional subtitle / intro text */
.subpage-hero p {
  max-width: 760px;
  margin: 0 auto;
  color: rgba(255,255,255,0.95);
  font-size: clamp(1rem, 2vw, 1.2rem);
  line-height: 1.7;
  text-shadow: 0 2px 6px rgba(0,0,0,0.28);
}


/* =========================================================
   3. BREADCRUMBS
   Small breadcrumb trail under the hero or inside hero
========================================================= */
.subpage-breadcrumbs {
  margin: 0 0 18px 0;
  font-size: 0.92rem;
  letter-spacing: 0.02em;
  color: rgba(255,255,255,0.88);
}

.subpage-breadcrumbs a {
  color: rgba(255,255,255,0.95);
  text-decoration: none;
  transition: opacity 0.25s ease;
}

.subpage-breadcrumbs a:hover {
  opacity: 0.75;
}

.subpage-breadcrumbs span {
  opacity: 0.85;
}


/* =========================================================
   4. SECTION SPACING
   Standard interior page spacing
========================================================= */
.subpage-section {
  position: relative;
  padding: 80px 20px;
}

.subpage-section-tight {
  padding: 55px 20px;
}

.subpage-section-dark {
  background: #2b1a12;
  color: #ffffff;
}

.subpage-section-light {
  background: #ffffff;
}

.subpage-section-cream {
  background: #f7f3ee;
}


/* =========================================================
   5. CONTENT CONTAINER
   Keeps interior content aligned and readable
========================================================= */
.subpage-container {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
}

.subpage-container-narrow {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}


/* =========================================================
   6. INTRO / PAGE HEADER BLOCK
   For intro text below hero
========================================================= */
.subpage-intro {
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}

.subpage-intro h2 {
  margin: 0 0 18px 0;
  color: #3a140b;
  font-size: clamp(1.9rem, 4vw, 3rem);
  line-height: 1.15;
}

.subpage-intro p {
  margin: 0 auto;
  color: #5d5149;
  font-size: 1.08rem;
  line-height: 1.85;
  max-width: 760px;
}


/* =========================================================
   7. TWO COLUMN LAYOUT
   Great for service page content + image/sidebar
========================================================= */
.subpage-grid-2 {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  gap: 42px;
  align-items: start;
}

.subpage-grid-2.equal {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.subpage-main-content {
  min-width: 0;
}

.subpage-sidebar {
  min-width: 0;
}


/* =========================================================
   8. GENERAL TEXT STYLING
   Interior content typography
========================================================= */
.subpage-content h2,
.subpage-content h3,
.subpage-content h4 {
  color: #3a140b;
  margin-top: 0;
}

.subpage-content h2 {
  font-size: clamp(1.8rem, 3vw, 2.7rem);
  line-height: 1.2;
  margin-bottom: 18px;
}

.subpage-content h3 {
  font-size: clamp(1.3rem, 2vw, 1.8rem);
  line-height: 1.25;
  margin-bottom: 14px;
}

.subpage-content h4 {
  font-size: 1.15rem;
  line-height: 1.35;
  margin-bottom: 10px;
}

.subpage-content p {
  margin: 0 0 20px 0;
  color: #5e534b;
  line-height: 1.85;
  font-size: 1.04rem;
}

.subpage-content ul,
.subpage-content ol {
  margin: 0 0 24px 22px;
  color: #5e534b;
  line-height: 1.8;
}

.subpage-content li {
  margin-bottom: 10px;
}

.subpage-content strong {
  color: #2f140d;
}


/* =========================================================
   9. FEATURE / SERVICE CARDS
   Good for chimney services blocks or subpage sections
========================================================= */
.subpage-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

.subpage-card {
  background: #ffffff;
  border-radius: 18px;
  padding: 30px 26px;
  box-shadow: 0 12px 28px rgba(58, 20, 11, 0.08);
  border: 1px solid rgba(58, 20, 11, 0.06);
  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease;
}

.subpage-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 34px rgba(58, 20, 11, 0.12);
}

.subpage-card h3 {
  margin: 0 0 12px 0;
  color: #3a140b;
  font-size: 1.3rem;
}

.subpage-card p {
  margin: 0;
  color: #5d5149;
  line-height: 1.75;
}


/* =========================================================
   10. CHECKLIST / BENEFITS LIST
   Great for "why choose us" style content
========================================================= */
.subpage-checklist {
  list-style: none;
  margin: 0;
  padding: 0;
}

.subpage-checklist li {
  position: relative;
  padding-left: 34px;
  margin-bottom: 16px;
  color: #4f433c;
  line-height: 1.7;
}

.subpage-checklist li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  top: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #3a140b;
  color: #ffffff;
  font-size: 0.88rem;
  line-height: 22px;
  text-align: center;
}


/* =========================================================
   11. IMAGE BLOCKS
   Used for interior content images
========================================================= */
.subpage-image-wrap {
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 16px 34px rgba(58, 20, 11, 0.12);
}

.subpage-image-wrap img {
  display: block;
  width: 100%;
  height: auto;
}

.subpage-image-caption {
  margin-top: 12px;
  color: #7a6b62;
  font-size: 0.92rem;
  line-height: 1.6;
}


/* =========================================================
   12. SIDEBAR BOXES
   Helpful for service lists, contact info, CTAs
========================================================= */
.subpage-sidebox {
  background: #ffffff;
  border-radius: 18px;
  padding: 28px 24px;
  margin-bottom: 24px;
  box-shadow: 0 12px 28px rgba(58, 20, 11, 0.08);
  border: 1px solid rgba(58, 20, 11, 0.06);
}

.subpage-sidebox h3 {
  margin: 0 0 14px 0;
  color: #3a140b;
  font-size: 1.25rem;
}

.subpage-sidebox p,
.subpage-sidebox li,
.subpage-sidebox a {
  color: #5d5149;
  line-height: 1.75;
}

.subpage-sidebox ul {
  margin: 0;
  padding-left: 18px;
}


/* =========================================================
   13. CALL TO ACTION SECTION
   Strong band section near bottom of subpages
========================================================= */
.subpage-cta {
  position: relative;
  background: linear-gradient(135deg, #3a140b 0%, #5a2414 100%);
  color: #ffffff;
  border-radius: 24px;
  padding: 50px 30px;
  text-align: center;
  overflow: hidden;
}

.subpage-cta h2 {
  margin: 0 0 14px 0;
  color: #ffffff;
  font-size: clamp(1.8rem, 3vw, 2.9rem);
  line-height: 1.15;
}

.subpage-cta p {
  max-width: 760px;
  margin: 0 auto 24px auto;
  color: rgba(255,255,255,0.92);
  line-height: 1.8;
  font-size: 1.04rem;
}

/* CTA buttons container */
.subpage-cta-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
}


/* =========================================================
   14. BUTTON HELPERS
   Only use these if you do not already have button styles
========================================================= */
.subpage-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px 28px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  line-height: 1;
  transition:
    transform 0.25s ease,
    opacity 0.25s ease,
    background 0.25s ease,
    color 0.25s ease;
}

.subpage-btn:hover {
  transform: translateY(-2px);
}

.subpage-btn-primary {
  background: #d2a24c;
  color: #2b160d;
}

.subpage-btn-primary:hover {
  opacity: 0.92;
}

.subpage-btn-secondary {
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.28);
  color: #ffffff;
}

.subpage-btn-secondary:hover {
  background: rgba(255,255,255,0.18);
}


/* =========================================================
   15. FAQ / ACCORDION SPACING FOR SUBPAGES
   Helps FAQ sections blend into interior pages
========================================================= */
.subpage-faq-wrap {
  max-width: 960px;
  margin: 0 auto;
}

.subpage-faq-wrap .accordion,
.subpage-faq-wrap button.accordion {
  border-radius: 14px;
}

.subpage-faq-wrap .panel {
  margin-bottom: 14px;
}


/* =========================================================
   16. CONTACT STRIP
   Useful for top contact band or quick action strip
========================================================= */
.subpage-contact-strip {
  background: #2f140d;
  color: #ffffff;
  padding: 18px 20px;
}

.subpage-contact-strip-inner {
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px 24px;
}

.subpage-contact-strip p {
  margin: 0;
  color: rgba(255,255,255,0.92);
  line-height: 1.6;
}

.subpage-contact-strip a {
  color: #ffffff;
  text-decoration: none;
}


/* =========================================================
   17. SIMPLE FORM STYLING
   Helpful if subpages include contact/request forms
========================================================= */
.subpage-form {
  background: #ffffff;
  border-radius: 20px;
  padding: 34px 28px;
  box-shadow: 0 14px 30px rgba(58, 20, 11, 0.08);
  border: 1px solid rgba(58, 20, 11, 0.06);
}

.subpage-form h3 {
  margin: 0 0 10px 0;
  color: #3a140b;
}

.subpage-form p {
  margin: 0 0 20px 0;
  color: #5e534b;
}

.subpage-form input,
.subpage-form textarea,
.subpage-form select {
  width: 100%;
  border: 1px solid #ddd2c7;
  border-radius: 12px;
  padding: 14px 16px;
  background: #fffdfb;
  color: #3a140b;
  font-size: 1rem;
  margin-bottom: 14px;
}

.subpage-form textarea {
  min-height: 140px;
  resize: vertical;
}

.subpage-form input:focus,
.subpage-form textarea:focus,
.subpage-form select:focus {
  outline: none;
  border-color: #b88339;
  box-shadow: 0 0 0 3px rgba(210, 162, 76, 0.14);
}


/* =========================================================
   18. DIVIDER / VISUAL SEPARATOR
   Decorative line between sections if needed
========================================================= */
.subpage-divider {
  width: 110px;
  height: 3px;
  margin: 0 auto;
  background: linear-gradient(to right, transparent, #d2a24c, transparent);
}


/* =========================================================
   19. IMAGE + TEXT FEATURE ROW
   Nice for alternating service sections
========================================================= */
.subpage-feature-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 44px;
  align-items: center;
}

.subpage-feature-row.reverse .subpage-feature-media {
  order: 2;
}

.subpage-feature-row.reverse .subpage-feature-content {
  order: 1;
}

.subpage-feature-content h2,
.subpage-feature-content h3 {
  margin-top: 0;
}

.subpage-feature-media img {
  width: 100%;
  display: block;
  border-radius: 22px;
}


/* =========================================================
   20. RESPONSIVE ADJUSTMENTS
   Keeps subpages clean on tablets and mobile
========================================================= */
@media (max-width: 1024px) {
  .subpage-grid-2,
  .subpage-grid-2.equal,
  .subpage-feature-row {
    grid-template-columns: 1fr;
  }

  .subpage-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .subpage-hero {
    min-height: 360px;
    padding: 110px 20px 80px 20px;
  }
}

@media (max-width: 767px) {
  .subpage-section {
    padding: 60px 16px;
  }

  .subpage-section-tight {
    padding: 42px 16px;
  }

  .subpage-hero {
    min-height: 460px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 54px 16px;
    text-align: center;
  }
/*
  .subpage-hero-content {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
  } */

  .subpage-hero h1,
  .subpage-hero p {
    text-align: center;
  }

  .subpage-card-grid {
    grid-template-columns: 1fr;
  }

  .subpage-sidebox,
  .subpage-form,
  .subpage-card {@media (max-width: 1024px)
    padding: 24px 20px;
  }

  .subpage-cta {
    padding: 38px 20px;
    border-radius: 20px;
  }

  .subpage-contact-strip-inner {
    justify-content: center;
    text-align: center;
  }
}

/* =========================================================
   CHIMNEY SUBPAGE HERO
   FINAL CLEAN SINGLE VERSION
   PLACE AT THE VERY BOTTOM OF YOUR CSS FILE
========================================================= */

.chimney-subpage .subpage-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(30, 10, 5, 0.22) 0%,
      rgba(30, 10, 5, 0.12) 35%,
      rgba(30, 10, 5, 0.05) 65%,
      rgba(30, 10, 5, 0.00) 100%
    );
  z-index: 1;
}

.chimney-subpage .subpage-hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
}

.chimney-subpage .hero-eyebrow {
  margin: 0 0 18px 0;
  font-family: 'Cinzel', serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #ddb96c;
  text-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.chimney-subpage .subpage-hero h1 {
  margin: 0 0 24px 0;
  font-family: 'Cinzel', serif !important;
  font-size: 60px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #ecd3a0;
  text-shadow: 0 2px 10px rgba(0,0,0,0.16);
  white-space: nowrap;
}

.chimney-subpage .subpage-hero p {
  max-width: 500px;
  margin: 0 0 30px 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.6;
  color: #f2e3c3;
  text-shadow: 0 2px 6px rgba(0,0,0,0.14);
}

.chimney-subpage .hero-btn {
  display: inline-block;
  min-width: 410px;
  padding: 16px 30px;
  border-radius: 6px;
  border: 1px solid rgba(191, 141, 41, 0.55);
  background: linear-gradient(to bottom, #e3bf66, #d4aa4d);
  color: #6c3f18;
  font-family: 'Cinzel', serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  box-shadow:
    0 4px 14px rgba(0,0,0,0.18),
    inset 0 1px 0 rgba(255,255,255,0.20);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    filter 0.25s ease;
}

.chimney-subpage .hero-btn:hover {
  transform: translateY(-2px);
  filter: brightness(1.03);
  box-shadow:
    0 8px 18px rgba(0,0,0,0.22),
    inset 0 1px 0 rgba(255,255,255,0.26);
}

.chimney-subpage .hero-note {
  margin-top: 20px;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 600;
  color: #ecd7aa;
  text-shadow: 0 2px 6px rgba(0,0,0,0.12);
}

@media (max-width: 1200px) {

  .chimney-subpage .subpage-hero h1 {
    font-size: 52px;
    white-space: normal;
  }

  .chimney-subpage .hero-btn {
    min-width: 360px;
  }
}

@media (max-width: 900px) {

  .chimney-subpage .subpage-hero h1 {
    font-size: 46px;
    line-height: 1.02;
    white-space: normal;
  }

  .chimney-subpage .subpage-hero p {
    font-size: 17px;
    max-width: 460px;
  }

  .chimney-subpage .hero-btn {
    min-width: 330px;
    padding: 15px 24px;
  }
}

@media (max-width: 768px) {

  .chimney-subpage .subpage-hero-overlay {
    background: rgba(42, 10, 7, 0.58);
  }

  .chimney-subpage .hero-eyebrow {
    font-size: 12px;
    margin-bottom: 14px;
  }

  .chimney-subpage .subpage-hero h1 {
    font-size: 38px;
    line-height: 1.05;
    white-space: normal;
    margin-bottom: 18px;
  }

  .chimney-subpage .subpage-hero p {
    max-width: 100%;
    margin: 0 auto 24px auto;
    font-size: 16px;
    line-height: 1.65;
  }

  .chimney-subpage .hero-btn {
    min-width: 0;
    width: 100%;
    max-width: 340px;
  }

  .chimney-subpage .hero-note {
    margin-top: 16px;
    font-size: 14px;
  }
}
/* =========================================
   CHIMNEY SERVICES INTRO SECTION
   (Left text + Right image layout)
========================================= */

.chimney-services-intro {
  /* Light paper-style background */
  background: #f4efe7;
  padding: 70px 20px;
}

/* =========================================
   INNER CONTAINER (2 COLUMN LAYOUT)
========================================= */

.chimney-services-intro__inner {
  max-width: 1200px;
  margin: 0 auto;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;

  flex-wrap: wrap; /* Mobile fallback */
}

/* =========================================
   LEFT CONTENT COLUMN
========================================= */

.chimney-services-intro__content {
  flex: 1 1 520px;
}

/* =========================================
   SECTION TITLE
========================================= */

.chimney-services-intro__title {
  font-family: 'Cinzel', serif; /* IMPORTANT for your brand */
  font-size: 42px;
  font-weight: 600;
  letter-spacing: 1px;

  color: #7a1e1e; /* deep red tone */
  margin-bottom: 10px;
}

/* =========================================
   DECORATIVE DIVIDER (line + diamond)
========================================= */

.chimney-services-intro__divider {
  display: flex;
  align-items: center;
  gap: 12px;

  margin: 15px 0 25px 0;
}

.chimney-services-intro__line {
  flex: 1;
  height: 1px;
  background: #c9b79c;
}

.chimney-services-intro__diamond {
  width: 8px;
  height: 8px;
  background: #c9b79c;
  transform: rotate(45deg);
}

/* =========================================
   BODY TEXT
========================================= */

.chimney-services-intro__text p {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  line-height: 1.7;

  color: #5a4a3f;
  margin-bottom: 16px;
}

/* =========================================
   RIGHT IMAGE COLUMN
========================================= */

.chimney-services-intro__image-wrap {
  flex: 1 1 420px;
  display: flex;
  justify-content: flex-end;
}

/* Image styling to match mockup */
.chimney-services-intro__image {
  width: 100%;
  max-width: 420px;

  display: block;

  /* Subtle frame look */
  border: 6px solid #ffffff;
  box-shadow: 0 4px 18px rgba(0,0,0,0.15);
}

/* =========================================
   RESPONSIVE (MOBILE)
========================================= */

@media (max-width: 768px) {

  .chimney-services-intro__inner {
    flex-direction: column;
    gap: 30px;
  }

  .chimney-services-intro__title {
    font-size: 32px;
    text-align: center;
  }

  .chimney-services-intro__divider {
    justify-content: center;
  }

  .chimney-services-intro__text {
    text-align: center;
  }

  .chimney-services-intro__image-wrap {
    justify-content: center;
  }

  .chimney-services-intro__image {
    max-width: 100%;
  }
}
/* =========================================
   SMALL EYEBROW TEXT
========================================= */

.chimney-services-intro__eyebrow {
  font-family: 'Cinzel', serif;
  font-size: 14px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #9b6a45;
  margin-bottom: 18px;
}
/* =========================================
   CHIMNEY SERVICE CARDS SECTION
========================================= */

.chimney-services-cards {
  background: #f4efe7; /* matches previous section */
  padding: 40px 20px 80px;
}

/* =========================================
   INNER GRID
========================================= */

.chimney-services-cards__inner {
  max-width: 1200px;
  margin: 0 auto;

  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

/* =========================================
   INDIVIDUAL CARD
========================================= */

.chimney-services-card {
  background: #fdfcfb;

  padding: 28px 28px 30px;

  /* subtle border */
  border: 1px solid #e3d8c7;

  /* soft shadow like mockup */
  box-shadow: 0 6px 18px rgba(0,0,0,0.05);

  transition: all 0.3s ease;
}

/* Hover effect (subtle lift) */
.chimney-services-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

/* =========================================
   CARD TITLE
========================================= */

.chimney-services-card__title {
  font-family: 'Cinzel', serif;
  font-size: 20px;
  letter-spacing: 0.06em;
  text-transform: uppercase;

  color: #7a1e1e;

  margin-bottom: 14px;
}

/* =========================================
   CARD TEXT
========================================= */

.chimney-services-card__text {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 15px;
  line-height: 1.7;

  color: #5a4a3f;
}

/* =========================================
   RESPONSIVE
========================================= */


@media (max-width: 992px) {
  .chimney-services-cards__inner {
    grid-template-columns: repeat(2, 1fr);
  }
}


@media (max-width: 600px) {
  .chimney-services-cards__inner {
    grid-template-columns: 1fr;
  }

  .chimney-services-card {
    text-align: center;
  }
}
/* =========================================
   OUR STORY MINI INTRO
========================================= */
.ourstory-mini-intro {
  padding: 58px 0 54px;
  background: #e9ddc9; /* same warm tan family used throughout */
}

.ourstory-mini-intro-inner {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.ourstory-mini-intro h2 {
  position: relative;
  display: inline-block;
  margin: 0 0 18px;
  padding: 0 46px;
  font-family: "Cinzel", serif;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  line-height: 1.2;
  font-weight: 600;
  color: #4b3424;
}

.ourstory-mini-intro h2::before,
.ourstory-mini-intro h2::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 30px;
  height: 1px;
  background: #b79263;
  transform: translateY(-50%);
}

.ourstory-mini-intro h2::before {
  left: 0;
}

.ourstory-mini-intro h2::after {
  right: 0;
}

.ourstory-mini-intro p {
  max-width: 820px;
  margin: 0 auto;
  font-size: clamp(1rem, 1.5vw, 1.18rem);
  line-height: 1.8;
  color: #5a4435;
}

/* =========================================
   MOBILE
========================================= */
@media (max-width: 767px) {
  .ourstory-mini-intro {
    padding: 44px 0 42px;
  }

  .ourstory-mini-intro h2 {
    padding: 0 24px;
    margin-bottom: 14px;
  }

  .ourstory-mini-intro h2::before,
  .ourstory-mini-intro h2::after {
    width: 16px;
  }

  .ourstory-mini-intro p {
    line-height: 1.7;
  }
}
/* =========================================
   OUR STORY - HUMBLE BEGINNINGS (REFINED)
========================================= */
.ourstory-beginnings {
  padding: 90px 0;
  background: #e6d8c2; /* slightly darker than card */
}

/* CARD WRAP */
.ourstory-beginnings-wrap {
  max-width: 1200px;
  margin: 0 auto;
  background: #f7efe3;
  border-radius: 20px;
  padding: 60px;
  box-shadow: 0 30px 70px rgba(61, 43, 31, 0.15);
}

/* GRID */
.ourstory-beginnings-grid {
  display: grid;
  grid-template-columns: 1fr 520px;
  gap: 60px;
  align-items: center;
}

/* CONTENT WIDTH FIX */
.ourstory-beginnings-content {
  /*max-width: 560px;*/
}

/* HEADING */
.ourstory-beginnings-content h2 {
  margin: 0 0 22px;
  font-family: "Cinzel", serif;
  font-size: clamp(2rem, 3vw, 2.8rem);
  line-height: 1.2;
  color: #3a281c;
}

/* TEXT */
.ourstory-beginnings-content p {
  margin: 0 0 18px;
  font-size: 1.05rem;
  line-height: 1.85;
  color: #5a4435;
}

/* QUOTE (ENHANCED) */
.ourstory-beginnings-quote {
  margin-top: 34px;
  padding: 26px 28px;
  background: #fffaf2;
  border-left: 4px solid #b69163;
  border-radius: 14px;
  box-shadow: 0 12px 28px rgba(61, 43, 31, 0.08);
}

.ourstory-beginnings-quote p {
  margin: 0 0 10px;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.7rem;
  font-style: italic;
  color: #4a3426;
}

.ourstory-beginnings-quote span {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #7a5a35;
}

/* IMAGE CARD (STRONGER PRESENCE) */
.ourstory-beginnings-image-card {
  background: #ffffff;
  padding: 14px;
  border-radius: 18px;
  box-shadow: 0 25px 60px rgba(61, 43, 31, 0.18);
}

.ourstory-beginnings-image-card img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  border-radius: 12px;
  display: block;
}


@media (max-width: 1100px) {
  .ourstory-beginnings-grid {
    grid-template-columns: 1fr;
  }

  .ourstory-beginnings-content {
    max-width: 100%;
  }

  .ourstory-beginnings-wrap {
    padding: 30px;
  }
}

@media (max-width: 767px) {
  .ourstory-beginnings {
    padding: 60px 0;
  }

  .ourstory-beginnings-wrap {
    padding: 24px;
  }

  .ourstory-beginnings-image-card img {
    height: 260px;
  }
}
/* =========================================
   AS FEATURED IN
========================================= */
.ourstory-featured {
  padding: 90px 0;
  background: #e9ddc9;
}

.ourstory-featured-wrap {
  max-width: 1200px;
  margin: 0 auto;
  background: #f5ecdf;
  border-radius: 20px;
  padding: 50px;
  box-shadow: 0 25px 60px rgba(61, 43, 31, 0.12);
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 50px;
  align-items: center;
}

/* =========================================
   LEFT CONTENT
========================================= */
.ourstory-featured-content {
  min-width: 0;
}

.ourstory-featured-eyebrow {
  display: inline-block;
  margin-bottom: 14px;
  font-family: "Cinzel", serif;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #7a5a35;
}

.ourstory-featured h2 {
  margin: 0 0 18px;
  font-family: "Cinzel", serif;
  font-size: clamp(2rem, 3vw, 3.2rem);
  line-height: 1.05;
  color: #2f2016;
}

.ourstory-featured p {
  margin: 0 0 20px;
  font-size: 1.05rem;
  line-height: 1.85;
  color: #5b4636;
}

/* =========================================
   QUOTE
========================================= */
.ourstory-featured-quote {
  margin: 28px 0 30px;
  padding: 22px 24px;
  background: #fffaf2;
  border-left: 4px solid #b69163;
  border-radius: 12px;
}

.ourstory-featured-quote p {
  margin: 0;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.4;
  font-style: italic;
  color: #4a3426;
}

/* =========================================
   BUTTON
========================================= */
.ourstory-featured-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 24px;
  border-radius: 999px;
  background: #7a5a35;
  color: #ffffff;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: none;
  transition:
    background 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
  box-shadow: 0 10px 22px rgba(61, 43, 31, 0.16);
}

.ourstory-featured-btn:hover {
  background: #674a2a;
  transform: translateY(-2px);
  box-shadow: 0 16px 28px rgba(61, 43, 31, 0.18);
}

/* =========================================
   RIGHT IMAGE
========================================= */
.ourstory-featured-media {
  min-width: 0;
}

.ourstory-featured-image-card {
  background: #ffffff;
  padding: 12px;
  border-radius: 16px;
  box-shadow: 0 16px 35px rgba(61, 43, 31, 0.12);
}

.ourstory-featured-image-card img {
  display: block;
  width: 100%;
  height: 470px;
  object-fit: cover;
  border-radius: 12px;
}


@media (max-width: 1100px) {
  .ourstory-featured-wrap {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .ourstory-featured {
    padding: 60px 0;
  }

  .ourstory-featured-wrap {
    padding: 24px;
    gap: 28px;
  }

  .ourstory-featured-image-card img {
    height: 320px;
  }

  .ourstory-featured p {
    font-size: 1rem;
    line-height: 1.75;
  }
}
/* =========================================
   OUR STORY - FULL ARTICLE
========================================= */
.ourstory-article {
  padding: 90px 0;
  background: #e9ddc9;
}

.ourstory-article-wrap {
  max-width: 1200px;
  margin: 0 auto;
  background: #f5ecdf;
  border-radius: 20px;
  padding: 42px;
  box-shadow: 0 25px 60px rgba(61, 43, 31, 0.12);
}

.ourstory-article-inner {
  max-width: 1200px;
}

.ourstory-article-eyebrow {
  display: inline-block;
  margin-bottom: 14px;
  font-family: "Cinzel", serif;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #a88a67;
}

.ourstory-article h2 {
  margin: 0 0 22px;
  font-family: "Cinzel", serif;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.08;
  color: #3b2a1d;
}

.ourstory-article-body {
  color: #5b4636;
}

.ourstory-article-body p {
  margin: 0 0 18px;
  font-size: 1rem;
  line-height: 1.95;
  color: #5b4636;
}

.ourstory-article-body h3 {
  margin: 32px 0 14px;
  font-family: "Cinzel", serif;
  font-size: 1.2rem;
  line-height: 1.3;
  color: #3b2a1d;
}

@media (max-width: 767px) {
  .ourstory-article {
    padding: 60px 0;
  }

  .ourstory-article-wrap {
    padding: 24px;
    border-radius: 16px;
  }

  .ourstory-article-inner {
    max-width: 100%;
  }

  .ourstory-article-body p {
    font-size: 0.98rem;
    line-height: 1.85;
  }
}
/* =========================================
   WATERPROOFING INTRO SECTION
   Matches site's tan textured background
   and more balanced typography scale
   ========================================= */
.waterproofing-intro {
  width: 100%;
  padding: 60px 20px 36px;
  text-align: center;
  background-color: #e7ddcf;
  background-image:
    linear-gradient(rgba(255,255,255,0.18), rgba(255,255,255,0.18)),
    url("/cms/assets/_core/image/paper-texture-tan.jpg");
  background-repeat: repeat;
  background-size: auto;
}

/* =========================================
   INNER WRAPPER
   ========================================= */
.waterproofing-intro__inner {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}

/* =========================================
   MAIN TITLE
   Kept elegant, but reduced in size
   ========================================= */
.waterproofing-intro__title {
  margin: 0 0 18px;
  font-family: "Cinzel", serif;
  font-size: clamp(2.2rem, 3.3vw, 3.7rem);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: 0.035em;
  text-transform: uppercase;
  color: #4a2d1d;
}

/* =========================================
   SUBTITLE
   ========================================= */
.waterproofing-intro__subtitle {
  margin: 0 0 24px;
  font-family: "Cinzel", serif;
  font-size: clamp(1.35rem, 2.2vw, 2.35rem);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #6a3e22;
}


.waterproofing-intro__text {
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
  font-family: "Lato", Arial, sans-serif;
  font-size: clamp(1.02rem, 1.15vw, 1.3rem);
  line-height: 1.7;
  font-weight: 400;
  color: #4d4943;
}

/* =========================================
   TABLET
   ========================================= */
@media (max-width: 991px) {
  .waterproofing-intro {
    padding: 52px 20px 32px;
  }

  .waterproofing-intro__title {
    margin-bottom: 14px;
  }

  .waterproofing-intro__subtitle {
    margin-bottom: 20px;
  }
}


@media (max-width: 767px) {
  .waterproofing-intro {
    padding: 42px 18px 26px;
  }

  .waterproofing-intro__title {
    letter-spacing: 0.025em;
  }

  .waterproofing-intro__subtitle {
    line-height: 1.2;
  }

  .waterproofing-intro__text {
    max-width: 100%;
    line-height: 1.65;
  }
}
/* =========================================
   WATERPROOFING FEATURE IMAGE ROW
   ========================================= */
.waterproofing-feature-row {
  width: 100%;
  padding: 8px 20px 52px;
  background-color: #e7ddcf;
  background-image:
    linear-gradient(rgba(255,255,255,0.16), rgba(255,255,255,0.16)),
    url("/cms/assets/_core/image/paper-texture-tan.jpg");
  background-repeat: repeat;
  background-size: auto;
}

/* =========================================
   INNER GRID WRAPPER
   ========================================= */
.waterproofing-feature-row__inner {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}


.waterproofing-feature-card {
  text-align: center;
}

/* =========================================
   IMAGE WRAP
   ========================================= */
.waterproofing-feature-card__imagewrap {
  width: 100%;
  aspect-ratio: 1.45 / 1;
  overflow: hidden;
  border-radius: 10px;
  background: #d8cbb8;
  box-shadow: 0 8px 24px rgba(58, 37, 22, 0.08);
}

/* =========================================
   IMAGE
   ========================================= */
.waterproofing-feature-card__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}


.waterproofing-feature-card__title {
  margin: 12px 0 0;
  font-family: "Cinzel", serif;
  font-size: clamp(1.1rem, 1.3vw, 1.55rem);
  font-weight: 500;
  line-height: 1.2;
  color: #4a2d1d;
}

/* =========================================
   LARGE TABLET
   ========================================= */
@media (max-width: 1100px) {
  .waterproofing-feature-row__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    max-width: 900px;
  }
}


@media (max-width: 640px) {
  .waterproofing-feature-row {
    padding: 8px 18px 42px;
  }

  .waterproofing-feature-row__inner {
    grid-template-columns: 1fr;
    gap: 24px;
    max-width: 520px;
  }

  .waterproofing-feature-card__title {
    margin-top: 10px;
  }
}

/* =========================================
   SUPERIOR VALUE INTRO SECTION
   ========================================= */
.waterproofing-value-intro {
  width: 100%;
  padding: 40px 20px 18px;
  text-align: center;
  background-color: #e7ddcf;
  background-image:
    linear-gradient(rgba(255,255,255,0.16), rgba(255,255,255,0.16)),
    url("/cms/assets/_core/image/paper-texture-tan.jpg");
  background-repeat: repeat;
  background-size: auto;
}


.waterproofing-value-intro__inner {
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
}

/* =========================================
   TITLE
   Slightly smaller than H1 section above
   ========================================= */
.waterproofing-value-intro__title {
  margin: 0 0 14px;
  font-family: "Cinzel", serif;
  font-size: clamp(1.8rem, 2.5vw, 2.6rem);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.02em;
  color: #4a2d1d;
}

/* =========================================
   TEXT
   ========================================= */
.waterproofing-value-intro__text {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  font-family: "Lato", Arial, sans-serif;
  font-size: clamp(1rem, 1.1vw, 1.25rem);
  line-height: 1.65;
  color: #4d4943;
}


@media (max-width: 991px) {
  .waterproofing-value-intro {
    padding: 36px 20px 16px;
  }
}


@media (max-width: 767px) {
  .waterproofing-value-intro {
    padding: 32px 18px 14px;
  }

  .waterproofing-value-intro__text {
    max-width: 100%;
  }
}
/* =========================================
   SUPERIOR VALUE TABLE SECTION
   ========================================= */
.waterproofing-value-table-section {
  width: 100%;
  padding: 10px 20px 58px;
  background-color: #e7ddcf;
  background-image:
    linear-gradient(rgba(255,255,255,0.16), rgba(255,255,255,0.16)),
    url("/cms/assets/_core/image/paper-texture-tan.jpg");
  background-repeat: repeat;
  background-size: auto;
}

/* =========================================
   OUTER TABLE CARD
   ========================================= */
.waterproofing-value-table-wrap {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 16px;
  background: rgba(248, 242, 233, 0.92);
  border: 1px solid rgba(113, 82, 58, 0.18);
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(56, 36, 22, 0.12);
}

/* =========================================
   RESPONSIVE SCROLL WRAPPER
   ========================================= */
.waterproofing-value-table-scroll {
  width: 100%;
  overflow-x: auto;
}

/* =========================================
   TABLE BASE
   ========================================= */
.waterproofing-value-table {
  width: 100%;
  min-width: 760px;
  border-collapse: separate;
  border-spacing: 0;
  font-family: "Lato", Arial, sans-serif;
  color: #43362c;
}

/* =========================================
   HEADER ROW
   ========================================= */
.waterproofing-value-table thead th {
  padding: 18px 20px;
  font-family: "Lato", Arial, sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
  text-align: center;
  color: #f6eee3;
  background: linear-gradient(180deg, #6b513d 0%, #594230 100%);
  border-right: 1px solid rgba(255,255,255,0.12);
}

.waterproofing-value-table thead th:first-child {
  text-align: left;
  border-top-left-radius: 10px;
}

.waterproofing-value-table thead th:last-child {
  border-top-right-radius: 10px;
  border-right: none;
}

/* =========================================
   FEATURED HEADER COLUMN
   ========================================= */
.waterproofing-value-table thead th.is-featured {
  background: linear-gradient(180deg, #7a5a3f 0%, #6a4d35 100%);
}

/* =========================================
   BODY CELLS
   ========================================= */
.waterproofing-value-table tbody th,
.waterproofing-value-table tbody td {
  padding: 16px 20px;
  font-size: 1.1rem;
  line-height: 1.2;
  border-right: 1px solid rgba(106, 77, 53, 0.16);
  border-bottom: 1px solid rgba(106, 77, 53, 0.16);
  background: rgba(255, 251, 245, 0.74);
}

/* =========================================
   LEFT LABEL COLUMN
   ========================================= */
.waterproofing-value-table tbody th {
  width: 32%;
  font-weight: 700;
  text-align: left;
  color: #38281d;
}

/* =========================================
   BODY DATA CELLS
   ========================================= */
.waterproofing-value-table tbody td {
  width: 22.66%;
  text-align: center;
  font-weight: 500;
}

/* =========================================
   FEATURED CHIMNEYSAVER COLUMN
   ========================================= */
.waterproofing-value-table tbody td.is-featured {
  background:
    linear-gradient(rgba(214, 180, 109, 0.10), rgba(214, 180, 109, 0.10)),
    rgba(249, 239, 211, 0.82);
  color: #3f2c1d;
}

/* =========================================
   ICON / VALUE STYLES
   ========================================= */
.waterproofing-value-table .value-check {
  font-size: 1.8rem;
  font-weight: 700;
  color: #6e933d;
}

.waterproofing-value-table .value-x {
  font-size: 1.7rem;
  font-weight: 700;
  color: #7e2d27;
}

.waterproofing-value-table .value-star {
  font-size: 1.9rem;
  font-weight: 700;
  color: #d2a63a;
  text-shadow: 0 1px 0 rgba(90, 58, 14, 0.18);
}

/* =========================================
   BOTTOM CORNERS
   ========================================= */
.waterproofing-value-table tbody tr:last-child th {
  border-bottom-left-radius: 10px;
}

.waterproofing-value-table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 10px;
  border-right: none;
}

.waterproofing-value-table tbody td:last-child,
.waterproofing-value-table thead th:last-child {
  border-right: none;
}


@media (max-width: 991px) {
  .waterproofing-value-table-section {
    padding: 10px 20px 48px;
  }

  .waterproofing-value-table-wrap {
    padding: 12px;
  }

  .waterproofing-value-table thead th,
  .waterproofing-value-table tbody th,
  .waterproofing-value-table tbody td {
    padding: 14px 16px;
  }
}


@media (max-width: 767px) {
  .waterproofing-value-table-section {
    padding: 8px 18px 40px;
  }

  .waterproofing-value-table-wrap {
    border-radius: 12px;
  }

  .waterproofing-value-table {
    min-width: 700px;
  }

  .waterproofing-value-table thead th,
  .waterproofing-value-table tbody th,
  .waterproofing-value-table tbody td {
    font-size: 1rem;
  }
}
/* =========================================
   LONG-TERM PROTECTION SECTION
   ========================================= */
.waterproofing-protection {
  width: 100%;
  padding: 56px 20px 70px;
  background-color: #e7ddcf;
  background-image:
    linear-gradient(rgba(255,255,255,0.16), rgba(255,255,255,0.16)),
    url("/cms/assets/_core/image/paper-texture-tan.jpg");
  background-repeat: repeat;
  background-size: auto;
}


.waterproofing-protection__inner {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
  gap: 44px;
  align-items: start;
}


.waterproofing-protection__content {
  width: 100%;
}

/* =========================================
   TITLE
   ========================================= */
.waterproofing-protection__title {
  margin: 0 0 22px;
  font-family: "Cinzel", serif;
  font-size: clamp(2rem, 3vw, 3.25rem);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0.01em;
  color: #4a2d1d;
}


.waterproofing-protection__text {
  margin: 0 0 34px;
  font-family: "Lato", Arial, sans-serif;
  font-size: clamp(1.05rem, 1.22vw, 1.42rem);
  line-height: 1.72;
  color: #4b4741;
  max-width: 780px;
}

/* =========================================
   CHECKLIST
   ========================================= */
.waterproofing-protection__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.waterproofing-protection__list li {
  position: relative;
  margin: 0 0 20px;
  padding-left: 54px;
  font-family: "Lato", Arial, sans-serif;
  font-size: clamp(1.18rem, 1.45vw, 2rem);
  line-height: 1.3;
  color: #4a3a2c;
}

.waterproofing-protection__list li:last-child {
  margin-bottom: 0;
}

.waterproofing-protection__list li::before {
  content: "âœ“";
  position: absolute;
  left: 0;
  top: -2px;
  font-size: 2rem;
  line-height: 1;
  font-weight: 700;
  color: #5f8a39;
}

/* =========================================
   RIGHT MEDIA COLUMN
   ========================================= */
.waterproofing-protection__media {
  width: 100%;
}

.waterproofing-protection__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.waterproofing-protection__imagebox {
  overflow: hidden;
  border-radius: 10px;
  background: #d9cdbb;
  box-shadow: 0 10px 24px rgba(58, 37, 22, 0.10);
}

.waterproofing-protection__imagebox--small {
  aspect-ratio: 1.18 / 1;
}

.waterproofing-protection__imagebox--large {
  grid-column: 1 / -1;
  aspect-ratio: 1.58 / 1;
}

.waterproofing-protection__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}


@media (max-width: 1100px) {
  .waterproofing-protection {
    padding: 48px 20px 58px;
  }

  .waterproofing-protection__inner {
    grid-template-columns: 1fr;
    gap: 34px;
    max-width: 980px;
  }

  .waterproofing-protection__text {
    max-width: 100%;
  }
}


@media (max-width: 767px) {
  .waterproofing-protection {
    padding: 40px 18px 46px;
  }

  .waterproofing-protection__title {
    margin-bottom: 18px;
  }

  .waterproofing-protection__text {
    margin-bottom: 28px;
    line-height: 1.68;
  }

  .waterproofing-protection__list li {
    padding-left: 42px;
    margin-bottom: 16px;
  }

  .waterproofing-protection__list li::before {
    font-size: 1.7rem;
    top: 0;
  }

  .waterproofing-protection__grid {
    grid-template-columns: 1fr;
  }

  .waterproofing-protection__imagebox--small,
  .waterproofing-protection__imagebox--large {
    grid-column: auto;
    aspect-ratio: 1.35 / 1;
  }
}
/* =========================================
   CONTACT PAGE SECTION
   FULL REPLACEMENT CSS
========================================= */

.contact-page-section {
  position: relative;
  width: 100%;
  padding: 90px 20px;
  background:
    linear-gradient(rgba(244, 236, 223, 0.96), rgba(244, 236, 223, 0.96)),
    url("/cms/assets/_core/image/paper-texture-light.jpg") center center / cover no-repeat;
  overflow: hidden;
}

.contact-page-wrap {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 40px;
  align-items: stretch;
}

/* =========================================
   LEFT COLUMN
========================================= */
.contact-page-info {
  display: flex;
}

.contact-page-info-inner {
  position: relative;
  width: 100%;
  padding: 52px 42px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(55, 76, 97, 0.96) 0%, rgba(38, 52, 67, 0.98) 100%);
  color: #ffffff;
  box-shadow: 0 20px 46px rgba(0, 0, 0, 0.18);
  overflow: hidden;
}

.contact-page-info-inner::before {
  content: "";
  position: absolute;
  top: -120px;
  right: -120px;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0) 72%);
  pointer-events: none;
}

.contact-page-info-inner::after {
  content: "";
  position: absolute;
  bottom: -140px;
  left: -120px;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0) 72%);
  pointer-events: none;
}

.contact-page-eyebrow {
  position: relative;
  z-index: 1;
  display: inline-block;
  margin-bottom: 18px;
  padding: 8px 16px;
  border: 1px solid rgba(255,255,255,0.22);
  border-radius: 999px;
  font-family: "League Spartan", sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #f4d7a6;
}

.contact-page-info h1 {
  position: relative;
  z-index: 1;
  margin: 0 0 16px 0;
  font-family: "Cinzel", serif;
  font-size: clamp(2rem, 3vw, 3.15rem);
  line-height: 1.12;
  font-weight: 700;
  color: #ffffff;
}

.contact-page-intro {
  position: relative;
  z-index: 1;
  margin: 0 0 26px 0;
  max-width: 620px;
  font-family: "League Spartan", sans-serif;
  font-size: 1.08rem;
  line-height: 1.75;
  color: rgba(255,255,255,0.90);
}

.contact-page-highlight {
  position: relative;
  z-index: 1;
  margin: 0 0 28px 0;
  padding: 20px 22px;
  border-radius: 18px;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
}

.contact-page-highlight-label {
  display: inline-block;
  margin-bottom: 8px;
  font-family: "League Spartan", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #f4d7a6;
}

.contact-page-highlight p {
  margin: 0;
  font-family: "League Spartan", sans-serif;
  font-size: 1rem;
  line-height: 1.65;
  color: rgba(255,255,255,0.92);
}

.contact-page-details {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 16px;
}

.contact-detail-item {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 16px;
  align-items: start;
  padding: 18px 18px;
  border-radius: 18px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.10);
  transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

.contact-detail-item:hover {
  transform: translateY(-2px);
  background: rgba(255,255,255,0.11);
  border-color: rgba(244, 215, 166, 0.35);
}

.contact-detail-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, #c9a15f 0%, #9b7337 100%);
  color: #ffffff;
  font-size: 1.35rem;
  line-height: 1;
  box-shadow: 0 10px 20px rgba(0,0,0,0.16);
}

.contact-detail-content h3 {
  margin: 4px 0 6px 0;
  font-family: "Cinzel", serif;
  font-size: 1.02rem;
  line-height: 1.2;
  font-weight: 700;
  color: #f4d7a6;
}

.contact-detail-content p {
  margin: 0;
  font-family: "League Spartan", sans-serif;
  font-size: 1rem;
  line-height: 1.65;
  color: rgba(255,255,255,0.92);
}

.contact-detail-content a {
  color: #ffffff;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.contact-detail-content a:hover {
  color: #f4d7a6;
  border-color: rgba(244, 215, 166, 0.8);
}

/* =========================================
   RIGHT COLUMN
========================================= */
.contact-page-form-column {
  display: flex;
}

.contact-page-form-card {
  width: 100%;
  padding: 48px 38px 38px;
  border-radius: 28px;
  background: rgba(255,255,255,0.94);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.10);
  border: 1px solid rgba(60, 60, 60, 0.08);
  backdrop-filter: blur(4px);
}

.contact-form-heading {
  margin-bottom: 28px;
}

.contact-form-eyebrow {
  display: inline-block;
  margin-bottom: 14px;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(184, 140, 74, 0.10);
  border: 1px solid rgba(184, 140, 74, 0.18);
  font-family: "League Spartan", sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: #8a6530;
}

.contact-page-form-card h2 {
  margin: 0 0 10px 0;
  font-family: "Cinzel", serif;
  font-size: clamp(1.85rem, 2.5vw, 2.5rem);
  line-height: 1.2;
  color: #2e2721;
}

.contact-form-subtext {
  margin: 0;
  max-width: 620px;
  font-family: "League Spartan", sans-serif;
  font-size: 1rem;
  line-height: 1.7;
  color: #6d655c;
}

.contact-page-form {
  width: 100%;
}

.contact-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 18px;
}

.form-field {
  display: flex;
  flex-direction: column;
}

.form-field-full {
  grid-column: 1 / -1;
}

.form-field label {
  margin: 0 0 8px 0;
  font-family: "League Spartan", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #544b42;
}

.form-field input,
.form-field textarea {
  width: 100%;
  box-sizing: border-box;
  appearance: none;
  border: 1px solid #d9d1c6;
  border-radius: 14px;
  background: #fcfaf6;
  padding: 15px 16px;
  font-family: "League Spartan", sans-serif;
  font-size: 1rem;
  line-height: 1.4;
  color: #2f2a26;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, transform 0.25s ease;
}

.form-field textarea {
  min-height: 180px;
  resize: vertical;
}

.form-field input:focus,
.form-field textarea:focus {
  outline: none;
  border-color: #b88c4a;
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(184, 140, 74, 0.12);
  transform: translateY(-1px);
}

.contact-honeypot {
  display: none;
}

.contact-submit-wrap {
  margin-top: 24px;
}

.contact-submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  padding: 16px 30px;
  border: none;
  border-radius: 999px;
  cursor: pointer;
  background: linear-gradient(135deg, #b88c4a 0%, #8a6530 100%);
  color: #ffffff;
  font-family: "League Spartan", sans-serif;
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  box-shadow: 0 14px 26px rgba(138, 101, 48, 0.24);
  transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}

.contact-submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 32px rgba(138, 101, 48, 0.30);
  filter: brightness(1.03);
}

.contact-submit-btn:active {
  transform: translateY(0);
}

@media (max-width: 1100px) {
  .contact-page-wrap {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .contact-page-info-inner,
  .contact-page-form-card {
    padding: 38px 28px;
  }
}

@media (max-width: 640px) {
  .contact-page-section {
    padding: 60px 16px;
  }

  .contact-page-info-inner,
  .contact-page-form-card {
    padding: 30px 22px;
    border-radius: 22px;
  }

  .contact-form-grid {
    grid-template-columns: 1fr;
  }

  .form-field-full {
    grid-column: auto;
  }

  .contact-detail-item {
    grid-template-columns: 48px 1fr;
    gap: 14px;
    padding: 16px;
  }

  .contact-detail-icon {
    width: 48px;
    height: 48px;
    font-size: 1.1rem;
  }

  .contact-submit-btn {
    width: 100%;
    min-width: 0;
  }
}
/* =========================================
   FULL BLEED GOOGLE MAP SECTION
========================================= */
.contact-map-section {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.contact-map-frame-wrap {
  position: relative;
  width: 100%;
  height: 520px;
}

.contact-map-frame {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}


@media (max-width: 991px) {
  .contact-map-frame-wrap {
    height: 440px;
  }
}

@media (max-width: 640px) {
  .contact-map-frame-wrap {
    height: 360px;
  }
}
/* ==========================================
   HOMEPAGE DRONE CHIMNEY INSPECTIONS SECTION
   Light warm version to flow with previous section
   ========================================== */

.cse-drone-section {
  position: relative;
  padding: 90px 0;
  background: #dbd1bf;
  color: #1a1a1a;
  overflow: hidden;
}

.cse-drone-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 56px;
  align-items: center;
}

.cse-drone-content {
  max-width: 620px;
}

.cse-drone-eyebrow {
  display: inline-block;
  margin-bottom: 16px;
  padding: 6px 12px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: #1a1a1a;
  background: linear-gradient(135deg, #e0b973 0%, #cfa95f 100%);
  border-radius: 999px;
}

.cse-drone-title {
  font-family: "Cinzel", serif;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.12;
  letter-spacing: 0.4px;
  color: #1a1a1a;
  margin: 0 0 18px;
}

.cse-drone-divider {
  width: 90px;
  height: 3px;
  margin-bottom: 24px;
  background: linear-gradient(135deg, #e0b973 0%, #cfa95f 100%);
  border-radius: 999px;
}

.cse-drone-intro {
  margin: 0 0 28px;
  font-size: 1.08rem;
  line-height: 1.7;
  color: #444444;
}

.cse-drone-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}

.cse-drone-list li {
  position: relative;
  padding: 14px 18px 14px 52px;
  background: rgba(255, 255, 255, 0.65);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  color: #2b2b2b;
  font-size: 0.98rem;
  line-height: 1.5;
  box-shadow:
    0 10px 24px rgba(0, 0, 0, 0.08);
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.cse-drone-list li::before {
  content: "✓";
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #e0b973 0%, #cfa95f 100%);
  color: #1a1a1a;
  font-size: 0.82rem;
  font-weight: 700;
}

.cse-drone-list li:hover {
  transform: translateY(-2px);
  border-color: rgba(224, 185, 115, 0.35);
  box-shadow:
    0 14px 28px rgba(0, 0, 0, 0.12);
}

.cse-drone-btn-wrap {
  margin-top: 32px;
}

.cse-drone-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px 26px;
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: 0.4px;
  color: #ffffff;
  text-decoration: none;
  background: linear-gradient(135deg, #7b1d1d 0%, #5d1212 100%);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 6px;
  box-shadow:
    0 10px 24px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease, color 0.25s ease;
}

.cse-drone-btn:link,
.cse-drone-btn:visited {
  color: #ffffff;
  text-decoration: none;
}

.cse-drone-btn:hover {
  color: #e0b973;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow:
    0 14px 30px rgba(0, 0, 0, 0.24),
    0 0 18px rgba(224, 185, 115, 0.16);
}

.cse-drone-btn:active {
  transform: translateY(0);
}

.cse-drone-image-wrap {
  position: relative;
}

.cse-drone-badge {
  position: absolute;
  top: -14px;
  left: 24px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 14px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #1a1a1a;
  background: linear-gradient(135deg, #e0b973 0%, #cfa95f 100%);
  border-radius: 999px;
  box-shadow:
    0 10px 20px rgba(0, 0, 0, 0.16);
}

.cse-drone-image-frame {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  background: #111111;
  border: 1px solid rgba(0, 0, 0, 0.10);
  box-shadow:
    0 24px 48px rgba(0, 0, 0, 0.18);
}

.cse-drone-image-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.00) 0%,
      rgba(0, 0, 0, 0.06) 100%
    );
  pointer-events: none;
}

.cse-drone-image {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.6s ease;
}

.cse-drone-image-frame:hover .cse-drone-image {
  transform: scale(1.04);
}

/* ==========================================
   DRONE SECTION RESPONSIVE
   ========================================== */

@media (max-width: 991px) {
  .cse-drone-section {
    padding: 75px 0;
  }

  .cse-drone-inner {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .cse-drone-content {
    max-width: none;
  }

  .cse-drone-image-wrap {
    max-width: 760px;
  }
}

@media (max-width: 640px) {
  .cse-drone-section {
    padding: 60px 0;
  }

  .cse-drone-inner {
    padding: 0 16px;
  }

  .cse-drone-title {
    font-size: 2rem;
  }

  .cse-drone-intro {
    font-size: 1rem;
  }

  .cse-drone-list li {
    padding: 13px 14px 13px 48px;
    font-size: 0.95rem;
  }

  .cse-drone-badge {
    top: -12px;
    left: 16px;
  }
}
/* =========================================
   CUSTOM CSS ICONS
========================================= */

/* Check */
.cse-icon-check::before {
  content: "";
  position: absolute;
  left: 17px;
  top: 12px;
  width: 9px;
  height: 16px;
  border-right: 3px solid #f7edd6;
  border-bottom: 3px solid #f7edd6;
  transform: rotate(45deg);
}

/* Reach / directional arrow */
.cse-icon-reach::before,
.cse-icon-reach::after {
  content: "";
  position: absolute;
  background: #f7edd6;
}

.cse-icon-reach::before {
  width: 20px;
  height: 3px;
  left: 15px;
  top: 24px;
  transform: rotate(-35deg);
}

.cse-icon-reach::after {
  width: 8px;
  height: 8px;
  right: 12px;
  top: 15px;
  border-top: 3px solid #f7edd6;
  border-right: 3px solid #f7edd6;
  background: transparent;
  transform: rotate(10deg);
}

/* Camera */
.cse-icon-camera::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 17px;
  width: 22px;
  height: 14px;
  border: 3px solid #f7edd6;
  border-radius: 4px;
  box-sizing: border-box;
}

.cse-icon-camera::after {
  content: "";
  position: absolute;
  left: 21px;
  top: 21px;
  width: 8px;
  height: 8px;
  border: 3px solid #f7edd6;
  border-radius: 50%;
  box-sizing: border-box;
}

/* Report / grid */
.cse-icon-report::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 10px;
  width: 22px;
  height: 24px;
  border: 3px solid #f7edd6;
  border-radius: 3px;
  box-sizing: border-box;
}

.cse-icon-report::after {
  content: "";
  position: absolute;
  left: 16px;
  top: 15px;
  width: 14px;
  height: 2px;
  background: #f7edd6;
  box-shadow:
    0 6px 0 #f7edd6,
    0 12px 0 #f7edd6;
}


@media (max-width: 1024px) {
  .cse-drone-info-top {
    gap: 40px;
    margin-bottom: 54px;
  }

  .cse-drone-benefits-grid {
    gap: 28px 32px;
  }

  .cse-drone-benefit-content h4 {
    font-size: 1.55rem;
  }
}

@media (max-width: 900px) {
  .cse-drone-info-section {
    padding: 75px 20px;
  }

  .cse-drone-info-top {
    flex-direction: column;
    align-items: stretch;
  }

  .cse-drone-info-copy,
  .cse-drone-info-image-wrap {
    flex: 1 1 100%;
    max-width: 100%;
  }

  .cse-drone-info-image-wrap {
    justify-content: center;
  }

  .cse-drone-info-image-frame {
    max-width: 100%;
  }

  .cse-drone-benefits-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .cse-drone-info-section {
    padding: 60px 16px;
  }

  .cse-drone-info-title {
    font-size: 2rem;
  }

  .cse-drone-info-text {
    font-size: 1rem;
    line-height: 1.68;
  }

  .cse-drone-benefits-title {
    font-size: 1.7rem;
    margin-bottom: 28px;
  }

  .cse-drone-benefit-item {
    gap: 14px;
  }

  .cse-drone-benefit-icon {
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
  }

  .cse-drone-benefit-content h4 {
    font-size: 1.35rem;
  }

  .cse-drone-benefit-content p {
    font-size: 0.98rem;
    line-height: 1.65;
  }

  .cse-drone-info-image-frame {
    border-radius: 28px;
    padding: 8px;
  }

  .cse-drone-info-image {
    border-radius: 20px;
  }

  /* Slightly scale icons for mobile */
  .cse-icon-check::before {
    left: 15px;
    top: 10px;
    width: 8px;
    height: 14px;
  }

  .cse-icon-reach::before {
    width: 17px;
    left: 13px;
    top: 21px;
  }

  .cse-icon-reach::after {
    right: 10px;
    top: 13px;
  }

  .cse-icon-camera::before {
    left: 12px;
    top: 15px;
    width: 20px;
    height: 13px;
  }

  .cse-icon-camera::after {
    left: 18px;
    top: 18px;
    width: 7px;
    height: 7px;
  }

  .cse-icon-report::before {
    left: 13px;
    top: 12px;
    width: 20px;
    height: 22px;
  }

  .cse-icon-report::after {
    left: 17px;
    top: 18px;
    width: 12px;
  }
}
/* =========================================
   DRONE VIDEO + CHECKLIST SECTION
========================================= */
.cse-drone-video-section {
  padding: 90px 20px;
  background: #f4ece2;
  position: relative;
  overflow: hidden;
}


.cse-drone-video-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 60px;
}


.cse-drone-video-wrap {
  flex: 0 0 48%;
}

.cse-drone-video-frame {
  background: #f7efe4;
  border: 2px solid #d2b48a;
  border-radius: 26px;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(67, 42, 24, 0.08);
}

/* Decorative top bar */
.cse-drone-video-topbar {
  position: relative;
  padding: 16px 20px;
  text-align: center;
  background: linear-gradient(to bottom, #3a281d 0%, #1f140d 100%);
  border-bottom: 1px solid rgba(222, 194, 133, 0.35);
}

.cse-drone-video-topbar span {
  display: inline-block;
  font-family: "Cinzel", serif;
  font-size: 1.7rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #dfbf7b;
  text-transform: uppercase;
}

/* Video embed wrapper */
.cse-drone-video-embed {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  background: #ddd2c1;
}

.cse-drone-video-embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}


.cse-drone-video-content {
  flex: 0 0 48%;
  max-width: 560px;
}

.cse-drone-video-title {
  margin: 0 0 22px 0;
  font-family: "Cinzel", serif;
  font-size: clamp(2.2rem, 3vw, 3.3rem);
  line-height: 1.12;
  font-weight: 500;
  color: #3b251d;
}

.cse-drone-video-subtitle {
  margin: 0 0 24px 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.42rem;
  line-height: 1.45;
  color: #2f251f;
}


.cse-drone-video-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cse-drone-video-list li {
  position: relative;
  margin: 0 0 18px 0;
  padding-left: 46px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.18rem;
  line-height: 1.55;
  color: #403630;
}

/* Olive circle */
.cse-drone-video-list li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #7b7531;
}

/* White checkmark */
.cse-drone-video-list li:after {
  content: "";
  position: absolute;
  left: 9px;
  top: 8px;
  width: 6px;
  height: 11px;
  border-right: 3px solid #ffffff;
  border-bottom: 3px solid #ffffff;
  transform: rotate(45deg);
}


@media (max-width: 1024px) {
  .cse-drone-video-inner {
    gap: 40px;
  }

  .cse-drone-video-topbar span {
    font-size: 1.45rem;
  }

  .cse-drone-video-subtitle {
    font-size: 1.25rem;
  }

  .cse-drone-video-list li {
    font-size: 1.05rem;
  }
}

@media (max-width: 900px) {
  .cse-drone-video-section {
    padding: 75px 20px;
  }

  .cse-drone-video-inner {
    flex-direction: column;
    align-items: stretch;
  }

  .cse-drone-video-wrap,
  .cse-drone-video-content {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  .cse-drone-video-section {
    padding: 60px 16px;
  }

  .cse-drone-video-topbar {
    padding: 14px 16px;
  }

  .cse-drone-video-topbar span {
    font-size: 1.15rem;
  }

  .cse-drone-video-title {
    font-size: 1.95rem;
  }

  .cse-drone-video-subtitle {
    font-size: 1.08rem;
    line-height: 1.5;
  }

  .cse-drone-video-list li {
    padding-left: 42px;
    font-size: 1rem;
    line-height: 1.5;
  }

  .cse-drone-video-list li:before {
    width: 26px;
    height: 26px;
  }

  .cse-drone-video-list li:after {
    left: 8px;
    top: 7px;
  }
}
/* =========================================
   DRONE SCHEDULE SECTION
========================================= */
.cse-drone-schedule-section {
  padding: 90px 20px;
  background: #f3ebe0;
  position: relative;
}


.cse-drone-schedule-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 70px;
}

/* =========================================
   LEFT IMAGE
========================================= */
.cse-drone-schedule-image-wrap {
  flex: 0 0 46%;
}

.cse-drone-schedule-image-frame {
  width: 100%;
  max-width: 520px;
  background: #efe4d2;
  border: 2px solid #d8b98f;
  border-radius: 42px;
  padding: 10px;
  box-shadow: 0 10px 24px rgba(78, 49, 28, 0.08);
}

.cse-drone-schedule-image {
  width: 100%;
  height: auto;
  border-radius: 30px;
  display: block;
}

/* =========================================
   RIGHT CONTENT
========================================= */
.cse-drone-schedule-content {
  flex: 0 0 54%;
  max-width: 600px;
}

/* TITLE */
.cse-drone-schedule-title {
  margin: 0 0 22px 0;
  font-family: "Cinzel", serif;
  font-size: clamp(2.2rem, 3vw, 3.2rem);
  line-height: 1.12;
  font-weight: 500;
  color: #3b251d;
}


.cse-drone-schedule-text {
  margin: 0 0 26px 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.08rem;
  line-height: 1.7;
  color: #3f342e;
}


.cse-drone-schedule-list {
  list-style: none;
  margin: 0 0 20px 0;
  padding: 0;
}

.cse-drone-schedule-list li {
  position: relative;
  margin-bottom: 16px;
  padding-left: 46px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.12rem;
  line-height: 1.6;
  color: #403630;
}

/* ICON BACKGROUND */
.cse-drone-schedule-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #6d6a2b;
}

/* CHECKMARK */
.cse-drone-schedule-list li::after {
  content: "";
  position: absolute;
  left: 10px;
  top: 10px;
  width: 6px;
  height: 12px;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: rotate(45deg);
}

/* NOTE */
.cse-drone-schedule-note {
  margin-top: 12px;
  font-family: "Cinzel", serif;
  font-size: 0.95rem;
  color: #8a6a3f;
}


@media (max-width: 1024px) {
  .cse-drone-schedule-inner {
    gap: 50px;
  }

  .cse-drone-schedule-title {
    font-size: 2.5rem;
  }
}

@media (max-width: 900px) {
  .cse-drone-schedule-section {
    padding: 75px 20px;
  }

  .cse-drone-schedule-inner {
    flex-direction: column;
    align-items: stretch;
  }

  .cse-drone-schedule-image-wrap,
  .cse-drone-schedule-content {
    flex: 1 1 100%;
    max-width: 100%;
  }

  .cse-drone-schedule-image-wrap {
    display: flex;
    justify-content: center;
  }

  .cse-drone-schedule-image-frame {
    max-width: 420px;
  }
}

@media (max-width: 640px) {
  .cse-drone-schedule-section {
    padding: 60px 16px;
  }

  .cse-drone-schedule-title {
    font-size: 2rem;
    text-align: center;
  }

  .cse-drone-schedule-text {
    font-size: 1rem;
    text-align: center;
  }

  .cse-drone-schedule-list {
    margin-top: 20px;
  }

  .cse-drone-schedule-note {
    text-align: center;
  }
}
/* =========================================
   BELLFIRE INTRO SECTION
========================================= */
.cse-bellfire-intro {
  padding: 90px 20px;
  background: #f3ebe0;
}

/* INNER WRAP */
.cse-bellfire-intro-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 70px;
}


.cse-bellfire-intro-image-wrap {
  flex: 0 0 46%;
}

.cse-bellfire-intro-image-frame {
  width: 100%;
  max-width: 520px;
  background: #efe4d2;
  border: 2px solid #d8b98f;
  border-radius: 42px;
  padding: 10px;
  box-shadow: 0 10px 24px rgba(78, 49, 28, 0.08);
}

.cse-bellfire-intro-image {
  width: 100%;
  height: auto;
  border-radius: 30px;
  display: block;
}


.cse-bellfire-intro-content {
  flex: 0 0 54%;
  max-width: 620px;
}

/* BRAND LINE */
.cse-bellfire-brand {
  display: flex;
  align-items: center;
  margin-bottom: 18px;
}

.cse-bellfire-brand-line {
  width: 50px;
  height: 1px;
  background: #bfa06a;
  margin-right: 12px;
}

.cse-bellfire-brand-text {
  font-family: "Cinzel", serif;
  font-size: 0.9rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #7a5a2f;
}


.cse-bellfire-intro-title {
  margin: 0 0 16px 0;
  font-family: "Cinzel", serif;
  font-size: clamp(2.4rem, 3vw, 3.4rem);
  line-height: 1.1;
  font-weight: 500;
  color: #3b251d;
}

/* DIVIDER */
.cse-bellfire-divider {
  width: 80px;
  height: 2px;
  background: #d8b98f;
  margin: 18px 0 26px 0;
}


.cse-bellfire-intro-text {
  margin: 0 0 18px 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.08rem;
  line-height: 1.7;
  color: #3f342e;
}


@media (max-width: 1024px) {
  .cse-bellfire-intro-inner {
    gap: 50px;
  }

  .cse-bellfire-intro-title {
    font-size: 2.6rem;
  }
}

@media (max-width: 900px) {
  .cse-bellfire-intro {
    padding: 75px 20px;
  }

  .cse-bellfire-intro-inner {
    flex-direction: column;
    align-items: stretch;
  }

  .cse-bellfire-intro-image-wrap,
  .cse-bellfire-intro-content {
    flex: 1 1 100%;
    max-width: 100%;
  }

  .cse-bellfire-intro-image-wrap {
    display: flex;
    justify-content: center;
  }

  .cse-bellfire-intro-image-frame {
    max-width: 420px;
  }
}

@media (max-width: 640px) {
  .cse-bellfire-intro {
    padding: 60px 16px;
  }

  .cse-bellfire-intro-title {
    font-size: 2rem;
    text-align: center;
  }

  .cse-bellfire-intro-text {
    font-size: 1rem;
    text-align: center;
  }

  .cse-bellfire-brand {
    justify-content: center;
  }

  .cse-bellfire-divider {
    margin-left: auto;
    margin-right: auto;
  }
}
/* =========================================
   BELLFIRE BENEFITS SECTION
========================================= */
.cse-bellfire-benefits {
  padding: 90px 20px;
  background: #f3ebe0;
}


.cse-bellfire-benefits-inner {
  max-width: 1280px;
  margin: 0 auto;
}

/* =========================================
   HEADER
========================================= */
.cse-bellfire-benefits-header {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 60px auto;
}

.cse-bellfire-benefits-title {
  margin: 0 0 14px 0;
  font-family: "Cinzel", serif;
  font-size: clamp(2.2rem, 3vw, 3rem);
  color: #3b251d;
}

.cse-bellfire-benefits-subtitle {
  margin: 0 0 18px 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.1rem;
  color: #4a4038;
}

.cse-bellfire-benefits-divider {
  width: 80px;
  height: 2px;
  background: #d8b98f;
  margin: 0 auto;
}

/* =========================================
   GRID
========================================= */
.cse-bellfire-benefits-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}

/* =========================================
   CARD
========================================= */
.cse-bellfire-benefit {
  display: flex;
  gap: 18px;
  padding: 26px;
  background: #efe4d2;
  border: 1px solid #d8b98f;
  border-radius: 20px;
  box-shadow: 0 6px 16px rgba(78, 49, 28, 0.06);
}

/* ICON */
.cse-bellfire-benefit-icon {
  flex: 0 0 56px;
  height: 56px;
  border-radius: 12px;
  background: #d8b98f;
  position: relative;
}

/* CONTENT */
.cse-bellfire-benefit-content h3 {
  margin: 0 0 6px 0;
  font-family: "Cinzel", serif;
  font-size: 1.3rem;
  color: #3b251d;
}

.cse-bellfire-benefit-content p {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1rem;
  color: #4a4038;
  line-height: 1.6;
}

/* =========================================================
   BELLFIRE FIREPLACE - SYSTEM OPTIONS SECTION
   Matches the warm structured subpage style used throughout site
   ========================================================= */

.bellfire-systems-section {
  padding: 90px 20px;
  background: #EEE9E5;
}

.bellfire-systems-wrap {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}

.bellfire-systems-intro {
  max-width: 820px;
  margin: 0 auto 50px auto;
  text-align: center;
}

.bellfire-eyebrow {
  display: inline-block;
  margin-bottom: 14px;
  font-family: "League Spartan", sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #8a6a45;
}

.bellfire-systems-intro h2 {
  margin: 0 0 18px 0;
  font-family: "Cinzel", serif;
  font-size: clamp(2rem, 3vw, 3.1rem);
  line-height: 1.15;
  color: #2f241b;
}

.bellfire-systems-intro p {
  margin: 0;
  font-family: "League Spartan", sans-serif;
  font-size: 1.08rem;
  line-height: 1.75;
  color: #5a4b3f;
}

.bellfire-systems-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  align-items: stretch;
}

.bellfire-system-card {
  display: flex;
  flex-direction: column;
  background: #fff9f1;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(33, 22, 13, 0.08);
  height: 100%;
}

.bellfire-system-image {
  position: relative;
  background: linear-gradient(180deg, #f8f4ee 0%, #efe4d6 100%);
  padding: 24px;
  min-height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bellfire-system-image img {
  max-width: 100%;
  max-height: 240px;
  width: auto;
  height: auto;
  display: block;
}

.bellfire-system-content {
  padding: 28px 28px 32px 28px;
}

.bellfire-system-content h3 {
  margin: 0 0 14px 0;
  font-family: "Cinzel", serif;
  font-size: 1.45rem;
  line-height: 1.2;
  color: #2c2017;
}

.bellfire-system-content p {
  margin: 0;
  font-family: "League Spartan", sans-serif;
  font-size: 1.02rem;
  line-height: 1.8;
  color: #5a4b3f;
}



@media (max-width: 1024px) {
  .bellfire-systems-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .bellfire-system-card {
    max-width: 760px;
    margin: 0 auto;
  }
}

@media (max-width: 767px) {
  .bellfire-systems-section {
    padding: 70px 16px;
  }

  .bellfire-systems-intro {
    margin-bottom: 36px;
  }

  .bellfire-system-image {
    min-height: 220px;
    padding: 20px;
  }

  .bellfire-system-content {
    padding: 24px 22px 28px 22px;
  }

  .bellfire-system-content h3 {
    font-size: 1.28rem;
  }

  .bellfire-system-content p {
    font-size: 1rem;
    line-height: 1.7;
  }
}
/* =========================================================
   BELLFIRE FIREPLACE - CLOSING CTA SECTION
   ========================================================= */

.bellfire-cta-section {
  padding: 90px 20px 110px;
  background: #eee9e5;
}

.bellfire-cta-wrap {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}

.bellfire-cta-panel {
  max-width: 980px;
  margin: 0 auto;
  padding: 60px 56px;
  text-align: center;
  background: linear-gradient(135deg, #3a2314 0%, #5a3520 45%, #7b4d2b 100%);
  border-radius: 28px;
  box-shadow: 0 22px 55px rgba(33, 22, 13, 0.18);
  position: relative;
  overflow: hidden;
}

/* subtle glow layer */
.bellfire-cta-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top center, rgba(255, 214, 153, 0.18) 0%, rgba(255, 214, 153, 0) 55%);
  pointer-events: none;
}

.bellfire-cta-panel > * {
  position: relative;
  z-index: 1;
}

.bellfire-cta-eyebrow {
  display: inline-block;
  margin-bottom: 16px;
  font-family: "League Spartan", sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #e5c08d;
}

.bellfire-cta-panel h2 {
  margin: 0 0 20px 0;
  font-family: "Cinzel", serif;
  font-size: clamp(2rem, 3.2vw, 3.35rem);
  line-height: 1.15;
  color: #ffffff;
}

.bellfire-cta-panel p {
  max-width: 760px;
  margin: 0 auto;
  font-family: "League Spartan", sans-serif;
  font-size: 1.08rem;
  line-height: 1.85;
  color: rgba(255, 255, 255, 0.9);
}

.bellfire-cta-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 34px;
}

.bellfire-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  padding: 16px 28px;
  border-radius: 999px;
  text-decoration: none;
  font-family: "League Spartan", sans-serif;
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  transition: all 0.25s ease;
}

.bellfire-btn-primary {
  background: #e5c08d;
  color: #2f1d11;
}

.bellfire-btn-primary:hover {
  transform: translateY(-2px);
  background: #f0cc9b;
}

.bellfire-btn-secondary {
  background: transparent;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.35);
}

.bellfire-btn-secondary:hover {
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.08);
}



@media (max-width: 767px) {
  .bellfire-cta-section {
    padding: 70px 16px 85px;
  }

  .bellfire-cta-panel {
    padding: 42px 24px;
    border-radius: 22px;
  }

  .bellfire-cta-panel p {
    font-size: 1rem;
    line-height: 1.75;
  }

  .bellfire-cta-buttons {
    flex-direction: column;
    gap: 14px;
    margin-top: 28px;
  }

  .bellfire-btn {
    width: 100%;
    min-width: 0;
  }
}
/* =========================================================
   BELLFIRE FIREPLACE - FAQ ACCORDION SECTION
   Designed to sit above the closing CTA section
   ========================================================= */

.bellfire-faq-section {
  padding: 90px 20px;
  background: #e7e1d8;
}

.bellfire-faq-wrap {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
}

/* =========================================================
   SECTION INTRO
   ========================================================= */

.bellfire-faq-intro {
  max-width: 860px;
  margin: 0 auto 46px auto;
  text-align: center;
}

.bellfire-faq-eyebrow {
  display: inline-block;
  margin-bottom: 14px;
  font-family: "League Spartan", sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #8a6a45;
}

.bellfire-faq-intro h2 {
  margin: 0 0 18px 0;
  font-family: "Cinzel", serif;
  font-size: clamp(2rem, 3vw, 3.15rem);
  line-height: 1.15;
  color: #2f241b;
}

.bellfire-faq-intro p {
  margin: 0;
  font-family: "League Spartan", sans-serif;
  font-size: 1.06rem;
  line-height: 1.75;
  color: #5a4b3f;
}

/* =========================================================
   ACCORDION WRAPPER
   ========================================================= */

.bellfire-faq-accordion {
  max-width: 960px;
  margin: 0 auto;
}

/* =========================================================
   FAQ ITEM
   ========================================================= */

.bellfire-faq-item {
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 14px 34px rgba(33, 22, 13, 0.07);
  overflow: hidden;
  margin-bottom: 18px;
  border: 1px solid rgba(122, 90, 58, 0.08);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.bellfire-faq-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(33, 22, 13, 0.1);
}

.bellfire-faq-item.is-open {
  box-shadow: 0 22px 44px rgba(33, 22, 13, 0.12);
}

/* =========================================================
   QUESTION BUTTON
   ========================================================= */

.bellfire-faq-question {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 24px 28px;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  cursor: pointer;
  font-family: inherit;
}

.bellfire-faq-question span:first-child {
  font-family: "Cinzel", serif;
  font-size: 1.2rem;
  line-height: 1.4;
  color: #2d2118;
  flex: 1;
}

/* =========================================================
   PLUS / MINUS ICON
   ========================================================= */

.bellfire-faq-icon {
  position: relative;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
}

.bellfire-faq-icon::before,
.bellfire-faq-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: #8a6a45;
  border-radius: 999px;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.bellfire-faq-icon::before {
  width: 16px;
  height: 2px;
}

.bellfire-faq-icon::after {
  width: 2px;
  height: 16px;
}

.bellfire-faq-item.is-open .bellfire-faq-icon::after {
  opacity: 0;
  transform: translate(-50%, -50%) scaleY(0);
}

/* =========================================================
   ANSWER ANIMATION
   Using CSS grid animation for a smoother reveal
   ========================================================= */

.bellfire-faq-answer-wrap {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s ease;
}

.bellfire-faq-item.is-open .bellfire-faq-answer-wrap {
  grid-template-rows: 1fr;
}

.bellfire-faq-answer {
  overflow: hidden;
}

.bellfire-faq-answer p {
  margin: 0;
  padding: 0 28px 28px 28px;
  font-family: "League Spartan", sans-serif;
  font-size: 1.04rem;
  line-height: 1.8;
  color: #5a4b3f;
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.bellfire-faq-item.is-open .bellfire-faq-answer p {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.08s;
}



@media (max-width: 767px) {
  .bellfire-faq-section {
    padding: 70px 16px;
  }

  .bellfire-faq-intro {
    margin-bottom: 34px;
  }

  .bellfire-faq-intro p {
    font-size: 1rem;
    line-height: 1.7;
  }

  .bellfire-faq-question {
    padding: 20px 20px;
    gap: 14px;
  }

  .bellfire-faq-question span:first-child {
    font-size: 1.03rem;
    line-height: 1.45;
  }

  .bellfire-faq-answer p {
    padding: 0 20px 22px 20px;
    font-size: 1rem;
    line-height: 1.72;
  }
}
/* =========================================================
   BELLFIRE FIREPLACES - INTRO SECTION
   Full replacement styles for intro + button row + modal
   ========================================================= */

.bellfire-intro-section {
  padding: 85px 20px 95px;
  background: #EEE9E5;
}

.bellfire-intro-wrap {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(320px, 520px) 1fr;
  gap: 80px;
  align-items: center;
}

/* =========================================================
   LEFT COLUMN IMAGE
   ========================================================= */

.bellfire-intro-image-col {
  display: flex;
  justify-content: center;
}

.bellfire-intro-image-frame {
  width: 100%;
  max-width: 520px;
  border: 2px solid #d0b07a;
  border-radius: 34px;
  padding: 12px;
  background: transparent;
}

.bellfire-intro-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 26px;
}

/* =========================================================
   RIGHT COLUMN CONTENT
   ========================================================= */

.bellfire-intro-content-col {
  display: flex;
  align-items: center;
}

.bellfire-intro-content {
  max-width: 660px;
}

.bellfire-intro-eyebrow-wrap {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 28px;
}

.bellfire-intro-line {
  width: 48px;
  height: 1px;
  background: #b8945f;
  flex: 0 0 auto;
}

.bellfire-intro-eyebrow {
  font-family: "Cinzel", serif;
  font-size: 0.88rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #a37b49;
}

.bellfire-intro-title {
  margin: 0;
  font-family: "Cinzel", serif;
  font-size: clamp(2.7rem, 5vw, 4.6rem);
  line-height: 1.02;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: #4a3026;
}

.bellfire-intro-divider {
  width: 80px;
  height: 2px;
  margin: 28px 0 28px;
  background: #c5a16a;
}

.bellfire-intro-copy p {
  margin: 0 0 22px;
  font-family: "League Spartan", sans-serif;
  font-size: 1.18rem;
  line-height: 1.65;
  color: #4b372d;
}

.bellfire-intro-copy p:last-child {
  margin-bottom: 0;
}

/* =========================================================
   BUTTON ROW
   ========================================================= */

.bellfire-intro-buttons {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 34px;
}

.bellfire-intro-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 16px 28px;
  border-radius: 14px;
  text-decoration: none;
  font-family: "League Spartan", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: all 0.25s ease;
}

.bellfire-intro-btn-primary {
  border: 1px solid #9b6c2d;
  background: linear-gradient(180deg, #b7813a 0%, #9b6c2d 100%);
  color: #ffffff;
  box-shadow: 0 10px 22px rgba(104, 68, 23, 0.16);
}

.bellfire-intro-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(104, 68, 23, 0.22);
}

.bellfire-intro-btn-secondary {
  border: 1px solid #8f6b49;
  background: rgba(255, 255, 255, 0.4);
  color: #4a3026;
}

.bellfire-intro-btn-secondary:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.75);
  box-shadow: 0 12px 24px rgba(60, 39, 24, 0.08);
}

/* remove default button appearance */
button.bellfire-intro-btn {
  appearance: none;
  -webkit-appearance: none;
}

/* =========================================================
   MODAL OVERLAY
   ========================================================= */

.bellfire-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(27, 19, 13, 0.72);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.bellfire-modal-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* =========================================================
   MODAL PANEL
   ========================================================= */

.bellfire-modal-shell {
  width: 100%;
  max-width: 1180px;
}

.bellfire-modal-panel {
  position: relative;
  background: #f8f3ec;
  border-radius: 28px;
  padding: 42px 34px 34px;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.22);
  transform: translateY(20px) scale(0.98);
  transition: transform 0.3s ease;
}

.bellfire-modal-overlay.is-open .bellfire-modal-panel {
  transform: translateY(0) scale(1);
}

/* =========================================================
   MODAL CLOSE
   ========================================================= */

.bellfire-modal-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(92, 64, 39, 0.18);
  border-radius: 50%;
  background: #ffffff;
  color: #4a3026;
  font-size: 1.8rem;
  line-height: 1;
  cursor: pointer;
  transition: all 0.25s ease;
}

.bellfire-modal-close:hover {
  background: #f0e6d9;
  transform: rotate(90deg);
}

/* =========================================================
   MODAL HEADER
   ========================================================= */

.bellfire-modal-header {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 30px;
}

.bellfire-modal-eyebrow {
  display: inline-block;
  margin-bottom: 12px;
  font-family: "League Spartan", sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #9a764a;
}

.bellfire-modal-header h2 {
  margin: 0 0 14px;
  font-family: "Cinzel", serif;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.15;
  color: #3f281d;
}

.bellfire-modal-header p {
  margin: 0;
  font-family: "League Spartan", sans-serif;
  font-size: 1.05rem;
  line-height: 1.7;
  color: #5b473b;
}

/* =========================================================
   MODAL GALLERY
   ========================================================= */

.bellfire-modal-gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.bellfire-modal-card {
  margin: 0;
}

.bellfire-modal-label {
  margin-bottom: 12px;
  font-family: "Cinzel", serif;
  font-size: 1.05rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6f5032;
}

.bellfire-modal-image-wrap {
  background: #ffffff;
  border: 1px solid rgba(104, 79, 53, 0.1);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 16px 34px rgba(49, 34, 21, 0.08);
}

.bellfire-modal-image {
  display: block;
  width: 100%;
  height: auto;
}

/* =========================================================
   MODAL FOOTER NOTE
   ========================================================= */

.bellfire-modal-footer-note {
  max-width: 820px;
  margin: 24px auto 0;
  text-align: center;
  font-family: "League Spartan", sans-serif;
  font-size: 1rem;
  line-height: 1.7;
  color: #5a4537;
}



@media (max-width: 1100px) {
  .bellfire-intro-wrap {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .bellfire-intro-image-col,
  .bellfire-intro-content-col {
    justify-content: center;
  }

  .bellfire-intro-content {
    max-width: 760px;
  }

  .bellfire-modal-gallery {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .bellfire-intro-section {
    padding: 65px 16px 75px;
  }

  .bellfire-intro-wrap {
    gap: 34px;
  }

  .bellfire-intro-image-frame {
    border-radius: 26px;
    padding: 10px;
  }

  .bellfire-intro-image {
    border-radius: 20px;
  }

  .bellfire-intro-eyebrow-wrap {
    margin-bottom: 20px;
  }

  .bellfire-intro-title {
    font-size: clamp(2.2rem, 11vw, 3.3rem);
  }

  .bellfire-intro-divider {
    margin: 22px 0 22px;
  }

  .bellfire-intro-copy p {
    font-size: 1.03rem;
    line-height: 1.7;
  }

  .bellfire-intro-buttons {
    flex-direction: column;
    align-items: stretch;
    margin-top: 28px;
  }

  .bellfire-intro-btn {
    width: 100%;
    min-height: 54px;
  }

  .bellfire-modal-overlay {
    padding: 16px;
  }

  .bellfire-modal-panel {
    padding: 34px 18px 22px;
    border-radius: 22px;
  }

  .bellfire-modal-close {
    top: 12px;
    right: 12px;
    width: 42px;
    height: 42px;
  }

  .bellfire-modal-header {
    margin-bottom: 24px;
    padding-right: 26px;
  }

  .bellfire-modal-header p,
  .bellfire-modal-footer-note {
    font-size: 0.98rem;
    line-height: 1.65;
  }

  .bellfire-modal-gallery {
    gap: 18px;
  }

  .bellfire-modal-image-wrap {
    border-radius: 18px;
  }
}
/* =========================================================
   BELLFIRE / HOMEPAGE FEATURE CARDS SECTION
   Full replacement CSS
   Uses inline SVG icons so nothing external is required
   ========================================================= */

.bellfire-feature-section {
  padding: 70px 20px;
  background: #e7e1d8;
}

.bellfire-feature-wrap {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}

/* =========================================================
   FEATURE CARD
   ========================================================= */

.bellfire-feature-card {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 28px 26px;
  background: #e9dfcf;
  border: 1px solid #d6b17a;
  border-radius: 24px;
  min-height: 142px;
}

/* =========================================================
   ICON BLOCK
   ========================================================= */

.bellfire-feature-icon {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: #d4b284;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bellfire-feature-icon svg {
  width: 28px;
  height: 28px;
  display: block;
  stroke: #5a3a27;
  fill: none;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Filled accents for specific icons */
.bellfire-feature-card:nth-child(1) .bellfire-feature-icon svg path:first-child {
  fill: #5a3a27;
  stroke: none;
}

.bellfire-feature-card:nth-child(2) .bellfire-feature-icon svg path:first-child {
  fill: none;
}

.bellfire-feature-card:nth-child(3) .bellfire-feature-icon svg circle {
  fill: #5a3a27;
  stroke: none;
}

/* =========================================================
   TEXT CONTENT
   ========================================================= */

.bellfire-feature-content {
  flex: 1 1 auto;
}

.bellfire-feature-content h3 {
  margin: 0 0 10px 0;
  font-family: "Cinzel", serif;
  font-size: 1.08rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.3;
  color: #5a3a27;
}

.bellfire-feature-content p {
  margin: 0;
  font-family: "League Spartan", sans-serif;
  font-size: 1.05rem;
  line-height: 1.55;
  color: #4c3b30;
}



@media (max-width: 991px) {
  .bellfire-feature-wrap {
    grid-template-columns: 1fr;
    gap: 22px;
  }
}

@media (max-width: 767px) {
  .bellfire-feature-section {
    padding: 55px 16px;
  }

  .bellfire-feature-card {
    gap: 16px;
    padding: 22px 18px;
    border-radius: 20px;
    min-height: auto;
  }

  .bellfire-feature-icon {
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    border-radius: 12px;
  }

  .bellfire-feature-icon svg {
    width: 24px;
    height: 24px;
  }

  .bellfire-feature-content h3 {
    font-size: 1rem;
  }

  .bellfire-feature-content p {
    font-size: 1rem;
    line-height: 1.5;
  }
}
/* =========================================================
   BELLFIRE FIREPLACES - SECTION 2
   Full replacement CSS
   ========================================================= */

.bellfire-feature-section {
  padding: 85px 20px;
  background: #e7e1d8;
}

.bellfire-feature-wrap {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}



.bellfire-feature-intro {
  max-width: 860px;
  margin: 0 auto 46px auto;
  text-align: center;
}

.bellfire-feature-eyebrow {
  display: inline-block;
  margin-bottom: 14px;
  font-family: "League Spartan", sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #8a6a45;
}

.bellfire-feature-intro h2 {
  margin: 0 0 18px 0;
  font-family: "Cinzel", serif;
  font-size: clamp(2rem, 3vw, 3.05rem);
  line-height: 1.15;
  color: #4a3026;
}

.bellfire-feature-intro p {
  margin: 0;
  font-family: "League Spartan", sans-serif;
  font-size: 1.08rem;
  line-height: 1.75;
  color: #4f3d31;
}

/* =========================================================
   FEATURE GRID
   ========================================================= */

.bellfire-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}



.bellfire-feature-card {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 28px 26px;
  background: #fff9f1;
  border: 1px solid #d6b17a;
  border-radius: 24px;
  transition: all 0.25s ease;
}

.bellfire-feature-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(60, 39, 24, 0.08);
}



.bellfire-feature-icon {
  flex: 0 0 60px;
  width: 60px;
  height: 60px;
  border-radius: 16px;
  background: #d4b284;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bellfire-feature-icon img {
  width: 34px;
  height: 34px;
  object-fit: contain;
  display: block;
}

/* =========================================================
   CARD CONTENT
   ========================================================= */

.bellfire-feature-content {
  flex: 1;
}

.bellfire-feature-content h3 {
  margin: 0 0 10px 0;
  font-family: "Cinzel", serif;
  font-size: 1.08rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.35;
  color: #5a3a27;
}





@media (max-width: 991px) {
  .bellfire-feature-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }
}

@media (max-width: 767px) {
  .bellfire-feature-section {
    padding: 60px 16px;
  }

  .bellfire-feature-intro {
    margin-bottom: 32px;
  }

  .bellfire-feature-intro p {
    font-size: 1rem;
    line-height: 1.7;
  }

  .bellfire-feature-card {
    padding: 22px 18px;
    gap: 16px;
  }

  .bellfire-feature-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    flex: 0 0 52px;
  }

  .bellfire-feature-icon img {
    width: 28px;
    height: 28px;
  }

  .bellfire-feature-content h3 {
    font-size: 1rem;
  }

  .bellfire-feature-content p {
    font-size: 1rem;
  }
}
/* =========================================
   FORCE FIX - BROKEN CHECKMARK ENCODING
   ========================================= */

.subpage-checklist li::before {
  content: "" !important;
}

.subpage-checklist li {
  position: relative;
  padding-left: 34px;
}

.subpage-checklist li::after {
  content: "\2713" !important;
  position: absolute;
  left: 0;
  top: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #3a140b;
  color: #ffffff;
  font-size: 0.88rem;
  line-height: 22px;
  text-align: center;
}
/* =========================================================
   WATERPROOFING PAGE - FIX BROKEN CHECKMARK SYMBOLS
   ========================================================= */

.waterproofing-protection__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.waterproofing-protection__list li {
  position: relative;
  padding-left: 32px;
  margin-bottom: 16px;
  color: #4f433c;
  line-height: 1.7;
}

.waterproofing-protection__list li::before {
  content: "\2713" !important;
  position: absolute;
  left: 0;
  top: 10px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #7b7531;
  color: #ffffff;
  font-size: 0.88rem;
  line-height: 22px;
  text-align: center;
}
/* =========================================================
   SECTION 1: HIDDEN CHIMNEY DANGERS
   Intro + image row + 3 educational risk cards
   ========================================================= */

/* Main section wrapper */
.relining-section--intro {
  padding: 80px 20px;
  background: #f3eadc; /* warm tan tone consistent with the rest of the site */
}

/* Inner content container */
.relining-section__inner {
  width: min(1200px, 100%);
  margin: 0 auto;
}

/* Header area */
.relining-section__header {
  max-width: 860px;
  margin: 0 auto 42px;
  text-align: center;
}

/* Small label above heading */
.relining-section__eyebrow {
  display: inline-block;
  margin-bottom: 14px;
  font-family: "Cinzel", serif;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #8a6a3d;
}

/* Main section heading */
.relining-section__title {
  margin: 0 0 18px;
  font-family: "Cinzel", serif;
  font-size: clamp(2rem, 4vw, 3.35rem);
  font-weight: 700;
  line-height: 1.12;
  color: #3f2413;
}

/* Supporting intro paragraph */
.relining-section__lead {
  margin: 0;
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 1.12rem;
  line-height: 1.8;
  color: #5d4636;
}

/* =========================================================
   TOP VISUAL ROW
   Three supporting images across the top
   ========================================================= */
.relining-visuals {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 42px;
}

.relining-visual-card {
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(92, 63, 35, 0.12);
  border-radius: 22px;
  box-shadow: 0 16px 36px rgba(70, 42, 18, 0.08);
}

.relining-visual-card img {
  display: block;
  width: 100%;
  aspect-ratio: 1.1 / 0.8;
  object-fit: cover;
}

/* =========================================================
   RISK CARD GRID
   ========================================================= */
.relining-risk-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

/* Individual card */
.relining-risk-card {
  height: 100%;
  padding: 32px 28px 30px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(92, 63, 35, 0.12);
  border-radius: 22px;
  box-shadow: 0 18px 40px rgba(70, 42, 18, 0.08);
}

/* Icon at top of each card */
.relining-risk-card__icon {
  margin-bottom: 14px;
  font-size: 2rem;
  line-height: 1;
}

/* Card title */
.relining-risk-card__title {
  margin: 0 0 14px;
  font-family: "Cinzel", serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.2;
  color: #3f2413;
}

/* Card supporting paragraph */
.relining-risk-card__text {
  margin: 0 0 18px;
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 1rem;
  line-height: 1.75;
  color: #5d4636;
}

/* Bullet list inside cards */
.relining-risk-card__list {
  margin: 0;
  padding-left: 20px;
}

.relining-risk-card__list li {
  margin-bottom: 10px;
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 0.98rem;
  line-height: 1.65;
  color: #4d392d;
}

.relining-risk-card__list li:last-child {
  margin-bottom: 0;
}

/* =========================================================
   RESPONSIVE STYLES
   ========================================================= */
@media (max-width: 1024px) {
  .relining-visuals,
  .relining-risk-grid {
    grid-template-columns: 1fr;
  }

  .relining-visual-card img {
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 767px) {
  .relining-section--intro {
    padding: 64px 16px;
  }

  .relining-section__header {
    margin-bottom: 34px;
  }

  .relining-section__title {
    font-size: clamp(1.8rem, 7vw, 2.45rem);
  }

  .relining-section__lead {
    font-size: 1.02rem;
    line-height: 1.72;
  }

  .relining-risk-card {
    padding: 26px 22px 24px;
  }

  .relining-risk-card__title {
    font-size: 1.4rem;
  }
}
/* =========================================================
   SECTION 2: GAS VS OIL SPLIT
   Two-column educational layout
   ========================================================= */

.relining-section--split {
  padding: 80px 20px;
  background: #ffffff; /* alternate from tan for visual separation */
}

/* =========================================================
   SPLIT LAYOUT CONTAINER
   ========================================================= */
.relining-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

/* Individual column */
.relining-split__column {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* =========================================================
   IMAGE STYLING
   ========================================================= */
.relining-split__image {
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid rgba(92, 63, 35, 0.12);
  box-shadow: 0 16px 36px rgba(70, 42, 18, 0.08);
}

.relining-split__image img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* =========================================================
   CONTENT STYLING
   ========================================================= */
.relining-split__title {
  margin: 0 0 12px;
  font-family: "Cinzel", serif;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.2;
  color: #3f2413;
}

.relining-split__content p {
  margin: 0 0 16px;
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 1rem;
  line-height: 1.75;
  color: #5d4636;
}

/* List styling */
.relining-split__list {
  margin: 0 0 18px;
  padding-left: 20px;
}

.relining-split__list li {
  margin-bottom: 10px;
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 0.98rem;
  line-height: 1.65;
  color: #4d392d;
}

.relining-split__list li:last-child {
  margin-bottom: 0;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1024px) {
  .relining-split {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .relining-section--split {
    padding: 64px 16px;
  }

  .relining-split {
    gap: 32px;
  }

  .relining-split__title {
    font-size: 1.5rem;
  }

  .relining-split__content p {
    font-size: 0.98rem;
  }
}
/* =========================================================
   SECTION 3: CONSEQUENCES + RELINING SOLUTION
   Warning / impact / solution transition section
   ========================================================= */

.relining-section--impact {
  padding: 80px 20px;
  background: #f3eadc; /* warm tan background to reconnect with section 1 */
}

/* =========================================================
   TOP INTRO BLOCK
   ========================================================= */
.relining-impact-intro {
  max-width: 900px;
  margin: 0 auto 42px;
  text-align: center;
}

.relining-impact-intro__eyebrow {
  display: inline-block;
  margin-bottom: 14px;
  font-family: "Cinzel", serif;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #8a6a3d;
}

.relining-impact-intro__title {
  margin: 0 0 18px;
  font-family: "Cinzel", serif;
  font-size: clamp(2rem, 4vw, 3.1rem);
  font-weight: 700;
  line-height: 1.16;
  color: #3f2413;
}

.relining-impact-intro__lead {
  margin: 0;
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 1.1rem;
  line-height: 1.8;
  color: #5d4636;
}

/* =========================================================
   MAIN TWO-COLUMN GRID
   ========================================================= */
.relining-impact-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 30px;
  align-items: start;
}

/* Shared card styling */
.relining-impact-card {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(92, 63, 35, 0.12);
  border-radius: 22px;
  box-shadow: 0 18px 40px rgba(70, 42, 18, 0.08);
}

/* Left warning card */
.relining-impact-card--warning {
  padding: 34px 30px;
}

/* Right solution card */
.relining-impact-card--solution {
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* Card image */
.relining-impact-card__image {
  overflow: hidden;
}

.relining-impact-card__image img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

/* Inner content for solution card */
.relining-impact-card__content {
  padding: 28px 30px 30px;
}

/* Shared typography */
.relining-impact-card__title {
  margin: 0 0 14px;
  font-family: "Cinzel", serif;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.2;
  color: #3f2413;
}

.relining-impact-card__text {
  margin: 0 0 18px;
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 1rem;
  line-height: 1.75;
  color: #5d4636;
}

.relining-impact-card__list {
  margin: 0;
  padding-left: 20px;
}

.relining-impact-card__list li {
  margin-bottom: 10px;
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 0.98rem;
  line-height: 1.65;
  color: #4d392d;
}

.relining-impact-card__list li:last-child {
  margin-bottom: 0;
}

/* =========================================================
   BOTTOM QUOTE / CLOSING STATEMENT
   ========================================================= */
.relining-impact-quote {
  max-width: 960px;
  margin: 34px auto 0;
  padding: 28px 30px;
  text-align: center;
  background: rgba(255, 255, 255, 0.56);
  border: 1px solid rgba(92, 63, 35, 0.1);
  border-radius: 22px;
}

.relining-impact-quote__text {
  margin: 0;
  font-family: "Cinzel", serif;
  font-size: clamp(1.2rem, 2vw, 1.7rem);
  line-height: 1.45;
  color: #3f2413;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1024px) {
  .relining-impact-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .relining-section--impact {
    padding: 64px 16px;
  }

  .relining-impact-intro {
    margin-bottom: 34px;
  }

  .relining-impact-intro__title {
    font-size: clamp(1.8rem, 7vw, 2.45rem);
  }

  .relining-impact-intro__lead {
    font-size: 1.02rem;
    line-height: 1.72;
  }

  .relining-impact-card--warning,
  .relining-impact-card__content {
    padding: 26px 22px 24px;
  }

  .relining-impact-card__title {
    font-size: 1.45rem;
  }

  .relining-impact-quote {
    padding: 24px 22px;
  }
}
/* =========================================================
SECTION 3: FINAL (OPTION 2)
Balanced two-column layout with hazard panel
========================================================= */

.relining-section--impact {
  padding: 80px 20px;
  background: #f3eadc;
}

/* GRID */
.relining-impact-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 30px;
  align-items: start;
}

/* CARDS */
.relining-impact-card {
  background: rgba(255,255,255,0.8);
  border-radius: 22px;
  border: 1px solid rgba(92,63,35,0.12);
  box-shadow: 0 18px 40px rgba(70,42,18,0.08);
}

/* LEFT CARD */
.relining-impact-card--warning {
  padding: 28px 26px;
}

/* RIGHT CARD */
.relining-impact-card--solution {
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.relining-impact-card__image img {
  width: 100%;
  display: block;
  aspect-ratio: 16/9;
  object-fit: cover;
}

.relining-impact-card__content {
  padding: 26px 26px 28px;
}

/* TYPOGRAPHY */
.relining-impact-card__title {
  margin-bottom: 14px;
  font-family: "Cinzel", serif;
  font-size: 1.6rem;
  color: #3f2413;
}

.relining-impact-card__text {
  margin-bottom: 16px;
  font-family: Georgia, serif;
  color: #5d4636;
  line-height: 1.75;
}

.relining-impact-card__list {
  padding-left: 20px;
}

.relining-impact-card__list li {
  margin-bottom: 10px;
  color: #4d392d;
}

/* =========================================================
HAZARD PANEL (KEY FEATURE)
========================================================= */

.relining-hazards {
  margin-top: 26px;
  padding: 18px;
  border-radius: 18px;
  background: rgba(255,255,255,0.6);
  border: 1px solid rgba(92,63,35,0.12);
}

/* Title */
.relining-hazards__title {
  text-align: center;
  margin-bottom: 14px;
  font-family: "Cinzel", serif;
  font-size: 1.1rem;
  color: #3f2413;
}

/* Grid */
.relining-hazards__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

/* Individual hazard */
.relining-hazard {
  text-align: center;
}

.relining-hazard img {
  width: 100%;
  border-radius: 10px;
  margin-bottom: 6px;
}

.relining-hazard span {
  display: block;
  font-size: 0.85rem;
  color: #4d392d;
}

/* =========================================================
RESPONSIVE
========================================================= */

@media (max-width: 1024px) {
  .relining-impact-grid {
    grid-template-columns: 1fr;
  }

  .relining-hazards__grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@media (max-width: 767px) {
  .relining-section--impact {
    padding: 60px 16px;
  }

  .relining-hazards__grid {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
ENHANCEMENT: CARD HOVER (VERY SUBTLE)
========================================================= */

.relining-impact-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.relining-impact-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 50px rgba(70, 42, 18, 0.12);
}

/* =========================================================
ENHANCEMENT: HAZARD IMAGE HOVER
========================================================= */

.relining-hazard img {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.relining-hazard:hover img {
  transform: scale(1.05);
  box-shadow: 0 10px 24px rgba(0,0,0,0.15);
}

/* Add subtle overlay effect */
.relining-hazard {
  overflow: hidden;
  border-radius: 10px;
}

.relining-hazard img {
  display: block;
}

/* =========================================================
ENHANCEMENT: HAZARD PANEL DEPTH
========================================================= */

.relining-hazards {
  background: rgba(255,255,255,0.65);
  box-shadow: inset 0 0 0 1px rgba(92,63,35,0.08);
}

/* =========================================================
ENHANCEMENT: TYPOGRAPHY REFINEMENT
========================================================= */

.relining-impact-card__title {
  letter-spacing: 0.02em;
}

.relining-impact-card__text {
  font-size: 1.02rem;
}

/* =========================================================
MOBILE POLISH (IMPORTANT)
========================================================= */

@media (max-width: 767px) {

  /* tighter card spacing */
  .relining-impact-grid {
    gap: 24px;
  }

  /* better text readability */
  .relining-impact-card__text {
    font-size: 1rem;
    line-height: 1.7;
  }

  /* stack hazards cleanly */
  .relining-hazards {
    padding: 16px;
  }

  .relining-hazards__title {
    font-size: 1rem;
  }

  .relining-hazards__grid {
    gap: 10px;
  }

  .relining-hazard span {
    font-size: 0.8rem;
  }

  /* reduce image dominance on mobile */
  .relining-impact-card__image img {
    aspect-ratio: 4/3;
  }
}
/* ==========================================
   SECTION 4 - PROFESSIONAL RELINING CTA / PROCESS
   ========================================== */
.relining-section-four {
  padding: 80px 0;
  background: #f5efe3;
}

.relining-section-four__wrap {
  display: grid;
  grid-template-columns: 1.35fr 0.85fr;
  gap: 40px;
  align-items: start;
}

.relining-section-four__content,
.relining-section-four__panel,
.relining-section-four__note {
  box-sizing: border-box;
}

.relining-section-four__content {
  background: #ffffff;
  border-radius: 22px;
  padding: 42px 40px;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.08);
}

.relining-section-four__eyebrow {
  display: inline-block;
  margin-bottom: 14px;
  font-family: "League Spartan", Arial, sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #8a6a43;
}

.relining-section-four__title {
  margin: 0 0 18px;
  font-family: "Cinzel", Georgia, serif;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.15;
  color: #2f241b;
}

.relining-section-four__intro {
  margin: 0 0 30px;
  font-family: "Lora", Georgia, serif;
  font-size: 1.05rem;
  line-height: 1.8;
  color: #5c5146;
}

.relining-section-four__points {
  display: grid;
  gap: 22px;
}

.relining-section-four__point {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 16px;
  align-items: start;
}

.relining-section-four__icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #e6d4b8;
  color: #4c3929;
  font-family: "League Spartan", Arial, sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.relining-section-four__text h3 {
  margin: 0 0 8px;
  font-family: "Cinzel", Georgia, serif;
  font-size: 1.15rem;
  line-height: 1.3;
  color: #2f241b;
}

.relining-section-four__text p {
  margin: 0;
  font-family: "Lora", Georgia, serif;
  font-size: 1rem;
  line-height: 1.75;
  color: #5c5146;
}

.relining-section-four__cta {
  margin-top: 30px;
}

.relining-section-four__button {
  display: inline-block;
  padding: 15px 28px;
  border-radius: 999px;
  background: #2f241b;
  color: #ffffff;
  text-decoration: none;
  font-family: "League Spartan", Arial, sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: all 0.3s ease;
}

.relining-section-four__button:hover {
  transform: translateY(-2px);
  background: #443226;
}

.relining-section-four__side {
  display: grid;
  gap: 24px;
}

.relining-section-four__panel {
  background: #ffffff;
  border-radius: 22px;
  padding: 34px 30px;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.08);
}

.relining-section-four__panel h3 {
  margin: 0 0 18px;
  font-family: "Cinzel", Georgia, serif;
  font-size: 1.35rem;
  line-height: 1.3;
  color: #2f241b;
}

.relining-section-four__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.relining-section-four__list li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 14px;
  font-family: "Lora", Georgia, serif;
  font-size: 1rem;
  line-height: 1.7;
  color: #5c5146;
}

.relining-section-four__list li:last-child {
  margin-bottom: 0;
}

.relining-section-four__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #8a6a43;
}

.relining-section-four__note {
  background: #2f241b;
  border-radius: 22px;
  padding: 28px 26px;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.12);
}

.relining-section-four__note p {
  margin: 0;
  font-family: "Lora", Georgia, serif;
  font-size: 1.05rem;
  line-height: 1.8;
  color: #f8f2e8;
}

/* ==========================================
   RESPONSIVE
   ========================================== */
@media (max-width: 991px) {
  .relining-section-four {
    padding: 64px 0;
  }

  .relining-section-four__wrap {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .relining-section-four__content {
    padding: 34px 28px;
  }

  .relining-section-four__panel,
  .relining-section-four__note {
    padding: 28px 24px;
  }
}

@media (max-width: 640px) {
  .relining-section-four {
    padding: 54px 0;
  }

  .relining-section-four__content {
    padding: 28px 22px;
    border-radius: 18px;
  }

  .relining-section-four__panel,
  .relining-section-four__note {
    padding: 24px 20px;
    border-radius: 18px;
  }

  .relining-section-four__point {
    grid-template-columns: 36px 1fr;
    gap: 14px;
  }

  .relining-section-four__icon {
    width: 36px;
    height: 36px;
    font-size: 1rem;
  }
}
/* ==========================================
   SECTION 5 - FINAL CTA
   ========================================== */
.relining-section-five {
  padding: 0 0 90px;
  background: #f5efe3;
}

.relining-section-five__card {
  display: grid;
  grid-template-columns: 1.3fr 0.7fr;
  gap: 34px;
  background: linear-gradient(135deg, #2f241b 0%, #433126 100%);
  border-radius: 26px;
  padding: 48px 46px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.14);
  overflow: hidden;
}

.relining-section-five__content,
.relining-section-five__details,
.relining-section-five__box {
  box-sizing: border-box;
}

.relining-section-five__eyebrow {
  display: inline-block;
  margin-bottom: 16px;
  font-family: "League Spartan", Arial, sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #d9bf98;
}

.relining-section-five__title {
  margin: 0 0 18px;
  font-family: "Cinzel", Georgia, serif;
  font-size: clamp(2rem, 3vw, 3.1rem);
  line-height: 1.15;
  color: #ffffff;
}

.relining-section-five__text {
  margin: 0 0 18px;
  max-width: 760px;
  font-family: "Lora", Georgia, serif;
  font-size: 1.05rem;
  line-height: 1.85;
  color: rgba(255, 255, 255, 0.88);
}

.relining-section-five__text:last-of-type {
  margin-bottom: 0;
}

.relining-section-five__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.relining-section-five__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px 26px;
  border-radius: 999px;
  text-decoration: none;
  font-family: "League Spartan", Arial, sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: all 0.3s ease;
}

.relining-section-five__button--primary {
  background: #d9bf98;
  color: #2f241b;
}

.relining-section-five__button--primary:hover {
  transform: translateY(-2px);
  background: #e5ceb0;
}

.relining-section-five__button--secondary {
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.relining-section-five__button--secondary:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.14);
}

.relining-section-five__details {
  display: flex;
  align-items: stretch;
}

.relining-section-five__box {
  width: 100%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 22px;
  padding: 30px 28px;
  backdrop-filter: blur(4px);
}

.relining-section-five__box h3 {
  margin: 0 0 18px;
  font-family: "Cinzel", Georgia, serif;
  font-size: 1.3rem;
  line-height: 1.3;
  color: #ffffff;
}

.relining-section-five__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.relining-section-five__list li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 14px;
  font-family: "Lora", Georgia, serif;
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.88);
}

.relining-section-five__list li:last-child {
  margin-bottom: 0;
}

.relining-section-five__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #d9bf98;
}

/* ==========================================
   RESPONSIVE
   ========================================== */
@media (max-width: 991px) {
  .relining-section-five {
    padding: 0 0 70px;
  }

  .relining-section-five__card {
    grid-template-columns: 1fr;
    gap: 26px;
    padding: 38px 30px;
  }
}

@media (max-width: 640px) {
  .relining-section-five {
    padding: 0 0 56px;
  }

  .relining-section-five__card {
    padding: 30px 22px;
    border-radius: 20px;
  }

  .relining-section-five__box {
    padding: 24px 20px;
    border-radius: 18px;
  }

  .relining-section-five__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .relining-section-five__button {
    width: 100%;
  }
}
/* ==========================================
   HOMEPAGE HERO - FULL REPLACEMENT
   Updated to fix:
   1. text block too low
   2. approved H1 size retained
   3. forced H1 line layout
   ========================================== */

.cse-home-hero {
  position: relative;
  overflow: hidden;
  background: url('/cms/assets/_core/image/chimney-sweep-hero.jpg') center center / cover no-repeat;
  min-height: 700px;
}

.cse-home-hero__overlay {
  width: 100%;
  min-height: inherit;
  background:
    linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.62) 0%,
      rgba(0, 0, 0, 0.46) 35%,
      rgba(0, 0, 0, 0.20) 65%,
      rgba(0, 0, 0, 0.05) 100%
    );
}

/* ==========================================
   Inner layout
   Moved from bottom-anchored to vertically centered
   with a slight upward bias
   ========================================== */
.cse-home-hero__inner {
  display: flex;
  align-items: center;        /* vertical alignment */
  min-height: inherit;

  padding-top: 80px;          /* pushes content down from top */
  padding-bottom: 120px;      /* gives breathing room below */
}

/* ==========================================
   Custom shell
   Keeps content farther left without affecting
   the rest of the site layout
   ========================================== */
.cse-home-hero__shell {
  width: 100%;
  max-width: 1400px;
  min-height: inherit;
  margin: 0 auto;
  padding: 0 60px;
  padding-left: 20px;
  box-sizing: border-box;

}

/* ==========================================
   Content block
   Raised up and given a comfortable width
   ========================================== */
.cse-home-hero__content {
  max-width: 640px;
}

/* ==========================================
   H1
   Forced into the requested 4-line layout
   ========================================== */
.cse-home-hero__title {
  font-family: "Cinzel", serif; /* keeps your premium look */
  font-size: clamp(2.6rem, 4.5vw, 4.2rem);
  line-height: 1.15;
  letter-spacing: 0.5px;

  color: #ffffff;

  margin-bottom: 24px;

  /* depth + readability */
  text-shadow:
    0 4px 12px rgba(0, 0, 0, 0.55),
    0 12px 28px rgba(0, 0, 0, 0.45);

  max-width: 680px;
}
.cse-home-hero__title br {
  display: block;
  content: "";
  margin-bottom: 6px;
}
.hero-accent {
  color: #e0b973;
}

.cse-home-hero__text {
  font-size: 1.1rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.92);

  margin-bottom: 32px;
}

.cse-home-hero__actions {
  margin-top: 10px;
}

.cse-home-hero__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 14px 30px;
  border: 1px solid rgba(176, 132, 48, 0.42);
  border-radius: 8px;
  background: linear-gradient(180deg, #e2c457 0%, #d7b14a 100%);
  box-shadow:
    0 6px 18px rgba(0, 0, 0, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
  color: #fff8ea;
  font-family: "Cinzel", Georgia, serif;
  font-size: 0.94rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.01em;
  text-decoration: none;
  transition: all 0.3s ease;
}

.cse-home-hero__button:hover {
  transform: translateY(-2px);
  background: linear-gradient(180deg, #e7cb62 0%, #d3aa3f 100%);
  box-shadow:
    0 10px 24px rgba(0, 0, 0, 0.20),
    inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

/* ==========================================
   Large desktop
   ========================================== */
@media (min-width: 1440px) {
  .cse-home-hero,
  .cse-home-hero__overlay,
  .cse-home-hero__inner {
    min-height: 620px;
  }

  .cse-home-hero__shell {
    max-width: 1480px;
    padding: 0 68px;
  }

  .cse-home-hero__content {
    max-width: 760px;
    transform: translateY(-12px);
  }

  .cse-home-hero__title {
    max-width: 780px;
    font-size: clamp(2.5rem, 3vw, 4.15rem);
  }
}

/* ==========================================
   Laptop / tablet
   ========================================== */
@media (max-width: 1199px) {
  .cse-home-hero,
  .cse-home-hero__overlay,
  .cse-home-hero__inner {
    min-height: 560px;
  }

  .cse-home-hero__shell {
    padding: 0 44px;
  }

  .cse-home-hero__content {
    max-width: 620px;
    transform: translateY(-10px);
  }

  .cse-home-hero__title {
    max-width: 620px;
    font-size: clamp(2.1rem, 4vw, 3.3rem);
  }

  .cse-home-hero__text {
    max-width: 500px;
    font-size: 1rem;
  }
}

/* ==========================================
   Tablet
   ========================================== */
@media (max-width: 991px) {
  .cse-home-hero,
  .cse-home-hero__overlay,
  .cse-home-hero__inner {
    min-height: 520px;
  }

  .cse-home-hero {
    background-position: 74% center;
  }

  .cse-home-hero__overlay {
    background:
      linear-gradient(
        90deg,
        rgba(34, 18, 11, 0.72) 0%,
        rgba(34, 18, 11, 0.54) 34%,
        rgba(34, 18, 11, 0.22) 62%,
        rgba(34, 18, 11, 0.06) 100%
      );
  }

  .cse-home-hero__shell {
    padding: 0 32px;
  }

  .cse-home-hero__content {
    max-width: 540px;
    transform: none;
  }

  .cse-home-hero__title {
    max-width: 540px;
    margin-bottom: 16px;
    font-size: clamp(1.95rem, 5vw, 2.9rem);
    line-height: 1.08;
  }

  .cse-home-hero__text {
    max-width: 460px;
    margin-bottom: 18px;
    font-size: 0.98rem;
  }

  .cse-home-hero__button {
    min-height: 52px;
    padding: 14px 24px;
    font-size: 0.9rem;
  }
}

/* ==========================================
   MOBILE - CENTERED LIKE SUBPAGE HERO
   ========================================== */
@media (max-width: 640px) {

  .cse-home-hero,
  .cse-home-hero__overlay,
  .cse-home-hero__inner {
    min-height: 500px;
  }

  .cse-home-hero {
    background-position: 85% center;
  }

  .cse-home-hero__overlay {
    background:
      linear-gradient(
        90deg,
        rgba(34, 18, 11, 0.78) 0%,
        rgba(34, 18, 11, 0.60) 46%,
        rgba(34, 18, 11, 0.30) 76%,
        rgba(34, 18, 11, 0.12) 100%
      );
  }

  .cse-home-hero__shell {
    padding: 0 18px;
  }

  /* ==========================================
     KEY CHANGE: CENTER EVERYTHING
     ========================================== */
  .cse-home-hero__content {
    max-width: 100%;
    text-align: center;
    margin: 0 auto;
    transform: none;
  }

  .cse-home-hero__title {
    margin-bottom: 14px;
    font-size: clamp(1.8rem, 7vw, 2.45rem);
    line-height: 1.08;
  }

  .cse-home-hero__text {
    margin: 0 auto 18px auto;
    max-width: 90%;
    font-size: 0.96rem;
    line-height: 1.45;
  }

  /* ==========================================
     CENTER BUTTON
     ========================================== */
  .cse-home-hero__actions {
    justify-content: center;
  }

  .cse-home-hero__button {
    width: 100%;
    max-width: 300px;
    min-height: 50px;
    padding: 13px 18px;
    font-size: 0.88rem;
  }
}
/* ==========================================
   TRUST BAR - MOBILE FIX
   ========================================== */
@media (max-width: 640px) {

  .trust-list {
    grid-template-columns: 1fr;   /* stack items vertically */
    justify-items: center;        /* center the block itself */
    padding: 22px 0;
  }

  .trust-item {
    width: 100%;
    max-width: 320px;             /* keeps it from stretching too wide */
    justify-content: flex-start;  /* LEFT align icon + text */
    text-align: left;
  }

}
/* ==========================================
   CHIMNEY LINER OPTIONS SECTION
   Matches the refined subpage style
   ========================================== */
.chimney-liner-options-section {
  background: linear-gradient(180deg, #EBE2D7 0%, #f2eadf 100%);
  padding: 90px 20px;
}

/* Keep section content centered and not full bleed */
.chimney-liner-options-section .container2 {
  max-width: 1180px;
  margin: 0 auto;
}

/* ==========================================
   SECTION HEADER
   ========================================== */
.chimney-liner-options__header {
  margin-bottom: 40px;
}

.chimney-liner-options__eyebrow {
  display: block;
  margin-bottom: 14px;
  font-family: "Cinzel", serif;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #b9965b;
}

.chimney-liner-options__title {
  margin: 0;
  font-family: "Cinzel", serif;
  font-size: clamp(2rem, 4vw, 3.3rem);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #8a3f2f;
}

/* Decorative divider under heading */
.chimney-liner-options__divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
  max-width: 170px;
}

.chimney-liner-options__divider-line {
  flex: 1;
  height: 2px;
  background: linear-gradient(to right, #c89c43, #dcb45d);
}

.chimney-liner-options__divider-diamond {
  width: 12px;
  height: 12px;
  background: linear-gradient(135deg, #c89c43, #e0ba69);
  transform: rotate(45deg);
  flex-shrink: 0;
}

/* ==========================================
   CARDS
   ========================================== */
.chimney-liner-card {
  display: grid;
  grid-template-columns: 320px 1fr;
  align-items: center;
  gap: 28px;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid #e5d8c8;
  box-shadow: 0 10px 30px rgba(77, 43, 24, 0.06);
  padding: 18px;
  margin-bottom: 24px;
}

.chimney-liner-card:last-child {
  margin-bottom: 0;
}

/* ==========================================
   IMAGE AREA
   ========================================== */
.chimney-liner-card__image-wrap {
  width: 100%;
  height: 220px;
  overflow: hidden;
  background: #ddd2c3;
}

.chimney-liner-card__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==========================================
   CONTENT AREA
   ========================================== */
.chimney-liner-card__content {
  padding-right: 10px;
}

.chimney-liner-card__title {
  margin: 0 0 14px 0;
  font-family: "Cinzel", serif;
  font-size: clamp(1.5rem, 2.5vw, 1.8rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: #8a3f2f;
}

.chimney-liner-card__text {
  margin: 0 0 18px 0;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.25rem;
  line-height: 1.45;
  color: #6f5a46;
}

/* ==========================================
   BULLET LIST
   ========================================== */
.chimney-liner-card__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.chimney-liner-card__list li {
  position: relative;
  margin-bottom: 12px;
  padding-left: 24px;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.22rem;
  line-height: 1.45;
  color: #6f5a46;
}

.chimney-liner-card__list li:last-child {
  margin-bottom: 0;
}

.chimney-liner-card__list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 1px;
  font-size: 1rem;
  font-weight: 700;
  color: #b33e2f;
}

/* ==========================================
   TABLET
   ========================================== */
@media (max-width: 991px) {
  .chimney-liner-options-section {
    padding: 75px 20px;
  }

  .chimney-liner-card {
    grid-template-columns: 280px 1fr;
    gap: 22px;
  }

  .chimney-liner-card__image-wrap {
    height: 200px;
  }
}

/* ==========================================
   MOBILE
   ========================================== */
@media (max-width: 767px) {
  .chimney-liner-options-section {
    padding: 65px 16px;
  }

  .chimney-liner-options__header {
    margin-bottom: 30px;
  }

  .chimney-liner-options__eyebrow {
    font-size: 13px;
    letter-spacing: 2px;
  }

  .chimney-liner-options__title {
    font-size: 2rem;
    line-height: 1.15;
  }

  .chimney-liner-card {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 16px;
  }

  .chimney-liner-card__image-wrap {
    height: 220px;
  }

  .chimney-liner-card__content {
    padding-right: 0;
  }

  .chimney-liner-card__title {
    font-size: 1.6rem;
  }

  .chimney-liner-card__text,
  .chimney-liner-card__list li {
    font-size: 1.12rem;
  }
}
/* ==========================================
   CHIMNEY SERVICES OVERVIEW SECTION
   ========================================== */
.chimney-services-overview {
  background: #ebe6de;
  padding: 80px 20px;
}

.chimney-services-overview .container2 {
  max-width: 1180px;
  margin: 0 auto;
}

/* ==========================================
   TWO COLUMN LAYOUT
   ========================================== */
.chimney-services-overview__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 460px);
  align-items: center;
  gap: 70px;
}

/* ==========================================
   LEFT COLUMN
   ========================================== */
.chimney-services-overview__content {
  max-width: 720px;
}

.chimney-services-overview__eyebrow {
  display: inline-block;
  margin-bottom: 22px;
  font-family: "Cinzel", serif;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #b07b57;
}

.chimney-services-overview__title {
  margin: 0 0 34px 0;
  font-family: "Cinzel", serif;
  font-size: clamp(2.1rem, 4vw, 3.6rem);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #8d3f2d;
}

.chimney-services-overview__text {
  margin: 0 0 22px 0;
  max-width: 760px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.28rem, 1.7vw, 1.65rem);
  line-height: 1.55;
  color: #5f4939;
}

.chimney-services-overview__text:last-child {
  margin-bottom: 0;
}

/* ==========================================
   RIGHT COLUMN IMAGE
   ========================================== */
.chimney-services-overview__image-wrap {
  background: #f5f1ea;
  border: 1px solid #ddd2c5;
  padding: 8px;
  box-shadow: 0 10px 28px rgba(70, 45, 28, 0.10);
}

.chimney-services-overview__image {
  display: block;
  width: 100%;
  height: auto;
}

/* ==========================================
   TABLET
   ========================================== */
@media (max-width: 991px) {
  .chimney-services-overview {
    padding: 70px 20px;
  }

  .chimney-services-overview__grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .chimney-services-overview__content {
    max-width: 100%;
  }

  .chimney-services-overview__image-wrap {
    max-width: 560px;
  }
}

/* ==========================================
   MOBILE
   ========================================== */
@media (max-width: 767px) {
  .chimney-services-overview {
    padding: 56px 16px;
  }

  .chimney-services-overview__grid {
    gap: 28px;
  }

  .chimney-services-overview__eyebrow {
    margin-bottom: 16px;
    font-size: 0.82rem;
    letter-spacing: 3px;
  }

  .chimney-services-overview__title {
    margin-bottom: 22px;
    font-size: clamp(1.9rem, 8vw, 2.5rem);
    line-height: 1.12;
  }

  .chimney-services-overview__text {
    font-size: clamp(1.1rem, 4.8vw, 1.3rem);
    line-height: 1.5;
    margin-bottom: 18px;
  }

  .chimney-services-overview__image-wrap {
    padding: 6px;
  }
}
/* =========================================================
   GLOBAL IMAGE LIGHTBOX
   Applies to eligible content images sitewide
   Excludes icons/logos through JS filtering
   ========================================================= */

/* Show users that eligible images can be clicked */
img.lightbox-enabled {
  cursor: zoom-in;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

img.lightbox-enabled:hover {
  opacity: 0.96;
}

/* -----------------------------------------
   LIGHTBOX OVERLAY
   ----------------------------------------- */
.global-lightbox {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px;
  background: rgba(20, 14, 10, 0.92);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 99999;
}

.global-lightbox.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* -----------------------------------------
   LIGHTBOX INNER WRAP
   ----------------------------------------- */
.global-lightbox__inner {
  position: relative;
  max-width: min(92vw, 1400px);
  max-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* -----------------------------------------
   LIGHTBOX IMAGE
   ----------------------------------------- */
.global-lightbox__image {
  display: block;
  max-width: 100%;
  max-height: 90vh;
  width: auto;
  height: auto;
  border: 6px solid rgba(255, 255, 255, 0.92);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.45);
  background: #ffffff;
}

/* -----------------------------------------
   CLOSE BUTTON
   ----------------------------------------- */
.global-lightbox__close {
  position: absolute;
  top: -18px;
  right: -18px;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 50%;
  background: #ffffff;
  color: #3e2b20;
  font-size: 1.9rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.22);
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.global-lightbox__close:hover {
  transform: scale(1.05);
}

/* -----------------------------------------
   CAPTION
   ----------------------------------------- */
.global-lightbox__caption {
  margin-top: 14px;
  text-align: center;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.2rem;
  line-height: 1.35;
  color: #f5efe7;
}

/* -----------------------------------------
   MOBILE
   ----------------------------------------- */
@media (max-width: 767px) {
  .global-lightbox {
    padding: 16px;
  }

  .global-lightbox__image {
    border-width: 4px;
  }

  .global-lightbox__close {
    top: -14px;
    right: -6px;
    width: 40px;
    height: 40px;
    font-size: 1.55rem;
  }

  .global-lightbox__caption {
    font-size: 1.05rem;
  }
}
/* -----------------------------------------
   FIX CLOSE BUTTON OVER IMAGE
   ----------------------------------------- */

/* Ensure inner wrapper creates stacking context */
.global-lightbox__inner {
  position: relative;
  z-index: 1;
}

/* Force image BELOW the close button */
.global-lightbox__image {
  position: relative;
  z-index: 1; /* explicitly lower */
}

/* Bring close button ABOVE everything */
.global-lightbox__close {
  position: absolute;
  top: -18px;
  right: -18px;
  z-index: 10; /* higher than image */
}
.global-lightbox__image { z-index: 1; position: relative; }
.global-lightbox__close { z-index: 999; }
.contact-map-section {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.contact-map-frame-wrap {
  position: relative;
  width: 100%;
  height: 560px;
  margin: 0;
  padding: 0;
  line-height: 0;
}

.contact-map-frame {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

/* =========================================================
   GLOBAL PHONE LINK STYLES
   Mobile: normal tel behavior
   Desktop: click copies number with a small tooltip
   ========================================================= */

.phone-link {
  position: relative;
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
}

/* Optional hover polish */
.phone-link:hover {
  text-decoration: underline;
}

/* Copy confirmation tooltip */
.phone-link::after {
  content: "Number copied";
  position: absolute;
  left: 50%;
  bottom: -34px;
  transform: translateX(-50%);
  white-space: nowrap;
  padding: 6px 10px;
  border-radius: 4px;
  background: #3e2b20;
  color: #ffffff;
  font-size: 0.82rem;
  line-height: 1;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  pointer-events: none;
  z-index: 50;
}

/* Show tooltip after copy */
.phone-link.is-copied::after {
  opacity: 1;
  visibility: visible;
}

/* Slightly tighter on mobile */
@media (max-width: 767px) {
  .phone-link::after {
    bottom: -30px;
    font-size: 0.76rem;
    padding: 5px 8px;
  }
}
/* ==========================================
   GLOBAL BUTTON STYLES
   Used sitewide for CTA buttons
   ========================================== */
.call-btn {
  display: inline-block;
  padding: 0;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  color: #1a1a1a;
  text-decoration: none;
  border-radius: 6px;
  transition: all 0.3s ease;
  position: relative;
  overflow: visible; /* must stay visible so copied number can appear */
  box-shadow:
    0 8px 20px rgba(0, 0, 0, 0.35);
}

.call-btn__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  background: linear-gradient(135deg, #e0b973 0%, #cfa95f 100%);
  border-radius: 6px;
  position: relative;
  overflow: hidden; /* this clips the shimmer correctly */
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
  transition: all 0.3s ease;
}

.call-btn:link,
.call-btn:visited {
  color: #1a1a1a;
  text-decoration: none;
}

/* Hover */
.call-btn:hover {
  color: #1a1a1a;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow:
    0 14px 30px rgba(0, 0, 0, 0.45),
    0 0 15px rgba(224, 185, 115, 0.35);
}

.call-btn:hover .call-btn__label {
  color: #1a1a1a;
}

.call-btn:active {
  color: #1a1a1a;
  text-decoration: none;
  transform: translateY(0);
  box-shadow:
    0 6px 14px rgba(0, 0, 0, 0.35);
}

.call-btn__label::before {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent,
    rgba(255, 255, 255, 0.5),
    transparent
  );
  transform: skewX(-20deg);
}

.call-btn:hover .call-btn__label::before {
  left: 130%;
  transition: 0.6s;
}

/* =========================================================
   PHOTO GALLERY PAGE
   Matches the approved warm, refined visual direction
   ========================================================= */


/* ==========================================
   GALLERY HERO
   ========================================== */
.gallery-hero {
  position: relative;
  min-height: 620px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background:
    url("/cms/assets/_core/image/gallery-hero-background.jpg") center center / cover no-repeat;
}

.gallery-hero__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(32, 13, 6, 0.74) 0%,
      rgba(32, 13, 6, 0.56) 35%,
      rgba(32, 13, 6, 0.24) 65%,
      rgba(32, 13, 6, 0.16) 100%
    );
  z-index: 1;
}

.gallery-hero__inner {
  position: relative;
  z-index: 2;
  width: 100%;
}

.gallery-hero__content {
  max-width: 760px;
  padding: 70px 0;
}

.gallery-hero__eyebrow {
  display: inline-block;
  margin-bottom: 16px;
  font-family: "Cinzel", serif;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #d2a34c;
}

.gallery-hero__title {
  margin: 0 0 22px 0;
  font-family: "Cinzel", serif;
  font-size: clamp(2.8rem, 6vw, 5.4rem);
  font-weight: 500;
  line-height: 0.95;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #f0d18a;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.28);
}

.gallery-hero__text {
  max-width: 820px;
  margin: 0 0 28px 0;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.28rem, 2.2vw, 1.95rem);
  line-height: 1.35;
  color: #ffffff;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.22);
}

.gallery-hero__cta {
  min-width: 320px;
  margin-bottom: 18px;
}

.gallery-hero__note {
  margin: 0;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.35rem;
  line-height: 1.3;
  color: #f0d9ab;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
}


/* ==========================================
   GALLERY GRID SECTION
   ========================================== */
.gallery-grid-section {
  background: #f5efe8;
  padding: 70px 20px 90px;
}

.gallery-grid-section__top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 34px;
  flex-wrap: wrap;
}

.gallery-grid-section__title {
  margin: 0;
  font-family: "Cinzel", serif;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 500;
  line-height: 1.1;
  text-transform: uppercase;
  color: #8d3f2d;
}

.gallery-grid-section__count {
  margin: 0;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.35rem;
  line-height: 1.2;
  color: #6a5141;
}


/* ==========================================
   GALLERY GRID
   ========================================== */
.photo-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  background: #e8ddd0;
  box-shadow: 0 10px 25px rgba(70, 43, 27, 0.08);
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.gallery-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px rgba(70, 43, 27, 0.14);
}

.gallery-item img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

/* Hidden items for Load More */
.gallery-item.is-hidden {
  display: none;
}


/* ==========================================
   LOAD MORE BUTTON
   ========================================== */
.gallery-grid-section__actions {
  display: flex;
  justify-content: center;
  margin-top: 42px;
}

.gallery-load-more-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 250px;
  padding: 16px 30px;
  border: 1px solid #c7a56c;
  border-radius: 8px;
  background: linear-gradient(135deg, #d6b25e, #c79a3c);
  box-shadow: 0 10px 24px rgba(76, 46, 22, 0.12);
  cursor: pointer;
  font-family: "Cinzel", serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #ffffff;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.gallery-load-more-btn:hover,
.gallery-load-more-btn:focus {
  background: linear-gradient(135deg, #e2c46f, #d4a94a);
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(76, 46, 22, 0.18);
  color: #ffffff;
}

.gallery-load-more-btn:active {
  transform: translateY(0);
}

.gallery-load-more-btn.is-hidden {
  display: none;
}


/* ==========================================
   TABLET
   ========================================== */
@media (max-width: 991px) {
  .gallery-hero {
    min-height: 560px;
  }

  .gallery-grid-section {
    padding: 60px 20px 80px;
  }

  .photo-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
}


/* ==========================================
   MOBILE
   ========================================== */
@media (max-width: 767px) {
  .gallery-hero {
    min-height: auto;
  }

  .gallery-hero__content {
    max-width: 100%;
    padding: 56px 0 60px;
  }

  .gallery-hero__eyebrow {
    font-size: 0.8rem;
    letter-spacing: 3px;
    margin-bottom: 12px;
  }

  .gallery-hero__title {
    font-size: clamp(2.25rem, 11vw, 3.2rem);
    line-height: 1;
    margin-bottom: 18px;
  }

  .gallery-hero__text {
    font-size: clamp(1.08rem, 5vw, 1.28rem);
    line-height: 1.4;
    margin-bottom: 24px;
  }

  .gallery-hero__cta {
    min-width: 100%;
    width: 100%;
  }

  .gallery-hero__note {
    font-size: 1.08rem;
  }

  .gallery-grid-section {
    padding: 50px 16px 70px;
  }

  .gallery-grid-section__top {
    margin-bottom: 24px;
  }

  .gallery-grid-section__count {
    font-size: 1.12rem;
  }

  .photo-gallery-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .gallery-load-more-btn {
    width: 100%;
    min-width: 0;
  }
}

/* ---------------------------------------------------------
   1. Fix broken checklist symbols safely
   This preserves existing layout and only fixes the icon.
   --------------------------------------------------------- */
.subpage-checklist li::before {
  content: "" !important;
}

.subpage-checklist li::after {
  content: "\2713" !important;
  position: absolute;
  left: 0;
  top: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #3a140b;
  color: #ffffff;
  font-size: 0.88rem;
  line-height: 22px;
  text-align: center;
}

/* ---------------------------------------------------------
   2. Waterproofing checklist symbol fix
   Keeps your current design but forces a proper checkmark.
   --------------------------------------------------------- */
.waterproofing-protection__list li::before {
  content: "\2713" !important;
}

/* ---------------------------------------------------------
   3. Normalize subpage hero titles only
   This does NOT change hero layout, positioning, or height.
   It only keeps the headings visually consistent.
   --------------------------------------------------------- */
.subpage-hero h1,
.subpage-furnace h1,
.subpage-gallery h1,
.subpage-waterproofing h1,
.subpage-bellfire h1,
.subpage-problems h1,
.subpage-contact h1,
.subpage-story h1 {
  font-family: "Cinzel", serif !important;
  font-weight: 500;
  color: #efd7a3;
  text-shadow: 0 2px 8px rgba(0,0,0,0.14);
}

/* ---------------------------------------------------------
   4. Prevent overly aggressive hero text sizing on smaller screens
   Safe typography-only mobile control
   --------------------------------------------------------- */
@media (max-width: 768px) {
  .subpage-hero h1,
  .subpage-furnace h1,
  .subpage-gallery h1,
  .subpage-waterproofing h1,
  .subpage-bellfire h1,
  .subpage-problems h1,
  .subpage-contact h1,
  .subpage-story h1 {
    font-size: 32px !important;
    line-height: 1.02;
  }
}
/* =========================================================
   PHOTO GALLERY
   Full replacement styles
========================================================= */

.cse-gallery-section {
  padding: 80px 20px;
  background: #f6efe3;
}

.cse-gallery-header {
  max-width: 760px;
  margin: 0 auto 36px;
  text-align: center;
}

.cse-gallery-eyebrow {
  margin: 0 0 10px;
  font-size: 0.9rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #8a6a2f;
}

.cse-gallery-title {
  margin: 0 0 14px;
  font-family: "Cinzel", serif;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
  color: #2f2418;
}

.cse-gallery-intro {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.7;
  color: #5a4c3d;
}

.cse-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

/* Gallery items are buttons so they are keyboard accessible */
.cse-gallery-item {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.cse-gallery-item:hover,
.cse-gallery-item:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.14);
  outline: none;
}

.cse-gallery-item img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.cse-gallery-item:hover img,
.cse-gallery-item:focus-visible img {
  transform: scale(1.04);
}

/* Hidden items for Load More */
.cse-gallery-item.is-hidden {
  display: none;
}

.cse-gallery-actions {
  text-align: center;
  margin-top: 30px;
}

.cse-gallery-loadmore {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 28px;
  border: 1px solid #b58d49;
  border-radius: 999px;
  background: #b58d49;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
}

.cse-gallery-loadmore:hover,
.cse-gallery-loadmore:focus-visible {
  transform: translateY(-2px);
  background: #9f7a3e;
  border-color: #9f7a3e;
  outline: none;
}

/* =========================================================
   LIGHTBOX
========================================================= */

.cse-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
}

.cse-lightbox.is-open {
  display: block;
}

.cse-lightbox-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10, 10, 10, 0.88);
  backdrop-filter: blur(2px);
}

.cse-lightbox-dialog {
  position: relative;
  z-index: 2;
  width: min(94vw, 1280px);
  height: min(90vh, 900px);
  margin: 5vh auto;
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) 70px;
  align-items: center;
}

.cse-lightbox-stage {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cse-lightbox-stage img {
  max-width: 100%;
  max-height: 100%;
  display: block;
  border-radius: 14px;
  object-fit: contain;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.3);
}

.cse-lightbox-close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 4;
  width: 52px;
  height: 52px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  transition: background 0.25s ease, transform 0.25s ease;
}

.cse-lightbox-close:hover,
.cse-lightbox-close:focus-visible {
  background: rgba(255, 255, 255, 0.2);
  transform: scale(1.04);
  outline: none;
}

.cse-lightbox-nav {
  width: 54px;
  height: 54px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  transition: background 0.25s ease, transform 0.25s ease;
  justify-self: center;
}

.cse-lightbox-nav:hover,
.cse-lightbox-nav:focus-visible {
  background: rgba(255, 255, 255, 0.24);
  transform: scale(1.05);
  outline: none;
}

.cse-lightbox-caption,
.cse-lightbox-counter {
  position: absolute;
  left: 20px;
  right: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
  pointer-events: none;
}

.cse-lightbox-caption {
  bottom: 42px;
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
}

.cse-lightbox-counter {
  bottom: 14px;
  margin: 0;
  font-size: 0.9rem;
  opacity: 0.9;
}

/* Prevent page scroll when lightbox is open */
body.cse-lightbox-open {
  overflow: hidden;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {
  .cse-gallery-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .cse-gallery-section {
    padding: 64px 16px;
  }

  .cse-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .cse-lightbox-dialog {
    width: 100vw;
    height: 100vh;
    margin: 0;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    padding: 18px 12px 72px;
  }

  .cse-lightbox-stage {
    height: 100%;
  }

  /* On mobile, keep arrows visible but smaller and anchored */
  .cse-lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    width: 46px;
    height: 46px;
  }

  .cse-lightbox-prev {
    left: 10px;
  }

  .cse-lightbox-next {
    right: 10px;
  }

  .cse-lightbox-nav:hover,
  .cse-lightbox-nav:focus-visible {
    transform: translateY(-50%) scale(1.04);
  }

  .cse-lightbox-close {
    top: 14px;
    right: 14px;
    width: 48px;
    height: 48px;
  }

  .cse-lightbox-caption {
    bottom: 48px;
    font-size: 0.95rem;
  }

  .cse-lightbox-counter {
    bottom: 20px;
    font-size: 0.85rem;
  }
}

/* =========================================
   DRONE SECTION - NEW SERVICE BADGE
   Overlapping top-right image corner
========================================= */

.cse-drone-image {
  position: relative;
  overflow: visible;
}

.cse-drone-new-badge {
  position: absolute;
  top: -14px;
  right: 18px;
  z-index: 20;

  min-width: 138px;
  padding: 12px 16px 18px;
  text-align: center;

  background: #e0b973;
  color: #2e2a26;
  font-size: 0.72rem;
  line-height: 1.1;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  font-weight: 700;

  clip-path: polygon(
    0 0,
    100% 0,
    100% 68%,
    50% 100%,
    0 68%
  );

  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}
/* =========================================
   GLOBAL IMAGE SYSTEM (WELCOME EFFECT)
========================================= */

/* Frame handles radius + shadow */
.cse-image-frame {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
}

/* Image behavior */
.cse-image-frame img {
  width: 100%;
  display: block;
  transition: transform 0.4s ease;
}

/* Hover zoom */
.cse-image-frame:hover img {
  transform: scale(1.05);
}

/* =========================================
   BUTTON SHIMMER EFFECT - FULLY CONTAINED
========================================= */

.cse-btn-shimmer {
  position: relative;
  display: inline-flex;   /* helps containment */
  align-items: center;
  justify-content: center;
  overflow: hidden;       /* keeps shimmer inside */
  isolation: isolate;
  z-index: 0;
}

.cse-btn-shimmer::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -30%;
  width: 22%;             /* narrow shimmer strip */
  pointer-events: none;
  z-index: 1;

  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.18) 20%,
    rgba(255, 255, 255, 0.42) 50%,
    rgba(255, 255, 255, 0.18) 80%,
    transparent 100%
  );

  transform: skewX(-22deg) translateX(0);
  opacity: 0;
}

.cse-btn-shimmer:hover::before {
  opacity: 1;
  animation: cse-btn-shimmer-sweep 0.9s ease;
}

@keyframes cse-btn-shimmer-sweep {
  0% {
    left: -30%;
    opacity: 0;
  }
  12% {
    opacity: 1;
  }
  100% {
    left: 108%;
    opacity: 0;
  }
}

/* =========================================
   CHIMNEY SERVICES HERO - FULL REPLACEMENT
   This replaces all prior CSS for this hero
========================================= */

.chimney-subpage .subpage-hero {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: url("/cms/assets/_core/image/chimney-services-hero.jpg") center center / cover no-repeat;
}

/* LIGHTER OVERLAY */
.chimney-subpage .subpage-hero .subpage-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(22, 17, 13, 0.42) 0%,
      rgba(22, 17, 13, 0.30) 34%,
      rgba(22, 17, 13, 0.12) 62%,
      rgba(22, 17, 13, 0.00) 100%
    );
  pointer-events: none;
}

/* PLACEMENT FIX */
.chimney-subpage .subpage-hero .subpage-hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  padding: 95px 20px 95px;

  /* controlled left shift */
  transform: translateX(-340px);
}

/* TYPOGRAPHY - KEEPING YOUR CURRENT FEEL */
.chimney-subpage .subpage-hero .hero-eyebrow {
  display: inline-block;
  margin-bottom: 18px;
  padding: 8px 15px;
  border: 1px solid rgba(224, 185, 115, 0.40);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  color: #e0b973;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.chimney-subpage .subpage-hero .subpage-hero-inner h1 {
  margin: 0 0 18px;
  color: #f2d59a;
  font-size: clamp(2.9rem, 6vw, 5rem);
  line-height: 1.02;
  letter-spacing: -0.02em;
}

.chimney-subpage .subpage-hero .subpage-hero-inner p {
  margin: 0;
  max-width: 560px;
  color: rgba(255, 243, 220, 0.96);
  font-size: 1.02rem;
  line-height: 1.65;
  font-weight: 600;
}

/* BUTTON */
.chimney-subpage .subpage-hero .hero-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 30px;
  padding: 16px 30px;
  min-width: 410px;
  border-radius: 999px;
  background: #e0b973;
  color: #ffffff;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.16);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.chimney-subpage .subpage-hero .hero-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.22);
}

/* TRUST NOTE */
.chimney-subpage .subpage-hero .hero-note {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 24px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.92rem;
}

.chimney-subpage .subpage-hero .hero-note::before {
  content: "";
  width: 32px;
  height: 1px;
  background: #e0b973;
  flex: 0 0 auto;
}

/* RESPONSIVE */
@media (max-width: 1199px) {
  .chimney-subpage .subpage-hero .subpage-hero-inner {
    max-width: 720px;
    transform: translateX(-60px);
  }
}

@media (max-width: 991px) {
  .chimney-subpage .subpage-hero {
    min-height: 520px;
  }

  .chimney-subpage .subpage-hero .subpage-hero-inner {
    max-width: 680px;
    transform: none;
    padding: 85px 24px 85px;
  }

  .chimney-subpage .subpage-hero .hero-btn {
    min-width: 0;
  }
}

@media (max-width: 767px) {
  .chimney-subpage .subpage-hero {
    min-height: 500px;
    align-items: flex-end;
  }

  .chimney-subpage .subpage-hero .subpage-hero-overlay {
    background:
      linear-gradient(
        180deg,
        rgba(22, 17, 13, 0.20) 0%,
        rgba(22, 17, 13, 0.42) 38%,
        rgba(22, 17, 13, 0.72) 100%
      );
  }

  .chimney-subpage .subpage-hero .subpage-hero-inner {
    max-width: 100%;
    padding: 70px 20px 48px;
  }

  .chimney-subpage .subpage-hero .subpage-hero-inner h1 {
    font-size: clamp(2.2rem, 10vw, 3.3rem);
  }

  .chimney-subpage .subpage-hero .subpage-hero-inner p {
    font-size: 1rem;
    line-height: 1.65;
  }

  .chimney-subpage .subpage-hero .hero-btn {
    width: 100%;
    min-width: 0;
    text-align: center;
  }
}
/* =========================================
   DRONE PAGE HERO BACKGROUND (OVERRIDE)
========================================= */

.drone-inspections-hero {
  background-image: url("/cms/assets/_core/image/drone-hero.jpg") !important;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

/* =========================================
   DRONE INSPECTIONS PAGE HERO
   Add directly below the Chimney Services hero CSS
========================================= */

.drone-inspections-hero {
  position: relative;
  width: 100%;
  min-height: 520px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 70px 20px;
  overflow: hidden;
  background: url("/cms/assets/_core/image/drone-hero.jpg") center center / cover no-repeat;
}
.drone-inspections-hero {
  background-position: 70% center;
}
.drone-inspections-hero .subpage-hero-overlay {
  position: absolute;
  inset: 0;
  background:
  linear-gradient(
    90deg,
    rgba(30, 10, 5, 0.50) 0%,
    rgba(30, 10, 5, 0.32) 40%,
    rgba(30, 10, 5, 0.12) 70%,
    rgba(30, 10, 5, 0.04) 100%
  );
  z-index: 1;
}

.drone-inspections-hero .subpage-hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 560px;
  margin-left: 7%;
  margin-top: -8px;
}

.drone-inspections-hero .hero-eyebrow {
  font-family: "Cinzel", serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #ddc07f;
  margin: 0 0 18px 0;
}

.drone-inspections-hero h1 {
  margin: 0 0 24px 0;
  font-family: "Cinzel", serif;
  font-weight: 500;
  font-size: 58px;
  line-height: 1.05;
  letter-spacing: 0.015em;
  color: #efd7a3;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.14);
}

.drone-inspections-hero p {
  max-width: 500px;
  margin: 0 0 26px 0;
  font-size: 17px;
  line-height: 1.6;
  font-weight: 600;
  color: #f3e5c7;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.14);
}

.drone-inspections-hero .subpage-hero-actions {
  margin: 0;
}

.drone-inspections-hero .hero-btn {
  display: inline-block;
  min-width: 340px;
  padding: 15px 28px;
  border-radius: 6px;
  background: linear-gradient(to bottom, #e2bc63, #d2aa4e);
  color: #5b3216;
  font-family: "Cinzel", serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  box-shadow:
    0 4px 14px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.22);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.drone-inspections-hero .hero-btn:hover {
  transform: translateY(-2px);
  box-shadow:
    0 8px 18px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.drone-inspections-hero .hero-note {
  margin-top: 18px;
  font-size: 14px;
  line-height: 1.4;
  color: #ecd7aa;
  font-weight: 600;
}

/* =========================================
   DRONE HERO RESPONSIVE
========================================= */
@media (max-width: 1024px) {
  .drone-inspections-hero {
    min-height: 460px;
    background-position: center center;
  }

  .drone-inspections-hero .subpage-hero-inner {
    max-width: 520px;
    margin-left: 5%;
  }

  .drone-inspections-hero h1 {
    font-size: 50px;
  }
}

@media (max-width: 768px) {
  .drone-inspections-hero {
    justify-content: center;
    min-height: 420px;
    padding: 54px 16px;
    background-position: center center;
  }

  .drone-inspections-hero .subpage-hero-overlay {
    background:
      linear-gradient(
        180deg,
        rgba(30, 10, 5, 0.22) 0%,
        rgba(30, 10, 5, 0.42) 42%,
        rgba(30, 10, 5, 0.70) 100%
      );
  }

  .drone-inspections-hero .subpage-hero-inner {
    max-width: 100%;
    margin-left: 0;
    margin-top: 0;
    text-align: left;
  }

  .drone-inspections-hero h1 {
    font-size: 34px;
    line-height: 1.02;
    margin-bottom: 18px;
  }

  .drone-inspections-hero p {
    font-size: 16px;
    line-height: 1.65;
    max-width: 100%;
  }

  .drone-inspections-hero .hero-btn {
    min-width: 0;
    width: 100%;
  }
}

/* =========================================
   DRONE INSPECTION INTRO + BENEFITS SECTION
   Add directly below the Drone hero CSS
========================================= */

.drone-service-overview {
  position: relative;
  padding: 90px 20px;
  background:
    linear-gradient(
      180deg,
      #f5efe6 0%,
      #efe3d3 100%
    );
}
/* === Center button under image WITHOUT breaking pill shape === */
.drone-service-overview-cta {
  margin-top: 28px;
  width: 100%;
  text-align: center;
}

.drone-service-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
  gap: 50px;
  align-items: center;
}

.drone-service-overview-copy {
  min-width: 0;
}

.drone-service-overview-eyebrow {
  display: inline-block;
  margin-bottom: 16px;
  color: #8a180f;
  font-family: "Cinzel", serif;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.drone-service-overview-copy h2 {
  margin: 0 0 16px 0;
  color: #2a1610;
  font-family: "Cinzel", serif;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.08;
}

.drone-service-overview-divider {
  width: 72px;
  height: 3px;
  margin: 0 0 24px 0;
  background: linear-gradient(to right, #d2a24c, transparent);
}

.drone-service-overview-copy p {
  margin: 0 0 20px 0;
  color: #5a463d;
  font-size: 1.04rem;
  line-height: 1.85;
}

.drone-service-overview-media {
  min-width: 0;
}

.drone-service-overview-image-wrap {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 18px 36px rgba(58, 20, 11, 0.14);
  background: #ffffff;
}

.drone-service-overview-image {
  display: block;
  width: 100%;
  height: auto;
}

/* =========================================
   DRONE SECTION CTA POSITION FIX
   Place directly under drone-service-overview CSS
========================================= */

.drone-service-overview-cta {
  margin-top: 26px;
  text-align: center;
}

.drone-service-overview-cta a {
  display: inline-block;   /* ← restores original button behavior */
  min-width: 340px;
}

/* =========================================
   BENEFITS BLOCK
========================================= */

.drone-service-benefits {
  margin-top: 56px;
  padding: 38px 34px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.58);
  border: 1px solid rgba(58, 20, 11, 0.08);
  box-shadow: 0 16px 34px rgba(58, 20, 11, 0.08);
}

.drone-service-benefits-header {
  text-align: center;
  margin-bottom: 30px;
}

.drone-service-benefits-header h3 {
  margin: 0;
  color: #3a140b;
  font-family: "Cinzel", serif;
  font-size: clamp(1.5rem, 3vw, 2.15rem);
  line-height: 1.15;
}

.drone-service-benefits-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.drone-service-benefit-card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 22px 20px;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(58, 20, 11, 0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.drone-service-benefit-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 30px rgba(58, 20, 11, 0.12);
}

.drone-service-benefit-icon {
  position: relative;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, #e0b973 0%, #cfa95f 100%);
  box-shadow:
    0 6px 14px rgba(0, 0, 0, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.drone-service-benefit-icon::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 11px;
  width: 10px;
  height: 16px;
  border-right: 3px solid #ffffff;
  border-bottom: 3px solid #ffffff;
  transform: rotate(45deg);
}

.drone-service-benefit-content h4 {
  margin: 0 0 8px 0;
  color: #3a140b;
  font-family: "Cinzel", serif;
  font-size: 1.15rem;
  line-height: 1.2;
}

.drone-service-benefit-content p {
  margin: 0;
  color: #5d5149;
  font-size: 0.98rem;
  line-height: 1.7;
}

/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1024px) {
  .drone-service-overview-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .drone-service-overview-media {
    max-width: 720px;
  }

  .drone-service-benefits-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767px) {
  .drone-service-overview {
    padding: 70px 16px;
  }

  .drone-service-benefits {
    margin-top: 40px;
    padding: 28px 20px;
    border-radius: 18px;
  }

  .drone-service-benefits-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .drone-service-overview-copy h2 {
    font-size: 2rem;
  }

  .drone-service-overview-copy p {
    font-size: 1rem;
    line-height: 1.75;
  }

  .drone-service-benefit-card {
    padding: 18px 16px;
  }
}
/* =========================================
   GLOBAL BURGUNDY BUTTON (SAFE VERSION)
   Does NOT override existing buttons
========================================= */

.btn-burgundy {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 12px 30px;
  min-height: 56px;

  background: linear-gradient(180deg, #8b140d 0%, #64100c 100%);
  color: #f8e2c0;

  font-family: "Cinzel", serif;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;

  border-radius: 8px;
  border: none;

  text-decoration: none !important;

  box-shadow:
    0 8px 18px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.10),
    inset 0 -2px 0 rgba(0, 0, 0, 0.20);

  position: relative;
  overflow: hidden;

  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.btn-burgundy:hover {
  transform: translateY(-2px);
  box-shadow:
    0 12px 24px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.10),
    inset 0 -2px 0 rgba(0, 0, 0, 0.20);
}

/* =========================================
   GLOBAL GOLD BUTTON
   PLACE IN THE SAME LOCATION AS THE OLD
   BUTTON BLOCK IN tipcms.css
========================================= */

.btn-gold,
a.btn-gold,
a.btn-gold:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 24px;
  min-height: 50px;
  background: linear-gradient(180deg, #e2c457 0%, #cfa63a 100%);
  color: #000000 !important;
  font-family: "Cinzel", serif;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1;
  border-radius: 8px;
  border: none;
  text-decoration: none !important;
  box-shadow:
    0 8px 18px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.25),
    inset 0 -2px 0 rgba(0, 0, 0, 0.15);
  position: relative;
  overflow: hidden;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease,
    color 0.25s ease;
}

.btn-gold:hover,
a.btn-gold:hover,
a.btn-gold:focus,
a.btn-gold:active {
  color: #3a2a12 !important;
  text-decoration: none !important;
  transform: translateY(-2px);
  background: linear-gradient(180deg, #e8cc66 0%, #c89d2e 100%);
  box-shadow:
    0 12px 24px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    inset 0 -2px 0 rgba(0, 0, 0, 0.18);
}

@media (max-width: 768px) {
  .btn-gold,
  a.btn-gold,
  a.btn-gold:visited {
    padding: 12px 20px;
    min-height: 44px;
    font-size: 0.92rem;
    letter-spacing: 0.06em;
  }
}

/* =========================================
   SHIMMER EFFECT
========================================= */

.btn-shimmer::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.45) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: skewX(-25deg);
}

.btn-shimmer:hover::after,
.btn-shimmer:focus::after {
  animation: btnShimmer 0.8s ease forwards;
}

@keyframes btnShimmer {
  100% {
    left: 130%;
  }
}

/* =========================================
   DRONE HERO FORCE SPACING FIX
   PLACE AT VERY BOTTOM OF CSS
========================================= */

.cse-drone-hero .cse-drone-hero-content .cse-drone-hero-text {
  margin: 0 0 42px !important;
}

.cse-drone-hero .cse-drone-hero-content .cse-drone-hero-btn {
  display: inline-flex;
  margin: 0 0 28px !important;
}

/* =========================================
   CHIMNEY HERO SPACING (ACTUAL FIX)
========================================= */

.cse-hero-text {
  max-width: 640px;
  line-height: 1.6;        /* ← opens up the paragraph itself */
  margin-bottom: 42px;     /* ← creates real space before button */
}

.cse-hero-btn {
  display: inline-flex;
  margin-bottom: 28px;
}

/* =========================================
   CHIMNEY SERVICES HERO
   BASED ON WORKING DRONE HERO STRUCTURE
   PLACE AT VERY BOTTOM OF CSS
========================================= */

.cse-chimney-hero {
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  background:
    linear-gradient(
      90deg,
      rgba(24, 12, 5, 0.62) 0%,
      rgba(24, 12, 5, 0.46) 34%,
      rgba(24, 12, 5, 0.20) 60%,
      rgba(24, 12, 5, 0.10) 100%
    ),
    url("/cms/assets/_core/image/chimney-services-hero.jpg") center center / cover no-repeat;
}

.cse-chimney-hero-inner {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 40px 0 130px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.cse-chimney-hero-content {
  max-width: 760px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.cse-chimney-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  padding: 11px 20px;
  border-radius: 999px;
  border: 1px solid rgba(214, 176, 84, 0.42);
  background: rgba(255, 255, 255, 0.04);
  color: #d8b45e;
  font-family: "Cinzel", serif;
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1;
  text-transform: uppercase;
}

.cse-chimney-hero-title {
  margin: 0 0 24px;
  color: #efd79a;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(4.2rem, 7vw, 6.1rem);
  font-weight: 500;
  line-height: 0.92;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

.cse-chimney-hero-text {
  max-width: 820px;   /* ← THIS is the fix */
  margin: 0 0 28px;
  line-height: 1.3;
}

.cse-chimney-hero-btn {
  display: inline-flex;
  margin: 0 0 28px;
}

.cse-chimney-hero-trust {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 0;
  color: #f3ead8;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.2;
}

.cse-chimney-hero-trust::before {
  content: "";
  width: 36px;
  height: 1px;
  background: rgba(214, 176, 84, 0.75);
  display: inline-block;
}

/* =========================================
   TABLET
========================================= */
@media (max-width: 767px) {
  .cse-chimney-hero {
    min-height: 500px;
    display: flex;
    align-items: center;
  }

  .cse-chimney-hero-inner {
    padding: 24px 24px;
    align-items: center;
  }

  .subpage-hero-eyebrow {
    margin-bottom: 16px;
    padding: 10px 18px;
    font-size: 0.8rem;
  }

  .subpage-hero-title {
    margin: 0 0 16px;
    line-height: 0.98;
  }

  .subpage-hero-text {
    margin: 0 0 24px;
    font-size: 1.22rem;
    line-height: 1.34;
  }

 .subpage-hero-btn {
  padding: 13px 24px !important;
  min-height: 50px !important;
}

  .subpage-hero-trust {
    font-size: 1rem;
  }
}

/* =========================================
   GOLD BUTTON SHIMMER RESTORE
========================================= */

.btn-gold {
  position: relative;
  overflow: hidden;
}

/* shimmer layer */
.btn-gold::before {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 60%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.5) 50%,
    rgba(255,255,255,0) 100%
  );
  transform: skewX(-25deg);
  transition: left 0.7s ease;
}

/* trigger shimmer on hover */
.btn-gold:hover::before {
  left: 120%;
}

/* =========================================
   MASTER SUBPAGE HERO TYPOGRAPHY LOCK
   USE THIS AS THE UNIVERSAL STANDARD
   FOR ALL SUBPAGE HERO SECTIONS
========================================= */

/* Main content column */
.subpage-hero-content {
  width: 100%;
  max-width: 760px;
  position: relative;
  z-index: 2;
}

/* Eyebrow / Professional Service pill */
.subpage-hero-eyebrow {
  display: inline-block;
  padding: 6px 18px;
  margin: 0 0 20px 0;

  font-family: "Cinzel", serif;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.18em;
  text-transform: uppercase;

  color: rgba(224, 185, 115, 0.95);

  border: 1px solid rgba(224, 185, 115, 0.45);
  border-radius: 999px;
  background: rgba(224, 185, 115, 0.05);
}

/* Main hero heading */
.subpage-hero-title {
  margin: 0 0 24px 0 !important;

  font-family: "Cinzel", serif !important;
  font-size: 4.50rem !important;
  font-weight: 600 !important;
  line-height: 1.06 !important;
  letter-spacing: 0.02em !important;

  /* Slightly lighter than current */
  color: #edd39a !important;

  text-shadow:
    0 2px 10px rgba(0, 0, 0, 0.20),
    0 0 14px rgba(237, 211, 154, 0.10) !important;
}

/* Supporting paragraph */
.subpage-hero-text {
  margin: 0 0 28px 0 !important;
  max-width: 740px;

  font-family: "Lora", serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;

  color: rgba(255, 255, 255, 0.94) !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

/* Actions wrapper */
.subpage-hero-actions {
  margin: 0;
}

/* Gold hero button spacing */
.subpage-hero-btn {
  margin-top: 0 !important;
}

/* Trusted line */
.subpage-hero-trust {
  display: flex;
  align-items: center;
  gap: 14px;

  margin-top: 22px !important;

  font-family: "Lora", serif;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.4;

  color: rgba(255, 255, 255, 0.90);
}

/* Dash before trusted line */
.subpage-hero-trust::before {
  content: "";
  display: block;
  width: 28px;
  height: 1px;
  background: rgba(224, 185, 115, 0.65);
}

/* Tablet */
@media (max-width: 991px) {
  .subpage-hero-content {
    max-width: 700px;
  }

  .subpage-hero-eyebrow {
    margin-bottom: 18px;
  }

  .subpage-hero-title {
    font-size: 3rem !important;
    margin-bottom: 22px !important;
  }

  .subpage-hero-text {
    font-size: 0.98rem !important;
    line-height: 1.55 !important;
    margin-bottom: 26px !important;
  }

  .subpage-hero-trust {
    margin-top: 20px !important;
  }
}


/* =========================================
   DRONE HERO TITLE - FORCE EXACT 2-LINE BREAK
========================================= */

.drone-inspections-hero .subpage-hero-title {
  max-width: none !important;
  width: auto !important;
  white-space: normal !important;
  line-height: 1.06 !important;
}

.drone-inspections-hero .drone-title-line-1,
.drone-inspections-hero .drone-title-line-2 {
  display: block;
}

.drone-inspections-hero .drone-title-line-1 {
  white-space: nowrap;
}

/* =========================================
   SIMPLE SECTION SEPARATION (SAFE)
   NO LAYOUT CHANGES
========================================= */

/* INTRO SECTION */
.subpage-main > section:nth-of-type(1) {
  background: #f5efe7;
}

/* HIGHLIGHTS / CARDS */
.subpage-main > section:nth-of-type(2) {
  background: #ebe3d8;
}

/* LINER SECTION */
.subpage-main > section:nth-of-type(3) {
  background: #f7f2eb;
}

/* OPTIONAL: ADD BREATHING ROOM */
.subpage-main > section {
  padding-top: 90px;
  padding-bottom: 90px;
}

/* your existing CSS above */

/* =========================================
   CHIMNEY PAGE FINAL POLISH
   (PASTE THIS AT VERY BOTTOM OF FILE)
========================================= */

/* --- SECTION SPACING --- */
.subpage-main > section {
  padding-top: 110px;
  padding-bottom: 110px;
}

/* --- SUBTLE DIVIDER BETWEEN SECTIONS --- */
.subpage-main > section + section {
  border-top: 1px solid rgba(0,0,0,0.05);
}

/* --- HIGHLIGHT CARD DEPTH --- */
.highlight-card {
  box-shadow: 0 8px 20px rgba(0,0,0,0.04);
  transition: all 0.25s ease;
}

.highlight-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(0,0,0,0.08);
}

/* --- LINER ROW BACKGROUND BOOST --- */
.service-row {
  background: #ffffff;
}

/* =========================================
   MOBILE HERO MASTER LOCK
   PASTE THIS AT THE VERY BOTTOM OF YOUR CSS FILE
   AFTER THE LAST EXISTING }
========================================= */

/* =========================================
   MOBILE HERO MASTER LOCK
   REPLACEMENT VERSION
   PASTE THIS AT THE VERY BOTTOM OF YOUR CSS FILE
========================================= */

@media (max-width: 767px) {

/* -----------------------------------------
   ALL HERO SECTIONS - GLOBAL HEIGHT SYSTEM
----------------------------------------- */

  /* -----------------------------------------
     ALL HERO CONTENT BLOCKS
  ----------------------------------------- */
  .subpage-hero-content {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
  }

  /* -----------------------------------------
     EYEBROW
  ----------------------------------------- */
  .subpage-hero-eyebrow {
    display: inline-block !important;
    margin: 0 0 18px 0 !important;
    padding: 6px 16px !important;
    font-size: 0.72rem !important;
    line-height: 1 !important;
    letter-spacing: 0.16em !important;
  }

  /* -----------------------------------------
     TITLE
  ----------------------------------------- */
  .subpage-hero-title {
    margin: 0 0 22px 0 !important;
    font-size: 2.15rem !important;
    line-height: 1.08 !important;
    letter-spacing: 0.01em !important;
    max-width: 100% !important;
    text-align: left !important;
  }

  /* -----------------------------------------
     BODY TEXT
  ----------------------------------------- */
  .subpage-hero-text {
    margin: 0 0 26px 0 !important;
    max-width: 100% !important;
    font-size: 0.98rem !important;
    line-height: 1.6 !important;
    text-align: left !important;
  }

  /* -----------------------------------------
     ACTION WRAPPER
  ----------------------------------------- */
  .subpage-hero-actions {
    width: 100% !important;
    margin: 0 !important;
  }

  /* -----------------------------------------
     BUTTON
  ----------------------------------------- */
  .subpage-hero-btn,
  .btn-gold.subpage-hero-btn,
  .phone-link.subpage-hero-btn {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 50px !important;
    padding: 18px 24px !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    font-size: 0.98rem !important;
    line-height: 1.15 !important;
    white-space: normal !important;
  }

  /* -----------------------------------------
     TRUST LINE
  ----------------------------------------- */
  .subpage-hero-trust {
    margin-top: 22px !important;
    font-size: 0.9rem !important;
    line-height: 1.4 !important;
    text-align: left !important;
  }

  .subpage-hero-trust::before {
    width: 24px !important;
  }
}

/* =========================================
   MASTER HERO CONTENT SYSTEM (FINAL)
   MATCHES BELLFIRE LAYOUT
========================================= */

/* INNER WRAPPER */
.subpage-hero-inner,
.cse-drone-hero-inner {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;

  display: flex;
  align-items: center;
  justify-content: flex-start; /* FORCE LEFT START */

  padding-left: 80px;
  padding-right: 40px;
  box-sizing: border-box;
}

/* TEXT BLOCK */
.subpage-hero-content,
.cse-drone-hero-content {
  width: 100%;
  max-width: 640px; /* LOCK CONSISTENT WIDTH */

  margin: 0;
  padding: 0;

  text-align: left;
}

/* =========================================
   MOBILE BUTTON SPACING FIX
========================================= */
@media (max-width: 768px) {

  .hero-btn-row {
    flex-direction: column;     /* STACK BUTTONS */
    align-items: flex-start;    /* KEEP LEFT ALIGNED */
    gap: 14px;                  /* SPACE BETWEEN BUTTONS */
  }

}

/* =========================================
   HERO MOBILE BUTTON SEPARATION - FORCE FIX
   PLACE AT VERY END OF CSS FILE
========================================= */
@media (max-width: 768px) {

  .hero-btn-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .hero-btn-row > a + a {
    margin-top: 14px !important;
  }

}

/* =========================================
   OUR STORY BEGINNINGS MOBILE OUTER PADDING
========================================= */
@media (max-width: 768px) {

  section.ourstory-beginnings {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box;
  }

}

/* =========================================
   OUR STORY FEATURED MOBILE OUTER PADDING
========================================= */
@media (max-width: 768px) {

  section.ourstory-featured {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box;
  }

}

/* =========================================
   OUR STORY ARTICLE MOBILE OUTER PADDING
========================================= */
@media (max-width: 768px) {

  section.ourstory-article {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box;
  }

}
/* =========================================
   TRUST BAR MOBILE LEFT ALIGN FIX
========================================= */
@media (max-width: 768px) {

  .trust-bar,
  .trust-grid,
  .trust-items {
    text-align: left !important;
  }

  .trust-bar-item,
  .trust-item {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: left !important;
  }

}

/* =========================================================
   SUBPAGE HERO BACKGROUNDS ONLY
   SAFE REPLACEMENT
   PLACE AT VERY END OF CSS FILE
========================================================= */

.subpage-hero {
  background: url('/cms/assets/_core/image/chimney-services-hero.jpg') right center / cover no-repeat;
}

.subpage-furnace {
  background: url('/cms/assets/_core/image/furnace-hero.jpg') right center / cover no-repeat;
}

.subpage-gallery {
  background: url('/cms/assets/_core/image/gallery-hero.jpg') right center / cover no-repeat;
}

.subpage-waterproofing {
  background: url('/cms/assets/_core/image/waterproof-hero.jpg') right center / cover no-repeat;
}

.subpage-bellfire {
  background: url('/cms/assets/_core/image/bellfire-hero.jpg') right center / cover no-repeat;
}

.subpage-problems {
  background: url('/cms/assets/_core/image/problems-hero.jpg') right center / cover no-repeat;
}

.subpage-contact {
  background: url('/cms/assets/_core/image/contact-hero.jpg') right center / cover no-repeat;
}

.subpage-story {
  background: url('/cms/assets/_core/image/story-hero.jpg') right center / cover no-repeat;
}

/* =========================================
   MASTER SUBPAGE HERO SYSTEM
========================================= */

.subpage-hero {
  position: relative;
  height: 500px;
  min-height: 500px;
  display: flex;
  align-items: center;
  overflow: hidden;
}

/* INNER WRAPPER */
.subpage-hero-inner {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 40px 0 130px;
  display: flex;
  align-items: center;
}

/* CONTENT */
.subpage-hero-content {
  width: 100%;
  max-width: 760px;
  position: relative;
  z-index: 2;
}

/* MOBILE */
@media (max-width: 767px) {
  .subpage-hero {
    min-height: 460px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 54px 16px;
    text-align: center;
  }

  .subpage-hero-inner {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .subpage-hero-content {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
  }

  .subpage-hero h1,
  .subpage-hero p,
  .subpage-hero .hero-eyebrow,
  .subpage-hero .hero-note {
    text-align: center;
  }
}

.subpage-drone {
  background: url("/cms/assets/_core/image/drone-hero.jpg") center center / cover no-repeat;
}

.subpage-bellfire {
  background: url("/cms/assets/_core/image/bellfire-hero.jpg") right center / cover no-repeat;
}

.subpage-contact {
  background: url("/cms/assets/_core/image/contact-hero.jpg") center center / cover no-repeat;
}

.subpage-story {
  background: url("/cms/assets/_core/image/story-hero.jpg") center center / cover no-repeat;
}

.subpage-press {
  background: url("/cms/assets/_core/image/story-hero.jpg") center center / cover no-repeat;
}

@media (max-width: 767px) {
  .cse-chimney-hero-inner {
    padding: 0 24px !important;
    justify-content: center !important;
  }

  .cse-chimney-hero .subpage-hero-content {
    width: 100%;
    max-width: 100%;
    margin: 0 auto !important;
    text-align: center !important;
  }
}

/* =========================================
   HERO SYSTEM REWRITE - SHARED LAYOUT FOUNDATION
   PLACE THIS ENTIRE BLOCK AT THE VERY BOTTOM
   OF YOUR MAIN CSS FILE
========================================= */

/* =========================================
   1. SHARED HERO SECTION CONTAINER
========================================= */
.cse-chimney-hero,
.subpage-waterproofing,
.cse-drone-hero {
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
}

/* =========================================
   2. SHARED HERO INNER WRAPPER
   DESKTOP FIRST
========================================= */

/* =========================================
   3. SHARED HERO CONTENT WIDTH
========================================= */
.cse-chimney-hero .subpage-hero-content,
.subpage-waterproofing .subpage-hero-content,
.cse-drone-hero-content {
  width: 100%;
  max-width: 760px;
  position: relative;
  z-index: 2;
}

/* =========================================
   4. TABLET
========================================= */
@media (max-width: 1024px) {
  .cse-chimney-hero-inner,
  .subpage-waterproofing .subpage-hero-inner,
  .cse-drone-hero-inner {
    padding: 0 32px;
    min-height: 560px;
    height: 560px;
  }

  .cse-chimney-hero .subpage-hero-content,
  .subpage-waterproofing .subpage-hero-content,
  .cse-drone-hero-content {
    max-width: 700px;
  }
}

/* =========================================
   5. MOBILE
========================================= */
@media (max-width: 767px) {
  .cse-chimney-hero-inner,
  .subpage-waterproofing .subpage-hero-inner,
  .cse-drone-hero-inner {
    padding: 0 22px;
    min-height: 500px;
    height: 500px;
    align-items: center;
  }

  .cse-chimney-hero .subpage-hero-content,
  .subpage-waterproofing .subpage-hero-content,
  .cse-drone-hero-content {
    max-width: 100%;
  }
}

/* =========================================
   6. SMALL MOBILE
========================================= */
@media (max-width: 480px) {
  .cse-chimney-hero-inner,
  .subpage-waterproofing .subpage-hero-inner,
  .cse-drone-hero-inner {
    padding: 0 18px;
    min-height: 460px;
    height: 460px;
  }
}

/* =========================================
   DESKTOP ONLY - PROBLEMS HERO ALIGNMENT
   PLACE AT VERY BOTTOM OF CSS
========================================= */
@media (min-width: 992px) {
  .subpage-problems .subpage-hero-inner {
    min-height: 520px !important;
    height: 520px !important;
    padding: 0 40px 0 130px !important;
    display: flex !important;
    align-items: center !important;
  }

  .subpage-problems .subpage-hero-content {
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 !important;
  }

  .subpage-problems .subpage-hero-title {
    max-width: 700px !important;
    line-height: 0.95 !important;
  }

  .subpage-problems .subpage-hero-buttons,
  .subpage-problems .subpage-buttons,
  .subpage-problems .hero-buttons {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    align-items: center !important;
  }
}

/* =========================================
   FINAL MOBILE HERO CENTER FIX (ALL HEROES)
   PLACE AT VERY BOTTOM OF CSS
========================================= */
@media (max-width: 991px) {
  .cse-chimney-hero,
  .subpage-waterproofing,
  .drone-inspections-hero,
  .subpage-problems,
  .subpage-bellfire {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .cse-chimney-hero-inner,
  .subpage-waterproofing .subpage-hero-inner,
  .drone-inspections-hero .subpage-hero-inner,
  .subpage-problems .subpage-hero-inner,
  .subpage-bellfire .subpage-hero-inner {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;

    min-height: 460px !important;
    height: auto !important;

    padding: 60px 24px !important;
  }

  .cse-chimney-hero .subpage-hero-content,
  .subpage-waterproofing .subpage-hero-content,
  .drone-inspections-hero .subpage-hero-content,
  .subpage-problems .subpage-hero-content,
  .subpage-bellfire .subpage-hero-content {
    width: 100% !important;
    max-width: 520px !important;
    margin: 0 auto !important;
  }

  /* Button spacing fix */
  .subpage-problems .subpage-hero-content a,
  .cse-chimney-hero .subpage-hero-content a {
    display: block !important;
    margin: 10px auto !important;
  }


  /* =========================================
   CHIMNEY DESKTOP HEIGHT CORRECTION
========================================= */
@media (min-width: 992px) {
  .cse-chimney-hero {
    min-height: 500px !important;
    height: 500px !important;
  }

  .cse-chimney-hero-inner {
    min-height: 500px !important;
    height: 500px !important;
    padding: 0 40px 0 130px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  .cse-chimney-hero .subpage-hero-content {
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 2 !important;
  }
}

/* =========================================
   MASTER SUBPAGE HERO SYSTEM
   GLOBAL FOR ALL SUBPAGE HEROES
   PLACE AT ABSOLUTE VERY BOTTOM OF CSS
========================================= */

/* -----------------------------------------
   1) MAIN HERO WRAPPER
----------------------------------------- */
.subpage-hero {
  position: relative !important;
  width: 100% !important;
  min-height: 520px !important;
  height: 520px !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

/* -----------------------------------------
   2) SHARED OVERLAY
----------------------------------------- */
.subpage-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(
      90deg,
      rgba(24, 12, 5, 0.62) 0%,
      rgba(24, 12, 5, 0.46) 34%,
      rgba(24, 12, 5, 0.20) 60%,
      rgba(24, 12, 5, 0.10) 100%
    ) !important;
}

/* -----------------------------------------
   3) INNER LAYOUT
----------------------------------------- */
.subpage-hero-inner {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 40px 0 130px !important;
  min-height: 520px !important;
  height: 520px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

/* -----------------------------------------
   4) CONTENT BLOCK
----------------------------------------- */
.subpage-hero-content {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 !important;
  position: relative !important;
  z-index: 2 !important;
}

/* -----------------------------------------
   5) TEXT STYLES
----------------------------------------- */
.subpage-hero-eyebrow {
  display: inline-block !important;
  margin: 0 0 18px 0 !important;
  font-size: 0.92rem !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #d7b75d !important;
}

.subpage-hero-title {
  margin: 0 0 18px 0 !important;
  font-size: clamp(2.8rem, 4vw, 4.4rem) !important;
  line-height: 0.95 !important;
  font-weight: 700 !important;
  color: #EDD39A !important;
}

.subpage-hero-text {
  max-width: 680px !important;
  margin: 0 0 26px 0 !important;
  font-size: 1.08rem !important;
  line-height: 1.7 !important;
  color: rgba(255, 255, 255, 0.92) !important;
}

.subpage-hero-trust {
  margin-top: 18px !important;
  font-size: 0.95rem !important;
  color: rgba(255, 255, 255, 0.82) !important;
}

/* -----------------------------------------
   6) ACTION AREA
----------------------------------------- */
.subpage-hero-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  align-items: center !important;
}

/* -----------------------------------------
   7) TABLET / MOBILE
----------------------------------------- */
@media (max-width: 991px) {
  .subpage-hero {
    min-height: 460px !important;
    height: auto !important;
  }

  .subpage-hero-inner {
    min-height: 460px !important;
    height: auto !important;
    padding: 60px 24px !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
  }

  .subpage-hero-content {
    max-width: 560px !important;
    margin: 0 auto !important;
  }

  .subpage-hero-text {
    max-width: 100% !important;
  }

  .subpage-hero-actions {
    justify-content: center !important;
  }

  .subpage-hero-trust {
    text-align: center !important;
  }
}

/* -----------------------------------------
   8) SMALL MOBILE
----------------------------------------- */
@media (max-width: 640px) {
  .subpage-hero {
    min-height: 420px !important;
  }

  .subpage-hero-inner {
    min-height: 420px !important;
    padding: 46px 20px !important;
  }

  .subpage-hero-title {
    font-size: clamp(2.1rem, 8vw, 3rem) !important;
    line-height: 1.02 !important;
  }

  .subpage-hero-text {
    font-size: 1rem !important;
    line-height: 1.6 !important;
    margin-bottom: 22px !important;
  }

  .subpage-hero-actions {
    flex-direction: column !important;
    gap: 12px !important;
  }

  .subpage-hero-actions a {
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto !important;
  }
}


/* =========================================
   SUBPAGE HERO BACKGROUNDS ONLY
   PLACE DIRECTLY BELOW MASTER HERO SYSTEM
========================================= */

.subpage-waterproofing {
  background-image: url("/cms/assets/_core/image/waterproof-hero.jpg") !important;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

@media (max-width: 767px) {
  .subpage-waterproofing {
    background-position: 75% center !important;
  }
}

.subpage-chimney {
  background-image: url("/cms/assets/_core/image/chimney-services-hero.jpg") !important;
}

.subpage-drone {
  background-image: url("/cms/assets/_core/image/drone-hero.jpg") !important;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

@media (max-width: 767px) {
  .subpage-drone {
    background-position: 75% center !important;
  }
}

.subpage-problems {
  background-image: url("/cms/assets/_core/image/problems-hero.jpg") !important;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

@media (max-width: 767px) {
  .subpage-problems {
    background-position: 70% center !important;
  }
}

.subpage-bellfire {
  background-image: url("/cms/assets/_core/image/bellfire-hero.jpg") !important;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

@media (max-width: 767px) {
  .subpage-bellfire {
    background-position: 75% center !important;
  }
}

.subpage-contact {
  background-image: url("/cms/assets/_core/image/contact-hero.jpg") !important;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

@media (max-width: 767px) {
  .subpage-contact {
    background-position: 75% center !important;
  }
}

.subpage-story {
  background-image: url("/cms/assets/_core/image/story-hero.jpg") !important;
}

.subpage-press {
  background-image: url("/cms/assets/_core/image/story-hero.jpg") !important;
}

/* =========================================
   FINAL GLOBAL MOBILE HERO RESET
   PLACE AT ABSOLUTE VERY BOTTOM OF tipcms.css
========================================= */

@media (max-width: 767px) {
  section.subpage-hero {
    min-height: auto !important;
    height: auto !important;
    padding: 0 !important;
    display: block !important;
  }

  section.subpage-hero > .subpage-hero-inner {
    min-height: 0 !important;
    height: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: clamp(36px, 8vw, 54px) 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  section.subpage-hero .subpage-hero-content {
    width: 100% !important;
    max-width: 34rem !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  section.subpage-hero .subpage-hero-eyebrow {
    margin-bottom: 14px !important;
  }

  section.subpage-hero .subpage-hero-title {
    font-size: clamp(2rem, 8vw, 2.8rem) !important;
    line-height: 1.02 !important;
    margin-bottom: 16px !important;
  }

  section.subpage-hero .subpage-hero-text {
    max-width: 100% !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
    margin-bottom: 18px !important;
  }

  section.subpage-hero .subpage-hero-actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
  }

  section.subpage-hero .subpage-hero-trust {
    margin-top: 14px !important;
    text-align: center !important;
  }
}

