/* SLF Cleaning Services brand palette */
/* The original template assigns these variables to every element. */
* {
  --primary-color: #C99A32;
  --primary-color-rgb: 201, 154, 50;
  --secondary-color: #788574;
  --secondary-color-rgb: 120, 133, 116;
  --body-font-color: rgba(62, 70, 65, .88);
  --heading-font-color: #202522;
  --bg-default: #F8F6F0;
  --bg-light: #E9EEE7;
  --bg-dark-1: #202522;
  --bg-dark-2: #344036;
  --bg-dark-3: #465645;
  --bg-dark-1-rgb: 32, 37, 34;
  --bg-color-even: #E9EEE7;
  --bg-color-odd: #F8F6F0;
  --border-color: #C7D0C4;
  --btn-color: #202522;
  --btn-hover-color: #FFFFFF;
  --btn-hover-bg: #465645;
}

/* Premium call-to-action system */
a.btn-main,
.btn-main {
  position: relative;
  padding: 11px 24px;
  color: #202522;
  background: #C99A32;
  border: 1px solid #C99A32;
  border-radius: 5px;
  box-shadow: 0 4px 12px rgba(32, 37, 34, .16);
  font-weight: 600;
  letter-spacing: .035em;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

a.btn-main span,
.btn-main span { position: relative; z-index: 1; }

a.btn-main:hover,
.btn-main:hover {
  color: #FFFFFF;
  background: #465645;
  border-color: #465645;
  transform: translateY(-1px);
  box-shadow: 0 7px 16px rgba(32, 37, 34, .2);
}

a.btn-main:active,
.btn-main:active { transform: translateY(0); box-shadow: 0 2px 6px rgba(32, 37, 34, .16); }

/* Replace the template's blank slide-out button hover. */
a.btn-main.fx-slide:hover span { transform: none; opacity: 1; }
a.btn-main.fx-slide:before { display: none; }

header.smaller {
  background: #202522;
}

header.smaller #mainmenu > li > a {
  color: #FFFFFF;
}

header.header-light #mainmenu > li > a {
  color: #202522;
}

#mainmenu > li::before,
#mainmenu li a.active {
  color: #C99A32 !important;
}

.slf-topbar {
  background: #202522;
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .01em;
  padding: 10px 0;
  border-bottom: 1px solid rgba(233, 238, 231, .14);
}

.slf-topbar a { color: #F8F6F0; }

/* Premium floating navigation */
.slf-floating-header {
  position: absolute;
  top: 22px;
  left: 0;
  z-index: 1005;
  width: 100%;
  background: transparent;
  border: 0;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.slf-floating-header .de-flex {
  min-height: 76px;
  padding: 0 20px;
  background: linear-gradient(120deg, rgba(28, 35, 30, .82), rgba(57, 70, 58, .66));
  border: 1px solid rgba(248, 246, 240, .23);
  border-radius: 20px;
  box-shadow: 0 18px 42px rgba(10, 14, 12, .35), inset 0 1px 0 rgba(255, 255, 255, .12);
  backdrop-filter: blur(18px) saturate(125%);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
}

.slf-floating-header #btn-extra { display: none !important; }

header div#logo {
  display: flex;
  align-items: center;
}

header div#logo a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 94px;
  height: 64px;
  padding: 3px;
  background: transparent;
  border: 0;
  box-shadow: none;
}

header div#logo img {
  width: auto;
  max-width: 84px;
  max-height: 60px;
  object-fit: contain;
  filter: brightness(0) invert(94%) sepia(10%) saturate(469%) hue-rotate(356deg) brightness(106%) contrast(95%);
  opacity: .96;
}

#mainmenu > li {
  margin: 0 15px;
}

#mainmenu > li > a {
  color: #F8F6F0;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
}

#mainmenu > li > a:hover,
#mainmenu > li > a.active {
  color: #C99A32 !important;
}

