/*
Theme Name:  Salient Child — Ed's Tree, Lawn & Landscaping
Template:    salient
Version:     1.0.0
Description: Child theme for Ed's Tree, Lawn & Landscaping.
Text Domain: salient-child
*/

:root {
	--eds-green: #065744;
	--eds-green-deep: #053e2f;
	--eds-green-icon: #107306;
	--eds-lime: #2afd18;
	--eds-text: #3d4642;
	--eds-card: #f1f6f2;
	--eds-logo-bg: #ede7e7;
	--eds-font: 'DM Sans', sans-serif;
}

/* ------------------------------------------------------------ Base type */
body,
body p,
body .nectar-button,
#top nav > ul > li > a,
body h1, body h2, body h3, body h4, body h5, body h6,
input, textarea, button {
	font-family: var(--eds-font);
}
body {
	color: var(--eds-text);
	font-size: 18px;
	line-height: 28px;
}
body h1, body h2, body h3, body h4 {
	letter-spacing: 0;
}
.eds-center { text-align: center; }
body .wpb_text_column p:last-child { padding-bottom: 0; }

.eds-eyebrow {
	margin: 0 0 14px;
	padding: 0 !important;
	font-size: 18px;
	line-height: 1.2;
	font-weight: 400;
	text-transform: uppercase;
	color: var(--eds-green);
}
.eds-eyebrow--light { color: #fff; }

body .eds-h2 {
	margin: 0;
	font-size: 60px;
	line-height: 66px;
	font-weight: 600;
	color: var(--eds-green-deep);
}
body .eds-h2--light { color: #fff; }

/* ------------------------------------------------------------ Buttons */
body .nectar-button.eds-btn {
	font-family: var(--eds-font);
	font-size: 20px;
	line-height: 1;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	padding: 20px 33px !important;
	border-radius: 6px !important;
	box-shadow: none;
	margin: 0;
}
body .nectar-button.eds-btn span { font-weight: inherit; }
body .nectar-button.eds-btn--shadow { box-shadow: 0 6px 12px rgba(0, 0, 0, .22); padding: 21px 39px !important; border-radius: 8px !important; }
body .nectar-button.eds-btn--sm { font-size: 18px; padding: 11px 19px !important; }
body .nectar-button.eds-btn:hover { filter: brightness(1.05); transform: translateY(-1px); }

/* ------------------------------------------------------------ Header */
#header-outer {
	--eds-header-pad: 0px;
}
#header-outer[data-transparent-header="true"].transparent #logo,
#header-outer #logo {
	position: relative;
}
#header-outer #logo img {
	border-radius: 0 0 74px 74px / 0 0 60px 60px;
}
#header-outer[data-transparent-header="true"].transparent {
	top: 6px !important;
}
#header-outer #top nav > ul.sf-menu > li > a {
	font-size: 20px;
	font-weight: 500;
	line-height: 24px;
}
#header-outer #top nav > ul.sf-menu > li {
	margin-left: 0;
}
#header-outer[data-transparent-header="true"] #top nav > ul.sf-menu:not(.buttons) > li > a {
	padding-left: 20px;
	padding-right: 20px;
}
#header-outer #top nav > ul.sf-menu > li.menu-item-has-children > a .sf-sub-indicator,
#header-outer #top nav > ul.sf-menu > li.menu-item-has-children > a::after {
	color: inherit;
}

/* "Call Now" block in the header button area */
#top nav ul.buttons li.eds-header-call {
	margin-left: 162px !important;
	display: flex;
	align-items: center;
}
#top nav ul.buttons li.eds-header-call > a {
	display: flex !important;
	align-items: center;
	gap: 10px;
	padding: 0 !important;
	line-height: 1 !important;
}
#top nav ul.buttons li.eds-header-call img {
	width: 55px;
	height: 55px;
	display: block;
}
.eds-header-call__text {
	display: flex;
	flex-direction: column;
	gap: 6px;
	color: inherit;
}
.eds-header-call__text small {
	font-size: 14px;
	line-height: 1;
	font-weight: 500;
	text-transform: uppercase;
}
.eds-header-call__text strong {
	font-size: 22px;
	line-height: 1;
	font-weight: 600;
	letter-spacing: .02em;
}
#header-outer.transparent .eds-header-call__text { color: #fff; }
#header-outer:not(.transparent) .eds-header-call__text { color: var(--eds-green-deep); }

