@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap');
:root{--ink:#171817;--charcoal:#262725;--cream:#f4f3ec;--white:#fff;--purple:#6f2dbd;--purple2:#8e45df;--muted:#777970;--line:#d9d8d0;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.site-header{position:absolute;z-index:20;width:100%;top:0;color:#fff;border-bottom:1px solid rgba(255,255,255,.18)}.nav-wrap{height:92px;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;gap:12px;margin-right:auto;text-transform:uppercase;font-family:"Barlow Condensed",sans-serif;font-size:18px;line-height:1}.brand img{width:58px;height:58px;border-radius:50%}.brand strong{display:block;font-size:15px;letter-spacing:.5px}.site-header nav{display:flex;gap:28px;font-size:14px;font-weight:600}.site-header nav a:hover{color:#c998ff}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--purple);color:#fff;padding:15px 24px;text-transform:uppercase;font-weight:700;font-size:13px;letter-spacing:.7px;border:1px solid var(--purple);transition:.2s}.button:hover{background:var(--purple2);border-color:var(--purple2)}.button-small{padding:11px 16px}.hero{min-height:790px;position:relative;color:#fff;display:flex;align-items:center;background:linear-gradient(115deg,#191a18 0%,#242522 48%,#111 100%);overflow:hidden}.hero:after{content:"";position:absolute;width:760px;height:760px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-170px;top:90px;box-shadow:0 0 0 110px rgba(255,255,255,.025),0 0 0 220px rgba(255,255,255,.018)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.15),transparent)}.hero-content{position:relative;z-index:2;padding-top:90px}.eyebrow{text-transform:uppercase;letter-spacing:2.2px;font-weight:700;font-size:12px;color:var(--purple2);margin:0 0 18px}.hero .eyebrow{color:#c998ff}.hero h1,.section h2,.cta h2{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;line-height:.88;margin:0;font-size:clamp(64px,9vw,116px);letter-spacing:-2px}.hero h1 span{color:#c998ff}.hero-copy{max-width:650px;font-size:19px;color:#ddd;margin:30px 0}.hero-actions{display:flex;align-items:center;gap:28px}.text-link{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.text-link span{color:#c998ff;font-size:20px;margin-left:5px}.service-strip{position:absolute;top:580px;display:flex;gap:0;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);width:min(calc(100vw - 40px),var(--max));padding:20px 0;color:#bdbdb9;text-transform:uppercase;font-family:"Barlow Condensed";font-weight:700;letter-spacing:1px}.service-strip span{flex:1;text-align:center;border-right:1px solid rgba(255,255,255,.18)}.service-strip span:last-child{border:0}.section{padding:110px 0}.section-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:end;margin-bottom:55px}.section h2{font-size:clamp(48px,6vw,78px)}.section-heading>p{color:var(--muted);max-width:440px;margin:0 0 5px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:270px;padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}.card-number{font-family:"Barlow Condensed";font-size:13px;color:var(--purple);font-weight:700}.service-card h3{font-family:"Barlow Condensed";font-size:29px;text-transform:uppercase;line-height:1;margin:55px 0 15px}.service-card p{font-size:14px;color:var(--muted);margin:0}.service-card-accent{background:var(--purple);color:#fff}.service-card-accent .eyebrow,.service-card-accent p{color:#e6d4fb}.service-card-accent a{position:absolute;bottom:34px;font-weight:700;text-transform:uppercase;font-size:13px}.section-dark{background:var(--charcoal);color:#fff;padding:110px 0}.section-heading.light>p{color:#b5b6b0}.project-grid{display:grid;grid-template-columns:1.4fr .8fr;grid-template-rows:1fr 1fr;gap:18px}.project{position:relative;min-height:270px;background:#333}.project-large{grid-row:1/3;min-height:560px}.project-placeholder{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,#373936,#20211f);color:#777;font-family:"Barlow Condensed";letter-spacing:2px}.project-placeholder:before{content:"";position:absolute;inset:20px;border:1px dashed #555}.project-caption{position:absolute;left:0;right:0;bottom:0;padding:55px 25px 22px;background:linear-gradient(transparent,rgba(0,0,0,.9))}.project-caption h3{font-family:"Barlow Condensed";text-transform:uppercase;font-size:25px;margin:0}.project-caption p{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#c9c9c4;margin:3px 0}.project-note{color:#999;font-size:12px}.project-note code{color:#c998ff}.about-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px;align-items:center}.about-logo img{width:100%;max-width:430px;border-radius:50%;box-shadow:0 20px 50px rgba(0,0,0,.12)}.about h2{margin-bottom:30px}.lead{font-size:20px;font-weight:600;line-height:1.5}.about p:not(.eyebrow){max-width:700px}.checks{display:flex;flex-wrap:wrap;gap:25px;margin-top:30px;font-size:13px;text-transform:uppercase;font-weight:700}.checks span::first-letter{color:var(--purple)}.cta{background:var(--purple);color:#fff;padding:75px 0}.cta-grid{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px}.cta .eyebrow{color:#e3c9ff}.cta h2{font-size:64px}.cta p{margin-bottom:0;color:#eadcf8}.contact-actions{display:flex;gap:12px}.button-light{background:#fff;border-color:#fff;color:var(--purple)}.button-light:hover{background:var(--cream);border-color:var(--cream)}.button-outline{background:transparent;border-color:rgba(255,255,255,.7)}.button-outline:hover{background:#fff;color:var(--purple);border-color:#fff}footer{background:#121312;color:#8e9089;padding:25px 0;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.footer-wrap{display:flex;justify-content:space-between}
@media(max-width:900px){.site-header nav{display:none}.nav-wrap>.button{display:none}.section-heading,.about-grid,.cta-grid{grid-template-columns:1fr;gap:30px}.service-grid{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:1fr;grid-template-rows:auto}.project-large{grid-row:auto;min-height:400px}.project{min-height:320px}.service-strip{display:none}.hero{min-height:700px}.about-logo img{max-width:320px}.contact-actions{justify-content:flex-start}}
@media(max-width:600px){.container{width:min(calc(100% - 28px),var(--max))}.brand span{display:none}.hero h1{font-size:65px}.hero-copy{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.section,.section-dark{padding:75px 0}.service-grid{grid-template-columns:1fr}.service-card{min-height:220px}.service-card h3{margin-top:38px}.section-heading{margin-bottom:35px}.section h2{font-size:50px}.cta h2{font-size:50px}.contact-actions{flex-direction:column}.footer-wrap{flex-direction:column;gap:8px}.nav-wrap{height:78px}.brand img{width:50px;height:50px}}

/* Featured hero project */
.hero-content{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:72px;align-items:center;padding-bottom:105px}
.hero-copy-column{min-width:0}
.hero-project{position:relative;margin:0;aspect-ratio:1.08/1;overflow:visible;z-index:2}
.hero-project:before{content:"";position:absolute;inset:14px -14px -14px 14px;border:2px solid var(--purple2);z-index:-1}
.hero-project img{width:100%;height:100%;object-fit:cover;object-position:56% 49%;filter:saturate(.88) contrast(1.04)}
.hero-project:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);pointer-events:none}
.hero-project figcaption{position:absolute;left:20px;bottom:20px;background:rgba(18,19,18,.92);padding:11px 15px;border-left:3px solid var(--purple2);text-transform:uppercase;font-family:"Barlow Condensed",sans-serif;line-height:1.05;letter-spacing:.5px}
.hero-project figcaption span{display:block;color:#c998ff;font-size:11px;font-weight:700;letter-spacing:1.4px;margin-bottom:4px}
.hero-project figcaption strong{font-size:17px;color:#fff}
.hero .service-strip{left:0;right:0;bottom:0;top:auto}

@media(max-width:1050px){
  .hero-content{grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);gap:42px}
  .hero h1{font-size:clamp(60px,8vw,92px)}
}
@media(max-width:900px){
  .hero{min-height:auto;padding:118px 0 58px}
  .hero-content{display:grid;grid-template-columns:1fr;gap:34px;padding-top:0;padding-bottom:0}
  .hero-copy-column{max-width:700px}
  .hero-project{width:100%;max-width:700px;aspect-ratio:16/10}
  .hero-project img{object-position:50% 50%}
}
@media(max-width:600px){
  .hero{padding:100px 0 44px}
  .hero-content{gap:28px}
  .hero h1{font-size:clamp(54px,17vw,72px);letter-spacing:-1px}
  .hero-copy{margin:22px 0;font-size:16px;line-height:1.55}
  .hero-actions{width:100%}
  .hero-actions .button{width:100%}
  .hero-project{aspect-ratio:4/3;width:calc(100% - 10px)}
  .hero-project:before{inset:8px -8px -8px 8px}
  .hero-project figcaption{left:12px;bottom:12px;padding:9px 11px;max-width:calc(100% - 24px)}
  .hero-project figcaption strong{font-size:15px}
  .hero-project img{object-position:52% 50%}
}

/* Recent work photography */
.project{overflow:hidden}
.project>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease;filter:saturate(.92) contrast(1.03)}
.project:hover>img{transform:scale(1.025);filter:saturate(1) contrast(1.04)}
.project-walkway-orchard>img{object-position:52% 50%}
.project-walkway-entry>img{object-position:56% 58%}
.project-retaining>img{object-position:50% 48%}
.project-caption{z-index:2}
.project:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);pointer-events:none;z-index:1}
@media(max-width:900px){
  .project-large{aspect-ratio:16/10;min-height:0}
  .project{aspect-ratio:16/9;min-height:0}
  .project-walkway-orchard>img{object-position:50% 55%}
  .project-walkway-entry>img{object-position:55% 60%}
}
@media(max-width:600px){
  .project-large,.project{aspect-ratio:4/3;min-height:0}
  .project-caption{padding:62px 18px 16px}
  .project-caption h3{font-size:22px;line-height:1.05}
  .project-walkway-orchard>img{object-position:54% 50%}
  .project-walkway-entry>img{object-position:59% 55%}
  .project-retaining>img{object-position:52% 50%}
}

