/* LR Landscaping: green on black. Loaded after site.css on every public page. */

.home-wow, .site-wow {
  --lime: #a6dc5c; --deep: #030503; --leaf: #5f9e2c; --earth: #3f7a1d; --sun: #c8ec86; --sky: #79b947; --bloom: #8fcf55;
}
body.site { background: radial-gradient(1200px 600px at 50% -200px, rgba(110, 170, 50, .1), transparent 70%), var(--paper); }
::selection { background: var(--accent); color: var(--accent-ink); }
a { text-underline-offset: 3px; }

/* Nav */
.logo img { height: 62px; }
.foot .logo img { height: 92px; }
@media (max-width: 900px) { .logo img { height: 46px; } }
.nav-links a { color: var(--ink-2); }
.nav-links a:hover { color: var(--ink); }
.burger span { background: var(--ink); }
.nav.is-open .nav-links { box-shadow: 0 20px 40px rgba(0, 0, 0, .6); }

/* Hero: black stage, green glow, animated lawn along the bottom */
.home-wow .hero {
  color: var(--ink); padding: 64px 0 300px;
  background:
    radial-gradient(800px 420px at 78% 18%, rgba(140, 200, 75, .16), transparent 65%),
    radial-gradient(700px 360px at 10% 100%, rgba(80, 150, 40, .22), transparent 65%),
    linear-gradient(180deg, #020302 0%, #050805 60%, #071006 100%);
}
.home-wow .hero h1 { color: #f1f7e8; }
.home-wow .hero h1 em { color: var(--lime); text-shadow: 0 0 34px rgba(166, 220, 92, .35); }
.home-wow .hero h1 em::after { filter: hue-rotate(40deg) saturate(.8) brightness(1.3); }
.home-wow .hero .lede { color: #c5d3b6; }
.home-wow .hero .btn.accent { background: var(--lime); color: #081205; box-shadow: 0 8px 26px rgba(166, 220, 92, .3); }
.home-wow .hero .btn.accent:hover { background: #bdea7d; }
@keyframes glow { 50% { box-shadow: 0 8px 38px rgba(166, 220, 92, .6); } }
.home-wow .hero .btn.ghost { color: var(--ink); border-color: rgba(166, 220, 92, .35); }
.home-wow .hero .btn.ghost:hover { background: rgba(166, 220, 92, .1); border-color: var(--lime); }
.home-wow .path { position: relative; z-index: 3; background: rgba(9, 14, 8, .82); border-color: rgba(140, 200, 75, .22); color: var(--ink); }
.home-wow .path:hover { border-color: var(--lime); background: rgba(140, 200, 75, .1); }
.home-wow .path small { color: var(--muted); }
.home-wow .path:nth-child(2) .path-k { color: #cdeb9b; }
.hero .scene { position: absolute; left: 0; right: 0; bottom: -2px; width: 100%; height: 400px; z-index: 1; pointer-events: none; user-select: none; }
.hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 40px; background: linear-gradient(to bottom, transparent, var(--paper)); z-index: 1; pointer-events: none; }

.hero-badge { position: relative; display: grid; place-items: center; min-height: 380px; }
.hero-badge > img { position: relative; z-index: 2; width: min(100%, 470px); height: auto; filter: drop-shadow(0 0 30px rgba(140, 200, 75, .28)); animation: float 7s ease-in-out infinite; }
@keyframes float { 50% { transform: translateY(-10px); } }
.badge-ring { position: absolute; inset: 0; display: grid; place-items: center; z-index: 1; }
.badge-ring span { position: absolute; width: min(92%, 440px); aspect-ratio: 1; border-radius: 50%; border: 1px solid rgba(166, 220, 92, .28); box-shadow: inset 0 0 80px rgba(140, 200, 75, .1), 0 0 60px rgba(140, 200, 75, .08); }
.badge-ring span + span { width: min(70%, 330px); border-style: dashed; border-color: rgba(166, 220, 92, .2); animation: turn 60s linear infinite; }
@keyframes turn { to { transform: rotate(360deg); } }
.home-wow .hero-card { left: auto; right: 4px; bottom: 6px; background: rgba(13, 19, 11, .9); border: 1px solid rgba(166, 220, 92, .3); backdrop-filter: blur(8px); color: var(--ink); }
.home-wow .hero-card .ic { background: rgba(166, 220, 92, .14); color: var(--lime); }
.home-wow .hero-card small { color: var(--muted); }
@media (max-width: 960px) {
  .home-wow .hero { padding: 30px 0 230px; }
  .hero .scene { height: 310px; }
  .hero-badge { min-height: 0; padding: 10px 0 30px; }
  .hero-badge > img { width: min(78%, 360px); }
  .home-wow .hero-card { position: absolute; right: 0; bottom: 0; }
}
@media (max-width: 600px) {
  .home-wow .hero { padding-bottom: 230px; }
  .hero .scene { height: 250px; }
  .hero-badge { display: none; }
}

/* Meta cards and city strip */
.home-wow .hero-meta { position: relative; z-index: 2; margin-top: -10px; }
.home-wow .hero-meta div { background: var(--white); border-color: var(--line-2); border-top-color: var(--leaf); }
.home-wow .hero-meta div:nth-child(2) { border-top-color: var(--lime); }
.home-wow .hero-meta div:nth-child(3) { border-top-color: #3f7a1d; }
@media (max-width: 600px) { .home-wow .hero-meta div { border-left-color: var(--leaf); } .home-wow .hero-meta div:nth-child(2) { border-left-color: var(--lime); } .home-wow .hero-meta div:nth-child(3) { border-left-color: #3f7a1d; } }
.home-wow .cities { background: #070c06; border-top: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2); }
.home-wow .cities-track span { color: #dbe7cc; }
.home-wow .cities-track span::after { background: var(--lime); }

/* Sections */
.section.alt { background: #090e08; border-top: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2); }
.home-wow .section-head h2::after { background: linear-gradient(90deg, #3f7a1d, var(--lime)); }
.section-head p { color: var(--ink-2); }

/* Services */
.home-wow .svc { background: var(--white); border: 1px solid var(--line-2); --c: #4f8f24; --c2: #8cc84b; }
.home-wow .svc:hover { border-color: rgba(166, 220, 92, .4); box-shadow: 0 18px 40px rgba(0, 0, 0, .5), 0 0 0 1px rgba(166, 220, 92, .15); }
.home-wow .svc h3 { color: var(--ink); }
.home-wow .svc .ic { color: #071005; }
.home-wow .svc:nth-child(2) { --c: #3f7a1d; --c2: #79b947; }
.home-wow .svc:nth-child(3) { --c: #6aa832; --c2: #b8e07a; }
.home-wow .svc:nth-child(4) { --c: #2f6216; --c2: #6aa832; }
.home-wow .svc:nth-child(5) { --c: #5c8a3a; --c2: #a6c98a; }
.home-wow .svc:nth-child(6) { --c: #4a8a1f; --c2: #a6dc5c; }
.home-wow .svc .more { color: var(--lime); }
.services { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1000px) { .services { grid-template-columns: repeat(2, 1fr); } }
.svc-list li::before { background: var(--lime); }
.dlg .svc-list { margin-top: 6px; }
.dlg .svc-list li { font-size: 15px; }

/* About */
.about-scene { background: radial-gradient(500px 260px at 50% 100%, rgba(140, 200, 75, .2), transparent 70%), #030503; aspect-ratio: 4 / 3; display: flex; align-items: flex-end; border-radius: 22px; overflow: hidden; }
.about-scene img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 100%; }
.home-wow .about .badges span:nth-child(1) { background: rgba(166, 220, 92, .16); color: var(--lime); }

/* Why LR */
.why { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.why-item { background: var(--white); border: 1px solid var(--line-2); border-radius: 18px; padding: 24px 22px; position: relative; overflow: hidden; }
.why-item::after { content: ""; position: absolute; right: -50px; top: -50px; width: 140px; height: 140px; border-radius: 50%; background: radial-gradient(circle, rgba(166, 220, 92, .16), transparent 70%); }
.why-item .ic { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: rgba(166, 220, 92, .14); color: var(--lime); margin-bottom: 16px; }
.why-item h3 { font-size: 17.5px; margin-bottom: 6px; }
.why-item p { color: var(--muted); font-size: 14.5px; margin: 0; }
@media (max-width: 1000px) { .why { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .why { grid-template-columns: 1fr; } }

/* Steps */
.home-wow .step + .step { border-left-color: var(--line-2); }
.home-wow .step .n { background: linear-gradient(135deg, #3f7a1d, #8cc84b); color: #071005; box-shadow: 0 8px 22px rgba(140, 200, 75, .25); }
.home-wow .step:nth-child(2) .n { background: linear-gradient(135deg, #4f8f24, #a6dc5c); box-shadow: 0 8px 22px rgba(166, 220, 92, .25); }
.home-wow .step:nth-child(3) .n { background: linear-gradient(135deg, #2f6216, #79b947); box-shadow: 0 8px 22px rgba(121, 185, 71, .25); }
.home-wow .step:nth-child(4) .n { background: linear-gradient(135deg, #6aa832, #c8ec86); box-shadow: 0 8px 22px rgba(200, 236, 134, .25); }
.home-wow .step h3 { color: var(--ink); }

/* Our work (shows once photos are added) */
.home-wow .proj { border: 1px solid var(--line-2); }
.proj .cap { background: linear-gradient(to top, rgba(3, 5, 3, .92), transparent); }

/* Quote, area, CTA */
.home-wow .quote { background: radial-gradient(700px 300px at 20% 100%, rgba(140, 200, 75, .14), transparent 70%), #030503; border-top: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2); }
.home-wow .quote blockquote { color: #eef6e4; }
.home-wow .quote cite { color: var(--lime); }
.home-wow .area { background: radial-gradient(600px 300px at 50% 120%, rgba(140, 200, 75, .28), transparent 70%), #050805; }
.home-wow .area p { color: var(--ink-2); }
.home-wow .cta, .site-wow .cta { background: linear-gradient(120deg, #0a1607, #1f4511, #3f7a1d, #1f4511, #0a1607); background-size: 300% 100%; }
.cta .btn.light { color: #081205; }
.home-wow .offer { display: none; }

/* Footer */
.foot { background: #030503; border-top: 1px solid var(--line-2); }
.foot h4 { color: var(--lime); opacity: .85; }
.foot .tag, .foot-bottom { color: var(--muted); }
.foot a { color: var(--ink-2); }

/* Scroll progress and phone action bar */
.scrollbar { background: linear-gradient(90deg, #3f7a1d, var(--lime, #a6dc5c)); }
@media (max-width: 700px) {
  .actionbar { background: rgba(8, 12, 7, .94); border: 1px solid var(--line); }
  .actionbar a:not(.go) { color: var(--ink); }
  .actionbar a.go { background: var(--lime, #a6dc5c); color: #081205; }
}

/* Estimate, booking and customer pages */
.inq-hero { background: radial-gradient(700px 400px at 90% 0%, rgba(140, 200, 75, .2), transparent 60%), radial-gradient(600px 400px at 0% 100%, rgba(80, 150, 40, .2), transparent 60%), linear-gradient(180deg, #020302, #071006) !important; color: var(--ink); border-bottom: 1px solid var(--line-2); }
.inq-hero p { color: var(--ink-2); }
.inq-hero .perks span { background: rgba(140, 200, 75, .07); border-color: rgba(140, 200, 75, .3); color: var(--ink); }
.inq-hero .perks span:first-child { background: var(--lime, #a6dc5c); color: #081205; }
.site-wow .form, .form { background: var(--white); border: 1px solid var(--line-2); }
.site-wow .form { border-top: 4px solid var(--lime); }
.site-wow .seg input:checked + span { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); box-shadow: 0 6px 16px rgba(140, 200, 75, .25); }
.site-wow .chip input:checked + span { background: linear-gradient(135deg, #6aa832, #a6dc5c); color: #081205; }
.site-wow #sendBtn { background: var(--lime); color: #081205; }
.site-wow .inq-side li::before { background: linear-gradient(135deg, #3f7a1d, #8cc84b) !important; color: #071005; }
.site-wow .inq-side .contact { background: #0d130b; border: 1px solid var(--line); }
.drop { background: var(--field); border-color: var(--line); color: var(--muted); }
.drop.is-over { border-color: var(--accent); background: var(--accent-soft); }
.files li { border-color: var(--line-2); }
.booking input:not([type=checkbox]), .booking textarea, .booking select, .cardx input:not([type=checkbox]), .cardx select, .cardx textarea { background: var(--field); color: var(--ink); border-color: var(--line); }
.booking select { display: block; width: 100%; padding: 12px; border: 1.5px solid var(--line); border-radius: 10px; font: inherit; margin-top: 4px; }
.cardx { background: var(--white); border-color: var(--line-2); }
.cardx table td, .cardx table th { border-color: var(--line-2); }
.inq-side .ph.scene-ph { background: radial-gradient(400px 200px at 50% 100%, rgba(140, 200, 75, .22), transparent 70%), #030503; display: flex; align-items: flex-end; aspect-ratio: 4 / 3; }
.inq-side .ph.scene-ph img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 100%; }
input[type=checkbox], input[type=radio] { accent-color: var(--accent); }

/* Form controls the customer pages build on the fly (approve, pay, autopay, account) */
.site main input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]), .site main select, .site main textarea { background: var(--field); color: var(--ink); border: 1.5px solid var(--line); border-radius: 10px; padding: 11px 12px; font: inherit; }
.site main input:focus, .site main select:focus, .site main textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(140, 200, 75, .2); }
.site main button:not([class]):not([data-d]):not([data-s]):not([aria-pressed]), .site main .btn:not(.primary):not(.accent):not(.light):not(.ghost):not(.danger) { background: var(--stone); color: var(--ink); border: 1px solid var(--line); border-radius: 999px; padding: 9px 16px; cursor: pointer; }
.site main canvas { border-color: var(--line) !important; }
.site main table { color: var(--ink); }
.site main .muted { color: var(--muted); }
