/* ==========================================================================
   ASHTON SERVICES NY — PREMIUM OUTDOOR-LUXURY THEME OVERRIDE
   Loaded last, after the vendor template CSS. Replaces the earlier
   NVIDIA-inspired flat theme. Warm-cream canvas with a tiered forest-green
   brand system (deep brand green for headings, brighter accent green for
   CTAs, near-black green for feature bands/nav/footer), gold reserved
   strictly for trust/credibility moments (badges, ratings, years-in-business).
   Full-pill buttons, whisper-soft layered shadows, generous whitespace,
   scroll-reveal motion. Structure/markup untouched — colors, type, radii,
   shadows, and spacing only.
   ========================================================================== */

:root{
  /* ---------- Brand green system (four-tier, mapped to roles) ---------- */
  --brand-green:#1F5C3E;       /* headings, logo accent, primary brand signal */
  --accent-green:#2E8B57;      /* CTA fill, links-in-motion, active states */
  --accent-green-dark:#226B42; /* hover/active shade of accent */
  --deep-green:#132A20;        /* dark chapters: nav, hero, CTA band, footer */
  --uplift-green:#3E6B57;      /* secondary decorative accents */
  --mint-wash:#E1EEE6;         /* pale valid/utility tint */

  /* ---------- Gold — trust & credibility moments only ---------- */
  --gold:#C39A45;
  --gold-light:#E4CE9B;
  --gold-lightest:#FBF5E8;

  /* ---------- Surfaces ---------- */
  --canvas:#F6F2E9;            /* primary warm page canvas, replaces stark white */
  --ceramic:#EFE9DC;           /* secondary warm surface / zone separator */
  --card:#FFFFFF;              /* card + modal surface */
  --cool-surface:#F8F8F5;      /* dropdowns, quiet utility containers */

  /* ---------- Text ---------- */
  --ink:rgba(16,26,20,0.90);
  --ink-soft:rgba(16,26,20,0.62);
  --on-dark:#FFFFFF;
  --on-dark-soft:rgba(255,255,255,0.72);
  --link:#1F5C3E;

  /* ---------- Semantic ---------- */
  --error:#B3261E;
  --error-tint:rgba(179,38,30,0.06);
  --valid-tint:rgba(46,139,87,0.10);

  /* ---------- Type ---------- */
  --font-body:'Inter','Helvetica Neue',Arial,sans-serif;
  --font-display:'Lora','Iowan Old Style',Georgia,serif;

  /* ---------- Shape ---------- */
  --r-pill:50px;
  --r-card:14px;
  --r-sm:10px;

  /* ---------- Elevation — whisper-soft, layered, never one heavy shadow ---------- */
  --shadow-card:0 0 0.5px rgba(19,42,32,0.12), 0 2px 6px rgba(19,42,32,0.08), 0 10px 24px rgba(19,42,32,0.07);
  --shadow-card-hover:0 0 0.5px rgba(19,42,32,0.14), 0 4px 10px rgba(19,42,32,0.10), 0 16px 32px rgba(19,42,32,0.12);
  --shadow-nav:0 1px 3px rgba(0,0,0,0.10), 0 2px 6px rgba(0,0,0,0.06), 0 0 2px rgba(0,0,0,0.06);
  --shadow-float-base:0 0 6px rgba(0,0,0,0.22);
  --shadow-float-ambient:0 10px 20px rgba(0,0,0,0.16);

  /* ---------- Spacing ---------- */
  --sp-xs:4px; --sp-sm:8px; --sp-md:12px; --sp-lg:16px; --sp-xl:24px; --sp-xxl:32px; --sp-section:72px;
}

/* ---------- Canvas & base ---------- */
body, #bg, .page-wraper{
  background-color:var(--canvas) !important;
  color:var(--ink);
  font-family:var(--font-body);
}
html, body{ overflow-x:hidden; max-width:100%; scroll-behavior:smooth; }

body, p, li, span, a, div, td, th, label, input, textarea, select{
  font-family:var(--font-body);
  letter-spacing:-0.01em;
}