/* Scrolled (solid) header: compact logo so the bar stays slim. */
#header-outer:not(.transparent) #logo img {
	height: 90px !important;
	transition: height .25s ease;
}
#header-outer:not(.transparent) #top {
	box-shadow: 0 6px 20px rgba(0, 0, 0, .06);
}
#header-outer #top .sf-menu > li ul {
	border-radius: 0 0 10px 10px;
}

/* Inset rounded sections (hero, services, contact): the stretched background sits 16px in from each edge. */
body .wpb_row.eds-inset > .row-bg-wrap {
	left: 50%;
	margin-left: calc(-50vw + var(--scroll-bar-w, 0px) / 2 + 16px) !important;
	width: calc(100vw - var(--scroll-bar-w, 0px) - 32px) !important;
	overflow: hidden;
}

/* All menu items full white on the transparent header (Material skin dims inactive ones). */
#header-outer.transparent #top nav > ul.sf-menu > li > a { opacity: 1 !important; color: #fff !important; }

/* ------------------------------------------------------------ 1. Hero */
.eds-hero > .row-bg-wrap .row-bg {
	background-size: cover;
}
.eds-hero > .row-bg-wrap .row-bg-overlay {
	background: linear-gradient(90deg, rgba(0, 0, 0, .25), rgba(0, 0, 0, 0) 70%);
}
body .eds-hero__title {
	margin: 0 0 22px;
	font-size: 96px;
	line-height: 100px;
	font-weight: 600;
	color: #fff;
	text-shadow: 0 2px 12px rgba(0, 0, 0, .15);
}
.eds-hero__lead {
	max-width: 615px;
	margin: 0 0 30px;
	padding: 0 !important;
	font-size: 20px;
	line-height: 30px;
	color: #fff;
}
.eds-btn--lime span { color: var(--eds-green) !important; }

/* ------------------------------------------------------------ 2. About */
@media (min-width: 1000px) {
	body .eds-about > .row_col_wrap_12 > .eds-about__intro { width: 36.2% !important; margin-right: 2.1% !important; }
	body .eds-about > .row_col_wrap_12 > .eds-about__photo { width: 36.2% !important; margin-right: 1.2% !important; }
	body .eds-about > .row_col_wrap_12 > .eds-about__side { width: 24.3% !important; margin-right: 0 !important; }
	.eds-about__photo { align-self: flex-start; }
}
.eds-about .eds-h2 { margin-bottom: 14px; }
.eds-about__copy {
	padding-bottom: 20px !important;
	font-size: 18px;
	line-height: 28px;
	color: #444;
}
.eds-radius img, img.eds-radius, .eds-radius .img-with-aniamtion-wrap .inner { border-radius: 20px; }
.eds-radius .hover-wrap, .eds-radius .hover-wrap-inner { border-radius: 20px; overflow: hidden; }
.eds-shadow .hover-wrap { box-shadow: 0 6px 14px rgba(0, 0, 0, .18); }

/* Progress bars */
.eds-about__side .nectar-progress-bar {
	margin-bottom: 30px;
}
.eds-about__side .nectar-progress-bar p {
	font-size: 18px;
	line-height: 1;
	font-weight: 600;
	color: #222;
	padding-bottom: 10px;
}
.eds-about__side .nectar-progress-bar .bar-wrap {
	height: 12px;
	border-radius: 10px;
	background: #e3e3e3;
	box-shadow: none;
}
.eds-about__side .nectar-progress-bar span,
.eds-about__side .nectar-progress-bar .bar-wrap > span {
	height: 12px;
	border-radius: 10px;
	background: var(--eds-green) !important;
}
.eds-about__side .nectar-progress-bar span strong { display: none; }
.eds-about__small { margin-bottom: 18px !important; }

/* Experience card */
.eds-exp-card-row { margin-bottom: 0 !important; }
.eds-exp-card { box-shadow: 0 6px 14px rgba(0, 0, 0, .15); }
.eds-exp-card__lead {
	max-width: 250px;
	margin: 0 auto;
	padding: 0 !important;
	font-size: 18px;
	line-height: 24px;
	font-weight: 600;
	color: #fff;
}
.eds-exp-card__stat {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin: 0 0 8px;
}
.eds-exp-card__num {
	font-size: 90px;
	line-height: 90px;
	font-weight: 600;
	color: #fff;
}
.eds-exp-card__label {
	font-size: 18px;
	line-height: 24px;
	font-weight: 600;
	color: #fff;
	text-align: left;
}
body .nectar-button.eds-btn--green { border-radius: 8px !important; padding: 13px 19px !important; font-size: 16px; }

