.elementor-widget-text-editor a,
.elementor-widget-theme-post-content a,
.rank-math-breadcrumb a {
	color: blue;
	border-bottom: dotted 1px blue;
}

.elementor-widget-text-editor ul, 
.elementor-widget-text-editor ol,
.elementor-widget-theme-post-content ul, 
.elementor-widget-theme-post-content ol {
	padding-bottom: 1em;
}

/*When not using a sub indicator on the menu. This will prevent layout shift on nav items.*/

.sub-arrow {
    padding: 0 !important;
    margin: 0 !important;
}

.rank-math-breadcrumb p {
  margin: 0;
}

/*Rank Math FAQ Block Styles*/

div.rank-math-list-item {
  background: #f0f0f0;
  padding: 1em;
  margin: 0 0 1em 0;
}
.rank-math-list .rank-math-question {
  font-size: 1.25em;
}

.rank-math-answer {}

.elementor-widget-text-editor details {
  border: 1px solid lightgray;
  padding: 1em;
  margin-bottom: .5em;
}

.elementor-widget-text-editor details[open=""] summary {
  padding-bottom: .5em;
  margin-bottom: .5em;
  border-bottom: 1px solid lightgray;
}
.wp-block-heading {
    margin-block-start: 1.25em;
}
.d-none {display: none !important;}


/* =========================================================
VELOCITY MASTER PLUMBING
FINAL HOMEPAGE CSS
========================================================= */

:root {
  --vmp-navy: #081b35;
  --vmp-deep-blue: #0b315d;
  --vmp-blue: #0879c9;
  --vmp-cyan: #22b7e8;
  --vmp-light-blue: #eaf7fc;
  --vmp-soft-blue: #f5fbfe;
  --vmp-white: #ffffff;
  --vmp-text: #142033;
  --vmp-muted: #687386;
  --vmp-border: #dbeaf2;

  --vmp-shadow:
    0 18px 50px rgba(13, 57, 91, 0.09);

  --vmp-shadow-hover:
    0 27px 65px rgba(10, 73, 120, 0.17);
}


/* =========================================================
BASE
========================================================= */

.vmp-home,
.vmp-home * {
  box-sizing: border-box;
}

.vmp-home {
  width: 100%;
  overflow: hidden;
  color: var(--vmp-text);
  background: #ffffff;
}

.vmp-home h1,
.vmp-home h2,
.vmp-home h3,
.vmp-home p {
  margin-top: 0;
}

.vmp-home h1,
.vmp-home h2,
.vmp-home h3 {
  color: var(--vmp-text);
  font-weight: 800;
  letter-spacing: -0.04em;
}

.vmp-home h1 {
  font-size: clamp(42px, 5vw, 72px);
  line-height: 1.02;
}

.vmp-home h2 {
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.08;
}

.vmp-home h3 {
  font-size: 22px;
  line-height: 1.25;
}

.vmp-home p {
  color: var(--vmp-muted);
  font-size: 17px;
  line-height: 1.72;
}

.vmp-container {
  position: relative;
  z-index: 2;

  width:
    min(
      1180px,
      calc(100% - 48px)
    );

  margin:
    0 auto;
}

.vmp-container-narrow {
  width:
    min(
      900px,
      calc(100% - 48px)
    );
}

.vmp-section {
  position: relative;

  padding:
    105px 0;
}

.vmp-section-lead {
  color:
    #526277 !important;

  font-size:
    19px !important;
}

.vmp-section-heading {
  max-width:
    790px;

  margin-bottom:
    50px;
}

.vmp-heading-center {
  max-width:
    800px;

  margin:
    0 auto 55px;

  text-align:
    center;
}

.vmp-heading-center .vmp-eyebrow {
  justify-content:
    center;
}


/* =========================================================
EYEBROWS
========================================================= */

.vmp-eyebrow {
  display:
    inline-flex;

  align-items:
    center;

  margin-bottom:
    18px;

  color:
    var(--vmp-blue);

  font-size:
    12px;

  font-weight:
    800;

  letter-spacing:
    0.15em;

  text-transform:
    uppercase;
}

.vmp-eyebrow::before {
  width:
    34px;

  height:
    2px;

  margin-right:
    12px;

  background:
    var(--vmp-cyan);

  content:
    "";
}

.vmp-eyebrow-light {
  color:
    #8edff8;
}


/* =========================================================
BUTTONS
========================================================= */

.vmp-button-row {
  display:
    flex;

  flex-wrap:
    wrap;

  align-items:
    center;

  gap:
    15px;

  margin-top:
    30px;
}

.vmp-btn {
  display:
    inline-flex;

  min-height:
    52px;

  align-items:
    center;

  justify-content:
    center;

  padding:
    0 25px;

  border:
    1px solid transparent;

  border-radius:
    7px;

  font-size:
    14px;

  font-weight:
    800;

  text-decoration:
    none !important;

  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    background 0.22s ease;
}

.vmp-btn:hover {
  transform:
    translateY(-3px);
}

.vmp-btn-primary {
  color:
    #ffffff !important;

  background:
    linear-gradient(
      135deg,
      var(--vmp-blue),
      var(--vmp-cyan)
    );

  box-shadow:
    0 13px 28px
    rgba(22, 147, 205, 0.24);
}

.vmp-btn-primary:hover {
  box-shadow:
    0 18px 36px
    rgba(22, 147, 205, 0.34);
}

.vmp-btn-secondary {
  color:
    var(--vmp-navy) !important;

  border-color:
    #c7e8f5;

  background:
    var(--vmp-light-blue);
}

.vmp-btn-outline-light {
  color:
    #ffffff !important;

  border-color:
    rgba(
      255,
      255,
      255,
      0.45
    );

  background:
    rgba(
      255,
      255,
      255,
      0.08
    );
}

.vmp-btn-outline-light:hover {
  background:
    rgba(
      255,
      255,
      255,
      0.15
    );
}

.vmp-text-link {
  display:
    inline-flex;

  align-items:
    center;

  gap:
    8px;

  color:
    var(--vmp-blue) !important;

  font-weight:
    800;

  text-decoration:
    none !important;
}

.vmp-text-link span {
  transition:
    transform 0.22s ease;
}

.vmp-text-link:hover span {
  transform:
    translateX(5px);
}

.vmp-centered-button {
  margin-top:
    46px;

  text-align:
    center;
}


/* =========================================================
HERO
========================================================= */

.vmp-hero {
  position:
    relative;

  display:
    flex;

  min-height:
    720px;

  align-items:
    center;

  overflow:
    hidden;

  background:
    var(--vmp-navy);
}

.vmp-hero-bg {
  position:
    absolute;

  inset:
    0;

  background:
    linear-gradient(
      90deg,
      rgba(4, 19, 39, 0.98),
      rgba(5, 27, 52, 0.92) 31%,
      rgba(5, 30, 58, 0.56) 55%,
      rgba(4, 21, 40, 0.08)
    ),
    url(
      "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-master-homepage-value-prop.png"
    );

  background-position:
    center;

  background-size:
    cover;
}

.vmp-hero-content {
  width:
    min(
      690px,
      100%
    );

  padding:
    105px 0;
}

.vmp-hero h1 {
  color:
    #ffffff;

  text-shadow:
    0 5px 25px
    rgba(0, 0, 0, 0.22);
}

.vmp-hero-lead {
  max-width:
    630px;

  color:
    rgba(
      255,
      255,
      255,
      0.82
    ) !important;

  font-size:
    20px !important;
}

.vmp-proof-row {
  display:
    flex;

  flex-wrap:
    wrap;

  gap:
    11px;

  margin-top:
    34px;
}

.vmp-proof-item {
  display:
    flex;

  align-items:
    center;

  gap:
    8px;

  padding:
    9px 13px;

  color:
    #ffffff;

  border:
    1px solid
    rgba(
      255,
      255,
      255,
      0.16
    );

  border-radius:
    999px;

  background:
    rgba(
      8,
      39,
      67,
      0.58
    );

  font-size:
    12px;
}

.vmp-proof-icon {
  display:
    flex;

  width:
    20px;

  height:
    20px;

  align-items:
    center;

  justify-content:
    center;

  color:
    #062647;

  border-radius:
    50%;

  background:
    #6ad8f7;
}


/* =========================================================
HERO GOOGLE BADGE
========================================================= */

.vmp-google-trust {
  display:
    inline-flex;

  max-width:
    430px;

  align-items:
    center;

  gap:
    16px;

  margin-top:
    22px;

  padding:
    13px 16px;

  color:
    #ffffff !important;

  border:
    1px solid
    rgba(
      255,
      255,
      255,
      0.18
    );

  border-radius:
    10px;

  background:
    rgba(
      8,
      38,
      68,
      0.66
    );

  box-shadow:
    0 16px 38px
    rgba(
      0,
      0,
      0,
      0.18
    );

  text-decoration:
    none !important;

  backdrop-filter:
    blur(10px);

  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}

.vmp-google-trust:hover {
  transform:
    translateY(-4px);

  border-color:
    rgba(
      94,
      219,
      249,
      0.7
    );

  box-shadow:
    0 23px 48px
    rgba(
      0,
      0,
      0,
      0.28
    ),
    0 0 28px
    rgba(
      34,
      183,
      232,
      0.15
    );
}

.vmp-google-score {
  display:
    flex;

  min-width:
    76px;

  flex-direction:
    column;

  align-items:
    center;

  padding-right:
    15px;

  border-right:
    1px solid
    rgba(
      255,
      255,
      255,
      0.17
    );
}

.vmp-google-score strong {
  color:
    #ffffff;

  font-size:
    25px;

  line-height:
    1;
}

.vmp-google-score span {
  margin-top:
    5px;

  color:
    #ffc148;

  font-size:
    11px;

  letter-spacing:
    0.06em;
}

.vmp-google-copy {
  display:
    flex;

  flex:
    1;

  flex-direction:
    column;
}

.vmp-google-copy strong {
  color:
    #ffffff;

  font-size:
    14px;
}

.vmp-google-copy span {
  margin-top:
    3px;

  color:
    rgba(
      255,
      255,
      255,
      0.68
    );

  font-size:
    11px;
}

.vmp-google-arrow {
  color:
    var(--vmp-cyan);

  font-size:
    19px;

  transition:
    transform 0.25s ease;
}

.vmp-google-trust:hover
.vmp-google-arrow {
  transform:
    translateX(5px);
}


/* =========================================================
INTRO
========================================================= */

.vmp-split {
  display:
    grid;

  grid-template-columns:
    minmax(0, 1.03fr)
    minmax(380px, 0.85fr);

  align-items:
    center;

  gap:
    80px;
}

.vmp-image-column {
  position:
    relative;

  overflow:
    hidden;

  border-radius:
    17px;
}

.vmp-image-column img {
  display:
    block;

  width:
    100%;

  aspect-ratio:
    1 / 1;

  border-radius:
    17px;

  object-fit:
    cover;

  box-shadow:
    var(--vmp-shadow);

  transition:
    transform 0.7s
    cubic-bezier(
      0.2,
      0.7,
      0.2,
      1
    ),
    filter 0.5s ease;
}

.vmp-image-column:hover img {
  transform:
    scale(1.045);

  filter:
    saturate(1.08)
    contrast(1.035);
}

.vmp-image-column::after {
  position:
    absolute;

  inset:
    0;

  z-index:
    1;

  pointer-events:
    none;

  background:
    linear-gradient(
      115deg,
      transparent 33%,
      rgba(
        255,
        255,
        255,
        0.16
      ) 48%,
      transparent 62%
    );

  content:
    "";

  transform:
    translateX(-130%);

  transition:
    transform 0.8s ease;
}

.vmp-image-column:hover::after {
  transform:
    translateX(130%);
}

.vmp-floating-card {
  position:
    absolute;

  right:
    20px;

  bottom:
    24px;

  z-index:
    3;

  padding:
    18px 22px;

  border-left:
    4px solid
    var(--vmp-cyan);

  border-radius:
    8px;

  background:
    #ffffff;

  box-shadow:
    0 18px 45px
    rgba(
      7,
      45,
      77,
      0.2
    );
}

.vmp-floating-card span,
.vmp-floating-card strong {
  display:
    block;
}

.vmp-floating-card span {
  margin-bottom:
    4px;

  color:
    var(--vmp-blue);

  font-size:
    10px;

  font-weight:
    800;

  letter-spacing:
    0.13em;

  text-transform:
    uppercase;
}


/* =========================================================
INTRO MINI CARDS
========================================================= */

.vmp-mini-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      2,
      1fr
    );

  gap:
    13px;

  margin-top:
    30px;
}

.vmp-mini-card {
  padding:
    21px;

  border:
    1px solid
    var(--vmp-border);

  border-radius:
    10px;

  background:
    var(--vmp-soft-blue);

  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}

.vmp-mini-card:hover {
  transform:
    translateY(-5px);

  border-color:
    #a9dced;

  box-shadow:
    0 17px 35px
    rgba(
      12,
      76,
      113,
      0.1
    );
}

.vmp-mini-card strong,
.vmp-mini-card span {
  display:
    block;
}

.vmp-mini-card strong {
  margin-bottom:
    7px;
}


/* =========================================================
SERVICES
========================================================= */

.vmp-services-section {
  background:
    linear-gradient(
      180deg,
      #f5fbfe,
      #edf8fc
    );
}

.vmp-service-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      4,
      minmax(0, 1fr)
    );

  gap:
    20px;
}

.vmp-service-card {
  display:
    flex;

  min-height:
    500px;

  flex-direction:
    column;

  overflow:
    hidden;

  color:
    inherit !important;

  border:
    1px solid
    var(--vmp-border);

  border-radius:
    13px;

  background:
    #ffffff;

  text-decoration:
    none !important;

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.vmp-service-card:hover {
  transform:
    translateY(-8px);

  border-color:
    #a9dced;

  box-shadow:
    var(--vmp-shadow-hover);
}

.vmp-service-image {
  min-height:
    205px;

  background-image:
    linear-gradient(
      rgba(
        6,
        37,
        68,
        0.04
      ),
      rgba(
        5,
        32,
        58,
        0.4
      )
    ),
    var(--service-image),
    linear-gradient(
      135deg,
      #0f6cae,
      #20b6e5
    );

  background-position:
    center;

  background-size:
    cover;

  transition:
    transform 0.45s ease,
    filter 0.45s ease;
}

.vmp-service-card:hover
.vmp-service-image {
  transform:
    scale(1.035);

  filter:
    saturate(1.1);
}

.vmp-service-content {
  position:
    relative;

  display:
    flex;

  min-height:
    295px;

  flex:
    1;

  flex-direction:
    column;

  padding:
    26px 24px;
}

.vmp-service-number {
  position:
    absolute;

  top:
    -17px;

  right:
    20px;

  display:
    flex;

  width:
    43px;

  height:
    43px;

  align-items:
    center;

  justify-content:
    center;

  color:
    #ffffff;

  border:
    4px solid
    #ffffff;

  border-radius:
    50%;

  background:
    linear-gradient(
      135deg,
      var(--vmp-blue),
      var(--vmp-cyan)
    );

  transition:
    transform 0.3s ease;
}

.vmp-service-card:hover
.vmp-service-number {
  transform:
    rotate(-7deg)
    scale(1.09);
}

.vmp-service-card h3 {
  min-height:
    53px;

  margin-bottom:
    12px;
}

.vmp-service-card p {
  min-height:
    108px;

  margin-bottom:
    17px;

  font-size:
    15px;
}

.vmp-card-link {
  display:
    flex;

  min-height:
    56px;

  align-items:
    flex-start;

  margin-top:
    auto;

  padding-top:
    17px;

  color:
    var(--vmp-blue);

  border-top:
    1px solid
    var(--vmp-border);

  font-weight:
    800;

  line-height:
    1.45;
}

.vmp-service-card:hover
.vmp-card-link {
  color:
    var(--vmp-cyan);
}


/* =========================================================
WHY VELOCITY
========================================================= */

.vmp-why-section {
  overflow:
    hidden;

  background:
    radial-gradient(
      circle at 90% 20%,
      rgba(
        34,
        183,
        232,
        0.25
      ),
      transparent 30%
    ),
    linear-gradient(
      135deg,
      #06172c,
      #09274a 58%,
      #0b3964
    );
}

.vmp-heading-light h2 {
  color:
    #ffffff;
}

.vmp-heading-light p {
  color:
    rgba(
      255,
      255,
      255,
      0.72
    );
}

.vmp-why-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0, 1fr)
    );

  gap:
    18px;
}

.vmp-why-card {
  position:
    relative;

  min-height:
    255px;

  overflow:
    hidden;

  padding:
    30px;

  border:
    1px solid
    rgba(
      255,
      255,
      255,
      0.12
    );

  border-radius:
    11px;

  background:
    rgba(
      255,
      255,
      255,
      0.055
    );

  transition:
    transform 0.32s ease,
    border-color 0.32s ease,
    box-shadow 0.32s ease,
    background 0.32s ease;
}

.vmp-why-card::before {
  position:
    absolute;

  top:
    0;

  left:
    -100%;

  width:
    100%;

  height:
    3px;

  background:
    linear-gradient(
      90deg,
      transparent,
      var(--vmp-cyan),
      #ffffff,
      var(--vmp-cyan),
      transparent
    );

  content:
    "";

  transition:
    left 0.55s ease;
}

.vmp-why-glow {
  position:
    absolute;

  right:
    -90px;

  bottom:
    -110px;

  width:
    240px;

  height:
    240px;

  border-radius:
    50%;

  background:
    radial-gradient(
      circle,
      rgba(
        35,
        190,
        236,
        0.34
      ),
      transparent 68%
    );

  opacity:
    0;

  transition:
    opacity 0.35s ease,
    transform 0.4s ease;
}

.vmp-why-card:hover {
  transform:
    translateY(-10px)
    scale(1.015);

  border-color:
    rgba(
      85,
      215,
      249,
      0.65
    );

  background:
    rgba(
      30,
      130,
      190,
      0.16
    );

  box-shadow:
    0 24px 60px
    rgba(
      0,
      0,
      0,
      0.28
    ),
    0 0 34px
    rgba(
      35,
      190,
      236,
      0.12
    );
}

.vmp-why-card:hover::before {
  left:
    100%;
}

.vmp-why-card:hover
.vmp-why-glow {
  opacity:
    1;

  transform:
    scale(1.16);
}

.vmp-why-icon {
  position:
    relative;

  z-index:
    2;

  display:
    flex;

  width:
    44px;

  height:
    44px;

  align-items:
    center;

  justify-content:
    center;

  margin-bottom:
    27px;

  color:
    #052440;

  border-radius:
    10px;

  background:
    linear-gradient(
      135deg,
      #7dddf7,
      #2dbde9
    );

  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease;
}

.vmp-why-card:hover
.vmp-why-icon {
  transform:
    translateY(-3px)
    rotate(-6deg)
    scale(1.1);

  box-shadow:
    0 10px 28px
    rgba(
      34,
      183,
      232,
      0.38
    );
}

.vmp-why-card h3 {
  position:
    relative;

  z-index:
    2;

  color:
    #ffffff;
}

.vmp-why-card p {
  position:
    relative;

  z-index:
    2;

  color:
    rgba(
      255,
      255,
      255,
      0.7
    );
}


/* =========================================================
TECHNOLOGY
========================================================= */

.vmp-tech-layout {
  display:
    grid;

  grid-template-columns:
    0.9fr 1.1fr;

  align-items:
    center;

  gap:
    78px;
}

.vmp-tech-list {
  display:
    grid;

  gap:
    10px;

  margin:
    30px 0;
}

.vmp-tech-list a {
  display:
    flex;

  min-height:
    56px;

  align-items:
    center;

  justify-content:
    space-between;

  padding:
    0 18px;

  color:
    var(--vmp-navy) !important;

  border:
    1px solid
    var(--vmp-border);

  border-radius:
    8px;

  background:
    var(--vmp-soft-blue);

  font-weight:
    800;

  text-decoration:
    none !important;

  transition:
    transform 0.22s ease,
    border-color 0.22s ease,
    background 0.22s ease;
}

.vmp-tech-list a:hover {
  transform:
    translateX(5px);

  border-color:
    #a9dced;

  background:
    var(--vmp-light-blue);
}

.vmp-video-stack {
  display:
    grid;

  gap:
    20px;
}

.vmp-video-card {
  overflow:
    hidden;

  border:
    1px solid
    var(--vmp-border);

  border-radius:
    13px;

  background:
    #ffffff;

  box-shadow:
    var(--vmp-shadow);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.vmp-video-card:hover {
  transform:
    translateY(-7px);

  box-shadow:
    var(--vmp-shadow-hover);
}

.vmp-video-wrap {
  position:
    relative;

  padding-top:
    56.25%;
}

.vmp-video-wrap iframe {
  position:
    absolute;

  inset:
    0;

  width:
    100%;

  height:
    100%;

  border:
    0;
}

.vmp-video-caption {
  padding:
    20px;
}

.vmp-video-caption span,
.vmp-video-caption strong {
  display:
    block;
}

.vmp-video-caption span {
  color:
    var(--vmp-blue);

  font-size:
    10px;

  font-weight:
    900;

  letter-spacing:
    0.14em;

  text-transform:
    uppercase;
}


/* =========================================================
SERVICE AREAS
========================================================= */

.vmp-area-section {
  background:
    linear-gradient(
      135deg,
      #e9f7fc,
      #f8fcfe
    );
}

.vmp-area-layout {
  display:
    grid;

  grid-template-columns:
    minmax(0, 0.87fr)
    minmax(500px, 1fr);

  align-items:
    start;

  gap:
    75px;
}

.vmp-area-content p a {
  color:
    var(--vmp-blue);

  font-weight:
    750;

  text-decoration:
    underline;

  text-decoration-color:
    rgba(
      8,
      121,
      201,
      0.25
    );

  text-underline-offset:
    3px;
}

.vmp-area-content p a:hover {
  color:
    var(--vmp-cyan);
}

.vmp-area-points {
  display:
    grid;

  gap:
    10px;

  margin:
    28px 0 31px;
}

.vmp-area-points div {
  display:
    flex;

  align-items:
    center;

  gap:
    11px;

  color:
    #465970;

  font-size:
    14px;

  font-weight:
    700;
}

.vmp-area-points span {
  display:
    inline-flex;

  width:
    22px;

  height:
    22px;

  align-items:
    center;

  justify-content:
    center;

  color:
    #ffffff;

  border-radius:
    50%;

  background:
    linear-gradient(
      135deg,
      var(--vmp-blue),
      var(--vmp-cyan)
    );

  font-size:
    10px;
}

.vmp-area-right {
  display:
    grid;

  gap:
    18px;
}

.vmp-map-card {
  position:
    relative;

  min-height:
    310px;

  overflow:
    hidden;

  border:
    1px solid
    #d5eaf3;

  border-radius:
    17px;

  background:
    linear-gradient(
      135deg,
      #d9f2fb,
      #ffffff
    );

  box-shadow:
    0 18px 45px
    rgba(
      13,
      69,
      104,
      0.1
    );
}

.vmp-map-card img {
  display:
    block;

  width:
    100%;

  height:
    310px;

  object-fit:
    cover;

  transition:
    transform 0.7s
    cubic-bezier(
      0.2,
      0.7,
      0.2,
      1
    ),
    filter 0.5s ease;
}

.vmp-map-card:hover img {
  transform:
    scale(1.045);

  filter:
    saturate(1.08)
    contrast(1.035);
}

.vmp-map-card::after {
  position:
    absolute;

  inset:
    0;

  z-index:
    1;

  pointer-events:
    none;

  background:
    linear-gradient(
      115deg,
      transparent 33%,
      rgba(
        255,
        255,
        255,
        0.18
      ) 48%,
      transparent 62%
    );

  content:
    "";

  transform:
    translateX(-130%);

  transition:
    transform 0.8s ease;
}

.vmp-map-card:hover::after {
  transform:
    translateX(130%);
}

.vmp-map-label {
  position:
    absolute;

  right:
    18px;

  bottom:
    18px;

  z-index:
    3;

  display:
    flex;

  max-width:
    245px;

  flex-direction:
    column;

  padding:
    15px 18px;

  border-left:
    4px solid
    var(--vmp-cyan);

  border-radius:
    7px;

  background:
    rgba(
      255,
      255,
      255,
      0.94
    );

  box-shadow:
    0 13px 35px
    rgba(
      9,
      50,
      79,
      0.19
    );
}

.vmp-map-label span {
  margin-bottom:
    4px;

  color:
    var(--vmp-blue);

  font-size:
    9px;

  font-weight:
    900;

  letter-spacing:
    0.13em;

  text-transform:
    uppercase;
}

.vmp-map-label strong {
  color:
    var(--vmp-navy);

  font-size:
    14px;

  line-height:
    1.3;
}

.vmp-city-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      2,
      1fr
    );

  gap:
    12px;
}

.vmp-city-grid a {
  display:
    flex;

  min-height:
    67px;

  align-items:
    center;

  justify-content:
    space-between;

  padding:
    0 22px;

  color:
    var(--vmp-navy) !important;

  border:
    1px solid
    #d3e9f3;

  border-radius:
    9px;

  background:
    #ffffff;

  box-shadow:
    0 9px 25px
    rgba(
      13,
      66,
      101,
      0.05
    );

  font-weight:
    800;

  text-decoration:
    none !important;

  transition:
    transform 0.24s ease,
    border-color 0.24s ease,
    box-shadow 0.24s ease;
}

.vmp-city-grid a:hover {
  transform:
    translateY(-4px);

  border-color:
    #a9dced;

  box-shadow:
    0 17px 35px
    rgba(
      13,
      66,
      101,
      0.11
    );
}

.vmp-city-grid span {
  color:
    var(--vmp-cyan);
}


/* =========================================================
REVIEWS
========================================================= */

.vmp-review-trust-bar {
  display:
    flex;

  align-items:
    center;

  gap:
    22px;

  margin-bottom:
    30px;

  padding:
    22px 27px;

  border:
    1px solid
    #cde8f3;

  border-radius:
    12px;

  background:
    linear-gradient(
      135deg,
      #eef9fd,
      #ffffff
    );
}

.vmp-review-total {
  display:
    flex;

  min-width:
    95px;

  flex-direction:
    column;

  align-items:
    center;

  padding-right:
    22px;

  border-right:
    1px solid
    #d4e9f2;
}

.vmp-review-total strong {
  color:
    var(--vmp-navy);

  font-size:
    37px;

  line-height:
    1;
}

.vmp-review-total span {
  margin-top:
    7px;

  color:
    #f0aa25;

  font-size:
    13px;

  letter-spacing:
    0.08em;
}

.vmp-review-trust-bar
> div:nth-child(2) {
  flex:
    1;
}

.vmp-review-trust-bar
> div:nth-child(2)
strong {
  color:
    var(--vmp-navy);

  font-size:
    18px;
}

.vmp-review-trust-bar p {
  margin:
    4px 0 0;

  font-size:
    13px;
}

.vmp-review-trust-bar
> a {
  color:
    var(--vmp-blue) !important;

  font-size:
    14px;

  font-weight:
    850;

  text-decoration:
    none !important;
}

.vmp-review-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0, 1fr)
    );

  gap:
    20px;
}

.vmp-review-card {
  position:
    relative;

  min-height:
    335px;

  overflow:
    hidden;

  padding:
    31px;

  border:
    1px solid
    var(--vmp-border);

  border-radius:
    12px;

  background:
    #ffffff;

  box-shadow:
    var(--vmp-shadow);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

.vmp-review-card::before {
  position:
    absolute;

  top:
    0;

  left:
    0;

  width:
    0;

  height:
    4px;

  background:
    linear-gradient(
      90deg,
      var(--vmp-blue),
      var(--vmp-cyan)
    );

  content:
    "";

  transition:
    width 0.38s ease;
}

.vmp-review-card::after {
  position:
    absolute;

  right:
    -55px;

  bottom:
    -70px;

  width:
    170px;

  height:
    170px;

  border-radius:
    50%;

  background:
    radial-gradient(
      circle,
      rgba(
        34,
        183,
        232,
        0.13
      ),
      transparent 69%
    );

  content:
    "";

  opacity:
    0;

  transition:
    opacity 0.35s ease,
    transform 0.4s ease;
}

.vmp-review-card:hover {
  transform:
    translateY(-9px);

  border-color:
    #aedced;

  box-shadow:
    0 27px 62px
    rgba(
      9,
      73,
      112,
      0.17
    );
}

.vmp-review-card:hover::before {
  width:
    100%;
}

.vmp-review-card:hover::after {
  opacity:
    1;

  transform:
    scale(1.2);
}

.vmp-review-top {
  position:
    relative;

  z-index:
    2;

  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;
}

.vmp-stars {
  color:
    #f0aa25;

  letter-spacing:
    0.12em;
}

.vmp-review-top > span {
  color:
    #8491a1;

  font-size:
    9px;

  font-weight:
    850;

  letter-spacing:
    0.12em;

  text-transform:
    uppercase;
}

.vmp-review-card p {
  position:
    relative;

  z-index:
    2;

  margin-top:
    22px;

  font-size:
    15px;

  font-style:
    italic;
}

.vmp-review-card > strong {
  position:
    relative;

  z-index:
    2;

  display:
    block;

  margin-top:
    25px;

  color:
    var(--vmp-navy);
}

.vmp-google-review-badge {
  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    25px;

  margin-top:
    36px;

  padding:
    25px 28px;

  border-radius:
    12px;

  background:
    linear-gradient(
      135deg,
      var(--vmp-navy),
      var(--vmp-deep-blue)
    );
}

.vmp-google-review-badge
> div {
  display:
    flex;

  flex-direction:
    column;
}

.vmp-google-review-badge span {
  margin-bottom:
    5px;

  color:
    #77daf5;

  font-size:
    9px;

  font-weight:
    900;

  letter-spacing:
    0.14em;
}

.vmp-google-review-badge strong {
  color:
    #ffffff;

  font-size:
    20px;
}


/* =========================================================
COMPANY SECTION
========================================================= */

.vmp-company-section {
  background:
    var(--vmp-soft-blue);
}

.vmp-company-layout {
  display:
    grid;

  grid-template-columns:
    1fr 0.9fr;

  align-items:
    center;

  gap:
    80px;
}

.vmp-company-image-wrap {
  position:
    relative;

  overflow:
    hidden;

  border-radius:
    17px;
}

.vmp-company-image-wrap img {
  display:
    block;

  width:
    100%;

  min-height:
    525px;

  border-radius:
    17px;

  object-fit:
    cover;

  box-shadow:
    var(--vmp-shadow);

  transition:
    transform 0.7s
    cubic-bezier(
      0.2,
      0.7,
      0.2,
      1
    ),
    filter 0.5s ease;
}

.vmp-company-image-wrap:hover img {
  transform:
    scale(1.045);

  filter:
    saturate(1.08)
    contrast(1.035);
}

.vmp-company-image-wrap::after {
  position:
    absolute;

  inset:
    0;

  z-index:
    1;

  pointer-events:
    none;

  background:
    linear-gradient(
      115deg,
      transparent 33%,
      rgba(
        255,
        255,
        255,
        0.16
      ) 48%,
      transparent 62%
    );

  content:
    "";

  transform:
    translateX(-130%);

  transition:
    transform 0.8s ease;
}

.vmp-company-image-wrap:hover::after {
  transform:
    translateX(130%);
}

.vmp-company-stat {
  position:
    absolute;

  right:
    24px;

  bottom:
    28px;

  z-index:
    3;

  display:
    flex;

  max-width:
    250px;

  align-items:
    center;

  gap:
    17px;

  padding:
    20px 23px;

  border-left:
    4px solid
    var(--vmp-cyan);

  border-radius:
    9px;

  background:
    #ffffff;

  box-shadow:
    0 20px 50px
    rgba(
      8,
      47,
      79,
      0.2
    );
}

.vmp-company-stat strong {
  color:
    var(--vmp-blue);

  font-size:
    34px;
}

.vmp-company-stat span {
  font-size:
    13px;

  font-weight:
    800;

  line-height:
    1.35;
}

.vmp-check-list {
  display:
    grid;

  gap:
    13px;

  padding:
    0;

  list-style:
    none;
}

.vmp-check-list li {
  position:
    relative;

  padding-left:
    30px;
}

.vmp-check-list li::before {
  position:
    absolute;

  left:
    0;

  display:
    flex;

  width:
    20px;

  height:
    20px;

  align-items:
    center;

  justify-content:
    center;

  color:
    #ffffff;

  border-radius:
    50%;

  background:
    var(--vmp-cyan);

  content:
    "✓";
}


/* =========================================================
NEWS
========================================================= */

.vmp-news-section {
  background:
    linear-gradient(
      #edf8fc,
      #f8fcfe
    );
}

.vmp-news-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      2,
      1fr
    );

  gap:
    22px;
}

