:root{--green:#5aa51c;--green2:#78c62d;--black:#0b0e0b;--ink:#171a17;--light:#f6f7f4;--muted:#667063;--line:#dfe5db;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:white}h1,h2,h3,.brand{font-family:"Barlow Condensed",sans-serif}h2{font-size:clamp(2rem,4vw,3rem);margin:.2rem 0}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 1px 10px #00000010}.brand{display:flex;flex-direction:column;text-decoration:none;line-height:.8}
.site-logo-link{display:block;line-height:0}
.site-logo{display:block;width:auto;height:72px;max-width:46vw;object-fit:contain}.brand-cj{font-size:2.5rem;font-weight:800;color:var(--green);font-style:italic}.brand-sub{font-size:1.2rem;font-weight:800;color:#111;letter-spacing:.03em}.site-header nav{display:flex;gap:28px;align-items:center}.site-header nav a{font-size:.9rem;font-weight:700;text-decoration:none;color:#161916;text-transform:uppercase}.menu-btn{display:none;border:0;background:none;font-size:1.6rem}.btn{border:0;border-radius:4px;padding:15px 22px;font-weight:800;text-transform:uppercase;cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--green2),var(--green));color:white}.btn-light{background:white;color:#356f0c}.hero{min-height:640px;position:relative;background:#050705 url('assets/cj-cartoon-mowing.jpg') right center/58% auto no-repeat;display:flex;align-items:center;padding:5vw;color:white;overflow:hidden}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#000c 0%,#0008 37%,transparent 70%)}.hero-content{position:relative;z-index:2;max-width:640px}.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#d9e7cf}.green{color:var(--green)}h1{font-size:clamp(4rem,8vw,7.3rem);line-height:.78;margin:.6rem 0 1rem;font-weight:800;letter-spacing:-.02em}h1 span{color:var(--green2)}.hero-sub{font-weight:800;font-size:1.35rem}.muted{color:#e0e7dd}.checks{display:grid;gap:9px;margin:20px 0}.hero-btn{font-size:1rem;margin-top:8px}.hero-content small{display:block;margin:12px 0 0 58px;font-style:italic}.hero-card{position:absolute;right:5vw;top:150px;width:230px;background:#101310ee;border:1px solid #ffffff55;padding:24px;z-index:2}.hero-card strong{font-family:"Barlow Condensed";font-size:1.55rem}.hero-card strong span{color:var(--green2)}.hero-card p{font-size:.9rem;line-height:1.5}.section{padding:72px 5vw}.pricing{text-align:center;background:linear-gradient(#fff,#f5f6f2)}.section-lead{color:var(--muted)}.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1200px;margin:38px auto 20px}.price-card{position:relative;border:1px solid #a9cf8d;border-radius:8px;padding:30px 22px;text-align:left;background:white}.price-card h3{text-transform:uppercase;font-size:1.55rem;margin:0}.price-card p{color:var(--muted)}.price{font-size:3rem;font-weight:800;color:var(--green);margin-top:15px}.price-card ul{list-style:none;padding:0;line-height:2}.price-card li:before{content:'✓';color:var(--green);font-weight:800;margin-right:8px}.featured{box-shadow:0 0 0 2px var(--green)}.ribbon{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--green);color:white;font-size:.7rem;font-weight:800;padding:6px 12px;border-radius:3px}.extras span{color:var(--green);font-weight:800}.note{max-width:1200px;margin:auto;background:#eaf2e4;padding:14px;border-radius:6px;color:#40513a}.dark{background:#0a0d0a;color:white}.about{display:grid;grid-template-columns:190px 1.2fr 2fr;gap:35px;align-items:center}.about-photo img{width:170px;height:170px;object-fit:cover;border-radius:50%;border:5px solid var(--green)}.about-copy p{line-height:1.7}.signature{color:var(--green2);font-style:italic}.about-features{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.about-features div{border-left:1px solid #4a5746;padding-left:18px}.about-features b{display:block;margin-bottom:8px;text-transform:uppercase}.about-features span{font-size:.84rem;color:#cfd6cc;line-height:1.5}.area{text-align:center}.areas{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;margin-top:24px}.cta{display:flex;align-items:center;justify-content:space-between;padding:28px 10vw;background:linear-gradient(90deg,#467f16,#71b822);color:white}.cta h2{margin:0}.cta p{margin:.2rem 0}.contact{display:grid;grid-template-columns:1fr 1.3fr;gap:50px}.contact-form{display:grid;gap:12px}.contact-form input,.contact-form textarea,.modal-shell input,.modal-shell select,.modal-shell textarea{width:100%;padding:14px;border:1px solid var(--line);border-radius:6px;font:inherit}.contact-form textarea,.modal-shell textarea{min-height:110px;resize:vertical}.form-status{font-size:.9rem;color:var(--green);font-weight:700}footer{background:#060806;color:white;padding:45px 5vw;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}footer a{color:#bde398;text-decoration:none}footer small{grid-column:1/-1;color:#8e968a}.footer-brand .brand-sub{color:white}dialog{border:0;border-radius:12px;padding:0;width:min(760px,94vw);box-shadow:0 20px 80px #0008}dialog::backdrop{background:#000a}.modal-shell{padding:34px;position:relative}.modal-shell h2{margin-top:0}.modal-close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:2rem;cursor:pointer}.modal-lead{color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal-shell label{display:grid;gap:6px;font-weight:600;font-size:.9rem;margin-bottom:12px}.full{width:100%}@media(max-width:900px){.site-header nav{display:none}.menu-btn{display:block}.hero{background-position:62% center;min-height:720px}.hero-card{display:none}.price-grid{grid-template-columns:1fr 1fr}.about{grid-template-columns:1fr;text-align:center}.about-photo{margin:auto}.about-features{grid-template-columns:1fr 1fr;text-align:left}.contact{grid-template-columns:1fr}.cta{flex-direction:column;gap:15px;text-align:center}}@media(max-width:560px){.site-header{height:70px}.brand-cj{font-size:2rem}.brand-sub{font-size:1rem}.site-logo{height:58px;max-width:52vw}.hero{padding:30px 6vw;background:linear-gradient(#000a,#000c),url('assets/cj-cartoon-mowing.jpg') 60% center/cover no-repeat;align-items:flex-end}.hero-content{padding-bottom:20px}h1{font-size:4rem}.price-grid{grid-template-columns:1fr}.about-features{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.cta{padding:28px 6vw}footer{grid-template-columns:1fr}.section{padding:55px 6vw}}
.warning{color:#9a5d00}.consent{grid-template-columns:auto 1fr!important;align-items:start}.consent input{width:auto!important;margin-top:3px}.site-header nav.open{display:flex;position:absolute;top:70px;left:0;right:0;background:#fff;flex-direction:column;padding:20px;box-shadow:0 10px 20px #0002}.site-header nav.open a,.site-header nav.open button{width:100%;text-align:center}

/* v4 desktop layout refinement */
@media (min-width: 1200px){
  body{background:#edf0eb;}
  .site-header, main, footer{width:min(75vw,1440px);margin-left:auto;margin-right:auto;}
  .site-header{padding:0 3.25vw;height:76px;}
  .site-header nav{gap:22px;}
  .site-header nav a{font-size:.82rem;}
  .nav-book{padding:12px 17px;}

  .hero{
    min-height:590px;
    padding:52px 4.25vw;
    background-color:#050705;
    background-image:url('assets/cj-cartoon-mowing.jpg');
    background-repeat:no-repeat;
    background-position:right center;
    background-size:58% auto;
    align-items:center;
  }
  .hero-overlay{
    background:linear-gradient(90deg,#050705 0%,#050705 40%,rgba(5,7,5,.97) 45%,rgba(5,7,5,.50) 54%,rgba(5,7,5,0) 67%);
  }
  .hero-content{max-width:43%;}
  h1{font-size:clamp(4.2rem,5.4vw,6.2rem);line-height:.82;margin:.55rem 0 .9rem;}
  .hero-sub{font-size:1.18rem;margin:.7rem 0;}
  .checks{gap:7px;margin:16px 0;}
  .hero-content small{margin-left:38px;}
  .hero-card{display:none;}

  .section{padding:52px 4.25vw;}
  .pricing{padding-top:58px;padding-bottom:58px;}
  .price-grid{margin-top:30px;gap:14px;}
  .price-card{padding:25px 20px;}
  .about{grid-template-columns:145px 1.25fr 2.1fr;gap:28px;}
  .about-photo img{width:132px;height:132px;border-width:4px;}
  .about-copy h2{font-size:2.45rem;line-height:1.02;}
  .about-copy p{line-height:1.55;margin:.7rem 0;}
  .about-features{gap:12px;}
  .about-features div{padding-left:14px;}
  .cta{padding:24px 4.25vw;}
  .contact{gap:38px;}
  footer{padding:36px 4.25vw;}
}

@media (min-width:1200px) and (max-width:1550px){
  .site-header, main, footer{width:82vw;}
  .hero-content{max-width:46%;}
}

/* v5 cartoon CJ artwork */
.about-photo img{
  object-position:center 18%;
  filter:saturate(.96) contrast(1.02);
}
@media (min-width:1200px){
  .hero{
    background-position:right center;
    background-size:58% auto;
  }
  .hero-overlay{
    background:linear-gradient(90deg,#050705 0%,#050705 39%,rgba(5,7,5,.98) 45%,rgba(5,7,5,.70) 53%,rgba(5,7,5,.14) 67%,transparent 76%);
  }
}
@media (max-width:1199px){
  .hero{
    background-image:url('assets/cj-cartoon-mowing.jpg');
    background-position:62% center;
  }
}

/* v6 navigation + dynamic pricing */
.btn-secondary{background:#151a15;color:#fff;border:1px solid #3d4a3a}.nav-admin{padding:.72rem 1rem}.price-card{position:relative}.price-card .ribbon.hidden{display:none}.price-card.featured{border-color:var(--green);box-shadow:0 0 0 2px rgba(88,157,27,.12)}

/* v7.1 hotfixes */
.site-header nav a.nav-admin{
  color:#fff;
  background:#151a15;
  border:1px solid #3d4a3a;
}
.site-header nav a.nav-admin:hover{
  background:#232a23;
}

#timeHelp{display:block;margin-top:6px;color:#657064;font-size:.82rem;line-height:1.3}
#requestedTime:disabled{opacity:.6;cursor:not-allowed}

/* v7.6 — footer matches centered site shell */
footer{padding:0;background:transparent!important;color:white}
footer .footer-inner{
  width:100%;
  min-height:132px;
  padding:30px 4.25vw;
  background:#060806;
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px 30px;
  align-items:center;
}
footer .footer-brand{align-self:center}
footer .footer-tagline{margin:0;align-self:center;font-weight:600}
footer small{grid-column:1/-1;color:#8e968a;margin-top:-6px}
@media(max-width:560px){
  footer .footer-inner{grid-template-columns:1fr;padding:28px 6vw}
  footer .footer-tagline{justify-self:start}
  footer small{grid-column:1}
}

/* v7.7 — footer mirrors header composition */
footer .footer-inner{
  min-height:150px;
  padding:28px 4.25vw;
  grid-template-columns:1fr auto;
  align-items:center;
}
footer .footer-left{display:flex;align-items:center;gap:22px}
footer .footer-left small{grid-column:auto;margin:0;line-height:1.55;color:#9ba399}
footer .footer-right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:5px}
footer .footer-right strong{font-size:1.05rem;color:#fff}
footer .footer-right span{font-size:.7rem;font-weight:800;letter-spacing:.12em;color:var(--green)}
footer .footer-right p{margin:0;color:#a8b0a5;font-size:.84rem;line-height:1.45}
@media(max-width:700px){
  footer .footer-inner{grid-template-columns:1fr;gap:22px}
  footer .footer-left{align-items:flex-start}
  footer .footer-right{text-align:left;align-items:flex-start}
}


/* v7.8 — expanded header at page top */
.site-header{height:123px;transition:height .25s ease}
.site-logo{height:108px;transition:height .25s ease}
.site-header nav.open{top:100%}
@media(min-width:901px){
  .site-header nav{position:static;transform:none;margin-left:auto;white-space:nowrap}
  .site-header.is-scrolled{height:82px}
  .site-header.is-scrolled .site-logo{height:72px}
}
@media(min-width:1200px){
  .site-header{height:114px}
  .site-header.is-scrolled{height:76px}
}
@media(max-width:900px){
  .site-header{height:105px}
  .site-logo{height:90px}
  .site-header nav.open{top:100%;left:0;right:0;width:100%;max-height:calc(100vh - 82px);margin:0;padding:18px 5vw 24px;overflow-y:auto;z-index:30}
  .menu-btn{margin-left:auto;padding:12px;line-height:1;cursor:pointer}
  .site-header.is-scrolled{height:82px}
  .site-header.is-scrolled .site-logo{height:72px}
}
@media(max-width:560px){
  .site-header{height:92px}
  .site-logo{height:80px}
  .site-header.is-scrolled{height:70px}
  .site-header.is-scrolled .site-logo{height:58px}
}

.hero-action{display:flex;width:max-content;max-width:100%;flex-direction:column;align-items:center}
.hero-action .hero-btn{width:100%}
.hero-action small{margin:12px 0 0;text-align:center}
