
/******************/
/******************/
/******************/
/*div, ul, li, p, a {border:1px solid #007bff;}*/


/* =========================
Theme variables
========================= */
:root {
--font: 'Nunito', 'Segoe UI', Roboto, Arial, sans-serif;
--font-heading: 'Overlock', 'Segoe UI', sans-serif;
--font-script: 'Parisienne', 'Segoe UI', sans-serif;
--font-ui: 'Inter', system-ui, sans-serif;
--primary-color: #1f1f1f; /*alt 121212*/
--secondary-color: #303030;
--white-color: #f1f1f1;
--card-bg: var(--secondary-color);
--card-bg-hover:rgba(255, 255, 255, 0.06);
--card-font: var(--white-color);

--card-border: rgba(255,255,255,0.02);
--card-shadow: 0 6px 20px rgba(0, 0, 0, 0.7);
--card-shadow-hover: 0 6px 20px rgba(0, 0, 0, 0.7);
--accent-color: #77cc00 ; /*88cc00*/ /*a6d608*/      /* 82bc00 is greenworks*/
--secondary-accent-color:#cfcd95;
--link-color:var(--accent-color);
--link-hover: var(--secondary-accent-color);
--header-color: var(--secondary-accent-color);
--color:var(--white-color);


}
/*purple
#8224e3*/
/*--green options
A6D608
8FD400
82BC00
9ACD32g
00FF7F
0bda51
--->*/
/*Resets*/
*,
*::before,
*::after {
box-sizing: border-box;
}
html, body {
margin:0;
padding:0;
font-family: var(--font);
color: inherit;
  font-size: 18px;
}

body {
	 display: flex;            
  flex-direction: column;  
  min-height: 100vh;        
margin: 0;        
font-size: 1rem;
font-family: var(--font);    
background-color: var(--primary-color); 
}

a {
color: var(--link-color);
text-decoration: none;
transition: color 0.2s ease;
font-style: normal;
}
a:hover {
color: var(--link-hover);
text-decoration: underline;
}
a:active {
opacity: 0.8;
}
h1, h2, h3, h4, h5, h6 {
color:inherit;
font-family:var(--font-heading);
}

button,
input,
textarea,
select {
  font-family: inherit;
}
h1 { 
font-size: clamp(1.8rem, 4vw, 2.8rem); 
color: var(--header-color); 
	    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);}
h2 { 
font-size: clamp(1.5rem, 3vw, 2.3rem); 
color: var(--header-color); 
	    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);}
h3 { 
font-size: clamp(1.3rem, 2.2vw, 1.8rem);  
color: var(--header-color);
	    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);}
h4 { 
font-size: clamp(1.2rem, 1.8vw, 1.4rem);  
color: var(--header-color);
	    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);}
h5 { 
font-size: 1.1rem;font-weight:bold; 
color: var(--header-color);
	    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);}
p  { 
font-size: 1rem; }

.full-width {
          flex: 1 1 100%;
}
.centered {
margin:0 auto;
}
.right-aligned {
margin-left: auto;
text-align:right;
}

.left-aligned { 
margin-right:auto;
text-align:left;
}
.relative {
	position:relative;
}
	
	

.glass{
border: 1px solid rgba(255,255,255,0.08);

box-shadow:
  0 0 8px rgba(255,255,255,0.08);

 box-shadow: inset 0 0 15px rgba(135, 135, 135, .1), 0 0 18px 3px rgba(0, 0, 0, .3);

  backdrop-filter:blur(2px);
  
}


	
.dark-glass{
border: 1px solid rgba(0,0,0,0.08);

background-color:rgba(0,0,0,.2);box-shadow:
  0 0 8px rgba(255,255,255,0.08);

 box-shadow: inset 0 0 15px rgba(135, 135, 135, .1), 0 0 18px 3px rgba(0, 0, 0, .3);

  backdrop-filter:blur(2px);
  
  
}


.fade-right {
  position: relative;
  overflow: hidden;
  margin:0;
}

.fade-right::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;

  background: linear-gradient(
    to right,
    rgba(18,18,18,0) 0%,
    rgba(18,18,18,0) 55%,
    rgba(18,18,18,0.35) 70%,
    rgba(18,18,18,0.75) 85%,
    rgba(18,18,18,1) 100%
  );
  z-index:999;
}

.btn-primary, #cta-btns .btn-primary {

background-color: var(--accent-color);
color: var(--primary-color);
font-weight: 700;
box-shadow:0 4px 10px rgba(0, 0, 0, 0.15);
margin:0 5px;



background: linear-gradient(
  to bottom,
  color-mix(in srgb, var(--accent-color) 50%, white),
  var(--accent-color)
);

}


.btn {
    display:inline-flex;
text-decoration:none;
align-items: center;
white-space: nowrap;
  border-radius: 20px;  
  padding: 14px 24px;

justify-content: center;
}


.btn-primary:hover, #cta-btns .btn-primary:hover{
box-shadow: 0px 0px 5px 1px var(--accent-color);
  background: var(--primary-color); 
  color: var(--accent-color);
 
}

.btn-primary:active, #cta-btns .btn-pimary:active {
transform: translateY(0);
box-shadow:0 3px 8px rgba(0, 0, 0, 0.2);
}
/* Secondary button */
.btn-secondary, #cta-btns .btn-secondary {
  background: rgba(20,20,20,0.35);
  backdrop-filter: blur(2px);
  border: 1px solid rgba(255,255,255,0.15);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.35),
    inset 0 1px 0 rgba(255,255,255,0.06);
  color: var(--white-color);
}



.btn-secondary:hover, #cta-btns .btn-secondary:hover {
  box-shadow: 0px 0px 5px 1px var(--accent-color);
  background: var(--primary-color); 
  color: var(--accent-color);
  text-decoration:none;
}

.btn-pay, #cta-btns .btn-pay {
	background-color:rgba(20,20,20,0.75);
box-shadow: 0px 0px 5px 1px #1f1f1f;
border:1px solid #77cc00;
color:#f1f1f1;
font-weight:bold;
}

    .btn-secondary-dark-bg {
      color: var(--text-main);
      background: rgba(255, 255, 255, 0.07);
      border: 1px solid rgba(255, 255, 255, 0.14);
    }
/* =========================
Top Bar
========================= */
#topbar {
	  align-items: center;
background: var(--primary-color);
display:flex;
justify-content:space-between;
padding:10px 10px 0 10px;
}
.topbar-item {
display: flex;
flex-direction: row;
padding: 0 20px;
}
.topbar-item a {
color:var(--white-color);
}
.topbar-item a:hover {
color:var(--accent-color);
}
.social-wrapper {
margin-left:auto;
}
.fa-phone-alt {
  transform: scaleX(-1);
}
.social-media-icons li {
display:inline-block;
margin-right: 20px;
}
.social-media-icons li a:hover {
color: var(--accent-color);
 fill: var(--accent-color);
}


.divider {  width: 100%;
  height: 4px;
  margin:10px;
  background-image: radial-gradient(
    ellipse 50% 4px at center,
    rgba(255,255,255,1) 0%,
    rgba(255,235,120,0.9) 15%,
    rgba(166,214,8,0.6) 35%,
    rgba(120,160,0,0.4) 60%,
    transparent 100%
  );
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 100% 4px;
}

.full-width-divider { 
  height: 4px;
  margin:50px 0;
   background: linear-gradient(
    to right,
    rgba(166,214,8,0.9) 0%,
    rgba(255,235,120,1) 50%,
    rgba(166,214,8,0.9) 100%
  );
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 100% 4px;

  mask-image: radial-gradient(
    ellipse 60% 100% at center,
    black 70%,
    transparent 100%
  );

  box-shadow:
    0 0 6px rgba(166,214,8,0.35),
    0 0 12px rgba(166,214,8,0.2);
}


.divider-vertical {
  width: 6px;
  height: 100%;

  background: linear-gradient(
    to bottom,
    rgba(207,205,149,1) 0%,
    rgba(255,248,54,1) 20%,
    rgba(136,204,0,1) 50%,
    rgba(255,248,54,1) 80%,
    rgba(207,205,149,1) 100%
  );

  clip-path: polygon(
    50% 1%,   /* was 0% */
    70% 10%,
    100% 50%,
    70% 90%,
    50% 99%,  /* was 100% */
    30% 90%,
    0% 50%,
    30% 10%
  );
}




.sun-divider-before::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  pointer-events: none;
z-index:50;
  background: radial-gradient(
    ellipse 50% 4px at center,
    rgba(255,255,255,1) 0%,
    rgba(255,235,120,0.9) 15%,
    rgba(166,214,8,0.6) 35%,
    rgba(120,160,0,0.4) 60%,
    transparent 100%
  );

  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 4px;
}

.sun-divider-after::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  pointer-events: none;

  background: radial-gradient(
    ellipse 50% 4px at center,
    rgba(255,255,255,1) 0%,
    rgba(255,235,120,0.9) 15%,
    rgba(166,214,8,0.6) 35%,
    rgba(120,160,0,0.4) 60%,
    transparent 100%
  );

  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 4px;
}
.sun-horizon {

  z-index:2;
	padding-bottom:30px;

}