.vmp-news-card {
  position:
    relative;

  overflow:
    hidden;

  padding:
    38px;

  border:
    1px solid
    var(--vmp-border);

  border-radius:
    12px;

  background:
    #ffffff;

  box-shadow:
    var(--vmp-shadow);

  transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

.vmp-news-card::after {
  position:
    absolute;

  top:
    -110px;

  right:
    -120px;

  width:
    280px;

  height:
    280px;

  border-radius:
    50%;

  background:
    radial-gradient(
      circle,
      rgba(
        34,
        183,
        232,
        0.24
      ),
      transparent 69%
    );

  content:
    "";

  opacity:
    0;

  transition:
    opacity 0.35s ease,
    transform 0.45s ease;
}

.vmp-news-card:hover {
  transform:
    translateY(-9px);

  border-color:
    #aadbea;

  box-shadow:
    0 28px 62px
    rgba(
      10,
      74,
      112,
      0.16
    );
}

.vmp-news-card:hover::after {
  opacity:
    1;

  transform:
    scale(1.15);
}

.vmp-news-card h3,
.vmp-news-card p,
.vmp-news-card a,
.vmp-news-label {
  position:
    relative;

  z-index:
    2;
}

.vmp-news-label {
  display:
    inline-flex;

  margin-bottom:
    22px;

  padding:
    7px 10px;

  color:
    var(--vmp-blue);

  border-radius:
    5px;

  background:
    var(--vmp-light-blue);

  font-size:
    10px;

  font-weight:
    900;

  text-transform:
    uppercase;
}

.vmp-news-card a {
  color:
    var(--vmp-blue) !important;

  font-weight:
    800;

  text-decoration:
    none !important;

  transition:
    color 0.2s ease,
    letter-spacing 0.2s ease;
}

.vmp-news-card:hover a {
  color:
    var(--vmp-cyan) !important;

  letter-spacing:
    0.015em;
}


/* =========================================================
FAQ + FORM
========================================================= */

.vmp-faq-contact-section {
  background:
    linear-gradient(
      135deg,
      #eef9fd,
      #ffffff
    );
}

.vmp-faq-contact-layout {
  display:
    grid;

  grid-template-columns:
    minmax(0, 1fr)
    minmax(420px, 0.82fr);

  align-items:
    start;

  gap:
    75px;
}

.vmp-faq-column
.vmp-faq-list {
  margin-top:
    35px;
}

.vmp-faq-list {
  display:
    grid;

  gap:
    11px;
}

.vmp-faq-item {
  overflow:
    hidden;

  border:
    1px solid
    var(--vmp-border);

  border-radius:
    9px;

  background:
    #ffffff;

  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.vmp-faq-item:hover {
  border-color:
    #adddec;

  box-shadow:
    0 12px 28px
    rgba(
      12,
      75,
      111,
      0.08
    );
}

.vmp-faq-item summary {
  position:
    relative;

  padding:
    23px 60px
    23px 24px;

  color:
    var(--vmp-navy);

  font-weight:
    800;

  cursor:
    pointer;

  list-style:
    none;
}

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

.vmp-faq-item summary::after {
  position:
    absolute;

  top:
    50%;

  right:
    22px;

  display:
    flex;

  width:
    28px;

  height:
    28px;

  align-items:
    center;

  justify-content:
    center;

  color:
    var(--vmp-blue);

  border-radius:
    50%;

  background:
    var(--vmp-light-blue);

  content:
    "+";

  transform:
    translateY(-50%);
}

.vmp-faq-item[open]
summary::after {
  content:
    "−";
}

.vmp-faq-item div {
  padding:
    0 60px
    23px 24px;
}

.vmp-contact-form {
  padding:
    38px;

  border:
    1px solid
    var(--vmp-border);

  border-radius:
    15px;

  background:
    #ffffff;

  box-shadow:
    0 25px 65px
    rgba(
      12,
      67,
      102,
      0.13
    );
}

.vmp-form-heading {
  margin-bottom:
    25px;
}

.vmp-form-heading span {
  color:
    var(--vmp-blue);

  font-size:
    10px;

  font-weight:
    900;

  letter-spacing:
    0.14em;

  text-transform:
    uppercase;
}

.vmp-form-heading h3 {
  margin:
    7px 0 8px;

  font-size:
    29px;
}

.vmp-form-heading p {
  margin-bottom:
    0;

  font-size:
    14px;
}

.vmp-form-trust {
  display:
    flex;

  align-items:
    center;

  gap:
    11px;

  margin-top:
    18px;

  padding-top:
    18px;

  border-top:
    1px solid
    var(--vmp-border);
}

.vmp-form-trust span {
  color:
    #f0aa25;

  letter-spacing:
    0.08em;
}

.vmp-form-trust strong {
  color:
    var(--vmp-navy);

  font-size:
    12px;
}


/* =========================================================
FLUENT FORM
========================================================= */

.vmp-contact-form
.ff-el-group {
  margin-bottom:
    16px !important;
}

.vmp-contact-form label {
  color:
    var(--vmp-navy) !important;

  font-size:
    13px !important;

  font-weight:
    800 !important;
}

.vmp-contact-form input,
.vmp-contact-form textarea,
.vmp-contact-form select {
  min-height:
    52px !important;

  padding:
    12px 14px !important;

  color:
    var(--vmp-text) !important;

  border:
    1px solid
    #cfdfe8 !important;

  border-radius:
    7px !important;

  background:
    #f9fcfe !important;

  box-shadow:
    none !important;
}

.vmp-contact-form textarea {
  min-height:
    135px !important;
}

.vmp-contact-form input:focus,
.vmp-contact-form textarea:focus,
.vmp-contact-form select:focus {
  border-color:
    var(--vmp-cyan) !important;

  box-shadow:
    0 0 0 4px
    rgba(
      34,
      183,
      232,
      0.12
    ) !important;
}

.vmp-contact-form
.ff-btn-submit {
  width:
    100% !important;

  min-height:
    54px !important;

  border:
    0 !important;

  border-radius:
    7px !important;

  color:
    #ffffff !important;

  background:
    linear-gradient(
      135deg,
      var(--vmp-blue),
      var(--vmp-cyan)
    ) !important;

  font-weight:
    800 !important;

  box-shadow:
    0 13px 28px
    rgba(
      22,
      147,
      205,
      0.24
    ) !important;

  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease !important;
}

.vmp-contact-form
.ff-btn-submit:hover {
  transform:
    translateY(-3px);

  box-shadow:
    0 18px 35px
    rgba(
      22,
      147,
      205,
      0.34
    ) !important;
}


/* =========================================================
FINAL CTA
========================================================= */

.vmp-final-cta {
  position:
    relative;

  display:
    flex;

  min-height:
    570px;

  align-items:
    center;

  overflow:
    hidden;

  background:
    var(--vmp-navy);
}

.vmp-final-cta-bg {
  position:
    absolute;

  inset:
    0;

  background:
    linear-gradient(
      90deg,
      rgba(
        5,
        20,
        38,
        0.97
      ),
      rgba(
        6,
        28,
        52,
        0.91
      ) 36%,
      rgba(
        7,
        32,
        60,
        0.51
      ) 61%,
      rgba(
        5,
        22,
        42,
        0.1
      )
    ),
    url(
      "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-master-plumbing-subpage-vp.png"
    );

  background-position:
    center;

  background-size:
    cover;
}

.vmp-final-content {
  width:
    min(
      670px,
      100%
    );

  padding:
    95px 0;
}

.vmp-final-content h2 {
  color:
    #ffffff;
}

.vmp-final-content p {
  color:
    rgba(
      255,
      255,
      255,
      0.8
    );
}


/* =========================================================
TABLET
========================================================= */

@media
(max-width: 1050px) {

  .vmp-service-grid {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }

  .vmp-split,
  .vmp-tech-layout,
  .vmp-area-layout,
  .vmp-company-layout,
  .vmp-faq-contact-layout {
    grid-template-columns:
      1fr;

    gap:
      55px;
  }

  .vmp-why-grid {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }

}


/* =========================================================
MOBILE
========================================================= */

@media
(max-width: 767px) {

  .vmp-container,
  .vmp-container-narrow {
    width:
      calc(
        100% - 32px
      );
  }

  .vmp-section {
    padding:
      72px 0;
  }

  .vmp-home h1 {
    font-size:
      39px;
  }

  .vmp-home h2 {
    font-size:
      33px;
  }

  .vmp-home p {
    font-size:
      16px;
  }


  /* HERO */

  .vmp-hero {
    min-height:
      710px;

    align-items:
      flex-end;
  }

  .vmp-hero-bg {
    background:
      linear-gradient(
        180deg,
        rgba(
          5,
          22,
          42,
          0.2
        ),
        rgba(
          4,
          21,
          40,
          0.98
        ) 75%
      ),
      url(
        "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-master-homepage-value-prop.png"
      );

    background-position:
      67% center;
  }

  .vmp-hero-content {
    padding:
      230px 0 58px;
  }

  .vmp-hero-lead {
    font-size:
      17px !important;
  }

  .vmp-button-row {
    align-items:
      stretch;

    flex-direction:
      column;
  }

  .vmp-btn {
    width:
      100%;
  }

  .vmp-proof-row {
    align-items:
      flex-start;

    flex-direction:
      column;
  }

  .vmp-google-trust {
    width:
      100%;
  }

  .vmp-google-arrow {
    display:
      none;
  }


  /* GRIDS */

  .vmp-mini-grid,
  .vmp-service-grid,
  .vmp-why-grid,
  .vmp-city-grid,
  .vmp-review-grid,
  .vmp-news-grid {
    grid-template-columns:
      1fr;
  }


  /* INTRO */

  .vmp-floating-card {
    right:
      12px;

    bottom:
      12px;
  }


  /* SERVICES */

  .vmp-service-card {
    min-height:
      auto;
  }

  .vmp-service-content {
    min-height:
      0;
  }

  .vmp-service-card h3,
  .vmp-service-card p {
    min-height:
      0;
  }


  /* SERVICE AREA */

  .vmp-map-card,
  .vmp-map-card img {
    min-height:
      265px;

    height:
      265px;
  }


  /* REVIEWS */

  .vmp-review-trust-bar,
  .vmp-google-review-badge {
    align-items:
      stretch;

    flex-direction:
      column;
  }

  .vmp-review-total {
    align-items:
      flex-start;

    padding:
      0 0 18px;

    border-right:
      0;

    border-bottom:
      1px solid
      #d4e9f2;
  }

  .vmp-google-review-badge
  .vmp-btn {
    width:
      100%;
  }


  /* COMPANY */

  .vmp-company-image-wrap img {
    min-height:
      390px;
  }

  .vmp-company-stat {
    right:
      12px;

    bottom:
      14px;
  }


  /* FORM */

  .vmp-contact-form {
    padding:
      25px 20px;
  }


  /* FINAL CTA */

  .vmp-final-cta {
    min-height:
      610px;

    align-items:
      flex-end;
  }

  .vmp-final-cta-bg {
    background:
      linear-gradient(
        180deg,
        rgba(
          5,
          22,
          42,
          0.15
        ),
        rgba(
          5,
          22,
          42,
          0.98
        ) 69%
      ),
      url(
        "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-master-plumbing-subpage-vp.png"
      );

    background-position:
      69% center;
  }

  .vmp-final-content {
    padding:
      280px 0 66px;
  }

}

/* Keep service card links cleaner on one line */

.vmp-card-link {
  font-size: 13px;
  line-height: 1.35;
  gap: 5px;
}

.vmp-card-link::after {
  content: "→";
  flex: 0 0 auto;
}

.vmp-service-card .vmp-card-link {
  white-space: normal;
}

/* =========================================================
VELOCITY MASTER PLUMBING
WHITE FOOTER
========================================================= */

.vmp-footer {
  position: relative;
  overflow: hidden;
  color: #17243a;
  background:
    linear-gradient(
      180deg,
      #ffffff 0%,
      #f7fcfe 100%
    );
  border-top:
    1px solid #d8ebf4;
}

.vmp-footer::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      circle at 90% 10%,
      rgba(34, 183, 232, 0.09),
      transparent 24%
    ),
    repeating-linear-gradient(
      -45deg,
      rgba(8, 121, 201, 0.018) 0,
      rgba(8, 121, 201, 0.018) 1px,
      transparent 1px,
      transparent 20px
    );
  content: "";
}

.vmp-footer-inner {
  position: relative;
  z-index: 2;
  width:
    min(
      1180px,
      calc(100% - 48px)
    );
  margin:
    0 auto;
  padding:
    95px 0 30px;
}

.vmp-footer-inner::before {
  position: absolute;
  top: 44px;
  left: 0;
  width: 100%;
  height: 4px;
  border-radius: 999px;
  background:
    linear-gradient(
      90deg,
      #0879c9,
      #22b7e8
    );
  content: "";
}


/* =========================================================
TOP GRID
========================================================= */

.vmp-footer-grid {
  display: grid;
  grid-template-columns:
    minmax(0, 1.12fr)
    minmax(0, 0.92fr)
    minmax(0, 1fr)
    minmax(250px, 0.86fr);
  align-items: start;
  gap: 44px;
}


/* =========================================================
LOGO / BRAND
========================================================= */

.vmp-footer-logo {
  display: inline-block;
  width: min(300px, 100%);
  margin-bottom: 25px;
}

.vmp-footer-logo img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.vmp-footer-brand-copy {
  max-width: 355px;
  margin:
    0 0 25px;
  color: #647286;
  font-size: 15px;
  line-height: 1.75;
}

.vmp-footer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  margin-bottom: 23px;
}

.vmp-footer-btn {
  display: inline-flex;
  min-height: 47px;
  align-items: center;
  justify-content: center;
  padding:
    0 18px;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 800;
  text-decoration:
    none !important;
  transition:
    transform 0.24s ease,
    box-shadow 0.24s ease,
    border-color 0.24s ease;
}

.vmp-footer-btn:hover {
  transform:
    translateY(-3px);
}

.vmp-footer-btn-primary {
  color: #ffffff !important;
  background:
    linear-gradient(
      135deg,
      #0879c9,
      #22b7e8
    );
  box-shadow:
    0 13px 28px
    rgba(22, 147, 205, 0.2);
}

.vmp-footer-btn-primary:hover {
  box-shadow:
    0 18px 36px
    rgba(22, 147, 205, 0.3);
}

.vmp-footer-btn-secondary {
  color: #0a3157 !important;
  border:
    1px solid #c5dfea;
  background: #ffffff;
}

.vmp-footer-btn-secondary:hover {
  border-color:
    #80cce9;
  box-shadow:
    0 12px 25px
    rgba(11, 87, 132, 0.1);
}


/* =========================================================
SOCIAL
========================================================= */

.vmp-footer-socials {
  display: flex;
  gap: 9px;
}

.vmp-social-link {
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: #0879c9;
  border:
    1px solid #cfe4ed;
  border-radius: 50%;
  background: #ffffff;
  box-shadow:
    0 7px 18px
    rgba(9, 76, 115, 0.06);
  transition:
    transform 0.24s ease,
    border-color 0.24s ease,
    background 0.24s ease,
    box-shadow 0.24s ease;
}

.vmp-social-link:hover {
  transform:
    translateY(-4px);
  border-color:
    transparent;
  background:
    linear-gradient(
      135deg,
      #0879c9,
      #22b7e8
    );
  box-shadow:
    0 15px 28px
    rgba(22, 147, 205, 0.25);
}

.vmp-social-link svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.vmp-social-link:hover {
  color: #ffffff;
}


/* =========================================================
SERVICE COLUMNS
========================================================= */

.vmp-footer-col h4,
.vmp-footer-contact h4 {
  position: relative;
  margin:
    0 0 25px;
  padding-bottom:
    14px;
  color: #10233d;
  font-size: 17px;
  font-weight: 850;
  line-height: 1.25;
}

.vmp-footer-col h4::after,
.vmp-footer-contact h4::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 34px;
  height: 3px;
  border-radius: 999px;
  background:
    linear-gradient(
      90deg,
      #0879c9,
      #22b7e8
    );
  content: "";
}

.vmp-footer-col ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.vmp-footer-col li {
  position: relative;
  margin:
    0 0 12px;
  padding-left:
    15px;
}

.vmp-footer-col li::before {
  position: absolute;
  top: 9px;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background:
    #22b7e8;
  box-shadow:
    0 0 0 4px
    rgba(34, 183, 232, 0.1);
  content: "";
}

.vmp-footer-col a {
  color:
    #5e6c80 !important;
  font-size:
    14px;
  line-height:
    1.55;
  text-decoration:
    none !important;
  transition:
    color 0.2s ease,
    padding-left 0.2s ease;
}

.vmp-footer-col a:hover {
  padding-left:
    4px;
  color:
    #0879c9 !important;
}


/* =========================================================
CONTACT
========================================================= */

.vmp-footer-contact-card {
  margin-bottom:
    11px;
  padding:
    16px 17px;
  border:
    1px solid #d6e9f2;
  border-radius:
    9px;
  background:
    rgba(255, 255, 255, 0.88);
  box-shadow:
    0 8px 22px
    rgba(12, 74, 109, 0.045);
  transition:
    transform 0.23s ease,
    border-color 0.23s ease,
    box-shadow 0.23s ease;
}

.vmp-footer-contact-card:hover {
  transform:
    translateY(-3px);
  border-color:
    #9ed7eb;
  box-shadow:
    0 15px 30px
    rgba(12, 74, 109, 0.1);
}

.vmp-footer-contact-label {
  display: block;
  margin-bottom:
    6px;
  color:
    #0879c9;
  font-size:
    9px;
  font-weight:
    900;
  letter-spacing:
    0.15em;
  text-transform:
    uppercase;
}

.vmp-footer-contact-card a,
.vmp-footer-contact-card p {
  margin: 0;
  color:
    #14233b !important;
  font-size:
    15px;
  font-weight:
    700;
  line-height:
    1.45;
  text-decoration:
    none !important;
}

.vmp-footer-finance-button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  margin-top:
    3px;
  padding:
    0 17px;
  color:
    #ffffff !important;
  border-radius:
    7px;
  background:
    #0b315d;
  font-size:
    13px;
  font-weight:
    800;
  text-decoration:
    none !important;
  transition:
    transform 0.24s ease,
    background 0.24s ease,
    box-shadow 0.24s ease;
}

.vmp-footer-finance-button:hover {
  transform:
    translateY(-3px);
  background:
    #0879c9;
  box-shadow:
    0 14px 28px
    rgba(8, 121, 201, 0.2);
}


/* =========================================================
SERVICE AREA PANEL
========================================================= */

.vmp-footer-service-areas {
  display: grid;
  grid-template-columns:
    minmax(0, 0.88fr)
    minmax(500px, 1.2fr);
  align-items: center;
  gap:
    45px;
  margin-top:
    60px;
  padding:
    34px;
  border:
    1px solid #d7eaf3;
  border-radius:
    15px;
  background:
    linear-gradient(
      135deg,
      #edf9fd,
      #ffffff
    );
  box-shadow:
    0 18px 45px
    rgba(11, 75, 110, 0.07);
}

.vmp-footer-service-copy > span {
  display: inline-block;
  margin-bottom:
    8px;
  color:
    #0879c9;
  font-size:
    10px;
  font-weight:
    900;
  letter-spacing:
    0.15em;
  text-transform:
    uppercase;
}

.vmp-footer-service-copy h3 {
  margin:
    0 0 12px;
  color:
    #10233d;
  font-size:
    29px;
  line-height:
    1.16;
}

.vmp-footer-service-copy p {
  margin: 0;
  color:
    #647286;
  font-size:
    14px;
  line-height:
    1.7;
}

.vmp-footer-area-grid {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap:
    10px;
}

.vmp-footer-area-grid a {
  display: flex;
  min-height:
    52px;
  align-items: center;
  justify-content: space-between;
  padding:
    0 16px;
  color:
    #17304e !important;
  border:
    1px solid #d4e8f1;
  border-radius:
    8px;
  background:
    #ffffff;
  box-shadow:
    0 7px 18px
    rgba(12, 71, 107, 0.045);
  font-size:
    13px;
  font-weight:
    800;
  text-decoration:
    none !important;
  transition:
    transform 0.23s ease,
    border-color 0.23s ease,
    box-shadow 0.23s ease;
}

.vmp-footer-area-grid a::after {
  color:
    #22b7e8;
  content:
    "→";
  transition:
    transform 0.23s ease;
}

.vmp-footer-area-grid a:hover {
  transform:
    translateY(-3px);
  border-color:
    #96d5eb;
  box-shadow:
    0 14px 28px
    rgba(9, 74, 111, 0.1);
}

.vmp-footer-area-grid a:hover::after {
  transform:
    translateX(4px);
}


/* =========================================================
FINANCING PANEL
========================================================= */

.vmp-footer-financing {
  display: grid;
  grid-template-columns:
    minmax(280px, 0.75fr)
    minmax(500px, 1.25fr);
  align-items: center;
  gap:
    45px;
  margin-top:
    24px;
  padding:
    30px 34px;
  overflow: hidden;
  border-radius:
    15px;
  background:
    linear-gradient(
      135deg,
      #081b35,
      #0b315d
    );
  box-shadow:
    0 20px 50px
    rgba(8, 41, 70, 0.17);
}

.vmp-footer-financing-copy > span {
  display: inline-block;
  margin-bottom:
    7px;
  color:
    #76daf5;
  font-size:
    9px;
  font-weight:
    900;
  letter-spacing:
    0.15em;
  text-transform:
    uppercase;
}

.vmp-footer-financing-copy h3 {
  margin:
    0 0 9px;
  color:
    #ffffff;
  font-size:
    25px;
  line-height:
    1.2;
}

.vmp-footer-financing-copy p {
  margin: 0;
  color:
    rgba(255, 255, 255, 0.67);
  font-size:
    13px;
  line-height:
    1.65;
}

.vmp-footer-financing-banner {
  display: block;
  overflow: hidden;
  border:
    1px solid
    rgba(255, 255, 255, 0.11);
  border-radius:
    9px;
  background:
    #1d2944;
  box-shadow:
    0 14px 30px
    rgba(0, 0, 0, 0.2);
  transition:
    transform 0.26s ease,
    box-shadow 0.26s ease;
}

.vmp-footer-financing-banner:hover {
  transform:
    translateY(-4px);
  box-shadow:
    0 21px 42px
    rgba(0, 0, 0, 0.3);
}

.vmp-footer-financing-banner img {
  display: block;
  width: 100%;
  height: auto;
}


/* =========================================================
BOTTOM BAR
========================================================= */

.vmp-footer-bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap:
    20px;
  margin-top:
    30px;
  padding-top:
    22px;
  border-top:
    1px solid #d9e9f0;
}

.vmp-footer-bottom-left {
  color:
    #778396;
  font-size:
    12px;
}

.vmp-footer-bottom-right {
  display: flex;
  flex-wrap: wrap;
  gap:
    17px;
}

.vmp-footer-bottom-right a {
  color:
    #69778a !important;
  font-size:
    12px;
  text-decoration:
    none !important;
  transition:
    color 0.2s ease;
}

.vmp-footer-bottom-right a:hover {
  color:
    #0879c9 !important;
}


/* =========================================================
TABLET
========================================================= */

@media
(max-width: 1050px) {

  .vmp-footer-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .vmp-footer-service-areas,
  .vmp-footer-financing {
    grid-template-columns:
      1fr;
  }

}


/* =========================================================
MOBILE
========================================================= */

@media
(max-width: 767px) {

  .vmp-footer-inner {
    width:
      calc(100% - 32px);
    padding:
      82px 0 25px;
  }

  .vmp-footer-inner::before {
    top:
      34px;
  }

  .vmp-footer-grid {
    grid-template-columns:
      1fr;
    gap:
      38px;
  }

  .vmp-footer-logo {
    width:
      260px;
  }

  .vmp-footer-actions {
    align-items:
      stretch;
    flex-direction:
      column;
  }

  .vmp-footer-btn {
    width:
      100%;
  }

  .vmp-footer-service-areas {
    margin-top:
      45px;
    padding:
      25px 20px;
  }

  .vmp-footer-service-copy h3 {
    font-size:
      25px;
  }

  .vmp-footer-area-grid {
    grid-template-columns:
      1fr;
  }

  .vmp-footer-financing {
    padding:
      25px 20px;
  }

  .vmp-footer-bottom {
    align-items:
      flex-start;
    flex-direction:
      column;
  }

}

/* Remove Elementor mobile padding from footer container */

@media (max-width: 767px) {

  .elementor-26
  .elementor-element.elementor-element-d96cf51 {
    --padding-top: 0 !important;
    --padding-bottom: 0 !important;
    --padding-left: 0 !important;
    --padding-right: 0 !important;

    padding: 0 !important;
  }

}

/* Center complete Velocity footer on mobile */

@media (max-width: 767px) {

  .vmp-footer {
    text-align: center;
  }

  .vmp-footer-grid {
    justify-items: center;
  }

  .vmp-footer-brand,
  .vmp-footer-col,
  .vmp-footer-contact,
  .vmp-footer-service-copy,
  .vmp-footer-financing-copy {
    width: 100%;
    text-align: center;
  }

  .vmp-footer-logo {
    margin-right: auto;
    margin-left: auto;
  }

  .vmp-footer-brand-copy {
    margin-right: auto;
    margin-left: auto;
  }

  .vmp-footer-actions,
  .vmp-footer-socials {
    justify-content: center;
  }

  .vmp-footer-col h4,
  .vmp-footer-contact h4 {
    text-align: center;
  }

  .vmp-footer-col h4::after,
  .vmp-footer-contact h4::after {
    left: 50%;
    transform: translateX(-50%);
  }

  .vmp-footer-col ul {
    display: inline-grid;
    justify-items: center;
  }

  .vmp-footer-col li {
    padding-left: 0;
    text-align: center;
  }

  .vmp-footer-col li::before {
    display: none;
  }

  .vmp-footer-contact-card {
    text-align: center;
  }

  .vmp-footer-finance-button {
    margin-right: auto;
    margin-left: auto;
  }

  .vmp-footer-service-areas {
    text-align: center;
  }

  .vmp-footer-area-grid a {
    justify-content: center;
    gap: 12px;
    text-align: center;
  }

  .vmp-footer-financing {
    text-align: center;
  }

  .vmp-footer-financing-banner {
    margin-right: auto;
    margin-left: auto;
  }

  .vmp-footer-bottom {
    align-items: center;
    text-align: center;
  }

  .vmp-footer-bottom-left,
  .vmp-footer-bottom-right {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

}

/* Improve hero trust section on mobile */

@media (max-width: 767px) {

  .vmp-proof-row {
    width: 100%;
    gap: 10px;
  }

  .vmp-proof-item {
    width: 100%;
    justify-content: flex-start;
    padding: 11px 14px;
  }

  .vmp-google-trust {
    display: grid;
    grid-template-columns: auto 1fr;
    width: 100%;
    max-width: none;
    gap: 14px;
    padding: 17px 18px;
  }

  .vmp-google-score {
    min-width: 72px;
    padding-right: 14px;
  }

  .vmp-google-score strong {
    font-size: 28px;
  }

  .vmp-google-copy {
    justify-content: center;
    text-align: left;
  }

  .vmp-google-copy strong {
    font-size: 14px;
    line-height: 1.25;
  }

  .vmp-google-copy span {
    font-size: 11px;
    line-height: 1.35;
  }

}

/* =========================================================
SERVICE AREA MAP — CLEAN SINGLE BACKGROUND
========================================================= */

.vmp-map-card {
  position: relative;

  min-height: 310px;

  overflow: hidden;

  border:
    1px solid #c8e4ef;

  border-radius:
    17px;

  background:
    radial-gradient(
      circle at 68% 46%,
      rgba(34, 183, 232, 0.18),
      transparent 34%
    ),
    linear-gradient(
      135deg,
      #f8fdff 0%,
      #eaf8fc 52%,
      #dff3fa 100%
    );

  box-shadow:
    0 20px 48px
    rgba(10, 79, 118, 0.11);
}


/* Remove the inner box from the previous patch */

.vmp-map-card::before {
  display: none !important;
}


/* Let transparent map artwork sit directly on the background */

.vmp-map-card img {
  position: relative;

  z-index: 1;

  display: block;

  width: 100%;

  height: 310px;

  padding: 16px;

  object-fit: contain;

  background: transparent;

  mix-blend-mode: multiply;

  filter:
    contrast(1.04)
    saturate(1.08);

  transition:
    transform 0.7s cubic-bezier(.2,.7,.2,1),
    filter 0.5s ease;
}


/* Keep the callout bottom-left */

.vmp-map-label {
  right: auto;

  left: 18px;

  bottom: 18px;

  z-index: 3;

  max-width: 260px;
}


/* Preserve image hover */

.vmp-map-card:hover img {
  transform: scale(1.035);

  filter:
    contrast(1.06)
    saturate(1.12);
}


/* Mobile */

@media (max-width: 767px) {

  .vmp-map-card,
  .vmp-map-card img {
    min-height: 265px;

    height: 265px;
  }

  .vmp-map-card img {
    padding: 10px;
  }

  .vmp-map-label {
    left: 12px;

    right: 12px;

    bottom: 12px;

    max-width: none;
  }

}

/* =========================================================
HERO PROOF PILLS — PREMIUM HOVER
========================================================= */

.vmp-proof-item {
  position: relative;
  overflow: hidden;

  transition:
    transform 0.28s ease,
    border-color 0.28s ease,
    background 0.28s ease,
    box-shadow 0.28s ease;
}


/* Soft glow behind each pill */

.vmp-proof-item::before {
  position: absolute;

  inset: -1px;

  z-index: 0;

  border-radius: inherit;

  background:
    radial-gradient(
      circle at center,
      rgba(72, 205, 245, 0.28),
      transparent 68%
    );

  content: "";

  opacity: 0;

  transform: scale(0.85);

  transition:
    opacity 0.3s ease,
    transform 0.35s ease;
}


/* Animated light sweep */

.vmp-proof-item::after {
  position: absolute;

  top: 0;

  left: -120%;

  width: 80%;

  height: 100%;

  background:
    linear-gradient(
      110deg,
      transparent,
      rgba(255, 255, 255, 0.28),
      transparent
    );

  content: "";

  transform: skewX(-18deg);

  transition:
    left 0.65s ease;
}


/* Keep content above effects */

.vmp-proof-item > * {
  position: relative;

  z-index: 2;
}


/* Hover state */

.vmp-proof-item:hover {
  transform:
    translateY(-5px)
    scale(1.025);

  border-color:
    rgba(104, 221, 250, 0.78);

  background:
    linear-gradient(
      135deg,
      rgba(18, 81, 124, 0.82),
      rgba(10, 50, 88, 0.88)
    );

  box-shadow:
    0 14px 34px rgba(0, 0, 0, 0.28),
    0 0 24px rgba(34, 183, 232, 0.18);
}

.vmp-proof-item:hover::before {
  opacity: 1;

  transform: scale(1.08);
}

.vmp-proof-item:hover::after {
  left: 145%;
}


/* Animate check icon */

.vmp-proof-icon {
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    background 0.3s ease;
}

.vmp-proof-item:hover .vmp-proof-icon {
  transform:
    rotate(-8deg)
    scale(1.15);

  background:
    #8ce5fb;

  box-shadow:
    0 0 0 5px rgba(91, 215, 247, 0.12),
    0 0 18px rgba(91, 215, 247, 0.45);
}

/* =========================================================
VELOCITY CONTACT PAGE
========================================================= */


/* HERO */

.vmp-subhero {
  position: relative;
  display: flex;
  min-height: 610px;
  align-items: center;
  overflow: hidden;
  background: var(--vmp-navy);
}

.vmp-subhero-bg {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(4, 19, 39, .98),
      rgba(5, 27, 52, .91) 38%,
      rgba(5, 30, 58, .45) 64%,
      rgba(4, 21, 40, .08)
    ),
    url(
      "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-master-plumbing-subpage-vp.png"
    );

  background-position: center;
  background-size: cover;
}

.vmp-subhero-content {
  position: relative;
  width: min(690px, 100%);
  padding: 95px 0;
}

.vmp-subhero h1 {
  color: #ffffff;
}

.vmp-subhero-content > p {
  max-width: 630px;
  color: rgba(255,255,255,.8);
  font-size: 19px;
}

.vmp-subhero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  margin-top: 31px;
}

.vmp-subhero-proof span {
  padding: 10px 14px;
  color: #ffffff;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 999px;
  background: rgba(7,42,75,.63);
  font-size: 12px;
}


/* CONTACT GRID */

.vmp-contact-main {
  background:
    linear-gradient(
      135deg,
      #f7fcfe,
      #ffffff
    );
}

.vmp-contact-main-grid {
  display: grid;
  grid-template-columns:
    minmax(0, .92fr)
    minmax(430px, .78fr);
  align-items: start;
  gap: 85px;
}

.vmp-contact-info-grid {
  display: grid;
  gap: 13px;
  margin-top: 35px;
}

.vmp-contact-info-card {
  display: flex;
  flex-direction: column;
  padding: 23px;
  color: inherit !important;
  border: 1px solid var(--vmp-border);
  border-radius: 11px;
  background: #ffffff;
  box-shadow:
    0 10px 26px rgba(12,71,106,.05);
  text-decoration: none !important;
  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
}

.vmp-contact-info-card:hover {
  transform: translateY(-5px);
  border-color: #9ed8eb;
  box-shadow:
    0 20px 42px rgba(10,73,111,.12);
}

.vmp-contact-info-label {
  margin-bottom: 7px;
  color: var(--vmp-blue);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.vmp-contact-info-card strong {
  margin-bottom: 7px;
  color: var(--vmp-navy);
  font-size: 19px;
}

.vmp-contact-info-card small {
  color: var(--vmp-muted);
  font-size: 13px;
  line-height: 1.55;
}

.vmp-contact-assurance {
  display: grid;
  gap: 12px;
  margin-top: 30px;
}

.vmp-contact-assurance div {
  display: flex;
  align-items: center;
  gap: 12px;
}

.vmp-contact-assurance span {
  display: flex;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  border-radius: 50%;
  background:
    linear-gradient(
      135deg,
      var(--vmp-blue),
      var(--vmp-cyan)
    );
  font-size: 11px;
}

.vmp-contact-assurance p {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
}


/* FORM */

.vmp-contact-page-form {
  position: sticky;
  top: 30px;
  padding: 38px;
  border: 1px solid var(--vmp-border);
  border-radius: 15px;
  background: #ffffff;
  box-shadow:
    0 28px 70px rgba(11,69,104,.14);
}

.vmp-contact-page-form .ff-el-group {
  margin-bottom: 16px !important;
}

.vmp-contact-page-form label {
  color: var(--vmp-navy) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.vmp-contact-page-form input,
.vmp-contact-page-form textarea,
.vmp-contact-page-form select {
  min-height: 51px !important;
  padding: 12px 14px !important;
  color: var(--vmp-text) !important;
  border: 1px solid #cfdfe8 !important;
  border-radius: 7px !important;
  background: #f9fcfe !important;
  box-shadow: none !important;
}

.vmp-contact-page-form textarea {
  min-height: 145px !important;
}

.vmp-contact-page-form input:focus,
.vmp-contact-page-form textarea:focus,
.vmp-contact-page-form select:focus {
  border-color: var(--vmp-cyan) !important;
  box-shadow:
    0 0 0 4px
    rgba(34,183,232,.12) !important;
}

.vmp-contact-page-form .ff-btn-submit {
  width: 100% !important;
  min-height: 54px !important;
  border: 0 !important;
  border-radius: 7px !important;
  color: #ffffff !important;
  background:
    linear-gradient(
      135deg,
      var(--vmp-blue),
      var(--vmp-cyan)
    ) !important;
  font-weight: 800 !important;
}

.vmp-contact-form-trust {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 20px;
  padding-top: 19px;
  border-top: 1px solid var(--vmp-border);
}

.vmp-contact-form-trust > div {
  display: flex;
  flex-direction: column;
}

.vmp-contact-form-trust strong {
  color: var(--vmp-navy);
  font-size: 26px;
}

.vmp-contact-form-trust span {
  color: #f0aa25;
  font-size: 11px;
  letter-spacing: .08em;
}

.vmp-contact-form-trust p {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
}


/* PROCESS */

.vmp-contact-process {
  background:
    linear-gradient(
      180deg,
      #eaf8fc,
      #f7fcfe
    );
}

.vmp-process-grid {
  display: grid;
  grid-template-columns:
    repeat(3, 1fr);
  gap: 22px;
}

.vmp-process-card {
  position: relative;
  min-height: 285px;
  overflow: hidden;
  padding: 32px;
  border: 1px solid #d4e8f1;
  border-radius: 13px;
  background: #ffffff;
  box-shadow:
    0 16px 38px rgba(12,72,108,.07);
  transition:
    transform .3s ease,
    border-color .3s ease,
    box-shadow .3s ease;
}

.vmp-process-card::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 4px;
  background:
    linear-gradient(
      90deg,
      var(--vmp-blue),
      var(--vmp-cyan)
    );
  content: "";
  transition: width .35s ease;
}

.vmp-process-card:hover {
  transform: translateY(-9px);
  border-color: #a8dceb;
  box-shadow:
    0 27px 58px rgba(9,71,108,.15);
}

.vmp-process-card:hover::before {
  width: 100%;
}

.vmp-process-card > span {
  display: flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  margin-bottom: 26px;
  color: #062746;
  border-radius: 11px;
  background:
    linear-gradient(
      135deg,
      #80e0f8,
      #31bee8
    );
  font-weight: 800;
}


/* REASONS */

.vmp-contact-reasons {
  background: #ffffff;
}

.vmp-contact-reasons-grid {
  display: grid;
  grid-template-columns:
    minmax(0, .85fr)
    minmax(0, 1fr);
  align-items: center;
  gap: 80px;
}

.vmp-contact-reason-list {
  display: grid;
  gap: 13px;
}

.vmp-contact-reason {
  display: grid;
  grid-template-columns:
    48px 1fr;
  gap: 18px;
  padding: 23px;
  color: inherit !important;
  border: 1px solid var(--vmp-border);
  border-radius: 11px;
  background: var(--vmp-soft-blue);
  text-decoration: none !important;
  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
}

.vmp-contact-reason:hover {
  transform: translateX(7px);
  border-color: #9bd7ea;
  box-shadow:
    0 17px 36px rgba(10,72,108,.11);
}

.vmp-contact-reason > span {
  display: flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  border-radius: 9px;
  background:
    linear-gradient(
      135deg,
      var(--vmp-blue),
      var(--vmp-cyan)
    );
}

.vmp-contact-reason h3 {
  margin-bottom: 6px;
  font-size: 18px;
}

.vmp-contact-reason p {
  margin: 0;
  font-size: 14px;
}


/* SERVICES */

.vmp-contact-services {
  color: #ffffff;
  background:
    radial-gradient(
      circle at 88% 15%,
      rgba(34,183,232,.2),
      transparent 27%
    ),
    linear-gradient(
      135deg,
      #07182e,
      #0b315d
    );
}

.vmp-contact-services h2 {
  color: #ffffff;
}

.vmp-contact-services
.vmp-section-heading p {
  color: rgba(255,255,255,.7);
}

.vmp-contact-service-grid {
  display: grid;
  grid-template-columns:
    repeat(4, 1fr);
  gap: 13px;
}

.vmp-contact-service-grid a {
  display: flex;
  min-height: 116px;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 9px;
  background: rgba(255,255,255,.055);
  text-decoration: none !important;
  transition:
    transform .25s ease,
    border-color .25s ease,
    background .25s ease;
}

.vmp-contact-service-grid a:hover {
  transform: translateY(-6px);
  border-color: rgba(93,218,249,.6);
  background: rgba(34,183,232,.13);
}

.vmp-contact-service-grid span {
  font-size: 15px;
  font-weight: 800;
}

.vmp-contact-service-grid strong {
  color: #75d9f4;
  font-size: 11px;
}


/* AREA */

.vmp-contact-area {
  background:
    linear-gradient(
      135deg,
      #edf9fd,
      #ffffff
    );
}

.vmp-contact-area-grid {
  display: grid;
  grid-template-columns:
    .85fr 1fr;
  align-items: center;
  gap: 80px;
}

.vmp-contact-city-grid {
  display: grid;
  grid-template-columns:
    repeat(2, 1fr);
  gap: 12px;
}

.vmp-contact-city-grid a {
  display: flex;
  min-height: 66px;
  align-items: center;
  justify-content: space-between;
  padding: 0 21px;
  color: var(--vmp-navy) !important;
  border: 1px solid #d2e7f0;
  border-radius: 9px;
  background: #ffffff;
  font-weight: 800;
  text-decoration: none !important;
  transition:
    transform .24s ease,
    border-color .24s ease,
    box-shadow .24s ease;
}

.vmp-contact-city-grid a:hover {
  transform: translateY(-4px);
  border-color: #9bd8eb;
  box-shadow:
    0 16px 33px rgba(9,72,109,.1);
}

.vmp-contact-city-grid span {
  color: var(--vmp-cyan);
}


/* FAQ */

.vmp-contact-faq {
  background: #ffffff;
}


/* FINAL */

.vmp-contact-final {
  position: relative;
  display: flex;
  min-height: 530px;
  align-items: center;
  overflow: hidden;
  background: var(--vmp-navy);
}

.vmp-contact-final-bg {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(5,20,38,.98),
      rgba(6,28,52,.9) 39%,
      rgba(7,32,60,.42) 67%,
      transparent
    ),
    url(
      "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-master-plumbing-subpage-vp.png"
    );

  background-position: center;
  background-size: cover;
}

.vmp-contact-final-content {
  position: relative;
  z-index: 2;
  width: min(680px, 100%);
  padding: 90px 0;
}

.vmp-contact-final h2 {
  color: #ffffff;
}

.vmp-contact-final p {
  color: rgba(255,255,255,.78);
}


/* TABLET */

@media (max-width: 1050px) {

  .vmp-contact-main-grid,
  .vmp-contact-reasons-grid,
  .vmp-contact-area-grid {
    grid-template-columns: 1fr;
    gap: 55px;
  }

  .vmp-contact-page-form {
    position: relative;
    top: auto;
  }

  .vmp-contact-service-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }

}


/* MOBILE */

@media (max-width: 767px) {

  .vmp-subhero {
    min-height: 650px;
    align-items: flex-end;
  }

  .vmp-subhero-bg {
    background:
      linear-gradient(
        180deg,
        rgba(5,22,42,.18),
        rgba(5,22,42,.98) 69%
      ),
      url(
        "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-master-plumbing-subpage-vp.png"
      );

    background-position: 70% center;
  }

  .vmp-subhero-content {
    padding: 260px 0 60px;
  }

  .vmp-subhero-proof {
    flex-direction: column;
  }

  .vmp-subhero-proof span {
    width: 100%;
    text-align: center;
  }

  .vmp-contact-page-form {
    padding: 25px 20px;
  }

  .vmp-process-grid,
  .vmp-contact-service-grid,
  .vmp-contact-city-grid {
    grid-template-columns: 1fr;
  }

  .vmp-process-card {
    min-height: auto;
  }

  .vmp-contact-reason {
    grid-template-columns:
      43px 1fr;
  }

  .vmp-contact-final {
    min-height: 610px;
    align-items: flex-end;
  }

  .vmp-contact-final-bg {
    background:
      linear-gradient(
        180deg,
        rgba(5,22,42,.14),
        rgba(5,22,42,.98) 68%
      ),
      url(
        "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-master-plumbing-subpage-vp.png"
      );

    background-position: 69% center;
  }

  .vmp-contact-final-content {
    padding: 280px 0 65px;
  }

}

/* =========================================================
VELOCITY REVIEWS PAGE
========================================================= */


/* =========================================================
HERO
========================================================= */

