:root{
  --forest:#1F4B43;
  --teal:#2C8C7B;
  --gold:#D89B42;
  --cream:#F7F4EE;
  --text:#333333;
  --white:#ffffff;

  --gradient-main:
  linear-gradient(
    135deg,
    var(--teal) 0%,
    var(--gold) 100%
  );
}

/* =========================
   GLOBAL
========================= */

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

/* =========================
   NAVBAR
========================= */

.custom-navbar{
  background:var(--white);
  box-shadow:0 6px 20px rgba(31,75,67,0.08);
  padding:10px 0;
}

.nav-logo{
  max-height:85px;
  width:auto;
  object-fit:contain;
}

.navbar-toggler{
  border:1px solid var(--forest);
}

.navbar-toggler:focus{
  box-shadow:none;
}

.nav-link{
  color:var(--forest);
  font-weight:600;
  padding:10px 14px !important;
  transition:0.3s ease;
}

.nav-link:hover,
.nav-link.active{
  color:var(--gold);
}

.dropdown-menu{
  border:none;
  border-radius:14px;
  padding:12px;
  box-shadow:0 12px 30px rgba(31,75,67,0.15);
}

.dropdown-item{
  color:var(--forest);
  font-weight:500;
  border-radius:10px;
  padding:10px 14px;
}

.dropdown-item:hover{
  background:var(--cream);
  color:var(--gold);
}

.nav-btn{
  display:inline-block;
  background:var(--teal);
  color:var(--white);
  padding:12px 22px;
  border-radius:30px;
  text-decoration:none;
  font-weight:700;
  transition:0.3s ease;
}

.nav-btn:hover{
  background:var(--gold);
  color:var(--white);
}

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

.hero-section{
  background:
  radial-gradient(
    circle at top right,
    rgba(216,155,66,0.1),
    transparent
  ),
  linear-gradient(
    135deg,
    var(--white) 0%,
    var(--cream) 100%
  );

  padding:110px 0;
}

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

.hero-text-wrapper{
  position:relative;
  z-index:1;
}

.hero-text-wrapper::before{
  content:"";
  position:absolute;
  top:-30px;
  left:-40px;
  width:150px;
  height:150px;
  border-left:8px solid rgba(44,140,123,0.12);
  border-top:8px solid rgba(44,140,123,0.12);
  border-radius:30px 0 0 0;
  z-index:-1;
  opacity:0;
  animation:borderDraw 1.2s ease-out 0.3s forwards;
}

.hero-badge{
  display:inline-block;
  background:rgba(44,140,123,0.10);
  color:var(--teal);
  padding:8px 20px;
  border-radius:30px;
  font-weight:700;
  font-size:14px;
  margin-bottom:20px;
  text-transform:uppercase;
}

.main-title{
  color:var(--forest);
  font-size:clamp(2.5rem,5vw,3.8rem);
  font-weight:800;
  line-height:1.1;
  margin-bottom:20px;
}

.text-gradient{
  background:var(--gradient-main);
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  display:inline-block;
  padding-right:5px;
}

.hero-text{
  font-size:1.1rem;
  line-height:1.8;
  max-width:600px;
  color:#555555;
  margin-bottom:30px;
}