.sun-horizon::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 28px;
  pointer-events: none;

  background:
    radial-gradient(
      ellipse 60% 12px at center bottom,
      rgba(255,255,255,1) 0%,
      rgba(255,235,120,0.9) 15%,
      rgba(166,214,8,1) 35%,
      rgba(120,160,0,0.6) 60%,
      rgba(120,160,0,0.1) 70%,
      transparent 80%
    ),
    linear-gradient(
      to right,
      transparent 0%,
      rgba(166,214,8,0.4) 20%,
      #a6d608 50%,
      rgba(166,214,8,0.4) 80%,
      transparent 100%
    );

  background-repeat: no-repeat;
  background-position: center bottom, center bottom;

  /* Responsive width */
  background-size: min(90vw, 1200px) 28px, 100% 2px;
}.sun-horizon::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:28px;
  pointer-events:none;

  background: radial-gradient(
    ellipse 50% 12px at center top,
    rgba(255,255,255,1) 0%,
    rgba(255,235,120,0.9) 15%,
    rgba(166,214,8,1) 35%,
    rgba(120,160,0,0.6) 60%,
    rgba(120,160,0,0.25) 75%,
    transparent 100%
  );

  background-repeat:no-repeat;
  background-position:center top;

  background-size: min(90vw, 1200px) 28px;
}

.footer-banner {
  position: absolute;
  inset: 0;
  z-index: 1;

  background:
    linear-gradient(
      to top,
      rgba(0,0,0,0) 0%,          /* fully visible grass at bottom */
      rgba(0,0,0,0.2) 75%,
      rgba(0,0,0,0.5) 85%,
      rgba(0,0,0,0.8) 90%,
      rgba(0,0,0,.9) 100%         /* fully hidden at top */
    ),
    url('../img/grass-footer-banner.webp');

  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: cover;
}

.italic {
    font-style:italic;
}

.white-color {
	color:var(--white-color);
}
.accent-color {
	color:var(--accent-color);
}

.thin
{
    font-weight:400;}
.bold {
font-weight:600;
}
.thick {
    font-weight:900;
}
.text-tagline {
    font-size:15px;
color: rgba(255,255,255,0.7);
margin:0;
}

.sub-text-tagline {
  font-size: 13px;
  color: rgba(255,255,255,0.5);
line-height:2;
}
.row {
	display:flex;
flex-direction:row;}
.column {
	display:flex;
flex-direction:column;}


.skip-link {
    position: absolute;
    top: -40px;
    left: 10px;
    background: #000;
    color: #fff;
    padding: 8px 12px;
    z-index: 10000;
}

.skip-link:focus {
    top: 10px;
}



/************************/
/*******Headwrapper***********/
/************************/ 

/* =========================
Header
========================= */
#header {
display: flex;
align-items: center;
justify-content: space-between;
padding: clamp(0px, 2vw, 28px);
height: clamp(55px, 11vh, 112px);
position:relative;
z-index:10000;
}


#site-branding {
flex: 1 1 auto;
min-width:auto;
display:flex;
flex-direction:row;
align-items:center;
}

#site-branding .custom-logo {
height: clamp(55px, 10vh, 96px);  
width: auto;
display:block;
object-fit: contain;
}

.site-logo {
display:flex;
flex:1 1 auto;
min-width:auto;
flex-direction:column;
line-height:1.1;
}

.logo-seasons {
color: var(--white-color);
}

.logo-basics {
color: var(--accent-color);
}

.site-title {
font-size: clamp(1.8rem, 4vw, 2.8rem);
line-height:1.1;

}
.site-title a:hover{
	
text-decoration:none;}

.site-tagline {
color: var(--accent-color);
font-style: italic;
font-weight: 600;
min-width: 0; 
max-width: clamp(140px, 25vw, 320px);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}


.headwrapper {

position: relative;
/*min-height: clamp(400px, 40vw, 600px);*/
}
.headwrapper::before {
content: "";
position: absolute;
inset: 0;
background-image: var(--hero-image);
background-position: bottom right;
background-size: cover;
background-repeat: no-repeat;
z-index: 0;
}

.headwrapper::after {
content: "";
position: absolute;
inset: 0;
background:
linear-gradient(
to right,
rgba(0,0,0, calc(0.85 + var(--hero-overlay))) 0%,
rgba(0,0,0, calc(0.65 + var(--hero-overlay))) 25%,
rgba(0,0,0, calc(0.35 + var(--hero-overlay))) 45%,
rgba(0,0,0, calc(0.10 + var(--hero-overlay))) 65%,
rgba(0,0,0, calc(0.00 + var(--hero-overlay))) 100%
),
linear-gradient(
to top,
rgba(0,0,0, calc(0.80 + var(--hero-overlay))) 0%,
rgba(0,0,0, calc(0.40 + var(--hero-overlay))) 25%,
rgba(0,0,0, calc(0.00 + var(--hero-overlay))) 60%
);

pointer-events: none;
z-index: 1;

}
.hero {
position: relative;
z-index: 2;
min-height: clamp(200px, 40vw, 600px);
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
}


.hero-left {
position: relative;
z-index: 2;
max-width: 900px;
padding-left: 6vw;
color: var(--white-color);
}

.hero-title {
font-weight: 700;
line-height: 1.1;
margin-bottom: 20px;
color:var(--accent-color);
}

.hero-highlight {
color: var(--secondary-accent-color);
font-weight: 600;
margin-bottom: 10px;
}

.hero-sub {
margin-bottom: 30px;
}

.hero-buttons {
display: flex;
gap: 15px;
flex-wrap: wrap;
margin-bottom:2vh;
}
.hero-right{
display:flex;
justify-content:flex-end;
padding-right:6vw;
z-index:2;
}




/* =========================
Site-Header-Right
========================= */
#site-header-right {
flex: 0 0 auto;
display: flex;
align-items: center;
}







.cta-buttons {
justify-content:center;
gap:20px;
padding:20px;}




/* =========================
Desktop Search
========================= */
#search-toggle-icon {
all: unset;
background: none;
border: none;
color: var(--white-color);
font-size:25px;
cursor: pointer;
padding: 10px;
}

#search-toggle-icon:hover {
color: var(--accent-color);
}

#site-search {
position: relative;
display: flex;
align-items: center;
overflow: visible;
}
#header.search-active #site-search .search-form-wrapper {
width: 700px;
opacity: 1;
}

.search-form-wrapper {
position: absolute;
top: 50%;
right: 100%; 
transform: translateY(-50%);
width: 0;
overflow: hidden;
opacity: 0;
transition: width 0.4s ease, opacity 0.3s ease;
}

.search-field {
background: transparent;
border: 1px solid rgba(255,255,255,0.15);
border-radius: 8px;
padding: 16px 12px;
color: var(--white-color);
outline: none;
transition: background 0.5s ease, border-color 0.5s ease, box-shadow .5s ease;
}

.search-field::placeholder {
color: rgba(255,255,255,0.5);
}

.search-field:focus {
border-color: var(--accent-color);
box-shadow: 0 0 0 3px rgba(166, 214, 8, 0.2);
background: var(--secondary-color);
width:100%;
}



/************************/
/*******KDStyles***********/
/************************/ 
.visually-hidden {
  position: absolute;
  left: -9999px;
}

.accent-border-focus:focus {
	    border-color: var(--accent-color);
box-shadow: 0 0 0 2px rgba(166, 214, 8, 0.2);}

.svg-icon {
  width: 1.2em;
  height: 1.2em;
  fill: currentColor;
  vertical-align: middle;
  display: inline-block;
}

.sms-icon {
transform: translateY(-2px);}

.mowing {}
.trimming {}
.blowing {}
.edging {display:none !important;}

.yard-cleanup {}
.mulching {}
.brush-clearing {}

.pressure-washing {display:none !important;}
.gutter-cleaning {display:none !important;}

.exterior-services {display:none !important;}
.seasonal-services {}

/* =========================
Services Section
========================= */
.container {
  position: relative;  
background: linear-gradient(
  to bottom,
  #1f1f1f 0%,
  #1a2a1a 40%,
  #121212 100%
);
  color: var(--white-color);
  text-align: center;
flex:1;

}

.grass-bg {
	
  background-repeat: repeat;
  background-size: auto;
background-position: top left;}





.container-inner {
position: relative;
z-index: 2;
margin: 0 auto;
    padding: 3vw 2vw;
}

.card {
	
background: rgba(7, 7, 7, 0.45);
backdrop-filter: blur(2px);
border-radius: 10px;
border: 1px solid rgba(166, 214, 8, 0.15); 

  box-shadow:
    0 -3px 16px rgba(0,0,0,0.55),      /* slight top shadow */
    0 0 0 1px rgba(166,214,8,0.22),   /* green rim */
    0 0 0 2px rgba(255,255,255,0.035),/* subtle highlight */
    0 28px 40px rgba(0,0,0,0.95),     /* main shadow (tighter) */
    0 10px 25px rgba(0,0,0,0.8),      /* secondary depth */
    0 0 18px rgba(166,214,8,0.05);    /* ambient green glow */



	/*margin-bottom:clamp(20px, 1rem, 60px);*/
background-clip: padding-box;
}

section.card {min-height:6vw;
padding: clamp(20px, 1vw, 60px);
margin: 6vh auto;
}
.container-header {
letter-spacing: 0.5px;
position:relative;
}

.container-header h2{
text-transform:uppercase;
margin-bottom:20px;
}

/*********************************************************/
/*****************FRONT PAGE SPECIFIC*********************/
/*********************************************************/
#front-page-services {
display:none;}

.front-page-services-grid {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 40px;
padding:0 30px;
}

.front-page-services-card {
max-width: 320px;
max-height: 420px;
border-radius: 18px;
padding: 25px 20px;
transition: all 0.35s ease; 
margin-bottom:20px;
}

.front-page-services-card:hover {
background-color: color-mix(in srgb, var(--primary-color) 60%, transparent);
border-color: color-mix(in srgb, var(--accent-color) 70%, transparent);
box-shadow: 0px 0px 5px 1px var(--accent-color);
}

.front-page-services-link {
color:var(--white-color);
}

.front-page-services-link:hover {
text-decoration:none;
}

.front-page-services {
width: clamp(50px, 10vw, 100px);
margin:auto;
height: auto;
color: var(--accent-color);
fill: white;
display: block;
transition: filter 0.25s ease, transform 0.25s ease;
}