/* Services dropdown */
.slf-services-nav { position: relative; }
.slf-services-nav::after { display: none !important; content: none !important; }
.slf-services-nav > .menu-item i { margin-left: 4px; font-size: 10px; transition: transform .2s ease; }
.slf-services-dropdown { position: absolute; top: calc(100% + 18px); left: 50%; z-index: 1050; display: block !important; width: 240px; margin: 0; padding: 9px; list-style: none; visibility: hidden; opacity: 0; background: linear-gradient(145deg, rgba(30, 39, 33, .98), rgba(46, 59, 48, .96)); border: 1px solid rgba(233, 238, 231, .2); border-radius: 14px; box-shadow: 0 20px 42px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .08); transform: translate(-50%, 8px); transition: opacity .18s ease, visibility .18s ease, transform .18s ease; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.slf-services-dropdown::before { content: ''; position: absolute; top: -17px; right: 0; left: 0; height: 18px; }
.slf-services-dropdown li { display: block; margin: 0 !important; }
.slf-services-dropdown a { display: flex; align-items: center; min-height: 42px; padding: 10px 13px; color: rgba(248, 246, 240, .9); border-radius: 9px; font-size: 12px; font-weight: 600; line-height: 1.35; letter-spacing: .01em; transition: color .18s ease, background .18s ease, padding-left .18s ease; }
.slf-services-dropdown a::before { content: ''; width: 5px; height: 5px; margin-right: 10px; background: #C99A32; border-radius: 50%; opacity: .8; }
.slf-services-dropdown a:hover { padding-left: 17px; color: #FFFFFF; background: rgba(201, 154, 50, .18); }

/* Higher specificity is required to replace the original template submenu skin. */
header.slf-floating-header #mainmenu .slf-services-nav > .slf-services-dropdown {
  width: 248px !important;
  padding: 9px !important;
  overflow: hidden !important;
  background: linear-gradient(145deg, rgba(24, 31, 27, .98), rgba(56, 70, 58, .98)) !important;
  border: 1px solid rgba(233, 238, 231, .22) !important;
  border-radius: 14px !important;
  box-shadow: 0 22px 45px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255, 255, 255, .1) !important;
}
header.slf-floating-header #mainmenu .slf-services-nav > .slf-services-dropdown li {
  width: 100% !important;
  border: 0 !important;
}
header.slf-floating-header #mainmenu .slf-services-nav > .slf-services-dropdown a {
  width: 100% !important;
  min-height: 44px !important;
  padding: 11px 13px !important;
  color: rgba(248, 246, 240, .92) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 8px !important;
}
header.slf-floating-header #mainmenu .slf-services-nav > .slf-services-dropdown a:hover {
  padding-left: 17px !important;
  color: #FFFFFF !important;
  background: rgba(201, 154, 50, .2) !important;
}
.slf-services-nav:hover > .slf-services-dropdown, .slf-services-nav:focus-within > .slf-services-dropdown, .slf-services-nav.is-open > .slf-services-dropdown { visibility: visible; opacity: 1; transform: translate(-50%, 0); }
.slf-services-nav:hover > .menu-item i, .slf-services-nav.is-open > .menu-item i { transform: rotate(180deg); }