.offer-banner{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.offer-square-btn{
  min-width:100px;
  height:80px;
  border-radius:10px;
  padding: 3px;
    background: var(--gradient-main);

  color:#ffffff;
  text-decoration:none;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;

  position:relative;
  overflow:hidden;

  box-shadow:0 18px 35px rgba(31,75,67,0.20);

  transition:0.4s ease;

  animation:floatBox 3s ease-in-out infinite;
}

.offer-square-btn i{
  font-size:24px;
  position:relative;
  z-index:2;
}

.offer-square-btn span{
  font-size:14px;
  font-weight:700;
  text-align:center;
  line-height:1.4;
  position:relative;
  z-index:2;
}

.offer-square-btn::before{
  content:"";
  position:absolute;
  width:180%;
  height:180%;
  background:rgba(255,255,255,0.10);
  top:-120%;
  left:-120%;
  transform:rotate(25deg);
  transition:0.7s ease;
}

.offer-square-btn:hover::before{
  top:-20%;
  left:-20%;
}

.offer-square-btn:hover{
  transform:translateY(-6px) scale(1.04);
  color:#ffffff;
  background:linear-gradient(
    135deg,
    #2C8C7B,
    #D89B42
  );
}

@keyframes floatBox{

  0%,100%{
    transform:translateY(0);
  }

  50%{
    transform:translateY(-8px);
  }

}

@media(max-width:767px){

  .offer-banner{
    flex-wrap:wrap;
  }

  .offer-square-btn{
    width:100%;
    height:85px;
    border-radius:22px;
    flex-direction:row;
  }

}
/* =========================
   OFFER BANNER
========================= */

.offer-banner{
  display:flex;
  align-items:center;
  gap:18px;
  background:var(--white);
  border-radius:22px;
  padding:18px 24px;
  margin-bottom:30px;
  border-left:6px solid var(--gold);
  box-shadow:0 15px 35px rgba(31,75,67,0.08);
  max-width:520px;
  position:relative;
  overflow:hidden;
}

.offer-banner::before{
  content:"";
  position:absolute;
  width:140px;
  height:140px;
  background:rgba(44,140,123,0.06);
  border-radius:50%;
  top:-60px;
  right:-60px;
}

.offer-icon{
  width:65px;
  height:65px;
  min-width:65px;
  background:#1F4B43;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--white);
  font-size:26px;
  box-shadow:0 10px 25px rgba(44,140,123,0.25);
}

.offer-content{
  position:relative;
  z-index:2;
}

.offer-small{
  display:inline-block;
  color:var(--teal);
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:4px;
}

.offer-content h3{
  color:var(--forest);
  font-size:2rem;
  font-weight:800;
  margin-bottom:2px;
  line-height:1;
}

.offer-content p{
  margin:0;
  color:var(--text);
  font-weight:600;
  font-size:15px;
}

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

.hero-buttons{
  display:flex;
  gap:15px;
  align-items:center;
  flex-wrap:wrap;
}

.primary-btn,
.secondary-btn{
  padding:15px 35px;
  border-radius:50px;
  font-weight:700;
  text-decoration:none;
  transition:0.3s all;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}

.primary-btn{
  background:var(--teal);
  color:var(--white);
}

.secondary-btn{
  background:var(--forest);
  color:var(--white);
}

.primary-btn:hover,
.secondary-btn:hover{
  background:var(--gold);
  color:var(--white);
  transform:translateY(-3px);
  box-shadow:0 10px 20px rgba(216,155,66,0.3);
}

.hero-buttons i{
  font-size:1.1rem;
  line-height:1;
}

.hero-buttons span{
  display:inline-flex;
  align-items:center;
  line-height:1;
}

/* =========================
   BUTTON EFFECTS
========================= */

.shine-effect{
  position:relative;
  overflow:hidden;
}

.shine-effect::after{
  content:"";
  position:absolute;
  top:-50%;
  left:-100%;
  width:50%;
  height:200%;
  background:rgba(255,255,255,0.2);
  transform:rotate(30deg);
  transition:0.6s;
}

.shine-effect:hover::after{
  left:120%;
}

.primary-btn i.fa-phone-alt{
  transform:scaleX(-1);
  display:inline-block;
}

.primary-btn:hover i.fa-phone-alt{
  animation:iconShakeFlipped 0.5s ease-in-out infinite;
}

@keyframes iconShakeFlipped{
  0%{transform:scaleX(-1) rotate(0);}
  25%{transform:scaleX(-1) rotate(-15deg);}
  50%{transform:scaleX(-1) rotate(15deg);}
  75%{transform:scaleX(-1) rotate(-10deg);}
  100%{transform:scaleX(-1) rotate(0);}
}

/* =========================
   HERO IMAGE AREA
========================= */

.hero-image-container{
  position:relative;
  z-index:1;
}

.blob-gradient{
  position:absolute;
  width:120%;
  height:120%;
  background:var(--gradient-main);
  top:-10%;
  left:-10%;
  filter:blur(100px);
  opacity:0.12;
  z-index:1;
  border-radius:50%;
}

/* =========================
   BEFORE AFTER SLIDER
========================= */

.ba-slider{
  position:relative;
  width:100%;
  height:520px;
  overflow:hidden;
  border-radius:80px 20px 80px 20px;
  border:6px solid var(--white);
  box-shadow:0 30px 60px rgba(31,75,67,0.18);
  z-index:2;
  transition:
  transform 0.4s cubic-bezier(0.165,0.84,0.44,1),
  box-shadow 0.4s ease,
  border-radius 0.6s ease;
}

.hero-image-container:hover .ba-slider{
  transform:translateY(-8px) scale(1.01);
  box-shadow:0 40px 80px rgba(31,75,67,0.25);
  border-radius:40px 80px 40px 80px;
}

.ba-img{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  min-width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  pointer-events:none;
  user-select:none;
}

.ba-after{
  z-index:1;
}

.ba-before{
  position:absolute;
  inset:0;
  width:50%;
  overflow:hidden;
  z-index:2;
  transition:width 0.1s ease-out;
  border-right:3px solid var(--white);
}

.ba-before .ba-img{
  width:100%;
  min-width:520px;
  height:100%;
  object-fit:cover;
  object-position:left center;
}

.ba-range{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:ew-resize;
  z-index:10;
}

.ba-line{
  position:absolute;
  top:0;
  left:50%;
  width:4px;
  height:100%;
  background:rgba(255,255,255,0.85);
  transform:translateX(-50%);
  z-index:5;
}

.ba-handle{
  position:absolute;
  top:50%;
  left:50%;
  width:55px;
  height:55px;
  background:var(--gold);
  border:4px solid var(--white);
  border-radius:12px;
  transform:translate(-50%,-50%) rotate(45deg);
  z-index:6;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--white);
  box-shadow:0 8px 20px rgba(0,0,0,0.2);
  pointer-events:none;
}

.ba-handle span{
  transform:rotate(-45deg);
  display:inline-block;
  font-size:22px;
  font-weight:800;
  margin:0 -1px;
}

/* =========================
   FLOATING CARD
========================= */

.floating-card{
  position:absolute;
  bottom:20px;
  left:-20px;
  background:var(--white);
  padding:12px 20px;
  border-radius:18px;
  display:flex;
  align-items:center;
  gap:12px;
  box-shadow:0 15px 35px rgba(0,0,0,0.1);
  z-index:4;
  animation:float 4s ease-in-out infinite;
}

.icon-circle{
  width:40px;
  height:40px;
  background:var(--gold);
  color:var(--white);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
}

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

.services-section{
  padding:50px 0;
  background:
  radial-gradient(
    circle at center,
    var(--white) 0%,
    var(--cream) 100%
  );

  overflow:hidden;
}

.section-header{
  text-align:center;
  margin-bottom:50px;
  max-width:800px;
  margin-left:auto;
  margin-right:auto;
  padding:0 20px;
}

.sub-heading{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:3px;
  font-weight:700;
  font-size:0.85rem;
  display:inline-block;
  margin-bottom:12px;
}

.sub-heading::after{
  content:"";
  display:block;
  width:40px;
  height:2px;
  background:var(--gold);
  margin:8px auto 0;
}

.main-heading-services{
  color:var(--forest);
  font-size:clamp(2.2rem,5vw,3rem);
  font-weight:800;
  line-height:1.1;
  margin-bottom:18px;
  letter-spacing:-1px;
}

.section-description{
  max-width:620px;
  margin:0 auto;
  color:#5a5a5a;
  font-size:1.05rem;
  line-height:1.6;
}

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

.services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:25px;
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
}

.service-card{
  background:rgba(255,255,255,0.8);
  backdrop-filter:blur(10px);
  padding:30px 25px;
  border-radius:24px;
  border:1px solid #D89B42;
  box-shadow:0 15px 35px rgba(31,75,67,0.04);
  position:relative;
  z-index:1;
  transition:all 0.5s cubic-bezier(0.25,1,0.5,1);
  display:flex;
  flex-direction:column;
  height:100%;
}

.service-card:hover{
  transform:translateY(-15px) scale(1.02);
  border-color:#D89B42;
  box-shadow:0 30px 60px rgba(31,75,67,0.1);
}