.front-page-services-card:hover .front-page-services {
fill: var(--accent-color);
}

.front-page-services-card h3 {
font-weight: 600;
margin-bottom: 12px;
}

.front-page-services-card p {
opacity: 0.75;
line-height: 1.5;
}























/* ==============================
WHY CHOOSE SEASON BASICS
============================== */

.full-width-card-with-background {
position: relative;
padding: 90px 20px;
background:
linear-gradient(
to right,
rgba(0,0,0,0.75) 0%,
rgba(0,0,0,0.45) 20%,
rgba(0,0,0,0.15) 35%,
rgba(0,0,0,0) 50%
),
linear-gradient(
to left,
rgba(0,0,0,0.75) 0%,
rgba(0,0,0,0.45) 20%,
rgba(0,0,0,0.15) 35%,
rgba(0,0,0,0) 50%
),
linear-gradient(
to bottom,
rgba(0,0,0,.9) 0%,
rgba(0,0,0,.7) 8%,
rgba(0,0,0,.4) 15%,
rgba(0,0,0,0) 25%,
rgba(0,0,0,0) 75%,
rgba(0,0,0,.4) 85%,
rgba(0,0,0,.7) 92%,
rgba(0,0,0,.9) 100%
),
url('../img/treeline-bg.webp');
color: var(--white-color);
text-align: center;
background-repeat: no-repeat;
background-size: cover;
background-position: bottom;
background-clip: padding-box;

}

.full-width-card-with-background .full-width-card-with-background-inner-container{
max-width: 2000px;
margin: 0 auto;
}

.full-width-card-with-background h2 {

font-weight: 600;
margin-bottom: 40px;
position: relative;
}

.why-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
  margin-top: 50px;
}
.why-item {
  flex: 1 1 220px;
  max-width: calc(25% - 40px);

  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
  padding: 10px 20px;
}

.why-item .icon {
width: 40px;
height: 40px;
margin: 0 auto 15px;
background: var(--accent-color);
color: var(--primary-color);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
}

.why-item h3 {
margin-bottom: 10px;
font-weight: 600;
color: var(--accent-color);
}

.why-item p {
line-height: 1.6;
color: var(--white-color);
}
@media (max-width: 992px) {
  .why-item {
    flex: 1 1 100%;
    max-width: 100%;
  }

  .why-grid {
    gap: 35px;
  }
}










/******************/
/********Gravity Overrides**********/
/*******************/
/****************/














#gravity-override .gform_fields {
margin:0;
row-gap:0;
}




#gravity-override h3{
    line-height:2;
text-align:left;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
    
    font-size:18px;
    font-weight:600;
    color:var(--accent-color);
}






#gravity-override .gfield--input-type-text {
    text-align:left;
}
#gravity-override .gfield--type-section {
    border-block-end: none;
    font-size:15px;
    color:rgba(255,255,255,0.7);

}



#gravity-override .section:not(:first-of-type) {
 /* margin-top: 60px;*/
}
#gravity-override .gform-field-label {
color: color-mix(in srgb, var(--accent-color) 15%, white);
font-weight:300;
margin:0;
font-size:15px;
text-align:left;
}
#gravity-override .gform-field-label--type-inline {
    padding-left:10px;
    
}
#gravity-override input,
#gravity-override textarea {

width:100%;
padding:20px;
font-size:18px;
font-weight:400;
border-radius:6px;
border:1px solid rgba(255,255,255,0.2);
background:rgba(0,0,0,0.35);
color: color-mix(in srgb, var(--white-color) 80%, black);
margin-bottom:16px;
outline:none;
text-align:left;

}



#gravity-override input:focus,
#gravity-override textarea:focus{
border-color:var(--accent-color);
box-shadow:0 0 0 2px rgba(166,214,8,0.2);
}

#gravity-override .gfield-choice-input  {
    padding:0 !important;
}


#gravity-override .gfield_select {

  width: 100%;
  text-align:left;
margin-bottom:16px;
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,0.2);
  background-color:rgba(0, 0, 0, 0.35);
  color: var(--white-color);
  font-size: 14px;
  font-weight:300;
  cursor: pointer;

}
#gravity-override select {
  color-scheme: dark;
}



/* =========================
   CUSTOM ARROW
========================= */
#gravity-override .ginput_container_select {
  position: relative;
}

#gravity-override .ginput_container_select::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
color:white !important;
  border-right: 2px solid rgba(255,255,255,0.6);
  border-bottom: 2px solid rgba(255,255,255,0.6);
  transform: translateY(-50%) rotate(45deg);
  pointer-events: none;
}



/* =========================
   HOVER / FOCUS
========================= */
#gravity-override .gfield_select:hover, #gravity-override input:hover,
#gravity-override textarea:hover {
  border-color: rgba(255,255,255,0.3);
}

#gravity-override .gfield_select:focus, #gravity-override input:focus,
#gravity-override textarea:focus {
  border-color: var(--accent-color);

  box-shadow:
    0 0 0 1px rgba(166,214,8,0.4),
    0 0 12px rgba(166,214,8,0.25);
}





/* =========================
   DROPDOWN OPTIONS (limited control)
========================= */
#gravity-override .gfield_select option {
  background: #1a1a1a;
  color: var(--white-color);
}

/* =========================
   SELECT BASE
========================= */
#gravity-override .gform-theme--framework, #gravity-override .gform-theme--framework * {
  --gf-local-outline-color: transparent;
}

#gravity-override .gfield_required {
    color:var(--white-color);
    font-style:italic;
    font-weight:300;
color: color-mix(in srgb, var(--white-color) 80%, black);
}


#gravity-override input[type="checkbox"] {
  width: 30px;
  height: 30px;
  border-radius: 4px;
}


/* Scrollbar track */
#gravity-override textarea::-webkit-scrollbar {
  width: 10px;
}

/* Track background */
#gravity-override textarea::-webkit-scrollbar-track {
  background: rgba(255,255,255,0.05);
  border-radius: 10px;
}
#gravity-override .gsection_description {
    text-align:left;
    margin-bottom:20px;
}
#gravity-override .gfield_description {
text-align:left;
font-size:13px;
margin-bottom:1rem;
color:rgba(255,255,255,0.5);
}
/* Scrollbar thumb */
#gravity-override textarea::-webkit-scrollbar-thumb {
  background: var(--accent-color);
  border-radius: 10px;
  border: 2px solid rgba(0,0,0,0.3);
}

/* Hover effect */
#gravity-override textarea::-webkit-scrollbar-thumb:hover {
  background: #8be000; /* slightly brighter green */
}
#gravity-override textarea {
  max-height: 500px;
  overflow-y: auto; /* allow scrolling once max is hit */
  resize: none;
}



/* =========================
   BUTTONs
========================= */


#gravity-override .btn-contact {
margin:10px;
border-radius:8px;
}

#gravity-override .gform_button, #cta-btns #gravity-override .gform_button {
display: inline-flex;
text-align:center;
flex-direction: column;
align-items: center;
justify-content: center;
  padding: 14px 24px;
border-radius: 8px;
color: var(--primary-color);
text-decoration: none;
font-weight: 700;
box-shadow:0 4px 10px rgba(0, 0, 0, 0.15);
white-space: nowrap;
flex-shrink: 0;
margin:0 5px;
background: linear-gradient(
  to bottom,
  color-mix(in srgb, var(--accent-color) 50%, white),
  var(--accent-color)
);


}



#gravity-override .gform_button:hover, #cta-btns #gravity-override .gform_button:hover
{
box-shadow: 0px 0px 5px 1px var(--accent-color);
  background: var(--primary-color); 
  color: var(--accent-color);
  text-decoration:none;
}

#gravity-override .gform_button:active, #cta-btns .btn-primary:active {
transform: translateY(0);
box-shadow:0 3px 8px rgba(0, 0, 0, 0.2);
}




/* =========================
Back To Top Button
========================= */

#back-to-top{
position:fixed;
right:50px;
bottom:50px;

width:48px;
height:48px;

display:flex;
align-items:center;
justify-content:center;

border-radius:50%;

background:var(--primary-color); /* force black */
color:var(--accent-color);

border:1px solid rgba(166,214,8,.35);

cursor:pointer;

box-shadow:0 10px 30px rgba(0,0,0,.45);

opacity:0;
visibility:hidden;

transition:opacity .25s ease, box-shadow .25s ease;

z-index:10998 !important;
}

/* arrow */

#back-to-top i{
position:absolute;
font-size:14px;
color:inherit;
}

/* visible state */

#back-to-top.show{
opacity:1;
visibility:visible;
animation:backTopPulse 5s ease-in-out infinite;
}

/* hover */

#back-to-top:hover{
color:var(--primary-color);
background-color:var(--accent-color);
box-shadow:0 0 12px rgba(166,214,8,.7);
}

#back-to-top:focus{
color:var(--primary-color);
background-color:var(--accent-color);
box-shadow:0 0 12px rgba(166,214,8,.7);
}

/* pulse */

@keyframes backTopPulse{
0%{box-shadow:0 0 0 rgba(166,214,8,0);}
50%{box-shadow:0 0 12px rgba(166,214,8,.95);}
100%{box-shadow:0 0 0 rgba(166,214,8,0);}
}




/************************************/
/*********Services Pages**********/
/************************************/

				.cta-desktop {display:block;}
				.cta-mobile {display:none;}
.cta-buttons {
justify-content:center;
gap:20px;
padding:20px;
}

.site-cta {display:flex;
gap:10px;
justify-content:center;
}


			
.service-card {
	margin:90px 0;
		text-align:left;
		display:flex;
		padding:0;
		overflow:hidden;
		position:relative;
}