p, .dec, li, .widget p{ color:var(--ink-soft); line-height:1.7; }

a{ color:var(--ink); text-decoration:none; transition:color 150ms ease; }
a:hover, a:focus{ color:var(--accent-green-dark) !important; }
.page-content p a, article p a, .dec p a{ color:var(--link) !important; text-decoration:underline; text-underline-offset:2px; }
.page-content p a:hover{ color:var(--accent-green-dark) !important; }

::selection{ background:var(--accent-green); color:var(--on-dark); }

/* ---------- Headings ---------- */
h1, h2, h3, h4, h5, h6,
.wt-title, .widget-title{
  font-family:var(--font-body);
  font-weight:700;
  letter-spacing:-0.01em;
  color:var(--ink);
  text-transform:none;
}

h1{ font-size:clamp(2.1rem, 4.6vw, 3.4rem); line-height:1.18; font-weight:800; }
h2{ font-size:clamp(1.65rem, 3.4vw, 2.35rem); line-height:1.22; font-weight:700; }
h3{ font-size:1.3rem; line-height:1.4; font-weight:700; }

/* Section eyebrow labels — brand-green heading accent with a small filled dot,
   not a loud color block. */
h2 span.site-text-primary,
h1 span.site-text-primary,
.site-text-primary{
  color:var(--brand-green) !important;
  position:relative;
  padding-left:22px;
}
h2 span.site-text-primary::before,
h1 span.site-text-primary::before,
.site-text-primary::before{
  content:"";
  position:absolute;
  left:0; top:10px;
  width:10px; height:10px;
  border-radius:50%;
  background-color:var(--accent-green);
}

/* Hero slide subtext — editorial serif display for headline weight/warmth */
.banner-1 p, .banner-2 p, .banner-3 p, .banner-4 p{
  font-family:var(--font-body);
  font-weight:400;
  letter-spacing:-0.01em;
  text-transform:none;
  font-size:1.15rem;
  line-height:1.75;
  color:var(--on-dark-soft);
  max-width:100%;
}
.banner-1 h1, .banner-2 h2, .banner-3 h2, .banner-4 h2{
  color:var(--on-dark) !important;
  font-family:var(--font-display);
  font-weight:600;
}
.bannerSwiper h1, .bannerSwiper h2{ font-family:var(--font-display); font-weight:600; }
.bannerSwiper h1 span.site-text-primary::before,
.bannerSwiper h2 span.site-text-primary::before{ display:none; }
.bannerSwiper h1 span.site-text-primary,
.bannerSwiper h2 span.site-text-primary{ color:var(--gold) !important; padding-left:0; }

/* ---------- Buttons — full pill, soft press, layered shadow ---------- */
.site-button,
.site-button-secondry,
button.site-button,
a.site-button{
  font-family:var(--font-body) !important;
  font-weight:700 !important;
  font-size:16px !important;
  letter-spacing:-0.01em !important;
  text-transform:none !important;
  background-color:var(--accent-green) !important;
  color:var(--on-dark) !important;
  border:none !important;
  border-radius:var(--r-pill) !important;
  padding:14px 30px !important;
  box-shadow:var(--shadow-card) !important;
  transition:transform 150ms ease, background-color 150ms ease, box-shadow 150ms ease !important;
}
.site-button:hover, .site-button-secondry:hover{
  background-color:var(--accent-green-dark) !important;
  color:var(--on-dark) !important;
  box-shadow:var(--shadow-card-hover) !important;
}
.site-button:active, .site-button-secondry:active{
  transform:scale(0.95);
  box-shadow:var(--shadow-card) !important;
}
.site-button:focus-visible, .site-button-secondry:focus-visible{
  outline:2px solid var(--accent-green) !important;
  outline-offset:2px;
}
/* dark-band modifier used in footer/CTA strip: white pill, green text */
.site-button-secondry.bg-dark{
  background-color:var(--on-dark) !important;
  color:var(--brand-green) !important;
  box-shadow:none !important;
}
.site-button-secondry.bg-dark:hover{
  background-color:var(--gold-lightest) !important;
  color:var(--brand-green) !important;
}