.card-glow{
  position:absolute;
  inset:0;
  background:
  radial-gradient(
    circle at var(--x,50%) var(--y,50%),
    rgba(216,155,66,0.15) 0%,
    transparent 70%
  );

  opacity:0;
  transition:opacity 0.4s;
  pointer-events:none;
  border-radius:30px;
}

.service-card .card-glow{
  opacity:1;
}

.service-icon{
  width:55px;
  height:55px;
  background:#D89B42;
  color:#1F4B43;
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.4rem;
  margin-bottom:20px;
  box-shadow:0 8px 15px rgba(44,140,123,0.2);
  animation:iconFloat 4s ease-in-out infinite;
}

.service-card h3{
  color:var(--forest);
  font-size:1.3rem;
  font-weight:800;
  margin-bottom:10px;
}

.service-card p{
  font-size:0.9rem;
  line-height:1.5;
  margin-bottom:15px;
  color:#555;
}

.service-list{
  list-style:none;
  padding:0;
  margin-bottom:20px;
}

.service-list li{
  background:rgba(44,140,123,0.05);
  padding:6px 12px;
  border-radius:10px;
  margin-bottom:8px;
  font-size:0.85rem;
  transition:0.3s;
}

.service-card:hover .service-list li{
  background:rgba(44,140,123,0.1);
  transform:translateX(5px);
}

.service-link{
  text-decoration:none;
  color:var(--teal);
  font-weight:700;
  font-size:0.85rem;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 20px;
  background:rgba(44,140,123,0.08);
  border-radius:12px;
  transition:all 0.3s cubic-bezier(0.25,1,0.5,1);
  margin-top:auto;
  width:100%;
  border:1px solid transparent;
}

.service-card .service-link{
  background:var(--teal);
  color:var(--white);
}

.service-link:hover{
  background:var(--gold) !important;
  color:var(--white);
}

.service-link:hover i{
  transform:translateX(8px);
}

/* =========================
   BUSY HOUSEHOLDS SECTION
========================= */

.busy-households-section{
  background:var(--cream);
  position:relative;
  overflow:hidden;
}

.busy-households-section::before{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  background:rgba(216,155,66,0.12);
  border-radius:50%;
  top:-90px;
  right:-90px;
}

.busy-image-box{
  position:relative;
  border-radius:34px;
  overflow:hidden;
  box-shadow:0 22px 55px rgba(31,75,67,0.16);
}

.busy-img{
  width:100%;
  height:520px;
  object-fit:cover;
  transition:0.5s ease;
}

.busy-image-box:hover .busy-img{
  transform:scale(1.05);
}

.busy-badge{
  position:absolute;
  left:25px;
  bottom:25px;
  background:var(--white);
  padding:18px 24px;
  border-radius:20px;
  box-shadow:0 15px 35px rgba(0,0,0,0.12);
  border-left:6px solid var(--gold);
}

.busy-badge span{
  display:block;
  color:var(--teal);
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
}

.busy-badge strong{
  color:var(--forest);
  font-size:20px;
}

.busy-content h2{
  color:var(--forest);
  font-size:clamp(2rem,4vw,3.1rem);
  font-weight:800;
  line-height:1.15;
  margin-bottom:10px;
}

.busy-content h3{
  color:var(--gold);
  font-size:1.15rem;
  font-weight:800;
  margin-bottom:22px;
}

.busy-content p{
  color:var(--text);
  font-size:1.04rem;
  line-height:1.85;
  margin-bottom:16px;
}

.section-tag{
  display:inline-block;
  background:rgba(44,140,123,0.12);
  color:var(--teal);
  padding:9px 18px;
  border-radius:30px;
  font-weight:800;
  font-size:14px;
  margin-bottom:18px;
}

.busy-btn{
  display:inline-block;
  background:var(--teal);
  color:var(--white);
  padding:14px 30px;
  border-radius:40px;
  text-decoration:none;
  font-weight:800;
  margin-top:12px;
  transition:0.3s ease;
}

.busy-btn:hover{
  background:var(--gold);
  color:var(--white);
}

/* =========================
   ANIMATIONS
========================= */

.reveal-up{
  animation:reveal 1s cubic-bezier(0,1,0.5,1) forwards;
}

@keyframes borderDraw{
  from{
    width:0;
    height:0;
    opacity:0;
  }

  to{
    width:150px;
    height:150px;
    opacity:1;
  }
}

