body{
	min-height: 100%;
	margin: 0px;

	font-family: poppins;
	background-color: #162415;

	scroll-behavior: smooth;
	overflow-x: hidden;
}

a, a:hover, a:active, a:visited, a:focus {
    text-decoration:none;
    color: white;
}

.body-no-scroll{
	overflow: hidden;
}

.gridLink{
	position: absolute;
	display: block;
	background-color: red;
	width: 100%;
	height: 100%;
	z-index: 20;
	top: 0;
	left: 0;
}

.hidden{
	opacity: 0;
	transition: opacity 0.6s ease-out;
}

.visible{
	opacity: 1;
}

.fixedHeader{
	position: fixed;
	top: 0px;
	width: 100%;
	height: 85px;

	background-color: white;
	z-index: 10;
}

.fixedHeader_Title{
	height: 100%;
	width: 50%;
	float: left;
	font-size: 2.2em;
	line-height: 85px;
	font-weight: 700;
	letter-spacing: 3px;
}

.fixedHeader_Buttons{
	width: 50%;
	height: 85px;
	float: right;
	display: flex;
	gap: 16px;
	justify-content: flex-end;
	align-items: center;
}

.fixedHeader_Button{
	height: 40px;
	width: 80px;

	background-color: white;
	border: 0;
	font-size: 0.95em;
	font-weight: 500;
	cursor: pointer;
	color: #595959;
	transition: color 0.4s ease;
}

.fixedHeader_Button:hover{
	color: #32AA27;
}

.fixedHeader_ContactBut{
	border: 2px solid black; 
	width: 140px; 
	height: 50px; 
	font-size: 1.05em; 
	font-weight: 600; 
	color: black;
	cursor: pointer;
	background-color: white;

	transition: color 0.2s ease, background-color 0.2s ease;
}

.fixedHeader_ContactBut:hover{
	color: white;
	background-color: #32AA27;
	border: 2px solid #32AA27; 
}

.fiedHeader_DropdownButton{
	display: none;
	cursor: pointer;
	user-select: none;
	content: "☰";
	transition: transform 0.15s ease, opacity 0.15s ease;
	-webkit-tap-highlight-color: transparent;
}

.fiedHeader_DropdownButton.open{
	
}


.dropdownMenu{
	display: none;

	position: absolute;
	top: 85px;
	left: 0px;
	width: 100vw;
	height: calc(100vh - 85px);
	background-color: white;
	z-index: 12;
	overflow-y: scroll;

	transform: scale(0);
	transition: transform 1s ease;
}

.dropdownMenu.open{
	display: block;
	transform: scale(1);
}

.dropdownMenu_Item{
	color: black;
	font-size: 1.3em;
	letter-spacing: 1.1;
	font-weight: 500;
	line-height: 60px;
	cursor: pointer;
}

.section_top{
	background-color: #162415;
	min-height: 100%;

	display: flex;
	justify-content: flex-start;
	align-items: center; 

	color: white;
}

.home_Heading{
	font-size: 4em; 
	font-weight: 700; 
	margin: 10px 0px;
}

.home_SubHeading{
	font-size: 1.25em; 
	font-weight: 500; 
	margin: 10px 0px;
}

.topSection_WorkBut{
	background-color: #32AA27;
	border-radius: 64px;
	border: 0;
	padding: 14px 44px;

	font-size: 1.25em;
	font-weight: 500;
	color: white;
	margin-top: 20px;
	margin-bottom: 80px;

	cursor: pointer;

	transition: background-color 0.2s ease;
}

.topSection_WorkBut:hover{
	background-color: #26801D;
}

.topSection_ServicesBut{
	padding: 14px 44px;
	font-size: 1.15em;
	font-weight: 500;
	background: none;
	border: none;
	color: white;
	cursor: pointer;
	text-underline-offset: 3px;
	text-decoration: none;

	transition: color 0.2s ease;
}

.topSection_ServicesBut:hover{
	color: rgb(223, 223, 223);
}

.section_content{
	background-color: white;
	min-height: 100px;
	padding: 50px 0px;
}

.section_bottom{
	background-color: #162415;
}

.headerPines{
    width: 100vw;
    height: 120px;
    position: absolute;
    bottom: -3px;

    background-image: url("images/PineTreesB.png");
    background-size: auto 120px;
}