.service-card::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 260px;
    height: 140px;
    background-image: url('../img/grass-edge-right.webp');
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0.65;
    pointer-events: none;
   mask-image: linear-gradient(
        to top,
        rgba(0,0,0,1) 60%,
        rgba(0,0,0,0) 100%
    );
    z-index: 0;
    background-position: right bottom;
}
.service-card-reverse {
  flex-direction: row-reverse;
 padding-left:4vw;
}
.service-card-reverse::after {
    right: auto;
    left: 0;
    background-position: left bottom;   
    background-image: url('../img/grass-edge-left.webp');
}

.service-card figure {
  position: relative;
  overflow: hidden;
  margin: 0;
  width: clamp(220px, 40%, 416px); 
 flex-shrink: 0; 
  
}
.service-card figure img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  mask-image: linear-gradient(
    to right,

 rgba(0,0,0,1) 0%,
    rgba(0,0,0,1) 72%,
    rgba(0,0,0,0.85) 82%,
    rgba(0,0,0,0.55) 92%,
    rgba(0,0,0,0) 100%
  );
}

.service-card-reverse figure img {

  mask-image: linear-gradient(
    to left,

 rgba(0,0,0,1) 0%,
    rgba(0,0,0,1) 72%,
    rgba(0,0,0,0.85) 82%,
    rgba(0,0,0,0.55) 92%,
    rgba(0,0,0,0) 100%
  );
}
#mowing .service-card figure img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;

  -webkit-mask-image:
    linear-gradient(
      to right,
      rgba(0,0,0,1) 0%,
      rgba(0,0,0,1) 72%,
      rgba(0,0,0,0.85) 82%,
      rgba(0,0,0,0.55) 92%,
      rgba(0,0,0,0) 100%
    ),
    linear-gradient(
      to bottom,
      rgba(0,0,0,1) 0%,
      rgba(0,0,0,1) 72%,
      rgba(0,0,0,0.85) 82%,
      rgba(0,0,0,0.55) 92%,
      rgba(0,0,0,0) 100%
    );

  -webkit-mask-composite: destination-in;

  mask-image:
    linear-gradient(
      to right,
      rgba(0,0,0,1) 0%,
      rgba(0,0,0,1) 72%,
      rgba(0,0,0,0.85) 82%,
      rgba(0,0,0,0.55) 92%,
      rgba(0,0,0,0) 100%
    ),
    linear-gradient(
      to bottom,
      rgba(0,0,0,1) 0%,
      rgba(0,0,0,1) 72%,
      rgba(0,0,0,0.85) 82%,
      rgba(0,0,0,0.55) 92%,
      rgba(0,0,0,0) 100%
    );

  mask-composite: intersect;
}
.service-content {
	padding:1rem;
	flex:1 1 auto;
	position:relative;
	z-index:1;
	text-align: left;
}
.service-content h3 {
	margin:0;
	padding-bottom:1rem;
	text-align:center;
}

.card h2 {
	margin:0;
	color:var(--accent-color);
	padding-bottom:1rem;
	text-align:center;
}
.service-content p {
	padding:1rem;
}





.service-content li {
position:relative;
padding-left:18px;
line-height:1.5;

}

.service-content li::before {
content:"";
position:absolute;
left:0;
top:9px;
width:6px;
height:6px;
border-radius:50%;
background:var(--accent-color);
}

/* container spacing */
.service-decision {
  padding: clamp(20px, 2vw, 40px);
}

/* use SAME layout system as service-options */
#service-decision.service-options {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  margin-top: 20px;
}

/* make each column behave like your cards WITHOUT being cards */
#service-decision .decision-item {
  flex: 1 1 400px;
  max-width: 600px;

  padding: 20px;

  /* lighter than .card so it doesn't compete */
  background: rgba(0,0,0,0.25);
  border-radius: 10px;

  border: 1px solid rgba(166,214,8,0.08);

  box-shadow:
    inset 0 0 10px rgba(255,255,255,0.03),
    0 10px 25px rgba(0,0,0,0.6);
}

/* headings */
#service-decision h4 {
  margin-bottom: 12px;
  color: var(--secondary-accent-color);
}

/* list styling (fix alignment) */
#service-decision ul {
  padding-left: 18px;
  margin: 0;
}

#service-decision li {
  margin-bottom: 10px;
  line-height: 1.5;
}

/* subtle divider between columns (like comparison feel) */
@media (min-width: 900px) {
  #service-decision {
    position: relative;
  }

  #service-decision::after {
    content: "";
    position: absolute;
    top: 10%;
    bottom: 10%;
    left: 50%;
    width: 1px;

    background: linear-gradient(
      to bottom,
      transparent,
      rgba(166,214,8,0.5),
      transparent
    );

    transform: translateX(-50%);
  }
}

/* bottom note */
.service-decision .service-note {
  margin-top: 25px;
  font-size: 0.95rem;
  opacity: 0.8;
  text-align: center;
}
#whats-included figure img {width:150%;
  object-fit:cover;
  object-position:bottom right;
  
          mask-image: linear-gradient(to right, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) 72%, rgba(0, 0, 0, 0.85) 82%, rgba(0, 0, 0, 0.55) 92%, rgba(0, 0, 0, 0) 100%);
		  
}

#whats-included figure {
    overflow:hidden;
	    width: clamp(220px, 40%, 512px);
}

#whats-included figure img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

.sb-faq-item {
    margin-top:10px;
}
/* service area layout */
.sb-service-area {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 0;
  list-style: none;
  padding: 0;
  margin: 0;
}
.sb-service-area {
    max-width:400px;
    margin: 0 auto;
}

.sb-service-area li {
    width:50%;
}

/* steps layout */
.sb-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.sb-step {
  flex: 1 1 calc(50% - 10px);
  padding: 20px;
}

.sb-step.full-width{
     flex: 1 1 100%;
}
/* number */
.sb-step-number {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  color: var(--accent-color);
  margin-bottom: 8px;
}

/* spacing only */
.sb-step h3 {
  margin: 0 0 8px 0;
}

.sb-step p {
  margin: 0;
  color: rgba(255,255,255,0.75);
  line-height: 1.6;
}

.pay-options img{
    max-width: 360px;
    width: 100%;
    height: auto;
}
.notice-text {
  margin-top: 10px;
  font-size: 0.95rem;
  opacity: 0.85;
  border-left: 3px solid var(--accent-color);
  padding-left: 10px;
}
/* =========================
SERVICE TYPES (side by side)
========================= */

.service-options {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 20px;
}

.service-options .card {
margin:2vh;

padding: clamp(20px, 1vw, 60px);
}
/* individual card */
.service-options div {
  flex: 1 1 300px;
  min-width: 280px;
  position: relative;
}

/* titles */
.service-options-comparison h4 {
  font-weight: 600;
  margin-bottom: 10px;
  color: var(--accent-color);
}


.featured {
  border-color: rgba(166,214,8,0.4);
  box-shadow:
    0 -3px 16px rgba(0,0,0,0.55),
    0 0 0 1px rgba(166,214,8,0.4),
    0 0 0 2px rgba(255,255,255,0.05),
    0 28px 40px rgba(0,0,0,0.95),
    0 10px 25px rgba(0,0,0,0.8),
    0 0 22px rgba(166,214,8,0.15);
}

.badge {
  font-size: 0.65rem;
  margin-left: 8px;
  padding: 3px 8px;
  border-radius: 4px;

  background: var(--accent-color);
  color: var(--primary-color);
  pointer-events: none;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}



.media-tiles {
	display:flex;
	flex-wrap:wrap;
	gap:1rem;
	justify-content:center;
	margin-bottom:6vh;
}

.media-tile-item {
	display:flex;
	flex-direction:column;
	justify-content:space-between;

	flex:1 1 300px;
	min-width:200px;
	max-width:300px;

	aspect-ratio:3 /2;

	position:relative;
	overflow:hidden;

	text-align:center;

	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;

	padding:20px;
	text-decoration:none;
}

/* ✅ FIXED OVERLAY */
.media-tile-item::before {
	content:"";
	position:absolute;
	inset:0;
background: linear-gradient(to right, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.45) 20%, rgba(0, 0, 0, 0.15) 35%, rgba(0, 0, 0, 0) 50%), linear-gradient(to left, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.45) 20%, rgba(0, 0, 0, 0.15) 35%, rgba(0, 0, 0, 0) 50%), linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.45) 20%, rgba(0, 0, 0, 0.15) 35%, rgba(0, 0, 0, 0) 50%), linear-gradient(to bottom, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.45) 20%, rgba(0, 0, 0, 0.15) 35%, rgba(0, 0, 0, 0) 50%);


	z-index:1;
	transition: background 0.3s ease;
}
.media-tile-item h4 {

}
.media-tile-item p {
	color:var(--white-color);
}

/* ✅ Ensure text is above overlay */
.media-tile-item h4,
.media-tile-item p {
	position:relative;
	z-index:2;
	text-shadow:
	0 1px 2px rgba(0,0,0,.8),
	0 0 3px rgba(0,0,0,.6);
}

/* ✅ Color behavior */
.media-tile-item {
	color:var(--secondary-accent-color);
	text-decoration:none;
}

.media-tile-item-clickable a{ 
display:flex; 
position:absolute; 
inset:0; 
font-size: clamp(1.2rem, 1.8vw, 1.4rem);
 text-shadow: 0 6px 6px rgba(0, 0, 0, 0.6);
 text-decoration:none; 
 justify-content:center;
 padding-top: 30px; 
 z-index: 2;}
.media-tile-item {
	text-decoration: none;
margin:.75rem;
}

.media-tile-item:hover {
	text-decoration: none;
}
.media-tile-item.media-tile-item-clickable a:hover,
.media-tile-item-clickable .media-tile-item a:hover {
	color:var(--accent-color);
	text-decoration:none;
}

