:root {
      --primary: #0b4ea2;
      --secondary: #ffb400;
      --dark: #08294d;
      --light: #f5f9ff;
      --text: #5f6f89;
    }

    * {
      box-sizing: border-box;
    }

    body {
      font-family: Arial, sans-serif;
      color: var(--text);
      overflow-x: hidden;
    }

    h1, h2, h3, h4, h5 {
      color: var(--dark);
      font-weight: 800;
    }

    p {
      line-height: 1.8;
    }

    .top-bar {
      background: var(--dark);
      color: white;
      font-size: 14px;
      padding: 10px 0;
    }

    .navbar {
      background: white;
      box-shadow: 0 10px 30px rgba(0,0,0,.08);
    }

    

    .navbar-brand {
      font-weight: 900;
      color: var(--primary);
      font-size: 26px;
    }

    .navbar-brand span {
      color: var(--secondary);
    }

    .nav-link {
      font-size: 16px;
      font-weight: 700;
      color: var(--dark);
    }

    .btn-main {
      background: var(--primary);
      color: var(--light);
      font-weight: 800;
      padding: 13px 28px;
      border-radius: 50px;
      border: none;
      transition: .3s;
    }

    .btn-main:hover {
      background: var(--primary);
      color: white;
      transform: translateY(-3px);
    }


     .btn-phone {
      background: var(--primary);
      color: var(--light);
      font-size: 35px;
      font-weight: 800;
      padding: 13px 28px;
      border-radius: 50px;
      border: none;
      transition: .3s;
    }

    .btn-phone:hover {
      background: var(--primary);
      color: white;
      transform: translateY(-3px);
    }


    .hero {
      min-height: 92vh;
      background:
        linear-gradient(90deg, rgba(8,41,77,.94), rgba(11,78,162,.75)),
        url("../img/hero.webp");
      background-size: cover;
      background-position: center;
      display: flex;
      align-items: center;
      color: white;
    }

      .emergency {
      min-height: 92vh;
      background:
        linear-gradient(90deg, rgba(8,41,77,.94), rgba(11,78,162,.75)),
        url("../img/emergency.webp");
      background-size: cover;
      background-position: center;
      display: flex;
      align-items: center;
      color: white;
    }

      .sewer {
      min-height: 92vh;
      background:
        linear-gradient(90deg, rgba(8,41,77,.94), rgba(11,78,162,.75)),
        url("../img/sewer.webp");
      background-size: cover;
      background-position: center;
      display: flex;
      align-items: center;
      color: white;
    }

     .leak {
      min-height: 92vh;
      background:
        linear-gradient(90deg, rgba(8,41,77,.94), rgba(11,78,162,.75)),
        url("../img/leak.webp");
      background-size: cover;
      background-position: center;
      display: flex;
      align-items: center;
      color: white;
    }

     .heater {
      min-height: 92vh;
      background:
        linear-gradient(90deg, rgba(8,41,77,.94), rgba(11,78,162,.75)),
        url("../img/heater.webp");
      background-size: cover;
      background-position: center;
      display: flex;
      align-items: center;
      color: white;
    }

    .tankless {
      min-height: 92vh;
      background:
        linear-gradient(90deg, rgba(8,41,77,.94), rgba(11,78,162,.75)),
        url("../img/tankless.webp");
      background-size: cover;
      background-position: center;
      display: flex;
      align-items: center;
      color: white;
    }

     .garbage {
      min-height: 92vh;
      background:
        linear-gradient(90deg, rgba(8,41,77,.94), rgba(11,78,162,.75)),
        url("../img/garbage.webp");
      background-size: cover;
      background-position: center;
      display: flex;
      align-items: center;
      color: white;
    }

     .toilet {
      min-height: 92vh;
      background:
        linear-gradient(90deg, rgba(8,41,77,.94), rgba(11,78,162,.75)),
        url("../img/toilet-repair.webp");
      background-size: cover;
      background-position: center;
      display: flex;
      align-items: center;
      color: white;
    }

    .pipe {
      min-height: 92vh;
      background:
        linear-gradient(90deg, rgba(8,41,77,.94), rgba(11,78,162,.75)),
        url("../img/pipe.webp");
      background-size: cover;
      background-position: center;
      display: flex;
      align-items: center;
      color: white;
    }

    .house {
      min-height: 92vh;
      background:
        linear-gradient(90deg, rgba(8,41,77,.94), rgba(11,78,162,.75)),
        url("../img/house-pipe.webp");
      background-size: cover;
      background-position: center;
      display: flex;
      align-items: center;
      color: white;
    }


    .drain {
      min-height: 92vh;
      background:
        linear-gradient(90deg, rgba(8,41,77,.94), rgba(11,78,162,.75)),
        url("../img/drain.webp");
      background-size: cover;
      background-position: center;
      display: flex;
      align-items: center;
      color: white;
    }

    .hero h1 {
      color: white;
      font-size: clamp(42px, 7vw, 78px);
      line-height: 1.05;
    }

    .hero p {
      max-width: 680px;
      font-size: 18px;
      color: #eaf3ff;
    }

    .hero-card {
      background: white;
      border-radius: 24px;
      padding: 35px;
      box-shadow: 0 25px 70px rgba(0,0,0,.25);
    }

    .hero-card i {
      font-size: 52px;
      color: var(--secondary);
    }

    .section {
      padding: 95px 0;
    }

     .section2 {
      padding: 95px 0;
    }

    .section-light {
      background: var(--light);
    }

     .section-light2 {
      background: var(--light);
    }

    .title-badge {
      color: var(--primary);
      background: rgba(11,78,162,.1);
      padding: 8px 18px;
      border-radius: 50px;
      font-weight: 800;
      display: inline-block;
      margin-bottom: 15px;
    }

    .service-card {
      background: white;
      padding: 35px;
      border-radius: 22px;
      height: 100%;
      box-shadow: 0 15px 45px rgba(0,0,0,.08);
      transition: .35s;
      border-bottom: 5px solid transparent;
    }

    .service-card:hover {
      transform: translateY(-12px);
      border-color: var(--secondary);
    }

    .service-card i {
      width: 70px;
      height: 70px;
      background: var(--primary);
      color: white;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 18px;
      font-size: 32px;
      margin-bottom: 22px;
    }

    .image-box {
      position: relative;
    }

    .image-box img {
      border-radius: 28px;
      box-shadow: 0 25px 60px rgba(0,0,0,.15);
    }

    .floating-box {
      position: absolute;
      bottom: -25px;
      left: -20px;
      background: var(--secondary);
      padding: 25px;
      border-radius: 22px;
      color: var(--dark);
      font-weight: 900;
      animation: float 3s ease-in-out infinite;
    }

    @keyframes float {
      0%,100% { transform: translateY(0); }
      50% { transform: translateY(-12px); }
    }

    .cta-strip {
      background: var(--secondary);
      color: var(--dark);
      padding: 55px 0;
    }

    .cta-strip h2 {
      color: var(--dark);
    }

    .offer-card {
      position: relative;
      overflow: hidden;
    }

    .offer-card::before {
      content: "";
      position: absolute;
      width: 140px;
      height: 140px;
      background: rgba(255,180,0,.18);
      border-radius: 50%;
      top: -50px;
      right: -50px;
    }

    .offer-price {
      font-size: 42px;
      font-weight: 900;
      color: var(--primary);
    }

    .counter-section {
      background:
        linear-gradient(rgba(8,41,77,.94), rgba(8,41,77,.94)),
        url("https://images.unsplash.com/photo-1581092160607-ee22621dd758?auto=format&fit=crop&w=1600&q=80");
      background-size: cover;
      background-position: center;
      color: white;
      padding: 70px 0;
    }

    .counter-section h2 {
      color: var(--secondary);
      font-size: 46px;
    }

    .counter-section p {
      color: #eaf3ff;
      margin-bottom: 0;
      font-weight: 700;
    }

    .feature {
      display: flex;
      gap: 18px;
      margin-bottom: 22px;
    }

    .feature i {
      color: var(--secondary);
      font-size: 28px;
    }

    .cta-box {
      background:
        linear-gradient(rgba(11,78,162,.92), rgba(8,41,77,.95)),
        url("https://images.unsplash.com/photo-1585704032915-c3400ca199e7?auto=format&fit=crop&w=1600&q=80");
      background-size: cover;
      background-position: center;
      color: white;
      border-radius: 35px;
      padding: 70px 45px;
    }

    .cta-box h3 {
      color: white;
    }

    .stars {
      color: var(--secondary);
      font-size: 20px;
      margin-bottom: 15px;
    }

    footer {
      background: var(--dark);
      color: #dbe9ff;
      padding: 45px 0;
    }

    .footer-brand {
      font-size: 28px;
      font-weight: 900;
      color: white;
    }

    .footer-brand span {
      color: var(--secondary);
    }

    


    /* ===== Plumbing Animated Backgrounds - added without changing sections ===== */
    .hero,
    .section,
    .section-light,
    .cta-strip,
    .counter-section,
    .cta-box,
    footer {
      position: relative;
      overflow: hidden;
      isolation: isolate;
    }

    .hero > .container,
    .section > .container,
    .cta-strip > .container,
    .counter-section > .container,
    footer > .container,
    .cta-box > * {
      position: relative;
      z-index: 3;
    }

    /* Strong moving water wave for hero */
    

    .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      opacity: .55;
      background-image:
        radial-gradient(circle at 12% 90%, rgba(255,255,255,.65) 0 4px, transparent 5px),
        radial-gradient(circle at 28% 80%, rgba(255,255,255,.35) 0 7px, transparent 8px),
        radial-gradient(circle at 48% 92%, rgba(255,255,255,.50) 0 5px, transparent 6px),
        radial-gradient(circle at 68% 76%, rgba(255,255,255,.38) 0 8px, transparent 9px),
        radial-gradient(circle at 88% 88%, rgba(255,255,255,.55) 0 4px, transparent 5px);
      background-size: 260px 260px, 330px 330px, 290px 290px, 380px 380px, 310px 310px;
      animation: bubbleRise 18s linear infinite;
}