/* Card ghost-links ("Learn More →") */
.service_btn, .blog_btn{
  font-family:var(--font-body) !important;
  font-weight:700 !important;
  font-size:15px !important;
  letter-spacing:-0.01em !important;
  text-transform:none !important;
  background-color:transparent !important;
  color:var(--accent-green-dark) !important;
  border:none !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  transition:gap 150ms ease, color 150ms ease;
}
.service_btn:hover, .blog_btn:hover{ color:var(--brand-green) !important; background:transparent !important; }
.service_btn .fa, .blog_btn .fa{ color:inherit; transition:transform 150ms ease; }
.service_btn:hover .fa, .blog_btn:hover .fa{ transform:translateX(3px); }

.footer-top a, .footer-bottom a{ color:var(--on-dark-soft); }
.footer-top a:hover, .footer-bottom a:hover{ color:var(--gold) !important; }

/* ---------- Top utility bar ---------- */
.top-bar, .top-bar.bg-secondry{
  background-color:var(--deep-green) !important;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.top-bar a{
  color:var(--on-dark) !important;
  font-family:var(--font-body);
  font-weight:600;
  font-size:12.5px;
  letter-spacing:0.2px;
  text-transform:none;
}
.top-bar a:hover{ color:var(--gold) !important; }
.top-bar .fa{ color:var(--gold); }

/* ---------- Primary nav ----------
   NOTE: base template CSS ships `.main-bar{position:fixed}` and
   `.main-bar.bg-white{position:absolute;background:rgba(255,255,255,.6)}` —
   a translucent nav designed to float over the hero. We pull it back into
   normal document flow with a fully opaque background so it never overlaps
   hero content on any page. */
.sticky-header, .main-bar-wraper, .main-bar, .main-bar.bg-white{
  background-color:var(--card) !important;
  border-bottom:1px solid rgba(19,42,32,0.08);
  box-shadow:var(--shadow-nav) !important;
  position:relative !important;
  top:auto !important;
  left:auto !important;
  z-index:30 !important;
}
.logo-header{ background-color:transparent; display:inline-flex; align-items:center; padding:2px 0; }
/* The logo file itself is ~258x180 (near-square), not the old 216x37 wide-banner
   shape its HTML width/height attributes claim, so browsers render it at that
   taller intrinsic ratio and it overflows the nav bar. Force a hard cap here,
   independent of whatever the markup attributes say. */
.logo-header img,
.footer-top .logo-footer img{
  max-height:52px !important;
  height:52px !important;
  width:auto !important;
  max-width:180px !important;
  object-fit:contain !important;
}
@media (max-width:767px){
  .logo-header img{ max-height:42px !important; height:42px !important; }
}

.header-nav .nav > li > a{
  font-family:var(--font-body);
  font-weight:600;
  font-size:15px;
  letter-spacing:-0.01em;
  text-transform:none;
  color:var(--ink) !important;
}
.header-nav .nav > li:hover > a,
.header-nav .nav > li.active > a,
.header-nav .nav > li.current-menu-item > a{
  color:var(--accent-green-dark) !important;
  box-shadow:0 -2px 0 0 inset var(--accent-green);
}
.header-nav .nav > li .sub-menu{
  background-color:var(--card) !important;
  border:none;
  border-radius:var(--r-card);
  overflow:hidden;
  box-shadow:var(--shadow-card-hover) !important;
}
.header-nav .nav > li .sub-menu li a{
  color:var(--ink) !important;
  font-family:var(--font-body);
  font-weight:400;
  text-transform:none;
  letter-spacing:-0.01em;
}
.header-nav .nav > li .sub-menu li:hover > a,
.header-nav .nav > li .sub-menu li a:hover{
  color:var(--accent-green-dark) !important;
  background-color:var(--mint-wash) !important;
}

/* Areas Served mega-menu: 30 towns in a single-column dropdown would run off
   the bottom of the screen, so lay them out in columns on desktop. Mobile
   keeps the normal single-column collapse behavior used by every other
   nav dropdown. */
@media (min-width:992px){
  .header-nav .nav > li .sub-menu.areas-served-menu{
    width:460px !important;
    max-width:90vw;
    left:auto !important;
    right:0;
    columns:2;
    column-gap:0;
    padding:6px 0;
    max-height:80vh;
    overflow-y:auto;
  }
  .header-nav .nav > li .sub-menu.areas-served-menu li{
    break-inside:avoid;
  }
}

#mobile-side-drawer .icon-bar{ background-color:var(--accent-green) !important; }

#search .input-group input{
  background-color:var(--card);
  border:1px solid rgba(19,42,32,0.14);
  color:var(--ink);
  border-radius:var(--r-sm);
}
#search .search-btn{ color:var(--accent-green-dark); }

