
/* Layout: field-guide contractor site — sticky header, hero with credential strip, three division panels, hauling feature, projects ledger, quote form, mobile call bar */
:root{
  --bg:#F2F4F1;          /* pale sage paper */
  --surface:#FFFFFF;
  --ink:#1B2620;
  --muted:#56635B;
  --line:#D5DCD5;
  --green:#245C40;       /* spruce */
  --green-soft:#E1ECE4;
  --blue:#24618F;        /* prairie sky */
  --blue-soft:#E0EBF3;
  --brown:#6E4B2C;       /* topsoil */
  --brown-soft:#F0E6DB;
  --deep:#16302A;        /* dark band */
  --on-deep:#EEF3EF;
  --on-deep-muted:#AFC2B6;
  --font-display:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
  --font-body:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#111814;--surface:#18221D;--ink:#E7EEE9;--muted:#9DADA3;--line:#2C3A33;
  --green:#6FBF92;--green-soft:#1D3328;--blue:#79B2DE;--blue-soft:#182B3A;--brown:#D2A27A;--brown-soft:#33271D;
  --deep:#0B120F;--on-deep:#E7EEE9;--on-deep-muted:#93A79B;color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#111814;--surface:#18221D;--ink:#E7EEE9;--muted:#9DADA3;--line:#2C3A33;
  --green:#6FBF92;--green-soft:#1D3328;--blue:#79B2DE;--blue-soft:#182B3A;--brown:#D2A27A;--brown-soft:#33271D;
  --deep:#0B120F;--on-deep:#E7EEE9;--on-deep-muted:#93A79B;color-scheme:dark}

*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6}
a{color:inherit}
h1,h2,h3{font-family:var(--font-display);line-height:1.02;text-wrap:balance;margin:0;letter-spacing:.005em}
h2{font-size:clamp(2.1rem,5vw,3.2rem);font-weight:800;text-transform:uppercase}
h3{font-size:1.65rem;font-weight:800;text-transform:uppercase}
p{margin:0}
.wrap{max-width:1160px;margin-inline:auto;padding-inline:20px}
.eyebrow{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
section{padding-block:clamp(56px,8vw,96px)}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px}

.btn{display:inline-flex;align-items:center;gap:.5em;font-weight:700;font-size:.98rem;padding:.85em 1.3em;border-radius:4px;text-decoration:none;border:2px solid transparent;cursor:pointer;font-family:var(--font-body)}
.btn-green{background:var(--green);color:var(--surface)}
.btn-green:hover{filter:brightness(1.1)}
.btn-line{border-color:currentColor;background:transparent}
.btn-line:hover{background:var(--green-soft)}

/* Header */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand svg{width:38px;height:38px;flex:none}
.brand b{font-family:var(--font-display);font-weight:900;font-size:1.45rem;letter-spacing:.02em;text-transform:uppercase;line-height:1}
.brand small{display:block;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;margin-top:3px}
nav.links{display:flex;gap:22px;font-weight:600;font-size:.94rem}
nav.links a{text-decoration:none}
nav.links a:hover{color:var(--green)}
.top-actions{display:flex;align-items:center;gap:12px}
.phone-text{font-family:var(--font-mono);font-size:.95rem;font-weight:500;text-decoration:none;white-space:nowrap}
@media (max-width:960px){nav.links{display:none}}
@media (max-width:640px){.top-actions .btn{display:none}.phone-text{font-size:.85rem}}

/* Hero */
.hero{padding-block:clamp(40px,7vw,80px) 0;position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:end}
.hero h1{font-size:clamp(3rem,8.5vw,6.4rem);font-weight:900;text-transform:uppercase}
.hero h1 .g{color:var(--green)}.hero h1 .b{color:var(--blue)}.hero h1 .s{color:var(--brown)}
.hero-lede{font-size:1.15rem;color:var(--muted);max-width:56ch;margin-top:20px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero-art{min-width:0}
.hero-art svg{width:100%;height:auto;display:block}
.creds{margin-top:48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}
.creds div{padding:18px 16px;border-left:1px solid var(--line)}
.creds div:first-child{border-left:0;padding-left:0}
.creds strong{display:block;font-family:var(--font-display);font-weight:800;font-size:2rem;line-height:1}
.creds span{font-size:.86rem;color:var(--muted)}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}.hero-art{max-width:520px}.creds{grid-template-columns:1fr 1fr}.creds div:nth-child(3){border-left:0;padding-left:0}.creds div:nth-child(n+3){border-top:1px solid var(--line)}}

/* Divisions */
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:36px}
.section-head p{max-width:52ch;color:var(--muted)}
.divs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.div-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.div-art{aspect-ratio:16/9;max-width:100%;display:block}
.div-art svg{width:100%;height:100%;display:block}
.div-body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:12px;flex:1}
.div-tag{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}
.div-card ul{margin:0;padding-left:1.1em;color:var(--muted);font-size:.95rem}
.div-card ul li{margin-block:3px}
.div-card .more{margin-top:auto;font-weight:700;text-decoration:none;display:inline-flex;gap:.4em;padding-top:6px}
.div-card .more:hover{text-decoration:underline}
.c-green .div-tag,.c-green .more{color:var(--green)}
.c-blue .div-tag,.c-blue .more{color:var(--blue)}
.c-brown .div-tag,.c-brown .more{color:var(--brown)}
@media (max-width:900px){.divs{grid-template-columns:1fr}}

/* Hauling */
.haul{background:var(--deep);color:var(--on-deep)}
.haul .eyebrow{color:var(--on-deep-muted)}
.haul-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.haul h2{font-size:clamp(2.4rem,6vw,4.2rem)}
.haul h2 em{font-style:normal;color:var(--blue)}
.haul-lede{color:var(--on-deep-muted);font-size:1.08rem;margin-top:18px;max-width:52ch}.haul-lede+.haul-lede{margin-top:12px}
.loads{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:color-mix(in srgb,var(--on-deep) 18%,transparent);border:1px solid color-mix(in srgb,var(--on-deep) 18%,transparent);border-radius:6px;overflow:hidden;margin-top:28px}
.loads div{background:var(--deep);padding:14px 16px}
.loads b{display:block;font-weight:700}
.loads span{font-size:.86rem;color:var(--on-deep-muted)}
.spec{border:1px solid color-mix(in srgb,var(--on-deep) 22%,transparent);border-radius:6px;padding:26px}
.spec h3{font-size:1.4rem;margin-bottom:14px}
.spec dl{display:grid;grid-template-columns:auto 1fr;gap:10px 20px;margin:0}
.spec dt{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--on-deep-muted);padding-top:3px}
.spec dd{margin:0;font-variant-numeric:tabular-nums}
.no-haul{margin-top:22px;padding:14px 16px;border-radius:4px;background:color-mix(in srgb,var(--brown) 22%,transparent);font-size:.93rem}
.no-haul b{color:var(--on-deep)}
.haul .btn-green{background:var(--blue);color:#fff}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px;padding-top:32px;border-top:1px solid color-mix(in srgb,var(--on-deep) 18%,transparent)}
.steps div{display:flex;gap:14px}
.steps .n{font-family:var(--font-display);font-weight:900;font-size:2.6rem;line-height:.9;color:var(--blue)}
.steps b{display:block}
.steps p{color:var(--on-deep-muted);font-size:.93rem}
.steps-head{margin-top:36px;padding-top:32px;border-top:1px solid color-mix(in srgb,var(--on-deep) 18%,transparent)}.steps-head h3{font-size:1.5rem;margin-top:8px}.steps-head p:not(.eyebrow){color:var(--on-deep-muted);margin-top:6px}.steps.steps-stack{grid-template-columns:1fr;margin-top:24px;padding-top:0;border-top:0;gap:28px}.steps.steps-stack>div>div{display:block}.steps.steps-stack b{font-size:1.08rem;margin-bottom:4px}.steps.steps-stack p{font-size:1rem}
@media (max-width:900px){.haul-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr}}
@media (max-width:480px){.loads{grid-template-columns:1fr}}

