  /* Dr Goodlawns — lawn & land care, Brazoria TX.
     Deep forest base + grass-green accent + lime highlight (dark bands only) + pale green-cream.
     Contrast (vs #ffffff unless stated):
       --body  #4C5A50  7.28:1   <- ALL body prose
       --ink   #14261A 15.89:1   <- headings, the 4.9 numeral
       --ink-2 #2C3D31 11.55:1
       --muted #67756B  4.84:1   <- 12px fine print / captions
       --grass #28713A  5.96:1 as a background behind #fff text (buttons, strip)
       --grass-dd #1F5A2E 8.21:1 as a background, and as prose link colour on white
       --lime  #9BD64F  9.75:1 on --forest-d; NEVER on white (1.73:1)
       footer #AFC3B2 on --forest-d 9.07:1 */
  :root{
    --forest:#17351E; --forest-d:#0D2112; --forest-l:#24492C;
    --grass:#28713A; --grass-dd:#1F5A2E; --grass-l:#54A062;
    --lime:#9BD64F; --lime-l:#B7E477;
    --ink:#14261A; --ink-2:#2C3D31; --body:#4C5A50; --muted:#67756B;
    --line:#E2E8E2; --bg:#ffffff; --alt:#F1F5EE; --alt-2:#DDE6D8;
    --star:#C98A0E; --star-l:#F2C94C; --star-off:#C9D2C9; --ok:#28713A;
    --plate:#F2F2F2;
    --shell:1220px;
  }
  *{box-sizing:border-box;margin:0}
  [hidden]{display:none!important}
  html{scroll-behavior:smooth}
  body{background:var(--bg);color:var(--body);font:400 17px/1.7 "Inter",system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  h1,h2,h3,h4,.disp{font-family:"Poppins",system-ui,sans-serif;color:var(--ink);line-height:1.1;font-weight:700}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block;height:auto}
  .wrap{max-width:var(--shell);margin:0 auto;padding:0 clamp(20px,5vw,48px)}
  .eyebrow{font:700 14px/1 "Poppins",sans-serif;letter-spacing:.17em;text-transform:uppercase;color:var(--grass)}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font:700 15px/1 "Poppins",sans-serif;letter-spacing:.01em;padding:15px 28px;min-height:48px;border-radius:100px;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s;border:none;white-space:nowrap}
  .btn-red{background:var(--grass);color:#fff;box-shadow:0 10px 24px rgba(31,90,46,.3)}
  .btn-red:hover{background:var(--grass-dd);transform:translateY(-2px);box-shadow:0 16px 32px rgba(31,90,46,.4)}
  .btn-amber{background:var(--lime);color:var(--forest-d);box-shadow:0 10px 24px rgba(155,214,79,.3)}
  .btn-amber:hover{background:var(--lime-l);transform:translateY(-2px)}
  .btn-ghost-l{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.55)}
  .btn-ghost-l:hover{border-color:#fff;background:rgba(255,255,255,.12)}
  .btn-ghost{background:transparent;color:var(--grass-dd);border:2px solid var(--grass)}
  .btn-ghost:hover{background:var(--grass);color:#fff}
  .btn-lg{padding:18px 34px;font-size:16px;min-height:56px}
  .arrow::after{content:"→";font-weight:700}
  .center{text-align:center}

  /* ============================================================
     THE RATING — 4.9 out of 5 from 34 Google reviews.
     NOT a 5.0. NOT "34+".

     A row of five stars was built first and REJECTED after looking at the pixels: 4.9 means the
     fifth star is 90% full, and a star's outer 10% of width is barely 1.5% of its area, so at
     16px, 28px and even 34px the row was indistinguishable from five full stars. There is no
     honest five-star row for a 4.9, at any size.

     So the site renders NO five-star row anywhere. The rating is always:
       ONE star glyph (a symbol meaning "rating") + the numeral 4.9 + "out of 5" + the count.
     One star can never be misread as five full stars, and the numeral carries the truth.
     The only five stars on the site are the GREY, SELECTABLE inputs of the review funnel.
     ============================================================ */
  .rate{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}
  .rate .st1{color:var(--star);width:28px;height:28px;flex:0 0 auto;display:block}
  .rate .num{font:800 30px/1 "Poppins",sans-serif;color:var(--ink);letter-spacing:-.01em}
  .rate .den{font:600 13.5px/1 "Inter",sans-serif;color:var(--muted)}
  .rate .sep{color:var(--alt-2);font-size:18px;line-height:1}
  .rate .cnt{font:600 14.5px/1.3 "Inter",sans-serif;color:var(--body)}
  .rate.lg .st1{width:40px;height:40px}
  .rate.lg .num{font-size:46px}
  .rate.lg .den{font-size:15px}
  .rate.lg .cnt{font-size:16px}
  .rate.on-dark .num{color:#fff}
  .rate.on-dark .den{color:#B9CBBD}
  .rate.on-dark .cnt{color:#D5E3D7}
  .rate.on-dark .st1{color:var(--star-l)}
  .rate.on-dark .sep{color:rgba(255,255,255,.3)}
  /* compact inline form for bars and fine print */
  .rate-sm{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
  .rate-sm .s1{color:var(--star);font-size:15px;line-height:1}
  .rate-sm .n{font-weight:800}

  /* utility bar */
  .util{background:var(--forest-d);color:#C3D6C6;font:600 13.5px "Inter",sans-serif}
  .util .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px}
  .util .l{display:flex;align-items:center;gap:9px}
  .util .r{display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:center}
  .util a{color:#fff;display:inline-flex;align-items:center;gap:7px;min-height:44px}
  .util .rev{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:center}
  .util .rev b{color:#fff}
  .util .rate-sm .s1{color:var(--star-l)}
  @media(max-width:760px){.util .l{display:none}.util .wrap{justify-content:center;padding-top:4px;padding-bottom:4px}}
  @media(max-width:460px){.util .r{gap:2px 14px;font-size:12.5px}}

  /* header */
  header.top{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 16px rgba(13,33,18,.07)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:78px;gap:20px}
  .brand{display:flex;align-items:center;gap:11px;min-height:44px;color:var(--forest)}
  .menu{display:flex;align-items:center;gap:26px}
  .menu a.lnk{font:600 15px "Inter",sans-serif;color:var(--ink-2);transition:color .15s;display:inline-flex;align-items:center;min-height:44px}
  .menu a.lnk:hover{color:var(--grass)}
  .hamb{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:5px}
  .hamb span{width:26px;height:2.6px;background:var(--forest);border-radius:2px}

  /* ===== brand lockup =====
     img/logo-mark.svg is a redraw of the owner's original logo — the four-petal green
     pinwheel with a white cross — as a circular badge. The original (img/logo.jpg, 525x285)
     was a low-res JPEG on a near-white field with his phone number baked in; at 44px it
     rendered as an unreadable grey chip and needed a painted plate to hide its edge.
     The SVG is square, scales cleanly, and carries its own ground, so no plate is needed.
     The text wordmark beside it still carries legibility. */
  .logo-plate{background:transparent;border-radius:0;padding:0;display:inline-flex;align-items:center;flex:0 0 auto;line-height:0}
  .logo-plate img{height:44px;width:44px;display:block;border-radius:50%}
  .brand .bt{display:flex;flex-direction:column;gap:3px;min-width:0}
  .brand .bt b{font:800 17px/1 "Poppins",sans-serif;color:var(--forest);letter-spacing:.02em}
  .brand .bt span{font:700 10.5px/1 "Poppins",sans-serif;color:var(--grass);letter-spacing:.13em}
  .foot .brand .bt b{color:#fff}
  .foot .brand .bt span{color:var(--lime)}

  /* hero — full-bleed photo + form-in-hero */
  .hero{position:relative;color:#fff;
    background:linear-gradient(102deg,rgba(8,20,11,.93) 0%,rgba(10,24,13,.78) 42%,rgba(12,28,16,.44) 100%),url("../img/job14.jpg") center 62%/cover no-repeat}
  .hero .wrap{position:relative;z-index:2;width:100%;padding-top:clamp(46px,6vw,78px);padding-bottom:clamp(46px,6vw,78px)}
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,58px);align-items:center}
  .hero-left .eyebrow{color:var(--lime);margin-bottom:16px;display:block}
  .hero-left h1{font-family:"Poppins",system-ui,sans-serif;color:#fff;font-size:clamp(33px,5.1vw,58px);font-weight:800;line-height:1.07;letter-spacing:-.01em;text-shadow:0 2px 26px rgba(0,0,0,.45)}
  .hero-left h1 em{font-style:italic;color:var(--lime)}
  .hero-left p.sub{color:#DCE8DD;font-size:clamp(16px,1.4vw,19px);margin:20px 0 0;line-height:1.6;max-width:540px}
  .hero-left p.sub b{color:#fff}
  .hero-badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;align-items:center}
  .rev-badge{display:inline-flex;align-items:center;gap:11px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.26);border-radius:100px;padding:9px 16px;backdrop-filter:blur(8px)}
  .rev-badge b{color:#fff;font:700 14px "Inter"}
  .rev-badge.rate-badge{border-radius:14px;padding:12px 18px}
  .hero-form{background:#fff;border-radius:16px;padding:20px 20px 6px;box-shadow:0 30px 70px rgba(0,0,0,.42)}
  .hero-form h3{font-size:20px;font-weight:800;color:var(--ink);margin-bottom:2px}
  .hero-form .hf-lead{color:var(--body);font-size:13.5px;margin-bottom:8px}

  /* service icon strip */
  .strip{background:var(--grass)}
  .strip .wrap{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:0}
  .strip .it{display:flex;align-items:center;justify-content:center;gap:11px;padding:22px 14px;color:#fff;font:700 15px "Poppins";text-align:center;border-right:1px solid rgba(255,255,255,.2)}
  .strip .it:last-child{border-right:0}
  @media(max-width:980px){.strip .wrap{grid-template-columns:repeat(2,1fr)}.strip .it{justify-content:flex-start;text-align:left;border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}}
  @media(max-width:420px){.strip .wrap{grid-template-columns:1fr}}

  /* section base */
  section.blk{padding:clamp(60px,8vw,100px) 0}
  .shead{max-width:700px;margin-bottom:44px}
  .shead.center{margin-left:auto;margin-right:auto;text-align:center}
  .shead h2{font-size:clamp(28px,4.2vw,46px);margin-top:12px;font-weight:800;letter-spacing:-.01em}
  .shead p{margin-top:16px;font-size:17px;color:var(--body)}
  .shead .rate{margin-top:18px}

  /* about */
  .about-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}
  .about-media{position:relative}
  .about-media img{border-radius:16px;width:100%;height:auto;object-fit:cover;box-shadow:0 30px 60px rgba(13,33,18,.18)}
  .about-media .exp{position:absolute;left:-18px;bottom:-18px;background:#fff;border:1px solid var(--line);color:var(--ink);border-radius:14px;padding:16px 22px;box-shadow:0 16px 34px rgba(13,33,18,.22);text-align:center}
  .about-media .exp b{font:800 34px "Poppins";display:block;line-height:1;color:var(--ink)}
  .about-media .exp small{font:600 13px "Inter";color:var(--body)}
  .about-copy .eyebrow{margin-bottom:8px;display:block}
  .about-copy p.big{color:var(--body);font-size:17px;margin:18px 0 24px}
  .checks{display:grid;grid-template-columns:1fr 1fr;gap:13px 22px;margin-bottom:30px}
  .checks div{display:flex;gap:11px;align-items:flex-start;font:600 15px "Inter";color:var(--ink-2)}
  .checks .ck{flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:rgba(40,113,58,.14);color:var(--ok);display:grid;place-content:center;font-size:13px;font-weight:700}

  /* featured services */
  .feat{background:var(--alt)}
  .fcards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .fcard{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 14px 34px rgba(13,33,18,.08);transition:transform .18s,box-shadow .18s;display:flex;flex-direction:column}
  .fcard:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(13,33,18,.15)}
  .fcard .ph{height:212px;overflow:hidden;position:relative;flex:0 0 auto}
  .fcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
  .fcard:hover .ph img{transform:scale(1.07)}
  .fcard .ph .tag{position:absolute;left:16px;top:16px;background:var(--grass);color:#fff;font:700 12px "Poppins";letter-spacing:.04em;text-transform:uppercase;padding:6px 12px;border-radius:100px}
  .fcard .body{padding:26px 24px 24px;display:flex;flex-direction:column;flex:1 1 auto}
  .fcard h3{font-size:21px;margin-bottom:10px}
  .fcard p{font-size:15px;color:var(--body);margin-bottom:14px;flex:1 1 auto}
  .fcard .lnk{font:700 14px "Poppins";color:var(--grass-dd);display:inline-flex;gap:7px;align-items:center;min-height:44px;align-self:flex-start}

  /* offer tiles */
  .tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  .tile{border-radius:14px;padding:32px 28px;border:1px solid var(--line);background:#fff;transition:transform .16s,box-shadow .16s}
  .tile:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(13,33,18,.1)}
  .tile.navy{background:var(--forest);border-color:var(--forest)}
  .tile .ic{font-size:30px;margin-bottom:14px;display:block}
  .tile h3{font-size:20px;margin-bottom:9px}
  .tile p{font-size:14.5px;color:var(--body);line-height:1.6}
  .tile.navy h3{color:#fff} .tile.navy p{color:#C3D6C6}

  /* stats */
  .stats{background:var(--forest);color:#fff;position:relative;overflow:hidden}
  .stats::before{content:"";position:absolute;inset:0;opacity:.35;background:repeating-linear-gradient(115deg,rgba(255,255,255,.04) 0 2px,transparent 2px 100px)}
  .stats .wrap{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;padding-top:58px;padding-bottom:58px}
  .stat b{font:800 clamp(32px,5vw,50px) "Poppins";display:block;line-height:1;color:#fff}
  .stat b span{color:var(--lime)}
  .stat small{font:600 14px "Inter";color:#BFD2C2;margin-top:8px;display:block}

  /* testimonials */
  .test{background:var(--alt)}
  .tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px}
  .tcard{background:#fff;border-radius:16px;padding:28px 26px;box-shadow:0 14px 34px rgba(13,33,18,.08);position:relative}
  .tcard .quote{position:absolute;top:16px;right:24px;font:800 60px "Poppins";color:var(--alt-2);line-height:1}
  .tcard p{font-size:15px;color:var(--ink-2);line-height:1.65;margin-bottom:18px;position:relative;z-index:2}
  .tcard .who{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:16px}
  .tcard .av{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--grass),var(--grass-dd));color:#fff;display:grid;place-content:center;font:800 16px "Poppins";flex:0 0 auto}
  .tcard .who b{display:block;color:var(--ink);font:700 15px "Poppins"}
  .tcard .who small{color:var(--muted);font-size:12.5px}

  /* ===== star-gated review funnel (homepage card + /review page) =====
     These five stars are INPUTS, not a rating display: they start grey and light on hover. */
  .funnel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px 28px;max-width:580px;margin:44px auto 0;text-align:center;box-shadow:0 18px 44px rgba(13,33,18,.09)}
  .funnel h3{font-size:22px;font-weight:800;margin-bottom:6px}
  .funnel p.fl{color:var(--body);font-size:15px;margin-bottom:14px}
  .starpick{display:flex;justify-content:center;gap:4px;margin:6px 0;flex-wrap:wrap}
  .starpick a,.starpick button{background:none;border:0;cursor:pointer;width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;font-size:36px;line-height:1;color:var(--star-off);transition:transform .12s,color .12s;padding:0;text-decoration:none}
  .starpick a:hover,.starpick button:hover,.starpick a:focus-visible,.starpick button:focus-visible{transform:scale(1.14);color:var(--star)}
  .starpick .lit{color:var(--star)}
  .funnel .hint{color:var(--muted);font-size:13px}

  /* final cta + form */
  .final{position:relative;color:#fff;
    background:linear-gradient(180deg,rgba(9,21,12,.88),rgba(7,17,10,.95)),url("../img/job26.jpg") center 42%/cover no-repeat}
  .final-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
  .final h2{color:#fff;font-size:clamp(28px,4.2vw,44px);font-weight:800;letter-spacing:-.01em}
  .final p.lead{color:#CFE0D1;font-size:18px;max-width:480px;margin:18px 0 26px}
  .final p a{display:inline-flex;align-items:center;gap:7px;min-height:44px}
  .final .fbul{display:grid;gap:12px;margin-bottom:8px}
  .final .fbul div{display:flex;gap:11px;align-items:center;color:#EAF3EB;font:600 15px "Inter"}
  .final .fbul .ck{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:rgba(155,214,79,.2);color:var(--lime);display:grid;place-content:center;font-weight:700;font-size:13px}
  .qform{background:#fff;border-radius:18px;padding:32px 30px;box-shadow:0 30px 70px rgba(0,0,0,.4)}
  .qform h3{font-size:23px;font-weight:800;margin-bottom:4px}
  .qform .qlead{color:var(--body);font-size:14.5px;margin-bottom:20px}
  .qrow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .qfld{margin-bottom:12px}
  .qfld input,.qfld select,.qfld textarea{width:100%;background:#F7FAF7;color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:13px 14px;min-height:48px;font:400 15px "Inter",sans-serif}
  .qfld textarea{min-height:110px;resize:vertical}
  .qfld input::placeholder,.qfld textarea::placeholder{color:var(--muted)}
  .qfld input:focus,.qfld select:focus,.qfld textarea:focus{outline:none;border-color:var(--grass);background:#fff;box-shadow:0 0 0 3px rgba(40,113,58,.16)}
  .qform .btn-red{width:100%;margin-top:6px}
  .qform .fine{margin-top:12px;font:500 12px "Inter";color:var(--muted);text-align:center}
  #qok{display:none;text-align:center;padding:26px 0}
  #qok .chk{width:56px;height:56px;border-radius:50%;background:rgba(40,113,58,.14);color:var(--ok);display:grid;place-content:center;margin:0 auto 14px;font-size:28px}
  #qok h3{margin-bottom:6px}#qok p{color:var(--body);font-size:14.5px}

  /* footer */
  footer.foot{background:var(--forest-d);color:#AFC3B2;padding:60px 0 30px}
  .fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:36px;margin-bottom:40px}
  .foot .brand{color:#fff;margin-bottom:16px}
  .foot p.desc{font-size:14.5px;line-height:1.7;max-width:320px}
  .fcol h5{color:#fff;font:700 14px "Poppins";letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
  .fcol a{display:flex;align-items:center;color:#AFC3B2;font-size:14.5px;min-height:44px;transition:color .15s}
  .fcol p.li{display:flex;align-items:flex-start;gap:8px;color:#AFC3B2;font-size:14.5px;min-height:44px;padding:6px 0}
  .fcol p.li a{display:inline;min-height:0}
  .fcol p.li .tapfix{display:inline-flex;align-items:center;min-height:44px}
  .fcol a:hover{color:#fff}
  .fbot{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;font-size:13px}
  .fbot a{display:inline-flex;align-items:center;min-height:44px}
  .foot .legal{margin:4px 0 0;font-size:13px;color:#AFC3B2}
  .foot .legal a{display:inline-flex;align-items:center;min-height:44px;color:inherit}

  /* responsive */
  @media(max-width:900px){
    .hero-grid{grid-template-columns:1fr}
    .about-grid{grid-template-columns:1fr;gap:44px}
    .about-media .exp{left:auto;right:18px}
    .fcards,.tiles,.tgrid{grid-template-columns:1fr 1fr}
    .stats .wrap{grid-template-columns:1fr 1fr;gap:36px 20px}
    .fgrid{grid-template-columns:1fr 1fr}
    .final-grid{grid-template-columns:1fr;gap:36px}
  }
  /* ===== MOBILE NAV =====
     Specificity trap: the base rule is `.menu a.lnk` (0,2,1). A collapse rule written as
     `.menu .lnk` (0,2,0) LOSES to it, and the desktop nav keeps rendering at 390px and blows
     the page wider than the viewport. Every rule below matches the same `.menu a.lnk` shape.
     Breakpoint is 920px, not 680px: the five links plus the phone button measured 802px wide,
     so at 768px the old 680px breakpoint still left the desktop nav up and overflowing. */
  @media(max-width:920px){
    .menu a.lnk,.menu a.btn{display:none}
    .hamb{display:flex}
    .menu.open{position:absolute;top:78px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:8px 20px 18px;box-shadow:0 12px 24px rgba(13,33,18,.12);z-index:60}
    .menu.open a.lnk{display:flex;align-items:center;min-height:48px;padding:12px 0;border-bottom:1px solid var(--line)}
    .menu.open a.btn{display:inline-flex;margin-top:14px;justify-content:center}
  }
  @media(max-width:680px){
    .fcards,.tiles,.tgrid,.fgrid,.checks{grid-template-columns:1fr}
    .hero-cta .btn,.cta-row .btn{width:100%}
  }

  /* ===== inner pages ===== */
  .page-hero{position:relative;color:#fff;padding:clamp(56px,8vw,90px) 0 clamp(48px,6vw,70px);
    background:linear-gradient(180deg,rgba(9,21,12,.78),rgba(7,17,10,.92)),url("../img/job15.jpg") center 58%/cover no-repeat}
  .page-hero .crumb{font:600 13.5px "Inter";color:#B4C9B7;letter-spacing:.02em;margin-bottom:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .page-hero .crumb a{color:#B4C9B7;display:inline-flex;align-items:center;min-height:44px}
  .page-hero .crumb a:hover{color:#fff}
  .page-hero h1{color:#fff;font-size:clamp(29px,5vw,52px);font-weight:800;letter-spacing:-.01em;max-width:860px}
  .page-hero p{color:#CFE0D1;font-size:clamp(16px,1.5vw,19px);max-width:640px;margin-top:16px}
  .page-hero .hcta{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap}

  .prose{max-width:760px}
  .prose h2{font-size:clamp(24px,3.4vw,36px);font-weight:800;letter-spacing:-.01em;margin:38px 0 14px}
  .prose h3{font-size:22px;font-weight:700;margin:26px 0 8px}
  .prose p{color:var(--body);font-size:17px;margin-bottom:16px}
  .prose a:not(.btn){color:var(--grass-dd);text-decoration:underline;text-underline-offset:2px}
  .prose a:not(.btn):hover{color:var(--ink)}
  /* a link that stands alone as its own paragraph is a control, not running text */
  .prose p.standalone a:not(.btn){display:inline-flex;align-items:center;min-height:44px;font-weight:700}
  .prose ul{margin:0 0 18px;padding-left:0;list-style:none;display:grid;gap:10px}
  .prose ul li{position:relative;padding-left:30px;color:var(--ink-2);font:500 16px "Inter"}
  .prose ul li::before{content:"✓";position:absolute;left:0;top:0;width:22px;height:22px;background:rgba(40,113,58,.14);color:var(--ok);border-radius:50%;display:grid;place-content:center;font-size:12px;font-weight:700}

  /* service detail rows */
  .srow{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:clamp(48px,7vw,80px) 0;border-top:1px solid var(--line)}
  .srow:first-child{border-top:0}
  .srow.rev .srow-media{order:2}
  .srow-media img{border-radius:16px;width:100%;height:auto;max-height:460px;object-fit:cover;box-shadow:0 26px 54px rgba(13,33,18,.16)}
  .srow-media.srow-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
  .srow-media.srow-two img{aspect-ratio:3/4;max-height:none;object-fit:cover}
  .srow-copy .eyebrow{display:block;margin-bottom:8px}
  .srow-copy h2{font-size:clamp(24px,3.4vw,36px);font-weight:800;letter-spacing:-.01em;margin-bottom:14px}
  .srow-copy p{color:var(--body);font-size:16.5px;margin-bottom:16px}

  /* contact layout */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}
  .info-card{background:var(--alt);border:1px solid var(--line);border-radius:16px;padding:30px 28px;margin-bottom:18px}
  .info-card h3{font-size:20px;font-weight:800;margin-bottom:16px}
  .info-row{display:flex;gap:14px;align-items:flex-start;margin-bottom:12px}
  .info-row .ic{flex:0 0 auto;width:44px;height:44px;border-radius:11px;background:var(--grass);color:#fff;display:grid;place-content:center;font-size:19px}
  .info-row b{display:block;color:var(--ink);font:700 15px "Poppins"}
  .info-row span{color:var(--body);font-size:14.5px}
  .info-row a{color:var(--grass-dd);font-weight:700;display:inline-flex;align-items:center;min-height:44px}
  .contact-form{background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px 32px;box-shadow:0 20px 50px rgba(13,33,18,.08)}
  .contact-form h3{font-size:24px;font-weight:800;margin-bottom:4px}
  .contact-form .qlead{color:var(--body);font-size:14.5px;margin-bottom:22px}

  @media(max-width:900px){
    .srow,.srow.rev{grid-template-columns:1fr;gap:30px}
    .srow.rev .srow-media{order:0}
    .contact-grid{grid-template-columns:1fr;gap:32px}
  }

  /* service areas grid */
  .area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
  .area{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;min-height:56px;font:600 15px "Inter";color:var(--ink-2)}
  .area .pin{color:var(--grass);font-size:16px;flex:0 0 auto}
  .area.confirmed{border-color:var(--grass);background:var(--alt)}
  .area[data-unconfirmed="true"] .tag-unc{margin-left:auto;font:700 10px/1 "Poppins",sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--alt-2);border-radius:100px;padding:5px 8px;flex:0 0 auto}
  .radius-note{margin-top:28px;background:var(--alt);border:1px solid var(--line);border-left:4px solid var(--grass);border-radius:12px;padding:18px 20px;color:var(--body);font-size:15.5px}
  .radius-note b{color:var(--ink)}
  @media(max-width:900px){.area-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:560px){.area-grid{grid-template-columns:1fr}}

  /* ===== inline SVG icon system ===== */
  .ico{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;width:26px;height:26px;display:block;flex:0 0 auto}
  .ico-in{width:15px;height:15px;display:inline-block;vertical-align:-2px;stroke-width:2}
  .ico-ck{width:14px;height:14px;stroke-width:2.6}
  .strip .it .ic{display:inline-flex}
  .strip .it .ic .ico{width:23px;height:23px;color:#fff}
  .tile .ic{color:var(--grass);display:inline-flex}
  .tile.navy .ic{color:var(--lime)}
  .rev-badge .ico{width:18px;height:18px}
  .util .l .ico,.util .r .ico{color:inherit}
  .btn .ico{width:18px;height:18px}
  .chk .ico-ck{width:26px;height:26px;stroke-width:2.2}
  .info-row .ic .ico{width:24px;height:24px}
  .aar-chat-send .ico{width:18px;height:18px}
  .aar-chat-bubble .aar-chat-ic .ico{width:28px;height:28px}
  .trustbar .vb .ico{width:21px;height:21px;color:var(--lime);flex:0 0 auto}

  /* ===== chat widget ===== */
  .aar-chat{position:fixed;right:22px;bottom:22px;z-index:9000;font-family:"Inter",system-ui,sans-serif}
  .aar-chat-bubble{width:60px;height:60px;border-radius:50%;border:none;cursor:pointer;background:var(--grass);color:#fff;box-shadow:0 12px 30px rgba(31,90,46,.45);display:grid;place-content:center;transition:transform .18s,box-shadow .18s}
  .aar-chat-bubble:hover{transform:translateY(-3px) scale(1.05)}
  .aar-chat-panel{position:absolute;right:0;bottom:74px;width:340px;max-width:calc(100vw - 44px);background:#fff;border-radius:16px;box-shadow:0 30px 70px rgba(9,21,12,.4);overflow:hidden;display:flex;flex-direction:column;transform-origin:bottom right;opacity:0;transform:translateY(14px) scale(.96);pointer-events:none;transition:opacity .22s ease,transform .22s ease}
  .aar-chat.open .aar-chat-panel{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
  .aar-chat.open .aar-chat-bubble{transform:scale(.9)}
  .aar-chat-head{background:linear-gradient(135deg,var(--forest),var(--forest-d));color:#fff;padding:12px 12px 12px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}
  .aar-chat-head-t b{display:block;font:700 14.5px "Poppins";letter-spacing:.01em}
  .aar-chat-head-t small{display:block;color:#C3D6C6;font-size:11.5px;margin-top:3px}
  .aar-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--lime);margin-right:5px;vertical-align:middle;box-shadow:0 0 0 3px rgba(155,214,79,.25)}
  .aar-chat-x{background:rgba(255,255,255,.14);border:none;color:#fff;width:46px;height:46px;border-radius:10px;font-size:22px;line-height:1;cursor:pointer;flex:0 0 auto;transition:background .15s}
  .aar-chat-x:hover{background:rgba(255,255,255,.28)}
  .aar-chat-body{padding:16px 14px;height:300px;overflow-y:auto;background:#F4F8F4;display:flex;flex-direction:column;gap:10px}
  .aar-msg{max-width:82%;padding:10px 13px;border-radius:14px;font-size:14px;line-height:1.5;animation:aarIn .25s ease;word-wrap:break-word}
  @keyframes aarIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
  .aar-bot{align-self:flex-start;background:#fff;color:var(--ink-2);border:1px solid var(--line);border-bottom-left-radius:4px}
  .aar-user{align-self:flex-end;background:var(--grass);color:#fff;border-bottom-right-radius:4px}
  .aar-typing{align-self:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;border-bottom-left-radius:4px;padding:12px 14px;display:flex;gap:4px}
  .aar-typing span{width:7px;height:7px;border-radius:50%;background:#9DB2A1;animation:aarBounce 1s infinite}
  .aar-typing span:nth-child(2){animation-delay:.15s}.aar-typing span:nth-child(3){animation-delay:.3s}
  @keyframes aarBounce{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}
  .aar-cap{align-self:stretch;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px;animation:aarIn .25s ease}
  .aar-cap input{width:100%;background:#F7FAF7;border:1px solid var(--line);border-radius:9px;padding:11px 12px;min-height:46px;font:400 14px "Inter";color:var(--ink)}
  .aar-cap input:focus{outline:none;border-color:var(--grass);background:#fff;box-shadow:0 0 0 3px rgba(40,113,58,.16)}
  .aar-cap button{background:var(--grass);color:#fff;border:none;border-radius:9px;padding:11px;min-height:46px;font:700 14px "Poppins";cursor:pointer;transition:background .15s}
  .aar-cap button:hover{background:var(--grass-dd)}
  .aar-chat-input{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line);background:#fff;align-items:center}
  .aar-chat-input input{flex:1;min-width:0;background:#F7FAF7;border:1px solid var(--line);border-radius:100px;padding:11px 15px;min-height:46px;font:400 14px "Inter";color:var(--ink)}
  .aar-chat-input input:focus{outline:none;border-color:var(--grass);background:#fff;box-shadow:0 0 0 3px rgba(40,113,58,.16)}
  .aar-chat-send{flex:0 0 46px;width:46px;height:46px;border-radius:50%;border:none;background:var(--grass);color:#fff;font-size:15px;cursor:pointer;display:grid;place-content:center;transition:background .15s,transform .15s}
  .aar-chat-send:hover{background:var(--grass-dd);transform:scale(1.06)}
  @media(max-width:420px){.aar-chat{right:16px;bottom:16px}.aar-chat-panel{width:calc(100vw - 32px)}}

  /* A2P SMS consent — unchecked + OPTIONAL by design: consent may never be a condition of submitting */
  .optin{display:flex;gap:6px;align-items:flex-start;margin:10px 0 0;cursor:pointer;text-align:left;min-height:44px}
  /* the control is 24px but its hit area is the 44x44 .cb box, inside a full-width label row */
  .optin .cb{flex:0 0 44px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center}
  .optin input{width:24px;height:24px;margin:0;flex:0 0 auto;accent-color:var(--grass);cursor:pointer}
  .optin span.t{align-self:center}
  .optin span{font:400 12px/1.5 "Inter",sans-serif;color:var(--muted)}

  /* ===== Meet the Owner ===== */
  .owner{background:var(--alt)}
  .owner-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,5vw,58px);align-items:center}
  .owner-media{position:relative}
  .owner-media img{width:100%;height:auto;border-radius:18px;box-shadow:0 30px 60px rgba(13,33,18,.2)}
  .owner-pair{display:grid;gap:14px}
  .owner-pair img{aspect-ratio:4/3;object-fit:cover}
  .owner-media .vtag{position:absolute;left:-14px;bottom:-16px;background:var(--forest);color:#fff;border-radius:12px;padding:12px 18px;box-shadow:0 16px 34px rgba(13,33,18,.3);display:flex;align-items:center;gap:9px;font:700 14px "Poppins"}
  .owner-media .vtag .ico{width:20px;height:20px;color:var(--lime)}
  .owner-copy .eyebrow{display:block;margin-bottom:10px}
  .owner-copy h2{font-size:clamp(26px,3.8vw,42px);font-weight:800;letter-spacing:-.01em}
  .owner-copy p{color:var(--body);font-size:17px;margin:18px 0 0}
  .owner-role{font:700 13.5px/1 "Poppins",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--grass);margin:8px 0 0}
  .owner-copy p.sig{font:700 16px "Poppins";color:var(--ink);margin-top:20px}
  .owner-copy p.sig small{display:block;font:500 14px "Inter";color:var(--muted);margin-top:2px}
  @media(max-width:860px){.owner-grid{grid-template-columns:1fr;gap:44px}.owner-media .vtag{left:auto;right:14px}}

  /* ===== trust bar ===== */
  .trustbar{background:var(--forest-d);color:#fff}
  .trustbar .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 34px;padding-top:20px;padding-bottom:20px;text-align:center}
  .trustbar .vb{display:inline-flex;align-items:center;gap:10px;font:700 15px "Poppins";color:#fff}
  .trustbar .vb small{font:500 13.5px "Inter";color:#BFD2C2}
  @media(max-width:620px){.trustbar .wrap{flex-direction:column;gap:12px;align-items:flex-start;text-align:left}}

  /* ===== gallery / recent work ===== */
  .galgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .galgrid.two{grid-template-columns:repeat(2,1fr)}
  figure.gal{margin:0;background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--line);box-shadow:0 12px 30px rgba(13,33,18,.08);display:flex;flex-direction:column}
  figure.gal .gph{aspect-ratio:4/3;overflow:hidden;background:var(--alt-2)}
  figure.gal.tall .gph{aspect-ratio:3/4}
  figure.gal .gph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
  figure.gal:hover .gph img{transform:scale(1.05)}
  figure.gal figcaption{padding:15px 17px 18px;font:400 14.5px/1.55 "Inter",sans-serif;color:var(--body)}
  figure.gal figcaption b{display:block;font:700 15.5px/1.3 "Poppins",sans-serif;color:var(--ink);margin-bottom:4px}
  /* the 2048x614 panorama only works as a wide banner */
  figure.galbanner{margin:0 0 24px;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:0 14px 34px rgba(13,33,18,.1);background:#fff}
  figure.galbanner .gph{aspect-ratio:2048/614;overflow:hidden;background:var(--alt-2)}
  figure.galbanner .gph img{width:100%;height:100%;object-fit:cover}
  figure.galbanner figcaption{padding:15px 20px 18px;font:400 14.5px/1.55 "Inter",sans-serif;color:var(--body)}
  figure.galbanner figcaption b{display:block;font:700 16px/1.3 "Poppins",sans-serif;color:var(--ink);margin-bottom:4px}
  @media(max-width:900px){.galgrid,.galgrid.two{grid-template-columns:repeat(2,1fr);gap:18px}
    figure.galbanner .gph{aspect-ratio:2048/860}}
  @media(max-width:560px){.galgrid,.galgrid.two{grid-template-columns:1fr}
    figure.gal.tall .gph{aspect-ratio:4/3}
    figure.galbanner .gph{aspect-ratio:3/2}}

  /* mobile brand lockup */
  @media(max-width:1100px){
    .logo-plate img{height:38px;width:38px}
    .brand .bt b{font-size:15.5px}
    .nav{gap:12px}
  }
  @media(max-width:600px){
    .brand{gap:8px;min-width:0}
    .logo-plate{padding:4px 6px;border-radius:7px}
    .logo-plate img{height:32px;width:32px}
    .brand .bt b{font-size:14px;letter-spacing:.01em}
    .brand .bt span{font-size:9px;letter-spacing:.1em}
    .nav{height:66px;gap:10px}
    .menu.open{top:66px}
    .rate .num{font-size:25px}
    .rate .st1{width:24px;height:24px}
    .rate.lg .num{font-size:36px}
    .rate.lg .st1{width:32px;height:32px}
  }
  @media(max-width:360px){
    .logo-plate img{height:28px;width:28px}
    .brand .bt b{font-size:12.5px}
    .brand .bt span{font-size:8.5px}
  }

  /* keep banner art on small screens, and lighten the scrim so the lawns read */
  @media(max-width:680px){
    .hero{background:linear-gradient(180deg,rgba(9,21,12,.74),rgba(7,17,10,.9)),url("../img/job14.jpg") center 55%/cover no-repeat;background-attachment:scroll}
    .page-hero{background:linear-gradient(180deg,rgba(9,21,12,.72),rgba(7,17,10,.88)),url("../img/job15.jpg") center 55%/cover no-repeat;background-attachment:scroll}
  }