/* ---------- Hero slider (dark chapter) ---------- */
.swiper.bannerSwiper{ background-color:var(--deep-green); overflow:hidden; min-height:600px; }
.swiper-button-next, .swiper-button-prev{ color:var(--gold) !important; }
.bannerSwiper .swiper-slide .row{ margin-left:0 !important; margin-right:0 !important; max-width:100%; }
.bannerSwiper .swiper-slide [class*="col-"]{
  padding-left:16px !important;
  padding-right:16px !important;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
/* Premium gradient scrim over hero photography — legibility without flattening the photo */
.bannerSwiper .swiper-slide{
  background-size:cover !important;
  background-position:center !important;
}
.banner-2{ background-position:center 62% !important; }
.banner-1::before, .banner-2::before, .banner-3::before, .banner-4::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(100deg, rgba(8,18,13,0.82) 0%, rgba(8,18,13,0.58) 38%, rgba(8,18,13,0.22) 68%, rgba(8,18,13,0.08) 100%),
    linear-gradient(0deg, rgba(8,18,13,0.55) 0%, rgba(8,18,13,0) 45%);
  z-index:0;
  pointer-events:none;
}
.banner-1 > .row, .banner-2 > .row, .banner-3 > .row, .banner-4 > .row{
  position:relative;
  z-index:1;
}
.bannerSwiper h1, .bannerSwiper h2{
  text-shadow:0 2px 16px rgba(0,0,0,0.35);
  max-width:640px;
}
.bannerSwiper .site-button-secondry{
  margin-top:8px;
}

/* Hero trust-badge row */
.hero-trust-row{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:18px 0 6px;
}
.hero-trust-row .trust-badge{
  background-color:rgba(255,255,255,0.10);
  border-color:rgba(255,255,255,0.28);
  color:var(--on-dark);
  backdrop-filter:blur(2px);
}
.hero-trust-row .trust-badge .fa{ color:var(--gold); }

/* ---------- Body sections (warm canvas, alternating white card zones) ---------- */
.section-full{ background-color:var(--canvas) !important; }
.section-full.bg-white, .section-full.bg-light{ background-color:var(--card) !important; }
.about-us img, .why-choose-us img{
  border-radius:var(--r-card);
  box-shadow:var(--shadow-card);
}

/* ---------- Service cards ---------- */
.service-box{
  background-color:var(--card) !important;
  border:none;
  border-radius:var(--r-card) !important;
  overflow:hidden;
  box-shadow:var(--shadow-card) !important;
  transition:transform 200ms ease, box-shadow 200ms ease;
  height:100%;
  position:relative;
}
.service-box::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:4px;
  background-color:var(--accent-green);
  z-index:2;
}
.service-box:hover{ transform:translateY(-6px); box-shadow:var(--shadow-card-hover) !important; }
.service-box .service_image{ overflow:hidden; border-radius:0; position:relative; }
.service-box .service_image img{ border-radius:0; transition:transform 400ms ease; }
.service-box:hover .service_image img{ transform:scale(1.06); }
.service-box .content-box{
  padding:var(--sp-xl) !important;
  text-align:left !important;
}
.service-box .text{
  font-family:var(--font-body);
  font-weight:700;
  font-size:1.2rem;
  color:var(--ink);
  margin-bottom:10px;
  text-transform:none;
}
.service-box .dec{
  font-family:var(--font-body);
  font-size:0.95rem;
  color:var(--ink-soft);
}
.service-box .service_btn{ margin-top:var(--sp-md); }

