
    :root{
      --brand-red: #8e2d23;
      --ink: #222;
    }
    body{ font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif; color: var(--ink); }
    
    

    /* Top bar */
    

.topbar{
  background:var(--brand-red);
  color:#fff;
}

.topbar .tagline{
  font-size:.95rem;
}

.btn-call{
  background:#fff;
  color:var(--brand-red);
  border:0;

  font-size:1.3rem;
  font-weight:600;

  padding:.55rem 1rem;

  border-radius:.4rem;

  white-space:nowrap;

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

.btn-call:hover{
  background:#fff;
  color:var(--brand-red);

  transform:translateY(-1px);

  box-shadow:0 8px 20px rgba(0,0,0,.15);
}

.btn-call i{
  margin-right:.4rem;
}    

    /* Header (logo row) */
    .header{ padding:.9rem 0; }
    .brand-logo{ max-height:172px; }

    /* Nav */
    .main-nav{ border-top:1px solid #eee; border-bottom:1px solid #eee; }
    
    
.navbar .nav-link{
  font-weight: 500;
  font-size: 1.35rem;
  letter-spacing: 0;
  color: #333;
}
    
    
    .navbar .nav-link:hover, .navbar .nav-link:focus{ color: var(--brand-red); }
    .navbar-toggler{
      border:0;
    }

    /* Hero */
    .hero{
      position:relative;
      background:url('_images/rugs-hero.jpg') center/cover no-repeat;
      min-height:64vh;
      display:flex; align-items:center;
    }
    .hero::after{
      content:""; position:absolute; inset:0;
      background: linear-gradient(90deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,.10) 40%, rgba(0,0,0,0) 70%);
    }
    
    .hero-panel{
	    
      position:relative; 
      z-index:1;
      
	margin-inline:auto;

      background: rgba(39,73,109,.68);        /* steel-blue tint */
      color:#fff;
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      border-radius: .75rem;
      padding: 2rem 1.5rem;
      width:min(92%, 520px);
      box-shadow: 0 10px 30px rgba(0,0,0,.20);
    }
    
    @media (min-width: 768px){

		  .hero-panel{
		    margin-left:0;
		    margin-right:auto;
		  }
		
	}
    
    
	.hero-panel h1{
	  font-weight: 600;
	  line-height: 1.05;
	  font-size: clamp(2rem, 1.4rem + 1.8vw, 3.25rem);	  
	  letter-spacing: 0.02em;
	} 

   
    .hero-panel p{
      font-size:1.05rem;
      font-style:italic;
      line-height:1.5;
    }
    
.hero-cta .btn{
  border-radius: .35rem;
}

.hero-cta .btn-light{
  font-weight: 700;
}    
    
    
    
    .award{
      width: 150px; height:auto;
    }

    /* Helpers */
    .shadow-soft{ box-shadow:0 .5rem 1.25rem rgba(0,0,0,.08); }

    @media (max-width: 576px){
      .brand-logo{ max-height:120px; }
      .topbar .tagline{ display:none; } /* keep bar tidy on xs */
    }
    
/* Services dropdown styling */
.navbar .dropdown-menu.services-menu{
  min-width: 26rem;           /* roomy like the screenshot */
  border: 0;
  box-shadow: 0 1rem 2rem rgba(0,0,0,.12);
  padding: .5rem;
}


.services-menu .menu-item{
  display:block;
  padding: .5rem 1.25rem;
  font-weight: 500;
  font-size: 1.2rem;
  color:#333;
  border:none;
  margin:0;
  text-decoration: none;
}

.navbar .dropdown-menu.services-menu{
  border: 1px solid rgba(0,0,0,1);
  box-shadow: 0 20px 40px rgba(0,0,0,1);
}

.services-menu{
  border-radius: 0.5rem;
  padding: 1rem;
  box-shadow: 0 -20px 30px rgba(0,0,0,1);
}


.services-menu .menu-item:hover,
.services-menu .menu-item:focus{
background:lightpink;
color: var(--brand-red);  
text-decoration:none;
}

/* make it comfortable on small screens */
@media (max-width: 576px){
  .navbar .dropdown-menu.services-menu{ min-width: auto; width:90vw; }
}
    
    #services-grid .card-title{ letter-spacing:.02em; }
#services-grid .read-more{ color:#1f4fa3; }
#services-grid .read-more:hover{ text-decoration: underline; }

section#about, section#values-certifications p {font-size: 1.3rem;}

.service-card{
  border:1px solid rgba(0,0,0,.05);
 
}

.service-card .card-img-top{
  transition: transform .5s ease;
}

.service-card .card-title{
  transition: color .25s ease;
}

.service-card:hover{
  transform:translateY(-1px);
  box-shadow:0 25px 50px rgba(0,0,0,.15);
  border-color:rgba(142,45,35,.15);
}

.service-card:hover .card-img-top{
  transform:scale(1.03);
}

.service-card:hover .card-title{
  color:var(--brand-red);
}

.service-card-link,
.service-card-link:hover,
.service-card-link:focus,
.service-card-link:active{
  text-decoration:none;
  color:inherit;
}

.site-footer{
  background:#243748;
  color:#fff;
  padding:5rem 0;
}

.footer-eyebrow{
  color:#d7b46a;
  font-size:.8rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  font-weight:600;
}

.footer-tagline{
  font-size:1.75rem;
  font-weight:700;
  margin-bottom:1rem;
}

.footer-description{
  color:rgba(255,255,255,.8);
}

.site-footer h5{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.9rem;
  margin-bottom:1rem;
}

.footer-links{
  list-style:none;
  padding:0;
  margin:0;
}

.footer-links li{
  margin-bottom:.75rem;
}

.footer-links a,
.site-footer a{
  color:#fff;
  text-decoration:none;
}

.site-footer a:hover{
  color:blue;
}

.footer-links .facebook-link a:hover {
  color:blue;
}

.footer-links .yelp-link a:hover {
  color:red;
}

.footer-phone{
  display:block;
  font-size:1.5rem;
  font-weight:700;
  color:#fff;
}

.subfooter{
  background:#1b2935;
  color:rgba(255,255,255,.7);
  padding:1rem 0;
  font-size:.9rem;
}

.subfooter a{
  color:rgba(255,255,255,.7);
  text-decoration:none;
}

.subfooter a:hover{
  color:#fff;
}

.consultation-section{
  background:#f7f4ef;
}

.social-facebook,
.social-yelp{
  transition:
    color .2s ease,
    border-color .2s ease,
    background-color .2s ease;
}

/* Facebook */

.social-facebook:hover{
  color:#1877f2;
  border-color:#1877f2;
}

/* Yelp */

.social-yelp:hover{
  color:#d32323;
  border-color:#d32323;
}

.social-yelp:hover,
.social-yelp:hover i{
  color:pink;
  border-color:#d32323;
  background:rgba(211,35,35,.08);
}

.social-facebook:hover,
.social-facebook:hover i{
  color:lightblue;
  border-color:#1877f2;
  background:rgba(24,119,242,.08);
}