.vmp-review-hero {
  position: relative;
  display: flex;
  min-height: 675px;
  align-items: center;
  overflow: hidden;
  background: var(--vmp-navy);
}

.vmp-review-hero-bg {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(4,19,39,.98),
      rgba(5,27,52,.92) 40%,
      rgba(5,30,58,.5) 68%,
      rgba(4,21,40,.15)
    ),
    url(
      "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-master-plumbing-subpage-vp.png"
    );

  background-position: center;
  background-size: cover;
}

.vmp-review-hero-grid {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(330px, .56fr);
  align-items: center;
  gap: 85px;
}

.vmp-review-hero-copy {
  max-width: 720px;
  padding: 95px 0;
}

.vmp-review-hero h1 {
  color: #ffffff;
}

.vmp-review-hero-copy > p {
  color: rgba(255,255,255,.8);
  font-size: 19px;
}


/* =========================================================
HERO SCORE CARD
========================================================= */

.vmp-review-score-card {
  position: relative;
  display: flex;
  overflow: hidden;
  flex-direction: column;
  padding: 42px;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 17px;
  background:
    linear-gradient(
      145deg,
      rgba(15,74,119,.82),
      rgba(5,29,55,.92)
    );
  box-shadow:
    0 30px 80px rgba(0,0,0,.34);
  text-decoration: none !important;
  backdrop-filter: blur(12px);
  transition:
    transform .32s ease,
    border-color .32s ease,
    box-shadow .32s ease;
}

.vmp-review-score-card::after {
  position: absolute;
  right: -80px;
  bottom: -100px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background:
    radial-gradient(
      circle,
      rgba(55,202,242,.34),
      transparent 68%
    );
  content: "";
  transition:
    transform .4s ease;
}

.vmp-review-score-card:hover {
  transform:
    translateY(-9px);
  border-color:
    rgba(103,222,249,.75);
  box-shadow:
    0 38px 90px rgba(0,0,0,.42),
    0 0 35px rgba(34,183,232,.16);
}

.vmp-review-score-card:hover::after {
  transform:
    scale(1.22);
}

.vmp-review-score-card > * {
  position: relative;
  z-index: 2;
}

.vmp-review-score-label {
  color: #8ce2f9;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.vmp-review-score-card > strong {
  margin-top: 18px;
  color: #ffffff;
  font-size: 82px;
  line-height: .92;
}

.vmp-review-score-stars {
  margin-top: 12px;
  color: #ffc247;
  font-size: 20px;
  letter-spacing: .11em;
}

.vmp-review-score-card h2 {
  margin:
    24px 0 12px;
  color: #ffffff;
  font-size: 28px;
}

.vmp-review-score-card p {
  color: rgba(255,255,255,.7);
  font-size: 14px;
}

.vmp-review-score-link {
  margin-top: 17px;
  color: #79dcf6;
  font-size: 13px;
  font-weight: 850;
}


/* =========================================================
PROOF STRIP
========================================================= */

.vmp-review-proof-strip {
  position: relative;
  z-index: 4;
  margin-top: -44px;
}

.vmp-review-proof-grid {
  display: grid;
  grid-template-columns:
    repeat(4, 1fr);
  overflow: hidden;
  border: 1px solid #d1e7f0;
  border-radius: 13px;
  background: #ffffff;
  box-shadow:
    0 22px 60px rgba(9,67,104,.15);
}

.vmp-review-proof-grid > div {
  display: flex;
  min-height: 125px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px;
  border-right: 1px solid #dcebf2;
  text-align: center;
}

.vmp-review-proof-grid > div:last-child {
  border-right: 0;
}

.vmp-review-proof-grid strong {
  color: var(--vmp-blue);
  font-size: 30px;
}

.vmp-review-proof-grid span {
  margin-top: 5px;
  color: #647286;
  font-size: 12px;
  font-weight: 750;
}


/* =========================================================
FEATURED REVIEW
========================================================= */

.vmp-review-feature {
  padding-top: 145px;
  background:
    linear-gradient(
      135deg,
      #f7fcfe,
      #ffffff
    );
}

.vmp-review-feature-grid {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(330px, .62fr);
  align-items: stretch;
  gap: 35px;
}

.vmp-featured-review-card {
  position: relative;
  overflow: hidden;
  padding: 52px;
  border: 1px solid #d4e8f1;
  border-radius: 17px;
  background:
    linear-gradient(
      135deg,
      #edf9fd,
      #ffffff
    );
  box-shadow:
    0 22px 58px rgba(11,73,108,.1);
}

.vmp-featured-review-card::after {
  position: absolute;
  right: -90px;
  bottom: -110px;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background:
    radial-gradient(
      circle,
      rgba(34,183,232,.16),
      transparent 68%
    );
  content: "";
}

.vmp-featured-review-card > * {
  position: relative;
  z-index: 2;
}

.vmp-featured-stars {
  margin-bottom: 24px;
  color: #f0aa25;
  font-size: 17px;
  letter-spacing: .12em;
}

.vmp-featured-review-card blockquote {
  margin: 0;
  color: var(--vmp-navy);
  font-size: clamp(25px, 3vw, 38px);
  font-weight: 760;
  line-height: 1.35;
  letter-spacing: -.025em;
}

.vmp-featured-review-person {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 25px;
  margin-top: 38px;
  padding-top: 25px;
  border-top: 1px solid #cfe4ed;
}

.vmp-featured-review-person > div {
  display: flex;
  flex-direction: column;
}

.vmp-featured-review-person strong {
  color: var(--vmp-navy);
  font-size: 17px;
}

.vmp-featured-review-person span {
  margin-top: 4px;
  color: #718094;
  font-size: 12px;
}

.vmp-featured-review-person a {
  color: var(--vmp-blue) !important;
  font-size: 13px;
  font-weight: 850;
  text-decoration: none !important;
}


/* =========================================================
VIDEO
========================================================= */

.vmp-review-video-card {
  overflow: hidden;
  border: 1px solid #d5e8f1;
  border-radius: 17px;
  background: #ffffff;
  box-shadow:
    0 22px 55px rgba(9,68,105,.11);
  transition:
    transform .3s ease,
    box-shadow .3s ease;
}

.vmp-review-video-card:hover {
  transform: translateY(-8px);
  box-shadow:
    0 31px 70px rgba(9,68,105,.17);
}

.vmp-review-video-wrap {
  position: relative;
  min-height: 500px;
  overflow: hidden;
  background: #07182e;
}

.vmp-review-video-wrap iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.vmp-review-video-copy {
  padding: 27px;
}

.vmp-review-video-copy > span {
  color: var(--vmp-blue);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.vmp-review-video-copy h3 {
  margin:
    7px 0 7px;
}

.vmp-review-video-copy p {
  margin: 0;
  font-size: 13px;
}


/* =========================================================
REVIEW WALL
========================================================= */

.vmp-review-wall {
  background:
    linear-gradient(
      180deg,
      #edf9fd,
      #f8fcfe
    );
}

.vmp-review-wall-grid {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 20px;
}

.vmp-wall-review {
  position: relative;
  display: flex;
  min-height: 340px;
  overflow: hidden;
  flex-direction: column;
  padding: 30px;
  border: 1px solid #d5e8f1;
  border-radius: 12px;
  background: #ffffff;
  box-shadow:
    0 14px 36px rgba(11,72,108,.065);
  transition:
    transform .3s ease,
    border-color .3s ease,
    box-shadow .3s ease;
}

.vmp-wall-review::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 4px;
  background:
    linear-gradient(
      90deg,
      var(--vmp-blue),
      var(--vmp-cyan)
    );
  content: "";
  transition:
    width .35s ease;
}

.vmp-wall-review::after {
  position: absolute;
  right: -70px;
  bottom: -90px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background:
    radial-gradient(
      circle,
      rgba(34,183,232,.13),
      transparent 67%
    );
  content: "";
  opacity: 0;
  transition:
    opacity .35s ease,
    transform .4s ease;
}

.vmp-wall-review:hover {
  transform: translateY(-9px);
  border-color: #a5dceb;
  box-shadow:
    0 27px 58px rgba(8,70,108,.15);
}

.vmp-wall-review:hover::before {
  width: 100%;
}

.vmp-wall-review:hover::after {
  opacity: 1;
  transform: scale(1.2);
}

.vmp-wall-review > * {
  position: relative;
  z-index: 2;
}

.vmp-wall-review-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}

.vmp-wall-review-top > span {
  color: #8290a1;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-align: right;
}

.vmp-wall-review p {
  flex: 1;
  margin-top: 25px;
  font-size: 14px;
  font-style: italic;
  line-height: 1.75;
}

.vmp-wall-review > strong {
  margin-top: 23px;
  color: var(--vmp-navy);
  font-size: 15px;
}

.vmp-wall-review-featured {
  color: #ffffff;
  border-color: transparent;
  background:
    linear-gradient(
      145deg,
      #081b35,
      #0b3d6b
    );
}

.vmp-wall-review-featured p,
.vmp-wall-review-featured > strong {
  color: #ffffff;
}

.vmp-wall-review-featured
.vmp-wall-review-top > span {
  color: #80dff7;
}


/* =========================================================
REVIEW WALL CTA
========================================================= */

.vmp-review-wall-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  margin-top: 36px;
  padding: 28px 31px;
  border-radius: 13px;
  background:
    linear-gradient(
      135deg,
      #081b35,
      #0b315d
    );
}

.vmp-review-wall-cta > div {
  display: flex;
  flex-direction: column;
}

.vmp-review-wall-cta span {
  margin-bottom: 5px;
  color: #7adbf5;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.vmp-review-wall-cta h3 {
  margin: 0;
  color: #ffffff;
}


/* =========================================================
CUSTOMER THEMES
========================================================= */

.vmp-review-themes {
  color: #ffffff;
  background:
    radial-gradient(
      circle at 90% 20%,
      rgba(34,183,232,.21),
      transparent 29%
    ),
    linear-gradient(
      135deg,
      #06172c,
      #0a315a
    );
}

.vmp-review-themes-grid {
  display: grid;
  grid-template-columns:
    minmax(0, .8fr)
    minmax(0, 1.1fr);
  align-items: center;
  gap: 80px;
}

.vmp-review-themes-copy h2 {
  color: #ffffff;
}

.vmp-review-themes-copy p {
  color: rgba(255,255,255,.72);
}

.vmp-review-theme-grid {
  display: grid;
  grid-template-columns:
    repeat(2, 1fr);
  gap: 15px;
}

.vmp-review-theme-grid > div {
  min-height: 245px;
  padding: 27px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 11px;
  background:
    rgba(255,255,255,.055);
  transition:
    transform .3s ease,
    border-color .3s ease,
    background .3s ease;
}

.vmp-review-theme-grid > div:hover {
  transform: translateY(-8px);
  border-color: rgba(91,219,249,.62);
  background:
    rgba(34,183,232,.13);
}

.vmp-review-theme-grid span {
  display: flex;
  width: 43px;
  height: 43px;
  align-items: center;
  justify-content: center;
  margin-bottom: 25px;
  color: #06233e;
  border-radius: 9px;
  background:
    linear-gradient(
      135deg,
      #82e1f8,
      #2fbce7
    );
}

.vmp-review-theme-grid h3 {
  color: #ffffff;
}

.vmp-review-theme-grid p {
  color: rgba(255,255,255,.68);
  font-size: 14px;
}


/* =========================================================
SERVICES
========================================================= */

.vmp-review-services {
  background: #ffffff;
}

.vmp-review-service-grid {
  display: grid;
  grid-template-columns:
    repeat(3, 1fr);
  gap: 16px;
}

.vmp-review-service-grid a {
  display: flex;
  min-height: 165px;
  flex-direction: column;
  justify-content: space-between;
  padding: 27px;
  color: inherit !important;
  border: 1px solid var(--vmp-border);
  border-radius: 11px;
  background:
    linear-gradient(
      145deg,
      #f7fcfe,
      #ffffff
    );
  text-decoration: none !important;
  transition:
    transform .27s ease,
    border-color .27s ease,
    box-shadow .27s ease;
}

.vmp-review-service-grid a:hover {
  transform: translateY(-7px);
  border-color: #9ed9eb;
  box-shadow:
    0 23px 48px rgba(9,72,108,.12);
}

.vmp-review-service-grid strong {
  color: var(--vmp-navy);
  font-size: 19px;
}

.vmp-review-service-grid span {
  color: #68778b;
  font-size: 13px;
  line-height: 1.6;
}


/* =========================================================
FINAL CTA
========================================================= */

.vmp-review-final {
  position: relative;
  display: flex;
  min-height: 545px;
  align-items: center;
  overflow: hidden;
  background: var(--vmp-navy);
}

.vmp-review-final-bg {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(5,20,38,.98),
      rgba(6,28,52,.9) 39%,
      rgba(7,32,60,.44) 67%,
      transparent
    ),
    url(
      "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-master-plumbing-subpage-vp.png"
    );

  background-position: center;
  background-size: cover;
}

.vmp-review-final-content {
  position: relative;
  z-index: 2;
  width: min(700px, 100%);
  padding: 95px 0;
}

.vmp-review-final h2 {
  color: #ffffff;
}

.vmp-review-final p {
  color: rgba(255,255,255,.78);
}


/* =========================================================
TABLET
========================================================= */

@media (max-width: 1050px) {

  .vmp-review-hero-grid,
  .vmp-review-feature-grid,
  .vmp-review-themes-grid {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .vmp-review-score-card {
    max-width: 520px;
    margin-bottom: 80px;
  }

  .vmp-review-wall-grid,
  .vmp-review-service-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }

}


/* =========================================================
MOBILE
========================================================= */

@media (max-width: 767px) {

  .vmp-review-hero {
    min-height: auto;
  }

  .vmp-review-hero-bg {
    background:
      linear-gradient(
        180deg,
        rgba(5,22,42,.19),
        rgba(5,22,42,.98) 54%
      ),
      url(
        "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-master-plumbing-subpage-vp.png"
      );

    background-position: 70% center;
  }

  .vmp-review-hero-copy {
    padding:
      260px 0 30px;
  }

  .vmp-review-score-card {
    margin:
      0 0 80px;
    padding: 30px;
  }

  .vmp-review-score-card > strong {
    font-size: 67px;
  }

  .vmp-review-proof-strip {
    margin-top: -38px;
  }

  .vmp-review-proof-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }

  .vmp-review-proof-grid > div {
    border-bottom:
      1px solid #dcebf2;
  }

  .vmp-review-proof-grid > div:nth-child(2) {
    border-right: 0;
  }

  .vmp-review-feature {
    padding-top: 105px;
  }

  .vmp-featured-review-card {
    padding: 29px 23px;
  }

  .vmp-featured-review-card blockquote {
    font-size: 24px;
  }

  .vmp-featured-review-person {
    align-items: flex-start;
    flex-direction: column;
  }

  .vmp-review-video-wrap {
    min-height: 540px;
  }

  .vmp-review-wall-grid,
  .vmp-review-theme-grid,
  .vmp-review-service-grid {
    grid-template-columns: 1fr;
  }

  .vmp-wall-review {
    min-height: auto;
  }

  .vmp-review-wall-cta {
    align-items: stretch;
    flex-direction: column;
  }

  .vmp-review-wall-cta .vmp-btn {
    width: 100%;
  }

  .vmp-review-final {
    min-height: 610px;
    align-items: flex-end;
  }

  .vmp-review-final-bg {
    background:
      linear-gradient(
        180deg,
        rgba(5,22,42,.14),
        rgba(5,22,42,.98) 68%
      ),
      url(
        "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-master-plumbing-subpage-vp.png"
      );

    background-position: 69% center;
  }

  .vmp-review-final-content {
    padding:
      280px 0 65px;
  }

}

/* =========================================================
REVIEWS PROOF STRIP — PREMIUM HOVERS
========================================================= */

.vmp-review-proof-grid > div {
  position: relative;
  overflow: hidden;

  transition:
    transform 0.3s ease,
    background 0.3s ease,
    box-shadow 0.3s ease;
}


/* Animated blue accent line */

.vmp-review-proof-grid > div::before {
  position: absolute;

  top: 0;
  left: 50%;

  width: 0;
  height: 4px;

  border-radius: 0 0 999px 999px;

  background:
    linear-gradient(
      90deg,
      #0879c9,
      #22b7e8,
      #79dcf6
    );

  content: "";

  transform:
    translateX(-50%);

  transition:
    width 0.36s ease;
}


/* Light sweep */

.vmp-review-proof-grid > div::after {
  position: absolute;

  top: 0;
  left: -120%;

  width: 65%;
  height: 100%;

  pointer-events: none;

  background:
    linear-gradient(
      110deg,
      transparent,
      rgba(255, 255, 255, 0.72),
      transparent
    );

  content: "";

  transform:
    skewX(-18deg);

  transition:
    left 0.7s ease;
}


/* Hover state */

.vmp-review-proof-grid > div:hover {
  z-index: 3;

  transform:
    translateY(-8px)
    scale(1.025);

  background:
    linear-gradient(
      145deg,
      #ffffff 0%,
      #edf9fd 100%
    );

  box-shadow:
    0 23px 48px
    rgba(7, 89, 139, 0.17),
    0 0 28px
    rgba(34, 183, 232, 0.11);
}

.vmp-review-proof-grid > div:hover::before {
  width:
    100%;
}

.vmp-review-proof-grid > div:hover::after {
  left:
    150%;
}


/* Main stat animation */

.vmp-review-proof-grid strong {
  position: relative;

  transition:
    transform 0.3s ease,
    color 0.3s ease,
    text-shadow 0.3s ease;
}

.vmp-review-proof-grid > div:hover strong {
  color:
    #075fa8;

  transform:
    translateY(-3px)
    scale(1.08);

  text-shadow:
    0 8px 22px
    rgba(34, 183, 232, 0.2);
}


/* Supporting label */

.vmp-review-proof-grid span {
  position: relative;

  transition:
    color 0.3s ease,
    transform 0.3s ease;
}

.vmp-review-proof-grid > div:hover span {
  color:
    #233a57;

  transform:
    translateY(2px);
}


/* Keep mobile hover controlled */

@media (max-width: 767px) {

  .vmp-review-proof-grid > div:hover {
    transform:
      translateY(-4px);
  }

}

/* =========================================================
GLOBAL VELOCITY BOTTOM CTA BACKGROUND
========================================================= */

.vmp-final-bg,
.vmp-final-cta-bg,
.vmp-home-final-bg,
.vmp-homepage-final-bg,
.vmp-contact-final-bg,
.vmp-review-final-bg,
.vmp-global-cta-bg {

  background:
    linear-gradient(
      90deg,
      rgba(4, 19, 38, 0.99) 0%,
      rgba(5, 27, 52, 0.95) 38%,
      rgba(5, 31, 58, 0.53) 65%,
      rgba(4, 21, 40, 0.1) 100%
    ),

    url(
      "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-technician.png"
    ) !important;

  background-size:
    cover !important;

  background-position:
    center center !important;

  background-repeat:
    no-repeat !important;
}

/* =========================================================
VELOCITY ABOUT PAGE
========================================================= */


/* =========================================================
HERO
========================================================= */

.vmp-about-hero {
  position: relative;
  display: flex;
  min-height: 640px;
  align-items: center;
  overflow: hidden;
  background: #06172d;
}

.vmp-about-hero-bg {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(4,19,39,.99),
      rgba(5,27,52,.93) 39%,
      rgba(5,30,58,.49) 67%,
      rgba(4,21,40,.1)
    ),
    url(
      "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-master-plumbing-subpage-vp.png"
    );

  background-position: center;
  background-size: cover;
}

.vmp-about-hero-content {
  position: relative;
  z-index: 2;
  width: min(720px, 100%);
  padding: 105px 0;
}

.vmp-about-hero h1 {
  color: #ffffff;
}

.vmp-about-hero-content > p {
  max-width: 660px;
  color: rgba(255,255,255,.8);
  font-size: 19px;
}

.vmp-about-hero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  margin-top: 30px;
}

.vmp-about-hero-proof span {
  position: relative;
  overflow: hidden;
  padding: 10px 15px;
  color: #ffffff;
  border: 1px solid rgba(115,213,244,.28);
  border-radius: 999px;
  background: rgba(8,47,82,.66);
  font-size: 12px;
  transition:
    transform .27s ease,
    border-color .27s ease,
    box-shadow .27s ease;
}

.vmp-about-hero-proof span:hover {
  transform: translateY(-4px);
  border-color: rgba(112,225,250,.75);
  box-shadow:
    0 13px 30px rgba(0,0,0,.25),
    0 0 22px rgba(34,183,232,.15);
}


/* =========================================================
INTRO
========================================================= */

.vmp-about-intro {
  background:
    linear-gradient(
      135deg,
      #ffffff,
      #f4fbfe
    );
}

.vmp-about-intro-grid {
  display: grid;
  grid-template-columns:
    minmax(0, .94fr)
    minmax(410px, .74fr);
  align-items: center;
  gap: 90px;
}

.vmp-about-intro-checks {
  display: grid;
  gap: 12px;
  margin-top: 30px;
}

.vmp-about-intro-checks > div {
  display: flex;
  align-items: center;
  gap: 12px;
}

.vmp-about-intro-checks span {
  display: flex;
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  border-radius: 50%;
  background:
    linear-gradient(
      135deg,
      #0879c9,
      #22b7e8
    );
  font-size: 11px;
}

.vmp-about-intro-checks p {
  margin: 0;
  color: #42546b;
  font-size: 14px;
  font-weight: 750;
}

.vmp-about-intro-media {
  position: relative;
}

.vmp-about-image-main {
  overflow: hidden;
  border-radius: 16px;
  box-shadow:
    0 28px 68px rgba(8,67,105,.16);
}

.vmp-about-image-main img {
  display: block;
  width: 100%;
  min-height: 560px;
  object-fit: cover;
  transition:
    transform .7s cubic-bezier(.2,.7,.2,1),
    filter .5s ease;
}

.vmp-about-image-main:hover img {
  transform: scale(1.045);
  filter:
    contrast(1.04)
    saturate(1.06);
}

.vmp-about-experience-badge {
  position: absolute;
  right: -25px;
  bottom: 35px;
  display: flex;
  width: 210px;
  flex-direction: column;
  padding: 24px;
  border-left: 4px solid #22b7e8;
  border-radius: 10px;
  background: #ffffff;
  box-shadow:
    0 21px 48px rgba(8,62,96,.17);
}

.vmp-about-experience-badge strong {
  color: #0879c9;
  font-size: 43px;
  line-height: 1;
}

.vmp-about-experience-badge span {
  margin-top: 8px;
  color: #243750;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.45;
}


/* =========================================================
STORY
========================================================= */

.vmp-about-story {
  background:
    linear-gradient(
      180deg,
      #eaf8fc,
      #f7fcfe
    );
}

.vmp-about-story-grid {
  display: grid;
  grid-template-columns:
    minmax(420px, .84fr)
    minmax(0, 1fr);
  align-items: center;
  gap: 85px;
}

.vmp-about-story-media {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  box-shadow:
    0 26px 62px rgba(7,65,101,.15);
}

.vmp-about-story-media > img {
  display: block;
  width: 100%;
  min-height: 540px;
  object-fit: cover;
  border-radius: 16px;
  transition:
    transform .5s ease,
    filter .5s ease;
}

.vmp-about-story-media:hover > img {
  transform: scale(1.035);
  filter:
    contrast(1.04)
    saturate(1.05);
}


/* FIXED STORY BADGE */

.vmp-about-story-callout {
  position: absolute;
  left: 25px;
  bottom: 25px;
  z-index: 3;
  width: min(310px, calc(100% - 50px));
  padding: 24px 26px;
  border: 1px solid rgba(116,220,247,.22);
  border-left: 4px solid #22b7e8;
  border-radius: 11px;
  color: #ffffff;
  background:
    linear-gradient(
      135deg,
      rgba(5,28,55,.97),
      rgba(10,65,108,.96)
    );
  box-shadow:
    0 22px 48px rgba(4,35,65,.3);
  backdrop-filter: blur(8px);
}

.vmp-about-story-callout span {
  display: block;
  margin-bottom: 9px;
  color: #78ddf7;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.vmp-about-story-callout strong {
  display: block;
  max-width: 245px;
  font-size: 19px;
  line-height: 1.35;
}


/* =========================================================
HUMAN ELEMENT
========================================================= */

.vmp-about-human {
  background: #ffffff;
}

.vmp-about-human-grid {
  display: grid;
  grid-template-columns:
    repeat(4, 1fr);
  gap: 18px;
}

.vmp-about-human-card {
  position: relative;
  min-height: 290px;
  overflow: hidden;
  padding: 29px;
  border: 1px solid #d5e8f1;
  border-radius: 12px;
  background:
    linear-gradient(
      145deg,
      #f7fcfe,
      #ffffff
    );
  box-shadow:
    0 14px 34px rgba(9,70,105,.06);
  transition:
    transform .3s ease,
    border-color .3s ease,
    box-shadow .3s ease;
}

.vmp-about-human-card::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 4px;
  background:
    linear-gradient(
      90deg,
      #0879c9,
      #22b7e8
    );
  content: "";
  transition: width .35s ease;
}

.vmp-about-human-card:hover {
  transform: translateY(-9px);
  border-color: #9ed9eb;
  box-shadow:
    0 27px 56px rgba(7,69,107,.14);
}

.vmp-about-human-card:hover::before {
  width: 100%;
}

.vmp-about-human-card > span {
  display: flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  margin-bottom: 26px;
  color: #062846;
  border-radius: 9px;
  background:
    linear-gradient(
      135deg,
      #81e1f8,
      #32bde8
    );
}

.vmp-about-philosophy {
  max-width: 960px;
  margin: 45px auto 0;
  padding: 37px;
  border-radius: 14px;
  color: #ffffff;
  text-align: center;
  background:
    linear-gradient(
      135deg,
      #071a33,
      #0b3c68
    );
  box-shadow:
    0 25px 58px rgba(6,46,79,.18);
}

.vmp-about-philosophy > span {
  color: #76daf5;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.vmp-about-philosophy blockquote {
  margin:
    14px 0 0;
  font-size:
    clamp(22px, 3vw, 34px);
  font-weight: 760;
  line-height: 1.35;
}


/* =========================================================
EXPERIENCE
========================================================= */

.vmp-about-experience {
  color: #ffffff;
  background:
    radial-gradient(
      circle at 91% 15%,
      rgba(34,183,232,.2),
      transparent 30%
    ),
    linear-gradient(
      135deg,
      #06172d,
      #0b315b
    );
}

.vmp-about-experience-grid {
  display: grid;
  grid-template-columns:
    minmax(0, .8fr)
    minmax(0, 1fr);
  align-items: center;
  gap: 80px;
}

.vmp-about-experience h2 {
  color: #ffffff;
}

.vmp-about-experience-copy p {
  color: rgba(255,255,255,.72);
}

.vmp-about-experience-grid-cards {
  display: grid;
  grid-template-columns:
    repeat(2, 1fr);
  gap: 15px;
}

.vmp-about-experience-grid-cards > div {
  min-height: 205px;
  padding: 28px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 11px;
  background:
    rgba(255,255,255,.055);
  transition:
    transform .3s ease,
    border-color .3s ease,
    background .3s ease;
}

.vmp-about-experience-grid-cards > div:hover {
  transform: translateY(-8px);
  border-color: rgba(105,222,249,.62);
  background:
    rgba(34,183,232,.12);
}

.vmp-about-experience-grid-cards strong {
  display: block;
  margin-bottom: 15px;
  color: #ffffff;
  font-size: 21px;
}

.vmp-about-experience-grid-cards span {
  color: rgba(255,255,255,.68);
  font-size: 14px;
  line-height: 1.65;
}


/* =========================================================
TECHNOLOGY
========================================================= */

.vmp-about-technology {
  background:
    linear-gradient(
      135deg,
      #edf9fd,
      #ffffff
    );
}

.vmp-about-technology-grid {
  display: grid;
  grid-template-columns:
    minmax(420px, .84fr)
    minmax(0, 1fr);
  align-items: center;
  gap: 85px;
}

.vmp-about-technology-media {
  position: relative;
}

.vmp-about-technology-media img {
  display: block;
  width: 100%;
  min-height: 530px;
  object-fit: cover;
  border-radius: 15px;
  box-shadow:
    0 28px 68px rgba(8,68,105,.16);
  transition:
    transform .5s ease,
    filter .5s ease;
}

.vmp-about-technology-media:hover img {
  transform: scale(1.025);
  filter:
    contrast(1.05)
    saturate(1.06);
}

.vmp-about-tech-badge {
  position: absolute;
  left: 28px;
  bottom: 28px;
  display: flex;
  max-width: 290px;
  flex-direction: column;
  padding: 23px;
  border-left: 4px solid #22b7e8;
  border-radius: 9px;
  background: #ffffff;
  box-shadow:
    0 20px 45px rgba(7,61,95,.18);
}

.vmp-about-tech-badge strong {
  color: #10233d;
  font-size: 17px;
}

.vmp-about-tech-badge span {
  margin-top: 6px;
  color: #68778b;
  font-size: 12px;
  line-height: 1.5;
}

.vmp-about-technology-copy h2 {
  max-width: 620px;
}

.vmp-about-tech-links {
  display: grid;
  gap: 10px;
  margin-top: 28px;
}

.vmp-about-tech-links a {
  display: flex;
  min-height: 55px;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
  color: #15304f !important;
  border: 1px solid #d3e7f0;
  border-radius: 8px;
  background: #ffffff;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none !important;
  transition:
    transform .24s ease,
    border-color .24s ease,
    box-shadow .24s ease;
}

.vmp-about-tech-links a:hover {
  transform: translateX(7px);
  border-color: #95d5ea;
  box-shadow:
    0 13px 28px rgba(8,71,109,.1);
}

.vmp-about-tech-links span {
  color: #22b7e8;
}


/* =========================================================
VALUES
========================================================= */

.vmp-about-values {
  background: #ffffff;
}

.vmp-about-values-grid {
  display: grid;
  grid-template-columns:
    repeat(3, 1fr);
  gap: 18px;
}

.vmp-about-values-grid article {
  min-height: 250px;
  padding: 30px;
  border: 1px solid #d7e9f1;
  border-radius: 12px;
  background:
    linear-gradient(
      145deg,
      #f7fcfe,
      #ffffff
    );
  transition:
    transform .29s ease,
    border-color .29s ease,
    box-shadow .29s ease;
}

.vmp-about-values-grid article:hover {
  transform: translateY(-8px);
  border-color: #9dd8eb;
  box-shadow:
    0 25px 50px rgba(8,69,106,.13);
}

.vmp-about-values-grid article > span {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  color: #062846;
  border-radius: 9px;
  background:
    linear-gradient(
      135deg,
      #82e1f8,
      #33bee8
    );
}


/* =========================================================
RESPONSIBILITY
========================================================= */

.vmp-about-responsibility {
  background:
    linear-gradient(
      135deg,
      #eaf8fc,
      #f8fdff
    );
}

.vmp-about-responsibility-grid {
  display: grid;
  grid-template-columns:
    minmax(0, .9fr)
    minmax(380px, .65fr);
  align-items: center;
  gap: 90px;
}

.vmp-about-responsibility-list {
  display: grid;
  gap: 13px;
}

.vmp-about-responsibility-list > div {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 76px;
  padding: 18px;
  border: 1px solid #d1e7f0;
  border-radius: 10px;
  background: #ffffff;
  box-shadow:
    0 10px 26px rgba(9,70,105,.05);
}

.vmp-about-responsibility-list span {
  display: flex;
  width: 31px;
  height: 31px;
  flex: 0 0 31px;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  border-radius: 50%;
  background:
    linear-gradient(
      135deg,
      #0879c9,
      #22b7e8
    );
}

.vmp-about-responsibility-list p {
  margin: 0;
  color: #40526a;
  font-size: 14px;
  font-weight: 750;
}


/* =========================================================
TRUST
========================================================= */

.vmp-about-trust {
  background: #ffffff;
}

.vmp-about-trust-grid {
  display: grid;
  grid-template-columns:
    minmax(330px, .58fr)
    minmax(0, 1fr);
  align-items: center;
  gap: 85px;
}

.vmp-about-trust-score {
  position: relative;
  overflow: hidden;
  padding: 44px;
  color: #ffffff;
  border-radius: 16px;
  background:
    linear-gradient(
      145deg,
      #071b35,
      #0b3d6b
    );
  box-shadow:
    0 30px 72px rgba(5,44,77,.22);
}

.vmp-about-trust-score > span {
  color: #7bdcf6;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.vmp-about-trust-score > strong {
  display: block;
  margin-top: 19px;
  font-size: 78px;
  line-height: .9;
}

.vmp-about-trust-score > div {
  margin-top: 14px;
  color: #ffc248;
  letter-spacing: .11em;
}

.vmp-about-trust-score h3 {
  margin:
    24px 0 10px;
  color: #ffffff;
}

.vmp-about-trust-score p {
  color: rgba(255,255,255,.68);
  font-size: 14px;
}


/* =========================================================
LOOKING AHEAD
========================================================= */

.vmp-about-future {
  background:
    linear-gradient(
      135deg,
      #edf9fd,
      #ffffff
    );
}

.vmp-about-future-inner {
  max-width: 1050px;
  margin: 0 auto;
  text-align: center;
}

.vmp-about-future-inner > p {
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
  font-size: 16px;
  line-height: 1.75;
}

.vmp-about-future-points {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 17px;
  margin-top: 38px;
  text-align: left;
}

.vmp-about-future-points > div {
  min-height: 190px;
  padding: 27px;
  border: 1px solid #d4e8f1;
  border-radius: 12px;
  background: #ffffff;
  box-shadow:
    0 14px 34px rgba(9,70,105,.06);
  transition:
    transform .28s ease,
    border-color .28s ease,
    box-shadow .28s ease;
}

.vmp-about-future-points > div:hover {
  transform: translateY(-7px);
  border-color: #9bd8eb;
  box-shadow:
    0 25px 50px rgba(8,70,108,.12);
}

.vmp-about-future-points strong {
  display: block;
  margin-bottom: 12px;
  color: #10233d;
  font-size: 18px;
}

.vmp-about-future-points span {
  color: #647286;
  font-size: 14px;
  line-height: 1.7;
}

.vmp-about-future-closing {
  max-width: 850px !important;
  margin-top: 34px !important;
  color: #31465f;
  font-weight: 700;
}


/* =========================================================
FINAL CTA
========================================================= */

.vmp-about-final {
  position: relative;
  display: flex;
  min-height: 545px;
  align-items: center;
  overflow: hidden;
  background: #06172d;
}

.vmp-about-final .vmp-global-cta-bg {
  position: absolute;
  inset: 0;
  z-index: 0;

  background:
    linear-gradient(
      90deg,
      rgba(4,19,38,.99) 0%,
      rgba(5,27,52,.95) 39%,
      rgba(5,31,58,.5) 67%,
      rgba(4,21,40,.08) 100%
    ),
    url(
      "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-technician.png"
    );

  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

.vmp-about-final .vmp-container {
  position: relative;
  z-index: 2;
}

.vmp-about-final-content {
  position: relative;
  z-index: 2;
  width: min(720px, 100%);
  padding: 95px 0;
}

.vmp-about-final h2 {
  color: #ffffff;
}

.vmp-about-final p {
  color: rgba(255,255,255,.78);
}


/* =========================================================
TABLET
========================================================= */

@media (max-width: 1050px) {

  .vmp-about-intro-grid,
  .vmp-about-story-grid,
  .vmp-about-experience-grid,
  .vmp-about-technology-grid,
  .vmp-about-responsibility-grid,
  .vmp-about-trust-grid {
    grid-template-columns: 1fr;
    gap: 55px;
  }

  .vmp-about-human-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }

  .vmp-about-values-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }

  .vmp-about-future-points {
    grid-template-columns: 1fr;
  }

  .vmp-about-experience-badge {
    right: 22px;
  }

}


/* =========================================================
MOBILE
========================================================= */

@media (max-width: 767px) {

  .vmp-about-hero {
    min-height: 670px;
    align-items: flex-end;
  }

  .vmp-about-hero-bg {
    background:
      linear-gradient(
        180deg,
        rgba(5,22,42,.16),
        rgba(5,22,42,.98) 66%
      ),
      url(
        "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-master-plumbing-subpage-vp.png"
      );

    background-position: 70% center;
  }

  .vmp-about-hero-content {
    padding:
      255px 0 65px;
  }

  .vmp-about-hero-proof {
    flex-direction: column;
  }

  .vmp-about-hero-proof span {
    width: 100%;
    text-align: center;
  }

  .vmp-about-image-main img,
  .vmp-about-story-media > img,
  .vmp-about-technology-media img {
    min-height: 360px;
  }

  .vmp-about-experience-badge,
  .vmp-about-tech-badge {
    position: relative;
    right: auto;
    bottom: auto;
    left: auto;
    width: auto;
    max-width: none;
    margin:
      -28px 16px 0;
  }


  /* KEEP STORY BADGE INSIDE PHOTO ON MOBILE */

  .vmp-about-story-callout {
    left: 14px;
    right: 14px;
    bottom: 14px;
    width: auto;
    padding: 20px;
  }

  .vmp-about-story-callout strong {
    max-width: none;
    font-size: 17px;
  }

  .vmp-about-human-grid,
  .vmp-about-experience-grid-cards,
  .vmp-about-values-grid,
  .vmp-about-future-points {
    grid-template-columns: 1fr;
  }

  .vmp-about-human-card {
    min-height: auto;
  }

  .vmp-about-philosophy {
    padding: 28px 21px;
  }

  .vmp-about-trust-score {
    padding: 33px 26px;
  }

  .vmp-about-future-points > div {
    min-height: auto;
    text-align: center;
  }

  .vmp-about-final {
    min-height: 620px;
    align-items: flex-end;
  }

  .vmp-about-final .vmp-global-cta-bg {
    background:
      linear-gradient(
        180deg,
        rgba(4,20,39,.08) 0%,
        rgba(4,21,41,.42) 40%,
        rgba(4,20,39,.98) 71%,
        #041427 100%
      ),
      url(
        "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-technician.png"
      );

    background-position: 68% center;
    background-size: cover;
  }

  .vmp-about-final-content {
    padding:
      285px 0 68px;
  }

}

/* Remove Elementor mobile padding on About page */