/* ---------- Commercial / Residential alternating rows ---------- */
.content-box.green-box{
  background-color:var(--ceramic) !important;
  border-top:none;
  border-bottom:none;
  padding:var(--sp-section) 0;
}
.content-box.green-box h3{
  color:var(--brand-green);
  font-size:1.85rem;
  position:relative;
  padding-left:22px;
}
.content-box.green-box h3::before{
  content:"";
  position:absolute;
  left:0; top:10px;
  width:10px; height:10px;
  border-radius:50%;
  background-color:var(--accent-green);
}
.content-box.green-box p{ color:var(--ink-soft); }
.content-box.green-box img{
  border-radius:var(--r-card);
  box-shadow:var(--shadow-card);
}

/* ---------- Why Choose Us ---------- */
.why-choose-us .que-box h4{
  font-family:var(--font-body);
  font-weight:700;
  text-transform:none;
  color:var(--ink);
  font-size:1.1rem;
  letter-spacing:-0.01em;
}
.why-choose-us .pointNo{
  font-family:var(--font-display);
  color:var(--accent-green-dark);
  font-weight:600;
  margin-right:6px;
}
.why-choose-us .ans-box p{ color:var(--ink-soft); }

/* ---------- Testimonials ---------- */
.testimonial-box{
  background-color:var(--card) !important;
  border:none;
  border-radius:var(--r-card) !important;
  padding:var(--sp-xl) !important;
  box-shadow:var(--shadow-card) !important;
  height:100%;
  position:relative;
}
.testimonial-box .testimonial_image .img{ color:var(--accent-green-dark); font-size:1.75rem; }
.testimonial-box .text{
  font-family:var(--font-display);
  font-weight:500;
  font-style:italic;
  text-transform:none;
  color:var(--ink);
  font-size:1.1rem;
  line-height:1.6;
}
.testimonial-box .dec{ color:var(--ink-soft); }
.testimonial-box .star-rate{ color:var(--gold) !important; }

/* ---------- Blog cards ---------- */
.blog-box{
  background-color:var(--card) !important;
  border:none;
  border-radius:var(--r-card) !important;
  overflow:hidden;
  box-shadow:var(--shadow-card) !important;
  height:100%;
  position:relative;
  transition:transform 200ms ease, box-shadow 200ms ease;
}
.blog-box:hover{ transform:translateY(-6px); box-shadow:var(--shadow-card-hover) !important; }
.blog-box .blog_image{ overflow:hidden; border-radius:0; }
.blog-box .blog_image img{ transition:transform 400ms ease; }
.blog-box:hover .blog_image img{ transform:scale(1.06); }
.blog-box .content-box{ padding:var(--sp-lg) !important; }
.blog-box .blog_content > p > span{
  display:inline-block;
  font-family:var(--font-body);
  font-size:12px;
  font-weight:700;
  letter-spacing:0.2px;
  text-transform:uppercase;
  color:var(--brand-green);
  background-color:var(--mint-wash);
  padding:4px 12px;
  border-radius:var(--r-pill);
}
.blog-box .text{
  font-family:var(--font-body) !important;
  font-weight:700 !important;
  text-transform:none !important;
  font-size:1.1rem !important;
  color:var(--ink);
  letter-spacing:-0.01em !important;
}
.blog-box:hover .text{ color:var(--accent-green-dark); }
.blog-box .dec{ color:var(--ink-soft); }

/* ---------- FAQ accordion ---------- */
.accordion-item{
  background-color:var(--card) !important;
  border:none !important;
  border-radius:var(--r-card) !important;
  overflow:hidden;
  margin-bottom:var(--sp-md);
  box-shadow:var(--shadow-card) !important;
}
.accordion-button{
  background-color:transparent !important;
  color:var(--ink) !important;
  font-family:var(--font-body);
  font-weight:700;
  box-shadow:none !important;
}
.accordion-button:not(.collapsed){
  color:var(--brand-green) !important;
  background-color:var(--mint-wash) !important;
}
.accordion-body{ color:var(--ink-soft); }