@keyframes bubbleRise {
  from {
    background-position:
      0 120px,
      0 180px,
      0 250px;
  }

  to {
    background-position:
      0 -120px,
      0 -180px,
      0 -250px;
  }
}
   

    

    /* Water drops background for normal sections */
   

    /* Ripple circles on light sections */
    .section-light::after {
      content: "";
      position: absolute;
      width: 760px;
      height: 760px;
      right: -260px;
      top: -260px;
      z-index: 0;
      pointer-events: none;
      border-radius: 50%;
      background:
        radial-gradient(circle, transparent 0 18%, rgba(11,78,162,.10) 19% 20%, transparent 21% 36%, rgba(11,78,162,.08) 37% 38%, transparent 39% 55%, rgba(255,180,0,.10) 56% 57%, transparent 58%);
      animation: ripplePulse 7s ease-in-out infinite;
    }

    @keyframes ripplePulse {
      0%,100% { transform: scale(.92); opacity: .65; }
      50% { transform: scale(1.06); opacity: 1; }
    }

    /* Subtle pipe pattern for Drain & Sewer section */
  #drain{
  position: relative;
  overflow: hidden;
}

  #drain img{
  width: 100%;
}

#drain::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .12;

  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='360' viewBox='0 0 900 360'%3E%3Cg fill='none' stroke='%230b4ea2' stroke-width='3' stroke-linecap='round' opacity='.8'%3E%3Cpath d='M-40 90 C120 20 240 160 400 90 S690 40 940 120'/%3E%3Cpath d='M-40 170 C140 90 270 250 430 170 S700 110 940 200' opacity='.55'/%3E%3Cpath d='M-40 250 C100 190 250 310 430 245 S720 185 940 285' opacity='.35'/%3E%3C/g%3E%3C/svg%3E");

  background-repeat: repeat-x;
  background-size: 900px 360px;

  animation: waterLinesMove 22s linear infinite;
}