@keyframes reveal{
  from{
    opacity:0;
    transform:translateY(30px);
  }

  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes float{
  0%,100%{
    transform:translateY(0);
  }

  50%{
    transform:translateY(-15px);
  }
}

@keyframes iconFloat{
  0%,100%{
    transform:translateY(0) rotate(0);
  }

  50%{
    transform:translateY(-8px) rotate(5deg);
  }
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:991px){

  .hero-section{
    text-align:center;
    padding:70px 0;
  }

  .hero-text{
    margin:0 auto 30px;
  }

  .hero-buttons{
    justify-content:center;
  }

  .hero-image-container{
    margin-top:50px;
  }

  .floating-card{
    left:50%;
    transform:translateX(-50%);
  }

  .hero-text-wrapper::before{
    display:none;
  }

  .offer-banner{
    margin-left:auto;
    margin-right:auto;
    text-align:left;
  }

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

  .busy-households-section{
    text-align:center;
  }

  .busy-img{
    height:430px;
  }

}

@media(max-width:767px){

  .hero-buttons{
    flex-direction:column;
    width:100%;
  }

  .primary-btn,
  .secondary-btn,
  .service-link,
  .busy-btn{
    width:100%;
    justify-content:center;
  }

  .services-grid{
    grid-template-columns:1fr;
  }

}

@media(max-width:575px){

  .nav-logo{
    max-height:55px;
  }

  .offer-banner{
    padding:16px;
    gap:14px;
  }

  .offer-icon{
    width:55px;
    height:55px;
    min-width:55px;
    font-size:22px;
  }

  .offer-content h3{
    font-size:1.6rem;
  }

  .ba-slider{
    height:320px;
    border-radius:30px 15px;
  }

  .busy-img{
    height:330px;
  }

}


/* =========================
   PREMIUM CLEANING SECTION
========================= */

.premium-cleaning-section {
  background: var(--cream);
  padding: 100px 0;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

/* Diagonal Background Decoration */
.bg-accent-shape {
  position: absolute;
  top: 0;
  right: 0;
  width: 40%;
  height: 100%;
  background: white;
  clip-path: polygon(20% 0%, 100% 0%, 100% 100%, 0% 100%);
  z-index: -1;
  opacity: 0.6;
}

/* Image Wrapper with Custom Border */
.cleaning-image-wrapper {
  position: relative;
  padding: 20px;
  z-index: 2;
}

.image-border-decoration {
  position: absolute;
  top: 0;
  left: 0;
  width: 80%;
  height: 90%;
  border: 12px solid var(--teal);
  border-radius: 40px;
  z-index: -1;
  opacity: 0.1;
}

.cleaning-main-img {
  border-radius: 40px;
  box-shadow: 0 30px 60px rgba(31, 75, 67, 0.2);
  height: 550px;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.cleaning-image-wrapper:hover .cleaning-main-img {
  transform: translateY(-10px);
}

/* Floating Stats Card (Glassmorphism) */
.floating-stats-card {
  position: absolute;
  bottom: 60px;
  right: -30px;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  padding: 20px 30px;
  border-radius: 25px;
  display: flex;
  align-items: center;
  gap: 15px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.1);
  border-bottom: 4px solid var(--gold);
}

.stats-icon {
  width: 50px;
  height: 50px;
  background: var(--forest);
  color: var(--gold);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
}

.stats-text strong {
  display: block;
  color: var(--forest);
  font-size: 1.1rem;
}

.stats-text span {
  font-size: 0.85rem;
  color: var(--teal);
  font-weight: 600;
}

/* Content Area Styling */
.cleaning-content-area {
  padding-left: 60px;
}

.premium-tag {
  color: var(--gold);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 0.85rem;
  position: relative;
  margin-bottom: 15px;
  display: inline-block;
}

.display-title {
  color: var(--forest);
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  font-weight: 900;
  line-height: 1.1;
  margin-bottom: 15px;
}

.text-highlight {
  color: var(--teal);
  position: relative;
  z-index: 1;
}

.text-highlight::after {
  content: "";
  position: absolute;
  bottom: 5px;
  left: 0;
  width: 100%;
  height: 12px;
  background: var(--gold);
  z-index: -1;
  opacity: 0.2;
}

.subtitle-brand {
  color: var(--forest);
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 25px;
  opacity: 0.8;
}

.description-box p {
  font-size: 1.1rem;
  line-height: 1.8;
  color: #555;
  margin-bottom: 20px;
}

/* High-End CTA Button */
.cta-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  background: var(--forest);
  color: white;
  padding: 18px 40px;
  border-radius: 50px;
  text-decoration: none;
  font-weight: 800;
  transition: 0.4s;
  box-shadow: 0 10px 25px rgba(31, 75, 67, 0.3);
}

.cta-btn-primary:hover {
  background: var(--gold);
  color: white;
  transform: scale(1.05);
  box-shadow: 0 15px 30px rgba(216, 155, 66, 0.4);
}

.cta-btn-primary i {
  transition: 0.3s;
}

.cta-btn-primary:hover i {
  transform: translateX(8px);
}

/* Responsive Fixes */
@media (max-width: 991px) {
  .bg-accent-shape { display: none; }
  .cleaning-content-area { padding-left: 0; margin-top: 50px; }
  .floating-stats-card { right: 20px; }
  .cleaning-main-img { height: 400px; }
}


/* =========================
   STAIN TREATMENT SECTION
========================= */

.stain-treatment-section{
  background:#ffffff;
  position:relative;
  overflow:hidden;
}

.stain-treatment-section::before{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  background:rgba(44,140,123,0.08);
  border-radius:50%;
  top:-100px;
  left:-100px;
}

.stain-image-wrapper{
  position:relative;
  border-radius:35px;
  overflow:hidden;
  box-shadow:0 25px 55px rgba(31,75,67,0.15);
}

.stain-main-img{
  width:100%;
  height:520px;
  object-fit:cover;
  transition:0.5s ease;
}

.stain-image-wrapper:hover .stain-main-img{
  transform:scale(1.05);
}

.stain-floating-box{
  position:absolute;
  bottom:25px;
  right:25px;
  background:#ffffff;
  padding:20px 24px;
  border-radius:22px;
  box-shadow:0 15px 35px rgba(0,0,0,0.12);
  border-right:6px solid #D89B42;
}

.mini-badge{
  display:inline-block;
  color:#2C8C7B;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  margin-bottom:6px;
}

.stain-floating-box h5{
  color:#1F4B43;
  margin:0;
  font-weight:800;
}

.stain-content{
  position:relative;
  z-index:2;
}

.stain-content h2{
  color:#1F4B43;
  font-size:clamp(2rem,4vw,3rem);
  font-weight:800;
  line-height:1.15;
  margin-bottom:22px;
}

.stain-content p{
  color:#555555;
  font-size:1.04rem;
  line-height:1.9;
  margin-bottom:18px;
}

.stain-feature-list{
  margin-top:25px;
  margin-bottom:30px;
}

.stain-feature-item{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
  background:rgba(44,140,123,0.06);
  padding:14px 18px;
  border-radius:16px;
  transition:0.3s ease;
}

.stain-feature-item:hover{
  background:rgba(44,140,123,0.12);
  transform:translateX(5px);
}

.stain-feature-item i{
  color:#D89B42;
  font-size:18px;
}

.stain-feature-item span{
  color:#1F4B43;
  font-weight:700;
}

.stain-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#2C8C7B;
  color:#ffffff;
  padding:15px 32px;
  border-radius:40px;
  text-decoration:none;
  font-weight:800;
  transition:0.3s ease;
}

.stain-btn:hover{
  background:#D89B42;
  color:#ffffff;
  transform:translateY(-3px);
  box-shadow:0 12px 25px rgba(216,155,66,0.25);
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:991px){

  .stain-treatment-section{
    text-align:center;
  }

  .stain-main-img{
    height:420px;
  }

  .stain-feature-item{
    text-align:left;
  }

}