/* ---------- CTA band (dark chapter) ---------- */
.call-to-action-wrap{
  background-color:var(--deep-green) !important;
  background-image:none !important;
}
.call-to-action-wrap h3{
  color:var(--on-dark);
  font-family:var(--font-display);
  font-weight:600;
  font-size:1.85rem;
  text-transform:none;
}
.call-to-action-wrap p{ color:var(--on-dark-soft); }
.call-to-action-wrap .site-button-secondry{
  background-color:var(--accent-green) !important;
  color:var(--on-dark) !important;
  border:none !important;
}
.call-to-action-wrap .site-button-secondry:hover{
  background-color:var(--accent-green-dark) !important;
}
.call-to-action-wrap .site-button-secondry.bg-dark{
  background-color:transparent !important;
  color:var(--on-dark) !important;
  border:1.5px solid var(--on-dark) !important;
  box-shadow:none !important;
}
.call-to-action-wrap .site-button-secondry.bg-dark:hover{
  background-color:var(--on-dark) !important;
  color:var(--brand-green) !important;
}

/* ---------- Footer (dark chapter) ---------- */
.site-footer, .footer-top, .footer-bottom{
  background-color:var(--deep-green) !important;
}
.footer-top{ border-top:1px solid rgba(255,255,255,0.08); }
.widget-title{
  color:var(--on-dark) !important;
  font-size:1.05rem;
  text-transform:none;
  /* demoted from h4 to a styled div in markup — see footer.php */
}
.widget-title::after{ background-color:var(--gold) !important; height:2px; }
.footer-top p, .footer-top li{ color:var(--on-dark-soft); }
.footer-top .wt-icon-box-wraper{
  border-color:rgba(255,255,255,0.12) !important;
  border-radius:var(--r-card);
}
.footer-top .icon-md.site-text-primary{ color:var(--gold) !important; padding-left:0; }
.footer-top .icon-md.site-text-primary::before{ display:none; }
.wt-tilte{ color:var(--on-dark); text-transform:none; font-weight:700; font-size:0.95rem; }
.footer-bottom{ border-top:1px solid rgba(255,255,255,0.08); }
.copyrights-text, .copyrights-nav a{
  color:rgba(255,255,255,0.55) !important;
  font-family:var(--font-body);
  font-size:11px;
  font-weight:600;
  letter-spacing:0.2px;
  text-transform:none;
}
.copyrights-nav a:hover{ color:var(--gold) !important; }
.social-icons li a{
  background-color:rgba(255,255,255,0.08) !important;
  color:var(--on-dark) !important;
  border-radius:var(--r-pill) !important;
}
.social-icons li a:hover{ background-color:var(--accent-green) !important; color:var(--on-dark) !important; }

button.scroltop{
  background-color:var(--accent-green) !important;
  color:var(--on-dark) !important;
  border-radius:var(--r-pill) !important;
  box-shadow:var(--shadow-float-base), var(--shadow-float-ambient) !important;
}

/* ---------- Forms ---------- */
input[type="text"], input[type="email"], input[type="tel"], input[type="search"],
input[type="number"], input[type="password"], textarea, select,
.form-control{
  background-color:var(--card) !important;
  border:1px solid rgba(19,42,32,0.16) !important;
  color:var(--ink) !important;
  border-radius:var(--r-sm) !important;
  box-shadow:none !important;
  transition:border-color 150ms ease, box-shadow 150ms ease;
}
input:focus, textarea:focus, select:focus, .form-control:focus{
  border:1.5px solid var(--accent-green) !important;
  box-shadow:0 0 0 4px var(--valid-tint) !important;
  outline:none !important;
}
::placeholder{ color:var(--ink-soft); opacity:0.7; }

/* ---------- Generic radius / shadow resets ---------- */
.radius-sm{ border-radius:var(--r-sm) !important; }
.radius-xl{ border-radius:var(--r-pill) !important; }
.icon-bx-wraper, .wt-icon-box-wraper, .wt-box{ box-shadow:none !important; }