.headerMountains{
	width: 100vw;
	height: 250px;
	position: absolute;
	bottom: -2px;

	background-image: url("images/Mountains.png");
    background-size: auto 250px;
	filter: brightness(0) saturate(100%) invert(33%) sepia(93%) saturate(750%) hue-rotate(85deg);
	image-rendering: crisp-edges;
}

.headerHills{
	width: 100vw;
	height: 250px;
	position: absolute;
	bottom: -2px;

	background-image: url("images/Mountains1.png");
    background-size: auto 250px;
	 filter: brightness(0) saturate(100%) invert(30%) sepia(92%) saturate(600%) hue-rotate(90deg);
	image-rendering: crisp-edges;
}

.margins{
	width: 100%;
	max-width: 1000px;
	margin-left: calc((100% - 1000px) / 2);
}

.smallerHeading{
	color: #32AA27; 
	font-weight: 600; 
	font-size: 0.9em; 
	letter-spacing: 2px; 
	line-height: 1.2em;
	margin: 0px 0px;
}

.biggerHeading{
	font-weight: 700; 
	font-size: 1.7em; 
	line-height: 2em;
	margin: 0px 0px;
}

.about{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}

.aboutText{
	flex: 1;
	padding-right: 40px;
}

.aboutImage{
}

.aboutImg{
	float:right;
	border-radius: 50%;
	max-width: 350px;

	box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2), 0 12px 40px 0 rgba(0, 0, 0, 0.19);
}

.whatIDo{
}

.whatIdo_Grid{
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: space-between;
	padding-top: 40px;
}

.whatIdo_GridItem{
	flex: 1;
	width: 220px;
	max-width: 28%;

	transition: transform 0.2s ease;
}

.whatIdo_GridItem:hover{
	transform: scale(1.05);
}

.whatIdo_GridItem:hover .whatIdo_Title{
	color: #32AA27;
}

