/* Landscaping industry page. Base layout works without JS; .ls-ready (set by landscaping.js) enables the interactive views. */
.ls-sr,.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ls-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:center}
.ls-hero h1{max-width:19ch;font-size:clamp(2.5rem,4.9vw,4.9rem)}
.ls-hero-art{margin:0;max-width:600px}
.ls-hero-art img{display:block;width:100%;height:auto;border-radius:10px}
.ls-hero-art figcaption,.ls-note{color:var(--muted);font-size:.94rem;line-height:1.5;padding-top:.65rem}
.ls-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(18px,4vw,60px);align-items:end;margin-bottom:clamp(22px,3vw,36px)}
.ls-heading h2{max-width:20ch}
.ls-fake-btn{display:inline-block;background:#1f5a3f;color:#fff;border-radius:4px;padding:.3rem .65rem;font-weight:650;font-size:.92rem}
.ls-num{display:inline-grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--ink);color:var(--mint);font:600 .85rem var(--mono);margin-right:.55rem;vertical-align:.1em}
button.ls-season-btn,.ls-spot,.ls-form-nav button{font:inherit}
.ls-season-btn:focus-visible,.ls-spot:focus-visible,.ls-form-nav button:focus-visible,.ls-choice input:focus-visible+span,.ls-file input:focus-visible,.ls-range input:focus-visible,.ls-faq summary:focus-visible{outline:3px solid #087a60;outline-offset:3px}

/* Season switcher */
.ls-seasons{background:#eef3ee}
.ls-season-console{border:1px solid #9fb3a5;border-radius:12px;background:#f9fbf7;overflow:hidden}
.ls-season-controls{display:flex;flex-wrap:wrap;gap:8px;padding:14px clamp(14px,3vw,26px);border-bottom:1px solid #b9c8bd}
.ls-season-btn{min-height:44px;padding:.5rem 1.1rem;border:1px solid #5d7a68;border-radius:999px;background:#fff;color:var(--ink);font-weight:650}
.ls-season-btn[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.ls-season-btn[aria-pressed="true"]::before{content:"✓ " / "";color:var(--mint)}
.ls-season-stage{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(14px,3vw,34px);padding:clamp(14px,3vw,26px);align-items:start}
.ls-yard{margin:0;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:#172e38}
.ls-yard-svg{display:block;width:100%;height:100%}
.ls-season{padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid var(--rule)}
.ls-season:last-child{border-bottom:0;margin-bottom:0}
.ls-season h3{font-size:clamp(1.25rem,2vw,1.6rem);letter-spacing:-.03em;margin:0 0 .7rem}
.ls-homepage{margin:0 0 .8rem;border:1px solid var(--rule);border-radius:8px;background:#fff;padding:.4rem .9rem}
.ls-homepage div{padding:.5rem 0;border-bottom:1px solid #e3e8e4}
.ls-homepage div:last-child{border-bottom:0}
.ls-homepage dt{font:12px/1.4 var(--mono);color:#425563;letter-spacing:.04em}
.ls-homepage dd{margin:.2rem 0 0;font-weight:620}
.ls-season p{color:var(--muted);max-width:56ch}
.ls-ready .ls-season{display:none;border:0;padding:0;margin:0}
.ls-ready .ls-season.is-active{display:block}
/* Seasonal artwork states (inline SVG) */
.ls-yard .ls-bloom,.ls-yard .ls-leaf,.ls-yard .ls-snow{opacity:0}
[data-season="spring"] .ls-bloom{opacity:1}
[data-season="spring"] .ls-lawn{fill:#5a9e62}
[data-season="spring"] .ls-stripe{fill:#66ab6d}
[data-season="spring"] .ls-canopy{fill:#6db36f}
[data-season="spring"] .ls-spray{opacity:.4}
[data-season="fall"] .ls-leaf{opacity:1}
[data-season="fall"] .ls-lawn{fill:#6d8a4e}
[data-season="fall"] .ls-stripe{fill:#77935a}
[data-season="fall"] .ls-canopy{fill:#d9822b}
[data-season="fall"] .ls-canopy-hi{fill:#e6b03a}
[data-season="fall"] .ls-shrub{fill:#7a5b2c}
[data-season="fall"] .ls-shrub-hi{fill:#b0742f}
[data-season="fall"] .ls-spray{opacity:0}
[data-season="fall"] .ls-sky{fill:#1b2a33}
[data-season="winter"] .ls-snow{opacity:1}
[data-season="winter"] .ls-canopy,[data-season="winter"] .ls-canopy-hi{fill:#6d7f7c}
[data-season="winter"] .ls-shrub{fill:#3d5a4b}
[data-season="winter"] .ls-shrub-hi{fill:#56705f}
[data-season="winter"] .ls-spray{opacity:0}
[data-season="winter"] .ls-sky{fill:#0f1d26}
[data-season="winter"] .ls-glow{transform-box:fill-box;transform-origin:center;transform:scale(1.5)}
@media (prefers-reduced-motion:no-preference){
  .ls-yard *{transition:fill .5s ease,opacity .5s ease,transform .5s ease}
  .ls-compare-after{transition:clip-path .08s linear}
}

/* Yard hotspots */
.ls-spots{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(18px,4vw,48px);align-items:start}
.ls-spot-map{position:relative;margin:0;aspect-ratio:4/3}
.ls-spot-map img{display:block;width:100%;height:100%;border-radius:10px}
.ls-spot-layer{position:absolute;inset:0}
.ls-spot{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;border:3px solid #fff;background:var(--ink);color:var(--mint);font:700 1rem var(--mono);box-shadow:0 4px 14px #0b162799}
.ls-spot[aria-pressed="true"]{background:var(--mint);color:var(--ink);border-color:var(--ink)}
.ls-spot-panels{list-style:none;padding:0;margin:0}
.ls-spot-panel{border-top:2px solid var(--ink);padding:14px 0 18px}
.ls-spot-panel h3{font-size:1.35rem;letter-spacing:-.03em;margin:0 0 .6rem}
.ls-spot-panel dl{margin:0 0 .6rem;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.35rem 1rem}
.ls-spot-panel dt{font:12px/1.6 var(--mono);color:#425563}
.ls-spot-panel dd{margin:0}
.ls-spot-panel a{font-weight:640}
.ls-ready .ls-spot-panel{display:none}
.ls-ready .ls-spot-panel.is-active{display:block}

/* Before/after phone slider */
.ls-verdicts{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
.ls-verdicts h3{font-size:1.05rem;margin-bottom:.3rem}
.ls-verdicts ul{margin:0;padding-left:1.1rem;color:var(--muted)}
.ls-verdicts li{margin:.25rem 0}
.ls-compare{max-width:560px;justify-self:center;width:100%}
.ls-compare-stage{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ls-compare figure{margin:0}
.ls-compare figcaption{font:12px var(--mono);color:#425563;margin-bottom:6px;letter-spacing:.05em}
.ls-phone{aspect-ratio:9/16;border:8px solid var(--ink);border-radius:26px;overflow:hidden;background:#fff;display:flex;flex-direction:column;font-size:clamp(9px,2.2vw,12.5px);line-height:1.3}
.ls-ph-bar{display:flex;justify-content:space-between;align-items:center;padding:.7em .8em;border-bottom:1px solid #dfe5e1}
.ls-ph-bar b{font-size:1em;letter-spacing:.02em}
.ls-burger{width:1.4em;height:.9em;border-block:2px solid #333;position:relative}
.ls-weak .ls-ph-slide{flex:1;min-height:0;background:linear-gradient(160deg,#c9cfc8,#9da69b);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:1em;color:#fff;gap:.4em}
.ls-weak .ls-ph-slide strong{font:italic 700 1.35em Georgia,serif}
.ls-dots{display:flex;gap:.35em;margin-top:.6em}.ls-dots em{width:.5em;height:.5em;border-radius:50%;background:#ffffffaa}
.ls-ph-small{margin:.6em .8em;color:#5b6670;font-size:.85em}
.ls-weak .ls-ph-small{font-size:.75em}
.ls-ph-link{margin:0 .8em .9em;font-size:.75em;color:#555;text-decoration:underline}
.ls-strong .ls-ph-call{background:var(--mint);color:var(--ink);font-weight:700;border-radius:4px;padding:.25em .6em}
.ls-ph-head{margin:.8em .8em .6em;font-weight:780;font-size:1.3em;letter-spacing:-.03em;line-height:1.12}
.ls-ph-btn{margin:0 .8em .45em;background:#1f5a3f;color:#fff;font-weight:700;border-radius:4px;padding:.55em .7em;text-align:center}
.ls-ph-alt{background:#fff;color:#1f5a3f;border:2px solid #1f5a3f}
.ls-ph-photo{display:block;margin:.4em .8em 0;border-radius:6px;overflow:hidden;aspect-ratio:16/9}
.ls-ph-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:45% 55%}
.ls-ph-cap{margin:.35em .8em 0;font:600 .8em var(--mono);color:#425563}
.ls-range{display:block;margin-top:14px}
.ls-range span{display:block;font-weight:650;margin-bottom:6px}
.ls-range input{width:100%;min-height:44px;accent-color:#1f5a3f}
.ls-ready.ls-compare .ls-compare-stage{display:block;position:relative;max-width:300px;margin:0 auto}
.ls-ready .ls-compare-after{position:absolute;inset:0;clip-path:inset(0 0 0 var(--pos));background:#fff0}
.ls-compare.ls-ready figcaption{display:none}
.ls-compare-legend{display:flex;justify-content:space-between;max-width:300px;margin:0 auto 6px;font:12px var(--mono);color:#425563;letter-spacing:.05em}
.ls-compare-legend[hidden]{display:none}
.ls-ready .ls-range,.ls-compare.ls-ready .ls-note{max-width:300px;margin-inline:auto}
.band .split h2+.lede,.band .split h2+p{margin-top:18px}
.band .split .lede+p{margin-top:12px}
.ls-ph-chips{display:flex;flex-wrap:wrap;gap:.35em;list-style:none;margin:.6em .8em 0;padding:0}
.ls-ph-chips li{border:1px solid #9fb3a5;border-radius:999px;padding:.15em .6em;font-size:.85em}
.ls-ready .ls-compare-stage::after{content:"";position:absolute;top:0;bottom:0;left:var(--pos);width:3px;margin-left:-1.5px;background:#087a60;pointer-events:none}

/* Request strip */
.ls-requests{background:#e9eee9}
.ls-request-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px)}
.ls-request-grid article{background:#f9faf5;border:1px solid #9fb3a5;border-radius:12px;overflow:hidden}
.ls-request-grid img{display:block;width:100%;height:auto;border-bottom:1px solid #b9c8bd}
.ls-request-grid h3{font-size:1.3rem;letter-spacing:-.03em;margin:14px 16px 6px}
.ls-request-grid dl{margin:0 16px 16px}
.ls-request-grid dt{font:12px/1.5 var(--mono);color:#425563;margin-top:.6rem}
.ls-request-grid dd{margin:.1rem 0 0}

/* Estimate form demo */
.ls-form{border:1px solid #9fb3a5;border-radius:16px;background:#fff;padding:clamp(16px,3vw,26px);max-width:520px;width:100%;justify-self:center}
.ls-form-head{font-size:.95rem;color:var(--muted);margin:0 0 12px}
.ls-step{border:0;margin:0;padding:12px 0 6px;min-width:0}
.ls-step+.ls-step{border-top:1px solid var(--rule)}
.ls-step legend{font-weight:720;font-size:1.08rem;padding:0;margin-bottom:8px}
.ls-step legend:focus-visible{outline:3px solid #087a60;outline-offset:6px}
.ls-choice{display:block;margin:6px 0}
.ls-choice input{position:absolute;opacity:0;width:1px;height:1px}
.ls-choice span{display:block;min-height:44px;padding:.65rem .9rem;font-size:1rem;border:1px solid #9fb3a5;border-radius:8px;cursor:pointer}
.ls-choice input:checked+span{border:2px solid #1f5a3f;background:#e8f3ec;font-weight:650}
.ls-choice input:checked+span::before{content:"✓ " / "";color:#1f5a3f}
.ls-file{display:block}
.ls-file span{display:block;font-weight:650;margin-bottom:6px}
.ls-file input{width:100%;min-height:44px;padding:.5rem;border:1px dashed #5d7a68;border-radius:8px;background:#f6f9f6}
.ls-hint{color:var(--muted);font-size:.9rem;margin:.5rem 0 0}
.ls-error{color:#a2321c;font-weight:650;margin:.4rem 0 0}
.ls-file-name{font-weight:650;margin:.5rem 0 0;overflow-wrap:anywhere}
.ls-form-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.ls-form-nav button{min-height:44px;padding:.55rem 1.1rem;border-radius:4px;border:1px solid var(--ink);background:#fff;font-weight:650}
.ls-form-nav .ls-next,.ls-form-nav .ls-review{background:var(--ink);color:#fff}
.ls-summary{border-top:1px solid var(--rule);padding-top:12px}
.ls-summary p{margin:0 0 .4rem}
.ls-summary dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.3rem 1rem;margin:.6rem 0 0}
.ls-summary dt{font:12px/1.6 var(--mono);color:#425563}
.ls-summary dd{margin:0;font-weight:620;overflow-wrap:anywhere}
.ls-ready .ls-step{display:none;border-top:0}
.ls-ready .ls-step.is-active{display:block}

.ls-faq details{border-top:1px solid var(--rule);padding:.9rem 0}
.ls-faq summary{cursor:pointer;font-size:1.1rem;font-weight:650;line-height:1.4}
.ls-faq details p{max-width:64ch;margin:.7rem 0 .35rem;color:#35484b;line-height:1.6}
#seasons,#project-pages,#first-screen,#work-sample,#estimate-form,#project-galleries,#maintenance-plans,#service-areas,#rankings{scroll-margin-top:1rem}

@media(max-width:900px){.ls-season-stage,.ls-spots{grid-template-columns:1fr}}
@media(max-width:760px){.ls-hero-grid,.ls-heading{grid-template-columns:1fr}.ls-hero-art{max-width:520px}.ls-request-grid{grid-template-columns:1fr}.ls-request-grid article{display:grid;grid-template-columns:1fr}}
@media(max-width:520px){.ls-verdicts{grid-template-columns:1fr}.ls-spot-panel dl,.ls-summary dl{grid-template-columns:1fr;gap:.1rem}.ls-spot-panel dd,.ls-summary dd{margin-bottom:.4rem}.ls-compare-stage{gap:8px}.ls-spot{width:40px;height:40px}}
@media(forced-colors:active){.ls-season-btn[aria-pressed="true"],.ls-spot[aria-pressed="true"],.ls-choice input:checked+span{outline:3px solid Highlight}}