/* Work */
.work{display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px}
.job{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:16px 0;border-bottom:1px solid var(--line);align-items:baseline}
.job b{font-weight:600}
.job .type{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:3px;white-space:nowrap}
.t-green{background:var(--green-soft);color:var(--green)}
.t-blue{background:var(--blue-soft);color:var(--blue)}
.t-brown{background:var(--brown-soft);color:var(--brown)}
.job small{grid-column:1/-1;color:var(--muted);font-size:.88rem}
@media (max-width:760px){.work{grid-template-columns:1fr}}

/* Why */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.why h3{font-size:1.3rem;margin-bottom:8px}
.why p{color:var(--muted);font-size:.96rem}
.why .mark{width:40px;height:4px;margin-bottom:16px}
@media (max-width:860px){.why{grid-template-columns:1fr}}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}
.quotes figure{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:22px;display:flex;flex-direction:column;gap:14px}
.quotes blockquote{margin:0;font-size:.98rem}
.quotes figcaption{font-family:var(--font-mono);font-size:.78rem;color:var(--muted);margin-top:auto}
@media (max-width:860px){.quotes{grid-template-columns:1fr}}

/* Areas */
.areas{background:var(--green-soft)}
.area-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:48px;align-items:center}
.area-list{display:flex;flex-wrap:wrap;gap:10px}
.area-list span{background:var(--surface);border:1px solid var(--line);padding:8px 14px;border-radius:999px;font-weight:600;font-size:.94rem}
.area-list span.prov{background:var(--green);color:var(--surface);border-color:var(--green)}
@media (max-width:860px){.area-grid{grid-template-columns:1fr}}

/* Quote */
.quote-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.contact-block{display:flex;flex-direction:column;gap:18px;margin-top:24px}
.contact-block div span{display:block}
.contact-block .lbl{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.contact-block .val{font-size:1.3rem;font-weight:700;user-select:all}
.copy{font-size:.8rem;margin-top:4px;background:none;border:1px solid var(--line);border-radius:3px;padding:3px 8px;color:var(--muted);cursor:pointer;font-family:var(--font-body)}
form.qf{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:clamp(20px,4vw,32px);min-width:0}
.svc-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:22px}
.svc-pick label{position:relative;cursor:pointer}
.svc-pick input{position:absolute;opacity:0}
.svc-pick span{display:block;text-align:center;padding:12px 8px;border:2px solid var(--line);border-radius:4px;font-weight:700;font-size:.9rem;line-height:1.25}
.svc-pick input:checked+span{border-color:var(--green);background:var(--green-soft);color:var(--green)}
.svc-pick input:focus-visible+span{outline:3px solid var(--blue);outline-offset:2px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.f{display:flex;flex-direction:column;gap:5px;min-width:0}
.f.full{grid-column:1/-1}
.f label,.f legend{font-size:.86rem;font-weight:600}
.f input,.f select,.f textarea{font:inherit;font-size:.96rem;padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--ink);width:100%}
.f textarea{min-height:96px;resize:vertical}
fieldset.f{border:0;padding:0;margin:0}
.yn{display:flex;gap:18px;padding-top:4px}
.yn label{font-weight:500;display:flex;align-items:center;gap:6px}
.group-title{grid-column:1/-1;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:8px;border-top:1px solid var(--line);margin-top:6px}
.form-foot{margin-top:22px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.form-foot small{color:var(--muted);max-width:44ch}
.done{margin-top:16px;padding:14px 16px;border-radius:4px;background:var(--green-soft);color:var(--green);font-weight:600}
@media (max-width:900px){.quote-grid{grid-template-columns:1fr}}
@media (max-width:520px){.fields{grid-template-columns:1fr}.svc-pick span{font-size:.8rem;padding:10px 4px}}

footer{background:var(--deep);color:var(--on-deep-muted);padding-block:40px 110px;font-size:.92rem}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px}
footer b{color:var(--on-deep)}
@media (min-width:761px){footer{padding-block:40px}}

/* Mobile action bar */
.mbar{display:none}
@media (max-width:760px){
  .mbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}
  .mbar a{justify-content:center;padding:.8em .6em}
  .mbar .btn-call{background:var(--blue);color:#fff}
}
@media (prefers-reduced-motion:no-preference){
  .seed{animation:drift 6s ease-in-out infinite alternate}
  @keyframes drift{from{transform:translateY(0)}to{transform:translateY(-4px)}}
}