/* Focused service pages */
.slf-service-hero { position: relative; display: flex; align-items: center; min-height: 620px; overflow: hidden; color: #FFFFFF; background-image: var(--service-image); background-position: center; background-size: cover; }
/* Service banners: explicit stylesheet paths keep them reliable on every page. */
.slf-service-hero[style*="residential"] { background-image: url('../images/slf-service-residential.png') !important; }
.slf-service-hero[style*="commercial"] { background-image: url('../images/slf-service-commercial.png') !important; }
.slf-service-hero[style*="construction"] { background-image: url('../images/slf-service-construction.png') !important; }
.slf-service-hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(22, 28, 24, .84), rgba(22, 28, 24, .58) 48%, rgba(22, 28, 24, .18)); }
.slf-service-hero .container { width: 100%; padding-top: 108px; }
.slf-service-hero h1 { max-width: 720px; margin-bottom: 22px; color: #FFFFFF; font-size: clamp(52px, 6.8vw, 88px); font-weight: 500; line-height: .94; letter-spacing: -.055em; text-transform: none; }
.slf-service-hero p { max-width: 510px; margin-bottom: 30px; color: rgba(255,255,255,.9); font-size: 18px; line-height: 1.65; }
.slf-service-detail { padding: 120px 0; background: #F8F6F0; }
.slf-service-detail h2 { max-width: 530px; font-size: clamp(36px, 4vw, 55px); line-height: 1.05; text-transform: none; }
.slf-service-detail p { max-width: 575px; color: #606A63; font-size: 16px; line-height: 1.85; }
.slf-service-image-wrap { position: relative; overflow: hidden; height: 410px; border-radius: 8px; box-shadow: 18px 18px 0 rgba(120, 133, 116, .15); }
.slf-service-image-wrap img { width: 100%; height: 100%; object-fit: cover; }
.slf-service-points { display: grid; gap: 11px; margin-top: 28px; color: #354134; font-weight: 600; }
.slf-service-points i { margin-right: 9px; color: #C99A32; font-size: 18px; vertical-align: -1px; }
.slf-service-cta { padding: 48px 0; background: #465645; color: #FFFFFF; }
.slf-service-cta .container { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.slf-service-cta .subtitle { color: #D7AE4A; }
.slf-service-cta h2 { margin: 0; color: #FFFFFF; font-size: clamp(30px, 3vw, 42px); text-transform: none; }
.slf-inclusions { padding: 105px 0; background: #E9EEE7; }
.slf-inclusions h2 { margin: 0; font-size: clamp(36px, 4vw, 54px); line-height: 1.04; text-transform: none; }
.slf-inclusions > .container > .row > .col-lg-5 > p { margin: 0; color: #606A63; line-height: 1.75; }
.slf-inclusion { height: 100%; padding: 32px 28px; background: #F8F6F0; border-top: 3px solid #C99A32; box-shadow: 0 10px 24px rgba(32,37,34,.06); }
.slf-inclusion i { display: inline-block; margin-bottom: 21px; color: #C99A32; font-size: 29px; }
.slf-inclusion h3 { margin-bottom: 10px; color: #202522; font-size: 23px; font-weight: 500; text-transform: none; }
.slf-inclusion p { margin: 0; color: #667069; line-height: 1.7; }

/* Contact page */
.slf-contact-hero { display: flex; align-items: end; min-height: 510px; padding: 135px 0 78px; color: #FFFFFF; background: linear-gradient(115deg, #202522, #465645); }
.slf-contact-hero h1 { margin: 0; color: #FFFFFF; font-size: clamp(50px, 6vw, 78px); font-weight: 500; line-height: .98; letter-spacing: -.055em; text-transform: none; }
.slf-contact-hero p { margin: 0 0 5px; color: rgba(255,255,255,.78); line-height: 1.75; }
.slf-contact-content { padding: 115px 0; background: #F8F6F0; }
.slf-contact-content h2 { font-size: clamp(38px, 4vw, 56px); line-height: 1.04; text-transform: none; }
.slf-contact-content > .container > .row > .col-lg-5 > p { max-width: 400px; color: #606A63; line-height: 1.8; }
.slf-contact-details { display: grid; gap: 13px; margin-top: 34px; }
.slf-contact-details > * { display: flex; align-items: center; gap: 14px; color: #202522; }
.slf-contact-details i { display: grid; flex: 0 0 45px; width: 45px; height: 45px; place-items: center; color: #C99A32; background: #E9EEE7; border-radius: 50%; font-size: 18px; }
.slf-contact-details span { display: grid; font-weight: 600; }
.slf-contact-details small { margin-bottom: 2px; color: #788574; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.slf-estimate-form { padding: 38px; background: #FFFFFF; border: 1px solid #E0E5DC; border-radius: 10px; box-shadow: 0 16px 38px rgba(32,37,34,.08); }
.slf-estimate-form label { display: block; margin: 0 0 7px; color: #354134; font-size: 12px; font-weight: 700; letter-spacing: .03em; }
.slf-estimate-form input, .slf-estimate-form select, .slf-estimate-form textarea { width: 100%; padding: 13px 14px; color: #202522; background: #F8F6F0; border: 1px solid #DCE2D8; border-radius: 5px; outline: 0; font-family: inherit; font-size: 14px; transition: border-color .2s ease, box-shadow .2s ease; }
.slf-estimate-form textarea { resize: vertical; }
.slf-estimate-form input:focus, .slf-estimate-form select:focus, .slf-estimate-form textarea:focus { border-color: #C99A32; box-shadow: 0 0 0 3px rgba(201,154,50,.12); }
.slf-contact-reassurance { padding: 72px 0; background: #E9EEE7; }
.slf-contact-reassurance i { color: #C99A32; font-size: 30px; }
.slf-contact-reassurance h3 { margin: 14px 0 7px; color: #202522; font-size: 21px; font-weight: 500; text-transform: none; }
.slf-contact-reassurance p { margin: 0; color: #606A63; }

.menu_side_area .btn-main {
  position: relative;
  min-width: 188px;
  padding: 11px 23px;
  overflow: hidden;
  border: 1px solid rgba(255, 234, 179, .55);
  border-radius: 10px;
  background: linear-gradient(135deg, #E1B84D 0%, #C99A32 48%, #A9771F 100%);
  color: #202522;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .055em;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .27), inset 0 1px 0 rgba(255, 255, 255, .42);
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}

.menu_side_area .btn-main:hover {
  background: linear-gradient(135deg, #EDCA68 0%, #D5A63C 50%, #B37E24 100%);
  color: #202522;
  filter: brightness(1.05);
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(0, 0, 0, .32), inset 0 1px 0 rgba(255, 255, 255, .5);
}

header.smaller {
  position: fixed;
  top: 0;
  background: rgba(24, 30, 26, .96);
  border-bottom: 1px solid rgba(248, 246, 240, .13);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .26);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

header.smaller .de-flex {
  min-height: 68px;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}

header.smaller div#logo a {
  width: 80px;
  height: 56px;
  padding: 2px;
  background: transparent;
  border: 0;
}

header.smaller div#logo img {
  max-width: 74px;
  max-height: 52px;
}

.slf-hero,
.slf-quality { min-height: 650px; display: flex; align-items: center; }

.slf-hero { isolation: isolate; }
.slf-inner-hero { min-height: 560px; display: flex; align-items: center; isolation: isolate; }
.slf-inner-hero h1 { max-width: 820px; font-size: clamp(48px, 6vw, 82px); line-height: .96; text-transform: none; }
.slf-inner-hero .lead { max-width: 650px; color: #FFFFFF; }
.slf-about-banner { min-height: 600px; display: flex; align-items: center; }
.slf-about-banner h1 { max-width: 850px; font-size: clamp(50px, 6vw, 82px); line-height: .96; text-transform: none; }
.slf-about-banner .container { width: 100%; }
.slf-about-banner .row { min-height: 600px; padding-top: 115px; padding-bottom: 70px; }
.slf-about-banner .crumb { margin-bottom: 0; }
.slf-about-banner p { max-width: 420px; color: #FFFFFF; font-size: 17px; line-height: 1.75; }
@media (max-width: 991px) { .slf-about-banner, .slf-about-banner .row { min-height: 540px; } .slf-about-banner .row { padding-top: 105px; } }

/* Original About-page layout: keep the image proportion compact. */
body:has(.slf-about-banner) main > section:nth-of-type(2) .rounded-1 {
  max-height: 410px;
  object-fit: cover;
  object-position: 72% 20%;
}

body:has(.slf-about-banner) main > section:nth-of-type(2) .btn-main {
  border-color: transparent;
}


.slf-hero-image,
.slf-quality-image {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  will-change: transform;
}

.slf-hero-overlay { position: absolute; inset: 0; background: rgba(32, 37, 34, .66); }
.slf-quality .slf-hero-overlay { background: rgba(32, 37, 34, .78); }
.min-vh-75 { min-height: 75vh; }

.slf-hero h1 { font-size: clamp(52px, 7vw, 94px); line-height: .95; text-transform: none; }
.slf-hero .lead { max-width: 620px; color: #FFFFFF; }
.slf-btn-outline {
  color: #F8F6F0 !important;
  background: rgba(24, 30, 26, .34) !important;
  border-color: rgba(248, 246, 240, .56) !important;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .13) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.slf-btn-outline:hover {
  color: #202522 !important;
  background: #F8F6F0 !important;
  border-color: #F8F6F0 !important;
}

.slf-about { position: relative; padding: 110px 0; background: linear-gradient(90deg, #EEF2EC 0%, #F8F6F0 58%); overflow: hidden; }
.slf-about::before { content: ''; position: absolute; top: 0; right: 7%; width: 180px; height: 3px; background: #C99A32; }
.slf-about .row { position: relative; }
.slf-about .col-lg-5 { position: relative; }
.slf-about .col-lg-5::before { content: ''; position: absolute; top: -15px; left: -15px; width: 52%; height: 46%; border-top: 2px solid #C99A32; border-left: 2px solid #C99A32; }
.slf-about-image { position: relative; z-index: 1; height: 540px; object-fit: cover; object-position: center; border-radius: 2px !important; box-shadow: 20px 20px 0 rgba(120, 133, 116, .16); }
.slf-about .subtitle { color: #788574; font-size: 13px; font-weight: 700; letter-spacing: .12em; }
.slf-about h2 { max-width: 650px; margin-bottom: 24px; font-size: clamp(38px, 3.15vw, 58px); line-height: 1.02; text-transform: none; }
.slf-about p { max-width: 680px; font-size: 17px; line-height: 1.8; }
.slf-about .row.mt-2 { margin-top: 30px !important; }
.slf-about .col-sm-4 { border-right: 0; }
.slf-stat { min-height: 72px; padding: 5px 12px 5px 17px; border-left: 3px solid #C99A32; display: flex; flex-direction: column; justify-content: center; }

.slf-before-after {
  position: relative;
  height: 300px;
  overflow: hidden;
  border: 1px solid #E0E5DE;
  border-radius: 14px;
  background: #E9EEE7;
  box-shadow: 0 14px 28px rgba(32, 37, 34, .08);
  cursor: ew-resize;
  touch-action: none;
}

.slf-result-empty {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  background-size: cover;
}

.slf-result-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.slf-result-empty span { font-size: 21px; font-weight: 700; }
.slf-result-empty small { font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.slf-before-empty { color: #F8F6F0; background: linear-gradient(135deg, #697169, #303B34); }
.slf-after-empty { color: #202522; background: linear-gradient(135deg, #EAD594, #C99A32); }

.slf-after-layer {
  position: absolute;
  inset: 0;
  clip-path: inset(0 0 0 50%);
}

.slf-ba-divider {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background: rgba(255, 255, 255, .95);
  transform: translateX(-50%);
}

.slf-ba-handle {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  width: 44px;
  height: 44px;
  padding: 0;
  color: #202522;
  background: #F8F6F0;
  border: 2px solid #C99A32;
  border-radius: 50%;
  box-shadow: 0 8px 18px rgba(32, 37, 34, .22);
  transform: translate(-50%, -50%);
}

.slf-ba-label {
  position: absolute;
  z-index: 3;
  top: 15px;
  padding: 6px 11px;
  border-radius: 5px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.slf-ba-before-label { left: 15px; color: #FFFFFF; background: rgba(32, 37, 34, .65); }
.slf-ba-after-label { right: 15px; color: #202522; background: rgba(248, 246, 240, .9); }
.slf-stat strong { color: #202522; font-size: 23px; line-height: 1.1; }
.slf-stat span { margin-top: 6px; color: #667069; font-size: 14px; }

.slf-service-card { background: #FFFFFF; box-shadow: 0 12px 28px rgba(32, 37, 34, .08); }
.slf-service-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(120, 133, 116, .13);
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(32, 37, 34, .075);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

#services .row.g-4 { counter-reset: service-card; }
#services .slf-service-card { counter-increment: service-card; }

.slf-service-card img {
  height: 250px;
  object-fit: cover;
  transition: transform .5s cubic-bezier(.2, .8, .2, 1), filter .35s ease;
}

.slf-service-card .p-4 { position: relative; padding: 30px !important; }
.slf-service-card .p-4::before {
  content: "0" counter(service-card);
  position: absolute;
  top: -22px;
  right: 22px;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  color: #202522;
  background: #E7C05C;
  border: 4px solid #FFFFFF;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
}

.slf-service-card h3 {
  margin-bottom: 14px;
  color: #202522;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -.03em;
  line-height: 1.15;
  text-transform: none;
}

.slf-service-card p { min-height: 88px; margin-bottom: 21px; color: #606A63; line-height: 1.75; }
.slf-service-card a.id-color { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.slf-service-card a.id-color i { font-size: 18px; transition: transform .2s ease; }

.slf-service-card:hover { border-color: rgba(201, 154, 50, .58); box-shadow: 0 18px 40px rgba(32, 37, 34, .13); transform: translateY(-6px); }
.slf-service-card:hover img { filter: saturate(.92) contrast(1.03); transform: scale(1.045); }
.slf-service-card:hover a.id-color i { transform: translateX(4px); }
.slf-service-commercial-image { object-position: 32% center; }
.slf-service-construction-image { object-position: 62% center; }
.slf-service-card h3, .slf-trust-card h3 { color: #202522; }

.slf-process { position: relative; padding: 110px 0; overflow: hidden; background: #F8F2E2; }
.slf-process::before { content: ''; position: absolute; left: 0; right: 0; top: 53%; height: 1px; background: rgba(120, 133, 116, .22); }
.slf-process .row.justify-content-center.g-4 { position: relative; }
.slf-step { position: relative; height: 100%; padding: 44px 30px 32px; text-align: center; background: #FFFFFF; border: 1px solid #E3E6DE; border-radius: 10px; box-shadow: 0 10px 24px rgba(32, 37, 34, .06); transition: transform .25s ease, box-shadow .25s ease; }
.slf-step::before { content: ''; position: absolute; top: -9px; left: 50%; width: 18px; height: 18px; background: #C99A32; border: 4px solid #F8F2E2; border-radius: 50%; transform: translateX(-50%); }
.slf-step i { display: grid; width: 62px; height: 62px; margin: 0 auto 20px; place-items: center; color: #465645; background: #EEF2EC; border: 1px solid #D7E0D4; border-radius: 50%; font-size: 28px; }
.slf-step-number { margin-bottom: 14px; color: #C99A32; font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.slf-step h3 { margin-bottom: 12px; color: #202522; font-size: 23px; font-weight: 500; letter-spacing: -.02em; text-transform: none; }
.slf-step p { margin: 0; color: #667069; line-height: 1.75; }
.slf-step:hover { box-shadow: 0 16px 32px rgba(32, 37, 34, .11); transform: translateY(-5px); }

@media (max-width: 991px) {
  .slf-services-nav > .menu-item { display: flex !important; align-items: center; justify-content: space-between; }
  .slf-services-dropdown,
  .slf-services-nav:hover > .slf-services-dropdown,
  .slf-services-nav:focus-within > .slf-services-dropdown,
  .slf-services-nav.is-open > .slf-services-dropdown { position: static; display: none !important; width: 100%; margin: 0; padding: 2px 0 8px 10px; visibility: visible; opacity: 1; background: transparent; border: 0; border-radius: 0; box-shadow: none; transform: none; backdrop-filter: none; }
  .slf-services-nav.is-open > .slf-services-dropdown { display: block !important; }
  .slf-services-dropdown::before { display: none; }
  .slf-services-dropdown a { padding: 9px 10px; color: rgba(248, 246, 240, .78); font-size: 12px; }
  .slf-services-dropdown a:hover { color: #D7AE4A; background: transparent; }
  .slf-service-hero { min-height: 540px; }
  .slf-service-detail { padding: 80px 0; }
  .slf-service-image-wrap { height: 360px; }
  .slf-service-cta .container { align-items: flex-start; flex-direction: column; }
  .slf-process::before { display: none; }
}

.slf-quality { min-height: 440px; padding: 100px 0; }
.slf-quality h2, .slf-quality p { color: #FFFFFF; }
.d-stars { color: #C99A32; }

.slf-trust-card { height: 100%; display: flex; gap: 18px; padding: 30px; border: 1px solid #D6DED2; background: #F8F6F0; }
.slf-trust-card span { color: #C99A32; font-weight: 700; font-size: 18px; }
.slf-trust-card p { margin-bottom: 0; }

.slf-cta { background: #465645; color: #FFFFFF; padding: 38px 0; }
.slf-cta h2 { color: #FFFFFF; text-transform: none; }
.slf-cta .slf-btn-outline { background: rgba(248, 246, 240, .12) !important; }
.slf-cta .slf-btn-outline:hover { background: #F8F6F0 !important; color: #202522 !important; border-color: #F8F6F0 !important; }

footer a { color: #E9EEE7; }
footer a:hover { color: #C99A32; }

.slf-footer {
  position: relative;
  overflow: hidden;
  padding-top: 78px;
  background: #202522;
}

.slf-footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #C99A32;
}

.slf-footer::after {
  content: '';
  position: absolute;
  top: -180px;
  right: -120px;
  width: 430px;
  height: 430px;
  border: 1px solid rgba(201, 154, 50, .14);
  border-radius: 50%;
  box-shadow: 0 0 0 48px rgba(201, 154, 50, .035), 0 0 0 96px rgba(201, 154, 50, .025);
  pointer-events: none;
}

.slf-footer .container { position: relative; z-index: 1; }
.slf-footer img { max-width: 150px; filter: brightness(0) invert(94%) sepia(10%) saturate(469%) hue-rotate(356deg) brightness(106%) contrast(95%); }
.slf-footer h3 { margin-bottom: 18px; color: #FFFFFF; font-size: 15px; letter-spacing: .05em; text-transform: uppercase; }
.slf-footer p { max-width: 320px; color: rgba(233, 238, 231, .7); }
.slf-footer li { margin: 0 0 8px; color: rgba(233, 238, 231, .7); }
.slf-footer li a { position: relative; transition: color .2s ease, padding-left .2s ease; }
.slf-footer li a:hover { padding-left: 5px; }

.slf-footer .subfooter {
  margin-top: 52px;
  padding: 20px 0;
  color: rgba(233, 238, 231, .62);
  background: rgba(0, 0, 0, .16);
  border-top: 1px solid rgba(233, 238, 231, .1);
  font-size: 13px;
}

.slf-powered { margin-left: 6px; }
.slf-powered a { color: #D7AE4A; font-weight: 600; }

@media (max-width: 767px) {
  .slf-footer { padding-top: 58px; }
  .slf-footer .subfooter { margin-top: 30px; line-height: 1.8; }
  .slf-powered { display: block; margin-left: 0; }
}

@media (max-width: 991px) {
  header.header-mobile.slf-floating-header {
    position: absolute !important;
    top: 12px !important;
    overflow: visible !important;
  }
  .slf-floating-header .container { width: 100%; max-width: none; min-width: 0; padding-left: 16px; padding-right: 16px; box-sizing: border-box; }
  .slf-floating-header .de-flex { min-height: 66px; padding: 0 14px; border-radius: 16px; }
  header .de-flex { min-height: 66px; }
  header div#logo a { width: 82px; height: 58px; }
  header div#logo img { max-width: 75px; max-height: 52px; }
  .slf-hero, .slf-quality { min-height: 540px; }
  .slf-about, #results, #why-us, .slf-process { padding: 70px 0; }
  .slf-about-image { height: 420px; }
  .slf-about .col-lg-5::before { top: -10px; left: -10px; }
}

@media (max-width: 575px) {
  .slf-about h2 { font-size: 36px; }
  .slf-about .col-sm-4 { margin-bottom: 14px; border-right: 0; }
  .slf-about-image { height: 360px; box-shadow: 12px 12px 0 rgba(120, 133, 116, .16); }
}

/* Phone and tablet navigation */
@media (max-width: 991px) {
  /* Remove the original template's mobile submenu control. */
  header.header-mobile.slf-floating-header #mainmenu .slf-services-nav::after,
  header.header-mobile.slf-floating-header #mainmenu .slf-services-nav > a::after { display: none !important; content: none !important; }
  header.header-mobile.slf-floating-header #mainmenu .slf-services-nav > .menu-item i { display: inline-block !important; margin-left: auto; color: #C99A32; font-size: 11px; }
  header.header-mobile.slf-floating-header #mainmenu .slf-services-nav { overflow: visible; }
  header.header-mobile.slf-floating-header #mainmenu .slf-services-dropdown,
  header.header-mobile.slf-floating-header #mainmenu .slf-services-nav.is-open > .slf-services-dropdown {
    position: static !important;
    display: none !important;
    width: auto !important;
    margin: 0 6px 8px !important;
    padding: 5px !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: rgba(248, 246, 240, .08) !important;
    border: 1px solid rgba(248, 246, 240, .12) !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    transform: none !important;
  }
  header.header-mobile.slf-floating-header #mainmenu .slf-services-nav.is-open > .slf-services-dropdown { display: block !important; }
  header.header-mobile.slf-floating-header #mainmenu .slf-services-dropdown li { width: 100% !important; border: 0 !important; }
  header.header-mobile.slf-floating-header #mainmenu .slf-services-dropdown a { display: block !important; min-height: auto !important; padding: 9px 10px !important; color: rgba(248, 246, 240, .82) !important; font-size: 12px !important; background: transparent !important; }
  header.header-mobile.slf-floating-header #mainmenu .slf-services-dropdown a::before { display: inline-block; content: 'â€¢'; margin-right: 8px; color: #C99A32; }
  header.header-mobile.slf-floating-header #mainmenu .slf-services-dropdown a:hover { padding-left: 10px !important; color: #D7AE4A !important; }
  header.header-mobile.slf-floating-header,
  header.header-mobile.slf-floating-header.fixed {
    display: block !important;
    height: auto;
    margin: 0;
    padding: 0;
    background: transparent !important;
  }

  header.header-mobile.slf-floating-header .menu_side_area {
    display: flex;
    align-items: center;
    width: auto;
    margin: 0;
    text-align: left;
  }

  .slf-floating-header .menu_side_area .btn-main { display: none !important; }

  header.header-mobile.slf-floating-header #menu-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    float: none;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    color: #F8F6F0;
    background: rgba(248, 246, 240, .12);
    border: 1px solid rgba(248, 246, 240, .26);
    border-radius: 11px;
  }

  header.header-mobile.slf-floating-header #menu-btn:before {
    font-size: 18px;
    line-height: 1;
  }

  header.header-mobile.slf-floating-header #mainmenu {
    display: none;
    position: fixed !important;
    top: 88px !important;
    right: 16px !important;
    left: 16px !important;
    z-index: 1010;
    width: auto !important;
    height: auto !important;
    max-height: calc(100vh - 104px);
    margin: 0 !important;
    padding: 10px !important;
    overflow-y: auto !important;
    background: rgba(24, 30, 26, .97);
    border: 1px solid rgba(248, 246, 240, .16);
    border-radius: 14px;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .3);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }

  header.header-mobile.slf-floating-header.menu-open #mainmenu { display: block; }

  header.header-mobile.slf-floating-header .header-col-mid,
  header.header-mobile.slf-floating-header .de-flex { overflow: visible; }

  header.header-mobile.slf-floating-header #mainmenu > li {
    margin: 0;
    border-bottom: 1px solid rgba(248, 246, 240, .1);
  }

  header.header-mobile.slf-floating-header #mainmenu > li:last-child { border-bottom: 0; }

  header.header-mobile.slf-floating-header #mainmenu > li > a.menu-item {
    padding: 12px 10px;
    color: #F8F6F0;
    font-size: 13px;
    font-weight: 600;
  }

  header.header-mobile.slf-floating-header.smaller {
    position: fixed !important;
    top: 0;
    background: rgba(24, 30, 26, .97) !important;
  }

  header.header-mobile.slf-floating-header.smaller .container { padding: 0 16px; }
  header.header-mobile.slf-floating-header.smaller .de-flex { min-height: 62px; border-radius: 0; }
  header.header-mobile.slf-floating-header.smaller #mainmenu { top: 74px !important; max-height: calc(100vh - 86px); }
}

/* Final mobile reset for the custom Services menu (must follow template navigation rules). */
@media (max-width: 991px) {
  header.header-mobile.slf-floating-header #mainmenu > li.slf-services-nav::after,
  header.header-mobile.slf-floating-header #mainmenu > li.slf-services-nav > a::after,
  header.header-mobile.slf-floating-header #mainmenu > li.slf-services-nav > ul::before,
  header.header-mobile.slf-floating-header #mainmenu > li.slf-services-nav > ul::after,
  header.header-mobile.slf-floating-header #mainmenu > li.slf-services-nav > ul a::before,
  header.header-mobile.slf-floating-header #mainmenu > li.slf-services-nav > ul a::after {
    display: none !important;
    content: none !important;
  }

  header.header-mobile.slf-floating-header #mainmenu > li.slf-services-nav > a.menu-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
  }

  header.header-mobile.slf-floating-header #mainmenu > li.slf-services-nav > a.menu-item i {
    display: inline-block !important;
    margin-left: auto !important;
    color: #C99A32 !important;
    transform: none !important;
  }

  header.header-mobile.slf-floating-header #mainmenu > li.slf-services-nav.is-open > a.menu-item i { transform: rotate(180deg) !important; }

  header.header-mobile.slf-floating-header #mainmenu > li.slf-services-nav > ul.slf-services-dropdown {
    position: static !important;
    float: none !important;
    clear: both !important;
    display: none !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 8px 8px !important;
    padding: 5px !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: hidden !important;
    background: rgba(248, 246, 240, .07) !important;
    border: 1px solid rgba(248, 246, 240, .12) !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    transform: none !important;
  }

  header.header-mobile.slf-floating-header #mainmenu > li.slf-services-nav.is-open > ul.slf-services-dropdown { display: block !important; }

  header.header-mobile.slf-floating-header #mainmenu > li.slf-services-nav > ul.slf-services-dropdown > li {
    display: block !important;
    float: none !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  header.header-mobile.slf-floating-header #mainmenu > li.slf-services-nav > ul.slf-services-dropdown > li > a {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 9px 10px !important;
    color: rgba(248, 246, 240, .82) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    text-indent: 0 !important;
  }
}