@media(max-width:575px){

  .stain-main-img{
    height:320px;
  }

  .stain-floating-box{
    left:15px;
    right:15px;
    bottom:15px;
  }

  .stain-btn{
    width:100%;
  }

}
.stain-treatment-section .row{
  align-items:stretch;
}

.stain-image-wrapper{
  height:100%;
  min-height:100%;
}

.stain-main-img{
  width:100%;
  height:100%;
  min-height:100%;
  object-fit:cover;
  border-radius:35px;
}

.stain-content{
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

/* =========================
   CTA SECTION
========================= */

.cta-section{
  background:#F7F4EE;
  position:relative;
  overflow:hidden;
}

.cta-wrapper{
  background:
  linear-gradient(
    135deg,
    #1F4B43 0%,
    #2C8C7B 100%
  );

  border-radius:40px;
  padding:30px;
  position:relative;
  overflow:hidden;
  box-shadow:0 25px 60px rgba(31,75,67,0.18);
}

.cta-wrapper::before{
  content:"";
  position:absolute;
  width:320px;
  height:320px;
  background:rgba(255,255,255,0.06);
  border-radius:50%;
  top:-160px;
  right:-120px;
}

.cta-wrapper::after{
  content:"";
  position:absolute;
  width:240px;
  height:240px;
  background:rgba(216,155,66,0.12);
  border-radius:50%;
  bottom:-120px;
  left:-100px;
}

.cta-content{
  position:relative;
  z-index:2;
}

.cta-badge{
  display:inline-block;
  background:rgba(255,255,255,0.12);
  color:#ffffff;
  padding:10px 18px;
  border-radius:30px;
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:20px;
}

.cta-content h2{
  color:#ffffff;
  font-size:clamp(2rem,4vw,3.3rem);
  font-weight:800;
  line-height:1.15;
  margin-bottom:18px;
}

.cta-content .text-gradient{
  background:linear-gradient(135deg,#ffffff 0%,#D89B42 100%);
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}

.cta-content p{
  color:rgba(255,255,255,0.88);
  font-size:1.05rem;
  line-height:1.9;
  max-width:650px;
  margin:0;
}

.cta-buttons{
  display:flex;
  flex-direction:column;
  gap:16px;
  position:relative;
  z-index:2;
}

.cta-primary-btn,
.cta-secondary-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:16px 26px;
  border-radius:50px;
  font-weight:800;
  text-decoration:none;
  transition:0.3s ease;
}

.cta-primary-btn{
  background:#ffffff;
  color:#1F4B43;
}

.cta-primary-btn:hover{
  background:#D89B42;
  color:#ffffff;
  transform:translateY(-3px);
}

.cta-secondary-btn{
  background:rgba(255,255,255,0.12);
  color:#ffffff;
  border:2px solid rgba(255,255,255,0.18);
}

.cta-secondary-btn:hover{
  background:#ffffff;
  color:#1F4B43;
  transform:translateY(-3px);
}

.cta-primary-btn i{
  transform:scaleX(-1);
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:991px){

  .cta-wrapper{
    padding:45px 30px;
    text-align:center;
  }

  .cta-content p{
    margin:auto;
  }

  .cta-buttons{
    margin-top:10px;
  }

}

@media(max-width:575px){

  .cta-wrapper{
    padding:35px 20px;
    border-radius:28px;
  }

}

/* =========================
   UPHOLSTERY LUXE SECTION
========================= */
.upholstery-luxe-section {
    padding: 120px 0;
    background-color: #fff;
    overflow: hidden;
}

/* --- Visual Stack (Left Side) --- */
.upholstery-visual-stack {
    position: relative;
    padding-right: 40px;
}

.main-image-holder {
    position: relative;
    z-index: 2;
    border-radius: 100px 30px 100px 30px; /* Asymmetrical curves */
    overflow: hidden;
    box-shadow: 25px 25px 60px rgba(31, 75, 67, 0.15);
}

.main-image-holder img {
    width: 100%;
    height: 600px;
    object-fit: cover;
    transition: transform 0.8s ease;
}

.main-image-holder:hover img {
    transform: scale(1.08);
}

.image-accent-blob {
    position: absolute;
    top: -30px;
    left: -30px;
    width: 200px;
    height: 200px;
    background: var(--gold);
    opacity: 0.1;
    border-radius: 50%;
    z-index: 1;
}

.experience-badge {
    position: absolute;
    bottom: 40px;
    right: -20px;
    background: var(--forest);
    color: #fff;
    padding: 25px;
    border-radius: 50%;
    width: 130px;
    height: 130px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-shadow: 0 15px 30px rgba(0,0,0,0.2);
    border: 4px solid #fff;
}

.experience-badge strong { font-size: 1.8rem; line-height: 1; color: var(--gold); }
.experience-badge span { font-size: 10px; text-transform: uppercase; letter-spacing: 1px; }

/* --- Content Styling (Right Side) --- */
.upholstery-text-box {
    padding-left: 50px;
}

.luxe-subtitle {
    color: var(--teal);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 4px;
    font-size: 0.85rem;
    display: block;
    margin-bottom: 15px;
}

.luxe-title {
    font-size: clamp(2.5rem, 5vw, 3.8rem);
    color: var(--forest);
    font-weight: 900;
    line-height: 1;
    margin-bottom: 25px;
}

.accent-text {
    color: var(--gold);
    font-family: serif; /* Elegant contrast */
    font-style: italic;
}

.luxe-description {
    font-size: 1.15rem;
    color: #666;
    line-height: 1.8;
    margin-bottom: 40px;
    max-width: 500px;
}

/* --- Perks Horizontal List --- */
.luxe-perks {
    display: flex;
    gap: 30px;
    margin-bottom: 50px;
}

.perk-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.perk-icon {
    width: 60px;
    height: 60px;
    background: var(--cream);
    color: var(--teal);
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    transition: 0.3s;
}

.perk-item span {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--forest);
    text-transform: uppercase;
}

.perk-item:hover .perk-icon {
    background: var(--teal);
    color: #fff;
    transform: translateY(-5px);
}