@media (max-width: 767px) {

  .elementor-24
  .elementor-element.elementor-element-16274b3c {

    --padding-top: 0 !important;
    --padding-bottom: 0 !important;
    --padding-left: 0 !important;
    --padding-right: 0 !important;

    padding: 0 !important;
  }

}

/* =========================================================
VELOCITY MOBILE HERO + ABOUT PAGE POLISH
========================================================= */

@media (max-width: 767px) {


  /* =======================================================
  GLOBAL MOBILE HERO SPACING
  Removes oversized dead space below the header
  ======================================================= */

  .vmp-hero,
  .vmp-home-hero,
  .vmp-subhero,
  .vmp-about-hero,
  .vmp-review-hero {
    min-height: auto !important;
    align-items: flex-end !important;
  }


  .vmp-hero-content,
  .vmp-home-hero-content,
  .vmp-subhero-content,
  .vmp-about-hero-content,
  .vmp-review-hero-copy {
    padding-top: 185px !important;
    padding-bottom: 48px !important;
  }


  /* Slightly shorter About hero */

  .vmp-about-hero {
    min-height: 690px !important;
  }


  /* Improve background positioning */

  .vmp-about-hero-bg {
    background-position:
      64% center !important;
  }


  /* =======================================================
  ABOUT HERO CONTENT
  ======================================================= */

  .vmp-about-hero-content {
    width: 100% !important;
  }


  .vmp-about-hero h1 {
    max-width: 360px;

    margin-bottom:
      18px;

    font-size:
      clamp(38px, 10.5vw, 48px) !important;

    line-height:
      1.03 !important;

    letter-spacing:
      -0.035em;
  }


  .vmp-about-hero-content > p {
    max-width:
      355px;

    margin-bottom:
      26px;

    font-size:
      16px !important;

    line-height:
      1.72;
  }


  .vmp-about-hero .vmp-button-row {
    display:
      grid;

    grid-template-columns:
      1fr;

    width:
      100%;

    gap:
      12px;
  }


  .vmp-about-hero .vmp-btn {
    width:
      100%;

    min-height:
      54px;

    justify-content:
      center;
  }


  .vmp-about-hero-proof {
    display:
      grid !important;

    grid-template-columns:
      1fr !important;

    width:
      100%;

    gap:
      9px !important;

    margin-top:
      28px !important;
  }


  .vmp-about-hero-proof span {
    display:
      flex;

    min-height:
      44px;

    align-items:
      center;

    justify-content:
      flex-start;

    padding:
      10px 15px !important;

    text-align:
      left !important;
  }


  .vmp-about-hero-proof span::before {
    display:
      inline-flex;

    width:
      22px;

    height:
      22px;

    flex:
      0 0 22px;

    align-items:
      center;

    justify-content:
      center;

    margin-right:
      10px;

    color:
      #062846;

    border-radius:
      50%;

    background:
      #65d8f5;

    content:
      "✓";

    font-size:
      11px;

    font-weight:
      900;
  }


  /* =======================================================
  GLOBAL ABOUT SECTION RHYTHM
  ======================================================= */

  .vmp-about-page .vmp-section {
    padding-top:
      68px !important;

    padding-bottom:
      68px !important;
  }


  .vmp-about-page .vmp-container {
    width:
      calc(100% - 36px);

    margin-right:
      auto;

    margin-left:
      auto;
  }


  .vmp-about-page h2 {
    margin-bottom:
      18px;

    font-size:
      clamp(31px, 8.5vw, 41px) !important;

    line-height:
      1.08 !important;

    letter-spacing:
      -0.035em;
  }


  .vmp-about-page h3 {
    line-height:
      1.2;
  }


  .vmp-about-page p {
    font-size:
      15px;

    line-height:
      1.72;
  }


  .vmp-about-page .vmp-section-lead {
    font-size:
      17px !important;

    line-height:
      1.62;
  }


  .vmp-about-page .vmp-eyebrow {
    margin-bottom:
      15px;
  }


  /* =======================================================
  INTRO SECTION
  ======================================================= */

  .vmp-about-intro-grid {
    gap:
      42px !important;
  }


  .vmp-about-intro-copy {
    order:
      1;
  }


  .vmp-about-intro-media {
    order:
      2;
  }


  .vmp-about-intro-checks {
    gap:
      11px;

    margin-top:
      24px;
  }


  .vmp-about-intro-checks > div {
    align-items:
      flex-start;

    padding:
      13px 14px;

    border:
      1px solid #d8eaf2;

    border-radius:
      9px;

    background:
      #ffffff;
  }


  .vmp-about-intro-checks p {
    font-size:
      13px;
  }


  .vmp-about-image-main {
    border-radius:
      13px;
  }


  .vmp-about-image-main img {
    min-height:
      330px !important;

    max-height:
      390px;

    object-position:
      center;

    border-radius:
      13px;
  }


  .vmp-about-experience-badge {
    position:
      relative !important;

    right:
      auto !important;

    bottom:
      auto !important;

    width:
      calc(100% - 28px) !important;

    margin:
      -34px auto 0 !important;

    padding:
      19px 20px !important;
  }


  .vmp-about-experience-badge strong {
    font-size:
      36px;
  }


  /* =======================================================
  STORY SECTION
  ======================================================= */

  .vmp-about-story-grid {
    gap:
      40px !important;
  }


  .vmp-about-story-media {
    min-height:
      330px;

    border-radius:
      13px;
  }


  .vmp-about-story-media > img {
    min-height:
      330px !important;

    height:
      330px;

    border-radius:
      13px;

    object-position:
      center;
  }


  .vmp-about-story-callout {
    left:
      12px !important;

    right:
      12px !important;

    bottom:
      12px !important;

    width:
      auto !important;

    padding:
      18px 19px !important;
  }


  .vmp-about-story-callout strong {
    font-size:
      16px !important;
  }


  /* =======================================================
  HUMAN ELEMENT CARDS
  ======================================================= */

  .vmp-about-human-grid {
    gap:
      13px !important;
  }


  .vmp-about-human-card {
    min-height:
      auto !important;

    padding:
      24px 22px !important;
  }


  .vmp-about-human-card > span {
    width:
      40px;

    height:
      40px;

    margin-bottom:
      18px;
  }


  .vmp-about-human-card h3 {
    margin-bottom:
      9px;
  }


  .vmp-about-philosophy {
    margin-top:
      28px !important;

    padding:
      27px 20px !important;

    border-radius:
      12px;
  }


  .vmp-about-philosophy blockquote {
    font-size:
      22px !important;
  }


  /* =======================================================
  EXPERIENCE SECTION
  ======================================================= */

  .vmp-about-experience-grid {
    gap:
      38px !important;
  }


  .vmp-about-experience-grid-cards {
    gap:
      12px !important;
  }


  .vmp-about-experience-grid-cards > div {
    min-height:
      auto !important;

    padding:
      23px 21px !important;
  }


  /* =======================================================
  TECHNOLOGY SECTION
  ======================================================= */

  .vmp-about-technology-grid {
    gap:
      42px !important;
  }


  .vmp-about-technology-media img {
    min-height:
      330px !important;

    height:
      330px;

    border-radius:
      13px;

    object-position:
      center;
  }


  .vmp-about-tech-badge {
    position:
      relative !important;

    left:
      auto !important;

    bottom:
      auto !important;

    width:
      calc(100% - 28px);

    max-width:
      none !important;

    margin:
      -33px auto 0 !important;

    padding:
      19px !important;
  }


  .vmp-about-technology-copy h2 {
    max-width:
      100%;
  }


  .vmp-about-tech-links {
    gap:
      9px;
  }


  .vmp-about-tech-links a {
    min-height:
      58px;

    padding:
      0 16px;
  }


  /* =======================================================
  VALUES
  ======================================================= */

  .vmp-about-values-grid {
    gap:
      12px !important;
  }


  .vmp-about-values-grid article {
    min-height:
      auto !important;

    padding:
      24px 22px !important;
  }


  /* =======================================================
  RESPONSIBILITY
  ======================================================= */

  .vmp-about-responsibility-grid {
    gap:
      36px !important;
  }


  .vmp-about-responsibility-list {
    gap:
      10px;
  }


  .vmp-about-responsibility-list > div {
    min-height:
      auto;

    padding:
      15px;
  }


  /* =======================================================
  CUSTOMER TRUST
  ======================================================= */

  .vmp-about-trust-grid {
    gap:
      38px !important;
  }


  .vmp-about-trust-score {
    padding:
      31px 24px !important;

    border-radius:
      13px;
  }


  .vmp-about-trust-score > strong {
    font-size:
      67px;
  }


  /* =======================================================
  LOOKING AHEAD
  ======================================================= */

  .vmp-about-future-inner {
    text-align:
      left !important;
  }


  .vmp-about-future-inner .vmp-eyebrow {
    justify-content:
      flex-start;
  }


  .vmp-about-future-inner > p {
    margin-right:
      0;

    margin-left:
      0;

    text-align:
      left;
  }


  .vmp-about-future-points {
    gap:
      11px !important;

    margin-top:
      28px !important;
  }


  .vmp-about-future-points > div {
    padding:
      23px 21px !important;

    text-align:
      left !important;
  }


  .vmp-about-future-closing {
    margin-top:
      28px !important;
  }


  /* =======================================================
  FINAL CTA
  ======================================================= */

  .vmp-about-final {
    min-height:
      585px !important;
  }


  .vmp-about-final-content {
    width:
      100%;

    padding-top:
      245px !important;

    padding-bottom:
      56px !important;
  }


  .vmp-about-final-content h2 {
    font-size:
      35px !important;
  }


  .vmp-about-final .vmp-button-row {
    display:
      grid;

    grid-template-columns:
      1fr;

    gap:
      11px;
  }


  .vmp-about-final .vmp-btn {
    width:
      100%;

    justify-content:
      center;
  }

}

/* =========================================================
GLOBAL MOBILE HERO + FINAL CTA SPACING RESET
========================================================= */

@media (max-width: 767px) {

  /* Remove oversized top spacing from all Velocity hero content */

  .vmp-hero-content,
  .vmp-home-hero-content,
  .vmp-subhero-content,
  .vmp-about-hero-content,
  .vmp-review-hero-copy,
  .vmp-contact-hero-content {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }


  /* Remove oversized spacing from all bottom CTA content */

  .vmp-final-content,
  .vmp-home-final-content,
  .vmp-contact-final-content,
  .vmp-review-final-content,
  .vmp-about-final-content,
  .vmp-global-cta-content {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }


  /* Prevent old page-specific rules from forcing extra height */

  .vmp-about-hero,
  .vmp-subhero,
  .vmp-review-hero,
  .vmp-contact-hero {
    min-height: auto !important;
  }

}

/* =========================================================
HOMEPAGE EXPERIENCE SECTION — MOBILE POLISH
========================================================= */

@media (max-width: 767px) {

  .vmp-experience-copy,
  .vmp-modern-copy,
  .vmp-home-experience-copy {
    padding:
      0 !important;
  }


  .vmp-experience-copy h2,
  .vmp-modern-copy h2,
  .vmp-home-experience-copy h2 {

    max-width:
      360px;

    margin-bottom:
      20px;

    font-size:
      clamp(32px, 8.7vw, 39px) !important;

    line-height:
      1.06 !important;

    letter-spacing:
      -0.035em;
  }


  .vmp-experience-copy > p,
  .vmp-modern-copy > p,
  .vmp-home-experience-copy > p {

    margin-bottom:
      18px;

    font-size:
      15px !important;

    line-height:
      1.68;
  }


  .vmp-experience-copy .vmp-section-lead,
  .vmp-modern-copy .vmp-section-lead,
  .vmp-home-experience-copy .vmp-section-lead {

    font-size:
      17px !important;

    line-height:
      1.62;
  }


  .vmp-experience-list,
  .vmp-modern-list,
  .vmp-home-experience-list {

    display:
      grid;

    gap:
      13px;

    margin-top:
      24px;
  }


  .vmp-experience-list > div,
  .vmp-modern-list > div,
  .vmp-home-experience-list > div {

    display:
      grid;

    grid-template-columns:
      23px 1fr;

    align-items:
      start;

    gap:
      10px;
  }


  .vmp-experience-list span,
  .vmp-modern-list span,
  .vmp-home-experience-list span {

    display:
      flex;

    width:
      21px;

    height:
      21px;

    align-items:
      center;

    justify-content:
      center;

    margin-top:
      2px;

    border-radius:
      50%;
  }


  .vmp-experience-list p,
  .vmp-modern-list p,
  .vmp-home-experience-list p {

    margin:
      0;

    font-size:
      14px !important;

    line-height:
      1.55;
  }


  .vmp-experience-copy .vmp-button-row,
  .vmp-modern-copy .vmp-button-row,
  .vmp-home-experience-copy .vmp-button-row {

    display:
      grid;

    grid-template-columns:
      1fr;

    gap:
      11px;

    margin-top:
      29px;
  }


  .vmp-experience-copy .vmp-btn,
  .vmp-modern-copy .vmp-btn,
  .vmp-home-experience-copy .vmp-btn {

    width:
      100%;

    min-height:
      52px;

    justify-content:
      center;
  }

}

/* =========================================================
HOMEPAGE COMPANY SECTION — MOBILE HEADING FIX
========================================================= */

@media (max-width: 767px) {

  .vmp-home
  .vmp-company-section
  .vmp-company-layout
  .vmp-content-column
  h2 {

    max-width: 340px;

    margin-bottom: 20px !important;

    font-size: 29px !important;

    line-height: 1.08 !important;

    letter-spacing: -0.035em !important;

    text-wrap: balance;
  }

}

@media (max-width: 767px) {

  .vmp-final-cta {
    align-items: center !important;
  }

  .vmp-final-cta-content {
    transform: translateY(-20px);
  }

}

/* =========================================================
VELOCITY SERVICE AREAS PAGE
========================================================= */


/* =========================================================
HERO
========================================================= */

.vmp-area-hero {
  position: relative;
  display: flex;
  min-height: 660px;
  align-items: center;
  overflow: hidden;
  background: #06172d;
}

.vmp-area-hero-bg {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(4,19,39,.99),
      rgba(5,27,52,.93) 39%,
      rgba(5,30,58,.5) 67%,
      rgba(4,21,40,.08)
    ),
    url(
      "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-master-plumbing-subpage-vp.png"
    );

  background-position: center;
  background-size: cover;
}

.vmp-area-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(330px, .55fr);
  align-items: center;
  gap: 85px;
}

.vmp-area-hero-copy {
  max-width: 730px;
  padding: 100px 0;
}

.vmp-area-hero h1 {
  color: #ffffff;
}

.vmp-area-hero-copy > p {
  max-width: 670px;
  color: rgba(255,255,255,.8);
  font-size: 19px;
}

.vmp-area-hero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 30px;
}

.vmp-area-hero-proof span {
  padding: 10px 15px;
  color: #ffffff;
  border: 1px solid rgba(113,220,248,.28);
  border-radius: 999px;
  background: rgba(7,47,83,.68);
  font-size: 12px;
  transition:
    transform .28s ease,
    border-color .28s ease,
    box-shadow .28s ease;
}

.vmp-area-hero-proof span:hover {
  transform: translateY(-5px);
  border-color: rgba(111,223,249,.8);
  box-shadow:
    0 15px 32px rgba(0,0,0,.28),
    0 0 24px rgba(34,183,232,.17);
}


/* =========================================================
RATING CARD
========================================================= */

.vmp-area-rating-card {
  position: relative;
  display: flex;
  overflow: hidden;
  flex-direction: column;
  padding: 42px;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 17px;
  background:
    linear-gradient(
      145deg,
      rgba(16,79,125,.84),
      rgba(5,29,55,.94)
    );
  box-shadow:
    0 30px 80px rgba(0,0,0,.34);
  text-decoration: none !important;
  backdrop-filter: blur(12px);
  transition:
    transform .32s ease,
    border-color .32s ease,
    box-shadow .32s ease;
}

.vmp-area-rating-card::after {
  position: absolute;
  right: -90px;
  bottom: -100px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background:
    radial-gradient(
      circle,
      rgba(55,202,242,.34),
      transparent 68%
    );
  content: "";
}

.vmp-area-rating-card:hover {
  transform: translateY(-9px);
  border-color: rgba(103,222,249,.75);
  box-shadow:
    0 38px 90px rgba(0,0,0,.42),
    0 0 35px rgba(34,183,232,.17);
}

.vmp-area-rating-card > * {
  position: relative;
  z-index: 2;
}

.vmp-area-rating-card > span {
  color: #8ce2f9;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.vmp-area-rating-card > strong {
  margin-top: 18px;
  font-size: 82px;
  line-height: .9;
}

.vmp-area-rating-card > div {
  margin-top: 13px;
  color: #ffc247;
  font-size: 20px;
  letter-spacing: .11em;
}

.vmp-area-rating-card h2 {
  margin:
    24px 0 11px;
  color: #ffffff;
  font-size: 28px;
}

.vmp-area-rating-card p {
  color: rgba(255,255,255,.7);
  font-size: 14px;
}

.vmp-area-rating-card small {
  margin-top: 15px;
  color: #78ddf7;
  font-size: 13px;
  font-weight: 850;
}


/* =========================================================
PROOF STRIP
========================================================= */

.vmp-area-proof-strip {
  position: relative;
  z-index: 5;
  margin-top: -45px;
}

.vmp-area-proof-grid {
  display: grid;
  grid-template-columns:
    repeat(4, 1fr);
  overflow: hidden;
  border: 1px solid #d3e7f0;
  border-radius: 13px;
  background: #ffffff;
  box-shadow:
    0 22px 58px rgba(9,67,104,.15);
}

.vmp-area-proof-grid > div {
  position: relative;
  display: flex;
  min-height: 125px;
  overflow: hidden;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px;
  border-right: 1px solid #dcebf2;
  text-align: center;
  transition:
    transform .3s ease,
    background .3s ease,
    box-shadow .3s ease;
}

.vmp-area-proof-grid > div:last-child {
  border-right: 0;
}

.vmp-area-proof-grid > div::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 0;
  height: 4px;
  background:
    linear-gradient(
      90deg,
      #0879c9,
      #22b7e8,
      #79dcf6
    );
  content: "";
  transform: translateX(-50%);
  transition: width .35s ease;
}

.vmp-area-proof-grid > div:hover {
  z-index: 2;
  transform:
    translateY(-7px)
    scale(1.02);
  background:
    linear-gradient(
      145deg,
      #ffffff,
      #edf9fd
    );
  box-shadow:
    0 23px 48px rgba(7,89,139,.16);
}

.vmp-area-proof-grid > div:hover::before {
  width: 100%;
}

.vmp-area-proof-grid strong {
  color: #0879c9;
  font-size: 29px;
}

.vmp-area-proof-grid span {
  margin-top: 5px;
  color: #647286;
  font-size: 12px;
  font-weight: 750;
}


/* =========================================================
COVERAGE
========================================================= */

.vmp-area-coverage {
  padding-top: 150px;
  background:
    linear-gradient(
      135deg,
      #edf9fd,
      #f9fdff
    );
}

.vmp-area-coverage-grid {
  display: grid;
  grid-template-columns:
    minmax(0, .9fr)
    minmax(440px, .82fr);
  align-items: center;
  gap: 90px;
}

.vmp-area-check-list {
  display: grid;
  gap: 12px;
  margin-top: 29px;
}

.vmp-area-check-list > div {
  display: flex;
  align-items: center;
  gap: 12px;
}

.vmp-area-check-list span {
  display: flex;
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  border-radius: 50%;
  background:
    linear-gradient(
      135deg,
      #0879c9,
      #22b7e8
    );
  font-size: 11px;
}

.vmp-area-check-list p {
  margin: 0;
  color: #40536a;
  font-size: 14px;
  font-weight: 750;
}


/* =========================================================
MAP
========================================================= */

.vmp-area-map-card {
  position: relative;
  overflow: hidden;
  min-height: 470px;
  padding: 25px;
  border: 1px solid #c9e5f0;
  border-radius: 17px;
  background:
    radial-gradient(
      circle at 72% 44%,
      rgba(34,183,232,.2),
      transparent 28%
    ),
    linear-gradient(
      145deg,
      #06172d,
      #0b315c
    );
  box-shadow:
    0 28px 68px rgba(8,67,105,.18);
  transition:
    transform .34s ease,
    box-shadow .34s ease;
}

.vmp-area-map-card:hover {
  transform: translateY(-8px);
  box-shadow:
    0 37px 85px rgba(7,61,98,.25);
}

.vmp-area-map-card img {
  display: block;
  width: 100%;
  height: 420px;
  object-fit: contain;
  transition:
    transform .55s ease,
    filter .55s ease;
}

.vmp-area-map-card:hover img {
  transform: scale(1.035);
  filter:
    brightness(1.06)
    saturate(1.08);
}

.vmp-area-map-badge {
  position: absolute;
  left: 25px;
  bottom: 25px;
  display: flex;
  max-width: 305px;
  flex-direction: column;
  padding: 21px 23px;
  border-left: 4px solid #22b7e8;
  border-radius: 10px;
  background: rgba(255,255,255,.96);
  box-shadow:
    0 19px 45px rgba(2,27,50,.26);
}

.vmp-area-map-badge span {
  color: #0879c9;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.vmp-area-map-badge strong {
  margin-top: 7px;
  color: #10233d;
  font-size: 16px;
  line-height: 1.35;
}

.vmp-area-quick-links {
  display: grid;
  grid-template-columns:
    repeat(2, 1fr);
  gap: 10px;
  margin-top: 15px;
}

.vmp-area-quick-links a {
  display: flex;
  min-height: 65px;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  color: #132641 !important;
  border: 1px solid #cce5ef;
  border-radius: 10px;
  background: #ffffff;
  font-size: 14px;
  font-weight: 850;
  text-decoration: none !important;
  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
}

.vmp-area-quick-links a:hover {
  transform: translateY(-5px);
  border-color: #87d2e9;
  box-shadow:
    0 17px 36px rgba(8,71,109,.13);
}

.vmp-area-quick-links span {
  color: #22b7e8;
  font-size: 18px;
}


/* =========================================================
CITY CARDS
========================================================= */

.vmp-area-cities {
  background: #ffffff;
}

.vmp-area-city-grid {
  display: grid;
  grid-template-columns:
    repeat(4, 1fr);
  gap: 17px;
}

.vmp-area-city-card {
  position: relative;
  display: flex;
  min-height: 370px;
  overflow: hidden;
  flex-direction: column;
  justify-content: space-between;
  padding: 29px;
  color: inherit !important;
  border: 1px solid #d5e8f1;
  border-radius: 13px;
  background:
    linear-gradient(
      145deg,
      #f7fcfe,
      #ffffff
    );
  box-shadow:
    0 14px 34px rgba(9,70,105,.06);
  text-decoration: none !important;
  transition:
    transform .31s ease,
    border-color .31s ease,
    box-shadow .31s ease;
}

.vmp-area-city-card::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 4px;
  background:
    linear-gradient(
      90deg,
      #0879c9,
      #22b7e8
    );
  content: "";
  transition: width .35s ease;
}

.vmp-area-city-card::after {
  position: absolute;
  right: -75px;
  bottom: -90px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background:
    radial-gradient(
      circle,
      rgba(34,183,232,.14),
      transparent 68%
    );
  content: "";
  opacity: 0;
  transition:
    opacity .35s ease,
    transform .4s ease;
}

.vmp-area-city-card:hover {
  transform: translateY(-10px);
  border-color: #98d9eb;
  box-shadow:
    0 28px 60px rgba(7,69,107,.15);
}

.vmp-area-city-card:hover::before {
  width: 100%;
}

.vmp-area-city-card:hover::after {
  opacity: 1;
  transform: scale(1.2);
}

.vmp-area-city-card > * {
  position: relative;
  z-index: 2;
}

.vmp-area-city-card > span {
  display: flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  color: #062846;
  border-radius: 9px;
  background:
    linear-gradient(
      135deg,
      #82e1f8,
      #32bde8
    );
}

.vmp-area-city-card small {
  color: #0879c9;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.vmp-area-city-card h3 {
  margin:
    10px 0 13px;
  color: #10233d;
}

.vmp-area-city-card p {
  font-size: 14px;
}

.vmp-area-city-card > strong {
  padding-top: 18px;
  color: #0879c9;
  border-top: 1px solid #d6e8f0;
  font-size: 13px;
}

.vmp-area-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  margin-top: 38px;
  padding: 30px;
  border-radius: 13px;
  color: #ffffff;
  background:
    linear-gradient(
      135deg,
      #071a33,
      #0b3b68
    );
}

.vmp-area-note > div {
  max-width: 760px;
}

.vmp-area-note span {
  color: #7adcf6;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.vmp-area-note p {
  margin:
    8px 0 0;
  color: rgba(255,255,255,.73);
}


/* =========================================================
REGIONAL SERVICES
========================================================= */

.vmp-area-services {
  color: #ffffff;
  background:
    radial-gradient(
      circle at 91% 15%,
      rgba(34,183,232,.2),
      transparent 30%
    ),
    linear-gradient(
      135deg,
      #06172d,
      #0b315b
    );
}

.vmp-area-services-grid {
  display: grid;
  grid-template-columns:
    minmax(0, .7fr)
    minmax(0, 1fr);
  align-items: center;
  gap: 80px;
}

.vmp-area-services h2 {
  color: #ffffff;
}

.vmp-area-services-copy p {
  color: rgba(255,255,255,.72);
}

.vmp-area-service-links {
  display: grid;
  gap: 11px;
}

.vmp-area-service-links a {
  display: grid;
  grid-template-columns:
    48px 1fr 24px;
  align-items: center;
  gap: 17px;
  min-height: 92px;
  padding: 16px 20px;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 10px;
  background: rgba(255,255,255,.055);
  text-decoration: none !important;
  transition:
    transform .28s ease,
    border-color .28s ease,
    background .28s ease;
}

.vmp-area-service-links a:hover {
  transform: translateX(8px);
  border-color: rgba(102,222,249,.65);
  background: rgba(34,183,232,.12);
}

.vmp-area-service-links a > span {
  display: flex;
  width: 43px;
  height: 43px;
  align-items: center;
  justify-content: center;
  color: #062846;
  border-radius: 8px;
  background:
    linear-gradient(
      135deg,
      #82e1f8,
      #32bde8
    );
}

.vmp-area-service-links strong {
  display: block;
  color: #ffffff;
}

.vmp-area-service-links small {
  display: block;
  margin-top: 5px;
  color: rgba(255,255,255,.62);
  font-size: 12px;
}

.vmp-area-service-links b {
  color: #71daf5;
  font-size: 20px;
}


/* =========================================================
LOCAL EXPERIENCE
========================================================= */

.vmp-area-local {
  background:
    linear-gradient(
      135deg,
      #edf9fd,
      #ffffff
    );
}

.vmp-area-local-grid {
  display: grid;
  grid-template-columns:
    repeat(4, 1fr);
  gap: 17px;
}

.vmp-area-local-grid article {
  min-height: 285px;
  padding: 29px;
  border: 1px solid #d5e8f1;
  border-radius: 12px;
  background: #ffffff;
  box-shadow:
    0 14px 34px rgba(9,70,105,.06);
  transition:
    transform .3s ease,
    border-color .3s ease,
    box-shadow .3s ease;
}

.vmp-area-local-grid article:hover {
  transform: translateY(-9px);
  border-color: #98d9eb;
  box-shadow:
    0 27px 56px rgba(7,69,107,.14);
}

.vmp-area-local-grid article > span {
  display: flex;
  width: 43px;
  height: 43px;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  color: #062846;
  border-radius: 9px;
  background:
    linear-gradient(
      135deg,
      #82e1f8,
      #32bde8
    );
}


/* =========================================================
REVIEW
========================================================= */

.vmp-area-review {
  background: #ffffff;
}

.vmp-area-review-grid {
  display: grid;
  grid-template-columns:
    minmax(320px, .55fr)
    minmax(0, 1fr);
  align-items: stretch;
  gap: 35px;
}

.vmp-area-review-score {
  display: flex;
  flex-direction: column;
  padding: 43px;
  color: #ffffff;
  border-radius: 16px;
  background:
    linear-gradient(
      145deg,
      #071b35,
      #0b3d6b
    );
  box-shadow:
    0 30px 72px rgba(5,44,77,.22);
}

.vmp-area-review-score > span {
  color: #7bdcf6;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.vmp-area-review-score > strong {
  margin-top: 19px;
  font-size: 79px;
  line-height: .9;
}

.vmp-area-review-score > div {
  margin-top: 14px;
  color: #ffc248;
  letter-spacing: .11em;
}

.vmp-area-review-score h3 {
  margin:
    24px 0 18px;
  color: #ffffff;
}

.vmp-area-review-score a {
  color: #7adcf6 !important;
  font-size: 13px;
  font-weight: 850;
  text-decoration: none !important;
}

.vmp-area-featured-review {
  padding: 48px;
  border: 1px solid #d3e8f0;
  border-radius: 16px;
  background:
    linear-gradient(
      135deg,
      #edf9fd,
      #ffffff
    );
  box-shadow:
    0 22px 58px rgba(11,73,108,.1);
}

.vmp-area-featured-review blockquote {
  margin:
    25px 0 20px;
  color: #10233d;
  font-size:
    clamp(25px, 3vw, 38px);
  font-weight: 760;
  line-height: 1.35;
  letter-spacing: -.025em;
}

.vmp-area-featured-review > p {
  color: #56677d;
  font-size: 15px;
}

.vmp-area-featured-review > strong {
  display: block;
  margin-top: 25px;
  color: #10233d;
}

.vmp-area-featured-review > small {
  color: #728196;
}


/* =========================================================
FAQ
========================================================= */

.vmp-area-faq {
  background:
    linear-gradient(
      135deg,
      #edf9fd,
      #f9fdff
    );
}

.vmp-area-faq-grid {
  display: grid;
  grid-template-columns:
    minmax(0, .64fr)
    minmax(0, 1fr);
  align-items: start;
  gap: 80px;
}

.vmp-area-faq-list {
  display: grid;
  gap: 10px;
}

.vmp-area-faq-list details {
  overflow: hidden;
  border: 1px solid #d2e7f0;
  border-radius: 9px;
  background: #ffffff;
}

.vmp-area-faq-list summary {
  position: relative;
  padding: 20px 52px 20px 21px;
  color: #10233d;
  cursor: pointer;
  font-size: 14px;
  font-weight: 800;
  list-style: none;
}

.vmp-area-faq-list summary::-webkit-details-marker {
  display: none;
}

.vmp-area-faq-list summary::after {
  position: absolute;
  top: 50%;
  right: 20px;
  color: #22b7e8;
  content: "+";
  font-size: 21px;
  transform: translateY(-50%);
}

.vmp-area-faq-list details[open]
summary::after {
  content: "−";
}

.vmp-area-faq-list details p {
  margin: 0;
  padding: 0 21px 22px;
  font-size: 14px;
}


/* =========================================================
FINAL CTA
========================================================= */

.vmp-area-final {
  position: relative;
  display: flex;
  min-height: 545px;
  align-items: center;
  overflow: hidden;
  background: #06172d;
}

.vmp-area-final-bg {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(4,19,38,.99) 0%,
      rgba(5,27,52,.95) 39%,
      rgba(5,31,58,.5) 67%,
      rgba(4,21,40,.08) 100%
    ),
    url(
      "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-technician.png"
    );

  background-position: center;
  background-size: cover;
}

.vmp-area-final-content {
  position: relative;
  z-index: 2;
  width: min(720px, 100%);
  padding: 95px 0;
}

.vmp-area-final h2 {
  color: #ffffff;
}

.vmp-area-final p {
  color: rgba(255,255,255,.78);
}


/* =========================================================
TABLET
========================================================= */

@media (max-width: 1050px) {

  .vmp-area-hero-grid,
  .vmp-area-coverage-grid,
  .vmp-area-services-grid,
  .vmp-area-review-grid,
  .vmp-area-faq-grid {
    grid-template-columns: 1fr;
    gap: 55px;
  }

  .vmp-area-rating-card {
    max-width: 520px;
    margin-bottom: 80px;
  }

  .vmp-area-city-grid,
  .vmp-area-local-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }

}


/* =========================================================
MOBILE
========================================================= */

@media (max-width: 767px) {


  /* HERO */

  .vmp-area-hero {
    min-height: auto;
    align-items: flex-end;
  }

  .vmp-area-hero-bg {
    background:
      linear-gradient(
        180deg,
        rgba(5,22,42,.17),
        rgba(5,22,42,.98) 59%
      ),
      url(
        "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-master-plumbing-subpage-vp.png"
      );

    background-position: 68% center;
  }

  .vmp-area-hero-copy {
    padding:
      150px 0 32px !important;
  }

  .vmp-area-hero h1 {
    font-size:
      clamp(39px, 10.5vw, 49px) !important;
    line-height:
      1.03 !important;
  }

  .vmp-area-hero-copy > p {
    font-size:
      16px;
    line-height:
      1.7;
  }

  .vmp-area-hero .vmp-button-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 11px;
  }

  .vmp-area-hero .vmp-btn {
    width: 100%;
    justify-content: center;
  }

  .vmp-area-hero-proof {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .vmp-area-hero-proof span {
    width: 100%;
    text-align: center;
  }

  .vmp-area-rating-card {
    margin:
      0 0 75px;
    padding:
      30px 26px;
  }

  .vmp-area-rating-card > strong {
    font-size:
      66px;
  }


  /* PROOF STRIP */

  .vmp-area-proof-strip {
    margin-top:
      -36px;
  }

  .vmp-area-proof-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }

  .vmp-area-proof-grid > div {
    min-height:
      112px;
    border-bottom:
      1px solid #dcebf2;
  }

  .vmp-area-proof-grid > div:nth-child(2) {
    border-right:
      0;
  }

  .vmp-area-proof-grid strong {
    font-size:
      24px;
  }


  /* SECTIONS */

  .vmp-area-page .vmp-section {
    padding-top:
      68px !important;
    padding-bottom:
      68px !important;
  }

  .vmp-area-page h2 {
    font-size:
      clamp(31px, 8.6vw, 40px) !important;
    line-height:
      1.08 !important;
    letter-spacing:
      -.035em;
  }

  .vmp-area-page p {
    font-size:
      15px;
    line-height:
      1.72;
  }


  /* COVERAGE */

  .vmp-area-coverage {
    padding-top:
      100px !important;
  }

  .vmp-area-coverage-grid {
    gap:
      42px !important;
  }

  .vmp-area-check-list > div {
    align-items:
      flex-start;
    padding:
      13px;
    border:
      1px solid #d5e8f1;
    border-radius:
      9px;
    background:
      #ffffff;
  }


  /* MAP */

  .vmp-area-map-card {
    min-height:
      370px;
    padding:
      13px;
    border-radius:
      14px;
  }

  .vmp-area-map-card img {
    height:
      345px;
  }

  .vmp-area-map-badge {
    left:
      14px;
    right:
      14px;
    bottom:
      14px;
    max-width:
      none;
    padding:
      18px;
  }

  .vmp-area-quick-links {
    grid-template-columns:
      repeat(2, 1fr);
    gap:
      8px;
  }

  .vmp-area-quick-links a {
    min-height:
      58px;
    padding:
      0 14px;
    font-size:
      13px;
  }


  /* CITY CARDS */

  .vmp-area-city-grid,
  .vmp-area-local-grid {
    grid-template-columns:
      1fr;
  }

  .vmp-area-city-card {
    min-height:
      auto;
    padding:
      24px 22px;
  }

  .vmp-area-city-card > span {
    margin-bottom:
      24px;
  }

  .vmp-area-note {
    align-items:
      stretch;
    flex-direction:
      column;
    padding:
      25px 22px;
  }

  .vmp-area-note .vmp-btn {
    width:
      100%;
    justify-content:
      center;
  }


  /* SERVICES */

  .vmp-area-services-grid {
    gap:
      38px !important;
  }

  .vmp-area-service-links a {
    grid-template-columns:
      42px 1fr 18px;
    min-height:
      86px;
    gap:
      13px;
    padding:
      15px;
  }

  .vmp-area-service-links a > span {
    width:
      39px;
    height:
      39px;
  }


  /* LOCAL */

  .vmp-area-local-grid article {
    min-height:
      auto;
    padding:
      24px 22px;
  }


  /* REVIEW */

  .vmp-area-review-grid {
    gap:
      20px !important;
  }

  .vmp-area-review-score {
    padding:
      31px 25px;
  }

  .vmp-area-review-score > strong {
    font-size:
      67px;
  }

  .vmp-area-featured-review {
    padding:
      29px 23px;
  }

  .vmp-area-featured-review blockquote {
    font-size:
      24px;
  }


  /* FAQ */

  .vmp-area-faq-grid {
    gap:
      37px !important;
  }


  /* FINAL CTA */

  .vmp-area-final {
    min-height:
      580px;
    align-items:
      center !important;
  }

  .vmp-area-final-bg {
    background:
      linear-gradient(
        180deg,
        rgba(4,20,39,.08) 0%,
        rgba(4,21,41,.47) 42%,
        rgba(4,20,39,.98) 74%,
        #041427 100%
      ),
      url(
        "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-technician.png"
      );

    background-position:
      68% center;
  }

  .vmp-area-final-content {
    padding:
      205px 0 55px !important;
  }

  .vmp-area-final .vmp-button-row {
    display:
      grid;
    grid-template-columns:
      1fr;
    gap:
      11px;
  }

  .vmp-area-final .vmp-btn {
    width:
      100%;
    justify-content:
      center;
  }

}

/* =========================================================
REMOVE ELEMENTOR TABLET + MOBILE PAGE PADDING
Service Areas Page
========================================================= */

@media (max-width: 1024px) {

  .elementor-25
  .elementor-element.elementor-element-176c30d5 {

    --padding-top: 0 !important;
    --padding-bottom: 0 !important;
    --padding-left: 0 !important;
    --padding-right: 0 !important;

    padding: 0 !important;
  }

}

/* =========================================================
VELOCITY PLUMBING SERVICES HUB
========================================================= */


/* =========================================================
HERO
========================================================= */

.vmp-plumbing-hero {
  position: relative;
  display: flex;
  min-height: 660px;
  align-items: center;
  overflow: hidden;
  background: #06172d;
}