/* Mowing service + project showcase */
.service-card-mowing{background:linear-gradient(145deg,rgba(123,45,194,.06),rgba(255,255,255,0))}
.mowing-showcase{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-template-rows:auto 260px;gap:18px;margin-top:70px;padding-top:55px;border-top:1px solid rgba(255,255,255,.15)}
.mowing-intro{grid-column:1/-1;display:grid;grid-template-columns:.8fr 1.2fr 1fr;gap:35px;align-items:end;margin-bottom:12px}
.mowing-intro .eyebrow{margin:0}.mowing-intro h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:40px;line-height:.95;margin:0}.mowing-intro>p:last-child{color:#b5b6b0;margin:0;max-width:420px}
.mowing-photo{margin:0;position:relative;overflow:hidden;min-height:260px;background:#222}.mowing-photo-wide{grid-column:auto}.mowing-photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease;filter:saturate(.92) contrast(1.02)}.mowing-photo:hover img{transform:scale(1.025);filter:saturate(1) contrast(1.03)}
.mowing-photo-wide img{object-position:50% 45%}.mowing-photo:nth-of-type(2) img{object-position:50% 55%}.mowing-photo:nth-of-type(3) img{object-position:50% 55%}
@media(max-width:900px){.mowing-showcase{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;}.mowing-intro{grid-column:1/-1;grid-template-columns:1fr;gap:12px}.mowing-photo-wide{grid-column:1/-1;aspect-ratio:16/9}.mowing-photo{min-height:0;aspect-ratio:4/3}}
@media(max-width:600px){.mowing-showcase{grid-template-columns:1fr;margin-top:50px;padding-top:40px}.mowing-intro,.mowing-photo-wide{grid-column:auto}.mowing-intro h3{font-size:34px}.mowing-photo,.mowing-photo-wide{aspect-ratio:4/3}.mowing-photo-wide img{object-position:50% 50%}}