/* --- Premium CTA Button --- */
/* --- Slimmer Premium CTA Button --- */
.btn-luxe-primary {
    display: inline-flex;
    flex-direction: column;
    background: #F7F4EE;
    color: #1F4B43;
    /* Reduced vertical padding from 20px to 12px */
    padding: 12px 50px; 
    border-radius: 12px; /* Slightly tighter corners for a slimmer profile */
    text-decoration: none;
    font-weight: 700;
    transition: 0.4s;
    box-shadow: 0 12px 30px rgba(31, 75, 67, 0.2);
    width: 100%;
    box-sizing: border-box;
    height: 70px;
}

.btn-luxe-primary span {
    font-size: 0.95rem;
    line-height: 1.2; /* Tighter line height */
}

.btn-luxe-primary small {
    font-size: 0.7rem;
    opacity: 0.8;
    font-weight: 400;
    margin-top: 2px; /* Reduced gap between text lines */
}

.btn-luxe-primary:hover {
    background: var(--teal);
    color: white;
    transform: translateY(-3px);
    box-shadow: 0 15px 35px rgba(44, 140, 123, 0.3);
}



.tile-air-section{
  background:#ffffff;
  position:relative;
  overflow:hidden;
}

.tile-air-section::before{
  content:"";
  position:absolute;
  width:300px;
  height:300px;
  background:rgba(44,140,123,0.08);
  border-radius:50%;
  top:-120px;
  right:-120px;
}

.tile-air-header{
  max-width:850px;
  margin:0 auto;
  position:relative;
  z-index:2;
}

.tile-air-header h2{
  color:#1F4B43;
  font-size:clamp(2rem,4vw,3.2rem);
  font-weight:800;
  line-height:1.15;
  margin-bottom:18px;
}

.tile-air-header p{
  color:#333333;
  font-size:1.05rem;
  line-height:1.8;
  margin:0 auto;
  max-width:720px;
}

.tile-air-card{
  background:#F7F4EE;
  padding:38px;
  border-radius:30px;
  height:100%;
  box-shadow:0 18px 45px rgba(31,75,67,0.08);
  border:1px solid rgba(31,75,67,0.06);
  transition:0.35s ease;
  position:relative;
  z-index:2;
}

.tile-air-card:hover{
  transform:translateY(-8px);
  box-shadow:0 28px 60px rgba(31,75,67,0.14);
}

.tile-air-icon{
  width:68px;
  height:68px;
  background:linear-gradient(135deg,#2C8C7B,#D89B42);
  color:#ffffff;
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  margin-bottom:22px;
}

.tile-air-card h3{
  color:#1F4B43;
  font-weight:800;
  font-size:1.5rem;
  margin-bottom:14px;
}

.tile-air-card p{
  color:#333333;
  line-height:1.75;
  margin-bottom:20px;
}

.tile-air-card ul{
  list-style:none;
  padding:0;
  margin:0;
}

.tile-air-card li{
  background:#ffffff;
  color:#1F4B43;
  padding:12px 16px;
  border-radius:14px;
  margin-bottom:10px;
  font-weight:700;
}

.tile-air-card li::before{
  content:"✓";
  color:#D89B42;
  font-weight:900;
  margin-right:10px;
}

.tile-air-cta{
  text-align:center;
  margin-top:35px;
}

.tile-air-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#2C8C7B;
  color:#ffffff;
  padding:15px 34px;
  border-radius:50px;
  text-decoration:none;
  font-weight:800;
  transition:0.3s ease;
}

.tile-air-btn:hover{
  background:#D89B42;
  color:#ffffff;
  transform:translateY(-3px);
}

@media(max-width:575px){
  .tile-air-card{
    padding:28px 22px;
  }

  .tile-air-btn{
    width:100%;
  }
}



/* =========================
   FAQ MODERN RESTYLE
========================= */

.faq-modern-section {
    background: #ffffff;
    padding: 100px 0;
    position: relative;
    z-index: 1;
    overflow: hidden;
}

/* Floating background decoration */
.faq-bg-blob {
    position: absolute;
    top: 10%;
    right: -5%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(44, 140, 123, 0.05) 0%, rgba(216, 155, 66, 0.05) 100%);
    border-radius: 50%;
    filter: blur(60px);
    z-index: -1;
}

.faq-header-wrapper {
    max-width: 700px;
    margin: 0 auto 60px;
}

.faq-pre-title {
    color: var(--gold);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 0.85rem;
    display: block;
    margin-bottom: 10px;
}

.faq-main-title {
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    color: var(--forest);
    font-weight: 900;
    margin-bottom: 20px;
}

.text-gold { color: var(--gold); }

.faq-subtitle {
    color: #666;
    font-size: 1.1rem;
    line-height: 1.7;
}

/* Accordion Custom Styling */
.faq-grid-container {
    max-width: 850px;
    margin: 0 auto;
}

.custom-floating-faq .accordion-item {
    border: none;
    background: transparent;
    margin-bottom: 20px;
}

.custom-floating-faq .accordion-button {
    background: #fdfdfd;
    border: 1px solid rgba(31, 75, 67, 0.08);
    border-radius: 20px !important;
    padding: 25px 30px;
    color: var(--forest);
    font-weight: 800;
    font-size: 1.1rem;
    box-shadow: 0 10px 30px rgba(31, 75, 67, 0.04);
    transition: all 0.3s ease;
}

/* Numbered look */
.faq-number {
    margin-right: 20px;
    color: var(--gold);
    font-size: 0.9rem;
    font-weight: 900;
    opacity: 0.5;
}

.custom-floating-faq .accordion-button:not(.collapsed) {
    background: #ffffff;
    color: var(--teal);
    box-shadow: 0 20px 40px rgba(31, 75, 67, 0.08);
    border-color: var(--teal);
    transform: translateY(-5px);
}

.custom-floating-faq .accordion-button:not(.collapsed) .faq-number {
    opacity: 1;
}

/* Refined Accordion Body */
.custom-floating-faq .accordion-body {
    background: #ffffff;
    border-radius: 0 0 20px 20px;
    padding: 10px 35px 30px;
    margin-top: -15px; /* Pull body closer to button */
    border: 1px solid rgba(44, 140, 123, 0.1);
    border-top: none;
    box-shadow: 0 15px 30px rgba(0,0,0,0.02);
}