/* ------------------------------------------------------------ 3. Services */
.eds-services .eds-h2 { margin-bottom: 46px; }
.eds-service-grid { margin-bottom: 30px !important; }
.eds-service-grid:last-child { margin-bottom: 0 !important; }
.eds-service-card > .vc_column-inner {
	padding: 11px 10px 26px !important;
	position: relative;
	height: 100%;
}
.eds-service-card > .vc_column-inner::after {
	content: '';
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 16px;
	height: 8px;
	border-radius: 6px;
	background: var(--eds-green);
}
.eds-service-card .img-with-aniamtion-wrap { margin-bottom: 30px; }
.eds-service-card .img-with-aniamtion-wrap .hover-wrap,
.eds-service-card .img-with-aniamtion-wrap img { border-radius: 12px; }
.eds-service-card .img-with-aniamtion-wrap img { width: 100%; aspect-ratio: 437 / 300; object-fit: cover; }
.eds-service-card .wpb_text_column { padding: 0 16px 30px; }
body .eds-service-card__title {
	margin: 0 0 18px;
	font-size: 32px;
	line-height: 36px;
	font-weight: 600;
	color: var(--eds-green);
}
body .eds-services .eds-service-card__text {
	margin: 0 0 14px;
	padding: 0 !important;
	font-size: 18px;
	line-height: 28px;
	color: #333 !important;
}
.eds-read-more {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 16px;
	font-weight: 600;
	color: var(--eds-green) !important;
}
.eds-read-more span { font-size: 22px; transition: transform .2s; }
.eds-read-more:hover span { transform: translateX(4px); }

/* Estimate card */
.eds-estimate-card > .vc_column-inner {
	border: 10px solid #fff;
	border-radius: 15px;
	overflow: hidden;
	height: 100%;
	padding: 82px 34px 40px !important;
	background-size: cover;
}
.eds-estimate-card > .vc_column-inner > .column-bg-overlay-wrap,
.eds-estimate-card .column-image-bg-wrap,
.eds-estimate-card .column-image-bg { border-radius: 6px; }
body .eds-estimate-card__title {
	margin: 0 0 6px;
	font-size: 44px;
	line-height: 50px;
	font-weight: 600;
	color: #fff;
	text-align: left;
}

/* Contact list (estimate card, contact section, footer) */
ul.eds-contact-list {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left;
}
ul.eds-contact-list li {
	list-style: none;
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 8px;
	padding: 0;
	color: #fff;
}
ul.eds-contact-list li img {
	width: 55px !important;
	height: 55px !important;
	flex: 0 0 auto;
	margin: 0 !important;
}
ul.eds-contact-list a, ul.eds-contact-list span { color: #fff !important; }
ul.eds-contact-list--sm li.is-big { font-size: 28px; line-height: 32px; font-weight: 500; }
ul.eds-contact-list--sm li.is-small { font-size: 18px; line-height: 24px; font-weight: 600; }
ul.eds-contact-list--lg li { margin-bottom: 8px; }
ul.eds-contact-list--lg li img { width: 85px !important; height: 85px !important; margin: -14px -14px -14px -14px !important; }
ul.eds-contact-list--lg li.is-big { font-size: 28px; line-height: 32px; font-weight: 500; }
ul.eds-contact-list--lg li.is-small { font-size: 18px; line-height: 24px; font-weight: 600; margin-top: 10px; }
ul.eds-contact-list--lg li + li.is-small + li.is-small { margin-top: 18px; }

/* ------------------------------------------------------------ 4. Why choose us */
.eds-why-head__copy p {
	font-size: 16px;
	line-height: 28px;
	color: #333;
	padding-top: 6px;
}
@media (min-width: 1000px) {
	body .eds-why-head > .row_col_wrap_12 > .eds-why-head__copy { width: 47.3% !important; margin-left: auto !important; margin-right: 0 !important; }
	body .eds-why-head > .row_col_wrap_12 > .wpb_column:first-child { width: 50% !important; }
	body .eds-why > .row_col_wrap_12 > .eds-why__cards { width: 60.6% !important; margin-right: 0 !important; }
	body .eds-why > .row_col_wrap_12 > .eds-why__photo { width: 37.8% !important; margin-right: 0 !important; margin-left: auto !important; }
	/* The photo asset has its drop shadow baked in (~29px each side), so let it bleed past the column. */
	body .eds-why__photo .img-with-aniamtion-wrap img { width: calc(100% + 58px) !important; max-width: none !important; margin: -30px -29px !important; }
}
.eds-why-head { padding-bottom: 20px !important; }
.eds-why-card .wpb_text_column h3, .eds-why-card .wpb_text_column p { padding-bottom: 0; }
.eds-why__cards .wpb_row.inner_row { margin-bottom: 20px !important; }
.eds-why__cards .wpb_row.inner_row:last-child { margin-bottom: 0 !important; }
.eds-why-card > .vc_column-inner,
.eds-discount-card > .vc_column-inner {
	height: 100%;
	min-height: 287px;
	padding: 26px 24px 24px !important;
}
.eds-why-card__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 78px;
	height: 78px;
	margin-bottom: 18px;
	border-radius: 50%;
	background: var(--eds-green);
	color: #fff;
	font-size: 32px;
	font-weight: 600;
	transition: background .25s, color .25s;
}
.eds-why-card.is-active .eds-why-card__num,
.eds-why-card:hover .eds-why-card__num {
	background: #fff;
	color: var(--eds-green);
}
body .eds-why-card__title {
	margin: 0 0 6px;
	font-size: 32px;
	line-height: 36px;
	font-weight: 600;
	color: var(--eds-green);
}
.eds-why-card__text {
	padding: 0 !important;
	font-size: 18px;
	line-height: 28px;
	color: #333;
}
.eds-why-card__text a {
	font-style: italic;
	font-weight: 500;
	color: var(--eds-green);
}
.eds-discount-card > .vc_column-inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 60px 30px !important;
}
body .eds-discount-card__title {
	margin: 0 0 18px;
	font-size: 32px;
	line-height: 35px;
	font-weight: 600;
	color: #fff;
}
.eds-discount-card__title span { color: var(--eds-lime); }