/* Hero v2: treeline + three full-bleed division panels */
:root{--tree-back:#C9D3CB;--tree-front:#B3C1B6;--head:#173528;
  --pg-a:#1E4A35;--pg-b:#2A6248;--pb-a:#1C4A70;--pb-b:#2A6492;--ps-a:#553820;--ps-b:#73502F}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--tree-back:#1A2620;--tree-front:#22322A;--head:#E7EEE9}}
:root[data-theme="dark"]{--tree-back:#1A2620;--tree-front:#22322A;--head:#E7EEE9}
.hero2{position:relative;overflow:hidden;text-align:center;padding-block:clamp(48px,7vw,80px) clamp(120px,14vw,170px)}
.treeline{position:absolute;left:0;right:0;bottom:0;width:100%;height:78%;display:block}
.treeline .tb{fill:var(--tree-back)}.treeline .tf{fill:var(--tree-front)}
.hero2-inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px}
.hero2 h1{font-family:var(--font-display);font-weight:900;text-transform:uppercase;color:var(--head);font-size:clamp(2.8rem,8vw,6.2rem);line-height:.95}
.hero2-lede{max-width:58ch;font-size:1.12rem;color:var(--ink)}
.hero2 .hero-cta{justify-content:center;margin-top:6px}
.hero2 .btn-line{background:var(--bg)}
.panels{display:grid;grid-template-columns:repeat(3,1fr);padding-block:0}
.panel{display:flex;flex-direction:column;color:#fff;min-width:0}
.panel-art{aspect-ratio:5/3;max-width:100%;overflow:hidden}
.panel-art svg{width:100%;height:100%;display:block}
.panel-body{flex:1;padding:30px clamp(20px,3vw,40px) 40px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}
.panel-tag{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;opacity:.8}
.panel h2{font-size:clamp(2rem,3.4vw,2.8rem);color:#fff}
.panel p{max-width:36ch;color:rgba(255,255,255,.86)}
.panel-link{margin-top:auto;padding:.7em 1.3em;border:2px solid rgba(255,255,255,.8);border-radius:4px;font-weight:700;text-decoration:none;color:#fff}
.panel-link:hover{background:rgba(255,255,255,.14)}
.p-green .panel-body{background:var(--pg-b)}.p-blue .panel-body{background:var(--pb-b)}.p-brown .panel-body{background:var(--ps-b)}
.panels + .wrap .creds{margin-top:0;border-top:0}
@media (max-width:860px){.panels{grid-template-columns:1fr}.panel-art{aspect-ratio:2/1}}

/* What is hydroseeding */
.hs-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px}
.hs-grid h3{font-size:1.35rem;margin-bottom:16px}
.mix{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.mix li{display:flex;gap:16px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line)}
.mix i{flex:none;width:14px;height:14px;border-radius:50%;margin-top:6px}
.mix b{display:block}
.mix span{color:var(--muted);font-size:.94rem}
.timeline{list-style:none;margin:0;padding:0 0 0 18px;border-left:3px solid var(--green);display:flex;flex-direction:column;gap:16px}
.timeline li{position:relative}
.timeline li::before{content:"";position:absolute;left:-26px;top:7px;width:13px;height:13px;border-radius:50%;background:var(--bg);border:3px solid var(--green)}
.timeline b{display:block;font-family:var(--font-display);font-size:1.4rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.timeline span{color:var(--muted);font-size:.94rem}
.prep{margin:0;padding-left:1.1em;color:var(--muted)}
.prep li{margin-block:4px}
.compare-wrap{overflow-x:auto;margin-top:48px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}
.compare{width:100%;border-collapse:collapse;min-width:560px;font-size:.94rem}
.compare th,.compare td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.compare tbody tr:last-child th,.compare tbody tr:last-child td{border-bottom:0}
.compare thead th{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500}
.compare tbody th{font-weight:600}
.compare .hl{background:var(--green-soft);color:var(--ink)}
.compare thead .hl{color:var(--green);font-weight:700}
.uses{margin-top:32px;display:flex;flex-direction:column;gap:12px}
@media (max-width:860px){.hs-grid{grid-template-columns:1fr}}

/* About */
.about{background:var(--surface);border-block:1px solid var(--line)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.about-copy{display:flex;flex-direction:column;gap:14px;margin-top:20px;font-size:1.04rem;max-width:58ch}
.team{display:flex;flex-direction:column;gap:20px}
.person{display:flex;gap:18px;align-items:flex-start;padding:22px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}
.initials{flex:none;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:#fff;font-family:var(--font-display);font-weight:800;font-size:1.3rem}
.person h3{font-size:1.4rem}
.person .role{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:2px 0 10px}
.person p:last-child{font-size:.94rem;color:var(--muted)}
@media (max-width:860px){.about-grid{grid-template-columns:1fr}}
.reach{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.reach-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:26px;display:flex;flex-direction:column;gap:12px;border-top:6px solid var(--green)}
.reach-card.r-blue{border-top-color:var(--blue)}
.reach-card.r-blue .area-list span.prov{background:var(--blue);border-color:var(--blue)}
.reach-tag{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.reach-card h3{font-size:2.1rem}
.reach-card p{color:var(--muted)}
@media (max-width:760px){.reach{grid-template-columns:1fr}}

/* reset for standalone pages */
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{margin:0}img{max-width:100%}[hidden]{display:none!important}
/* nav dropdown + mobile menu */
.dd{position:relative}
.dd-btn{font:inherit;font-weight:600;font-size:.94rem;background:none;border:0;color:inherit;cursor:pointer;padding:0;display:flex;align-items:center;gap:4px}
.dd-btn:hover{color:var(--green)}
.dd-menu{position:absolute;top:100%;left:-16px;padding-top:12px;display:none;min-width:270px}
.dd-menu div{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:6px;box-shadow:0 10px 30px rgba(0,0,0,.12);display:flex;flex-direction:column}
.dd-menu a{padding:10px 12px;border-radius:4px}
.dd-menu a:hover{background:var(--green-soft)}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{display:block}
nav.links a[aria-current="page"]{color:var(--green)}
.mnav{display:none;position:relative}
.mnav summary{list-style:none;cursor:pointer;font-weight:700;padding:.5em .8em;border:2px solid var(--line);border-radius:4px}
.mnav summary::-webkit-details-marker{display:none}
.mnav-panel{position:absolute;right:0;top:calc(100% + 10px);background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:0 10px 30px rgba(0,0,0,.15);padding:8px;display:flex;flex-direction:column;width:min(290px,calc(100vw - 32px))}
.mnav-panel a{padding:11px 12px;border-radius:4px;text-decoration:none;font-weight:600}
.mnav-panel a.sub{padding-left:24px;font-weight:500;color:var(--muted)}
.mnav-panel a:hover{background:var(--green-soft)}
.mnav-panel span{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:10px 12px 2px}
@media (max-width:960px){.mnav{display:block}}
/* sub-page hero + CTA band */
.hero2.sub{padding-block:clamp(40px,6vw,64px) clamp(100px,12vw,140px)}
.hero2.sub h1{font-size:clamp(2.4rem,6.5vw,4.8rem)}
.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px}
.offers div{padding:20px 0;border-top:1px solid var(--line)}
.offers h3{font-size:1.3rem;margin-bottom:6px}
.offers p{color:var(--muted);font-size:.95rem}
@media (max-width:860px){.offers{grid-template-columns:1fr}}
.cta-band{background:var(--pg-b);color:#fff;text-align:center}
.cta-band h2{color:#fff}
.cta-band p{color:rgba(255,255,255,.85);margin-top:10px}
.cta-band .hero-cta{justify-content:center;margin-top:24px}
.cta-band .btn-green{background:#fff;color:var(--pg-a)}
.cta-band .btn-line{color:#fff}
.cta-band .btn-line:hover{background:rgba(255,255,255,.14)}

:root{--logo-blue:#1F5AA6;--logo-green:#3E8E3A}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--logo-blue:#8BB8EA;--logo-green:#7CC47A}}
:root[data-theme="dark"]{--logo-blue:#8BB8EA;--logo-green:#7CC47A}
.logo-drop{width:40px;height:56px;flex:none;object-fit:contain}
.wordmark b{font-family:"Montserrat",var(--font-body);font-weight:800;font-size:1.32rem;letter-spacing:.01em;color:var(--logo-blue);line-height:1;display:block;padding-bottom:4px;border-bottom:2px solid var(--logo-green)}
.wordmark small{font-family:"Montserrat",var(--font-body);font-weight:700;font-size:.62rem;letter-spacing:.12em;color:var(--logo-blue);margin-top:4px}
.foot-logo{display:flex;align-items:center;gap:12px}
.foot-logo img{width:30px;height:42px}
.area-one{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}@media (max-width:860px){.area-one{grid-template-columns:1fr}}
/* Home hero v3: company name + three service buttons above the fold */
.home-hero{padding-block:clamp(24px,4.5vw,52px) clamp(48px,7vw,84px)}
.home-hero .treeline{height:62%}
.home-hero .hero2-inner{gap:14px}
.company{font-family:var(--font-display);font-weight:900;text-transform:uppercase;color:var(--head);font-size:clamp(2.4rem,7vw,5rem);line-height:.92;display:flex;flex-direction:column;align-items:center;gap:10px;margin:0}
.company .loc{font-family:var(--font-mono);font-weight:500;font-size:clamp(.72rem,1.4vw,.9rem);letter-spacing:.18em;color:var(--muted);line-height:1.2}
.tagline{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:clamp(1.1rem,2.4vw,1.6rem);color:var(--green);line-height:1.1}
.svc-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;width:100%;max-width:1080px;margin-top:12px}
.svc-btn{display:flex;flex-direction:column;text-align:left;text-decoration:none;color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 10px 28px rgba(16,32,24,.22);min-width:0}
.svc-btn:hover .sb-go{transform:translateX(4px)}
.svc-btn:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.sb-art{display:block;aspect-ratio:16/7;max-width:100%;overflow:hidden}
.sb-art svg{width:100%;height:100%;display:block}
.sb-body{display:flex;align-items:center;gap:12px;padding:16px 18px;flex:1}
.sb-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.sb-area{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.svc-btn b{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.4rem;line-height:1.02}
.sb-go{flex:none;width:38px;height:38px;border-radius:50%;border:2px solid rgba(255,255,255,.75);display:grid;place-items:center;font-size:1.15rem;font-weight:700;transition:transform .15s}
.b-green .sb-body{background:var(--pg-b)}.b-blue .sb-body{background:var(--pb-b)}.b-brown .sb-body{background:var(--ps-b)}
.b-green{background:var(--pg-a)}.b-blue{background:var(--pb-a)}.b-brown{background:var(--ps-a)}
.home-cta{margin-top:10px}
@media (max-width:860px){
  .svc-btns{grid-template-columns:1fr;gap:10px;margin-top:6px}
  .svc-btn{flex-direction:row;min-height:76px}
  .sb-art{width:92px;flex:none;aspect-ratio:auto}
  .sb-body{padding:12px 14px}
  .svc-btn b{font-size:1.2rem}
  .sb-go{width:32px;height:32px;font-size:1rem}
}
@media (max-width:760px){
  .home-hero{padding-block:18px 36px}
  .home-hero .hero2-inner{gap:10px}
  .company{gap:8px}
  .home-cta{display:none}
}
@media (prefers-reduced-motion:reduce){.sb-go{transition:none}}
@media (max-width:640px){.top .wrap{position:relative}.top .phone-text{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:1rem;font-weight:600}}
.sb-photo img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:860px){.b-green .sb-photo img{object-position:18% 38%!important}}
.creds{grid-template-columns:repeat(3,1fr)}.creds div:nth-child(3){border-left:1px solid var(--line);padding-left:16px}@media (max-width:860px){.creds{grid-template-columns:1fr}.creds div{border-left:0!important;padding-left:0!important;border-top:1px solid var(--line)}.creds div:first-child{border-top:0}}
@media (max-width:860px){.b-blue .sb-photo img{object-position:24% 62%!important}}
@media (max-width:860px){.b-brown .sb-photo img{object-position:42% 55%!important}}
.progress-sec{background:var(--surface);border-block:1px solid var(--line)}
.prog{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:st}
.prog-step{display:flex;flex-direction:column;gap:10px;min-width:0;position:relative}
.prog-img{aspect-ratio:4/3;max-width:100%;border-radius:6px;overflow:hidden;background:var(--line)}
.prog-img img{width:100%;height:100%;object-fit:cover;display:block}
.prog-cap{display:flex;flex-direction:column;gap:1px;padding-left:12px;border-left:3px solid var(--green)}
.prog-cap b{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.35rem;line-height:1.05}
.prog-date{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.prog-cap span:last-child{font-size:.9rem;color:var(--muted)}
@media (max-width:900px){.prog{grid-template-columns:1fr 1fr;gap:20px 14px}}
@media (max-width:420px){.prog-cap b{font-size:1.15rem}}
.gallery-sec{padding-top:0}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.g-item{margin:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.g-img{aspect-ratio:4/3;max-width:100%;border-radius:6px;overflow:hidden;background:var(--line)}
.g-img img{width:100%;height:100%;object-fit:cover;display:block}
.g-item figcaption{display:flex;flex-direction:column;gap:2px;padding-left:12px;border-left:3px solid var(--green)}
.g-item figcaption b{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.25rem;line-height:1.05}
.g-item figcaption span{font-size:.9rem;color:var(--muted)}
@media (max-width:860px){.gallery{grid-template-columns:1fr}}
.clients{padding-block:clamp(36px,6vw,56px)}
.clients .eyebrow{text-align:center;margin-bottom:18px}
.client-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.client{flex:1 1 180px;max-width:260px;min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:16px;color:var(--muted);filter:grayscale(1)}
.c-sub{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}
.c-name{font-family:var(--font-display);font-weight:800;font-size:1.7rem;text-transform:uppercase;line-height:1;color:var(--ink);opacity:.7}
.client img{max-width:100%;max-height:60px;object-fit:contain}

/* ---- multi-page additions ---- */
.crumbs{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--green);text-decoration:underline}
.crumbs span[aria-hidden]{opacity:.6}
.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.prose{display:flex;flex-direction:column;gap:16px;font-size:1.05rem;max-width:64ch;min-width:0}
.prose h2{margin-bottom:4px}
.prose a,.faq a,.cards a{color:var(--green);font-weight:600}
.intro-fig{margin:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.intro-fig .fig-img{aspect-ratio:4/3;max-width:100%;border-radius:6px;overflow:hidden;background:var(--line)}
.intro-fig img{width:100%;height:100%;object-fit:cover;display:block}
.intro-fig figcaption{font-size:.9rem;color:var(--muted);padding-left:12px;border-left:3px solid var(--green)}
.spec-card{background:var(--surface);border:1px solid var(--line);border-top:6px solid var(--green);border-radius:6px;padding:24px}
.spec-card h3{font-size:1.3rem;margin-bottom:14px}
.spec-card dl{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;margin:0}
.spec-card dt{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.spec-card dd{margin:0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.cards article{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:22px;display:flex;flex-direction:column;gap:8px;min-width:0}
.cards h3{font-size:1.3rem}
.cards p{color:var(--muted);font-size:.96rem}
.alt-bg{background:var(--surface);border-block:1px solid var(--line)}
.alt-bg .cards article{background:var(--bg)}
.steps-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:st}
.steps-list li{counter-increment:st;display:flex;flex-direction:column;gap:6px;padding-top:14px;border-top:3px solid var(--green);min-width:0}
.steps-list li::before{content:counter(st);font-family:var(--font-display);font-weight:900;font-size:2.4rem;line-height:1;color:var(--green)}
.steps-list b{font-size:1.02rem}
.steps-list span{color:var(--muted);font-size:.94rem}
@media (max-width:900px){.steps-list{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps-list{grid-template-columns:1fr}}
.care{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.care li{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:18px;display:flex;flex-direction:column;gap:4px}
.care b{font-family:var(--font-display);font-weight:800;font-size:1.5rem;line-height:1.05;text-transform:uppercase;color:var(--green);font-variant-numeric:tabular-nums}
.care span{color:var(--muted);font-size:.94rem}
@media (max-width:860px){.care{grid-template-columns:1fr 1fr}}
.faq{display:flex;flex-direction:column;gap:10px;max-width:820px}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:6px}
.faq summary{cursor:pointer;list-style:none;padding:16px 48px 16px 18px;font-weight:700;font-size:1.04rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:1.4rem;color:var(--green);font-weight:700}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 18px 18px;color:var(--muted);max-width:68ch}
.related{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.related a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 18px;border:1px solid var(--line);border-radius:6px;background:var(--surface);text-decoration:none;font-weight:700}
.related a:hover{border-color:var(--green);color:var(--green)}
.related a span{color:var(--green)}
.offers a.offer{display:flex;flex-direction:column;gap:6px;padding:20px 0;border-top:1px solid var(--line);text-decoration:none;color:inherit}
.offers a.offer h3{transition:color .15s}
.offers a.offer:hover h3,.offers a.offer:focus-visible h3{color:var(--green)}
.offers a.offer .more{margin-top:4px;font-weight:700;color:var(--green);font-size:.92rem}
.uses-row{margin-top:28px;display:flex;flex-direction:column;gap:12px}
@media (max-width:860px){.intro-grid{grid-template-columns:1fr}}
.dd-menu{min-width:300px}
.dd-menu a.dd-main{font-weight:700}
.dd-menu a.dd-sub{padding:7px 12px 7px 26px;font-size:.9rem;color:var(--muted)}
.dd-menu a.dd-sub:hover{color:var(--ink)}
.dd-menu a[aria-current="page"]{color:var(--green)}
.dd-btn span[aria-current="page"]{color:var(--green)}
.mnav-panel{max-height:calc(100vh - 120px);overflow:auto}
.mnav-panel a.sub2{padding:8px 12px 8px 36px;font-weight:500;color:var(--muted);font-size:.92rem}
footer .foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 1fr;gap:28px;justify-content:initial}
.foot-col ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.foot-col a{text-decoration:none}.foot-col a:hover{color:var(--on-deep);text-decoration:underline}
.foot-col b,.foot-col b a{color:var(--on-deep)}
.foot-base{margin-top:28px;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--on-deep) 18%,transparent);font-size:.85rem}
@media (max-width:860px){footer .foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){footer .foot-grid{grid-template-columns:1fr}}
.client-logos{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;max-width:1040px}.client-logos li{display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;height:120px;padding:18px 22px;box-sizing:border-box}.client-logos img{max-width:100%;max-height:72px;width:auto;height:auto;object-fit:contain}@media (max-width:720px){.client-logos{grid-template-columns:1fr 1fr;gap:10px}.client-logos li{height:96px;padding:14px}.client-logos img{max-height:56px}}.hero-loc{margin:2px 0 0;font-family:var(--font-mono);font-weight:500;font-size:clamp(.78rem,1.4vw,.95rem);letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.88);text-shadow:0 1px 8px rgba(0,0,0,.5)}.hero2 .tagline{font-size:clamp(2rem,5vw,3.6rem)!important;line-height:1.02;color:#fff!important;text-shadow:0 2px 16px rgba(0,0,0,.55)!important}.brand-text{display:flex;flex-direction:column;gap:2px;color:var(--ink)}.brand-text b{font-family:var(--font-display);font-weight:900;font-size:1.55rem;letter-spacing:.02em;text-transform:uppercase;line-height:.95}.brand-text small{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-top:0}.hero2 .tagline{font-size:clamp(1.6rem,3.8vw,2.8rem)!important;letter-spacing:.04em;margin-top:6px}@media (max-width:560px){.brand-text b{font-size:1.15rem}.brand-text small{font-size:.56rem;letter-spacing:.18em}.top .phone-text{display:none}}.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}.hcard.c-brown{border-top-color:var(--brown)}.hcard.c-brown .hcard-tag{color:var(--brown)}.hcard.c-brown li::before{background:var(--brown)}.hcard.c-brown .hcard-cta{background:var(--brown)}.hcards.hcards-lg{max-width:1120px;gap:28px}.hcards-lg .hcard{padding:40px 40px 34px}.hcards-lg .hcard h3{font-size:clamp(1.6rem,2.6vw,2.1rem);margin:10px 0 12px}.hcards-lg .hcard p{font-size:1.05rem}.hcards-lg .hcard li{font-size:1rem}.hcards-lg .hcard-cta{font-size:1rem;padding:.8em 1.3em}.soil-cards-sec{padding-block:clamp(40px,6vw,72px)}@media (max-width:720px){.hcards-lg .hcard{padding:26px 22px 24px}}.video-ph{display:grid;place-items:center;background:repeating-linear-gradient(135deg,#1c2a23,#1c2a23 14px,#22332a 14px,#22332a 28px);color:#fff;text-align:center}.video-ph div{display:flex;flex-direction:column;gap:6px;padding:20px}.video-ph b{font-size:1.2rem}.video-ph span{color:rgba(255,255,255,.75)}.mship-sec{padding-top:56px;padding-bottom:56px}.mship-head{text-align:center;margin-bottom:28px}.mship-head h2{margin-top:8px;font-size:clamp(1.6rem,3vw,2.2rem)}
.mships{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:900px}
.mships li{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 12px;background:var(--surface);border:1px solid var(--line);border-radius:8px;text-align:center}
.mship-logo{display:grid;place-items:center;height:64px}.mship-logo img{max-height:60px;width:auto;height:auto}
.mship-name{font-weight:700;font-size:.9rem;line-height:1.3}
@media (max-width:720px){.mships{grid-template-columns:1fr 1fr}}.cards.cards-3{grid-template-columns:repeat(3,1fr)}@media (max-width:900px){.cards.cards-3{grid-template-columns:1fr 1fr}}@media (max-width:560px){.cards.cards-3{grid-template-columns:1fr}}.split-sf{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start}.split-sf h2{margin:8px 0 24px}.steps-list.steps-col{grid-template-columns:1fr;gap:14px}.steps-list.steps-col li{display:grid;grid-template-columns:44px 1fr;column-gap:12px;row-gap:2px;padding-top:12px;border-top-width:2px}.steps-list.steps-col li::before{grid-row:1 / 3;font-size:2rem}.steps-list.steps-col li>*{grid-column:2}@media (max-width:860px){.split-sf{grid-template-columns:1fr;gap:40px}}.video-wrap{max-width:900px;margin:0 auto}.video-frame{position:relative;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#000;border:1px solid var(--line)}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.cert-badge{display:flex;align-items:center;gap:14px;margin-top:22px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);max-width:420px}
.cert-logo{flex:none;display:grid;place-items:center;width:64px;height:64px;border-radius:6px;background:#fff}
.cert-logo img{width:56px;height:56px;object-fit:contain}
.cert-badge b{display:block;font-size:1rem;line-height:1.25}
.cert-badge div span{display:block;color:var(--muted);font-size:.88rem;margin-top:2px}
.spec .cert-badge{border-color:color-mix(in srgb,var(--on-deep) 22%,transparent);background:color-mix(in srgb,var(--on-deep) 8%,transparent);color:var(--on-deep)}
.spec .cert-badge div span{color:var(--on-deep-muted)}.hcards-head{text-align:center;max-width:640px;margin:0 auto 36px}.hcards-head h2{margin-top:8px}.hcards-head p:not(.eyebrow){color:var(--muted);margin-top:12px;font-size:1.05rem}
.hcards{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:940px;margin:0 auto}
.hcard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-top:5px solid var(--blue);border-radius:8px;padding:30px 30px 26px;text-decoration:none;color:inherit;transition:box-shadow .2s,transform .2s}
.hcard.c-green{border-top-color:var(--green)}
.hcard:hover,.hcard:focus-visible{box-shadow:0 10px 28px rgba(20,40,30,.12);transform:translateY(-2px)}
.hcard-tag{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.hcard.c-green .hcard-tag{color:var(--green)}
.hcard h3{font-size:1.45rem;margin:8px 0 10px}
.hcard p{color:var(--muted)}
.hcard ul{list-style:none;margin:18px 0 22px;padding:16px 0 0;border-top:1px solid var(--line);display:grid;gap:8px}
.hcard li{position:relative;padding-left:22px;font-weight:600;font-size:.95rem}
.hcard li::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:2px;background:var(--blue)}
.hcard.c-green li::before{background:var(--green)}
.hcard-cta{margin-top:auto;align-self:flex-start;font-weight:700;color:var(--surface);background:var(--blue);padding:.7em 1.15em;border-radius:4px;font-size:.95rem}
.hcard.c-green .hcard-cta{background:var(--green)}
@media (max-width:720px){.hcards{grid-template-columns:1fr}.hcard{padding:24px 22px 22px}}.table-note{margin-top:10px;font-size:.88rem;color:var(--muted)}.offers.offers-4{grid-template-columns:repeat(4,1fr)}.offers.offers-2{grid-template-columns:1fr 1fr;max-width:860px;margin-left:auto;margin-right:auto;text-align:center}.offers.offers-2 a.offer{align-items:center}@media (max-width:560px){.offers.offers-2{grid-template-columns:1fr}}@media (max-width:960px){.offers.offers-4{grid-template-columns:1fr 1fr}}@media (max-width:560px){.offers.offers-4{grid-template-columns:1fr}}.company-loc{font-family:var(--font-mono);font-weight:500;font-size:clamp(.72rem,1.4vw,.9rem);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);line-height:1.2;margin-top:-4px}
/* ---- home hero service cards v2 ---- */
.hero2 .svc-btns.v2{display:grid!important;grid-template-columns:1.45fr 1fr!important;grid-template-rows:1fr 1fr;gap:14px!important;max-width:1120px!important;width:100%;height:440px;margin-top:20px!important}
.hero2 .svc-btns.v2 .svc-btn{position:relative!important;display:block!important;overflow:hidden;border-radius:10px;min-height:0;height:auto;background:#122019!important;box-shadow:0 10px 30px rgba(0,0,0,.25);text-decoration:none;color:#fff;isolation:isolate;padding:0!important;border:0!important}
.hero2 .svc-btns.v2 .b-green{grid-column:1!important;grid-row:1 / 3!important}.hero2 .svc-btns.v2 .b-blue{grid-column:2!important;grid-row:1!important}.hero2 .svc-btns.v2 .b-brown{grid-column:2!important;grid-row:2!important}
.hero2 .svc-btns.v2 .sb-art{position:absolute!important;inset:0;width:100%!important;height:100%!important;aspect-ratio:auto!important;max-width:none!important;z-index:-1}
.hero2 .svc-btns.v2 .sb-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.hero2 .svc-btns.v2 .svc-btn::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,16,12,0) 22%,rgba(8,16,12,.62) 55%,rgba(8,16,12,.93) 100%)}
.hero2 .svc-btns.v2 .svc-btn::before{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;z-index:1;background:var(--green)}
.hero2 .svc-btns.v2 .b-blue::before{background:var(--blue)}
.hero2 .svc-btns.v2 .b-brown::before{background:var(--brown)}
.hero2 .svc-btns.v2 .sb-body{position:absolute!important;left:0;right:0;bottom:0;display:flex!important;align-items:flex-end!important;gap:14px;padding:22px 24px 26px!important;background:none!important;flex:none}
.hero2 .svc-btns.v2 .sb-text{display:flex;flex-direction:column;gap:6px;text-align:left}
.hero2 .svc-btns.v2 .sb-kicker{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.hero2 .svc-btns.v2 .sb-text b{font-family:var(--font-display);font-weight:800;text-transform:uppercase;line-height:1;font-size:clamp(1.35rem,2.2vw,1.8rem);color:#fff;letter-spacing:.01em}
.hero2 .svc-btns.v2 .b-green .sb-text b{font-size:clamp(2rem,3.6vw,3rem)}
.hero2 .svc-btns.v2 .sb-desc{font-size:1rem;line-height:1.45;color:rgba(255,255,255,.88);max-width:44ch;margin-top:4px}
.hero2 .svc-btns.v2 .sb-cta{align-self:flex-start;margin-top:12px;display:inline-flex;gap:8px;align-items:center;background:var(--green);color:#fff;font-weight:700;font-size:.95rem;padding:.75em 1.2em;border-radius:6px}
.hero2 .svc-btns.v2 .sb-go{width:42px!important;height:42px!important;border:2px solid rgba(255,255,255,.85)!important;border-radius:50%;display:grid!important;place-items:center;color:#fff;font-size:1.1rem;flex:none;margin-left:auto;transform:none}
.hero2 .svc-btns.v2 .svc-btn:hover .sb-photo img,.hero2 .svc-btns.v2 .svc-btn:focus-visible .sb-photo img{transform:scale(1.04)}
.hero2 .svc-btns.v2 .svc-btn:hover .sb-go{background:rgba(255,255,255,.15)}
.hero2 .svc-btns.v2 .svc-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media (max-width:860px){
.hero2 .svc-btns.v2{grid-template-columns:1fr 1fr!important;grid-template-rows:auto auto;height:auto;gap:10px!important;margin-top:8px!important}
.hero2 .svc-btns.v2 .b-green{grid-row:1!important;grid-column:1 / 3!important;height:210px}.hero2 .svc-btns.v2 .b-blue{grid-column:1!important;grid-row:2!important}.hero2 .svc-btns.v2 .b-brown{grid-column:2!important;grid-row:2!important}
.hero2 .svc-btns.v2 .b-blue,.hero2 .svc-btns.v2 .b-brown{height:150px}
.hero2 .svc-btns.v2 .sb-body{padding:14px 14px 16px!important;gap:8px}
.hero2 .svc-btns.v2 .sb-desc,.hero2 .svc-btns.v2 .sb-cta{display:none}
.hero2 .svc-btns.v2 .b-green .sb-text b{font-size:1.6rem}
.hero2 .svc-btns.v2 .sb-text b{font-size:1.05rem}
.hero2 .svc-btns.v2 .sb-kicker{font-size:.62rem}
.hero2 .svc-btns.v2 .sb-go{width:32px!important;height:32px!important;font-size:.95rem}
.hero2 .svc-btns.v2 .b-blue .sb-go,.hero2 .svc-btns.v2 .b-brown .sb-go{display:none!important}
}
@media (prefers-reduced-motion:reduce){.hero2 .svc-btns.v2 .sb-photo img{transition:none}}

/* ===== Bright look: white header, photo heroes, richer blue and green ===== */
:root{--bg:#F6F8F6;--green:#18724A;--green-soft:#E0F0E6;--blue:#1E5FAF;--blue-soft:#E2ECF8;--deep:#123F2B;
  --pg-a:#11593A;--pg-b:#18724A;--pb-a:#164C8D;--pb-b:#1E5FAF;--header-bg:#FFFFFF;--band:#E3EFE7;--band-ink:#123F2B;--band-muted:#46604F}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--header-bg:#151E19;--band:#1A2A21;--band-ink:#E7EEE9;--band-muted:#9DADA3}}
:root[data-theme="dark"]{--header-bg:#151E19;--band:#1A2A21;--band-ink:#E7EEE9;--band-muted:#9DADA3}
header.top{background:var(--header-bg);box-shadow:0 2px 14px rgba(16,40,28,.07)}
.btn-green{background:var(--green);color:#fff}
.hero2.has-photo{background:radial-gradient(ellipse 75% 60% at 50% 42%,rgba(8,30,20,.55) 0%,rgba(8,30,20,.25) 100%),linear-gradient(180deg,rgba(8,30,20,0) 55%,rgba(8,30,20,.45) 100%),var(--hero-img) 50% 45%/cover no-repeat}
.hero2.has-photo .treeline{display:none}
.hero2.has-photo.sub{padding-block:clamp(56px,8vw,96px)}
.has-photo h1,.has-photo .company{color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.45)}
.has-photo .hero2-lede,.has-photo .company-loc{color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.55)}
.has-photo .tagline{color:#DDF0E3;text-shadow:0 1px 12px rgba(0,0,0,.5)}
.has-photo .crumbs,.has-photo .crumbs a{color:rgba(255,255,255,.88)}
.has-photo .btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.85)}
.has-photo .btn-line:hover{background:rgba(255,255,255,.12)}
.has-photo .svc-btn{box-shadow:0 12px 28px rgba(8,30,20,.3)}
.wrap:has(> .creds){max-width:none;background:var(--band);padding-inline:max(16px,calc((100% - 1120px)/2))}
.mships{border:0;margin-top:0}
.creds div{border-color:color-mix(in srgb,var(--band-ink) 14%,transparent)!important}
.creds strong{color:var(--band-ink)}.creds span{color:var(--band-muted)}
.home-intro{padding-bottom:0}
.intro-lead{max-width:760px;margin:0 auto 40px;text-align:center;display:flex;flex-direction:column;gap:14px}
.intro-lead p{font-size:1.08rem;color:var(--muted)}
.div-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.div-col{background:var(--surface);border:1px solid var(--line);border-top:6px solid var(--green);border-radius:6px;padding:24px;display:flex;flex-direction:column;gap:12px;min-width:0}
.div-col.c-b{border-top-color:var(--blue)}.div-col.c-s{border-top-color:var(--brown)}
.div-col h2{font-size:1.55rem}
.div-col p{color:var(--muted);font-size:.96rem}
.div-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.div-col li a{display:block;padding:7px 0;border-bottom:1px solid var(--line);text-decoration:none;font-weight:600;font-size:.95rem}
.div-col li a:hover{color:var(--green)}
.div-col .more{margin-top:auto;padding-top:6px;font-weight:700;text-decoration:none;color:var(--green)}
.div-col.c-b .more{color:var(--blue)}.div-col.c-s .more{color:var(--brown)}
@media (max-width:900px){.div-grid{grid-template-columns:1fr}}
.rating{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.rating .stars{color:#E8A317;font-size:1.3rem;letter-spacing:2px}
.rating b{font-size:1.15rem}.rating span:last-child{color:var(--muted);font-size:.9rem}
@media (max-width:640px){.rating{align-items:flex-start}}
.home-reviews .quotes{margin-top:0}
.review-cta{margin-top:28px;justify-content:center}
.home-reviews .btn-line{color:var(--ink)}
.dd-link{text-decoration:none}.dd-menu.dd-small{min-width:290px}.form-note{grid-column:1/-1;margin:0;padding:10px 12px;border-radius:4px;background:var(--blue-soft);font-size:.92rem}.form-note a{color:var(--blue);font-weight:700}@media (min-width:861px){.svc-btns{grid-template-columns:1fr 1fr;max-width:1000px}.svc-btn.b-green{grid-column:1/-1;flex-direction:row;height:200px}.b-green .sb-art{width:50%;height:100%;flex:none;aspect-ratio:auto}.b-green .sb-body{padding:28px 34px}.svc-btn.b-green b{font-size:2.3rem}.b-green .sb-go{width:46px;height:46px;font-size:1.3rem}.b-blue .sb-art,.b-brown .sb-art{aspect-ratio:16/5}.home-hero{padding-top:clamp(28px,4vw,48px)}}@media (max-width:860px){.svc-btn.b-green{min-height:96px}.svc-btn.b-green b{font-size:1.38rem}.b-green .sb-art{width:112px}}.cta-strip{background:var(--band);padding-block:28px}.cta-strip .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.cta-strip h2{font-size:clamp(1.5rem,3vw,2rem);color:var(--band-ink)}.cards.cards-2{grid-template-columns:repeat(2,1fr)}@media (max-width:760px){.cards.cards-2{grid-template-columns:1fr}}.cta-long p{max-width:68ch;margin-inline:auto}.prose + .cards{margin-top:28px}.cards article h3 a{color:inherit}.prose-sec{padding-block:clamp(40px,6vw,64px)}.prose-sec + section{padding-top:clamp(24px,4vw,40px)}.area-list a{display:inline-block;background:var(--surface);border:1px solid var(--line);padding:8px 14px;border-radius:999px;font-weight:600;font-size:.94rem;text-decoration:none;color:var(--green)}.area-list a:hover{border-color:var(--green)}.foot-sub{display:block;margin-top:16px}@media (max-width:560px){
.brand-text{flex-direction:row;align-items:baseline;gap:6px;flex-wrap:nowrap}
.brand-text b{font-size:1.3rem;white-space:nowrap}
.brand-text small{font-size:.62rem;letter-spacing:.14em;white-space:nowrap}
.top .wrap{gap:10px}.brand{min-width:0}
}
@media (max-width:359px){.brand-text small{display:none}.mbar .btn{font-size:.9rem;padding-inline:.6em}}
@media (max-width:389px){.brand-text b{font-size:1.08rem}.brand-text small{font-size:.54rem;letter-spacing:.08em}.brand img{width:32px;height:auto}.hero2.home-hero .tagline{font-size:1.75rem!important}}
@media (max-width:860px){
section.hero2.home-hero{min-height:calc(100svh - 81px);display:flex;flex-direction:column;padding-top:20px!important;padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important;box-sizing:border-box}
.hero2.home-hero .hero2-inner{flex:1;display:flex;flex-direction:column}
.hero2.home-hero .tagline{margin-top:8px}
.hero2.home-hero .hero-loc{margin-bottom:6px}
.hero2 .svc-btns.v2{flex:1;grid-template-rows:minmax(180px,1.3fr) minmax(150px,1fr)!important}
.hero2 .svc-btns.v2 .b-green,.hero2 .svc-btns.v2 .b-blue,.hero2 .svc-btns.v2 .b-brown{height:auto!important;min-height:0}
}
.mnav-panel{max-height:calc(100dvh - 100px)!important;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}body:has(.mnav[open]) .mbar{display:none}.dd-menu a.dd-main{font-weight:800!important;color:var(--ink);font-size:1rem}.dd-menu a.dd-main:not(:first-child){margin-top:6px;border-top:1px solid var(--line);border-radius:0 0 4px 4px;padding-top:12px}.mnav-panel a.sub{font-weight:800!important;color:var(--ink)!important;padding-left:12px!important;font-size:1rem}.mnav-panel a.sub2{padding:8px 12px 8px 26px;font-weight:500;font-size:.92rem;color:var(--muted)}section{padding-block:clamp(32px,4vw,48px)}
.home-intro{padding-bottom:0}
.clients,.mship-sec{padding-block:clamp(28px,4vw,44px)}
.soil-cards-sec{padding-block:clamp(32px,4.5vw,52px)}
.prose-sec{padding-block:clamp(32px,4.5vw,48px)}
.prose-sec + section{padding-top:clamp(20px,3vw,32px)}
.section-head{margin-bottom:26px}
.hero2.home-hero{padding-bottom:clamp(40px,5vw,64px)!important}
.hero2.has-photo.sub{padding-block:clamp(48px,6.5vw,80px)}
.cta-band{padding-block:clamp(40px,5vw,64px)}

:root,:root:not([data-theme="light"]),:root[data-theme="dark"]{
--bg:#F5F5F3;--surface:#FFFFFF;--ink:#1E1F1C;--muted:#5C605B;--line:#DFDFDA;--band:#ECEDE9;--band-ink:#1E1F1C;--band-muted:#5C605B;
--green:#1F6B45;--green-soft:#E3EFE7;--blue:#22609A;--blue-soft:#E2ECF5;--brown:#7A5232;--brown-soft:#F1E8DF;
--deep:#ECEDE9;--on-deep:#1E1F1C;--on-deep-muted:#555A55;--header-bg:#FFFFFF;--head:#1E1F1C;
--tree-back:#D9DDD8;--tree-front:#C9CEC8;color-scheme:light}
body{background:var(--bg);color:var(--ink)}
.btn{border-radius:999px}
.btn-green{background:var(--green);color:#fff}
.btn-green:hover{filter:brightness(1.08)}
.top{background:#fff!important;border-bottom:1px solid var(--line);box-shadow:0 1px 10px rgba(0,0,0,.05)}
.haul{background:#ECEDE9;color:var(--ink)}
.haul .spec,.haul .spec .cert-badge{background:#fff}
.haul .loads{background:#fff}
footer{--deep:#22302A;--on-deep:#EEF2EE;--on-deep-muted:#B4C0B8;background:#22302A;color:#B4C0B8}
.cta-band{background:var(--green)}
.hcard{box-shadow:0 2px 10px rgba(0,0,0,.04)}
.hcard-cta,.hero2 .svc-btns.v2 .sb-cta{border-radius:999px}
section.alt-bg{background:#ECEDE9}

.jbs-1{--hero-img:url(images/topsoil-stockpile-hydroseeding-erosion-control.jpg)}
.jbs-2{margin-top:8px}
.jbs-3{--hero-img:url(images/soil-gravel-conditioning-power-rake.jpg)}
.jbs-4{--hero-img:url(images/hydroseeding-crew-spraying-slurry.jpg)}
.jbs-5{color:var(--muted);margin-top:14px}
.jbs-6{margin-top:28px}
.jbs-7{--hero-img:url(images/acreage-hydroseeding-crew-aerial.jpg)}
.jbs-8{--hero-img:url(images/ditch-slope-erosion-control-hydroseeding.jpg)}
.jbs-9{--hero-img:url(images/seacan-transport-truck-gooseneck-trailer.jpg)}
.jbs-10{--hero-img:url(images/hydroseeding-before-topsoil-prepped.jpg)}
.jbs-11{background:var(--green)}
.jbs-12{background:var(--blue)}
.jbs-13{background:var(--brown)}
.jbs-14{margin-top:10px}

/* ---- WordPress compatibility ---- */
.wp-block-group{box-sizing:border-box}
:where(.wp-block-group.is-layout-flow) > *,:where(.wp-block-group.is-layout-constrained) > *{margin-block-start:0;margin-block-end:0}
.wp-block-heading,.wp-block-list{box-sizing:border-box}
.wp-block-details summary{cursor:pointer}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.admin-bar .top{top:32px}
@media (max-width:782px){body.admin-bar .top{top:46px}}
.jb-default-content{max-width:820px;margin:0 auto;padding:clamp(40px,6vw,72px) 20px}