.body-content {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.body-icon {
    font-size: 1.5rem;
    color: var(--gold);
    margin-top: 5px;
    opacity: 0.7;
}

.body-content p {
    margin: 0;
    color: #555;
    line-height: 1.8;
    font-size: 1.05rem;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .custom-floating-faq .accordion-button {
        padding: 20px;
    }
    .body-content {
        flex-direction: column;
        gap: 10px;
    }
}


/* =========================
   FULL SERVICE SECTION
========================= */

.full-service-section{
  background:#ffffff;
  position:relative;
  overflow:hidden;
}

.full-service-section::before{
  content:"";
  position:absolute;
  width:340px;
  height:340px;
  background:rgba(44,140,123,0.08);
  border-radius:50%;
  bottom:-160px;
  right:-140px;
}

/* =========================
   IMAGE
========================= */

.full-service-image-wrapper{
  position:relative;
  border-radius:35px;
  overflow:hidden;
  box-shadow:0 25px 60px rgba(31,75,67,0.15);
}

.full-service-img{
  width:100%;
  height:680px;
  object-fit:cover;
  transition:0.5s ease;
}

.full-service-image-wrapper:hover .full-service-img{
  transform:scale(1.05);
}

/* Floating Card */

.service-floating-card{
  position:absolute;
  left:20px;
  bottom:20px;
  background:#ffffff;
  border-radius:22px;
  padding:18px 22px;
  display:flex;
  align-items:center;
  gap:14px;
  box-shadow:0 15px 35px rgba(0,0,0,0.12);
  border-left:6px solid #D89B42;
}

.service-floating-card i{
  width:55px;
  height:55px;
  background:#2C8C7B;
  color:#ffffff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
}

.service-floating-card span{
  display:block;
  color:#2C8C7B;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
}

.service-floating-card strong{
  color:#1F4B43;
  font-size:18px;
}

/* =========================
   CONTENT
========================= */

.full-service-content{
  position:relative;
  z-index:2;
}

.full-service-content h2{
  color:#1F4B43;
  font-size:clamp(2rem,4vw,3.1rem);
  font-weight:800;
  line-height:1.15;
  margin-bottom:22px;
}

.full-service-content p{
  color:#555555;
  font-size:1.04rem;
  line-height:1.9;
  margin-bottom:18px;
}

/* =========================
   BENEFITS GRID
========================= */

.service-benefits-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
  margin:30px 0;
}

.benefit-item{
  background:#F7F4EE;
  border-radius:18px;
  padding:16px 18px;
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:700;
  color:#1F4B43;
  transition:0.3s ease;
}

.benefit-item:hover{
  background:#1F4B43;
  color:#ffffff;
  transform:translateY(-4px);
}

.benefit-item i{
  color:#D89B42;
  font-size:18px;
}

/* =========================
   BUTTON
========================= */

.full-service-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#2C8C7B;
  color:#ffffff;
  padding:16px 34px;
  border-radius:50px;
  text-decoration:none;
  font-weight:800;
  transition:0.3s ease;
}

.full-service-btn:hover{
  background:#D89B42;
  color:#ffffff;
  transform:translateY(-3px);
  box-shadow:0 12px 24px rgba(216,155,66,0.22);
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:991px){

  .full-service-section{
    text-align:center;
  }

  .full-service-img{
    height:460px;
  }

  .service-floating-card{
    left:50%;
    transform:translateX(-50%);
    width:calc(100% - 40px);
    justify-content:center;
  }

}

@media(max-width:767px){

  .service-benefits-grid{
    grid-template-columns:1fr;
  }

}

@media(max-width:575px){

  .full-service-img{
    height:340px;
  }

  .full-service-btn{
    width:100%;
  }

  .service-floating-card{
    padding:15px;
  }

}


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

.contact-section{
  background:#F7F4EE;
  position:relative;
  overflow:hidden;
}

.contact-wrapper{
  background:#ffffff;
  border-radius:40px;
  overflow:hidden;
  box-shadow:0 25px 60px rgba(31,75,67,0.08);
}

/* =========================
   LEFT SIDE
========================= */

.contact-info-side{
  background:
  linear-gradient(
    135deg,
    #1F4B43 0%,
    #2C8C7B 100%
  );

  padding:60px 45px;
  height:100%;
  color:#ffffff;
  position:relative;
}

.contact-tag{
  display:inline-block;
  background:rgba(255,255,255,0.12);
  padding:10px 18px;
  border-radius:30px;
  font-size:13px;
  font-weight:700;
  margin-bottom:22px;
  text-transform:uppercase;
}

.contact-info-side h2{
  font-size:clamp(2rem,4vw,3rem);
  font-weight:800;
  line-height:1.15;
  margin-bottom:20px;
}

.contact-desc{
  color:rgba(255,255,255,0.85);
  line-height:1.9;
  margin-bottom:35px;
}

/* Info Cards */