/* ------------------------------------------------------------ 5. Gallery */
.eds-gallery .nectar-flickity .flickity-viewport { overflow: visible; }
.eds-gallery .nectar-flickity { padding: 0 0 14px; }
/* Project images (486x580) carry their own rounded frame + shadow, so cells show them edge to edge. */
@media (min-width: 1000px) { body .eds-gallery .nectar-flickity .flickity-slider > .cell { width: 486px !important; } }
.eds-gallery .nectar-flickity .cell { padding: 0 !important; margin-right: -10px; }
.eds-gallery .wpb_text_column, .eds-gallery .wpb_wrapper > div { margin-bottom: 0 !important; }
.eds-project {
	position: relative;
	display: block;
}
.eds-project img {
	display: block;
	width: 100%;
	aspect-ratio: 486 / 580;
	object-fit: cover;
	margin: 0 !important;
}
.eds-project__overlay {
    position: absolute;
    inset: 12px 15px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* padding-top: 48%; */
    border-radius: 14px;
    background: rgba(17, 120, 52, .82);
    color: #fff;
    opacity: 0;
    transition: opacity .3s ease;
    justify-content: center;
}
.eds-project:hover .eds-project__overlay,
.eds-gallery .cell.is-selected .eds-project__overlay { opacity: 1; }
.eds-project__title { font-size: 28px; line-height: 34px; font-weight: 600; }
.eds-project__plus { font-size: 52px; line-height: 50px; font-weight: 300; }
.eds-gallery .flickity-page-dots { margin-top: 34px; position: relative; bottom: 0; }
.eds-gallery .flickity-page-dots .dot {
	width: 8px !important;
	height: 8px !important;
	margin: 0 12px !important;
	background: #9aa0a6 !important;
	border-radius: 50% !important;
	transform: none !important;
	opacity: 1 !important;
}
.eds-gallery .flickity-page-dots .dot.is-selected {
	background: #000 !important;
	box-shadow: 0 0 0 7px #fff, 0 0 0 8px #999;
}
.eds-gallery .flickity-page-dots .dot::before, .eds-gallery .flickity-page-dots .dot::after { display: none; }