.page-content{ background-color:var(--canvas); }

/* Breadcrumb / inner-page banner */
.wt-bnr-inr{ background-color:var(--deep-green) !important; }
.wt-bnr-inr .container{ position:relative; z-index:2; }
.wt-bnr-inr .banner-title-outer h1, .wt-bnr-inr h1{
  color:var(--on-dark) !important;
  font-family:var(--font-display);
  font-weight:600;
}
.wt-breadcrumb{ background-color:var(--ceramic); }
.wt-breadcrumb li, .wt-breadcrumb li a{
  font-family:var(--font-body);
  font-size:13px;
  font-weight:600;
  letter-spacing:0.1px;
  text-transform:none;
  color:var(--ink-soft) !important;
}
.wt-breadcrumb li a:hover{ color:var(--accent-green-dark) !important; }

table{ color:var(--ink-soft); border-color:rgba(19,42,32,0.12) !important; }
th{ color:var(--ink); }

/* ---------- Inner service-page banner ---------- */
.inner-banner{
  background-color:var(--deep-green);
  position:relative;
  overflow:hidden;
}
.inner-banner .overlay-main{ background-color:rgba(10,20,15,0.60); }
.inner-banner h1, .inner-banner h1.site-text-primary{
  color:var(--on-dark) !important;
  font-family:var(--font-display);
  font-weight:600;
  padding-left:0;
}
.inner-banner h1.site-text-primary::before{ display:none; }
.inner-banner p{ color:var(--on-dark-soft); font-size:1.1rem; }
.inner-banner .site-button-secondry{
  background-color:var(--accent-green) !important;
  color:var(--on-dark) !important;
}

/* Inline "Learn More" ghost-link */
.green-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family:var(--font-body) !important;
  font-weight:700 !important;
  font-size:15px !important;
  text-transform:none !important;
  color:var(--accent-green-dark) !important;
  background-color:transparent !important;
  border:none !important;
  padding:0 !important;
  text-decoration:none;
  transition:gap 150ms ease;
}
.green-btn:hover{ color:var(--brand-green) !important; gap:10px; }

/* Service-area badge pills */
.area-box{
  display:inline-block;
  background-color:var(--card);
  border:1px solid rgba(19,42,32,0.10);
  color:var(--ink-soft);
  font-weight:600;
  font-size:14px;
  padding:9px 16px;
  border-radius:var(--r-pill);
  text-align:center;
  margin-bottom:8px;
  box-shadow:var(--shadow-card);
  transition:background-color 150ms ease, color 150ms ease, transform 150ms ease;
}
a.area-box:hover{
  background-color:var(--accent-green);
  border-color:var(--accent-green);
  color:var(--on-dark);
  transform:translateY(-2px);
}

/* Why-choose checklist icons */
.why-choose-section .feature-icon{
  color:var(--accent-green-dark);
  font-size:1.2rem;
}
.why-choose-section .feature-text{ color:var(--ink-soft); }

/* Generic content sections on inner pages */
.section-full h2{ position:relative; }
.ourService h2, .lawn-maintenance h2, .service-areas h2, .why-choose-section h2, .faqs h2{
  text-align:center;
}

/* Trust badge chips — gold, reserved for credibility moments only */
.trust-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background-color:var(--gold-lightest);
  border:1px solid var(--gold-light);
  color:var(--brand-green);
  font-weight:700;
  font-size:13px;
  letter-spacing:0.1px;
  padding:8px 16px;
  border-radius:var(--r-pill);
}
.trust-badge .fa{ color:var(--gold); }

/* ---------- Scroll-reveal motion ---------- */
.reveal-up{
  opacity:0;
  transform:translateY(22px);
  transition:opacity 650ms cubic-bezier(0.22,0.61,0.36,1), transform 650ms cubic-bezier(0.22,0.61,0.36,1);
}
.reveal-up.is-visible{ opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion: reduce){
  .reveal-up{ opacity:1; transform:none; transition:none; }
}

/* Image fade-in on load */
img{ transition:opacity 300ms ease-in; }