.vmp-plumbing-hero-bg {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(4,19,39,.99),
      rgba(5,27,52,.93) 40%,
      rgba(5,30,58,.5) 68%,
      rgba(4,21,40,.08)
    ),
    url(
      "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-master-plumbing-subpage-vp.png"
    );

  background-position: center;
  background-size: cover;
}

.vmp-plumbing-hero-grid {
  position: relative;
  z-index: 2;

  display: grid;

  grid-template-columns:
    minmax(0, 1fr)
    minmax(335px, .55fr);

  align-items: center;

  gap: 84px;
}

.vmp-plumbing-hero-copy {
  max-width: 750px;

  padding:
    100px 0;
}

.vmp-plumbing-hero h1 {
  color: #ffffff;
}

.vmp-plumbing-hero-copy > p {
  max-width: 680px;

  color:
    rgba(255,255,255,.8);

  font-size:
    19px;
}

.vmp-plumbing-hero-proof {
  display: flex;

  flex-wrap: wrap;

  gap: 10px;

  margin-top:
    30px;
}

.vmp-plumbing-hero-proof span {
  padding:
    10px 15px;

  color:
    #ffffff;

  border:
    1px solid rgba(113,220,248,.29);

  border-radius:
    999px;

  background:
    rgba(7,47,83,.68);

  font-size:
    12px;

  transition:
    transform .28s ease,
    border-color .28s ease,
    box-shadow .28s ease;
}

.vmp-plumbing-hero-proof span:hover {
  transform:
    translateY(-5px);

  border-color:
    rgba(111,223,249,.8);

  box-shadow:
    0 15px 32px rgba(0,0,0,.28),
    0 0 24px rgba(34,183,232,.17);
}


/* =========================================================
RATING CARD
========================================================= */

.vmp-plumbing-rating-card {
  position: relative;

  display: flex;

  overflow: hidden;

  flex-direction: column;

  padding:
    42px;

  color:
    #ffffff !important;

  border:
    1px solid rgba(255,255,255,.2);

  border-radius:
    17px;

  background:
    linear-gradient(
      145deg,
      rgba(16,79,125,.85),
      rgba(5,29,55,.95)
    );

  box-shadow:
    0 30px 80px rgba(0,0,0,.34);

  text-decoration:
    none !important;

  backdrop-filter:
    blur(12px);

  transition:
    transform .32s ease,
    border-color .32s ease,
    box-shadow .32s ease;
}

.vmp-plumbing-rating-card::after {
  position: absolute;

  right: -85px;

  bottom: -95px;

  width: 255px;

  height: 255px;

  border-radius:
    50%;

  background:
    radial-gradient(
      circle,
      rgba(55,202,242,.34),
      transparent 68%
    );

  content:
    "";
}

.vmp-plumbing-rating-card:hover {
  transform:
    translateY(-9px);

  border-color:
    rgba(103,222,249,.75);

  box-shadow:
    0 38px 90px rgba(0,0,0,.42),
    0 0 35px rgba(34,183,232,.17);
}

.vmp-plumbing-rating-card > * {
  position: relative;

  z-index: 2;
}

.vmp-plumbing-rating-card > span {
  color:
    #8ce2f9;

  font-size:
    9px;

  font-weight:
    900;

  letter-spacing:
    .16em;

  text-transform:
    uppercase;
}

.vmp-plumbing-rating-card > strong {
  margin-top:
    18px;

  font-size:
    82px;

  line-height:
    .9;
}

.vmp-plumbing-rating-card > div {
  margin-top:
    13px;

  color:
    #ffc247;

  font-size:
    20px;

  letter-spacing:
    .11em;
}

.vmp-plumbing-rating-card h2 {
  margin:
    24px 0 11px;

  color:
    #ffffff;

  font-size:
    27px;
}

.vmp-plumbing-rating-card p {
  color:
    rgba(255,255,255,.7);

  font-size:
    14px;
}

.vmp-plumbing-rating-card small {
  margin-top:
    15px;

  color:
    #78ddf7;

  font-size:
    13px;

  font-weight:
    850;
}


/* =========================================================
PROOF STRIP
========================================================= */

.vmp-plumbing-proof-strip {
  position: relative;

  z-index: 5;

  margin-top:
    -45px;
}

.vmp-plumbing-proof-grid {
  display: grid;

  grid-template-columns:
    repeat(4, 1fr);

  overflow: hidden;

  border:
    1px solid #d3e7f0;

  border-radius:
    13px;

  background:
    #ffffff;

  box-shadow:
    0 22px 58px rgba(9,67,104,.15);
}

.vmp-plumbing-proof-grid > div {
  position: relative;

  display: flex;

  min-height:
    125px;

  overflow: hidden;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  padding:
    20px;

  border-right:
    1px solid #dcebf2;

  text-align:
    center;

  transition:
    transform .3s ease,
    background .3s ease,
    box-shadow .3s ease;
}

.vmp-plumbing-proof-grid > div:last-child {
  border-right:
    0;
}

.vmp-plumbing-proof-grid > div::before {
  position: absolute;

  top: 0;

  left: 50%;

  width: 0;

  height: 4px;

  background:
    linear-gradient(
      90deg,
      #0879c9,
      #22b7e8,
      #79dcf6
    );

  content:
    "";

  transform:
    translateX(-50%);

  transition:
    width .35s ease;
}

.vmp-plumbing-proof-grid > div:hover {
  z-index: 2;

  transform:
    translateY(-7px)
    scale(1.02);

  background:
    linear-gradient(
      145deg,
      #ffffff,
      #edf9fd
    );

  box-shadow:
    0 23px 48px rgba(7,89,139,.16);
}

.vmp-plumbing-proof-grid > div:hover::before {
  width:
    100%;
}

.vmp-plumbing-proof-grid strong {
  color:
    #0879c9;

  font-size:
    28px;
}

.vmp-plumbing-proof-grid span {
  margin-top:
    5px;

  color:
    #647286;

  font-size:
    12px;

  font-weight:
    750;
}


/* =========================================================
INTRO
========================================================= */

.vmp-plumbing-intro {
  padding-top:
    150px;

  background:
    linear-gradient(
      135deg,
      #edf9fd,
      #ffffff
    );
}

.vmp-plumbing-intro-grid {
  display: grid;

  grid-template-columns:
    minmax(0, .92fr)
    minmax(420px, .75fr);

  align-items: center;

  gap:
    90px;
}

.vmp-plumbing-check-list {
  display: grid;

  gap:
    12px;

  margin-top:
    29px;
}

.vmp-plumbing-check-list > div {
  display: flex;

  align-items: center;

  gap:
    12px;
}

.vmp-plumbing-check-list span {
  display: flex;

  width:
    27px;

  height:
    27px;

  flex:
    0 0 27px;

  align-items: center;

  justify-content: center;

  color:
    #ffffff;

  border-radius:
    50%;

  background:
    linear-gradient(
      135deg,
      #0879c9,
      #22b7e8
    );

  font-size:
    11px;
}

.vmp-plumbing-check-list p {
  margin:
    0;

  color:
    #40536a;

  font-size:
    14px;

  font-weight:
    750;
}

.vmp-plumbing-intro-media {
  position: relative;
}

.vmp-plumbing-intro-image {
  overflow: hidden;

  border-radius:
    16px;

  box-shadow:
    0 28px 68px rgba(8,67,105,.16);
}

.vmp-plumbing-intro-image img {
  display: block;

  width:
    100%;

  min-height:
    555px;

  object-fit:
    cover;

  transition:
    transform .62s ease,
    filter .45s ease;
}

.vmp-plumbing-intro-image:hover img {
  transform:
    scale(1.045);

  filter:
    contrast(1.05)
    saturate(1.07);
}

.vmp-plumbing-intro-badge {
  position: absolute;

  right:
    -25px;

  bottom:
    32px;

  display: flex;

  width:
    235px;

  flex-direction: column;

  padding:
    24px;

  border-left:
    4px solid #22b7e8;

  border-radius:
    10px;

  background:
    #ffffff;

  box-shadow:
    0 21px 48px rgba(8,62,96,.18);
}

.vmp-plumbing-intro-badge strong {
  color:
    #10233d;

  font-size:
    18px;
}

.vmp-plumbing-intro-badge span {
  margin-top:
    7px;

  color:
    #68778b;

  font-size:
    12px;

  line-height:
    1.55;
}


/* =========================================================
SERVICE CARDS
========================================================= */

.vmp-plumbing-services {
  background:
    #ffffff;
}

.vmp-plumbing-service-grid {
  display: grid;

  grid-template-columns:
    repeat(4, 1fr);

  gap:
    17px;
}

.vmp-plumbing-service-card {
  position: relative;

  display: flex;

  min-height:
    390px;

  overflow: hidden;

  flex-direction: column;

  justify-content: space-between;

  padding:
    29px;

  color:
    inherit !important;

  border:
    1px solid #d5e8f1;

  border-radius:
    13px;

  background:
    linear-gradient(
      145deg,
      #f7fcfe,
      #ffffff
    );

  box-shadow:
    0 14px 34px rgba(9,70,105,.06);

  text-decoration:
    none !important;

  transition:
    transform .31s ease,
    border-color .31s ease,
    box-shadow .31s ease;
}

.vmp-plumbing-service-card::before {
  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 5px;

  background:
    linear-gradient(
      90deg,
      #0879c9,
      #22b7e8
    );

  content:
    "";

  transform:
    scaleX(0);

  transform-origin:
    left;

  transition:
    transform .35s ease;
}

.vmp-plumbing-service-card::after {
  position: absolute;

  right:
    -80px;

  bottom:
    -95px;

  width:
    230px;

  height:
    230px;

  border-radius:
    50%;

  background:
    radial-gradient(
      circle,
      rgba(34,183,232,.17),
      transparent 68%
    );

  content:
    "";

  opacity:
    0;

  transition:
    opacity .35s ease,
    transform .45s ease;
}

.vmp-plumbing-service-card:hover {
  transform:
    translateY(-11px);

  border-color:
    #95d8eb;

  box-shadow:
    0 30px 65px rgba(7,69,107,.16);
}

.vmp-plumbing-service-card:hover::before {
  transform:
    scaleX(1);
}

.vmp-plumbing-service-card:hover::after {
  opacity:
    1;

  transform:
    scale(1.25);
}

.vmp-plumbing-service-card > * {
  position: relative;

  z-index: 2;
}

.vmp-service-number {
  display: flex;

  width:
    45px;

  height:
    45px;

  align-items: center;

  justify-content: center;

  color:
    #062846;

  border-radius:
    9px;

  background:
    linear-gradient(
      135deg,
      #82e1f8,
      #32bde8
    );
}

.vmp-plumbing-service-card small {
  color:
    #0879c9;

  font-size:
    8px;

  font-weight:
    900;

  letter-spacing:
    .14em;

  text-transform:
    uppercase;
}

.vmp-plumbing-service-card h3 {
  margin:
    10px 0 14px;

  color:
    #10233d;

  line-height:
    1.18;
}

.vmp-plumbing-service-card p {
  font-size:
    14px;
}

.vmp-plumbing-service-card > strong {
  padding-top:
    18px;

  color:
    #0879c9;

  border-top:
    1px solid #d6e8f0;

  font-size:
    13px;
}

.vmp-service-card-wide {
  grid-column:
    span 2;
}

.vmp-plumbing-service-note {
  display: flex;

  align-items: center;

  justify-content: space-between;

  gap:
    35px;

  margin-top:
    38px;

  padding:
    31px;

  border-radius:
    13px;

  color:
    #ffffff;

  background:
    linear-gradient(
      135deg,
      #071a33,
      #0b3b68
    );
}

.vmp-plumbing-service-note > div {
  max-width:
    780px;
}

.vmp-plumbing-service-note span {
  color:
    #7adcf6;

  font-size:
    9px;

  font-weight:
    900;

  letter-spacing:
    .14em;

  text-transform:
    uppercase;
}

.vmp-plumbing-service-note p {
  margin:
    8px 0 0;

  color:
    rgba(255,255,255,.73);
}


/* =========================================================
COMMON CONCERNS
========================================================= */

.vmp-plumbing-concerns {
  color:
    #ffffff;

  background:
    radial-gradient(
      circle at 91% 15%,
      rgba(34,183,232,.2),
      transparent 30%
    ),
    linear-gradient(
      135deg,
      #06172d,
      #0b315b
    );
}

.vmp-plumbing-concerns-grid {
  display: grid;

  grid-template-columns:
    minmax(0, .72fr)
    minmax(0, 1fr);

  align-items: center;

  gap:
    80px;
}

.vmp-plumbing-concerns h2 {
  color:
    #ffffff;
}

.vmp-plumbing-concerns-copy p {
  color:
    rgba(255,255,255,.72);
}

.vmp-plumbing-concern-list {
  display: grid;

  gap:
    12px;
}

.vmp-plumbing-concern-list article {
  display: grid;

  grid-template-columns:
    48px 1fr;

  gap:
    18px;

  align-items: start;

  padding:
    24px;

  border:
    1px solid rgba(255,255,255,.14);

  border-radius:
    11px;

  background:
    rgba(255,255,255,.055);

  transition:
    transform .29s ease,
    border-color .29s ease,
    background .29s ease,
    box-shadow .29s ease;
}

.vmp-plumbing-concern-list article:hover {
  transform:
    translateX(9px);

  border-color:
    rgba(103,222,249,.65);

  background:
    rgba(34,183,232,.13);

  box-shadow:
    0 20px 44px rgba(0,0,0,.18);
}

.vmp-plumbing-concern-list article > span {
  display: flex;

  width:
    45px;

  height:
    45px;

  align-items: center;

  justify-content: center;

  color:
    #062846;

  border-radius:
    9px;

  background:
    linear-gradient(
      135deg,
      #82e1f8,
      #32bde8
    );
}

.vmp-plumbing-concern-list h3 {
  margin:
    0 0 7px;

  color:
    #ffffff;
}

.vmp-plumbing-concern-list p {
  margin:
    0;

  color:
    rgba(255,255,255,.65);

  font-size:
    13px;
}


/* =========================================================
WHY VELOCITY
========================================================= */

.vmp-plumbing-why {
  background:
    linear-gradient(
      135deg,
      #edf9fd,
      #ffffff
    );
}

.vmp-plumbing-why-grid {
  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  gap:
    17px;
}

.vmp-plumbing-why-grid article {
  position: relative;

  min-height:
    275px;

  overflow: hidden;

  padding:
    29px;

  border:
    1px solid #d5e8f1;

  border-radius:
    12px;

  background:
    #ffffff;

  box-shadow:
    0 14px 34px rgba(9,70,105,.06);

  transition:
    transform .3s ease,
    border-color .3s ease,
    box-shadow .3s ease;
}

.vmp-plumbing-why-grid article::after {
  position: absolute;

  right:
    -65px;

  bottom:
    -75px;

  width:
    190px;

  height:
    190px;

  border-radius:
    50%;

  background:
    radial-gradient(
      circle,
      rgba(34,183,232,.14),
      transparent 68%
    );

  content:
    "";

  opacity:
    0;

  transition:
    opacity .35s ease,
    transform .4s ease;
}

.vmp-plumbing-why-grid article:hover {
  transform:
    translateY(-9px);

  border-color:
    #98d9eb;

  box-shadow:
    0 27px 56px rgba(7,69,107,.14);
}

.vmp-plumbing-why-grid article:hover::after {
  opacity:
    1;

  transform:
    scale(1.2);
}

.vmp-plumbing-why-grid article > * {
  position: relative;

  z-index: 2;
}

.vmp-plumbing-why-grid article > span {
  display: flex;

  width:
    43px;

  height:
    43px;

  align-items: center;

  justify-content: center;

  margin-bottom:
    24px;

  color:
    #062846;

  border-radius:
    9px;

  background:
    linear-gradient(
      135deg,
      #82e1f8,
      #32bde8
    );
}


/* =========================================================
REVIEW
========================================================= */

.vmp-plumbing-review {
  background:
    #ffffff;
}

.vmp-plumbing-review-grid {
  display: grid;

  grid-template-columns:
    minmax(320px, .55fr)
    minmax(0, 1fr);

  align-items: stretch;

  gap:
    35px;
}

.vmp-plumbing-review-score {
  display: flex;

  flex-direction: column;

  padding:
    43px;

  color:
    #ffffff;

  border-radius:
    16px;

  background:
    linear-gradient(
      145deg,
      #071b35,
      #0b3d6b
    );

  box-shadow:
    0 30px 72px rgba(5,44,77,.22);

  transition:
    transform .3s ease,
    box-shadow .3s ease;
}

.vmp-plumbing-review-score:hover {
  transform:
    translateY(-8px);

  box-shadow:
    0 38px 82px rgba(5,44,77,.3);
}

.vmp-plumbing-review-score > span {
  color:
    #7bdcf6;

  font-size:
    9px;

  font-weight:
    900;

  letter-spacing:
    .15em;

  text-transform:
    uppercase;
}

.vmp-plumbing-review-score > strong {
  margin-top:
    19px;

  font-size:
    79px;

  line-height:
    .9;
}

.vmp-plumbing-review-score > div {
  margin-top:
    14px;

  color:
    #ffc248;

  letter-spacing:
    .11em;
}

.vmp-plumbing-review-score h3 {
  margin:
    24px 0 10px;

  color:
    #ffffff;
}

.vmp-plumbing-review-score p {
  color:
    rgba(255,255,255,.68);

  font-size:
    14px;
}

.vmp-plumbing-review-score a {
  margin-top:
    12px;

  color:
    #7adcf6 !important;

  font-size:
    13px;

  font-weight:
    850;

  text-decoration:
    none !important;
}

.vmp-plumbing-featured-review {
  padding:
    48px;

  border:
    1px solid #d3e8f0;

  border-radius:
    16px;

  background:
    linear-gradient(
      135deg,
      #edf9fd,
      #ffffff
    );

  box-shadow:
    0 22px 58px rgba(11,73,108,.1);

  transition:
    transform .3s ease,
    border-color .3s ease,
    box-shadow .3s ease;
}

.vmp-plumbing-featured-review:hover {
  transform:
    translateY(-8px);

  border-color:
    #98d9eb;

  box-shadow:
    0 31px 68px rgba(8,69,106,.16);
}

.vmp-plumbing-featured-review blockquote {
  margin:
    25px 0 20px;

  color:
    #10233d;

  font-size:
    clamp(25px, 3vw, 38px);

  font-weight:
    760;

  line-height:
    1.35;

  letter-spacing:
    -.025em;
}

.vmp-plumbing-featured-review > p {
  color:
    #56677d;

  font-size:
    15px;
}

.vmp-plumbing-featured-review > strong {
  display:
    block;

  margin-top:
    25px;

  color:
    #10233d;
}

.vmp-plumbing-featured-review > small {
  color:
    #728196;
}


/* =========================================================
TRENCHLESS BRIDGE
========================================================= */

.vmp-plumbing-trenchless {
  background:
    linear-gradient(
      135deg,
      #edf9fd,
      #ffffff
    );
}

.vmp-plumbing-trenchless-grid {
  display: grid;

  grid-template-columns:
    minmax(430px, .82fr)
    minmax(0, 1fr);

  align-items: center;

  gap:
    85px;
}

.vmp-plumbing-trenchless-media {
  position:
    relative;

  overflow:
    hidden;

  border-radius:
    16px;

  box-shadow:
    0 28px 68px rgba(8,67,105,.16);
}

.vmp-plumbing-trenchless-media img {
  display:
    block;

  width:
    100%;

  min-height:
    520px;

  object-fit:
    cover;

  transition:
    transform .6s ease,
    filter .45s ease;
}

.vmp-plumbing-trenchless-media:hover img {
  transform:
    scale(1.045);

  filter:
    contrast(1.05)
    saturate(1.06);
}

.vmp-plumbing-trenchless-media > div {
  position:
    absolute;

  left:
    25px;

  right:
    25px;

  bottom:
    25px;

  padding:
    23px;

  border-left:
    4px solid #22b7e8;

  border-radius:
    10px;

  color:
    #ffffff;

  background:
    linear-gradient(
      135deg,
      rgba(5,27,53,.96),
      rgba(9,62,105,.96)
    );

  box-shadow:
    0 20px 45px rgba(3,28,51,.28);
}

.vmp-plumbing-trenchless-media span {
  display:
    block;

  margin-bottom:
    8px;

  color:
    #77dcf6;

  font-size:
    8px;

  font-weight:
    900;

  letter-spacing:
    .15em;

  text-transform:
    uppercase;
}

.vmp-plumbing-trenchless-media strong {
  display:
    block;

  font-size:
    18px;

  line-height:
    1.4;
}


/* =========================================================
FAQ
========================================================= */

.vmp-plumbing-faq {
  background:
    #ffffff;
}

.vmp-plumbing-faq-grid {
  display: grid;

  grid-template-columns:
    minmax(0, .64fr)
    minmax(0, 1fr);

  align-items: start;

  gap:
    80px;
}

.vmp-plumbing-faq-list {
  display: grid;

  gap:
    10px;
}

.vmp-plumbing-faq-list details {
  overflow:
    hidden;

  border:
    1px solid #d2e7f0;

  border-radius:
    9px;

  background:
    #ffffff;

  box-shadow:
    0 8px 21px rgba(8,67,104,.04);

  transition:
    border-color .25s ease,
    box-shadow .25s ease;
}

.vmp-plumbing-faq-list details:hover {
  border-color:
    #9bd8eb;

  box-shadow:
    0 15px 32px rgba(8,70,108,.09);
}

.vmp-plumbing-faq-list summary {
  position:
    relative;

  padding:
    20px 52px 20px 21px;

  color:
    #10233d;

  cursor:
    pointer;

  font-size:
    14px;

  font-weight:
    800;

  list-style:
    none;
}

.vmp-plumbing-faq-list summary::-webkit-details-marker {
  display:
    none;
}

.vmp-plumbing-faq-list summary::after {
  position:
    absolute;

  top:
    50%;

  right:
    20px;

  color:
    #22b7e8;

  content:
    "+";

  font-size:
    21px;

  transform:
    translateY(-50%);
}

.vmp-plumbing-faq-list details[open]
summary::after {
  content:
    "−";
}

.vmp-plumbing-faq-list details p {
  margin:
    0;

  padding:
    0 21px 22px;

  font-size:
    14px;
}


/* =========================================================
FINAL CTA
========================================================= */

.vmp-plumbing-final {
  position:
    relative;

  display:
    flex;

  min-height:
    545px;

  align-items:
    center;

  overflow:
    hidden;

  background:
    #06172d;
}

.vmp-plumbing-final-bg {
  position:
    absolute;

  inset:
    0;

  background:
    linear-gradient(
      90deg,
      rgba(4,19,38,.99) 0%,
      rgba(5,27,52,.95) 39%,
      rgba(5,31,58,.5) 67%,
      rgba(4,21,40,.08) 100%
    ),
    url(
      "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-technician.png"
    );

  background-position:
    center;

  background-size:
    cover;
}

.vmp-plumbing-final-content {
  position:
    relative;

  z-index:
    2;

  width:
    min(730px, 100%);

  padding:
    95px 0;
}

.vmp-plumbing-final h2 {
  color:
    #ffffff;
}

.vmp-plumbing-final p {
  color:
    rgba(255,255,255,.78);
}


/* =========================================================
TABLET
========================================================= */

@media (max-width: 1050px) {

  .vmp-plumbing-hero-grid,
  .vmp-plumbing-intro-grid,
  .vmp-plumbing-concerns-grid,
  .vmp-plumbing-review-grid,
  .vmp-plumbing-trenchless-grid,
  .vmp-plumbing-faq-grid {

    grid-template-columns:
      1fr;

    gap:
      55px;

  }


  .vmp-plumbing-rating-card {

    max-width:
      520px;

    margin-bottom:
      80px;

  }


  .vmp-plumbing-service-grid {

    grid-template-columns:
      repeat(2, 1fr);

  }


  .vmp-service-card-wide {

    grid-column:
      auto;

  }


  .vmp-plumbing-why-grid {

    grid-template-columns:
      repeat(2, 1fr);

  }

}


/* =========================================================
MOBILE
========================================================= */

@media (max-width: 767px) {


  /* HERO */

  .vmp-plumbing-hero {

    min-height:
      auto;

    align-items:
      flex-end;

  }


  .vmp-plumbing-hero-bg {

    background:

      linear-gradient(

        180deg,

        rgba(5,22,42,.17),

        rgba(5,22,42,.98) 59%

      ),

      url(

        "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-master-plumbing-subpage-vp.png"

      );


    background-position:

      68% center;

  }


  .vmp-plumbing-hero-copy {

    padding:

      150px 0 32px !important;

  }


  .vmp-plumbing-hero h1 {

    font-size:

      clamp(39px, 10.5vw, 49px) !important;


    line-height:

      1.03 !important;


    letter-spacing:

      -.04em;

  }


  .vmp-plumbing-hero-copy > p {

    font-size:

      16px;


    line-height:

      1.7;

  }


  .vmp-plumbing-hero .vmp-button-row {

    display:

      grid;


    grid-template-columns:

      1fr;


    gap:

      11px;

  }


  .vmp-plumbing-hero .vmp-btn {

    width:

      100%;


    justify-content:

      center;

  }


  .vmp-plumbing-hero-proof {

    display:

      grid;


    grid-template-columns:

      1fr;


    gap:

      9px;

  }


  .vmp-plumbing-hero-proof span {

    width:

      100%;


    text-align:

      center;

  }


  .vmp-plumbing-rating-card {

    margin:

      0 0 75px;


    padding:

      30px 26px;

  }


  .vmp-plumbing-rating-card > strong {

    font-size:

      66px;

  }


  /* PROOF STRIP */

  .vmp-plumbing-proof-strip {

    margin-top:

      -36px;

  }


  .vmp-plumbing-proof-grid {

    grid-template-columns:

      repeat(2, 1fr);

  }


  .vmp-plumbing-proof-grid > div {

    min-height:

      112px;


    border-bottom:

      1px solid #dcebf2;

  }


  .vmp-plumbing-proof-grid > div:nth-child(2) {

    border-right:

      0;

  }


  .vmp-plumbing-proof-grid strong {

    font-size:

      24px;

  }


  /* SECTIONS */

  .vmp-plumbing-page .vmp-section {

    padding-top:

      68px !important;


    padding-bottom:

      68px !important;

  }


  .vmp-plumbing-page h2 {

    font-size:

      clamp(31px, 8.6vw, 40px) !important;


    line-height:

      1.08 !important;


    letter-spacing:

      -.035em;

  }


  .vmp-plumbing-page p {

    font-size:

      15px;


    line-height:

      1.72;

  }


  /* INTRO */

  .vmp-plumbing-intro {

    padding-top:

      100px !important;

  }


  .vmp-plumbing-intro-grid {

    gap:

      42px !important;

  }


  .vmp-plumbing-check-list > div {

    align-items:

      flex-start;


    padding:

      13px;


    border:

      1px solid #d5e8f1;


    border-radius:

      9px;


    background:

      #ffffff;

  }


  .vmp-plumbing-intro-image img {

    min-height:

      350px;


    max-height:

      390px;

  }


  .vmp-plumbing-intro-badge {

    position:

      relative;


    right:

      auto;


    bottom:

      auto;


    width:

      calc(100% - 28px);


    margin:

      -32px auto 0;


    padding:

      19px 20px;

  }


  /* SERVICES */

  .vmp-plumbing-service-grid {

    grid-template-columns:

      1fr;

  }


  .vmp-plumbing-service-card {

    min-height:

      auto;


    padding:

      24px 22px;

  }


  .vmp-plumbing-service-card
  .vmp-service-number {

    margin-bottom:

      25px;

  }


  .vmp-plumbing-service-card > strong {

    margin-top:

      24px;

  }


  .vmp-plumbing-service-note {

    align-items:

      stretch;


    flex-direction:

      column;


    padding:

      25px 22px;

  }


  .vmp-plumbing-service-note
  .vmp-btn {

    width:

      100%;


    justify-content:

      center;

  }


  /* CONCERNS */

  .vmp-plumbing-concerns-grid {

    gap:

      38px !important;

  }


  .vmp-plumbing-concern-list article {

    grid-template-columns:

      41px 1fr;


    gap:

      14px;


    padding:

      19px;

  }


  .vmp-plumbing-concern-list article > span {

    width:

      39px;


    height:

      39px;

  }


  /* WHY */

  .vmp-plumbing-why-grid {

    grid-template-columns:

      1fr;

  }


  .vmp-plumbing-why-grid article {

    min-height:

      auto;


    padding:

      24px 22px;

  }


  /* REVIEW */

  .vmp-plumbing-review-grid {

    gap:

      20px !important;

  }


  .vmp-plumbing-review-score {

    padding:

      31px 25px;

  }


  .vmp-plumbing-review-score > strong {

    font-size:

      67px;

  }


  .vmp-plumbing-featured-review {

    padding:

      29px 23px;

  }


  .vmp-plumbing-featured-review blockquote {

    font-size:

      24px;

  }


  /* TRENCHLESS */

  .vmp-plumbing-trenchless-grid {

    gap:

      42px !important;

  }


  .vmp-plumbing-trenchless-media img {

    min-height:

      370px;


    height:

      370px;

  }


  .vmp-plumbing-trenchless-media > div {

    left:

      14px;


    right:

      14px;


    bottom:

      14px;


    padding:

      19px;

  }


  /* FAQ */

  .vmp-plumbing-faq-grid {

    gap:

      37px !important;

  }


  /* FINAL CTA */

  .vmp-plumbing-final {

    min-height:

      580px;


    align-items:

      center !important;

  }


  .vmp-plumbing-final-bg {

    background:

      linear-gradient(

        180deg,

        rgba(4,20,39,.08) 0%,

        rgba(4,21,41,.47) 42%,

        rgba(4,20,39,.98) 74%,

        #041427 100%

      ),

      url(

        "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-technician.png"

      );


    background-position:

      68% center;

  }


  .vmp-plumbing-final-content {

    padding:

      205px 0 55px !important;

  }


  .vmp-plumbing-final
  .vmp-button-row {

    display:

      grid;


    grid-template-columns:

      1fr;


    gap:

      11px;

  }


  .vmp-plumbing-final
  .vmp-btn {

    width:

      100%;


    justify-content:

      center;

  }

}

@media (max-width: 767px) {

  .vmp-plumbing-hero-copy {
    padding: 60px 0 32px !important;
  }

}

/* =========================================================
VELOCITY MOBILE HERO SPACING STANDARD
========================================================= */

@media (max-width: 767px) {

  .vmp-home-hero-content,
  .vmp-about-hero-content,
  .vmp-contact-hero-content,
  .vmp-review-hero-copy,
  .vmp-area-hero-copy,
  .vmp-plumbing-hero-copy,
  .vmp-trenchless-hero-copy,
  .vmp-subhero-content {
    padding-top: 60px !important;
  }

}

/* =========================================================
VELOCITY TRENCHLESS SOLUTIONS HUB
========================================================= */


/* =========================================================
HERO
========================================================= */

.vmp-trenchless-hero {
  position: relative;
  display: flex;
  min-height: 660px;
  align-items: center;
  overflow: hidden;
  background: #06172d;
}

.vmp-trenchless-hero-bg {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(4,19,39,.99),
      rgba(5,27,52,.93) 40%,
      rgba(5,30,58,.5) 68%,
      rgba(4,21,40,.08)
    ),
    url(
      "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-master-plumbing-subpage-vp.png"
    );

  background-position: center;
  background-size: cover;
}

.vmp-trenchless-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;

  grid-template-columns:
    minmax(0, 1fr)
    minmax(335px, .55fr);

  align-items: center;
  gap: 84px;
}

.vmp-trenchless-hero-copy {
  max-width: 760px;
  padding: 100px 0;
}

.vmp-trenchless-hero h1 {
  color: #ffffff;
}

.vmp-trenchless-hero-copy > p {
  max-width: 690px;
  color: rgba(255,255,255,.8);
  font-size: 19px;
}

.vmp-trenchless-hero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 30px;
}

.vmp-trenchless-hero-proof span {
  padding: 10px 15px;
  color: #ffffff;
  border: 1px solid rgba(113,220,248,.29);
  border-radius: 999px;
  background: rgba(7,47,83,.68);
  font-size: 12px;

  transition:
    transform .28s ease,
    border-color .28s ease,
    box-shadow .28s ease;
}

.vmp-trenchless-hero-proof span:hover {
  transform: translateY(-5px);

  border-color:
    rgba(111,223,249,.8);

  box-shadow:
    0 15px 32px rgba(0,0,0,.28),
    0 0 24px rgba(34,183,232,.17);
}


/* =========================================================
RATING CARD
========================================================= */

.vmp-trenchless-rating-card {
  position: relative;
  display: flex;
  overflow: hidden;
  flex-direction: column;
  padding: 42px;

  color:
    #ffffff !important;

  border:
    1px solid rgba(255,255,255,.2);

  border-radius:
    17px;

  background:
    linear-gradient(
      145deg,
      rgba(16,79,125,.85),
      rgba(5,29,55,.95)
    );

  box-shadow:
    0 30px 80px rgba(0,0,0,.34);

  text-decoration:
    none !important;

  backdrop-filter:
    blur(12px);

  transition:
    transform .32s ease,
    border-color .32s ease,
    box-shadow .32s ease;
}

.vmp-trenchless-rating-card::after {
  position: absolute;
  right: -85px;
  bottom: -95px;
  width: 255px;
  height: 255px;

  border-radius:
    50%;

  background:
    radial-gradient(
      circle,
      rgba(55,202,242,.34),
      transparent 68%
    );

  content:
    "";
}

.vmp-trenchless-rating-card:hover {
  transform:
    translateY(-9px);

  border-color:
    rgba(103,222,249,.75);

  box-shadow:
    0 38px 90px rgba(0,0,0,.42),
    0 0 35px rgba(34,183,232,.17);
}

.vmp-trenchless-rating-card > * {
  position: relative;
  z-index: 2;
}

.vmp-trenchless-rating-card > span {
  color: #8ce2f9;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.vmp-trenchless-rating-card > strong {
  margin-top: 18px;
  font-size: 82px;
  line-height: .9;
}

.vmp-trenchless-rating-card > div {
  margin-top: 13px;
  color: #ffc247;
  font-size: 20px;
  letter-spacing: .11em;
}

.vmp-trenchless-rating-card h2 {
  margin: 24px 0 11px;
  color: #ffffff;
  font-size: 27px;
}

.vmp-trenchless-rating-card p {
  color: rgba(255,255,255,.7);
  font-size: 14px;
}

.vmp-trenchless-rating-card small {
  margin-top: 15px;
  color: #78ddf7;
  font-size: 13px;
  font-weight: 850;
}


/* =========================================================
PROOF STRIP
========================================================= */

.vmp-trenchless-proof-strip {
  position: relative;
  z-index: 5;
  margin-top: -45px;
}

.vmp-trenchless-proof-grid {
  display: grid;

  grid-template-columns:
    repeat(4, 1fr);

  overflow: hidden;

  border:
    1px solid #d3e7f0;

  border-radius:
    13px;

  background:
    #ffffff;

  box-shadow:
    0 22px 58px rgba(9,67,104,.15);
}

.vmp-trenchless-proof-grid > div {
  position: relative;
  display: flex;
  min-height: 125px;
  overflow: hidden;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px;

  border-right:
    1px solid #dcebf2;

  text-align:
    center;

  transition:
    transform .3s ease,
    background .3s ease,
    box-shadow .3s ease;
}

.vmp-trenchless-proof-grid > div:last-child {
  border-right: 0;
}

.vmp-trenchless-proof-grid > div::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 0;
  height: 4px;

  background:
    linear-gradient(
      90deg,
      #0879c9,
      #22b7e8,
      #79dcf6
    );

  content: "";

  transform:
    translateX(-50%);

  transition:
    width .35s ease;
}

.vmp-trenchless-proof-grid > div:hover {
  z-index: 2;

  transform:
    translateY(-7px)
    scale(1.02);

  background:
    linear-gradient(
      145deg,
      #ffffff,
      #edf9fd
    );

  box-shadow:
    0 23px 48px rgba(7,89,139,.16);
}

.vmp-trenchless-proof-grid > div:hover::before {
  width: 100%;
}

.vmp-trenchless-proof-grid strong {
  color: #0879c9;
  font-size: 28px;
}

.vmp-trenchless-proof-grid span {
  margin-top: 5px;
  color: #647286;
  font-size: 12px;
  font-weight: 750;
}


/* =========================================================
INTRO
========================================================= */

.vmp-trenchless-intro {
  padding-top: 150px;

  background:
    linear-gradient(
      135deg,
      #edf9fd,
      #ffffff
    );
}

.vmp-trenchless-intro-grid {
  display: grid;

  grid-template-columns:
    minmax(0, .92fr)
    minmax(420px, .75fr);

  align-items: center;
  gap: 90px;
}

.vmp-trenchless-check-list {
  display: grid;
  gap: 12px;
  margin-top: 29px;
}

.vmp-trenchless-check-list > div {
  display: flex;
  align-items: center;
  gap: 12px;
}

.vmp-trenchless-check-list span {
  display: flex;
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  align-items: center;
  justify-content: center;

  color:
    #ffffff;

  border-radius:
    50%;

  background:
    linear-gradient(
      135deg,
      #0879c9,
      #22b7e8
    );

  font-size:
    11px;
}

.vmp-trenchless-check-list p {
  margin: 0;
  color: #40536a;
  font-size: 14px;
  font-weight: 750;
}

.vmp-trenchless-intro-media {
  position: relative;
}

.vmp-trenchless-intro-image {
  overflow: hidden;

  border-radius:
    16px;

  box-shadow:
    0 28px 68px rgba(8,67,105,.16);
}

.vmp-trenchless-intro-image img {
  display: block;
  width: 100%;
  min-height: 555px;
  object-fit: cover;

  transition:
    transform .62s ease,
    filter .45s ease;
}

.vmp-trenchless-intro-image:hover img {
  transform:
    scale(1.045);

  filter:
    contrast(1.05)
    saturate(1.07);
}

.vmp-trenchless-intro-badge {
  position: absolute;
  right: -25px;
  bottom: 32px;

  display: flex;
  width: 245px;
  flex-direction: column;
  padding: 24px;

  border-left:
    4px solid #22b7e8;

  border-radius:
    10px;

  background:
    #ffffff;

  box-shadow:
    0 21px 48px rgba(8,62,96,.18);
}