.media-tile-item.media-tile-item-clickable:hover::before,
.media-tile-item-clickable .media-tile-item:hover::before {
background:
linear-gradient(to right, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.6) 20%, rgba(0, 0, 0, 0.25) 35%, rgba(0, 0, 0, 0.05) 50%),
linear-gradient(to left,  rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.6) 20%, rgba(0, 0, 0, 0.25) 35%, rgba(0, 0, 0, 0.05) 50%),
linear-gradient(to top,   rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.6) 20%, rgba(0, 0, 0, 0.25) 35%, rgba(0, 0, 0, 0.05) 50%),
linear-gradient(to bottom,rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.6) 20%, rgba(0, 0, 0, 0.25) 35%, rgba(0, 0, 0, 0.05) 50%);
}

.media-tile-title {
	color:var(--secondary-accent-color);
}

#other-services .media-tile-item {
	flex:1 1 200px;
	min-width:100px;
	max-width:200px;
	aspect-ratio:3 / 2;
}
#front-pg-services .media-tile-item {
	max-width:250px;
	min-width:250px;
	width:100%;
}

/* Default: everything visible */
.available-services .media-tile-item {
  display: flex;
}

/* When filtering is active → hide non-matching */
.media-tile-item.hidden-services {
  display: none !important;
}

#front-pg-services .media-tile-text, #other-services .media-tile-text  {
	display:none;
}
#front-pg-services .all-services-wrapper {
	display:none;
}
#other-services .all-services-wrapper {
display:none;}

.all-services-wrapper {
  text-align: center;
  display:flex;
  margin-top: 20px;
  justify-content:center;
}
.all-services-wrapper button {
	font-size:1rem;
	
	border:none;
	outline:none;
	box-shadow:none;
}


.section-intro {
margin-top: 24px;
}

.section-outro {
margin-bottom: 24px;

}

/* =========================
CHECKLIST
========================= */

.info-tiles {
list-style: none;
padding: 0;
margin: 0;

padding-top:2rem;
display: flex;
flex-wrap: wrap;
gap: 16px;

}


/* items */

.info-tiles li {

flex: 1 1 100%;

position: relative;
padding: 18px 18px 18px 56px;

border: 1px solid rgba(255,255,255,0.08);
border-radius: 14px;

background:
linear-gradient(rgba(255,255,255,0.03), rgba(255,255,255,0.03)),
rgba(255,255,255,0.02);

box-shadow: 0 8px 24px rgba(0,0,0,0.15);


}




/* title */

.info-tiles h4 {
display: block;
font-weight: 500;
color:var(--secondary-accent-color);
margin-bottom: 6px;

}


/* description */

.info-tiles p {
display: block;
line-height: 1.65;
opacity: 0.9;
}


/* =========================
TABLET
========================= */

@media (min-width: 768px) {

.info-tiles li {
flex: 1 1 calc(50% - 8px);
}

}





.disclaimer {
    font-size: 0.8rem;
    line-height: 1.5;
    background: rgba(255,255,255,0.06);
    border-left: 4px solid var(--accent-color);
    padding: 12px 16px;
    margin: 10px 0;
    border-radius: 4px;  
}


.wrapper {
    display:flex;
    flex-wrap:wrap;
    position:relative;
    
  align-items: flex-start;
    gap:40px;
}

#quote-wrapper{
    justify-content:center;
}
#quote-wrapper>div {
    margin:0 !important;
}




#quote-filler h2 {
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 1px;
  margin-bottom: 10px;
}
#quote-filler h2 span + span {
  margin-left: 10px; 
}
#quote-filler ul {
  padding: 0;
  margin: 0;
}

#quote-filler li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 16px;
  list-style: none;
padding:8px;
}

#quote-filler li:not(:last-child) {
border-bottom:2px solid rgba(255,255,255,0.1);
}
#quote-filler i {
  font-size: 1.3rem; /* reduced */
  color: var(--accent-color);
  opacity: 0.85; /* softens it */
  flex-shrink: 0;
  margin-top: 4px;
}
#quote-filler .li-content {

text-align:left;
}
#quote-filler .li-content strong {
  display: block;
  color: var(--accent-color);
  font-size: 1.05rem; /* reduced from 1.3 */
  font-weight: 600;
  margin-bottom: 4px;
}

/* Body text more readable but lighter */
#quote-filler .li-content span {
  display: block;
  color: rgba(255,255,255,0.75); /* softer than pure white */
  margin-top: 2px;
  line-height: 1.4;
  font-size: 0.95rem;
}

/* Slight card de-emphasis */
#quote-filler {
  opacity: 0.95;
}

/* Optional: reduce shadow if your card has one */
#quote-filler.card {
  box-shadow: 0 10px 25px rgba(0,0,0,0.4);
}
	
	.contact-wrapper > * {
  flex: 1 1 400px;
  width: auto;
}
.wrapper > * {
  flex: 1 1 400px;
  width: auto;
}








/***************************************
        Contact Wrapper
****************************************/

.contact-wrapper {
  display: flex;
  flex-wrap:wrap;
  background:
    url('../img/services/service-map.webp') center center no-repeat,
    linear-gradient(to right, #0a191b, #061216);
background-position:center;
min-height:600px;
background-attachment:fixed;
  background-size: auto, cover;
  box-shadow: rgba(0, 0, 0, 0.3) 0px 19px 38px, rgba(0, 0, 0, .75) 0px 25px 20px;
position:relative;
gap:40px;
}

.contact-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);
  pointer-events: none;
}


.contact-left {
  align-items: flex-start;
  margin:0 auto;
  width:100%;
  
  display:flex;
  flex-direction:column;
  gap:4vw;
}


.contact-right {
  display: block;
  width:100%;
  margin: 0 auto;
}

/***************************************
        Forms
****************************************/
.form {
        background: rgba(31, 31, 31, .75);
        margin:0 auto;
    padding: clamp(5px, 3vw, 5vw);
    display:flex;
    flex-direction:column;
    width:100%;
    max-width:700px;
    flex-direction:column;
    z-index:10;
}
#gravity-override.quote-form
{
    max-width:900px;
    margin:0 auto;
}

.contact-form.open {
display:flex;
}
.form-toggle {
    display:none;
    }

.form-toggle h3, .form-toggle p {
    text-shadow:none;
}

.form-toggle .text-tagline::before {
  content: "-Click To Open-";
}

/* when open */
.form-toggle.open .text-tagline::before {
  content: "-Click To Close-";
}


.form-toggle.small-card{
    padding:1rem;
}