.contact-info-list{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.contact-info-card{
  display:flex;
  align-items:flex-start;
  gap:16px;
  background:rgba(255,255,255,0.08);
  padding:18px;
  border-radius:22px;
}

.contact-icon{
  width:55px;
  height:55px;
  min-width:55px;
  background:#D89B42;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
}

.contact-info-card h5{
  font-size:1rem;
  font-weight:800;
  margin-bottom:6px;
}

.contact-info-card p{
  margin-bottom:4px;
  font-weight:600;
}

.contact-info-card span{
  color:rgba(255,255,255,0.8);
  font-size:14px;
}

/* Map */

.contact-map{
  margin-top:35px;
  border-radius:24px;
  overflow:hidden;
  height:280px;
}

.contact-map iframe{
  width:100%;
  height:100%;
  border:0;
}

/* =========================
   FORM SIDE
========================= */

.contact-form-side{
  padding:60px 50px;
  background:#ffffff;
}

.form-header{
  margin-bottom:30px;
}

.form-mini-tag{
  display:inline-block;
  background:rgba(44,140,123,0.10);
  color:#2C8C7B;
  padding:10px 18px;
  border-radius:30px;
  font-size:13px;
  font-weight:700;
  margin-bottom:18px;
  text-transform:uppercase;
}

.form-header h3{
  color:#1F4B43;
  font-size:2rem;
  font-weight:800;
  margin-bottom:14px;
}

.form-header p{
  color:#555555;
  line-height:1.8;
}

/* Inputs */

.custom-input{
  background:#F7F4EE;
  border-radius:18px;
  box-shadow:none !important;
  padding-left:18px;
  color:#333333;
}

.custom-input:focus{
  background:#ffffff;
  border:1px solid #2C8C7B !important;
}

textarea.custom-input{
  resize:none;
}

/* Submit Button */

.contact-submit-btn{
  background:#2C8C7B;
  color:#ffffff;
  border:none;
  border-radius:50px;
  font-weight:800;
  transition:0.3s ease;
}

.contact-submit-btn:hover{
  background:#D89B42;
  color:#ffffff;
  transform:translateY(-3px);
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:991px){

  .contact-info-side,
  .contact-form-side{
    padding:45px 30px;
  }

}

@media(max-width:575px){

  .contact-wrapper{
    border-radius:24px;
  }

  .contact-info-side,
  .contact-form-side{
    padding:35px 20px;
  }

  .contact-info-card{
    flex-direction:column;
  }

}

.contact-wrapper .row{
  align-items: stretch;
}

.contact-info-side,
.contact-form-side{
  height: 100%;
}

.contact-form-side{
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.contact-map{
  height: 220px;
}

.contact-info-card{
  overflow:hidden;
}

.contact-info-card p,
.contact-info-card span{
  word-break:break-word;
  overflow-wrap:break-word;
}

.contact-info-card p{
  font-size:15px;
  line-height:1.6;
}

@media(max-width:575px){

  .contact-info-card{
    flex-direction:column;
    align-items:flex-start;
  }

}


/* =========================
   SIMPLE FOOTER
========================= */

.simple-footer{
  background:#1F4B43;
  padding:20px 0;
  position:relative;
  overflow:hidden;
}

.simple-footer::before{
  content:"";
  position:absolute;
  width:320px;
  height:320px;
  background:rgba(255,255,255,0.04);
  border-radius:50%;
  top:-140px;
  right:-120px;
}

/* =========================
   TITLES
========================= */

.simple-footer h3{
  color:#ffffff;
  font-size:2rem;
  font-weight:800;
  line-height:1.2;
  margin-bottom:24px;
}

.simple-footer h3 span{
  color:#D89B42;
}

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

.footer-social{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-bottom:28px;
}

.footer-social a{
  width:46px;
  height:46px;
  background:rgba(255,255,255,0.08);
  color:#ffffff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  transition:0.3s ease;
  font-size:16px;
}

.footer-social a:hover{
  background:#D89B42;
  color:#ffffff;
  transform:translateY(-4px);
}

/* =========================
   CALL BUTTON
========================= */

.footer-call-btn{
  display:inline-flex;
  align-items:center;
  gap:16px;
  background:rgba(255,255,255,0.08);
  color:#ffffff;
  padding:14px 28px;
  border-radius:60px;
  text-decoration:none;
  border:1px solid rgba(255,255,255,0.10);
  transition:0.3s ease;
}

.footer-call-btn:hover{
  background:#2C8C7B;
  color:#ffffff;
}

.footer-call-btn i{
  width:52px;
  height:52px;
  background:#D89B42;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
}

.footer-call-btn small{
  display:block;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:1px;
  color:rgba(255,255,255,0.75);
}

.footer-call-btn strong{
  display:block;
  font-size:1.6rem;
  line-height:1;
  color:#ffffff;
}

/* =========================
   MAP
========================= */

.footer-map{
  height:210px;
  border-radius:16px;
  overflow:hidden;
  max-width:420px;
  margin:auto;
  box-shadow:0 18px 45px rgba(0,0,0,0.18);
}

.footer-map iframe{
  width:100%;
  height:100%;
  border:0;
}

/* =========================
   SERVICE AREA TEXT
========================= */

.simple-footer p{
  color:rgba(255,255,255,0.86);
  line-height:1.9;
  max-width:420px;
  margin:auto;
  font-size:1rem;
}

.simple-footer p strong{
  color:#ffffff;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:991px){

  .simple-footer{
    text-align:center;
    padding:60px 0;
  }

}

@media(max-width:575px){

  .simple-footer h3{
    font-size:1.7rem;
  }

  .footer-call-btn{
    width:100%;
    justify-content:center;
  }

  .footer-map{
    height:180px;
  }

}

.footer-bottom{
  margin-top:50px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,0.12);
  position:relative;
  z-index:2;
}

.footer-bottom-wrapper{
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
}

.footer-bottom p{
  margin:0;
  color:rgba(255,255,255,0.78);
  font-size:15px;
  line-height:1.8;
}

.footer-call-btn i{
  transform: scaleX(-1);
}

.obfuscatedEmail a{
  color: white;
}

.service-locations-section{
  background:#F7F4EE;
}

.locations-header{
  max-width:760px;
  margin:0 auto 40px;
}

.locations-header h2{
  color:#1F4B43;
  font-size:clamp(2rem,4vw,3rem);
  font-weight:800;
}

.locations-header p{
  color:#333333;
  line-height:1.8;
}

.locations-buttons{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:16px;
}

.location-btn{
  background:#E5E7E6;
  color:#1F4B43;
  padding:14px 24px;
  border-radius:40px;
  text-decoration:none;
  font-weight:800;
  border:2px solid transparent;
  transition:0.3s ease;
}

.location-btn:hover{
  background:#2C8C7B;
  color:#ffffff;
  border-color:#D89B42;
  transform:translateY(-4px);
}

.small-title{
  font-size:0.75em;
}

.accent-text{
  font-size: 0.75em;
  line-height: 1.2;
  display: inline-block;
}

/* Ensure the parent columns have a uniform height stretch */
@media (min-width: 992px) {
  .upholstery-luxe-section .row {
    display: flex;
    align-items: stretch; /* Forces both columns to be equal height */
  }

  .upholstery-visual-stack {
    display: flex;
    flex-direction: column;
    height: 100%; /* Spans the full height of the text column */
  }

  .main-image-holder {
    flex-grow: 1;
    position: relative;
    height: 100%;
  }

  /* Forces the image to precisely match the height without stretching ugly */
  .main-image-holder img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Crops the image elegantly to fit the exact height */
    object-position: center;
  }
}