.vmp-trenchless-intro-badge strong {
  color: #10233d;
  font-size: 18px;
}

.vmp-trenchless-intro-badge span {
  margin-top: 7px;
  color: #68778b;
  font-size: 12px;
  line-height: 1.55;
}


/* =========================================================
SERVICE CARDS
========================================================= */

.vmp-trenchless-services {
  background: #ffffff;
}

.vmp-trenchless-service-grid {
  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  gap: 17px;
}

.vmp-trenchless-service-card {
  position: relative;
  display: flex;
  min-height: 410px;
  overflow: hidden;
  flex-direction: column;
  justify-content: space-between;
  padding: 29px;

  color:
    inherit !important;

  border:
    1px solid #d5e8f1;

  border-radius:
    13px;

  background:
    linear-gradient(
      145deg,
      #f7fcfe,
      #ffffff
    );

  box-shadow:
    0 14px 34px rgba(9,70,105,.06);

  text-decoration:
    none !important;

  transition:
    transform .31s ease,
    border-color .31s ease,
    box-shadow .31s ease;
}

.vmp-trenchless-service-card::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 5px;

  background:
    linear-gradient(
      90deg,
      #0879c9,
      #22b7e8
    );

  content: "";

  transform:
    scaleX(0);

  transform-origin:
    left;

  transition:
    transform .35s ease;
}

.vmp-trenchless-service-card::after {
  position: absolute;
  right: -80px;
  bottom: -95px;
  width: 230px;
  height: 230px;

  border-radius:
    50%;

  background:
    radial-gradient(
      circle,
      rgba(34,183,232,.17),
      transparent 68%
    );

  content: "";

  opacity: 0;

  transition:
    opacity .35s ease,
    transform .45s ease;
}

.vmp-trenchless-service-card:hover {
  transform:
    translateY(-11px);

  border-color:
    #95d8eb;

  box-shadow:
    0 30px 65px rgba(7,69,107,.16);
}

.vmp-trenchless-service-card:hover::before {
  transform: scaleX(1);
}

.vmp-trenchless-service-card:hover::after {
  opacity: 1;
  transform: scale(1.25);
}

.vmp-trenchless-service-card > * {
  position: relative;
  z-index: 2;
}

.vmp-trenchless-service-card small {
  color: #0879c9;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.vmp-trenchless-service-card h3 {
  margin: 10px 0 14px;
  color: #10233d;
  line-height: 1.18;
}

.vmp-trenchless-service-card p {
  font-size: 14px;
}

.vmp-trenchless-service-card > strong {
  padding-top: 18px;
  color: #0879c9;

  border-top:
    1px solid #d6e8f0;

  font-size: 13px;
}

.vmp-trenchless-service-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  margin-top: 38px;
  padding: 31px;

  border-radius:
    13px;

  color:
    #ffffff;

  background:
    linear-gradient(
      135deg,
      #071a33,
      #0b3b68
    );
}

.vmp-trenchless-service-note > div {
  max-width: 790px;
}

.vmp-trenchless-service-note span {
  color: #7adcf6;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.vmp-trenchless-service-note p {
  margin: 8px 0 0;
  color: rgba(255,255,255,.73);
}


/* =========================================================
COMPARISON
========================================================= */

.vmp-trenchless-comparison {
  color: #ffffff;

  background:
    radial-gradient(
      circle at 91% 15%,
      rgba(34,183,232,.2),
      transparent 30%
    ),
    linear-gradient(
      135deg,
      #06172d,
      #0b315b
    );
}

.vmp-trenchless-comparison-grid {
  display: grid;

  grid-template-columns:
    minmax(0, .72fr)
    minmax(0, 1fr);

  align-items: center;
  gap: 80px;
}

.vmp-trenchless-comparison h2 {
  color: #ffffff;
}

.vmp-trenchless-comparison-copy p {
  color: rgba(255,255,255,.72);
}

.vmp-trenchless-comparison-list {
  display: grid;
  gap: 12px;
}

.vmp-trenchless-comparison-list article {
  display: grid;

  grid-template-columns:
    48px 1fr;

  gap: 18px;
  align-items: start;
  padding: 24px;

  border:
    1px solid rgba(255,255,255,.14);

  border-radius:
    11px;

  background:
    rgba(255,255,255,.055);

  transition:
    transform .29s ease,
    border-color .29s ease,
    background .29s ease,
    box-shadow .29s ease;
}

.vmp-trenchless-comparison-list article:hover {
  transform:
    translateX(9px);

  border-color:
    rgba(103,222,249,.65);

  background:
    rgba(34,183,232,.13);

  box-shadow:
    0 20px 44px rgba(0,0,0,.18);
}

.vmp-trenchless-comparison-list article > span {
  display: flex;
  width: 45px;
  height: 45px;
  align-items: center;
  justify-content: center;

  color:
    #062846;

  border-radius:
    9px;

  background:
    linear-gradient(
      135deg,
      #82e1f8,
      #32bde8
    );
}

.vmp-trenchless-comparison-list h3 {
  margin: 0 0 7px;
  color: #ffffff;
}

.vmp-trenchless-comparison-list p {
  margin: 0;
  color: rgba(255,255,255,.65);
  font-size: 13px;
}


/* =========================================================
TECHNOLOGY
========================================================= */

.vmp-trenchless-technology {
  background:
    linear-gradient(
      135deg,
      #edf9fd,
      #ffffff
    );
}

.vmp-trenchless-technology-grid {
  display: grid;

  grid-template-columns:
    repeat(4, 1fr);

  gap: 17px;
}

.vmp-trenchless-technology-grid article {
  min-height: 300px;
  padding: 29px;

  border:
    1px solid #d5e8f1;

  border-radius:
    12px;

  background:
    #ffffff;

  box-shadow:
    0 14px 34px rgba(9,70,105,.06);

  transition:
    transform .3s ease,
    border-color .3s ease,
    box-shadow .3s ease;
}

.vmp-trenchless-technology-grid article:hover {
  transform:
    translateY(-9px);

  border-color:
    #98d9eb;

  box-shadow:
    0 27px 56px rgba(7,69,107,.14);
}

.vmp-trenchless-technology-grid article > span {
  display: flex;
  width: 43px;
  height: 43px;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;

  color:
    #062846;

  border-radius:
    9px;

  background:
    linear-gradient(
      135deg,
      #82e1f8,
      #32bde8
    );
}


/* =========================================================
WHY VELOCITY
========================================================= */

.vmp-trenchless-why {
  background: #ffffff;
}

.vmp-trenchless-why-grid {
  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  gap: 17px;
}

.vmp-trenchless-why-grid article {
  position: relative;
  min-height: 280px;
  overflow: hidden;
  padding: 29px;

  border:
    1px solid #d5e8f1;

  border-radius:
    12px;

  background:
    linear-gradient(
      145deg,
      #f7fcfe,
      #ffffff
    );

  box-shadow:
    0 14px 34px rgba(9,70,105,.06);

  transition:
    transform .3s ease,
    border-color .3s ease,
    box-shadow .3s ease;
}

.vmp-trenchless-why-grid article:hover {
  transform:
    translateY(-9px);

  border-color:
    #98d9eb;

  box-shadow:
    0 27px 56px rgba(7,69,107,.14);
}

.vmp-trenchless-why-grid article > span {
  display: flex;
  width: 43px;
  height: 43px;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;

  color:
    #062846;

  border-radius:
    9px;

  background:
    linear-gradient(
      135deg,
      #82e1f8,
      #32bde8
    );
}


/* =========================================================
REVIEW
========================================================= */

.vmp-trenchless-review {
  background:
    linear-gradient(
      135deg,
      #edf9fd,
      #ffffff
    );
}

.vmp-trenchless-review-grid {
  display: grid;

  grid-template-columns:
    minmax(320px, .55fr)
    minmax(0, 1fr);

  align-items: stretch;
  gap: 35px;
}

.vmp-trenchless-review-score {
  display: flex;
  flex-direction: column;
  padding: 43px;

  color:
    #ffffff;

  border-radius:
    16px;

  background:
    linear-gradient(
      145deg,
      #071b35,
      #0b3d6b
    );

  box-shadow:
    0 30px 72px rgba(5,44,77,.22);

  transition:
    transform .3s ease,
    box-shadow .3s ease;
}

.vmp-trenchless-review-score:hover {
  transform:
    translateY(-8px);

  box-shadow:
    0 38px 82px rgba(5,44,77,.3);
}

.vmp-trenchless-review-score > span {
  color: #7bdcf6;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.vmp-trenchless-review-score > strong {
  margin-top: 19px;
  font-size: 79px;
  line-height: .9;
}

.vmp-trenchless-review-score > div {
  margin-top: 14px;
  color: #ffc248;
  letter-spacing: .11em;
}

.vmp-trenchless-review-score h3 {
  margin: 24px 0 10px;
  color: #ffffff;
}

.vmp-trenchless-review-score p {
  color: rgba(255,255,255,.68);
  font-size: 14px;
}

.vmp-trenchless-review-score a {
  margin-top: 12px;
  color: #7adcf6 !important;
  font-size: 13px;
  font-weight: 850;
  text-decoration: none !important;
}

.vmp-trenchless-featured-review {
  padding: 48px;

  border:
    1px solid #d3e8f0;

  border-radius:
    16px;

  background:
    #ffffff;

  box-shadow:
    0 22px 58px rgba(11,73,108,.1);

  transition:
    transform .3s ease,
    border-color .3s ease,
    box-shadow .3s ease;
}

.vmp-trenchless-featured-review:hover {
  transform:
    translateY(-8px);

  border-color:
    #98d9eb;

  box-shadow:
    0 31px 68px rgba(8,69,106,.16);
}

.vmp-trenchless-featured-review blockquote {
  margin: 25px 0 20px;

  color:
    #10233d;

  font-size:
    clamp(25px, 3vw, 38px);

  font-weight:
    760;

  line-height:
    1.35;

  letter-spacing:
    -.025em;
}

.vmp-trenchless-featured-review > p {
  color: #56677d;
  font-size: 15px;
}

.vmp-trenchless-featured-review > strong {
  display: block;
  margin-top: 25px;
  color: #10233d;
}

.vmp-trenchless-featured-review > small {
  color: #728196;
}


/* =========================================================
PLUMBING BRIDGE
========================================================= */

.vmp-trenchless-plumbing {
  background: #ffffff;
}

.vmp-trenchless-plumbing-grid {
  display: grid;

  grid-template-columns:
    minmax(430px, .82fr)
    minmax(0, 1fr);

  align-items: center;
  gap: 85px;
}

.vmp-trenchless-plumbing-media {
  position: relative;
  overflow: hidden;

  border-radius:
    16px;

  box-shadow:
    0 28px 68px rgba(8,67,105,.16);
}

.vmp-trenchless-plumbing-media img {
  display: block;
  width: 100%;
  min-height: 520px;
  object-fit: cover;

  transition:
    transform .6s ease,
    filter .45s ease;
}

.vmp-trenchless-plumbing-media:hover img {
  transform:
    scale(1.045);

  filter:
    contrast(1.05)
    saturate(1.06);
}

.vmp-trenchless-plumbing-media > div {
  position: absolute;
  left: 25px;
  right: 25px;
  bottom: 25px;
  padding: 23px;

  border-left:
    4px solid #22b7e8;

  border-radius:
    10px;

  color:
    #ffffff;

  background:
    linear-gradient(
      135deg,
      rgba(5,27,53,.96),
      rgba(9,62,105,.96)
    );

  box-shadow:
    0 20px 45px rgba(3,28,51,.28);
}

.vmp-trenchless-plumbing-media span {
  display: block;
  margin-bottom: 8px;

  color:
    #77dcf6;

  font-size:
    8px;

  font-weight:
    900;

  letter-spacing:
    .15em;

  text-transform:
    uppercase;
}

.vmp-trenchless-plumbing-media strong {
  display: block;
  font-size: 18px;
  line-height: 1.4;
}


/* =========================================================
FAQ
========================================================= */

.vmp-trenchless-faq {
  background:
    linear-gradient(
      135deg,
      #edf9fd,
      #f9fdff
    );
}

.vmp-trenchless-faq-grid {
  display: grid;

  grid-template-columns:
    minmax(0, .64fr)
    minmax(0, 1fr);

  align-items: start;
  gap: 80px;
}

.vmp-trenchless-faq-list {
  display: grid;
  gap: 10px;
}

.vmp-trenchless-faq-list details {
  overflow: hidden;

  border:
    1px solid #d2e7f0;

  border-radius:
    9px;

  background:
    #ffffff;

  box-shadow:
    0 8px 21px rgba(8,67,104,.04);

  transition:
    border-color .25s ease,
    box-shadow .25s ease;
}

.vmp-trenchless-faq-list details:hover {
  border-color:
    #9bd8eb;

  box-shadow:
    0 15px 32px rgba(8,70,108,.09);
}

.vmp-trenchless-faq-list summary {
  position: relative;
  padding: 20px 52px 20px 21px;

  color:
    #10233d;

  cursor:
    pointer;

  font-size:
    14px;

  font-weight:
    800;

  list-style:
    none;
}

.vmp-trenchless-faq-list summary::-webkit-details-marker {
  display: none;
}

.vmp-trenchless-faq-list summary::after {
  position: absolute;
  top: 50%;
  right: 20px;

  color:
    #22b7e8;

  content:
    "+";

  font-size:
    21px;

  transform:
    translateY(-50%);
}

.vmp-trenchless-faq-list details[open]
summary::after {
  content:
    "−";
}

.vmp-trenchless-faq-list details p {
  margin: 0;
  padding: 0 21px 22px;
  font-size: 14px;
}


/* =========================================================
FINAL CTA
========================================================= */

.vmp-trenchless-final {
  position: relative;
  display: flex;
  min-height: 545px;
  align-items: center;
  overflow: hidden;
  background: #06172d;
}

.vmp-trenchless-final-bg {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(4,19,38,.99) 0%,
      rgba(5,27,52,.95) 39%,
      rgba(5,31,58,.5) 67%,
      rgba(4,21,40,.08) 100%
    ),
    url(
      "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-technician.png"
    );

  background-position: center;
  background-size: cover;
}

.vmp-trenchless-final-content {
  position: relative;
  z-index: 2;

  width:
    min(760px, 100%);

  padding:
    95px 0;
}

.vmp-trenchless-final h2 {
  color: #ffffff;
}

.vmp-trenchless-final p {
  color: rgba(255,255,255,.78);
}


/* =========================================================
TABLET
========================================================= */

@media (max-width: 1050px) {

  .vmp-trenchless-hero-grid,
  .vmp-trenchless-intro-grid,
  .vmp-trenchless-comparison-grid,
  .vmp-trenchless-review-grid,
  .vmp-trenchless-plumbing-grid,
  .vmp-trenchless-faq-grid {

    grid-template-columns:
      1fr;

    gap:
      55px;
  }


  .vmp-trenchless-rating-card {
    max-width: 520px;
    margin-bottom: 80px;
  }


  .vmp-trenchless-service-grid,
  .vmp-trenchless-technology-grid {

    grid-template-columns:
      repeat(2, 1fr);
  }


  .vmp-trenchless-why-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }

}


/* =========================================================
MOBILE
========================================================= */

@media (max-width: 767px) {


  /* HERO */

  .vmp-trenchless-hero {
    min-height: auto;
    align-items: flex-end;
  }


  .vmp-trenchless-hero-bg {

    background:

      linear-gradient(
        180deg,
        rgba(5,22,42,.17),
        rgba(5,22,42,.98) 59%
      ),

      url(
        "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-master-plumbing-subpage-vp.png"
      );


    background-position:
      68% center;
  }


  /* LOCKED VELOCITY MOBILE HERO STANDARD */

  .vmp-trenchless-hero-copy {
    padding:
      60px 0 32px !important;
  }


  .vmp-trenchless-hero h1 {

    font-size:
      clamp(39px, 10.5vw, 49px) !important;

    line-height:
      1.03 !important;

    letter-spacing:
      -.04em;
  }


  .vmp-trenchless-hero-copy > p {

    font-size:
      16px;

    line-height:
      1.7;
  }


  .vmp-trenchless-hero .vmp-button-row {

    display:
      grid;

    grid-template-columns:
      1fr;

    gap:
      11px;
  }


  .vmp-trenchless-hero .vmp-btn {

    width:
      100%;

    justify-content:
      center;
  }


  .vmp-trenchless-hero-proof {

    display:
      grid;

    grid-template-columns:
      1fr;

    gap:
      9px;
  }


  .vmp-trenchless-hero-proof span {

    width:
      100%;

    text-align:
      center;
  }


  .vmp-trenchless-rating-card {

    margin:
      0 0 75px;

    padding:
      30px 26px;
  }


  .vmp-trenchless-rating-card > strong {
    font-size: 66px;
  }


  /* PROOF STRIP */

  .vmp-trenchless-proof-strip {
    margin-top: -36px;
  }


  .vmp-trenchless-proof-grid {

    grid-template-columns:
      repeat(2, 1fr);
  }


  .vmp-trenchless-proof-grid > div {

    min-height:
      112px;

    border-bottom:
      1px solid #dcebf2;
  }


  .vmp-trenchless-proof-grid > div:nth-child(2) {
    border-right: 0;
  }


  .vmp-trenchless-proof-grid strong {
    font-size: 24px;
  }


  /* GLOBAL SECTION MOBILE STANDARD */

  .vmp-trenchless-page .vmp-section {

    padding-top:
      68px !important;

    padding-bottom:
      68px !important;
  }


  .vmp-trenchless-page h2 {

    font-size:
      clamp(31px, 8.6vw, 40px) !important;

    line-height:
      1.08 !important;

    letter-spacing:
      -.035em;
  }


  .vmp-trenchless-page p {

    font-size:
      15px;

    line-height:
      1.72;
  }


  /* INTRO */

  .vmp-trenchless-intro {

    padding-top:
      100px !important;
  }


  .vmp-trenchless-intro-grid {

    gap:
      42px !important;
  }


  .vmp-trenchless-check-list > div {

    align-items:
      flex-start;

    padding:
      13px;

    border:
      1px solid #d5e8f1;

    border-radius:
      9px;

    background:
      #ffffff;
  }


  .vmp-trenchless-intro-image img {

    min-height:
      350px;

    max-height:
      390px;
  }


  .vmp-trenchless-intro-badge {

    position:
      relative;

    right:
      auto;

    bottom:
      auto;

    width:
      calc(100% - 28px);

    margin:
      -32px auto 0;

    padding:
      19px 20px;
  }


  /* SERVICES */

  .vmp-trenchless-service-grid {

    grid-template-columns:
      1fr;
  }


  .vmp-trenchless-service-card {

    min-height:
      auto;

    padding:
      24px 22px;
  }


  .vmp-trenchless-service-card
  .vmp-service-number {

    margin-bottom:
      25px;
  }


  .vmp-trenchless-service-card > strong {

    margin-top:
      24px;
  }


  .vmp-trenchless-service-note {

    align-items:
      stretch;

    flex-direction:
      column;

    padding:
      25px 22px;
  }


  .vmp-trenchless-service-note
  .vmp-btn {

    width:
      100%;

    justify-content:
      center;
  }


  /* COMPARISON */

  .vmp-trenchless-comparison-grid {

    gap:
      38px !important;
  }


  .vmp-trenchless-comparison-list article {

    grid-template-columns:
      41px 1fr;

    gap:
      14px;

    padding:
      19px;
  }


  .vmp-trenchless-comparison-list article > span {

    width:
      39px;

    height:
      39px;
  }


  /* TECHNOLOGY */

  .vmp-trenchless-technology-grid {

    grid-template-columns:
      1fr;
  }


  .vmp-trenchless-technology-grid article {

    min-height:
      auto;

    padding:
      24px 22px;
  }


  /* WHY */

  .vmp-trenchless-why-grid {

    grid-template-columns:
      1fr;
  }


  .vmp-trenchless-why-grid article {

    min-height:
      auto;

    padding:
      24px 22px;
  }


  /* REVIEW */

  .vmp-trenchless-review-grid {

    gap:
      20px !important;
  }


  .vmp-trenchless-review-score {

    padding:
      31px 25px;
  }


  .vmp-trenchless-review-score > strong {

    font-size:
      67px;
  }


  .vmp-trenchless-featured-review {

    padding:
      29px 23px;
  }


  .vmp-trenchless-featured-review blockquote {

    font-size:
      24px;
  }


  /* PLUMBING BRIDGE */

  .vmp-trenchless-plumbing-grid {

    gap:
      42px !important;
  }


  .vmp-trenchless-plumbing-media img {

    min-height:
      370px;

    height:
      370px;
  }


  .vmp-trenchless-plumbing-media > div {

    left:
      14px;

    right:
      14px;

    bottom:
      14px;

    padding:
      19px;
  }


  /* FAQ */

  .vmp-trenchless-faq-grid {

    gap:
      37px !important;
  }


  /* FINAL CTA */

  .vmp-trenchless-final {

    min-height:
      580px;

    align-items:
      center !important;
  }


  .vmp-trenchless-final-bg {

    background:

      linear-gradient(
        180deg,
        rgba(4,20,39,.08) 0%,
        rgba(4,21,41,.47) 42%,
        rgba(4,20,39,.98) 74%,
        #041427 100%
      ),

      url(
        "https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-technician.png"
      );


    background-position:
      68% center;
  }


  .vmp-trenchless-final-content {

    padding:
      205px 0 55px !important;
  }


  .vmp-trenchless-final
  .vmp-button-row {

    display:
      grid;

    grid-template-columns:
      1fr;

    gap:
      11px;
  }


  .vmp-trenchless-final
  .vmp-btn {

    width:
      100%;

    justify-content:
      center;
  }

}

/* =========================================================
VELOCITY MASTER CHILD SERVICE PAGE SYSTEM
FULL-SERVICE PLUMBING MASTER STYLESHEET
========================================================= */


/* =========================================================
PAGE SAFETY / STICKY SUPPORT
========================================================= */

html,
body {
  overflow-x: clip;
}

.vmp-fsp-page,
.vmp-fsp-main,
.vmp-fsp-main > .vmp-container,
.vmp-fsp-main-grid,
.vmp-fsp-content,
.vmp-fsp-sidebar,
.vmp-fsp-sidebar-inner {
  overflow: visible !important;
}

.elementor-widget-html:has(.vmp-fsp-page),
.elementor-widget-html:has(.vmp-fsp-page) .elementor-widget-container,
.e-con:has(.vmp-fsp-page),
.e-con-inner:has(.vmp-fsp-page) {
  overflow: visible !important;
}


/* =========================================================
HERO
========================================================= */

.vmp-fsp-hero {
  position: relative;
  display: flex;
  min-height: 650px;
  align-items: center;
  overflow: hidden;
  background: #06172d;
}

.vmp-fsp-hero-bg {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(4, 19, 39, 0.99),
      rgba(5, 27, 52, 0.94) 41%,
      rgba(5, 30, 58, 0.53) 69%,
      rgba(4, 21, 40, 0.12)
    ),
    url("https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-master-plumbing-subpage-vp.png");

  background-position: center;
  background-size: cover;
}

.vmp-fsp-hero-grid {
  position: relative;
  z-index: 2;

  display: grid;

  grid-template-columns:
    minmax(0, 1fr)
    minmax(335px, 0.55fr);

  align-items: center;

  gap: 78px;
}

.vmp-fsp-hero-copy {
  max-width: 770px;

  padding: 95px 0;
}

.vmp-fsp-hero h1 {
  max-width: 780px;

  color: #ffffff;
}

.vmp-fsp-hero-copy > p {
  max-width: 700px;

  color: rgba(255, 255, 255, 0.8);

  font-size: 19px;
}

.vmp-fsp-hero-proof {
  display: flex;

  flex-wrap: wrap;

  gap: 10px;

  margin-top: 29px;
}

.vmp-fsp-hero-proof span {
  padding: 10px 15px;

  color: #ffffff;

  border: 1px solid rgba(113, 220, 248, 0.29);

  border-radius: 999px;

  background: rgba(7, 47, 83, 0.68);

  font-size: 12px;

  transition:
    transform 0.28s ease,
    border-color 0.28s ease,
    background 0.28s ease,
    box-shadow 0.28s ease;
}

.vmp-fsp-hero-proof span:hover {
  transform: translateY(-5px);

  border-color: rgba(111, 223, 249, 0.86);

  background: rgba(14, 92, 142, 0.78);

  box-shadow:
    0 15px 32px rgba(0, 0, 0, 0.28),
    0 0 24px rgba(34, 183, 232, 0.18);
}


/* =========================================================
HERO PANEL
========================================================= */

.vmp-fsp-hero-panel {
  position: relative;

  overflow: hidden;

  padding: 38px;

  color: #ffffff;

  border: 1px solid rgba(255, 255, 255, 0.18);

  border-radius: 16px;

  background:
    linear-gradient(
      145deg,
      rgba(12, 66, 108, 0.86),
      rgba(5, 28, 53, 0.96)
    );

  box-shadow:
    0 30px 80px rgba(0, 0, 0, 0.34);

  backdrop-filter: blur(12px);

  transition:
    transform 0.32s ease,
    border-color 0.32s ease,
    box-shadow 0.32s ease;
}

.vmp-fsp-hero-panel::after {
  position: absolute;

  right: -80px;

  bottom: -95px;

  width: 250px;

  height: 250px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(52, 202, 243, 0.31),
      transparent 69%
    );

  content: "";
}

.vmp-fsp-hero-panel:hover {
  transform: translateY(-9px);

  border-color: rgba(103, 222, 249, 0.72);

  box-shadow:
    0 39px 90px rgba(0, 0, 0, 0.42),
    0 0 38px rgba(34, 183, 232, 0.15);
}

.vmp-fsp-hero-panel > * {
  position: relative;

  z-index: 2;
}

.vmp-fsp-panel-label {
  display: inline-block;

  color: #8ce2f9;

  font-size: 9px;

  font-weight: 900;

  letter-spacing: 0.16em;

  text-transform: uppercase;
}

.vmp-fsp-hero-panel h2 {
  margin: 18px 0 23px;

  color: #ffffff;

  font-size: 29px;

  line-height: 1.16;
}

.vmp-fsp-hero-panel ul {
  display: grid;

  gap: 10px;

  margin: 0;

  padding: 0;

  list-style: none;
}

.vmp-fsp-hero-panel li {
  position: relative;

  padding: 11px 13px 11px 39px;

  color: rgba(255, 255, 255, 0.8);

  border: 1px solid rgba(255, 255, 255, 0.1);

  border-radius: 8px;

  background: rgba(255, 255, 255, 0.055);

  font-size: 13px;
}

.vmp-fsp-hero-panel li::before {
  position: absolute;

  top: 50%;

  left: 13px;

  display: flex;

  width: 18px;

  height: 18px;

  align-items: center;

  justify-content: center;

  color: #062846;

  border-radius: 50%;

  background: #58d3f3;

  content: "✓";

  font-size: 9px;

  font-weight: 900;

  transform: translateY(-50%);
}

.vmp-fsp-hero-panel > a {
  display: inline-block;

  margin-top: 22px;

  color: #7edff7 !important;

  font-size: 13px;

  font-weight: 850;

  text-decoration: none !important;
}


/* =========================================================
PROOF STRIP
========================================================= */

.vmp-fsp-proof-strip {
  position: relative;

  z-index: 5;

  margin-top: -44px;
}

.vmp-fsp-proof-grid {
  display: grid;

  grid-template-columns:
    repeat(4, 1fr);

  overflow: hidden;

  border: 1px solid #d3e7f0;

  border-radius: 13px;

  background: #ffffff;

  box-shadow:
    0 22px 58px rgba(9, 67, 104, 0.15);
}

.vmp-fsp-proof-grid > div {
  position: relative;

  display: flex;

  min-height: 124px;

  overflow: hidden;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  padding: 20px;

  border-right: 1px solid #dcebf2;

  text-align: center;

  transition:
    transform 0.3s ease,
    background 0.3s ease,
    box-shadow 0.3s ease;
}

.vmp-fsp-proof-grid > div:last-child {
  border-right: 0;
}

.vmp-fsp-proof-grid > div::before {
  position: absolute;

  top: 0;

  left: 50%;

  width: 0;

  height: 4px;

  background:
    linear-gradient(
      90deg,
      #0879c9,
      #22b7e8,
      #79dcf6
    );

  content: "";

  transform: translateX(-50%);

  transition: width 0.35s ease;
}

.vmp-fsp-proof-grid > div:hover {
  z-index: 2;

  transform:
    translateY(-7px)
    scale(1.02);

  background:
    linear-gradient(
      145deg,
      #ffffff,
      #edf9fd
    );

  box-shadow:
    0 23px 48px rgba(7, 89, 139, 0.16);
}

.vmp-fsp-proof-grid > div:hover::before {
  width: 100%;
}

.vmp-fsp-proof-grid strong {
  color: #0879c9;

  font-size: 28px;
}

.vmp-fsp-proof-grid span {
  margin-top: 5px;

  color: #647286;

  font-size: 12px;

  font-weight: 750;
}


/* =========================================================
MAIN PAGE LAYOUT
========================================================= */

.vmp-fsp-main {
  padding-top: 145px;

  background:
    linear-gradient(
      135deg,
      #f7fcfe,
      #ffffff
    );
}

.vmp-fsp-main-grid {
  display: grid !important;

  grid-template-columns:
    minmax(0, 1fr)
    355px !important;

  align-items: start !important;

  gap: 68px !important;
}

.vmp-fsp-content {
  min-width: 0;
}

.vmp-fsp-content-block {
  margin-bottom: 92px;
}

.vmp-fsp-content-block h2,
.vmp-fsp-faq h2,
.vmp-fsp-local h2 {
  max-width: 790px;
}

.vmp-fsp-lead {
  color: #445b74;

  font-size: 19px !important;

  line-height: 1.72;
}


/* =========================================================
CONTENT HIGHLIGHT
========================================================= */

.vmp-fsp-highlight {
  position: relative;

  overflow: hidden;

  margin-top: 31px;

  padding: 27px 29px;

  color: #ffffff;

  border-left: 4px solid #22b7e8;

  border-radius: 10px;

  background:
    linear-gradient(
      135deg,
      #071a33,
      #0c4778
    );

  box-shadow:
    0 20px 48px rgba(7, 52, 87, 0.18);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.vmp-fsp-highlight:hover {
  transform: translateY(-6px);

  box-shadow:
    0 29px 58px rgba(7, 52, 87, 0.25);
}

.vmp-fsp-highlight span {
  display: block;

  margin-bottom: 9px;

  color: #78dcf6;

  font-size: 9px;

  font-weight: 900;

  letter-spacing: 0.15em;

  text-transform: uppercase;
}

.vmp-fsp-highlight strong {
  display: block;

  font-size: 18px;

  line-height: 1.55;
}


/* =========================================================
CAPABILITY CARDS
========================================================= */

.vmp-fsp-capability-grid {
  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap: 16px;

  margin-top: 34px;
}

.vmp-fsp-capability-grid article {
  position: relative;

  min-height: 255px;

  overflow: hidden;

  padding: 27px;

  border: 1px solid #d4e7f0;

  border-radius: 12px;

  background: #ffffff;

  box-shadow:
    0 14px 33px rgba(8, 67, 103, 0.06);

  transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

.vmp-fsp-capability-grid article::after {
  position: absolute;

  right: -65px;

  bottom: -78px;

  width: 190px;

  height: 190px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(34, 183, 232, 0.18),
      transparent 69%
    );

  content: "";

  opacity: 0;

  transition:
    opacity 0.35s ease,
    transform 0.45s ease;
}

.vmp-fsp-capability-grid article:hover {
  transform: translateY(-8px);

  border-color: #98d9eb;

  box-shadow:
    0 27px 56px rgba(7, 69, 107, 0.14);
}

.vmp-fsp-capability-grid article:hover::after {
  opacity: 1;

  transform: scale(1.2);
}

.vmp-fsp-capability-grid article > * {
  position: relative;

  z-index: 2;
}

.vmp-fsp-capability-grid article > span {
  display: flex;

  width: 43px;

  height: 43px;

  align-items: center;

  justify-content: center;

  margin-bottom: 23px;

  color: #062846;

  border-radius: 9px;

  background:
    linear-gradient(
      135deg,
      #82e1f8,
      #32bde8
    );
}

.vmp-fsp-capability-grid h3 {
  margin: 0 0 11px;

  color: #10233d;
}

.vmp-fsp-capability-grid p {
  margin: 0;

  font-size: 14px;
}


/* =========================================================
IMAGE FEATURE
========================================================= */

.vmp-fsp-image-feature {
  position: relative;

  margin: 0 0 92px;
}

.vmp-fsp-image-wrap {
  overflow: hidden;

  border-radius: 16px;

  box-shadow:
    0 28px 68px rgba(8, 67, 105, 0.16);
}

.vmp-fsp-image-wrap img {
  display: block;

  width: 100%;

  height: 560px;

  object-fit: cover;

  transition:
    transform 0.65s ease,
    filter 0.45s ease;
}

.vmp-fsp-image-wrap:hover img {
  transform: scale(1.045);

  filter:
    contrast(1.05)
    saturate(1.08);
}

.vmp-fsp-image-callout {
  position: absolute;

  right: 28px;

  bottom: 28px;

  width: min(410px, calc(100% - 56px));

  padding: 25px;

  color: #ffffff;

  border-left: 4px solid #22b7e8;

  border-radius: 11px;

  background:
    linear-gradient(
      135deg,
      rgba(5, 28, 54, 0.96),
      rgba(8, 65, 109, 0.96)
    );

  box-shadow:
    0 22px 47px rgba(3, 27, 49, 0.3);
}

.vmp-fsp-image-callout span {
  display: block;

  margin-bottom: 9px;

  color: #7edff7;

  font-size: 9px;

  font-weight: 900;

  letter-spacing: 0.15em;

  text-transform: uppercase;
}

.vmp-fsp-image-callout strong {
  display: block;

  font-size: 19px;

  line-height: 1.45;
}


/* =========================================================
WARNING LIST
========================================================= */

.vmp-fsp-warning-list {
  display: grid;

  gap: 12px;

  margin-top: 33px;
}

.vmp-fsp-warning-list article {
  display: grid;

  grid-template-columns:
    48px 1fr;

  gap: 18px;

  align-items: start;

  padding: 23px;

  border: 1px solid #d4e7f0;

  border-radius: 11px;

  background: #ffffff;

  box-shadow:
    0 10px 26px rgba(8, 67, 104, 0.05);

  transition:
    transform 0.29s ease,
    border-color 0.29s ease,
    box-shadow 0.29s ease;
}

.vmp-fsp-warning-list article:hover {
  transform: translateX(9px);

  border-color: #96d8eb;

  box-shadow:
    0 20px 42px rgba(8, 70, 108, 0.12);
}

.vmp-fsp-warning-list article > span {
  display: flex;

  width: 45px;

  height: 45px;

  align-items: center;

  justify-content: center;

  color: #ffffff;

  border-radius: 9px;

  background:
    linear-gradient(
      135deg,
      #0a6db4,
      #22b7e8
    );
}

.vmp-fsp-warning-list h3 {
  margin: 0 0 7px;

  color: #10233d;
}

.vmp-fsp-warning-list p {
  margin: 0;

  font-size: 14px;
}


/* =========================================================
PROCESS
========================================================= */

.vmp-fsp-process {
  margin: 0 0 92px;

  padding: 48px;

  color: #ffffff;

  border-radius: 17px;

  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(34, 183, 232, 0.21),
      transparent 32%
    ),
    linear-gradient(
      135deg,
      #06172d,
      #0b315b
    );

  box-shadow:
    0 28px 65px rgba(5, 43, 75, 0.2);
}

.vmp-fsp-process-heading h2 {
  color: #ffffff;
}

.vmp-fsp-process-heading p {
  max-width: 770px;

  color: rgba(255, 255, 255, 0.7);
}

.vmp-fsp-process-grid {
  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap: 14px;

  margin-top: 34px;
}

.vmp-fsp-process-grid article {
  padding: 25px;

  border: 1px solid rgba(255, 255, 255, 0.13);

  border-radius: 11px;

  background: rgba(255, 255, 255, 0.055);

  transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    background 0.3s ease,
    box-shadow 0.3s ease;
}

.vmp-fsp-process-grid article:hover {
  transform: translateY(-7px);

  border-color: rgba(110, 223, 249, 0.65);

  background: rgba(34, 183, 232, 0.13);

  box-shadow:
    0 22px 45px rgba(0, 0, 0, 0.2);
}

.vmp-fsp-process-grid article > span {
  display: flex;

  width: 42px;

  height: 42px;

  align-items: center;

  justify-content: center;

  margin-bottom: 21px;

  color: #062846;

  border-radius: 9px;

  background:
    linear-gradient(
      135deg,
      #82e1f8,
      #32bde8
    );
}

.vmp-fsp-process-grid h3 {
  color: #ffffff;
}

.vmp-fsp-process-grid p {
  margin: 0;

  color: rgba(255, 255, 255, 0.65);

  font-size: 13px;
}


/* =========================================================
PROPERTY TYPES
========================================================= */

.vmp-fsp-property-grid {
  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap: 18px;

  margin-top: 32px;
}

