/*
Theme Name: Done Right Stump Grinding New
Theme URI: https://example.com/
Author: Sanjoy Kayal
Description: Custom Carbon Fields WordPress theme for Done Right Stump Grinding.
Version: 1.0.0
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: done-right
*/

:root{--lime:#9bdd28;--dark:#07120e;--ink:#111;--grey:#f3f4f2;--line:#dfe3dd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#171917;background:#fff}.max{max-width:1200px;margin:auto;padding:0 28px}.hero-img{display:block;width:100%;height:auto}.hero-wrap{position:relative;background:#08110d}.hot{position:absolute;display:block;z-index:5}.hot.quote{left:4.2%;top:82%;width:17%;height:12%}.hot.call{left:22.5%;top:82%;width:22%;height:12%}.hot.phone{right:2%;top:0;width:20%;height:15%}.section{padding:40px 0}.section h2{font-size:29px;margin:0 0 14px;font-weight:900}.line-title{display:flex;align-items:center;gap:15px}.line-title:after{content:"";height:2px;background:var(--lime);flex:1}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{background:linear-gradient(#fafafa,#f2f2f2);padding:22px;text-align:center;min-height:160px}.round{width:58px;height:58px;margin:-7px auto 9px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(#b8ed45,#78ba16);font-size:30px}.card h3{font-size:16px;margin:7px 0}.card p{font-size:14px;line-height:1.35;margin:0}.main-grid{display:block}.steps{margin-top:12px}.steps .card{position:relative;padding-top:35px;min-height:130px}.num{position:absolute;top:-17px;left:50%;transform:translateX(-50%);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#68b81d;color:#fff;font-size:23px;font-weight:900}.green-kicker{color:#5dad1b;font-weight:900;font-size:20px}.testimonials{}.review{background:#f5f5f4;padding:18px;font-size:13px;min-height:250px}.stars{color:#69b81c;font-size:20px;letter-spacing:1px}.review strong{display:block;margin-top:8px}.dots{text-align:center;color:#9ba09b;letter-spacing:6px}.dots b{color:#69b81c}.quote{background:linear-gradient(145deg,#0b1712,#06100d);color:white;padding:24px;border-radius:10px;position:relative;max-width:720px;margin:30px auto;max-height:calc(100vh - 50px);overflow:auto}.quote-modal{display:none;position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.78);padding:24px;overflow:auto}.quote-modal.open{display:block}.quote-close{position:sticky;float:right;top:0;z-index:3;width:42px;height:42px;border:0;border-radius:50%;background:var(--lime);font-size:26px;font-weight:900;cursor:pointer}.quote-intro{padding-right:48px}.quote h2{font-size:27px}.quote p{font-size:13px}.field{margin:10px 0}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:4px}.field input,.field select,.field textarea{width:100%;padding:10px;border:0;border-radius:3px;font:inherit}.field textarea{min-height:78px}.upload{background:#fff;color:#111;text-align:center;padding:18px 8px;border-radius:3px}.submit{width:100%;border:0;background:linear-gradient(#aee53d,#77c21d);padding:14px;font-size:19px;font-weight:900;cursor:pointer}.areas{display:grid;grid-template-columns:repeat(6,1fr);gap:8px 14px;font-size:13px}.areas span:before{content:"✓";display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#67b71b;color:#fff;font-weight:bold;margin-right:6px}.faq-head{display:flex;justify-content:space-between;align-items:center;gap:18px}.faq-btn{background:linear-gradient(#b3e84b,#7bc521);border:0;padding:13px 25px;font-weight:900;cursor:pointer}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-top:12px; align-items: flex-start;}.faq-item{background:#f1f2f1}.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:transparent;padding:12px 15px;text-align:left;cursor:pointer;font-size:14px}.faq-a{display:none;padding:0 15px 15px;font-size:13px;line-height:1.45}.faq-item.open .faq-a{display:block}.faq-item.open .plus{transform:rotate(45deg)}.extra-faq{display:none}.extra-faq.show{display:contents}.bottom{position:relative;background:#07120e}.bottom img{display:block;width:100%;height:auto}.bottom .bquote{left:7.5%;top:57%;width:22%;height:25%}.bottom .bcall{left:31%;top:57%;width:30%;height:25%}.footer{background:#06100d;color:#ddd;text-align:center;padding:14px;font-size:12px}.footer a{color:#ddd}.status{display:none;margin-top:10px;padding:10px;background:#e9f8d7;color:#23420d;font-weight:700}.mobile-cta{display:none}.quote-open{cursor:pointer}.modal-lock{overflow:hidden}

/* Real job gallery + video section */
.gallery-kicker{color:#f3b400;font-weight:900;text-transform:uppercase;letter-spacing:1px;text-align:center}.gallery-title{text-align:center;font-size:38px!important;margin:4px 0 6px!important}.gallery-sub{text-align:center;margin:0 0 22px;color:#555}.job-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.job-card{border:1px solid #ddd7cb;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 5px 20px rgba(0,0,0,.05)}.job-photo{position:relative;aspect-ratio:1/1.05;overflow:hidden}.job-photo img{width:100%;height:100%;object-fit:cover;display:block}.job-tag{position:absolute;left:14px;top:14px;background:#f3b400;color:#000;font-weight:900;font-size:12px;padding:9px 12px;border-radius:5px}.job-caption{padding:16px 17px;font-size:16px;font-weight:800;line-height:1.35}.action-section{background:#111;color:#fff;padding:42px 0}.action-section .gallery-sub{color:#eee}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.video-card{border:1px solid #383838;border-radius:15px;overflow:hidden;background:#181818}.video-screen{min-height:245px;display:grid;place-items:center;position:relative;background:linear-gradient(145deg,#171717,#121212)}.video-tag{position:absolute;left:14px;top:14px;background:#f3b400;color:#000;font-weight:900;font-size:12px;padding:9px 12px;border-radius:5px}.play{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:#ffbf00;color:#111;font-size:34px;text-decoration:none;box-shadow:0 0 0 10px rgba(255,191,0,.13)}.video-copy{padding:18px}.video-copy h3{margin:0 0 8px}.video-copy p{margin:0 0 14px;color:#ddd}.fb-link{color:#ffc400;text-decoration:none;font-weight:900}.fb-link:hover{text-decoration:underline}
@media(max-width:800px){.max{padding:0 16px}.section{padding:28px 15px}.section h2{font-size:25px}.cards{grid-template-columns:1fr}.testimonials{}.areas{grid-template-columns:repeat(2,1fr);font-size:12px}.faq-grid{grid-template-columns:1fr}.faq-head{align-items:flex-start;flex-direction:column}.faq-btn{width:100%}.hero-wrap{overflow:hidden}.hero-img{width:170%;max-width:none;transform:translateX(-2%)}.hot.quote{left:4%;top:79%;width:30%;height:17%}.hot.call{left:36%;top:79%;width:38%;height:17%}.hot.phone{display:none}.bottom{overflow:hidden}.bottom img{width:170%;max-width:none;min-height:210px;object-fit:cover;object-position:left center}.bottom .bquote{left:7%;top:55%;width:36%;height:28%}.bottom .bcall{left:45%;top:55%;width:45%;height:28%}.footer{font-size:11px;padding-bottom:78px}.job-gallery,.video-grid{grid-template-columns:1fr}.gallery-title{font-size:29px!important}.video-screen{min-height:210px}.quote-modal{padding:0;background:#07120e}.quote{margin:0;min-height:100vh;max-height:none;border-radius:0;padding:18px 16px 90px}.quote h2{font-size:25px}.quote-close{top:4px}.field input,.field select,.field textarea{font-size:16px;padding:13px}.upload{padding:20px 8px}.mobile-cta{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:900;background:#07120e;padding:9px 10px calc(9px + env(safe-area-inset-bottom));gap:8px;box-shadow:0 -3px 14px rgba(0,0,0,.25)}.mobile-cta a,.mobile-cta button{min-height:48px;border-radius:5px;font-weight:900;font-size:15px;text-decoration:none;display:grid;place-items:center}.mobile-cta button{border:0;background:var(--lime);color:#07120e}.mobile-cta a{border:2px solid var(--lime);color:#fff}.job-photo{aspect-ratio:4/3}.line-title{align-items:flex-start}.line-title:after{margin-top:15px}}

/*HERO*/
.hero-section-main{ background:url(images/stump-grinder-bg.png) no-repeat; background-size:cover; padding:60px 55px; display:flex; justify-content:space-between; position:relative; background-position: right; }
.hero-section-main img{ max-width:100% }

.hero-section-left{ width:50% ; max-width: 720px; position: relative; z-index: 99}
.hero-section-right{ width:50% ; max-width: 830px; position: relative; z-index: 99}
.hero__features{ background:#050e10; border-radius:0; padding:17px; display: grid;  grid-template-columns: repeat(4, 1fr); }
.hero__feature {  display: flex; flex-direction: row; align-items: center; gap: 30px;  justify-content: center;  text-align: left; border-right: 1px solid rgba(255, 255, 255, 0.2); font-family: arial; color: #fff; text-transform: uppercase; font-size: 18px; font-weight: 500; line-height: 1.5}
.hero__feature:last-child{ border:none; }
.hero__feature span{  }
.hero__feature-icon{ width:46px;  }

.hero-right-logo { text-align:right; margin: 0 0 0 0}
.hero-right-logo img{ max-width:240px; }

.hero-bottom{ height:74px; background:#0a1511 }

.hero-tag{ max-width:600px ; margin: 0 0 25px 0}
.hero__title { margin: 0 0 18px; font-size: clamp(20px, 1.8vw, 30px);  line-height: 1.25;  font-weight: 800;  letter-spacing: 0.5px; color: #fff}
.hero__title span { color: #78d900;  padding: 0 10px;}
.hero__description {   margin: 0; font-size: 24px;  line-height: 1.4; color: #fff;}

.btn-call{ align-items:center; gap:20px; background:transparent; border:2px solid #8ad729; border-radius:10px; padding:10px 28px; color:#fff; font-size:20px;font-weight:800; text-decoration: none; display:inline-flex; }
.btn-call:hover{background: linear-gradient(to bottom, #95dc33 0%, #55af18 100%);  }
.phone-icon{ width:46px; height:46px; background: linear-gradient(to bottom, #95dc33 0%, #55af18 100%); border-radius: 50%; display: flex; justify-content: center; align-items: center; color: #000}
.btn-quote{align-items:center; gap:20px;  background: linear-gradient(to bottom, #95dc33 0%, #55af18 100%); border:2px solid #8ad729; border-radius:10px; padding:10px 28px; color:#000; font-size:20px;font-weight:800; text-decoration: none; display:inline-flex;   }
.btn-quote:hover{  background: linear-gradient(to top, #95dc33 0%, #55af18 100%);}

.hero-buttons-group{ display:flex; gap:25px; margin:30px 0 0 0 }
.quote-icon{ color:#fff ; font-size: 24px; }

.hero__overlay { position: absolute;  inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.75) 28%, rgba(0, 0, 0, 0.25) 55%, rgba(0, 0, 0, 0) 75%);}


.bottom-section{ background:url(assets/images/bottom-image.png) no-repeat; background-size:cover; padding:130px 140px 55px ; display:flex;  }
.bottom-sec-left h2{ color:#fff; font-weight:800; font-size:66px;  margin: 0; padding: 0}
.bottom-sec-left h2 span{ color:#baf249 }
.bottom-sec-left { max-width:1120px; }
.bottom-sec-right{ position:relative; width:240px; }
.bottom-sec-right:after{ content:''; width:100%; height:100%; position: absolute; left: 0;  top: 0; background: #000; filter: blur(70px); }
.bottom-sec-right img{ position:relative; z-index:9 }


.banner {  flex: 1;  min-height: 215px;  display: flex;  justify-content: center;  align-items: flex-start;  text-align: center;  padding: 28px 20px 24px; border-top: 4px solid #173d25;
	background: radial-gradient(circle at 50% 0%, rgba(27, 64, 39, 0.18), transparent 55%),linear-gradient(180deg, #06100c 0%, #030b08 100%); }
.content { width: 100%; max-width: 1000px;}
.content h2 { font-size: clamp(24px, 3vw, 36px);  line-height: 1.2; font-weight: 800;   letter-spacing: 0.3px;  margin-bottom: 10px; color: #fff}
.content h2 span { color: #8bd52a;}
.service-area { font-size: clamp(18px, 2.2vw, 29px);line-height: 1.35; margin-bottom: 8px;  font-weight: 400; color: #fff}
.operator {  font-size: clamp(17px, 2vw, 27px);  line-height: 1.35;  font-weight: 400; color:#fff ; margin: 0}
.footer { background: #020806; border-top: 1px solid rgba(255, 255, 255, 0.035);  padding: 12px 18px;  text-align: center; }
.footer p { font-size: clamp(10px, 1vw, 13px);  line-height: 1.5; color: #fff;}
.footer a { color: #fff; text-decoration: underline; }
.separator { color: #fff;  padding: 0 10px;    }

.testimonials .slick-slide {  margin: 0 10px;}
.testimonials .slick-list {  margin: 0 -10px;}

.slick-dots{ display:flex; justify-content:center; align-items:center; margin:20px 0 0 0; padding:0; list-style:none; gap:10px }
.slick-dots li button{ width:10px; height:10px; background:#9ba09b; text-indent:-999em; border:none; outline:none;  border-radius: 50%; padding: 0; cursor: pointer;}
.slick-dots li.slick-active button{ background:#5dad1b }




@media screen and (max-width: 1600px) {
	.hero-right-logo{ margin-bottom:0 }
}
@media screen and (max-width: 1400px) {
	.hero-section-main{ flex-direction:column; }
	.hero-section-left, .hero-section-right{ margin:0 auto;  text-align: center; width: 60%}
	.hero-right-logo{text-align: center; margin: 50px 0}
	.hero-tag{ margin:0 auto 20px; }
	.hero-section-right{order:1;}
	.hero-section-left{order:2;}
	.hero-right-logo{margin: 0 50px 50px;}
	.hero-buttons-group{ justify-content:center; }
	.bottom-section{ flex-direction:column; }
}
@media screen and (max-width: 1199px) {
	.hero-section-left, .hero-section-right{ width:100%; max-width:100% }
	
	
	.hero-buttons-group{ justify-content:center; }
	.bottom-section{ flex-direction:column; }
	.bottom-sec-left{ text-align:center; }
	.bottom-sec-right{ margin:30px auto 0; }
}
@media screen and (max-width: 991px) {
	.hero-right-logo img{ max-width:100% }
	.hero__features{ grid-template-columns: repeat(2, 1fr); row-gap: 10px; }
	.hero-section-main{ padding:60px 15px }
	.hero__feature{ font-size:14px }
	.hero__feature:nth-child(2){ border:none; }
	.hero__description{ font-size:18px }
	.hero-buttons-group{ flex-direction:column; }
	.btn-quote{ justify-content:center; font-size: 18px;}
	.btn-call{ justify-content:center; font-size: 18px;}
	.bottom-sec-left h2{ line-height:1.2;  font-size: 40px; }
	.bottom-section{ padding:45px 15px; }
	.hero__feature{ justify-content:flex-start; border:none; }
}
@media screen and (max-width: 500px) {
	.hero__features{ grid-template-columns: repeat(1, 1fr); row-gap: 10px; }
}