:root {
  --bg:#f3f7f2;
  --panel:#ffffff;
  --line:#d7e2d8;
  --text:#1b3225;
  --muted:#596d60;
  --green:#287545;
  --green2:#1f613b;
  --lime:#e2f3ad;
  --accent:#df7957
}
body {
  background:radial-gradient(ellipse at 76% 6%,#e4efe2 0,transparent 36%),#f3f7f2;
  color:var(--text)
}
.grain {
  opacity:.012
}
.nav {
  background:#f7faf4ed;
  border-bottom-color:#dce6dc;
  box-shadow:0 4px 20px #1833230a
}
.brand,.brand b {
  color:var(--text)
}
.brand small {
  color:#526458
}
nav a {
  color:#52675a
}
nav a:hover,.partner-back:hover {
  color:var(--green)
}
.wa,.secondary {
  color:#355242
}
.wa {
  border-color:#cfdbd0
}
.menu-toggle {
  background:#fff;
  border-color:#d4dfd5
}
.menu-toggle span {
  background:var(--text)
}
.primary {
  background:var(--green);
  color:#fff;
  box-shadow:0 7px 20px #28754524
}
.primary:hover {
  background:var(--green2)
}
.outline {
  border-color:#8eaa94;
  color:#315841
}
.outline:hover {
  background:#eaf2ea
}
.hero {
  background:transparent
}
.hero h1,.hero .hero-copy h1 {
  color:#193526;
  letter-spacing:0;
  line-height:1.03
}
.hero h1 em {
  color:#3c8050
}
.hero-copy>p,.section-head p,.service-copy p,.quote-section p,.contact p,.partner-hero p {
  color:#596d60
}
.eyebrow {
  color:#34754a
}
.hero .eyebrow i {
  background:var(--accent);
  box-shadow:0 0 0 4px #df79571c
}
.trust {
  color:#53685b
}
.scene {
  isolation:isolate
}
.scene:before {
  content:'';
  position:absolute;
  z-index:-1;
  inset:8% 4%;
  border-radius:48%;
  background:radial-gradient(ellipse,#dfecdc 0,rgba(223,236,220,.64) 35%,transparent 72%)
}
.orbit {
  border-color:#4f89543a
}
.float-card {
  border-color:#ffffffa8;
  box-shadow:0 15px 45px #142d1c20
}
.float-card,.float-card b {
  color:#f1f5ef
}
.float-card small {
  color:#c0cec3
}
.float-card .truck {
  color:#e2f3ad
}
.ticker {
  border-block-color:#dce6dc;
  color:#64766a
}
.section {
  color:var(--text)
}
.section h2,.quote-section h2,.contact h2 {
  font-size:46px;
  line-height:1.08;
  letter-spacing:0;
  color:var(--text)
}
.section-head {
  max-width:760px
}
.products {
  background:#eaf1e9;
  border-block-color:#dce6dc
}
.product {
  background:#fff;
  border-color:#d8e3d9;
  border-radius:10px;
  box-shadow:0 8px 22px #203c2710
}
.product:hover {
  border-color:#77a780;
  box-shadow:0 14px 30px #203c2718
}
.product h3 {
  color:#203c2a;
  letter-spacing:0
}
.product p {
  color:#637468
}
.product .price {
  color:#287545
}
.catalog-tools input,.catalog-tools select,.catalog-controls input,.catalog-controls select {
  background:#fff;
  border-color:#cad8cc;
  color:#243d2d
}
.catalog-tools label {
  color:#425a49
}
.catalog-results {
  color:#526458
}
.catalog-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:14px 0
}
.favorite-filter,.repeat-order {
  padding:9px 13px;
  border:1px solid #c6d8c8;
  border-radius:8px;
  background:#fff;
  color:#315841;
  font:600 12px 'DM Sans',sans-serif;
  cursor:pointer
}
.favorite-filter[aria-pressed=true] {
  background:#e7f1e4;
  border-color:#77a780;
  color:#245536
}
.repeat-order {
  background:#edf5e9
}
.favorite-toggle {
  position:absolute;
  top:12px;
  right:12px;
  z-index:2;
  width:34px;
  height:34px;
  border:1px solid #d4e0d4;
  border-radius:50%;
  background:#fff;
  color:#607569;
  font-size:20px;
  line-height:1;
  cursor:pointer
}
.favorite-toggle.is-favorite {
  color:#bc6c2c;
  border-color:#e7c8a9
}
.product .emoji {
  padding-right:34px
}
.catalog-cart {
  display:none;
  position:fixed;
  z-index:29;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  align-items:center;
  gap:12px;
  width:min(700px,calc(100% - 28px));
  padding:12px 14px;
  border:1px solid #ffffff24;
  border-radius:12px;
  background:#1d4b30;
  color:#fff;
  box-shadow:0 12px 36px #112b1b42
}
.catalog-cart.is-visible {
  display:flex
}
.catalog-cart>span {
  flex:1;
  font-size:13px;
  font-weight:600
}
.catalog-clear {
  padding:9px 11px;
  border:1px solid #ffffff40;
  border-radius:8px;
  background:transparent;
  color:#f0f5ef;
  font:600 11px 'DM Sans',sans-serif;
  cursor:pointer
}
.catalog-cart .primary {
  padding:10px 14px;
  background:#e2f3ad;
  color:#1b3225;
  white-space:nowrap
}
.catalog-toast {
  position:fixed;
  z-index:50;
  left:50%;
  bottom:88px;
  transform:translate(-50%,12px);
  padding:10px 16px;
  border-radius:22px;
  background:#203b2b;
  color:#fff;
  font-size:12px;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s,transform .18s
}
.catalog-toast.is-visible {
  transform:translate(-50%,0);
  opacity:1
}
.catalog-controls .add-product {
  background:#287545;
  border-color:#287545;
  color:#fff
}
.catalog-controls .quick-order {
  grid-column:1/-1;
  padding:9px;
  border:1px solid #c4d7c8;
  border-radius:8px;
  background:#fff;
  color:#285a39;
  font:600 11px 'DM Sans',sans-serif;
  cursor:pointer
}
.catalog-controls .quick-order:hover {
  background:#eef5eb;
  border-color:#81a989
}
.catalog-controls .add-product:hover {
  background:#1f613b
}
.history-trigger {
  color:#287545;
  border-color:#c6d8c8
}
.steps article {
  background:linear-gradient(145deg,#fff,#f4f8f3);
  border-color:#d8e3d9;
  border-radius:10px;
  box-shadow:0 8px 24px #203c2709
}
.steps article:after {
  background:radial-gradient(circle,#dbead9,transparent 68%);
  opacity:.58
}
.steps article>b,.steps article>span {
  color:#34794b
}
.steps article h3 {
  color:#203c2a;
  letter-spacing:0
}
.steps article p {
  color:#607265
}
.quote-section {
  background:radial-gradient(ellipse at 14% 50%,#e5efe3,transparent 52%)
}
.quote-panel {
  background:#fff;
  border-color:#d7e2d8;
  border-radius:10px;
  box-shadow:0 12px 34px #17321f10
}
.quote-row {
  border-bottom-color:#e2e9e2;
  color:#223b2c
}
.quote-row span,.quote-row i {
  color:#64776a
}
.quote-row b {
  color:#243c2c
}
.quote-total {
  color:#52675a
}
.quote-total strong {
  color:#287545
}
.service-map {
  background:radial-gradient(ellipse,#e1eddf,transparent 70%)
}
.chips span {
  background:#e8f0e6;
  border-color:#d2e0d2;
  color:#365d40
}
.metrics {
  background:#fff;
  border-block:1px solid #e0e8e0
}
.metric-grid>div {
  background:#f3f7f2;
  border-color:#dce6dc;
  border-radius:10px
}
.metric-grid strong {
  color:#287545
}
.metric-grid span {
  color:#607265
}
.faq-grid details {
  border-top-color:#d7e2d8
}
.faq-grid summary {
  color:#264231
}
.faq-grid details p {
  color:#5d7063
}
.contact {
  background:linear-gradient(115deg,#1d4b30,#173a27);
  color:#fff
}
.contact h2 {
  color:#fff
}
.contact p {
  color:#d4e2d6
}
.contact-card {
  background:#fff;
  border-color:#d5e1d6;
  border-radius:10px;
  box-shadow:0 16px 40px #07150d35
}
.contact-card a {
  border-bottom-color:#e3ebe3;
  color:#25412f
}
.contact-card a b {
  color:#25412f
}
.contact-card a:hover {
  background:#f2f7f0
}
.contact-card a small {
  color:#438154
}
footer,.partner-footer {
  background:#f6f9f5;
  border-top-color:#dce6dc;
  color:#536659
}
.partner-footer a {
  color:#287545
}
.partner-hero {
  background:linear-gradient(110deg,#e7f0e5,#f3f7f2);
  border-bottom-color:#dce6dc
}
.partner-hero h1 {
  color:#193526;
  letter-spacing:0;
  line-height:1.05
}
.partner-back {
  color:#36724a
}
.partner-form,.partner-aside {
  background:#fff;
  border-color:#d8e3d9;
  color:var(--text)
}
.partner-form {
  box-shadow:0 12px 36px #203c2710
}
.partner-form h2,.partner-aside h2 {
  color:#213b2b;
  letter-spacing:0
}
.partner-form>p,.partner-steps p,.partner-rate-note {
  color:#5d7163
}
.partner-fields label {
  color:#435a49
}
.partner-fields input,.partner-fields select,.partner-fields textarea {
  background:#f7faf6;
  border-color:#cbd9cc;
  color:#233c2d
}
.partner-steps li {
  border-top-color:#e1e9e1
}
.partner-steps b {
  color:#274331
}
.partner-steps li>span,.partner-rate-note strong {
  color:#287545
}
.order-count {
  background:#1d4b30;
  color:#fff
}
.order-count[hidden] {
  display:none
}
.modal {
  background:#102016a8
}
.modal-box {
  background:#fff;
  border-color:#d7e2d8;
  border-radius:12px;
  box-shadow:0 30px 90px #10261935;
  color:#213b2b
}
.modal-box h2 {
  color:#1f3728;
  letter-spacing:0
}
.modal-box p {
  color:#596d60
}
.modal-box .pricing-note {
  border-left-color:#438154;
  background:#eef5ec;
  color:#435a49
}
.order-footer {
  flex-wrap:wrap
}
.order-footer .copy-order {
  padding:11px 14px;
  border:1px solid #c5d7c8;
  border-radius:9px;
  background:#fff;
  color:#2b5839;
  font:600 12px 'DM Sans',sans-serif;
  cursor:pointer
}
.order-footer .copy-order:hover {
  background:#edf5e9
}
.remember-details {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 16px;
  margin:14px 0;
  color:#52685a
}
.remember-details label {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  cursor:pointer
}
.remember-details input {
  width:16px;
  height:16px;
  accent-color:#287545
}
.remember-details small {
  flex-basis:100%;
  color:#66796c;
  font-size:10px
}
.forget-saved {
  padding:7px 10px;
  border:1px solid #c5d7c8;
  border-radius:8px;
  background:#fff;
  color:#315841;
  font:600 11px 'DM Sans',sans-serif;
  cursor:pointer
}
.forget-saved[hidden] {
  display:none
}
.line input,.add-line input,.add-line select,.order-footer input,.form-grid input,.form-grid select,.form-grid textarea {
  background:#f7faf6;
  border-color:#cad8cc;
  color:#263d2e
}
.line button {
  background:#edf3ec;
  color:#365842
}
.add-line button {
  border-color:#91ad96;
  color:#2c6340
}
.close {
  color:#435b49
}
.order-details label,.partner-fields label>span {
  color:#52685a
}
.partner-privacy {
  color:#627568!important
}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible,summary:focus-visible {
  outline:3px solid #df795580;
  outline-offset:2px
}
@media(max-width:760px) {
  .section h2,.quote-section h2,.contact h2 {
    font-size:38px
  }
}
@media(max-width:560px) {
  .hero h1,.hero .hero-copy h1 {
    font-size:40px;
    letter-spacing:0
  }
  .section h2,.quote-section h2,.contact h2 {
    font-size:34px
  }
  .partner-hero h1 {
    font-size:34px
  }
  .catalog-tools {
    gap:10px
  }
  .catalog-cart {
    bottom:10px;
    gap:8px;
    padding:9px
  }
  .catalog-cart>span {
    font-size:11px
  }
  .catalog-clear,.catalog-cart .primary {
    padding:9px;
    font-size:10px
  }
  .catalog-toast {
    bottom:76px
  }
  .order-footer .copy-order {
    width:100%
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important
  }
}