.vmp-fsp-property-grid article {
  padding: 31px;

  border: 1px solid #d3e7f0;

  border-radius: 13px;

  background:
    linear-gradient(
      145deg,
      #edf9fd,
      #ffffff
    );

  box-shadow:
    0 15px 36px rgba(8, 67, 105, 0.07);

  transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

.vmp-fsp-property-grid article:hover {
  transform: translateY(-8px);

  border-color: #96d8eb;

  box-shadow:
    0 27px 56px rgba(8, 68, 106, 0.14);
}

.vmp-fsp-property-grid article > span {
  color: #0879c9;

  font-size: 9px;

  font-weight: 900;

  letter-spacing: 0.15em;

  text-transform: uppercase;
}

.vmp-fsp-property-grid h3 {
  margin: 13px 0;

  color: #10233d;
}

.vmp-fsp-property-grid ul {
  display: grid;

  gap: 9px;

  margin: 20px 0 0;

  padding: 0;

  list-style: none;
}

.vmp-fsp-property-grid li {
  position: relative;

  padding-left: 25px;

  color: #53677f;

  font-size: 13px;
}

.vmp-fsp-property-grid li::before {
  position: absolute;

  top: 1px;

  left: 0;

  display: flex;

  width: 17px;

  height: 17px;

  align-items: center;

  justify-content: center;

  color: #ffffff;

  border-radius: 50%;

  background: #22b7e8;

  content: "✓";

  font-size: 8px;
}


/* =========================================================
WHY VELOCITY
========================================================= */

.vmp-fsp-why-grid {
  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap: 16px;

  margin-top: 32px;
}

.vmp-fsp-why-grid article {
  position: relative;

  overflow: hidden;

  padding: 27px;

  border: 1px solid #d4e7f0;

  border-radius: 12px;

  background: #ffffff;

  box-shadow:
    0 13px 31px rgba(8, 67, 105, 0.06);

  transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

.vmp-fsp-why-grid article:hover {
  transform: translateY(-8px);

  border-color: #96d8eb;

  box-shadow:
    0 26px 54px rgba(8, 68, 106, 0.14);
}

.vmp-fsp-why-grid article > span {
  display: flex;

  width: 40px;

  height: 40px;

  align-items: center;

  justify-content: center;

  margin-bottom: 20px;

  color: #062846;

  border-radius: 9px;

  background:
    linear-gradient(
      135deg,
      #82e1f8,
      #32bde8
    );
}

.vmp-fsp-why-grid h3 {
  color: #10233d;
}

.vmp-fsp-why-grid p {
  margin: 0;

  font-size: 14px;
}


/* =========================================================
SERVICE AREA
========================================================= */

.vmp-fsp-local {
  display: block !important;

  margin: 0 0 92px;

  padding: 46px !important;

  border: 1px solid #d2e7f0;

  border-radius: 15px;

  background:
    radial-gradient(
      circle at 90% 5%,
      rgba(34, 183, 232, 0.11),
      transparent 34%
    ),
    linear-gradient(
      135deg,
      #edf9fd 0%,
      #ffffff 100%
    ) !important;

  box-shadow:
    0 20px 50px rgba(8, 67, 105, 0.09);
}

.vmp-fsp-local > div:first-child {
  max-width: 850px;
}

.vmp-fsp-local h2 {
  max-width: 760px;
}

.vmp-fsp-local > div:first-child p {
  max-width: 850px;
}

.vmp-fsp-local-links {
  display: grid !important;

  grid-template-columns:
    repeat(2, minmax(0, 1fr)) !important;

  gap: 12px !important;

  margin-top: 36px !important;
}

.vmp-fsp-local-links a {
  display: flex;

  min-height: 66px;

  align-items: center;

  justify-content: space-between;

  padding: 18px 21px !important;

  color: #10233d !important;

  border: 1px solid #d2e5ee;

  border-radius: 10px !important;

  background: #ffffff;

  font-size: 14px !important;

  font-weight: 800;

  text-decoration: none !important;

  transition:
    transform 0.28s ease,
    border-color 0.28s ease,
    background 0.28s ease,
    box-shadow 0.28s ease;
}

.vmp-fsp-local-links a:hover {
  transform: translateY(-6px) !important;

  border-color: #77cfe8 !important;

  background:
    linear-gradient(
      135deg,
      #ffffff,
      #edfaff
    ) !important;

  box-shadow:
    0 18px 38px rgba(7, 78, 119, 0.15) !important;
}

.vmp-fsp-local-links span {
  color: #22b7e8;

  font-size: 19px;
}


/* =========================================================
RELATED SERVICES
========================================================= */

.vmp-fsp-related-grid {
  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  gap: 15px;

  margin-top: 31px;
}

.vmp-fsp-related-grid a {
  position: relative;

  display: flex;

  min-height: 225px;

  overflow: hidden;

  flex-direction: column;

  padding: 25px;

  color: inherit !important;

  border: 1px solid #d3e7f0;

  border-radius: 11px;

  background: #ffffff;

  box-shadow:
    0 12px 28px rgba(8, 67, 104, 0.05);

  text-decoration: none !important;

  transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

.vmp-fsp-related-grid a::before {
  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 4px;

  background:
    linear-gradient(
      90deg,
      #0879c9,
      #22b7e8
    );

  content: "";

  transform: scaleX(0);

  transform-origin: left;

  transition: transform 0.35s ease;
}

.vmp-fsp-related-grid a:hover {
  transform: translateY(-8px);

  border-color: #96d8eb;

  box-shadow:
    0 25px 52px rgba(7, 68, 105, 0.14);
}

.vmp-fsp-related-grid a:hover::before {
  transform: scaleX(1);
}

.vmp-fsp-related-grid a > span {
  color: #10233d;

  font-size: 16px;

  font-weight: 850;
}

.vmp-fsp-related-grid a > p {
  flex: 1;

  margin: 15px 0;

  font-size: 13px;
}

.vmp-fsp-related-grid a > strong {
  color: #0879c9;

  font-size: 12px;
}


/* =========================================================
FAQ
========================================================= */

.vmp-fsp-faq {
  margin-bottom: 25px;
}

.vmp-fsp-faq-heading {
  max-width: 750px;

  margin-bottom: 31px;
}

.vmp-fsp-faq-list {
  display: grid;

  gap: 10px;
}

.vmp-fsp-faq-list details {
  overflow: hidden;

  border: 1px solid #d2e7f0;

  border-radius: 9px;

  background: #ffffff;

  box-shadow:
    0 8px 21px rgba(8, 67, 104, 0.04);

  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}

.vmp-fsp-faq-list details:hover {
  border-color: #9bd8eb;

  box-shadow:
    0 15px 32px rgba(8, 70, 108, 0.09);
}

.vmp-fsp-faq-list summary {
  position: relative;

  padding: 20px 52px 20px 21px;

  color: #10233d;

  cursor: pointer;

  font-size: 14px;

  font-weight: 800;

  list-style: none;
}

.vmp-fsp-faq-list summary::-webkit-details-marker {
  display: none;
}

.vmp-fsp-faq-list summary::after {
  position: absolute;

  top: 50%;

  right: 20px;

  color: #22b7e8;

  content: "+";

  font-size: 21px;

  transform: translateY(-50%);
}

.vmp-fsp-faq-list details[open] summary::after {
  content: "−";
}

.vmp-fsp-faq-list details p {
  margin: 0;

  padding: 0 21px 22px;

  font-size: 14px;
}


/* =========================================================
FINAL CLEAN STICKY SIDEBAR
========================================================= */

.vmp-fsp-sidebar {
  position: -webkit-sticky !important;

  position: sticky !important;

  top: 95px !important;

  align-self: start !important;

  width: 100%;

  height: fit-content !important;

  min-height: 0 !important;

  max-height: none !important;

  overflow: visible !important;

  z-index: 20;
}

.vmp-fsp-sidebar-inner {
  display: grid !important;

  gap: 17px !important;

  width: 100%;

  height: auto !important;

  min-height: 0 !important;

  max-height: none !important;

  overflow: visible !important;
}

.vmp-fsp-sidebar-card,
.vmp-fsp-call-card,
.vmp-fsp-sidebar-review,
.vmp-fsp-trust-card {
  width: 100%;

  max-width: 100%;

  box-sizing: border-box;
}


/* =========================================================
SIDEBAR CARDS
========================================================= */

.vmp-fsp-sidebar-card {
  padding: 25px;

  border: 1px solid #d3e7f0;

  border-radius: 13px;

  background: #ffffff;

  box-shadow:
    0 16px 40px rgba(8, 67, 104, 0.09);

  transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

.vmp-fsp-sidebar-card:hover {
  transform: translateY(-5px);

  border-color: #99d8ea;

  box-shadow:
    0 24px 50px rgba(8, 68, 105, 0.14);
}

.vmp-fsp-sidebar-label {
  display: block;

  color: #0879c9;

  font-size: 8px;

  font-weight: 900;

  letter-spacing: 0.15em;

  text-transform: uppercase;
}

.vmp-fsp-sidebar-card h2 {
  margin: 10px 0 9px;

  color: #10233d;

  font-size: 25px !important;

  line-height: 1.12 !important;
}

.vmp-fsp-sidebar-card > p {
  margin-bottom: 0;

  color: #617187;

  font-size: 13px;

  line-height: 1.65;
}


/* =========================================================
FLUENT FORM
========================================================= */

.vmp-fsp-form {
  margin-top: 20px;
}

.vmp-fsp-form-card .ff-el-group {
  margin-bottom: 12px !important;
}

.vmp-fsp-form-card .ff-el-input--label label {
  color: #334b64 !important;

  font-size: 10px !important;

  font-weight: 800 !important;
}

.vmp-fsp-form-card input,
.vmp-fsp-form-card select,
.vmp-fsp-form-card textarea {
  width: 100% !important;

  min-height: 45px !important;

  padding: 11px 12px !important;

  color: #10233d !important;

  border: 1px solid #cbdfe8 !important;

  border-radius: 6px !important;

  background: #f9fcfe !important;

  font-size: 13px !important;

  box-shadow: none !important;

  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease !important;
}

.vmp-fsp-form-card textarea {
  min-height: 105px !important;
}

.vmp-fsp-form-card input:focus,
.vmp-fsp-form-card select:focus,
.vmp-fsp-form-card textarea:focus {
  border-color: #22b7e8 !important;

  box-shadow:
    0 0 0 3px rgba(34, 183, 232, 0.13) !important;

  outline: none !important;
}

.vmp-fsp-form-card .ff-btn-submit {
  width: 100% !important;

  min-height: 48px !important;

  color: #ffffff !important;

  border: 0 !important;

  border-radius: 6px !important;

  background:
    linear-gradient(
      135deg,
      #0879c9,
      #22b7e8
    ) !important;

  font-weight: 850 !important;

  transition:
    transform 0.27s ease,
    box-shadow 0.27s ease !important;
}

.vmp-fsp-form-card .ff-btn-submit:hover {
  transform: translateY(-3px);

  box-shadow:
    0 14px 30px rgba(8, 121, 201, 0.27) !important;
}


/* =========================================================
CALL CARD
========================================================= */

.vmp-fsp-call-card {
  position: relative;

  display: flex;

  overflow: hidden !important;

  flex-direction: column;

  padding: 27px;

  color: #ffffff !important;

  border: 1px solid rgba(91, 211, 243, 0.27);

  border-radius: 13px;

  background:
    linear-gradient(
      135deg,
      #071a33,
      #0b4474
    );

  box-shadow:
    0 18px 43px rgba(6, 44, 76, 0.2);

  text-decoration: none !important;

  transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

.vmp-fsp-call-card::after {
  position: absolute;

  right: -53px;

  bottom: -70px;

  width: 170px;

  height: 170px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(57, 207, 245, 0.31),
      transparent 69%
    );

  content: "";
}

.vmp-fsp-call-card:hover {
  transform: translateY(-7px);

  border-color: rgba(104, 221, 249, 0.75);

  box-shadow:
    0 29px 58px rgba(6, 44, 76, 0.29);
}

.vmp-fsp-call-card > * {
  position: relative;

  z-index: 2;
}

.vmp-fsp-call-card > span {
  color: #7adcf6;

  font-size: 8px;

  font-weight: 900;

  letter-spacing: 0.15em;

  text-transform: uppercase;
}

.vmp-fsp-call-card > strong {
  margin: 9px 0;

  color: #ffffff;

  font-size: 22px;

  line-height: 1.25;
}

.vmp-fsp-call-card > small {
  color: rgba(255, 255, 255, 0.68);

  font-size: 12px;

  line-height: 1.55;
}


/* =========================================================
SIDEBAR REVIEW
========================================================= */

.vmp-fsp-sidebar-review {
  padding: 27px;

  border: 1px solid #d4e8f0;

  border-radius: 13px;

  background:
    linear-gradient(
      145deg,
      #edf9fd,
      #ffffff
    );

  box-shadow:
    0 15px 37px rgba(8, 67, 104, 0.08);

  transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

.vmp-fsp-sidebar-review:hover {
  transform: translateY(-7px);

  border-color: #95d8eb;

  box-shadow:
    0 26px 54px rgba(8, 68, 105, 0.15);
}

.vmp-fsp-sidebar-stars {
  color: #f6ae19;

  font-size: 17px;

  letter-spacing: 0.11em;
}

.vmp-fsp-sidebar-review blockquote {
  margin: 18px 0;

  color: #10233d;

  font-size: 17px;

  font-weight: 750;

  line-height: 1.55;
}

.vmp-fsp-sidebar-review > strong {
  display: block;

  color: #10233d;
}

.vmp-fsp-sidebar-review > span {
  display: block;

  margin-top: 4px;

  color: #748298;

  font-size: 11px;
}

.vmp-fsp-sidebar-review > a {
  display: inline-block;

  margin-top: 15px;

  color: #0879c9 !important;

  font-size: 12px;

  font-weight: 850;

  text-decoration: none !important;
}


/* =========================================================
SIDEBAR NAVIGATION
========================================================= */

.vmp-fsp-sidebar-nav {
  display: grid;

  gap: 8px;

  margin-top: 18px;
}

.vmp-fsp-sidebar-nav a {
  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 12px;

  padding: 13px 14px;

  color: #10233d !important;

  border: 1px solid #d7e8ef;

  border-radius: 7px;

  background: #f8fcfe;

  font-size: 12px;

  font-weight: 750;

  line-height: 1.35;

  text-decoration: none !important;

  transition:
    transform 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease,
    background 0.25s ease,
    box-shadow 0.25s ease;
}

.vmp-fsp-sidebar-nav a:hover {
  transform: translateX(5px);

  color: #0879c9 !important;

  border-color: #94d7ea;

  background: #edf9fd;

  box-shadow:
    0 10px 24px rgba(8, 80, 121, 0.09);
}

.vmp-fsp-sidebar-nav span {
  flex: 0 0 auto;

  color: #22b7e8;

  font-size: 16px;
}


/* =========================================================
GOOGLE RATING CARD
========================================================= */

.vmp-fsp-trust-card {
  display: block;

  padding: 25px;

  color: #ffffff !important;

  border-radius: 13px;

  background:
    linear-gradient(
      135deg,
      #0b315b,
      #0875b8
    );

  box-shadow:
    0 18px 42px rgba(7, 65, 103, 0.2);

  text-decoration: none !important;

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.vmp-fsp-trust-card:hover {
  transform: translateY(-7px);

  box-shadow:
    0 29px 60px rgba(7, 65, 103, 0.3);
}

.vmp-fsp-trust-card > span {
  color: #83e0f8;

  font-size: 8px;

  font-weight: 900;

  letter-spacing: 0.15em;

  text-transform: uppercase;
}

.vmp-fsp-trust-card > div {
  display: flex;

  align-items: center;

  gap: 17px;

  margin: 13px 0 9px;
}

.vmp-fsp-trust-card strong {
  color: #ffffff;

  font-size: 48px;

  line-height: 1;
}

.vmp-fsp-trust-card small {
  color: #ffc247;

  letter-spacing: 0.1em;
}

.vmp-fsp-trust-card p {
  margin: 0;

  color: rgba(255, 255, 255, 0.72);

  font-size: 12px;

  line-height: 1.55;
}


/* =========================================================
FINAL CTA
========================================================= */

.vmp-fsp-final {
  position: relative;

  display: flex;

  min-height: 545px;

  align-items: center;

  overflow: hidden;

  background: #06172d;
}

.vmp-fsp-final-bg {
  position: absolute;

  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(4, 19, 38, 0.99) 0%,
      rgba(5, 27, 52, 0.95) 39%,
      rgba(5, 31, 58, 0.5) 67%,
      rgba(4, 21, 40, 0.08) 100%
    ),
    url("https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-technician.png");

  background-position: center;

  background-size: cover;
}

.vmp-fsp-final-content {
  position: relative;

  z-index: 2;

  width: min(760px, 100%);

  padding: 95px 0;
}

.vmp-fsp-final h2 {
  color: #ffffff;
}

.vmp-fsp-final p {
  color: rgba(255, 255, 255, 0.78);
}


/* =========================================================
TABLET
========================================================= */

@media (max-width: 1080px) {

  .vmp-fsp-hero-grid {
    grid-template-columns: 1fr;

    gap: 50px;
  }

  .vmp-fsp-hero-panel {
    max-width: 560px;

    margin-bottom: 80px;
  }

  .vmp-fsp-main-grid {
    grid-template-columns: 1fr !important;

    gap: 65px !important;
  }

  .vmp-fsp-sidebar {
    position: static !important;

    top: auto !important;

    width: 100%;

    height: auto !important;
  }

  .vmp-fsp-sidebar-inner {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    align-items: start;
  }

  .vmp-fsp-form-card {
    grid-row: span 2;
  }

}


/* =========================================================
MOBILE
========================================================= */

@media (max-width: 767px) {


  /* HERO */

  .vmp-fsp-hero {
    min-height: auto;

    align-items: flex-end;
  }

  .vmp-fsp-hero-bg {
    background:
      linear-gradient(
        180deg,
        rgba(5, 22, 42, 0.18),
        rgba(5, 22, 42, 0.98) 58%
      ),
      url("https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-master-plumbing-subpage-vp.png");

    background-position: 68% center;
  }

  .vmp-fsp-hero-copy {
    padding: 60px 0 32px !important;
  }

  .vmp-fsp-hero h1 {
    font-size:
      clamp(38px, 10.4vw, 48px) !important;

    line-height: 1.03 !important;

    letter-spacing: -0.04em;
  }

  .vmp-fsp-hero-copy > p {
    font-size: 16px;

    line-height: 1.7;
  }

  .vmp-fsp-hero .vmp-button-row {
    display: grid;

    grid-template-columns: 1fr;

    gap: 11px;
  }

  .vmp-fsp-hero .vmp-btn {
    width: 100%;

    justify-content: center;
  }

  .vmp-fsp-hero-proof {
    display: grid;

    grid-template-columns: 1fr;

    gap: 9px;
  }

  .vmp-fsp-hero-proof span {
    width: 100%;

    text-align: center;
  }

  .vmp-fsp-hero-panel {
    margin: 0 0 74px;

    padding: 27px 23px;
  }

  .vmp-fsp-hero-panel h2 {
    font-size: 25px !important;
  }


  /* PROOF STRIP */

  .vmp-fsp-proof-strip {
    margin-top: -35px;
  }

  .vmp-fsp-proof-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }

  .vmp-fsp-proof-grid > div {
    min-height: 108px;

    padding: 15px 10px;

    border-bottom:
      1px solid #dcebf2;
  }

  .vmp-fsp-proof-grid > div:nth-child(2) {
    border-right: 0;
  }

  .vmp-fsp-proof-grid strong {
    font-size: 24px;
  }

  .vmp-fsp-proof-grid span {
    font-size: 10px;
  }


  /* MAIN */

  .vmp-fsp-main {
    padding-top: 100px !important;

    padding-bottom: 70px !important;
  }

  .vmp-fsp-page h2 {
    font-size:
      clamp(30px, 8.3vw, 39px) !important;

    line-height: 1.08 !important;

    letter-spacing: -0.035em;
  }

  .vmp-fsp-page p {
    font-size: 15px;

    line-height: 1.72;
  }

  .vmp-fsp-content-block {
    margin-bottom: 68px;
  }

  .vmp-fsp-lead {
    font-size: 17px !important;
  }

  .vmp-fsp-highlight {
    padding: 23px 21px;
  }

  .vmp-fsp-highlight strong {
    font-size: 16px;
  }


  /* CAPABILITIES */

  .vmp-fsp-capability-grid {
    grid-template-columns: 1fr;
  }

  .vmp-fsp-capability-grid article {
    min-height: auto;

    padding: 23px 21px;
  }


  /* IMAGE */

  .vmp-fsp-image-feature {
    margin-bottom: 68px;
  }

  .vmp-fsp-image-wrap img {
    height: 390px;
  }

  .vmp-fsp-image-callout {
    position: relative;

    right: auto;

    bottom: auto;

    width: calc(100% - 28px);

    margin: -34px auto 0;

    padding: 20px;
  }

  .vmp-fsp-image-callout strong {
    font-size: 16px;
  }


  /* WARNING LIST */

  .vmp-fsp-warning-list article {
    grid-template-columns:
      40px 1fr;

    gap: 13px;

    padding: 19px 17px;
  }

  .vmp-fsp-warning-list article > span {
    width: 38px;

    height: 38px;
  }


  /* PROCESS */

  .vmp-fsp-process {
    margin-bottom: 68px;

    padding: 29px 21px;
  }

  .vmp-fsp-process-grid {
    grid-template-columns: 1fr;
  }

  .vmp-fsp-process-grid article {
    padding: 21px;
  }


  /* PROPERTY TYPES */

  .vmp-fsp-property-grid {
    grid-template-columns: 1fr;
  }

  .vmp-fsp-property-grid article {
    padding: 24px 21px;
  }


  /* WHY */

  .vmp-fsp-why-grid {
    grid-template-columns: 1fr;
  }

  .vmp-fsp-why-grid article {
    padding: 23px 21px;
  }


  /* SERVICE AREA */

  .vmp-fsp-local {
    margin-bottom: 68px;

    padding: 27px 21px !important;
  }

  .vmp-fsp-local-links {
    grid-template-columns: 1fr !important;

    margin-top: 28px !important;
  }

  .vmp-fsp-local-links a {
    min-height: 60px;
  }


  /* RELATED SERVICES */

  .vmp-fsp-related-grid {
    grid-template-columns: 1fr;
  }

  .vmp-fsp-related-grid a {
    min-height: auto;
  }


  /* SIDEBAR */

  .vmp-fsp-sidebar {
    position: static !important;

    top: auto !important;
  }

  .vmp-fsp-sidebar-inner {
    grid-template-columns: 1fr !important;
  }

  .vmp-fsp-form-card {
    grid-row: auto;
  }

  .vmp-fsp-sidebar-card,
  .vmp-fsp-call-card,
  .vmp-fsp-sidebar-review,
  .vmp-fsp-trust-card {
    padding: 23px 20px;
  }


  /* FAQ */

  .vmp-fsp-faq {
    margin-bottom: 0;
  }


  /* FINAL CTA */

  .vmp-fsp-final {
    min-height: 580px;

    align-items: center !important;
  }

  .vmp-fsp-final-bg {
    background:
      linear-gradient(
        180deg,
        rgba(4, 20, 39, 0.08) 0%,
        rgba(4, 21, 41, 0.48) 42%,
        rgba(4, 20, 39, 0.98) 74%,
        #041427 100%
      ),
      url("https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-technician.png");

    background-position: 68% center;
  }

  .vmp-fsp-final-content {
    padding: 205px 0 55px !important;
  }

  .vmp-fsp-final .vmp-button-row {
    display: grid;

    grid-template-columns: 1fr;

    gap: 11px;
  }

  .vmp-fsp-final .vmp-btn {
    width: 100%;

    justify-content: center;
  }

}

/* =========================================================
VELOCITY TRUST BAR — FINAL POSITION + SPACING
========================================================= */

.vmp-fsp-proof-strip {
  position: relative !important;
  z-index: 20 !important;

  height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;

  background: transparent !important;
}


/* Float the actual trust cards over the hero */

.vmp-fsp-proof-strip > .vmp-container {
  position: relative;

  z-index: 5;

  transform: translateY(-44px);
}


/* Remove any leftover section spacing */

.vmp-fsp-proof-grid {
  margin: 0 !important;
}


/* =========================================================
NEXT SECTION TRANSITION
========================================================= */

.vmp-fsp-main {
  padding-top: 105px !important;

  background:
    linear-gradient(
      180deg,
      #ffffff 0,
      #f5fbfd 55px,
      #edf8fc 145px,
      #f7fcfe 100%
    ) !important;
}


/* =========================================================
MOBILE
========================================================= */

@media (max-width: 767px) {

  .vmp-fsp-proof-strip > .vmp-container {
    transform: translateY(-30px);
  }

  .vmp-fsp-main {
    padding-top: 78px !important;

    background:
      linear-gradient(
        180deg,
        #ffffff 0,
        #f5fbfd 40px,
        #edf8fc 105px,
        #f7fcfe 100%
      ) !important;
  }

}

/* =========================================================
TRUST BAR FOLLOWING SECTION — REMOVE EXCESS TOP SPACE
========================================================= */

.vmp-plumbing-proof-strip + .vmp-plumbing-intro,
.vmp-fsp-proof-strip + .vmp-fsp-main {
  padding-top: 150px !important;
}

/* =========================================================
HUB + SERVICE AREA PAGES
TIGHTER SPACING BELOW TRUST BAR

IMPORTANT:
Does not affect child service pages.
========================================================= */


/* Plumbing Services Hub */

.vmp-plumbing-proof-strip + .vmp-plumbing-intro {
  padding-top: 72px !important;
}


/* Trenchless Solutions Hub */

.vmp-trenchless-proof-strip + .vmp-trenchless-intro {
  padding-top: 72px !important;
}


/* Service Areas Page */

.vmp-service-area-proof-strip + .vmp-service-area-intro,
.vmp-service-areas-proof-strip + .vmp-service-areas-intro {
  padding-top: 72px !important;
}


/* =========================================================
MOBILE
========================================================= */

@media (max-width: 767px) {

  .vmp-plumbing-proof-strip + .vmp-plumbing-intro,
  .vmp-trenchless-proof-strip + .vmp-trenchless-intro,
  .vmp-service-area-proof-strip + .vmp-service-area-intro,
  .vmp-service-areas-proof-strip + .vmp-service-areas-intro {
    padding-top: 58px !important;
  }

}

.vmp-area-coverage {
  padding-top: 72px !important;

  background:
    linear-gradient(
      135deg,
      #edf9fd,
      #f9fdff
    );
}

/* =====================================================
VMP HERO REVIEW LINK — DESKTOP SPACING FIX
===================================================== */

@media (min-width: 1025px) {

  .vmp-fsp-hero-panel > a,
  .vmp-service-hero-panel > a,
  .vmp-plumbing-hero-panel > a,
  .vmp-trenchless-hero-panel > a,
  .vmp-area-hero-panel > a {

    display: inline-flex;
    align-items: center;
    width: fit-content;

    margin-top: 24px;
    padding-bottom: 24px;

    line-height: 1.35;
    white-space: nowrap;
  }

}

@media (min-width: 1025px) {

  .vmp-fsp-hero-panel,
  .vmp-service-hero-panel,
  .vmp-plumbing-hero-panel,
  .vmp-trenchless-hero-panel,
  .vmp-area-hero-panel {

    padding-bottom: 34px;
  }

}

@media (min-width: 1025px) {
    .vmp-review-feature {
        padding-top: 72px !important;
    }
}

/* =========================================================
VELOCITY BLOG — PIECE 1
Hero + Resource Intro + Pre-Blog CTA
========================================================= */

.vmp-blog-page,
.vmp-blog-page * {
    box-sizing: border-box;
}

.vmp-blog-page {
    --vmp-blog-navy: #031b34;
    --vmp-blog-navy-2: #082c50;
    --vmp-blog-blue: #128fd4;
    --vmp-blog-cyan: #25b8e8;
    --vmp-blog-ink: #12233b;
    --vmp-blog-copy: #5d718a;
    --vmp-blog-line: #cfe4ef;
    --vmp-blog-soft: #edf9fd;
    --vmp-blog-white: #ffffff;

    width: 100%;
    overflow: hidden;
    color: var(--vmp-blog-ink);
    font-family: inherit;
}

.vmp-blog-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =========================================================
HERO
========================================================= */

.vmp-blog-hero {
    position: relative;
    min-height: 650px;
    display: flex;
    align-items: center;
    overflow: hidden;
    isolation: isolate;
    background:
        linear-gradient(
            90deg,
            rgba(1, 22, 43, 0.98) 0%,
            rgba(2, 27, 51, 0.94) 43%,
            rgba(3, 32, 58, 0.72) 70%,
            rgba(3, 25, 47, 0.62) 100%
        ),
        url("https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-master-plumbing-subpage-vp.png")
        center / cover no-repeat;
}

.vmp-blog-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(
            circle at 70% 28%,
            rgba(34, 184, 232, 0.15),
            transparent 34%
        ),
        linear-gradient(
            180deg,
            rgba(2, 23, 43, 0.08),
            rgba(2, 23, 43, 0.38)
        );
}

.vmp-blog-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 115px;
    pointer-events: none;
    background: linear-gradient(
        to bottom,
        transparent,
        rgba(2, 24, 46, 0.45)
    );
}

.vmp-blog-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(340px, 0.82fr);
    gap: 78px;
    align-items: center;
    padding: 95px 0 135px;
}

.vmp-blog-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
    color: #7fddff;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.45;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.vmp-blog-eyebrow::before {
    content: "";
    width: 34px;
    height: 2px;
    flex: 0 0 auto;
    background: linear-gradient(
        90deg,
        var(--vmp-blog-blue),
        var(--vmp-blog-cyan)
    );
}

.vmp-blog-hero-copy h1 {
    max-width: 760px;
    margin: 0 0 25px;
    color: #ffffff;
    font-size: clamp(46px, 4.3vw, 68px);
    line-height: 1.03;
    letter-spacing: -0.045em;
    font-weight: 800;
}

.vmp-blog-hero-copy > p {
    max-width: 735px;
    margin: 0;
    color: rgba(255, 255, 255, 0.81);
    font-size: 19px;
    line-height: 1.68;
}

.vmp-blog-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 33px;
}

.vmp-blog-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 15px 25px;
    border-radius: 7px;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 800;
    text-decoration: none !important;
    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        background 0.22s ease,
        border-color 0.22s ease;
}

.vmp-blog-btn:hover {
    transform: translateY(-3px);
}

.vmp-blog-btn-primary {
    color: #ffffff !important;
    border: 1px solid transparent;
    background: linear-gradient(
        135deg,
        var(--vmp-blog-blue),
        var(--vmp-blog-cyan)
    );
    box-shadow: 0 15px 28px rgba(13, 145, 210, 0.22);
}

.vmp-blog-btn-primary:hover {
    color: #ffffff !important;
    box-shadow: 0 20px 34px rgba(13, 145, 210, 0.32);
}

.vmp-blog-btn-secondary {
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.48);
    background: rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(10px);
}

.vmp-blog-btn-secondary:hover {
    color: #ffffff !important;
    border-color: rgba(105, 215, 255, 0.8);
    background: rgba(18, 143, 212, 0.18);
}

.vmp-blog-proof {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px;
}

.vmp-blog-proof span {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 9px 15px;
    border: 1px solid rgba(45, 184, 230, 0.47);
    border-radius: 100px;
    color: rgba(255, 255, 255, 0.88);
    background: rgba(4, 50, 84, 0.65);
    font-size: 12px;
    line-height: 1.25;
}


/* =========================================================
HERO RESOURCE PANEL
========================================================= */

.vmp-blog-resource-card {
    position: relative;
    overflow: hidden;
    padding: 38px;
    border: 1px solid rgba(111, 214, 248, 0.32);
    border-radius: 17px;
    background:
        linear-gradient(
            145deg,
            rgba(8, 50, 89, 0.97),
            rgba(8, 37, 70, 0.96)
        );
    box-shadow: 0 28px 65px rgba(0, 10, 24, 0.25);
}

.vmp-blog-resource-card::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -110px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    pointer-events: none;
    background: radial-gradient(
        circle,
        rgba(36, 186, 235, 0.21),
        transparent 68%
    );
}

.vmp-blog-resource-label {
    display: block;
    margin-bottom: 15px;
    color: #72d8fa;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.vmp-blog-resource-card h2 {
    position: relative;
    z-index: 2;
    margin: 0 0 14px;
    color: #ffffff;
    font-size: 31px;
    line-height: 1.14;
    letter-spacing: -0.025em;
}

.vmp-blog-resource-card > p {
    position: relative;
    z-index: 2;
    margin: 0 0 24px;
    color: rgba(255, 255, 255, 0.74);
    font-size: 15px;
    line-height: 1.65;
}

.vmp-blog-topic-list {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 10px;
}

.vmp-blog-topic-list a {
    display: grid;
    grid-template-columns: 34px 1fr auto;
    gap: 12px;
    align-items: center;
    min-height: 60px;
    padding: 11px 15px;
    border: 1px solid rgba(164, 221, 243, 0.2);
    border-radius: 9px;
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.065);
    text-decoration: none !important;
    transition:
        transform 0.22s ease,
        background 0.22s ease,
        border-color 0.22s ease;
}

.vmp-blog-topic-list a:hover {
    transform: translateX(5px);
    border-color: rgba(89, 211, 250, 0.58);
    background: rgba(31, 157, 214, 0.16);
}

.vmp-blog-topic-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: #032440;
    background: #58cff3;
    font-size: 14px;
    font-weight: 900;
}

.vmp-blog-topic-list strong {
    color: #ffffff;
    font-size: 13px;
    line-height: 1.4;
}

.vmp-blog-topic-arrow {
    color: #66d8fb;
    font-size: 17px;
    transition: transform 0.2s ease;
}

.vmp-blog-topic-list a:hover .vmp-blog-topic-arrow {
    transform: translateX(3px);
}


/* =========================================================
RESOURCE STRIP
========================================================= */

.vmp-blog-resource-strip {
    position: relative;
    z-index: 5;
    margin-top: -75px;
}

.vmp-blog-resource-strip-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    overflow: hidden;
    border: 1px solid #cce3ee;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 24px 60px rgba(9, 52, 82, 0.12);
}

.vmp-blog-resource-strip-grid > div {
    min-height: 126px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 24px;
    text-align: center;
}

.vmp-blog-resource-strip-grid > div + div {
    border-left: 1px solid #d7e8f0;
}

.vmp-blog-resource-strip strong {
    display: block;
    margin-bottom: 8px;
    color: #0875c5;
    font-size: 28px;
    line-height: 1;
    font-weight: 800;
}

.vmp-blog-resource-strip span {
    color: #60728a;
    font-size: 12px;
    line-height: 1.42;
    font-weight: 700;
}


/* =========================================================
INTRO + PRE-WIDGET CTA
========================================================= */

.vmp-blog-intro {
    padding: 135px 0 100px;
    background:
        linear-gradient(
            135deg,
            #edf9fd 0%,
            #f9fdff 52%,
            #ffffff 100%
        );
}

.vmp-blog-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.96fr) minmax(390px, 0.74fr);
    gap: 70px;
    align-items: center;
}

.vmp-blog-section-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 19px;
    color: #0879cc;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.vmp-blog-section-eyebrow::before {
    content: "";
    width: 31px;
    height: 2px;
    background: linear-gradient(
        90deg,
        var(--vmp-blog-blue),
        var(--vmp-blog-cyan)
    );
}

.vmp-blog-intro-copy h2 {
    max-width: 690px;
    margin: 0 0 22px;
    color: var(--vmp-blog-ink);
    font-size: clamp(36px, 3vw, 48px);
    line-height: 1.08;
    letter-spacing: -0.038em;
}

.vmp-blog-intro-copy p {
    max-width: 760px;
    margin: 0 0 18px;
    color: var(--vmp-blog-copy);
    font-size: 17px;
    line-height: 1.76;
}

.vmp-blog-intro-copy p:last-child {
    margin-bottom: 0;
}

.vmp-blog-question-card {
    position: relative;
    overflow: hidden;
    padding: 38px;
    border: 1px solid #cbe3ef;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 25px 58px rgba(13, 68, 103, 0.1);
}

.vmp-blog-question-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(
        90deg,
        var(--vmp-blog-blue),
        var(--vmp-blog-cyan)
    );
}