@keyframes waterLinesMove{
  from{
    background-position: 0 center;
  }

  to{
    background-position: -900px center;
  }
}

#drain .container{
  position: relative;
  z-index: 2;
}

    /* Animated wave strips in CTA areas */
    .cta-strip::before,
    .counter-section::before,
    .cta-box::before,
    footer::before {
      content: "";
      position: absolute;
      left: -10%;
      bottom: -35px;
      width: 220%;
      height: 130px;
      z-index: 1;
      pointer-events: none;
      opacity: .35;
      background-repeat: repeat-x;
      background-size: 50% 130px;
      animation: plumbingWave 16s linear infinite reverse;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 130' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' fill-opacity='1' d='M0,64L60,74.7C120,85,240,107,360,101.3C480,96,600,64,720,58.7C840,53,960,75,1080,80C1200,85,1320,75,1380,69.3L1440,64L1440,130L0,130Z'%3E%3C/path%3E%3C/svg%3E");
    }

    /* Water-heater section bubbles */
    #water::after,
    #contact::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      opacity: .45;
      background-image:
        radial-gradient(circle, rgba(11,78,162,.22) 0 9px, transparent 10px),
        radial-gradient(circle, rgba(11,78,162,.15) 0 5px, transparent 6px),
        radial-gradient(circle, rgba(255,180,0,.20) 0 4px, transparent 5px);
      background-size: 260px 260px, 190px 190px, 330px 330px;
      animation: bubbleRise 13s linear infinite;
    }

    #contact a {
      color: #08294d;
      text-decoration: none;

    }

    /* Keep cards/images clean above backgrounds */
    .service-card,
    .image-box,
    .hero-card,
    form,
    .feature {
      position: relative;
      z-index: 4;
    }

    @media (prefers-reduced-motion: reduce) {
      .hero::before,
      .hero::after,
      .section::before,
      .section-light::after,
      .cta-strip::before,
      .counter-section::before,
      .cta-box::before,
      footer::before,
      #water::after,
      #contact::after {
        animation: none;
      }
    }

    @media(max-width: 767px) {
      .floating-box {
        position: static;
        margin-top: 20px;
        display: inline-block;
      }
    }

    @media (min-width: 992px) {
  .navbar .dropdown:hover .dropdown-menu {
    display: block;
  }

  .navbar .dropdown-menu {
    margin-top: 0;
  }
}