/* Inner card */
.contact-right .business-info-inner {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.business-info-block {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.business-branding {
gap:0;}


.business-branding h2{
  font-weight: 600;
  padding:0;
}

.business-tagline {
  font-size: 14px;
  color: rgba(255,255,255,0.7);
  margin: 0;
}



.business-info-block h5 {
  font-size: 18px;
  font-weight: 600;
  color: var(--accent-color);
  margin: 0 0 4px 0;
}

.business-hours {
align-items:center;
}
.info-row {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.info-label {
  font-size: 12px;
  color: rgba(255,255,255,0.5);
}

/* Service area text */
.business-service-area p {
  font-size: 15px;
  margin: 0;
  color: rgba(255,255,255,0.7);
}

.info-link {
  color: var(--white-color);
  text-decoration: none;
}

/* Hours layout */
.hours-row {
  display: flex;
  gap:40px;
  font-size: 14px;
  color: rgba(255,255,255,0.75);
}

/* Slight emphasis for "Closed" */
.closed {
	font-style:italic;
  color: rgba(255,255,255,0.5);
}



.hours-row.today {
  color: var(--accent-color);
  font-weight: 600;
}

.hours-row .day {
	min-width:120px;
	text-align:left;
}

.hours-row .time {
	min-width:120px;
}






.contact-us-block {
	padding:1rem;
	display:flex;
	flex-direction:column;
	
	
}
.contact-us-block .divider {
margin:0;}
	
	.contact-us-block-detail-text p{
		  font-size: 15px;
  margin: 0;
  padding:10px;
	color: rgba(255,255,255,0.7);
	}

.small-card.card {
	min-height:auto;
	flex-wrap: nowrap;
}

.flashy-text { 
    
background: linear-gradient(
    to bottom,
    #eaff66,   /* bright highlight */
    #b7e000,   /* soft transition */
    #77cc00,   /* your accent */
    #5aa800    /* slightly deeper base */
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 600;
}

.contact-cta {
	display:flex;
	flex-direction:row;
	justify-content:center;
	gap:20px;
}
.contact-cta a, .contact-cta a:hover {
	text-decoration:none;
	align-items: center;
}
.contact-cta .btn-secondary
 {
	 justify-content:center;
	padding: 10px 12px;
	flex: 1 1;
}


/***************************************
        FAQ
****************************************/









.faq {
  display: flex;
	z-index:1000;
  justify-content: center;
  align-items: stretch;
  max-width: 1300px;
  flex-direction:column;
  position: relative;

}

.faq.card {
  overflow: visible;
}
.faq-search {
	  width: 100%;
  z-index: 1;
background-color:var(--primary-color);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 4px;

  transition: border 0.2s ease, box-shadow 0.2s ease;
	min-width:300px;
	padding:10px;
	width:100%;
	position:relative;	color: rgba(255,255,255,0.5);
font-size:1rem;
}

.faq-search:focus, .faq-search:focus-visible {
  outline: none;
  box-shadow: none; 
}

.faq-search:focus-visible {
    border-color: var(--accent-color);
    box-shadow: 0 0 0 2px rgba(166, 214, 8, 0.2);
}
.faq-search:focus {
  border-color: var(--accent-color);
  box-shadow: 0 0 8px rgba(166, 214, 8, 0.3);
}
.faq-search::placeholder {
color:var(--white-color);
}

.faq-search-wrap {
  position: relative;
}


.faq-overlay-text {
  position: absolute;
  left: 12px;
  top: 0;
  height: 100%;
  display: flex;
  align-items: center;
  color: rgba(255,255,255,0.5);
  pointer-events: none;
  z-index: 2;
}

.faq-overlay-text.is-active {
  color: var(--accent-color);
}

.faq-search-wrap:has(.faq-overlay-text.is-active) input {
  border: 1px solid var(--accent-color);
}
.faq-dropdown-wrap {
	position:relative;
	margin:1rem 0;  
  z-index: 1001;
}


.faq-group-title {
  font-size: 0.75rem;
  text-transform: uppercase;
  color: var(--accent-color);
  margin: 10px 0 6px;
  text-decoration:underline;
}

.faq-results {
	display:none;
	padding:10px;
}

.faq-results.is-active {
	position:absolute;
	gap:10px;
	display:flex;
	background:var(--primary-color);
	flex-direction:column;	
  max-height: 300px;   
  overflow-y: auto;  

  left: 0;
  width: 100%;
  z-index: 9999;  scrollbar-width: thick;
  scrollbar-color: var(--accent-color) #1a1a1a;
  border: 1px solid rgba(255,255,255,0.15);

  box-shadow:
    0 10px 30px rgba(0,0,0,0.6),
    0 0 0 1px rgba(166, 214, 8, 0.15);

  backdrop-filter: blur(6px);

  border-radius: 6px;
}
.faq-results.is-active::-webkit-scrollbar {
  width: 12px;
}


/* track (background) */
.faq-results.is-active::-webkit-scrollbar-track {
  background: #1a1a1a;
  border-left: 1px solid rgba(255,255,255,0.1);
}

/* thumb (the draggable part) */
.faq-results.is-active::-webkit-scrollbar-thumb {
  background: linear-gradient(
    to bottom,
    #cfcd95,
    #88cc00,
    #5f8f00
  );
  border-radius: 6px;
  border: 2px solid #1a1a1a;
}

/* hover effect */
.faq-results.is-active::-webkit-scrollbar-thumb:hover {
  background: var(--accent-color);
}
.faq-answer-text {
}
.faq-answer-text p {
	padding-bottom:1rem;
	}
.faq-answer-box {
	display:none;
  padding:1rem;
border: 1px solid rgba(255, 255, 255, 0.2);
  min-height:100px;
  border-radius:2px;
  margin: 30px auto;
padding: clamp(20px, 1vw, 60px);
	margin-bottom:clamp(20px, 1rem, 60px);
background-clip: padding-box;
    box-shadow:
    0 -3px 16px rgba(0,0,0,0.55),      /* slight top shadow */
    0 0 0 1px rgba(166,214,8,0.22),   /* green rim */
    0 0 0 2px rgba(255,255,255,0.035),/* subtle highlight */
    0 28px 40px rgba(0,0,0,0.95),     /* main shadow (tighter) */
    0 10px 25px rgba(0,0,0,0.8),      /* secondary depth */
    0 0 18px rgba(166,214,8,0.05);    /* ambient green glow */
	overflow:hidden;
background: rgba(7, 7, 7, 0.45);
backdrop-filter: blur(2px);
}

/* scrollbar width */
.faq-result-item {
  padding: 10px 14px;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.1s ease;
  position: relative;
}

.faq-result-item:hover {
  background: rgba(166, 214, 8, 0.1);
}

.faq-result-item:active {
  transform: scale(0.98);
}

.faq-result-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 3px;
  background: transparent;
  border-radius: 2px;
  transition: background 0.2s ease;
}

.faq-result-item:hover::before {
  background: var(--accent-color);
}


.faq-result-item + .faq-result-item {
  border-top: 1px solid rgba(255,255,255,0.05);
}


.faq-result-item.is-active {
  background: rgba(166, 214, 8, 0.2);
}

.faq-outro {
	padding:20px;
}


/*********************/
/*****full pg ********/
/*********************/

/* =========================
FULL FAQ (MATCH DROPDOWN)
========================= */

.faq-full-list {
  max-width: 800px; /* same as your dropdown */
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
  width:100%;
  margin-top:2vh;
}

/* =========================
SECTION TITLES (reuse style)
========================= */

.faq-full-list .faq-section {
  display: flex;
  flex-direction: column;
}

/* =========================
FAQ ITEM (feels like result list)
========================= */

.faq-full-list .faq-item {

margin:5px;
}

/* =========================
QUESTION (clone of result item)
========================= */

.faq-full-list .faq-question {
  padding: 14px 14px;
  cursor: pointer;
    padding-right: 30px;
  position: relative;
  transition: background 0.15s ease;
 
}
.faq-question::after {
  content: "\f078"; /* chevron-down */
  font-family: "Font Awesome 5 Free"; /* or 6 Free depending on your kit */
  font-weight: 900; /* REQUIRED for solid (fas) */
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  color: var(--accent-color);
}
/* hover SAME as dropdown */
.faq-full-list .faq-question:hover {
background-color:var(--primary-color);
}

/* LEFT ACCENT BAR (identical) */
.faq-full-list .faq-question::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 3px;
  background: transparent;
  border-radius: 2px;
  transition: background 0.2s ease;
}

.faq-full-list .faq-item:hover .faq-question::before {
  background: var(--accent-color);
}

/* =========================
SEPARATOR (like dropdown list)
========================= */

.faq-full-list .faq-item + .faq-item {
  border-top: 1px solid rgba(255,255,255,0.05);
}

/* =========================
ANSWER (match answer box feel)
========================= */

.faq-full-list .faq-answer {
  display: none;
  padding: 14px;

  border-top: 1px solid rgba(255,255,255,0.1);

  backdrop-filter: blur(2px);

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.03),
    0 0 18px rgba(166,214,8,0.03);
}

.faq-full-list .faq-answer p {
  padding-bottom: 1rem;
}

/* =========================
ACTIVE STATE (like selected result)
========================= */

.faq-full-list .faq-item.is-open .faq-question {
  background: rgba(166, 214, 8, 0.15);
}

.faq-full-list .faq-item.is-open .faq-question::before {
  background: var(--accent-color);
}

.faq-full-list .faq-item.is-open .faq-answer {
  display: block;
}

/* =========================
SUBTLE HOVER DEPTH (no transform)
========================= */

.faq-full-list .faq-item:hover {
  box-shadow:
    0 12px 35px rgba(0,0,0,0.75),
    0 0 0 1px rgba(166,214,8,0.25);
}

.faq-section h3 {
	color:var(--accent-color);
}



























.faq-tabs {
  display: flex;
justify-content:CENTER;
  margin: 20px 0;
  border-bottom: 1px solid rgba(255,255,255,0.2);
}
.faq-tabs button + button {
  border-left: 1px solid rgba(255,255,255,0.05);
}
.faq-tabs button:hover::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 3px;
  background: var(--accent-color);
}
.faq-tabs button {
  background: none;
  border: none;
  color: var(--white-color);
  padding: 10px;
  cursor: pointer;
  position: relative;
  font: inherit;
}



.faq-tabs button.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 3px;
  background: var(--accent-color);
}





.full-faq {	
background: linear-gradient(
  to bottom,
  #1f1f1f 0%,
  #1a2a1a 40%,
  #121212 100%
);

}

.search-page .faq-no-results,
.faq-no-results {
  padding: 1rem;
  text-align: center;
  color: rgba(255,255,255,0.85);
}

.faq-no-results strong {
  display: block;
  margin-bottom: 6px;
  color: #A6D608;
}

.faq-no-results p {
  margin: 0;
  font-size: 0.9rem;
  opacity: 0.8;
}



/************************/
/******Nav***********/
/************************/ 
/* =========================
Hamburger Menu
========================= */

.menu-toggle-desktop, .menu-toggle-mobile {
display:none;
background: none;
border: 0;
cursor: pointer;
padding: 0.5rem;
}

.menu-toggle, .menu-toggle:hover {
background-color: transparent; 
box-shadow:none;
}

.menu-toggle-desktop span, .menu-toggle-mobile span {
width: 24px;
height: 2px;
background: var(--white-color);
margin: 5px 0;
transition: transform 0.3s ease, opacity 0.3s ease;
}

.navigation-wrapper {
margin-left:auto;
color: var(--white-color);
border-radius: 5px; 
background: rgba(20,20,20,0.35);
backdrop-filter: blur(2px);
display:flex;
}

.navigation-wrapper a {
display: block;
color: var(--white-color);
padding: 16px 20px;
font-weight:300;
}

.primary-navigation a:hover {
text-decoration:none;
}

#header.nav-open .navigation-wrapper {
display: block;
}

.primary-navigation .menu {   
display:flex;
justify-content:center;
}

.menu > .menu-item > a{
font-weight:600;
}

.primary-navigation .sub-menu a{
font-weight:300;
}

.primary-navigation .menu-item-has-children > a {
display: flex;
align-items: center;
}

.primary-navigation .menu-item-has-children>a::before {
font-family: "Font Awesome 5 Free";
font-weight: 900;
content: "\f078";
line-height: 1;
padding-right: 8px;
display: inline-block;
text-decoration: none;
}
.primary-navigation .mobile-nav-header, .primary-navigation .mobile-nav-footer {
text-align:center;
height:auto;
padding: 10px
}

.primary-navigation .menu-item > a:hover,.primary-navigation .menu-item > a:focus {
font-weight:600;
border-bottom: 2px solid var(--accent-color);
}

