img{max-width:100%;height:auto}
:root{--bg:#fff;--ink:#2a1212;--muted:#6b5555;--berry:#7c0906;--berry2:#98110c;--tint:#f8eeee;--on:#fff;--line:#ead9d9;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#1a0e0e;--ink:#f6eaea;--muted:#c7aaaa;--berry:#a3120d;--berry2:#b61a14;--tint:#261414;--line:#3d2323}}
:root[data-theme="dark"]{--bg:#1a0e0e;--ink:#f6eaea;--muted:#c7aaaa;--berry:#a3120d;--berry2:#b61a14;--tint:#261414;--line:#3d2323}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.6 Figtree,system-ui,sans-serif}
h1,h2,h3{font-family:"Figtree",Figtree,system-ui,sans-serif;line-height:1.05;margin:0;letter-spacing:-.02em}
a{color:inherit}
:focus-visible{outline:3px solid var(--berry2);outline-offset:3px}
.wrap{max-width:68rem;margin:0 auto;padding:0 1.25rem}
header.top{display:flex;justify-content:space-between;align-items:center;padding:1rem 0}
.brand{font:800 1.15rem "Figtree",sans-serif;text-decoration:none}
.btn{display:inline-block;background:var(--berry);color:#fff;font-weight:600;padding:.85rem 1.4rem;border-radius:999px;text-decoration:none;border:0;cursor:pointer;font-size:1rem;font-family:inherit}
.btn:hover{background:var(--berry2)}
.btn.ghost{background:transparent;color:inherit;border:2px solid currentColor}
.hero{background:#7c0906;color:#fff;position:relative;overflow:hidden}
.hero .wrap{padding-top:3rem;padding-bottom:4.5rem;position:relative}
.hero header.top .btn{background:#fff;color:#7c0906}
.hero h1{font-weight:800;font-size:clamp(1.5rem,6.8vw,5.2rem);white-space:nowrap;margin-top:3rem}
.hero p{max-width:34rem;font-size:1.2rem;margin:1.5rem 0 2rem;color:#f6dede}
.cta{display:flex;gap:.75rem;flex-wrap:wrap}
.hero .btn:not(.ghost){background:#fff;color:#7c0906}
.logo-bg{position:absolute;right:-3rem;bottom:-4rem;width:min(30rem,80vw);opacity:.14;filter:brightness(0) invert(1);pointer-events:none}
.logo-sm{height:2.2rem;width:auto;vertical-align:middle;margin-right:.6rem;filter:brightness(0) invert(1)}
.brand{display:inline-flex;align-items:center}
.nav{display:flex;align-items:center;gap:1.25rem;font-weight:600}.nav a:not(.btn){text-decoration:none}.nav a:not(.btn):hover{text-decoration:underline}
.hero.small h1{font-size:clamp(2.4rem,7vw,4.5rem);margin-top:2rem;white-space:normal}.hero.small .wrap{padding-bottom:3rem}
[hidden]{display:none!important}
@media (max-width:520px){header.top{flex-wrap:wrap;gap:.9rem}.nav{width:100%}.nav .btn{margin-left:auto}.nav{gap:.6rem;font-size:.82rem}.nav a{white-space:nowrap}.nav .btn{padding:.55rem .95rem}.brand{font-size:.95rem;line-height:1.15}.logo-sm{height:1.7rem;margin-right:.45rem}}
.job{margin-top:3rem}.job h2{font-size:clamp(1.6rem,4vw,2.2rem);margin-bottom:.25rem}.job .gallery{grid-template-columns:repeat(auto-fill,minmax(16rem,28rem));margin-top:1rem}
.slider{position:relative;max-width:40rem;aspect-ratio:4/3;overflow:hidden;border-radius:.5rem;margin-top:1rem;background:var(--tint);user-select:none}
.slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.slider .top{clip-path:inset(0 0 0 var(--x))}
.slider .bar{position:absolute;top:0;bottom:0;left:var(--x);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 6px rgba(0,0,0,.4)}
.slider .knob{position:absolute;top:50%;left:clamp(24px,var(--x),calc(100% - 24px));width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:#fff;color:#7c0906;display:grid;place-items:center;font-size:1.4rem;font-weight:800;box-shadow:0 2px 8px rgba(0,0,0,.4)}
.slider .tag{position:absolute;bottom:.75rem;background:rgba(0,0,0,.6);color:#fff;font-size:.85rem;font-weight:600;padding:.2rem .65rem;border-radius:999px}
.slider .l{left:.75rem}.slider .r{right:.75rem}
.slider input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}
.slider input:focus-visible+*{outline:none}
.hint{color:var(--muted);font-size:.95rem;margin:.6rem 0 0}
.sliders{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-start}.slide-item{flex:1 1 20rem;max-width:40rem}.slide-item.portrait{max-width:26rem}.slide-item.portrait .slider{aspect-ratio:3/4}
.details a[href^="mailto"]{font-size:clamp(.95rem,5vw,1.55rem);white-space:nowrap;overflow-wrap:normal}
.hero header.top .btn.login,.btn.login{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.85);display:inline-flex;align-items:center;gap:.45rem}.hero header.top .btn.login:hover{background:rgba(255,255,255,.14)}
section{padding:4.5rem 0}
h2{font-weight:800;font-size:clamp(2rem,5vw,3.2rem);margin-bottom:1rem}
.lead{max-width:38rem;color:var(--muted)}
.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2.5rem}
.services div{background:var(--bg);padding:1.75rem}
.services h3{font-size:1.4rem;margin-bottom:.5rem}
.services p{margin:0;color:var(--muted)}
.why{background:var(--tint)}
.why ul{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:2rem}
.why h3{font-size:1.35rem;margin-bottom:.4rem}
.why p{margin:0;color:var(--muted)}
.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:3rem;align-items:start}
.details a{display:block;font:800 clamp(1.4rem,4vw,2rem) "Figtree",sans-serif;text-decoration:none;margin-top:1rem;overflow-wrap:anywhere}
.details a:hover{color:var(--berry2)}
form{display:grid;gap:1rem}
label{display:grid;gap:.35rem;font-weight:600;font-size:.95rem}
input,textarea{font:inherit;padding:.75rem .9rem;border:1.5px solid var(--line);border-radius:.6rem;background:var(--bg);color:var(--ink)}
textarea{min-height:6rem;resize:vertical}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin-top:2.5rem}
.gallery figure{margin:0}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:.5rem;background:var(--tint)}
footer{border-top:1px solid var(--line);padding:1.5rem 0 2rem;color:var(--muted);font-size:.95rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.slider,.gallery img{border-radius:3px}
.why li{border-top:3px solid #7c0906;padding-top:1rem}
.job h2{border-bottom:1px solid var(--line);padding-bottom:.5rem}
.hero .wrap{padding-top:1.25rem}
.hero.float{position:fixed;top:0;left:0;right:0;z-index:100;overflow:visible;padding-top:env(safe-area-inset-top,0px);box-shadow:0 2px 12px rgba(0,0,0,.3);transform:translateY(-100%);visibility:hidden;transition:transform .2s ease-in,visibility 0s .2s}
.hero.float.show{transform:none;visibility:visible;transition:transform .25s ease-out}
.hero.float .wrap{padding-top:0;padding-bottom:0}
.hero.float header.top{padding:.55rem 0}
@media (prefers-reduced-motion:reduce){.hero.float,.hero.float.show{transition:none}}
.js .rv{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease;transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}
.js .wd .w{display:inline-block;opacity:0;transform:translateY(.45em);transition:opacity .5s ease,transform .5s ease}
.js .wd.in .w{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv,.js .wd .w{opacity:1!important;transform:none!important;transition:none!important}}
.eyebrow{display:inline-flex;align-items:center;gap:.65rem;margin-top:2.5rem;font-weight:800;font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;color:#bfe58f}
.eyebrow::before{content:"";width:2.2rem;height:3px;background:#6dbb4a;border-radius:2px}
#home .hero h1{margin-top:.9rem}
:root{--tint:#eef4e8}
.why li{border-top-color:#4c9a3c}
.job h2{border-bottom-color:#9cc98a}
footer{border-top:3px solid #4c9a3c}
@media (max-width:520px){.eyebrow{font-size:.7rem;letter-spacing:.1em;margin-top:1.75rem}.eyebrow::before{width:1.4rem}}
#home .hero{background:linear-gradient(90deg,rgba(104,6,4,.95) 0%,rgba(104,6,4,.84) 34%,rgba(104,6,4,.26) 62%,rgba(104,6,4,0) 82%),url("/images/hero-lawn.jpg") center/cover no-repeat}
#home .hero .logo-bg{display:none}
#home .hero h1,#home .hero > .wrap > p{text-shadow:0 2px 14px rgba(0,0,0,.45)}
#home .hero header.top .nav a{text-shadow:0 1px 8px rgba(0,0,0,.55)}
#home .hero header.top .btn.login{background:rgba(70,4,3,.45)}
@media (max-width:700px){#home .hero{background:linear-gradient(90deg,rgba(104,6,4,.93) 0%,rgba(104,6,4,.8) 55%,rgba(104,6,4,.42) 100%),url("/images/hero-lawn.jpg") center/cover no-repeat}}
.why{position:relative;overflow:hidden}
.why .wrap{position:relative}
.logo-why{position:absolute;right:1.5rem;bottom:.75rem;height:min(78%,26rem);width:auto;max-width:70%;opacity:.06;pointer-events:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo-why{opacity:.12}}
.lc{position:relative;display:inline-block;line-height:1}
.tuft{position:absolute;left:62%;bottom:calc(100% + 1px);width:32px;height:20px;margin-left:-4px;pointer-events:none;overflow:visible}
.tuft .b{transform-box:fill-box;transform-origin:15% 100%;transform:rotate(-55deg) scale(.15);transition:transform .12s ease-in}
.btn:hover .tuft .b,.btn:focus-visible .tuft .b{transform:none;transition:transform .42s cubic-bezier(.3,1.7,.5,1)}
.tuft .b:nth-child(1){transition-delay:0s}.tuft .b:nth-child(2){transition-delay:.05s}.tuft .b:nth-child(3){transition-delay:.1s}
.btn:hover .tuft .b:nth-child(2){transition-delay:.05s}.btn:hover .tuft .b:nth-child(3){transition-delay:.1s}
@media (prefers-reduced-motion:reduce){.tuft .b,.btn:hover .tuft .b{transition:none}}
.btn.login,.hero header.top .btn.login{gap:0}
.btn.login>svg{margin-right:.45rem}
.btn.login .lc{line-height:inherit}
.btn.login .tuft{bottom:calc(100% - 4px)}
.lc.xh .tuft{bottom:calc(100% - .2em)}
.btn.login .lc.xh .tuft{bottom:calc(100% - 8px)}
.lc:not(.xh) .tuft{left:34%;bottom:calc(100% - 3px)}
.hero header.top .btn.work{background:#fff;color:#7c0906;border:2px solid #fff;text-shadow:none}
.hero header.top .btn.work:hover{background:#f3e3e3}
.btn.work{display:inline-flex;align-items:center}
@media (max-width:520px){.nav .btn.work{margin-left:0}}
#home .hero header.top .nav a.btn.work{text-shadow:none}
.nav a.navlink{position:relative;color:#fff;font-weight:800;font-size:1.2rem;letter-spacing:.02em;padding:.4rem 0;text-decoration:none}
.nav a.navlink::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:2px;background:#6dbb4a;transform:scaleX(0);transform-origin:left center;transition:transform .35s ease}
.nav a.navlink:hover,.nav a.navlink:focus-visible{text-decoration:none}
.nav a.navlink:hover::after,.nav a.navlink:focus-visible::after{transform:scaleX(1)}
@media (max-width:520px){.nav a.navlink{font-size:1.05rem}}
@media (prefers-reduced-motion:reduce){.nav a.navlink::after{transition:none}}
.brand .bs{display:none}
@media (max-width:520px){
  header.top{flex-wrap:nowrap;gap:.6rem;justify-content:space-between}
  .nav{width:auto;gap:.85rem;flex-shrink:0}
  .nav .btn.login{margin-left:0;padding:.5rem .8rem;font-size:.85rem;gap:0}
  .nav a.navlink{font-size:1rem}
  .brand .bn{display:none}
  .brand .bs{display:inline;font-size:1rem}
  .logo-sm{margin-right:0}
}
.brand .back{flex:none;margin-right:.5rem;display:block}
.brand .bs{line-height:1}
#work > section{padding-top:2rem}
#work .job:first-child{margin-top:0}
.details a.fb{display:inline-flex;align-items:center;gap:.55rem;font:600 1.05rem Figtree,system-ui,sans-serif;margin-top:1.25rem;text-decoration:none}
.details a.fb svg{flex:none}
.details a.fb:hover{color:#1877f2}
/* Hide the "Powered by Netlify" badge Netlify injects */
#nl-badge-frame{display:none!important}