.vmp-blog-question-card span {
    display: block;
    margin-bottom: 12px;
    color: #0b83d0;
    font-size: 11px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.vmp-blog-question-card h2 {
    margin: 0 0 14px;
    color: var(--vmp-blog-ink);
    font-size: 29px;
    line-height: 1.14;
    letter-spacing: -0.025em;
}

.vmp-blog-question-card p {
    margin: 0;
    color: var(--vmp-blog-copy);
    font-size: 15px;
    line-height: 1.7;
}

.vmp-blog-question-list {
    display: grid;
    gap: 10px;
    margin: 23px 0 27px;
}

.vmp-blog-question-list div {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    color: #334961;
    font-size: 13px;
    line-height: 1.5;
}

.vmp-blog-question-list div::before {
    content: "✓";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 21px;
    height: 21px;
    flex: 0 0 21px;
    margin-top: 1px;
    border-radius: 50%;
    color: #ffffff;
    background: linear-gradient(
        135deg,
        var(--vmp-blog-blue),
        var(--vmp-blog-cyan)
    );
    font-size: 11px;
    font-weight: 900;
}

.vmp-blog-question-card .vmp-blog-actions {
    margin-top: 0;
}


/* =========================================================
BLOG WIDGET TRANSITION
========================================================= */

.vmp-blog-widget-intro {
    padding: 70px 0 58px;
    text-align: center;
    background: #ffffff;
}

.vmp-blog-widget-intro .vmp-blog-section-eyebrow {
    justify-content: center;
}

.vmp-blog-widget-intro h2 {
    max-width: 760px;
    margin: 0 auto 15px;
    color: var(--vmp-blog-ink);
    font-size: clamp(34px, 3vw, 46px);
    line-height: 1.1;
    letter-spacing: -0.035em;
}

.vmp-blog-widget-intro p {
    max-width: 740px;
    margin: 0 auto;
    color: var(--vmp-blog-copy);
    font-size: 16px;
    line-height: 1.72;
}


/* =========================================================
TABLET
========================================================= */

@media (max-width: 1024px) {

    .vmp-blog-hero {
        min-height: auto;
    }

    .vmp-blog-hero-grid {
        grid-template-columns: 1fr;
        gap: 45px;
        padding: 85px 0 140px;
    }

    .vmp-blog-hero-copy {
        max-width: 800px;
    }

    .vmp-blog-resource-card {
        max-width: 760px;
    }

    .vmp-blog-resource-strip-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .vmp-blog-resource-strip-grid > div:nth-child(3) {
        border-left: 0;
        border-top: 1px solid #d7e8f0;
    }

    .vmp-blog-resource-strip-grid > div:nth-child(4) {
        border-top: 1px solid #d7e8f0;
    }

    .vmp-blog-intro-grid {
        grid-template-columns: 1fr;
        gap: 44px;
    }

    .vmp-blog-question-card {
        max-width: 760px;
    }

}


/* =========================================================
MOBILE
========================================================= */

@media (max-width: 767px) {

    .vmp-blog-container {
        width: min(100% - 30px, 1180px);
    }

    .vmp-blog-hero {
        align-items: flex-start;
        background:
            linear-gradient(
                180deg,
                rgba(2, 23, 44, 0.84) 0%,
                rgba(2, 24, 46, 0.94) 45%,
                rgba(2, 23, 44, 1) 100%
            ),
            url("https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-master-plumbing-subpage-vp.png")
            60% center / cover no-repeat;
    }

    .vmp-blog-hero-grid {
        gap: 32px;
        padding: 60px 0 122px;
    }

    .vmp-blog-eyebrow {
        gap: 10px;
        margin-bottom: 18px;
        font-size: 10px;
        letter-spacing: 0.15em;
    }

    .vmp-blog-eyebrow::before {
        width: 25px;
    }

    .vmp-blog-hero-copy h1 {
        margin-bottom: 20px;
        font-size: clamp(38px, 11vw, 50px);
        line-height: 1.04;
        letter-spacing: -0.042em;
    }

    .vmp-blog-hero-copy > p {
        font-size: 16px;
        line-height: 1.65;
    }

    .vmp-blog-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 11px;
        margin-top: 27px;
    }

    .vmp-blog-btn {
        width: 100%;
        min-height: 53px;
        padding: 14px 18px;
    }

    .vmp-blog-proof {
        display: grid;
        grid-template-columns: 1fr;
        gap: 9px;
        margin-top: 22px;
    }

    .vmp-blog-proof span {
        justify-content: center;
        width: 100%;
        min-height: 39px;
        text-align: center;
    }

    .vmp-blog-resource-card {
        padding: 29px 22px;
        border-radius: 14px;
    }

    .vmp-blog-resource-card h2 {
        font-size: 26px;
    }

    .vmp-blog-resource-card > p {
        font-size: 14px;
    }

    .vmp-blog-topic-list a {
        grid-template-columns: 31px 1fr auto;
        gap: 10px;
        min-height: 58px;
        padding: 10px 12px;
    }

    .vmp-blog-topic-list strong {
        font-size: 12px;
    }

    .vmp-blog-resource-strip {
        margin-top: -63px;
    }

    .vmp-blog-resource-strip-grid {
        grid-template-columns: 1fr 1fr;
        border-radius: 12px;
    }

    .vmp-blog-resource-strip-grid > div {
        min-height: 105px;
        padding: 19px 10px;
    }

    .vmp-blog-resource-strip-grid > div:nth-child(odd) {
        border-left: 0;
    }

    .vmp-blog-resource-strip-grid > div:nth-child(3),
    .vmp-blog-resource-strip-grid > div:nth-child(4) {
        border-top: 1px solid #d7e8f0;
    }

    .vmp-blog-resource-strip strong {
        font-size: 22px;
    }

    .vmp-blog-resource-strip span {
        max-width: 130px;
        font-size: 10px;
    }

    .vmp-blog-intro {
        padding: 95px 0 75px;
    }

    .vmp-blog-intro-grid {
        gap: 35px;
    }

    .vmp-blog-section-eyebrow {
        gap: 10px;
        margin-bottom: 16px;
        font-size: 10px;
        letter-spacing: 0.15em;
    }

    .vmp-blog-section-eyebrow::before {
        width: 26px;
    }

    .vmp-blog-intro-copy h2 {
        font-size: 34px;
        line-height: 1.09;
    }

    .vmp-blog-intro-copy p {
        font-size: 15px;
        line-height: 1.72;
    }

    .vmp-blog-question-card {
        padding: 31px 22px;
        border-radius: 13px;
    }

    .vmp-blog-question-card h2 {
        font-size: 26px;
    }

    .vmp-blog-widget-intro {
        padding: 52px 0 42px;
    }

    .vmp-blog-widget-intro h2 {
        font-size: 33px;
    }

    .vmp-blog-widget-intro p {
        font-size: 15px;
    }

}

/* =========================================================
VELOCITY BLOG — PIECE 2
Resource Pathways + Contact Form + FAQ + Final CTA
========================================================= */

.vmp-blog-bottom,
.vmp-blog-bottom * {
    box-sizing: border-box;
}

.vmp-blog-bottom {
    --vmp-bottom-navy: #031b34;
    --vmp-bottom-navy-2: #082d51;
    --vmp-bottom-blue: #118fd4;
    --vmp-bottom-cyan: #27b8e7;
    --vmp-bottom-ink: #12233b;
    --vmp-bottom-copy: #5f728a;
    --vmp-bottom-line: #cde3ee;
    --vmp-bottom-soft: #edf9fd;
    --vmp-bottom-white: #ffffff;

    width: 100%;
    overflow: hidden;
    color: var(--vmp-bottom-ink);
    font-family: inherit;
}

.vmp-blog-bottom-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.vmp-blog-bottom-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 18px;
    color: #0879ca;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.vmp-blog-bottom-eyebrow::before {
    content: "";
    width: 31px;
    height: 2px;
    flex: 0 0 auto;
    background: linear-gradient(
        90deg,
        var(--vmp-bottom-blue),
        var(--vmp-bottom-cyan)
    );
}

.vmp-blog-bottom-eyebrow-light {
    color: #7ddcff;
}

.vmp-blog-bottom-btn-row {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 27px;
}

.vmp-blog-bottom-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 53px;
    padding: 15px 24px;
    border-radius: 7px;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 800;
    text-decoration: none !important;
    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        background 0.22s ease,
        border-color 0.22s ease;
}

.vmp-blog-bottom-btn:hover {
    transform: translateY(-3px);
}

.vmp-blog-bottom-btn-primary {
    color: #ffffff !important;
    border: 1px solid transparent;
    background: linear-gradient(
        135deg,
        var(--vmp-bottom-blue),
        var(--vmp-bottom-cyan)
    );
    box-shadow: 0 14px 28px rgba(16, 142, 208, 0.21);
}

.vmp-blog-bottom-btn-primary:hover {
    color: #ffffff !important;
    box-shadow: 0 19px 35px rgba(16, 142, 208, 0.31);
}

.vmp-blog-bottom-btn-light {
    color: #17324d !important;
    border: 1px solid #bed8e4;
    background: #ffffff;
}

.vmp-blog-bottom-btn-light:hover {
    color: #17324d !important;
    border-color: #73c9e9;
    background: #f1fbfe;
}

.vmp-blog-bottom-btn-outline {
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.48);
    background: rgba(255, 255, 255, 0.07);
}

.vmp-blog-bottom-btn-outline:hover {
    color: #ffffff !important;
    border-color: #6ed6f8;
    background: rgba(29, 158, 215, 0.18);
}


/* =========================================================
HELP + CONTACT SECTION
========================================================= */

.vmp-blog-bottom-help {
    padding: 105px 0 110px;
    background:
        linear-gradient(
            135deg,
            #edf9fd 0%,
            #f7fcfe 48%,
            #ffffff 100%
        );
}

.vmp-blog-bottom-help-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(390px, 0.72fr);
    gap: 72px;
    align-items: start;
}

.vmp-blog-bottom-help-copy h2 {
    max-width: 720px;
    margin: 0 0 21px;
    color: var(--vmp-bottom-ink);
    font-size: clamp(38px, 3.3vw, 50px);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.vmp-blog-bottom-help-copy > p {
    max-width: 760px;
    margin: 0 0 18px;
    color: var(--vmp-bottom-copy);
    font-size: 17px;
    line-height: 1.77;
}

.vmp-blog-bottom-note {
    margin-top: 27px;
    padding: 23px 25px;
    border-left: 4px solid var(--vmp-bottom-cyan);
    border-radius: 0 10px 10px 0;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(12, 68, 101, 0.08);
}

.vmp-blog-bottom-note span {
    display: block;
    margin-bottom: 7px;
    color: #0878c8;
    font-size: 11px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.vmp-blog-bottom-note strong {
    display: block;
    color: #19314b;
    font-size: 16px;
    line-height: 1.58;
}

.vmp-blog-bottom-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 13px;
    margin-top: 32px;
}

.vmp-blog-bottom-link-card {
    position: relative;
    min-height: 180px;
    display: flex;
    flex-direction: column;
    padding: 25px;
    overflow: hidden;
    border: 1px solid #cde3ee;
    border-radius: 13px;
    color: inherit !important;
    background: #ffffff;
    text-decoration: none !important;
    box-shadow: 0 13px 29px rgba(10, 62, 94, 0.06);
    transition:
        transform 0.24s ease,
        box-shadow 0.24s ease,
        border-color 0.24s ease;
}

.vmp-blog-bottom-link-card::after {
    content: "";
    position: absolute;
    right: -47px;
    bottom: -57px;
    width: 145px;
    height: 145px;
    border-radius: 50%;
    pointer-events: none;
    background: radial-gradient(
        circle,
        rgba(34, 185, 232, 0.14),
        transparent 70%
    );
}

.vmp-blog-bottom-link-card:hover {
    transform: translateY(-6px);
    border-color: #74ccea;
    box-shadow: 0 23px 44px rgba(10, 78, 117, 0.13);
}

.vmp-blog-bottom-link-label {
    display: block;
    margin-bottom: 11px;
    color: #0780ce;
    font-size: 10px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.vmp-blog-bottom-link-card h3 {
    position: relative;
    z-index: 2;
    margin: 0 0 10px;
    color: var(--vmp-bottom-ink);
    font-size: 20px;
    line-height: 1.2;
}

.vmp-blog-bottom-link-card p {
    position: relative;
    z-index: 2;
    margin: 0 0 18px;
    color: var(--vmp-bottom-copy);
    font-size: 13px;
    line-height: 1.62;
}

.vmp-blog-bottom-link-card strong {
    position: relative;
    z-index: 2;
    display: block;
    margin-top: auto;
    color: #0783d0;
    font-size: 13px;
    line-height: 1.4;
}


/* =========================================================
CONTACT FORM CARD
========================================================= */

.vmp-blog-bottom-form-card {
    position: sticky;
    top: 25px;
    padding: 34px;
    border: 1px solid #cbe2ed;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 25px 60px rgba(10, 63, 96, 0.11);
}

.vmp-blog-bottom-form-label {
    display: block;
    margin-bottom: 11px;
    color: #087ecc;
    font-size: 10px;
    line-height: 1.45;
    font-weight: 800;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.vmp-blog-bottom-form-card h2 {
    margin: 0 0 12px;
    color: var(--vmp-bottom-ink);
    font-size: 29px;
    line-height: 1.14;
    letter-spacing: -0.027em;
}

.vmp-blog-bottom-form-card > p {
    margin: 0 0 24px;
    color: var(--vmp-bottom-copy);
    font-size: 14px;
    line-height: 1.67;
}


/* FLUENT FORMS */

.vmp-blog-bottom-form .ff-el-group {
    margin-bottom: 15px;
}

.vmp-blog-bottom-form label {
    color: #314960 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.vmp-blog-bottom-form input,
.vmp-blog-bottom-form textarea,
.vmp-blog-bottom-form select {
    min-height: 50px !important;
    border: 1px solid #c8dfeb !important;
    border-radius: 7px !important;
    color: #17314b !important;
    background: #f8fcfe !important;
    box-shadow: none !important;
}

.vmp-blog-bottom-form textarea {
    min-height: 115px !important;
}

.vmp-blog-bottom-form input:focus,
.vmp-blog-bottom-form textarea:focus,
.vmp-blog-bottom-form select:focus {
    border-color: #3db9e6 !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(38, 181, 230, 0.12) !important;
}

.vmp-blog-bottom-form button,
.vmp-blog-bottom-form .ff-btn-submit {
    width: 100% !important;
    min-height: 52px !important;
    border: 0 !important;
    border-radius: 7px !important;
    color: #ffffff !important;
    background: linear-gradient(
        135deg,
        var(--vmp-bottom-blue),
        var(--vmp-bottom-cyan)
    ) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    box-shadow: 0 13px 26px rgba(15, 143, 211, 0.2) !important;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease !important;
}

.vmp-blog-bottom-form button:hover,
.vmp-blog-bottom-form .ff-btn-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 31px rgba(15, 143, 211, 0.29) !important;
}


/* =========================================================
FORM TRUST + REVIEW
========================================================= */

.vmp-blog-bottom-form-trust {
    display: grid;
    gap: 10px;
    margin-top: 21px;
}

.vmp-blog-bottom-form-trust div {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #51677f;
    font-size: 12px;
    line-height: 1.45;
}

.vmp-blog-bottom-form-trust div::before {
    content: "✓";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    border-radius: 50%;
    color: #ffffff;
    background: linear-gradient(
        135deg,
        var(--vmp-bottom-blue),
        var(--vmp-bottom-cyan)
    );
    font-size: 10px;
    font-weight: 900;
}

.vmp-blog-bottom-review {
    margin-top: 22px;
    padding: 26px;
    border: 1px solid #bfe0ed;
    border-radius: 13px;
    background:
        linear-gradient(
            145deg,
            #f5fcfe,
            #ebf8fd
        );
}

.vmp-blog-bottom-stars {
    margin-bottom: 14px;
    color: #f7a818;
    font-size: 18px;
    letter-spacing: 2px;
}

.vmp-blog-bottom-review blockquote {
    margin: 0 0 18px;
    color: #18304a;
    font-size: 16px;
    line-height: 1.58;
    font-weight: 700;
}

.vmp-blog-bottom-review strong {
    display: block;
    color: #17314b;
    font-size: 13px;
}

.vmp-blog-bottom-review span {
    display: block;
    margin-top: 3px;
    color: #71859a;
    font-size: 11px;
}


/* =========================================================
FAQ SECTION
========================================================= */

.vmp-blog-bottom-faq {
    padding: 110px 0;
    background: #ffffff;
}

.vmp-blog-bottom-faq-head {
    max-width: 780px;
    margin: 0 auto 48px;
    text-align: center;
}

.vmp-blog-bottom-faq-head .vmp-blog-bottom-eyebrow {
    justify-content: center;
}

.vmp-blog-bottom-faq-head h2 {
    margin: 0 0 17px;
    color: var(--vmp-bottom-ink);
    font-size: clamp(38px, 3.3vw, 50px);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.vmp-blog-bottom-faq-head p {
    margin: 0;
    color: var(--vmp-bottom-copy);
    font-size: 16px;
    line-height: 1.72;
}

.vmp-blog-bottom-faq-list {
    max-width: 940px;
    display: grid;
    gap: 12px;
    margin: 0 auto;
}

.vmp-blog-bottom-faq-list details {
    overflow: hidden;
    border: 1px solid #cee3ed;
    border-radius: 11px;
    background: #ffffff;
    box-shadow: 0 8px 23px rgba(9, 61, 91, 0.045);
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.vmp-blog-bottom-faq-list details:hover,
.vmp-blog-bottom-faq-list details[open] {
    border-color: #72cbea;
    box-shadow: 0 15px 31px rgba(8, 83, 123, 0.09);
}

.vmp-blog-bottom-faq-list summary {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 72px;
    padding: 19px 58px 19px 23px;
    color: #17314b;
    cursor: pointer;
    list-style: none;
    font-size: 15px;
    line-height: 1.45;
    font-weight: 800;
}

.vmp-blog-bottom-faq-list summary::-webkit-details-marker {
    display: none;
}

.vmp-blog-bottom-faq-list summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 22px;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    border-radius: 50%;
    color: #ffffff;
    background: linear-gradient(
        135deg,
        var(--vmp-bottom-blue),
        var(--vmp-bottom-cyan)
    );
    font-size: 18px;
    font-weight: 500;
    transition: transform 0.2s ease;
}

.vmp-blog-bottom-faq-list details[open] summary::after {
    content: "–";
}

.vmp-blog-bottom-faq-list details p {
    margin: 0;
    padding: 0 24px 24px;
    color: var(--vmp-bottom-copy);
    font-size: 14px;
    line-height: 1.75;
}


/* =========================================================
FINAL CTA
========================================================= */

.vmp-blog-bottom-final {
    position: relative;
    min-height: 610px;
    display: flex;
    align-items: center;
    overflow: hidden;
    isolation: isolate;
    background:
        linear-gradient(
            90deg,
            rgba(1, 21, 41, 0.98) 0%,
            rgba(2, 28, 52, 0.94) 48%,
            rgba(4, 39, 69, 0.65) 75%,
            rgba(3, 26, 48, 0.44) 100%
        ),
        url("https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-technician.png")
        center right / cover no-repeat;
}

.vmp-blog-bottom-final::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(
            circle at 72% 45%,
            rgba(36, 184, 231, 0.16),
            transparent 37%
        );
}

.vmp-blog-bottom-final-content {
    position: relative;
    z-index: 2;
    max-width: 680px;
    padding: 115px 0;
}

.vmp-blog-bottom-final h2 {
    margin: 0 0 21px;
    color: #ffffff;
    font-size: clamp(42px, 3.8vw, 59px);
    line-height: 1.05;
    letter-spacing: -0.043em;
}

.vmp-blog-bottom-final p {
    max-width: 650px;
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    font-size: 18px;
    line-height: 1.7;
}

.vmp-blog-bottom-final-proof {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 26px;
}

.vmp-blog-bottom-final-proof span {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 9px 14px;
    border: 1px solid rgba(67, 197, 239, 0.43);
    border-radius: 100px;
    color: rgba(255, 255, 255, 0.88);
    background: rgba(4, 50, 83, 0.59);
    font-size: 12px;
}


/* =========================================================
TABLET
========================================================= */

@media (max-width: 1024px) {

    .vmp-blog-bottom-help-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .vmp-blog-bottom-form-card {
        position: relative;
        top: auto;
        max-width: 760px;
    }

    .vmp-blog-bottom-final {
        min-height: 640px;
        background:
            linear-gradient(
                90deg,
                rgba(1, 21, 41, 0.98) 0%,
                rgba(2, 28, 52, 0.91) 58%,
                rgba(3, 31, 57, 0.65) 100%
            ),
            url("https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-technician.png")
            68% center / cover no-repeat;
    }

}


/* =========================================================
MOBILE
========================================================= */

@media (max-width: 767px) {

    .vmp-blog-bottom-container {
        width: min(100% - 30px, 1180px);
    }

    .vmp-blog-bottom-help {
        padding: 78px 0 82px;
    }

    .vmp-blog-bottom-help-grid {
        gap: 38px;
    }

    .vmp-blog-bottom-eyebrow {
        gap: 10px;
        margin-bottom: 15px;
        font-size: 10px;
        letter-spacing: 0.15em;
    }

    .vmp-blog-bottom-eyebrow::before {
        width: 26px;
    }

    .vmp-blog-bottom-help-copy h2 {
        font-size: 34px;
        line-height: 1.09;
    }

    .vmp-blog-bottom-help-copy > p {
        font-size: 15px;
        line-height: 1.72;
    }

    .vmp-blog-bottom-note {
        padding: 21px;
    }

    .vmp-blog-bottom-note strong {
        font-size: 14px;
    }

    .vmp-blog-bottom-links {
        grid-template-columns: 1fr;
    }

    .vmp-blog-bottom-link-card {
        min-height: 165px;
        padding: 23px;
    }

    .vmp-blog-bottom-form-card {
        padding: 29px 21px;
        border-radius: 13px;
    }

    .vmp-blog-bottom-form-card h2 {
        font-size: 26px;
    }

    .vmp-blog-bottom-review {
        padding: 23px 20px;
    }

    .vmp-blog-bottom-review blockquote {
        font-size: 15px;
    }

    .vmp-blog-bottom-btn-row {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .vmp-blog-bottom-btn {
        width: 100%;
    }

    .vmp-blog-bottom-faq {
        padding: 80px 0;
    }

    .vmp-blog-bottom-faq-head {
        margin-bottom: 35px;
    }

    .vmp-blog-bottom-faq-head h2 {
        font-size: 34px;
    }

    .vmp-blog-bottom-faq-head p {
        font-size: 15px;
    }

    .vmp-blog-bottom-faq-list summary {
        min-height: 68px;
        padding: 18px 56px 18px 19px;
        font-size: 14px;
    }

    .vmp-blog-bottom-faq-list summary::after {
        right: 17px;
    }

    .vmp-blog-bottom-faq-list details p {
        padding: 0 19px 22px;
        font-size: 13px;
    }

    .vmp-blog-bottom-final {
        min-height: 610px;
        align-items: flex-start;
        background:
            linear-gradient(
                180deg,
                rgba(2, 23, 44, 0.9) 0%,
                rgba(2, 24, 46, 0.94) 52%,
                rgba(2, 24, 46, 0.98) 100%
            ),
            url("https://velocitymasterplumbing.com/wp-content/uploads/2026/07/velocity-technician.png")
            68% center / cover no-repeat;
    }

    .vmp-blog-bottom-final-content {
        max-width: 100%;
        padding: 60px 0 72px;
    }

    .vmp-blog-bottom-final h2 {
        font-size: 37px;
        line-height: 1.06;
    }

    .vmp-blog-bottom-final p {
        font-size: 16px;
        line-height: 1.67;
    }

    .vmp-blog-bottom-final-proof {
        display: grid;
        grid-template-columns: 1fr;
    }

    .vmp-blog-bottom-final-proof span {
        justify-content: center;
        width: 100%;
        text-align: center;
    }

}

/* =========================================================
VELOCITY MASTER PLUMBING
BLOG ARCHIVE CARDS + SINGLE POST TEMPLATE
========================================================= */


/* =========================================================
BLOG ARCHIVE — POST GRID
========================================================= */

body.blog .elementor-posts-container,
body.page-id-22 .elementor-posts-container {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}


/* POST CARD */

body.blog .elementor-post__card,
body.page-id-22 .elementor-post__card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;

    border: 1px solid #d4e5ed !important;
    border-radius: 16px !important;

    background: #ffffff !important;

    box-shadow:
        0 14px 34px rgba(5, 46, 76, 0.08) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


body.blog .elementor-post__card:hover,
body.page-id-22 .elementor-post__card:hover {
    transform: translateY(-7px);

    border-color: #78cbe8 !important;

    box-shadow:
        0 24px 48px rgba(5, 61, 96, 0.14) !important;
}


/* CONTENT AREA */

body.blog .elementor-post__text,
body.page-id-22 .elementor-post__text {
    display: flex;
    flex-direction: column;
    flex: 1;

    padding: 30px 30px 25px !important;
}


/* TITLE */

body.blog .elementor-post__title,
body.page-id-22 .elementor-post__title {
    margin: 0 0 18px !important;
}


body.blog .elementor-post__title a,
body.page-id-22 .elementor-post__title a {
    color: #13253d !important;

    font-size: 23px !important;
    line-height: 1.22 !important;
    letter-spacing: -0.025em !important;
    font-weight: 800 !important;

    text-decoration: none !important;

    transition: color 0.2s ease !important;
}


body.blog .elementor-post__card:hover .elementor-post__title a,
body.page-id-22 .elementor-post__card:hover .elementor-post__title a {
    color: #0787cf !important;
}


/* EXCERPT */

body.blog .elementor-post__excerpt,
body.page-id-22 .elementor-post__excerpt {
    margin-bottom: 25px !important;
}


body.blog .elementor-post__excerpt p,
body.page-id-22 .elementor-post__excerpt p {
    display: -webkit-box;
    overflow: hidden;

    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;

    margin: 0 !important;

    color: #60738a !important;

    font-size: 15px !important;
    line-height: 1.7 !important;
}


/* READ MORE */

body.blog .elementor-post__read-more,
body.page-id-22 .elementor-post__read-more {
    display: inline-flex !important;
    align-items: center;

    width: fit-content;

    margin-top: auto !important;

    color: #0787cf !important;

    font-size: 12px !important;
    line-height: 1.4 !important;
    font-weight: 800 !important;

    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;

    text-decoration: none !important;

    transition:
        color 0.2s ease,
        transform 0.2s ease !important;
}


body.blog .elementor-post__read-more:hover,
body.page-id-22 .elementor-post__read-more:hover {
    color: #035f9d !important;
    transform: translateX(4px);
}


/* META / DATE */

body.blog .elementor-post__meta-data,
body.page-id-22 .elementor-post__meta-data {
    margin-top: 0 !important;

    padding: 16px 30px !important;

    border-top: 1px solid #e0ebf0 !important;

    color: #8795a5 !important;
    background: #f8fcfe !important;

    font-size: 12px !important;
    line-height: 1.4 !important;
}


/* =========================================================
SINGLE BLOG POST — PAGE FRAME
========================================================= */

body.single-post {
    background:
        linear-gradient(
            180deg,
            #eef9fd 0,
            #ffffff 310px
        );
}


body.single-post .site-main {
    width: min(100% - 40px, 1180px) !important;
    max-width: 1180px !important;

    margin: 0 auto !important;

    padding:
        88px
        clamp(30px, 6vw, 105px)
        110px !important;

    border: 1px solid #d3e5ee;

    border-radius: 0 0 22px 22px;

    background: #ffffff;

    box-shadow:
        0 30px 75px rgba(7, 52, 82, 0.09);
}


/* =========================================================
SINGLE POST HEADER
========================================================= */

body.single-post .page-header {
    max-width: 900px;

    margin:
        0
        auto
        55px !important;

    padding-bottom: 42px;

    text-align: center;

    border-bottom: 1px solid #dbe8ee;
}


body.single-post .page-header::before {
    content: "FROM THE VELOCITY RESOURCE CENTER";

    display: inline-flex;
    align-items: center;

    margin-bottom: 22px;

    color: #087dca;

    font-size: 11px;
    line-height: 1.4;
    font-weight: 800;

    letter-spacing: 0.18em;
}


body.single-post .entry-title {
    max-width: 950px;

    margin:
        0
        auto !important;

    color: #12243c !important;

    font-size:
        clamp(
            43px,
            5vw,
            68px
        ) !important;

    line-height: 1.04 !important;

    letter-spacing: -0.045em !important;

    font-weight: 800 !important;
}


/* =========================================================
SINGLE POST CONTENT
========================================================= */

body.single-post .page-content {
    max-width: 850px;

    margin:
        0
        auto;
}


body.single-post .page-content > p {
    margin:
        0
        0
        23px !important;

    color: #536b83;

    font-size: 18px !important;
    line-height: 1.82 !important;
}


/* FIRST PARAGRAPH */

body.single-post .page-content > p:first-child {
    color: #263e58;

    font-size: 21px !important;
    line-height: 1.75 !important;
}


/* LINKS */

body.single-post .page-content a {
    color: #0786cf;

    font-weight: 700;

    text-decoration:
        underline;

    text-decoration-color:
        rgba(
            7,
            134,
            207,
            0.32
        );

    text-underline-offset: 4px;

    transition:
        color 0.2s ease,
        text-decoration-color 0.2s ease;
}


body.single-post .page-content a:hover {
    color: #045e99;

    text-decoration-color:
        rgba(
            4,
            94,
            153,
            0.75
        );
}


/* =========================================================
SINGLE POST HEADINGS
========================================================= */

body.single-post .page-content h2 {
    position: relative;

    margin:
        62px
        0
        22px !important;

    padding-top: 5px;

    color: #11263f !important;

    font-size:
        clamp(
            31px,
            3vw,
            42px
        ) !important;

    line-height: 1.14 !important;

    letter-spacing: -0.035em !important;

    font-weight: 800 !important;
}


body.single-post .page-content h2::before {
    content: "";

    display: block;

    width: 46px;
    height: 3px;

    margin-bottom: 17px;

    border-radius: 100px;

    background:
        linear-gradient(
            90deg,
            #0787cf,
            #25b7e7
        );
}


body.single-post .page-content h3 {
    margin:
        39px
        0
        15px !important;

    color: #173653 !important;

    font-size:
        clamp(
            23px,
            2vw,
            29px
        ) !important;

    line-height: 1.23 !important;

    letter-spacing: -0.023em !important;

    font-weight: 800 !important;
}


/* =========================================================
SINGLE POST LISTS
========================================================= */

body.single-post .page-content ul,
body.single-post .page-content ol {
    display: grid;

    gap: 10px;

    margin:
        24px
        0
        31px !important;

    padding:
        25px
        30px
        25px
        54px !important;

    border:
        1px
        solid
        #cfe4ee;

    border-radius:
        14px;

    color:
        #435d76;

    background:
        linear-gradient(
            135deg,
            #f2fbfe,
            #ffffff
        );
}


body.single-post .page-content li {
    padding-left: 4px;

    font-size: 16px;
    line-height: 1.65;
}


body.single-post .page-content li::marker {
    color: #0a91d4;

    font-weight: 800;
}


/* =========================================================
BLOG CONTENT IMAGE
========================================================= */

body.single-post .vmp-blog-content-image {
    overflow: hidden;

    margin:
        55px
        0
        64px !important;

    border:
        1px
        solid
        #cce2ec;

    border-radius:
        18px;

    background:
        #eef9fd;

    box-shadow:
        0
        22px
        52px
        rgba(
            8,
            61,
            94,
            0.12
        );
}


body.single-post .vmp-blog-content-image p {
    margin: 0 !important;
}


body.single-post .vmp-blog-content-image img {
    display: block;

    width: 100%;

    max-height: 560px;

    object-fit: cover;

    object-position: center;
}


body.single-post .vmp-blog-content-image figcaption {
    padding:
        17px
        22px;

    color:
        #64798d;

    background:
        #f7fcfe;

    font-size:
        13px;

    line-height:
        1.55;

    text-align:
        center;
}


/* =========================================================
BLOG FAQ
========================================================= */

body.single-post .vmp-blog-faq {
    margin-top: 78px;

    padding:
        50px;

    border:
        1px
        solid
        #c9e2ed;

    border-radius:
        18px;

    background:
        linear-gradient(
            145deg,
            #edf9fd,
            #ffffff
        );
}


body.single-post .vmp-blog-faq > h2 {
    margin-top: 0 !important;

    text-align: center;
}


body.single-post .vmp-blog-faq > h2::before {
    margin-left: auto;
    margin-right: auto;
}


body.single-post .vmp-blog-faq details {
    overflow: hidden;

    margin-bottom: 12px;

    border:
        1px
        solid
        #cbdfe9;

    border-radius:
        10px;

    background:
        #ffffff;

    box-shadow:
        0
        7px
        19px
        rgba(
            9,
            65,
            97,
            0.05
        );
}


body.single-post .vmp-blog-faq details:last-child {
    margin-bottom: 0;
}


body.single-post .vmp-blog-faq summary {
    position: relative;

    display: flex;

    align-items: center;

    min-height: 68px;

    padding:
        18px
        58px
        18px
        21px;

    color:
        #17314b;

    cursor:
        pointer;

    list-style:
        none;

    font-size:
        15px;

    line-height:
        1.45;

    font-weight:
        800;
}


body.single-post .vmp-blog-faq summary::-webkit-details-marker {
    display: none;
}


body.single-post .vmp-blog-faq summary::after {
    content:
        "+";

    position:
        absolute;

    top:
        50%;

    right:
        19px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        28px;

    height:
        28px;

    transform:
        translateY(-50%);

    border-radius:
        50%;

    color:
        #ffffff;

    background:
        linear-gradient(
            135deg,
            #0b8fd2,
            #28bae8
        );

    font-size:
        18px;
}


body.single-post .vmp-blog-faq details[open] summary::after {
    content:
        "–";
}


body.single-post .vmp-blog-faq details p {
    margin:
        0 !important;

    padding:
        0
        22px
        24px;

    color:
        #5d7287;

    font-size:
        15px !important;

    line-height:
        1.72 !important;
}


/* =========================================================
TABLET
========================================================= */

@media (max-width: 1024px) {

    body.single-post .site-main {
        width:
            min(
                100% - 30px,
                1180px
            ) !important;

        padding:
            70px
            55px
            90px !important;
    }


    body.single-post .entry-title {
        font-size:
            50px !important;
    }


    body.single-post .page-content {
        max-width:
            780px;
    }

}


/* =========================================================
MOBILE
========================================================= */

@media (max-width: 767px) {

    body.single-post .site-main {
        width:
            100% !important;

        margin:
            0 !important;

        padding:
            55px
            20px
            75px !important;

        border-left:
            0;

        border-right:
            0;

        border-radius:
            0;

        box-shadow:
            none;
    }


    body.single-post .page-header {
        margin-bottom:
            40px !important;

        padding-bottom:
            31px;
    }


    body.single-post .page-header::before {
        margin-bottom:
            17px;

        font-size:
            9px;

        letter-spacing:
            0.14em;
    }


    body.single-post .entry-title {
        font-size:
            37px !important;

        line-height:
            1.08 !important;
    }


    body.single-post .page-content > p {
        margin-bottom:
            20px !important;

        font-size:
            16px !important;

        line-height:
            1.75 !important;
    }


    body.single-post .page-content > p:first-child {
        font-size:
            18px !important;
    }


    body.single-post .page-content h2 {
        margin-top:
            49px !important;

        font-size:
            30px !important;

        line-height:
            1.16 !important;
    }


    body.single-post .page-content h3 {
        margin-top:
            32px !important;

        font-size:
            23px !important;
    }


    body.single-post .page-content ul,
    body.single-post .page-content ol {
        padding:
            22px
            18px
            22px
            42px !important;
    }


    body.single-post .page-content li {
        font-size:
            14px;
    }


    body.single-post .vmp-blog-content-image {
        margin:
            42px
            0
            50px !important;

        border-radius:
            13px;
    }


    body.single-post .vmp-blog-content-image figcaption {
        padding:
            14px
            16px;

        font-size:
            11px;
    }


    body.single-post .vmp-blog-faq {
        margin-top:
            60px;

        padding:
            35px
            17px;

        border-radius:
            13px;
    }


    body.single-post .vmp-blog-faq summary {
        min-height:
            64px;

        padding:
            17px
            53px
            17px
            17px;

        font-size:
            14px;
    }


    body.single-post .vmp-blog-faq details p {
        padding:
            0
            17px
            21px;

        font-size:
            13px !important;
    }


    body.blog .elementor-post__text,
    body.page-id-22 .elementor-post__text {
        padding:
            25px
            23px
            22px !important;
    }


    body.blog .elementor-post__title a,
    body.page-id-22 .elementor-post__title a {
        font-size:
            21px !important;
    }


    body.blog .elementor-post__meta-data,
    body.page-id-22 .elementor-post__meta-data {
        padding:
            14px
            23px !important;
    }

}



/* =========================================================
VMP SINGLE BLOG POST
FINAL OUTER CONTAINER SPACING FIX
========================================================= */

body.single-post .site-main {
    width: min(100% - 40px, 1180px) !important;
    max-width: 1180px !important;

    margin: 45px auto 70px !important;

    border-radius: 22px !important;
}


/* TABLET */

@media (max-width: 1024px) {

    body.single-post .site-main {
        width: min(100% - 30px, 1180px) !important;

        margin: 32px auto 55px !important;

        border-radius: 18px !important;
    }

}


/* MOBILE */

@media (max-width: 767px) {

    body.single-post .site-main {
        width: calc(100% - 20px) !important;

        margin: 18px auto 38px !important;

        border-radius: 14px !important;
    }

}

/* =========================================================
VMP SUBPAGE INLINE LINK STYLE — VELOCITY COLORS
========================================================= */

body .vmp-fsp-page .vmp-fsp-content p a,
body .vmp-fsp-page .vmp-fsp-content li a,
body .vmp-fsp-page .vmp-fsp-content-block p a,
body .vmp-fsp-page .vmp-fsp-property-grid li a,
body .vmp-fsp-page .vmp-fsp-highlight a,
body .vmp-fsp-page .vmp-fsp-faq p a,
body .vmp-fsp-page .vmp-fsp-process p a {
	color: #07142d !important;
	font-weight: 900 !important;
	text-decoration: none !important;
	border-bottom: 1px solid rgba(34, 183, 232, 0.72) !important;
	background-image: linear-gradient(
		90deg,
		rgba(34, 183, 232, 0.16),
		rgba(7, 139, 211, 0.14)
	) !important;
	background-repeat: no-repeat !important;
	background-size: 100% 0 !important;
	background-position: 0 100% !important;
	transition:
		color 0.2s ease,
		border-color 0.2s ease,
		background-size 0.2s ease !important;
}

body .vmp-fsp-page .vmp-fsp-content p a:hover,
body .vmp-fsp-page .vmp-fsp-content li a:hover,
body .vmp-fsp-page .vmp-fsp-content-block p a:hover,
body .vmp-fsp-page .vmp-fsp-property-grid li a:hover,
body .vmp-fsp-page .vmp-fsp-highlight a:hover,
body .vmp-fsp-page .vmp-fsp-faq p a:hover,
body .vmp-fsp-page .vmp-fsp-process p a:hover {
	color: #047fc7 !important;
	border-bottom-color: rgba(7, 139, 211, 0.95) !important;
	background-size: 100% 100% !important;
}

/* Keep card, button, sidebar, and local-area links using their existing designs */
body .vmp-fsp-page .vmp-btn,
body .vmp-fsp-page .vmp-fsp-related-grid > a,
body .vmp-fsp-page .vmp-fsp-sidebar a,
body .vmp-fsp-page .vmp-fsp-local-links a,
body .vmp-fsp-page .vmp-fsp-call-card,
body .vmp-fsp-page .vmp-fsp-trust-card {
	text-decoration: none !important;
}

/* =========================================================
VMP HOMEPAGE INLINE LINK STYLE FIX
========================================================= */

.vmp-home .vmp-content-column p a,
.vmp-home .vmp-section-lead a,
.vmp-home .vmp-tech-content p a,
.vmp-home .vmp-area-content p a,
.vmp-home .vmp-company-section p a,
.vmp-home .vmp-faq-column p a,
.vmp-home .vmp-final-content p a {
  color: var(--vmp-blue) !important;
  font-weight: 750 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(8, 121, 201, 0.25) !important;
  text-underline-offset: 3px !important;
}

.vmp-home .vmp-content-column p a:hover,
.vmp-home .vmp-section-lead a:hover,
.vmp-home .vmp-tech-content p a:hover,
.vmp-home .vmp-area-content p a:hover,
.vmp-home .vmp-company-section p a:hover,
.vmp-home .vmp-faq-column p a:hover,
.vmp-home .vmp-final-content p a:hover {
  color: var(--vmp-blue-dark, #055f9d) !important;
  text-decoration-color: rgba(8, 121, 201, 0.55) !important;
}