.primary-navigation .sub-menu {
max-height: 0;
opacity: 0;
display:none;
visibility: hidden;
pointer-events: none;
transition: 
max-height 0.35s ease,
opacity 0.25s ease,
transform 0.25s ease;
background-color: color-mix(in srgb, var(--white-color) 10%, transparent);
}
.primary-navigation .menu-item.open > .sub-menu {

max-height: 1000px;
opacity: 1;
transform: translateY(0);
visibility: visible;
pointer-events: auto;
display:block;
}





/************************/
/*******Footer***********/
/************************/ 
footer {
margin-top: auto;  
}
.footer-left div{
	
padding-bottom:1rem;
}

#footer {
color: var(--white-color);
font-family: var(--font);
position:relative;
}

.footer-cta {
margin:0 0 0 0;
position: relative;
z-index: 5;
background: linear-gradient(
to right,
rgba(0,0,0,0) 0%,        
rgba(0,0,0,0.5) 40%,     
rgba(0,0,0,0.5) 80%,     
rgba(0,0,0,0) 100%    
);
}

.footer-cta-text {
padding: 30px;
display: flex;  
flex-wrap:wrap;
justify-content:center;
align-items:center;
gap:0.5rem;
text-align: center;
font-weight: 500;
text-shadow: 0 2px 6px rgba(0,0,0,0.6);
}

#footer .footer-content {
max-width: 1200px;
margin: 0 auto;
}

#footer .footer-grid {
padding: 20px 4vw;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
gap: 20px;
border-radius: 14px;
border: 1px solid rgba(166, 214, 8, 0.15);
background: rgba(18, 18, 18, 0.65);
backdrop-filter: blur(2px);
box-shadow:
0 0 0 1px rgba(255,255,255,0.03),
0 20px 60px rgba(0,0,0,0.6),
0 0 40px rgba(166, 214, 8, 0.08);
}

#footer .footer-content {
position: relative;
z-index: 2;
}

#footer h4 {
font-family: var(--font-heading);
font-weight: 600;
letter-spacing: 0.5px;
margin-bottom: 12px;
color: var(--accent-color);
}

#footer li {
margin-bottom: 12px;
}

	.footer-section {
		max-width:33%;
		text-align:center;
	}
	.footer-section.footer-right {
				display:flex;
	justify-content:center;}
	
#footer a {
color: var(--white-color);
text-decoration: none;
transition: color 0.2s ease;
}
#footer .footer-grid a:hover {
	text-decoration:underline;
}
#footer a:hover {
color: var(--accent-color);
}

.footer-hours p {
margin: 8px 0;
}

.footer-left ul,
.footer-center ul {
margin: 0;
}

.footer-left li,
.footer-center li {
display: list-item;
}

.footer-left li::marker,
.footer-center li::marker {
color: var(--accent-color);
}

.footer-hours {
white-space:nowrap;
}
.footer-phone {
white-space:nowrap;
font-weight: 600;
color: var(--accent-color);
}

.footer-phone a {
display: inline-flex;
align-items: center;
gap: 10px;
font-weight: 700;
color: var(--accent-color);
text-decoration: none;
transition: all 0.2s ease;
}

.footer-phone a:hover {
text-shadow: 0 0 8px rgba(166, 214, 8, 0.6);
}

#footer .footer-grid > div {
position: relative;
}

#footer-copyright {
text-align: center;
margin-top: 20px;
opacity: 0.7;

}










@media (max-width: 600px) {

	.footer-section {
		max-width:100%;
		text-align:center;
	}
#footer .footer-grid {
flex-direction: column;
text-align: center;
gap: 10px;
}

.footer-right {
order: -1;
}

.footer-left {
order: 1;
}

.footer-center {
order: 2;
}

#footer .footer-grid {
padding: 30px;
gap: 10px;
}
}



/************************/
/*******Media**Mobile***********/
/************************/ 

/* =========================
DESKTOP
========================= */


@media (min-width: 1300px) {

.primary-navigation .menu .current-menu-item>a {
border-bottom: 2px solid var(--accent-color);
}

.mobile-bottom-nav {
display:none;
}

.mobile-nav-footer, .mobile-nav-header {
display:none;
}

.primary-navigation .menu-item {
position: relative;
text-wrap: nowrap;
}

.primary-navigation .sub-menu {

position:absolute;
background:
linear-gradient(rgba(0,0,0,0.15), rgba(0,0,0,0.15)),
rgba(33,35,27,0.7);
-webkit-backdrop-filter: blur(8px);
backdrop-filter: blur(8px);

border:1px solid rgba(255,255,255,0.06);
border-radius:10px;

box-shadow:
0 14px 40px rgba(0,0,0,.65),
0 0 18px rgba(166,214,8,.06);

}
.primary-navigation .sub-menu .sub-menu {
top: 0;
left: 100%;
}



}



/* =========================
Special Case Situations
========================= */




@media (max-width: 1300px) {
.hero-right .hero-quote-card {
display:none;
}
}



/* =========================
Mobile
========================= */

@media (max-width: 1300px) {

#header {
padding:5px 5px;
flex-wrap: wrap; 
height: auto; 
position:relative;   
}

#header.nav-open::before{
content:"";
position:absolute;
top:0;
left:0;
right:0;
bottom:0;

background-image:
linear-gradient(
to bottom,
rgba(0,0,0,.85) 0%,
rgba(0,0,0,.65) 25%,
rgba(0,0,0,.35) 60%,
rgba(0,0,0,.15) 100%
),
linear-gradient(
to right,
rgba(0,0,0,.85) 0%,
rgba(0,0,0,.60) 25%,
rgba(0,0,0,.30) 60%,
rgba(0,0,0,.10) 100%
),
url('../img/nav-menu.webp');

background-size: cover;
background-position: bottom center;
background-repeat: no-repeat;

z-index:-1;
}
#header.nav-open .navigation-wrapper{
left: 0;
width: 100vw;
min-height: 100vh;
display: flex;
flex-direction: column;
}

#header.nav-open .navigation-wrapper::before{
content:"";
position:absolute;
top:0;
left:0;
right:0;
bottom:0;

background-image:
linear-gradient(
to bottom,
rgba(0,0,0,.85) 0%,
rgba(0,0,0,.65) 25%,
rgba(0,0,0,.35) 60%,
rgba(0,0,0,.15) 100%
),
linear-gradient(
to right,
rgba(0,0,0,.85) 0%,
rgba(0,0,0,.60) 25%,
rgba(0,0,0,.30) 60%,
rgba(0,0,0,.10) 100%
),
url('../img/nav-menu.webp');

background-size: cover;
background-position: bottom center;
background-repeat: no-repeat;

z-index:-1;
}



/* First row */
#site-branding {
flex: 1 1 auto;
min-width: 0;
}
#site-header-right {
flex: 0 0 auto;
}

#site-branding .custom-logo {
height: clamp(35px, 9vh, 96px);
}

.btn-cta {
order:3;
}

			.cta-desktop {display:none;}
				.cta-mobile {display:block;}
.mobile-theme-toggle { /*Theme color*/
display:block;
margin-left:auto;
}

/* =========================
NAVIGATION
========================= */


.menu-toggle-desktop {
order:1;
display:block;
} 
.menu-toggle-desktop span {
display:block;
}




.navigation-wrapper {
margin:2vw;
order:3;
margin:auto;
display:none;
width: 100%;
}

.primary-navigation .menu {
flex-direction: column;  
}

.primary-navigation .menu-item a {
display:flex;
margin:0;
max-width:none;
text-align:left;
align-items:center;
background: rgba(18, 18, 18, 0.35);
border-radius:0;
box-shadow:
0 0 0 1px rgba(255,255,255,0.1);
border-radius:0;
border-bottom:1px solid var(--secondary-color);
}

.primary-navigation .menu-item a:hover {
background-color: color-mix(in srgb, var(--primary-color) 60%, transparent);
border-color: color-mix(in srgb, var(--accent-color) 70%, transparent);
box-shadow: 0px 0px 5px 1px var(--accent-color);
color:var(--accent-color);
}


.primary-navigation .menu > .menu-item > a {
padding: 1.5rem;
}


.primary-navigation .menu-item.open > .sub-menu {
max-height: 1000px;
opacity: 1;
transform: translateY(0);
}

.primary-navigation .sub-menu {
max-height: 0;
overflow: hidden;
opacity: 0;
transform: translateY(-4px);
transition: 
max-height 0.35s ease,
opacity 0.25s ease,
transform 0.25s ease;
}

.primary-navigation .sub-menu .menu-item > a {
padding: 1.5rem 8vw;
}

.primary-navigation .sub-menu .sub-menu .menu-item > a {
padding-left: 18vw;
}

.primary-navigation .sub-menu .sub-menu .sub-menu .menu-item > a {
padding-left: 20vw;
}

.primary-navigation .current-menu-item > a {
position: relative;
color: var(--accent-color);
}
.primary-navigation .current-menu-item > a {
border-left: 6px solid var(--accent-color);
padding-left: 10px;
}



/*MOBILE NAV FOOTER*/
.mobile-nav-footer {
border-top:1px solid rgba(255,255,255,0.15);
}

.mobile-nav-footer a:hover {
background:var(--accent-color);
color: var(--primary-color);
}

.nav-service-area{
opacity:.75;
}

.nav-phone{
display:inline-block;
}

.nav-phone:hover{
background:var(--accent-color);
}

.nav-estimate{
opacity:.7;
}


.wrapper {
    flex-direction:column;
}
.contact-wrapper {
    display:flex;
    flex-direction:column;
}
.form-toggle {
  display: flex;      
  flex-direction:column;
  width: 100%;   
line-height:1.1;
    padding:1rem;
      margin: 0 auto; 
}
.contact-form {
    display:none;
	}


  

#quote-wrapper .quote-filler {
    order:2;
}
#quote-wrapper .quote-form {
    order:1;
}





/* =========================
Bottom Nav
========================= */