/* ------------------------------------------------------------ 6. Reviews */
.eds-review-arrows {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	padding-top: 40px;
}
.eds-review-arrows button {
	width: 52px;
	height: 52px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	background: var(--arrows) no-repeat 0 0 / 116px 52px;
	transition: transform .2s;
}
.eds-review-arrows button[data-dir="next"] { background-position: -64px 0; }
.eds-review-arrows button:hover { transform: scale(1.06); }
.eds-reviews .nectar-flickity .flickity-viewport { overflow: visible; }
@media (min-width: 1000px) { body .eds-reviews .nectar-flickity .flickity-slider > .cell { width: 538px !important; } }
.eds-reviews .nectar-flickity .cell { padding: 0 38px 0 0 !important; }
.eds-reviews .wpb_text_column { margin-bottom: 0 !important; }
.eds-reviews .row_col_wrap_12, .eds-reviews .vc_column-inner { overflow: visible; }
body .eds-reviews, body .eds-reviews .nectar-flickity { overflow: visible !important; }
html, body { overflow-x: clip; }
.eds-review {
	min-height: 354px;
	padding: 42px 40px 36px;
	border: 1px solid #d9d9d9;
	border-radius: 30px;
	background: #fff;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .06);
}
.eds-review__head {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 22px;
}
.eds-review__quote {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 53px;
	height: 53px;
	border-radius: 8px;
	background: var(--eds-green);
	color: #fff;
	font-size: 30px;
	font-style: italic;
	font-weight: 300;
	letter-spacing: -2px;
	flex: 0 0 auto;
}
body .eds-review__name {
	margin: 0 0 2px;
	font-size: 22px;
	line-height: 28px;
	font-weight: 500;
	color: #111;
}
.eds-review__stars { color: #e8c547; font-size: 22px; letter-spacing: 1px; line-height: 1; }
.eds-review__text {
	padding: 0 !important;
	font-size: 18px;
	line-height: 28px;
	color: #222;
}

/* ------------------------------------------------------------ 7. Contact */
.eds-contact > .row-bg-wrap .row-bg { background-size: cover; }
body .eds-contact__title {
	margin: 0 0 12px;
	font-size: 80px;
	line-height: 100px;
	font-weight: 400;
	color: #fff;
}
.eds-contact__lead {
	max-width: 560px;
	margin: 0 0 22px;
	padding: 0 !important;
	font-size: 22px;
	line-height: 32px;
	color: #fff;
}
@media (min-width: 1000px) {
	.eds-contact > .row_col_wrap_12 > .eds-contact__form { width: 39.2%; margin-left: auto; margin-right: 3.4%; }
}
.eds-form {
	padding: 56px 55px 60px;
	border-radius: 40px;
	background: rgba(255, 255, 255, .22);
	font-family: 'Plus Jakarta Sans', var(--eds-font);
}
.eds-form .eds-form-note {
	margin: 0 0 22px;
	padding: 0;
	font-family: 'Plus Jakarta Sans', var(--eds-font);
	font-size: 18px;
	line-height: 34px;
	color: #fff;
}
.eds-form .eds-field { margin-bottom: 30px; }
.eds-form input[type="text"],
.eds-form input[type="email"],
.eds-form input[type="tel"],
.eds-form textarea {
	width: 100%;
	padding: 10px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, .45) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-family: 'Plus Jakarta Sans', var(--eds-font);
	font-size: 16px !important;
	line-height: 24px;
	color: #fff !important;
}
.eds-form textarea { height: 95px; resize: vertical; }
.eds-form ::placeholder { color: #fff; opacity: 1; }
.eds-form .wpcf7-submit.eds-submit {
	width: 100%;
	height: 67px;
	margin-top: 0;
	border-radius: 14px !important;
	background: var(--eds-green) !important;
	font-family: var(--eds-font);
	font-size: 18px !important;
	font-weight: 600;
	letter-spacing: .02em;
	color: #fff !important;
	box-shadow: none;
}
.eds-form .wpcf7-spinner { position: absolute; }
.eds-form .wpcf7-response-output { color: #fff; border-radius: 10px; margin: 16px 0 0 !important; }

/* ------------------------------------------------------------ 8. Footer (global section) */
#footer-outer .nectar-global-section.nectar_hook_global_section_footer .container,
#footer-outer .nectar-global-section .container { max-width: 1440px; }
#footer-outer { background: var(--eds-green) !important; }
.eds-footer { padding-top: 0 !important; }
.eds-footer__brand .img-with-aniamtion-wrap { margin-bottom: 26px; }
img.eds-footer__logo {
	width: 203px !important;
	border-radius: 0 0 102px 102px / 0 0 84px 84px;
}
.eds-footer__about {
	max-width: 420px;
	padding: 0 0 8px !important;
	font-size: 18px;
	line-height: 26px;
	color: #fff;
}
body .eds-footer__follow { margin: 0 0 12px; font-size: 18px; line-height: 1.2; font-weight: 600; color: #fff; }
.eds-social { display: flex; gap: 12px; }
.eds-social a {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--social) no-repeat 0 0 / 188px 38px;
	transition: transform .2s;
}
.eds-social a:nth-child(2) { background-position: -50px 0; }
.eds-social a:nth-child(3) { background-position: -100px 0; }
.eds-social a:nth-child(4) { background-position: -150px 0; }
.eds-social a:hover { transform: translateY(-2px); }
@media (min-width: 1000px) {
	.eds-footer > .row_col_wrap_12 > .eds-footer__brand { width: 34.4%; margin-right: 0; }
	.eds-footer > .row_col_wrap_12 > .eds-footer__cols {
		width: 65.6%;
		padding: 118px 0 26px 94px;
		border-left: 1px solid rgba(255, 255, 255, .22);
		margin-top: 118px;
		padding-top: 0;
	}
	.eds-footer__cols .inner_row > .row_col_wrap_12_inner > .wpb_column:nth-child(1) { width: 29.5%; margin-right: 0; }
	.eds-footer__cols .inner_row > .row_col_wrap_12_inner > .wpb_column:nth-child(2) { width: 32.5%; margin-right: 0; }
	.eds-footer__cols .inner_row > .row_col_wrap_12_inner > .wpb_column:nth-child(3) { width: 38%; margin-right: 0; }
	.eds-footer__news-row .row_col_wrap_12_inner > .wpb_column:first-child { width: 62% !important; }
}
body .eds-footer__heading {
	margin: 0 0 22px;
	font-size: 32px;
	line-height: 36px;
	font-weight: 600;
	color: #fff;
}
ul.eds-footer-links { margin: 0; padding: 0; list-style: none; }
ul.eds-footer-links li { list-style: none; margin: 0 0 10px; font-size: 18px; line-height: 26px; }
ul.eds-footer-links a { color: #fff !important; transition: color .2s; }
ul.eds-footer-links a:hover { color: var(--eds-lime) !important; }
ul.eds-contact-list--xs li { margin-bottom: 4px; font-size: 16px; font-weight: 600; }
ul.eds-contact-list--xs li img { width: 42px !important; height: 42px !important; }
ul.eds-contact-list--xs li.is-small { font-size: 11px; }
.eds-footer__news-row { margin-top: 30px; margin-bottom: 0 !important; }
.eds-news {
	display: flex;
	align-items: center;
	border-bottom: 1px solid rgba(255, 255, 255, .3);
}
.eds-news .wpcf7-form-control-wrap { flex: 1; }
.eds-news input[type="email"] {
	width: 100%;
	padding: 12px 8px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 16px !important;
	color: #fff !important;
}
.eds-news input::placeholder { color: #fff; opacity: 1; }
.eds-news .wpcf7-submit.eds-news-btn {
	padding: 0 4px !important;
	background: transparent !important;
	font-size: 30px !important;
	line-height: 1;
	font-weight: 300;
	color: #fff !important;
	box-shadow: none !important;
}
.eds-news-form .wpcf7-spinner { display: none; }
.eds-news-form .wpcf7-response-output { color: #fff; margin: 10px 0 0 !important; }
.eds-copyright > .row_col_wrap_12 { border-top: 1px solid rgba(255, 255, 255, .15); }
.eds-copyright .wpb_text_column p {
	margin: 0;
	padding: 18px 0 22px !important;
	text-align: center;
	font-size: 18px;
	color: #fff;
}
.eds-copyright a { color: var(--eds-lime) !important; font-style: italic; font-weight: 500; }

/* ------------------------------------------------------------ Responsive */
@media (max-width: 1440px) {
	body .eds-hero__title { font-size: 80px; line-height: 86px; }
	#top nav ul.buttons li.eds-header-call { margin-left: 40px; }
}
@media (max-width: 1199px) {
	body .eds-h2 { font-size: 46px; line-height: 52px; }
	body .eds-hero__title { font-size: 64px; line-height: 70px; }
	body .eds-contact__title { font-size: 60px; line-height: 70px; }
	#header-outer #top nav > ul.sf-menu:not(.buttons) > li > a { padding-left: 10px !important; padding-right: 10px !important; }
	#top nav ul.buttons li.eds-header-call { margin-left: 16px; }
	.eds-estimate-card__title { font-size: 34px; line-height: 40px; }
	ul.eds-contact-list--sm li.is-big { font-size: 22px; }
}
@media (max-width: 999px) {
	#header-outer #logo img { height: 110px !important; }
	#header-outer:not(.transparent) #logo img { height: 70px !important; }
	body .eds-h2 { font-size: 38px; line-height: 44px; }
	body .eds-hero__title { font-size: 48px; line-height: 54px; }
	.eds-hero__lead { font-size: 17px; line-height: 26px; }
	.eds-about__photo, .eds-about__side, .eds-why__photo, .eds-contact__form { margin-top: 30px; }
	.eds-service-card, .eds-estimate-card, .eds-why-card, .eds-discount-card { margin-bottom: 24px !important; }
	.eds-why__photo img { width: 100% !important; margin: 0 !important; }
	.eds-review-arrows { justify-content: flex-start; padding-top: 10px; }
	.eds-form { padding: 36px 26px; border-radius: 24px; }
	.eds-footer__brand { text-align: left; }
	.eds-footer__cols { margin-top: 30px; }
	.eds-reviews .nectar-flickity .cell { padding-right: 12px !important; }
}
@media (max-width: 690px) {
	body .eds-hero__title { font-size: 40px; line-height: 46px; }
	body .eds-h2 { font-size: 32px; line-height: 38px; }
	body .eds-contact__title { font-size: 44px; line-height: 52px; }
	ul.eds-contact-list--lg li.is-big, ul.eds-contact-list--sm li.is-big { font-size: 20px; }
	ul.eds-contact-list--lg li img { width: 70px !important; height: 70px !important; }
	.eds-review { padding: 30px 24px; min-height: 0; }
	.eds-exp-card__num { font-size: 70px; line-height: 70px; }
	.eds-estimate-card > .vc_column-inner { padding: 50px 22px 30px !important; }
}

/* ------------------------------------------------------------ Fine-tuning against the mockup */
body .eds-why-card .wpb_text_column p,
body .eds-why-card .wpb_text_column h3 { padding-bottom: 0 !important; }
.eds-why-card__num { margin-bottom: 14px; }
.eds-why-card__text { max-width: 360px; }
body .eds-discount-card > .vc_column-inner { padding: 50px 16px !important; }
@media (min-width: 1000px) {
	.eds-why-card > .vc_column-inner,
	.eds-discount-card > .vc_column-inner { height: 287px; min-height: 0; }
}
/* Icon PNGs include a soft shadow, so the visible circle is ~70% of the file: scale up to match the mockup. */
ul.eds-contact-list--sm li { gap: 4px; margin-bottom: 4px; }
ul.eds-contact-list--sm li img { width: 76px !important; height: 76px !important; margin: -8px -6px -8px -10px !important; }
ul.eds-contact-list--sm li.is-big, ul.eds-contact-list--lg li.is-big { font-weight: 600; }
body .eds-estimate-card__title { margin-bottom: 4px; }

/* Footer refinements */
body .eds-contact { margin-bottom: 20px !important; }
.container-wrap { padding-bottom: 0 !important; }
body .eds-footer__brand .hover-wrap,
body .eds-footer__brand .hover-wrap-inner,
body img.eds-footer__logo { width: 203px !important; max-width: 203px !important; }
body .eds-footer__brand .hover-wrap,
body img.eds-footer__logo { border-radius: 0 0 102px 102px / 0 0 84px 84px !important; overflow: hidden; }
.eds-footer__brand .img-with-aniamtion-wrap { margin-left: 9px; }
.eds-footer__news-row .wpb_column:first-child .vc_column-inner,
.eds-footer__news-row .wpb_text_column,
.eds-news-form,
.eds-news-form form { width: 100%; }
.eds-news input[type="email"] { width: 100% !important; }
ul.eds-contact-list--xs li { gap: 6px; }
ul.eds-contact-list--xs li img { width: 52px !important; height: 52px !important; margin: -6px -4px -6px -8px !important; }
ul.eds-contact-list a, .eds-footer a { opacity: 1 !important; }
.eds-review__quote {
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 34px;
	font-weight: 400;
	color: transparent;
	-webkit-text-stroke: 1.4px #fff;
	padding-top: 4px;
}
.eds-review__stars { font-size: 26px; letter-spacing: 0; }
.eds-gallery .flickity-page-dots { margin-top: 20px; }
.eds-gallery .nectar-flickity { padding-bottom: 0; }
#header-outer:not(.transparent) { background-color: #fff !important; }
#slide-out-widget-area, #slide-out-widget-area a, #slide-out-widget-area .off-canvas-menu-container li a {
	font-family: var(--eds-font) !important;
	font-weight: 600;
}

/* ------------------------------------------------------------ Inner pages */
body .eds-page-hero__title {
	margin: 0;
	font-size: 72px;
	line-height: 80px;
	font-weight: 600;
	color: #fff;
}
.eds-cta { margin-bottom: 20px !important; }
body .eds-cta__title { font-size: 60px; line-height: 70px; margin-bottom: 10px; }
.eds-cta__btn > .vc_column-inner { display: flex; justify-content: flex-end; align-items: center; height: 100%; }
.eds-about--page .nectar-progress-bar { margin-top: 24px; }
.eds-about--page .nectar-progress-bar p { font-size: 18px; font-weight: 600; color: #222; }
.eds-about--page .nectar-progress-bar .bar-wrap { height: 12px; border-radius: 10px; background: #e3e3e3; }
.eds-about--page .nectar-progress-bar span { height: 12px; border-radius: 10px; background: var(--eds-green) !important; }
.eds-about--page .nectar-progress-bar span strong { display: none; }
.eds-service-page .eds-about__copy a, .eds-legal a { color: var(--eds-green); font-weight: 600; }
.eds-gallery-grid, .eds-review-grid { margin-bottom: 30px !important; }
.eds-gallery-grid .eds-project img { aspect-ratio: 486 / 580; object-fit: cover; }
.eds-legal h3 { font-size: 28px; line-height: 34px; font-weight: 600; color: var(--eds-green-deep); margin: 26px 0 8px; }
.eds-faq .toggle h3 a, .eds-faq .toggle > .toggle-title a { font-family: var(--eds-font); font-size: 22px; font-weight: 600; color: var(--eds-green-deep); }
@media (max-width: 999px) {
	body .eds-page-hero__title { font-size: 44px; line-height: 50px; }
	body .eds-cta__title { font-size: 40px; line-height: 48px; }
	.eds-cta__btn > .vc_column-inner { justify-content: flex-start; margin-top: 20px; }
}

/* ------------------------------------------------------------ Full-content sections (service, about, gallery, reviews) */
.eds-service-page .eds-h2 { font-size: 46px; line-height: 54px; margin-bottom: 22px; }
.eds-service-page .eds-about__copy { margin-bottom: 0; }
body .eds-h3 { margin: 26px 0 12px; font-size: 26px; line-height: 32px; font-weight: 600; color: var(--eds-green-deep); }
.eds-photo img { width: 100%; aspect-ratio: 4 / 3.4; object-fit: cover; box-shadow: 0 10px 30px rgba(0, 0, 0, .12); }
.eds-service-page .nectar-button { margin-top: 26px; }
.eds-section-title { margin-bottom: 50px !important; }
.eds-footer__about a { color: #fff; font-weight: 600; }

ul.eds-check-list { margin: 0 0 22px; padding: 0; list-style: none; }
ul.eds-check-list li {
	position: relative;
	margin: 0 0 10px;
	padding-left: 34px;
	list-style: none;
	font-size: 18px;
	line-height: 28px;
}
ul.eds-check-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 4px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--eds-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%232afd18' stroke-width='3' d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 14px no-repeat;
}
.eds-check-list--cols ul.eds-check-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 18px; }

.eds-stat {
	padding: 34px 20px;
	border-radius: 20px;
	background: var(--eds-card);
	text-align: center;
}
.eds-stat strong { display: block; font-size: 54px; line-height: 1; font-weight: 700; color: var(--eds-green); }
.eds-stat span { display: block; margin-top: 10px; font-size: 18px; line-height: 24px; font-weight: 500; color: var(--eds-green-deep); }

.eds-review__stars .is-half {
	background: linear-gradient(90deg, #e8c547 50%, #d9d9d9 50%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.eds-gallery-page .eds-project { cursor: zoom-in; }

@media (max-width: 999px) {
	.eds-service-page .eds-h2 { font-size: 34px; line-height: 42px; }
	.eds-service-page__media { margin-top: 30px; }
	.eds-check-list--cols ul.eds-check-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.eds-stats .vc_col-sm-3 { margin-bottom: 16px; }
	.eds-stat strong { font-size: 42px; }
}
.eds-contact__lead a { color: #fff !important; font-weight: 700; white-space: nowrap; text-decoration: underline; text-underline-offset: 3px; }

/* Home banner (tree-work photo): darken the left side so the headline stays readable. */
.eds-hero:not(.eds-page-hero) > .row-bg-wrap::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
	background: linear-gradient(90deg, rgba(4, 30, 22, .72) 0%, rgba(4, 30, 22, .45) 45%, rgba(4, 30, 22, .1) 75%);
	pointer-events: none;
}
.eds-hero:not(.eds-page-hero) > .row-bg-wrap { overflow: hidden; }
@media (max-width: 999px) {
	.eds-hero:not(.eds-page-hero) > .row-bg-wrap::after { background: rgba(4, 30, 22, .55); }
}
