:root {
  --screen-sm: 640px;
  --screen-md: 768px;
  --screen-lg: 1024px;
  --screen-xl: 1280px;
  --screen-2xl: 1536px;
  --background-main: #F5F5F5;
  --background-secondary: #E0E0E0;
  --text-primary: #1A1A1A;
  --text-secondary: #4D4D4D;
  --accent-color: #FFD700; }

.hero {
  min-height: 60vh;
  padding: 3rem 1.5rem;
  background-color: rgba(37, 37, 37, 0.86);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;
  overflow: hidden; }

.hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url("/images/plumbing-mobile.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: -1; }

@media (min-width: 768px) {
  .hero::before {
    background-image: url("/images/plumbing.webp"); } }

.hero.loaded::before {
  opacity: 0.14; }

.hero > div {
  padding: 1.5rem;
  max-width: 90%; }

.hero ul {
  max-width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center; }

.hero li {
  color: var(--background-secondary);
  padding-left: 2rem;
  padding-right: 2rem; }

.hero h1 {
  color: var(--background-main);
  text-transform: capitalize;
  font-size: clamp(2rem, 5vw, 4rem);
  margin: 0; }

@media screen and (min-width: 768px) {
  .hero {
    min-height: 60vh;
    height: auto;
    padding: 6rem 3rem; }
    .hero ul {
      max-width: 100%;
      display: flex;
      flex-direction: row; }
      .hero ul li {
        padding-left: 2rem;
        padding-right: 2rem; }
      .hero ul li + li {
        border-left: 1px solid var(--background-secondary); }
  .hero > h1 {
    padding: 2rem; } }