/* form */
.CUS{
    padding:0;
}

.CUS .form-row{
    display:flex;
    gap:15px;
    flex-wrap:wrap;
}

.CUS .form-row p{
    flex:1;
    margin:0;
}

.CUS label{
    display:block;
    font-size:14px;
    margin-bottom:6px;
    color:#666;
    font-weight:500;
}

.CUS input,
.CUS select,
.CUS textarea{
    width:100%;
    padding:10px 20px;
    border:1px solid #1e88e5;
    border-radius:15px;
    background:#fff;
    font-size:15px;
    color:#222;
    transition:.3s ease;
    box-sizing:border-box;
    margin: 2px;
}

.CUS textarea{
    min-height:140px;
    resize:none;
}

.CUS input::placeholder,
.CUS textarea::placeholder{
    color:#a0a0a0;
    
}

.CUS input:focus,
.CUS select:focus,
.CUS textarea:focus{
    border-color:#1e88e5;
    box-shadow:0 10px 25px rgba(30,136,229,.12);
    outline:none;
    transform:translateY(-2px);
}

.CUS .submit{
    background:#1e88e5;
    color:#fff;
    border:none;
    border-radius:15px;
    padding:16px 35px;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
    transition:.3s;
}

.CUS .submit:hover{
    background:#1565c0;
    transform:translateY(-2px);
}

form.CUS,
.CUS fieldset{
    border:none;
    padding:0;
}

@media(max-width:500px){
    .CUS .form-row{
        flex-direction:column;
    }
}


/* locations */
.service-areas{
 
    background: var(--light);
}

.area-card{
    background:#fff;
    padding:25px 15px;
    text-align:center;
    border-radius:12px;
    height:100%;
    transition:.3s;
    box-shadow:0 10px 25px rgba(0,0,0,.05);
}

.area-card:hover{
    transform:translateY(-5px);
}



.area-card i{
    font-size:32px;
    color: var(--orange);
    margin-bottom:12px;
    display:block;
}

.area-card h5{
    margin:0;
    font-size:18px;
}