.mobile-bottom-nav {
display: block;
position: fixed;
bottom: 0;
left: 0;
width: 100%;
background: var(--primary-color);
z-index: 20000;
}
.mobile-bottom-nav ul {
display: flex;
margin: 0;
padding: 0;
list-style: none;
}
.mobile-bottom-nav li {
flex: 1 1 0;
text-align: center;
border-right: 2px solid var(--mediumgray);
background: var(--primary-color);
}
.mobile-bottom-nav li:last-child {
border-right: none;
}
.mobile-bottom-nav a {
display: flex;
align-items: center;
justify-content: center;
height: 50px;
color: var(--white-color);
text-decoration: none;
}

.mobile-bottom-nav li:not(.phone) a:hover, .mobile-bottom-nav li:not(.phone) a:active {
background: var(--accent-color);
}

.mobile-bottom-nav li.phone a:hover, .mobile-bottom-nav li.phone a:active {
background: var(--mediumgray);
color: var(--white-color);
}

.mobile-bottom-nav a:active {
transform: scale(0.96);
}
/*
.mobile-bottom-nav li.phone {
background: var(--accent-color);
}


.mobile-bottom-nav li.phone a {
color: var(--primary-color);
font-weight: 700;
}
*/
.mobile-bottom-nav a {
-webkit-tap-highlight-color: transparent;
}
#back-to-top{
right:14px;
bottom:70px;
width:42px;
height:42px;
z-index:9999;
}

#header.search-active #site-search {
display:block;
}

#header.search-active #site-search .search-form-wrapper{
position:fixed;
left:0;
right:0;
bottom:50px; 
top:auto;
transform:none;
width:100%;
opacity:1;
z-index:9980;
}

#search-toggle-icon {
display:none;
}

#header.search-active #site-navigation {
pointer-events: none;
opacity: 0;
}

.service-card figure img {
width: 100%;
height: auto;
object-fit: cover;
display: block;

-webkit-mask-image:
linear-gradient(
  to right,
  rgba(0,0,0,1) 0%,
  rgba(0,0,0,1) 72%,
  rgba(0,0,0,0.85) 82%,
  rgba(0,0,0,0.55) 92%,
  rgba(0,0,0,0) 100%
),
linear-gradient(
  to bottom,
  rgba(0,0,0,1) 0%,
  rgba(0,0,0,1) 72%,
  rgba(0,0,0,0.85) 82%,
  rgba(0,0,0,0.55) 92%,
  rgba(0,0,0,0) 100%
);

-webkit-mask-composite: destination-in;

mask-image:
linear-gradient(
  to right,
  rgba(0,0,0,1) 0%,
  rgba(0,0,0,1) 72%,
  rgba(0,0,0,0.85) 82%,
  rgba(0,0,0,0.55) 92%,
  rgba(0,0,0,0) 100%
),
linear-gradient(
  to bottom,
  rgba(0,0,0,1) 0%,
  rgba(0,0,0,1) 72%,
  rgba(0,0,0,0.85) 82%,
  rgba(0,0,0,0.55) 92%,
  rgba(0,0,0,0) 100%
);

mask-composite: intersect;
}


.service-card-reverse figure img {

-webkit-mask-image:
linear-gradient(
  to left,
  rgba(0,0,0,1) 0%,
  rgba(0,0,0,1) 72%,
  rgba(0,0,0,0.85) 82%,
  rgba(0,0,0,0.55) 92%,
  rgba(0,0,0,0) 100%
),
linear-gradient(
  to bottom,
  rgba(0,0,0,1) 0%,
  rgba(0,0,0,1) 72%,
  rgba(0,0,0,0.85) 82%,
  rgba(0,0,0,0.55) 92%,
  rgba(0,0,0,0) 100%
);

-webkit-mask-composite: destination-in;
mask-image:
linear-gradient(
  to left,
  rgba(0,0,0,1) 0%,
  rgba(0,0,0,1) 72%,
  rgba(0,0,0,0.85) 82%,
  rgba(0,0,0,0.55) 92%,
  rgba(0,0,0,0) 100%
),
linear-gradient(
  to bottom,
  rgba(0,0,0,1) 0%,
  rgba(0,0,0,1) 72%,
  rgba(0,0,0,0.85) 82%,
  rgba(0,0,0,0.55) 92%,
  rgba(0,0,0,0) 100%
);
mask-composite: intersect;
}
#whats-included .service-card{
flex-wrap:wrap;}
#whats-included figure {
width:100%;
max-height:300px;

}


#whats-included figure img {
	  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) 72%, rgba(0, 0, 0, 0.85) 82%, rgba(0, 0, 0, 0.55) 92%, rgba(0, 0, 0, 0) 100%);
	  
}

.service-options-comparison {
gap:0vw;
}
  .sb-step,
  .sb-service-area li {
    width: 100%;
    flex: 1 1 100%;
  }




}
/********************/
/*********end 1300***********/
/********************/










@media (max-width: 768px) {




  
#site-header-right .site-cta {
	display:none;
}
.site-cta {justify-content:center;}
	
#topbar {display:none;
}


.hero-buttons {
justify-content:center;
}
.service-card {
flex-wrap:wrap;

}	
.service-card figure {
width:100%;
}

.service-card-reverse {
	padding:0;
}
.service-card-reverse figure img, .service-card figure img {

-webkit-mask-image:

linear-gradient(
  to bottom,
  rgba(0,0,0,1) 0%,
  rgba(0,0,0,1) 72%,
  rgba(0,0,0,0.85) 82%,
  rgba(0,0,0,0.55) 92%,
  rgba(0,0,0,0) 100%
);

-webkit-mask-composite: destination-in;

mask-image:

linear-gradient(
  to bottom,
  rgba(0,0,0,1) 0%,
  rgba(0,0,0,1) 72%,
  rgba(0,0,0,0.85) 82%,
  rgba(0,0,0,0.55) 92%,
  rgba(0,0,0,0) 100%
);

mask-composite: intersect;
}


/* =========================
WHY SECTION
========================= */

.full-width-card-with-background{
padding:40px 10px;
}

.full-width-card-with-background h2{
margin-bottom:14px;
}

.why-grid{
gap:18px;
margin-top:20px;
}

.why-item{
padding:4px 6px;
}

.why-item .icon{
width:28px;
height:28px;
font-size:.75rem;
margin-bottom:6px;
}

.why-item h3{
font-size:.9rem;
margin-bottom:4px;
}

.why-item p{
font-size:.78rem;
line-height:1.35;
}





}/********************/
/*********end 1300***********/
/********************/


@media (max-width: 600px) {


#site-header-right {
display:flex;
justify-content:space-between;
}

		.cta-desktop {display:block;}
			.cta-mobile {display:none;}
.btn-cta {margin-top:10px;}




	
html,body{
font-size:15px;
line-height:1.35;
}
	

h1{font-size:1.35rem;}
h2{font-size:1.3rem;}
h3{font-size:1.2rem;}
h4{font-size:1.1rem;}
p{font-size:1rem;margin:4px 0;}
	


} /********************/
/*********end 600***********/
/********************/






@media (max-width:360px){
	
	
#site-branding .custom-logo{
height:28px;
}
	
	

/* =========================
CTA BUTTON
========================= */

.btn {
font-size:1rem;
}



/* =========================
HERO
========================= */



.hero-left{
padding-left:3vw;
padding-right:3vw;
}


	.hero-title{
white-space:normal;
margin-bottom:8px;
}

.hero-highlight{
font-size:.9rem;
margin-bottom:4px;
}

.hero-sub{
font-size:.75rem;
margin-bottom:12px;
}
	



	}
	
	/********************/
/*********end 360***********/
/********************/






/************************/
/*******Themes***********/
/************************/ 
/* =========================
Light Mode Toggle
========================= */
.theme-toggle-wrapper {
display: flex;
align-items: center;
gap: 10px;
width:100px;
}
/* Icons */
.toggle-icon {
width: 20px;
height: 20px;
stroke: currentColor;
fill: none;
stroke-width: 2;
color: var(--secondary-color);
transition: color 0.25s ease, transform 0.2s ease;
}

.theme-toggle {
all: unset;
width: 50px;
height: 26px;
background: var(--secondary-color);
border-radius: 50px;
cursor: pointer;
position: relative;
display: inline-block;
}

.toggle-thumb {
position: absolute;
top: 3px;
left: 3px;
width: 20px;
height: 20px;
background: var(--accent-color);
border-radius: 50%;
transition: transform 0.3s ease;
}


html[data-theme="light"] .sun {
color: var(--accent-color);
}
html[data-theme="dark"] .moon {
color: var(--accent-color);
}


html[data-theme="dark"] .toggle-thumb {
transform: translateX(24px);
}



/* =========================
Light & Dark Themes
========================= */


/*html[data-theme="light"] {
/*--link-color:  var(--secondary-accent-color);
/*background: var(--white-color);
/*color: var(--primary-color);
/*--color: (--primary-color);
/*--card-bg: var(--white-color);
/*--card-font: var(--primary-color);
/*--card-border: #e0e0e0;
/*--card-shadow:
0 4px 6px rgba(0, 0, 0, 0.08),
0 10px 20px rgba(0, 0, 0, 0.04);
/*--card-shadow-hover:
0 10px 24px rgba(0, 0, 0, 0.12),
0 4px 8px rgba(0, 0, 0, 0.06);
}





/*html[data-theme="light"] .checklist li {
border: 1px solid rgba(0,0,0,0.08);
background:
linear-gradient(rgba(255,255,255,0.6), rgba(255,255,255,0.6)),
rgba(255,255,255,0.75);
box-shadow: 0 6px 18px rgba(0,0,0,0.06);
}

/*html[data-theme="light"] .section-outro {
border-top: 1px solid rgba(0,0,0,0.08);

}

*/