.whatIdo_Img{
	width: 100%;
	border-radius: 50%;
	width: 94%;
	margin: 3%;

	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.whatIdo_Title{
	text-align: center;
	font-size: 1.05em;
	font-weight: 500;
	color: black; 
	padding: 10px 0px;

	transition: color 0.15s ease;
}

.whatIdo_Text{
	text-align: center;
	font-size: 0.9em;
	color: #595959;
	padding: 0px 3%;
}

.flexGrid{
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	justify-content: flex-start;
}

.flexGrid_Item{
	flex: 1 1 calc(33.33% - 18px);
	background-color: white;
	max-width: calc(33.33% - 12px);

	cursor: pointer;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
	transition: transform 0.15s;
}

.flexGrid_Item:hover{
	transform: scale(1.05);
}







.work_Img{
	width: 100%;
}

.work_MiniHeader{
	color: #32AA27; 
	font-weight: 600; 
	font-size: 0.9em; 
	letter-spacing: 2px; 
	padding-top: 10px;
	width: 90%;
	margin-left: 5%;
}

.work_Header{
	color: black;
	font-size: 1.2em;
	font-weight: 510;
	letter-spacing: 1;
	width: 90%;
	margin-left: 5%;
}

.work_Info{
	color: #595959;
	font-size: 1em;

	padding: 10px 0px;
	width: 90%;
	margin-left: 5%;
}

.contact_Text{
	width: 600px;
	max-width: 80%;
	margin-top: 30px;
	color: #595959;
}

.formContainer{
	width: 600px;
	max-width: 80%;
	background-color: #EEF1EF;
	margin-top: 40px;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
	border: 2px solid white;
	border-radius: 13px;
	overflow: hidden;
	position: relative;
}

.formContainer_Overlay{
	position: absolute; 
	inset: 0; 
	display: none; 
	place-items: center;
	height: 100%; 
	width: 100%; 
	background-color: #32AA27; 
	z-index: 10;
	pointer-events: none;
	opacity: 0;
	transform: scale(.8);
	transition: opacity 100ms ease, transform 150ms ease;
}

.formContainer_Overlay.is-visible {
  	opacity: 1;
	display: grid;
  	transform: scale(1);
	pointer-events: auto;
}

.form_Item{
	width: 100%;
}

.form_InputField{
	width: calc(100% - 6px);
	box-sizing: border-box;
	border: 0;
	border-bottom: 2px solid white;
	padding: 12px;
	font-size: 16px;
	margin: 1.5px 3px;
	font-family: poppins;
}

.form_Label{
	padding-left: 16px;
	color: #162415;
	font-weight: 600;
	line-height: 26px;
}

.form_SendButton{
	float: right;
	padding: 12px;
	margin: 12px;
	width: 160px;
	font-size: 1.2em;
	color: white;
	background-color: #32AA27;
	border-radius: 32px;
	border: 0;
	cursor: pointer;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
	letter-spacing: 1.2;

	transition: transform 0.2s ease;
}

.form_SendButton:hover{
	transform: scale(1.05);
}

.footerLink{
	padding: 20px 0px;
	color: white;
}


/* Pricing Sheet Start */
:root{
  --primary:#32AA27;
  --secondary:#26801D;
  --ink:#0b0b0c;
  --muted:#6b7280;
  --border:#e3e3e3;
  --bg:#f8f9fa;
  --card:#fff;
}

/* New one-off band */
.single-offer--band{
  display:flex;align-items:stretch;gap:0;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
  padding:0;
  margin:1.5rem 0 1rem;
}
.so-accent{
  width:6px;
  background:var(--primary);
  flex:0 0 6px;
}
.so-main{
  display:flex;flex-direction:column;
  padding:1rem 1.2rem;
  width:100%;
  gap:.8rem;
}
.so-header{
  display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;
}
.so-title-wrap{max-width:780px;}
.so-title{margin:0;font-size:1.15rem;font-weight:650;color:var(--ink);}
.so-sub{margin:.25rem 0 0;color:#3d3f43;font-size:.95rem;line-height:1.5;}
.so-pricechip{
  align-self:flex-start;
  background:#f1fdf0;
  border:1px solid #d4f8d1;
  color:var(secondary);
  padding:.35rem .6rem;
  border-radius:999px;
  font-weight:650;font-size:.95rem;
  white-space:nowrap;
}

/* Content row under header: features + CTA */
.so-content-row{
  display:flex;
  align-items:flex-start;           /* TOP align everything */
  justify-content:space-between;
  flex-wrap:wrap;
  margin-top:.8rem;
  gap:1rem;
}
.so-features{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  flex:1 1 auto;
  min-width:220px;
}
.so-pill{
  border:1px solid var(--border);
  border-radius:999px;
  padding:.35rem .6rem;
  font-size:.92rem;
  color:#333;
  background:#fff;
}

/* Align CTA to top-right on larger screens */
.so-actions{
  flex-shrink:0;
  display:flex;align-items:flex-start;justify-content:flex-end;
  margin-left:auto;               /* push to the far right */
  align-self:flex-start;          /* TOP align the button block */
  margin-top:0;                   /* prevent drop */
}

/* CTA button */
.link-cta{
  color:#fff;background:var(--primary);
  border:1px solid var(--primary);
  padding:.55rem 1rem;
  border-radius:8px;
  font-weight:600;
  font-size:.95rem;
  text-decoration:none;

  transition:background .15s ease, transform .05s ease, box-shadow .15s ease;
}
.link-cta:hover{
  background:var(secondary);
  border-color:var(secondary);
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(38,128,29,.15);
}

/* Tiny note */
.tiny-note{margin:.6rem 0 1.25rem;color:var(--muted);font-size:.92rem;}

/* Pricing cards layout */
.cards-wrapper{display:flex;gap:1rem;align-items:stretch;flex-wrap:wrap;}
@media(min-width:1050px){
  .cards-wrapper{flex-wrap:nowrap}
  .card{flex:1 1 33.333%;}
}
.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:10px;
  padding:1.2rem;
  flex:1 1 300px;
  display:flex;flex-direction:column;position:relative;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.card:hover{border-color:var(--primary);box-shadow:0 6px 20px rgba(50,170,39,.08);}
.card-highlight{border-color:var(--primary);}
.card-pop{
  background:linear-gradient(180deg,rgba(50,170,39,0.06),rgba(50,170,39,0.02));
  box-shadow:0 10px 28px rgba(38,128,29,.10);
  transform:translateY(-2px);
}
.card-pop .card-badge{background:#eefaea;border-color:#d8f5d4;}
.card-pop .btn{box-shadow:0 6px 16px rgba(38,128,29,.15);}

/* Card badges */
.card-badge{
  display:inline-block;
  font-size:.7rem;
  font-weight:600;
  color:var(secondary);
  background:#f1fdf0;
  border:1px solid #d4f8d1;
  padding:.22rem .5rem;
  border-radius:999px;
  margin-bottom:.6rem;
}
.card-flag{
  position:absolute;
  top:-12px;right:12px;
  background:var(--primary);color:#fff;
  font-size:.7rem;font-weight:600;
  padding:.35rem .55rem;
  border-radius:9px;
}

/* Stick CTA buttons to the bottom of each card */
.card a.btn,
.card a.btn-outline {
  margin-top: auto;       /* pushes button to bottom */
  align-self: flex-start; /* keeps width tidy; remove if you want full-width */
}

/* Card content */
.card-title{margin:0 0 .45rem;font-size:1.15rem;color:var(--ink);}
.price-row{display:flex;align-items:baseline;gap:.4rem;margin:.2rem 0 .7rem;}
.price-amount{font-size:1.55rem;font-weight:700;color:var(--ink);}
.price-period{color:var(--muted);font-size:.92rem;}
.card-summary{color:#444;margin:0 0 .85rem;font-size:.95rem;}
.features{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1rem;}
.feature{
  display:flex;align-items:center;gap:.45rem;
  color:#333;font-size:.92rem;
}
.feature::before{
  content:"";
  width:12px;height:12px;
  border-radius:50%;
  border:2px solid var(--primary);
}

/* Buttons */
.btn{
  display:inline-block;
  text-align:center;
  padding:.65rem 1rem;
  background:var(--primary);
  color: var(--primary);
  border-radius:8px;
  font-weight:600;font-size:.95rem;
  text-decoration:none;
  border:1px solid var(--primary);
  transition:all .15s ease;
}
.btn:hover{
  background:var(secondary);
  border-color:var(secondary);
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(38,128,29,.15);
}
.btn-outline{
  background:#fff;
  color:var(--primary);
  border-color:var(--primary);
}
.btn-outline:hover{background:#f6fff6;}

/* Bottom reassurance */
.tiny-faq{margin-top:1.25rem;color:#3d3f43;font-size:.94rem;}

/* Responsive tweaks */
@media(max-width:720px){
  .so-header{gap:.6rem;}
  .so-pricechip{order:2;}
  .so-title-wrap{order:1;}
  .so-actions{margin-left:0;justify-content:flex-start;align-self:auto;}
}
@media(max-width:640px){
  .so-features{gap:.5rem;}
  .price-amount{font-size:1.4rem;}

  .card a.btn,
  .card a.btn-outline {
    align-self: stretch;
    text-align: center;
  }
}

/* Pricing Sheet End */


@media (max-width: 1060px) {
	.margins{
		margin-left: 30px;
		width: calc(100vw - 60px)
	}
}

@media (max-width: 730px) {
	.fixedHeader_Title{
		width: 100%;
		max-width: calc(100% - 100px);
		font-size: 2em;
	}


	.fixedHeader_Buttons{
		display: none;
	}

	.fiedHeader_DropdownButton{
		display: inline-block;
		float:right;
		line-height: 80px;
		color: black;
		width: 100px;
		text-align: right;
		font-size: 2em;
		font-weight: 600;
	}

	.home_Heading{
		font-size: 3.2em; 
	}

	.flexGrid{
		gap: 20px;
	}

	.flexGrid_Item{
		flex: 1 1 calc(50% - 20px);
		max-width: calc(50% - 10px);
	}

	.about{
		flex-direction: column;
	}

	.aboutText{
		width: 100%;
		padding-bottom: 50px;
		padding-right: 0px;
	}

	.aboutImg{
		float:center;
		width: 74vw;
		max-width: 300px;
	}

	.whatIdo_Grid{
		flex-wrap: nowrap;
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
	}

	.whatIdo_GridItem{
		width: 330px;
		max-width: 100%;
		padding-bottom: 40px;
		padding-top: 40px;
	}

	.whatIdo_Img{
		max-width: 72%;
		margin-left: 14%;
	}

	.formContainer{
		max-width: 100%;
	}

	.contact_Text{
		max-width: 100%;
	}
}

@media (max-height: 450px){
	.fixedHeader{
		display: none;
	}

	.section_top{
		height: 100%;
		align-items: center; 
	}

	.home_Heading{
		margin-top: 30px;
	}

	.headerPines{
    	display: none;
	}

	.aboutImg{
		float:center;
		height: 74vw;
		max-height: 300px;
		padding-left: 0px;
	}
}

@media (max-width: 450px) {
	.fixedHeader_Title{
		font-size: 1.45em;
	}

	.flexGrid_Item{
		flex: 1 1 calc(100%);
		max-width: calc(100%);
	}
}