/*
Theme Name: ARLS Modern
Theme URI: https://arlawnservice.co/
Author: A.R Lawn Service LLC
Description: Lightweight, conversion-focused WordPress theme for A.R Lawn Service LLC.
Version: 0.26.21
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: arls-modern
*/

:root {
  --arls-green: #438a00;
  --arls-green-dark: #285a00;
  --arls-lime: #98d900;
  --arls-charcoal: #172018;
  --arls-ink: #263029;
  --arls-muted: #667068;
  --arls-surface: #f4f7f2;
  --arls-border: #dce5d8;
  --arls-white: #ffffff;
  --arls-shadow: 0 18px 50px rgba(23, 32, 24, 0.12);
  --arls-radius: 20px;
  --arls-max: 1180px;
}

.article-sidebar__card + .article-sidebar__card { margin-top: 24px; }

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--arls-ink);
  background: var(--arls-white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.65;
}

img { max-width: 100%; height: auto; }
.arls-picture { display: contents; }
a { color: var(--arls-green-dark); }
a:hover { color: var(--arls-green); }
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--arls-lime);
  outline-offset: 3px;
}

h1, h2, h3, h4 {
  color: var(--arls-charcoal);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.1;
}

h1 { font-size: clamp(2.6rem, 6vw, 5.5rem); }
h2 { font-size: clamp(2rem, 4vw, 3.5rem); }
h3 { font-size: clamp(1.35rem, 2vw, 1.75rem); }

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.container {
  width: min(calc(100% - 40px), var(--arls-max));
  margin-inline: auto;
}

.site-topbar {
  background: linear-gradient(90deg, #111a13 0%, var(--arls-charcoal) 55%, #1d2c1f 100%);
  color: #eef5ea;
  font-size: 0.82rem;
  letter-spacing: 0.01em;
}

.site-topbar__inner {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.site-topbar__inner > span { display: inline-flex; align-items: center; gap: 9px; font-weight: 700; }
.site-topbar__inner > span::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--arls-lime); box-shadow: 0 0 0 4px rgba(152,217,0,.13); }
.site-topbar a { color: #fff; text-decoration: none; font-weight: 800; }
.site-topbar a:hover { color: #c9f36c; }
.site-topbar__actions { display: flex; align-items: center; gap: 18px; }
.site-topbar__login { padding-left: 18px; border-left: 1px solid rgba(255,255,255,.28); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid rgba(220, 229, 216, 0.72);
  box-shadow: 0 10px 35px rgba(23, 32, 24, 0.07);
  backdrop-filter: blur(18px) saturate(145%);
}

.site-header__inner {
  min-height: 86px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.site-branding { display: flex; align-items: center; gap: 12px; }
.site-logo,
.custom-logo-link {
  display: inline-flex;
  align-items: center;
  padding: 7px 11px;
  border: 1px solid rgba(67, 138, 0, 0.15);
  border-radius: 16px;
  background: linear-gradient(145deg, #fff 0%, #f1f7ed 100%);
  box-shadow: 0 8px 20px rgba(23, 32, 24, 0.08);
  text-decoration: none;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
.site-logo:hover,
.custom-logo-link:hover { transform: translateY(-2px); border-color: rgba(67,138,0,.34); box-shadow: 0 12px 26px rgba(23,32,24,.12); }
.site-logo img { display: block; width: auto; height: 52px; }
.custom-logo { max-height: 62px; width: auto; }
.site-title { color: var(--arls-charcoal); font-size: 1.15rem; font-weight: 900; text-decoration: none; }

.primary-menu { display: flex; align-items: center; gap: 2px; margin: 0; padding: 0; list-style: none; }
.primary-menu a { display: block; padding: 10px 10px; border-radius: 10px; color: var(--arls-ink); font-size: 0.88rem; font-weight: 750; text-decoration: none; transition: color 160ms ease, background 160ms ease; }
.primary-menu a:hover { color: var(--arls-green-dark); background: #f0f6ec; }
.primary-menu .current-menu-item > a,
.primary-menu .current-page-ancestor > a { color: var(--arls-green-dark); background: #ebf4e5; }
.site-header__actions { display: flex; align-items: center; gap: 12px; }
.site-header__quote { gap: 9px; box-shadow: 0 10px 24px rgba(67,138,0,.2); }
.site-header__quote::after { content: "\2197"; font-size: 1.05em; line-height: 1; transition: transform 160ms ease; }
.site-header__quote:hover::after { transform: translate(2px,-2px); }
.menu-toggle { display: none; min-height: 48px; padding: 0 18px; gap: 10px; border-radius: 999px; }
.menu-toggle__label { line-height: 1; }
.menu-toggle__icon { width: 20px; display: grid; gap: 4px; }
.menu-toggle__icon span { display: block; height: 2px; border-radius: 2px; background: currentColor; transition: transform 160ms ease, opacity 160ms ease; }

.button,
button,
input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 24px;
  border: 2px solid var(--arls-green);
  border-radius: 999px;
  background: var(--arls-green);
  color: #fff;
  font: inherit;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease;
}

.button:hover { color: #fff; background: var(--arls-green-dark); border-color: var(--arls-green-dark); transform: translateY(-2px); }
.button--light { background: #fff; border-color: #fff; color: var(--arls-charcoal); }
.button--light:hover { color: var(--arls-charcoal); background: #eef5ea; border-color: #eef5ea; }
.button--outline { background: transparent; color: var(--arls-charcoal); border-color: var(--arls-charcoal); }
.button--outline:hover { color: #fff; background: var(--arls-charcoal); border-color: var(--arls-charcoal); }
.button--secondary { background: #fff; color: var(--arls-charcoal); border-color: var(--arls-border); }
.button--secondary:hover { color: var(--arls-charcoal); background: #eef5ea; border-color: #eef5ea; }

.hero {
  position: relative;
  min-height: 680px;
  display: grid;
  align-items: center;
  overflow: hidden;
  background: var(--arls-charcoal);
  color: #fff;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(13, 24, 14, 0.92) 0%, rgba(13, 24, 14, 0.72) 45%, rgba(13, 24, 14, 0.15) 78%);
  z-index: 1;
}

.hero__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 68% center; }
.hero__layout { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, .92fr) minmax(430px, .78fr); gap: 54px; align-items: center; }
.hero__content { width: 100%; padding: 92px 0; }
.hero h1 { margin: 0 0 22px; color: #fff; }
.hero p { max-width: 640px; margin: 0 0 30px; font-size: clamp(1.12rem, 2vw, 1.35rem); color: #edf4e9; }
.hero__eyebrow, .section-eyebrow { margin-bottom: 14px; color: var(--arls-lime); font-size: 0.82rem; font-weight: 900; letter-spacing: 0.15em; text-transform: uppercase; }
.hero__estimate { min-width: 0; padding: 16px; border: 2px solid rgba(152,217,0,.38); border-radius: 26px; background: linear-gradient(180deg, #fff 0%, #f8fbf6 100%); color: var(--arls-charcoal); box-shadow: 0 24px 60px rgba(0,0,0,.28); }
.hero__estimate-label { display: inline-flex; margin: 0 10px 5px; padding: 6px 10px; border-radius: 999px; background: #eaf5df; color: var(--arls-green-dark); font-size: .72rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.hero__estimate .lawn-widget { overflow: hidden; border-radius: 18px; background: transparent; }
.hero__estimate #deeplawn-widget > div:first-child { padding: 4px 10px 8px !important; color: var(--arls-charcoal) !important; font-family: inherit !important; font-size: 1.45rem !important; line-height: 1.15 !important; letter-spacing: -.025em; text-align: left !important; }
.hero__estimate .widget-container { max-width: none !important; margin: 0 !important; border-radius: 18px !important; box-shadow: none !important; }
.hero__estimate .lawn-container-div { margin: 0 !important; border-radius: 18px !important; box-shadow: none !important; }
.hero__estimate .search-address-input { min-height: 52px !important; padding: 0 13px !important; border: 1px solid var(--arls-border) !important; border-radius: 12px !important; }
.hero__estimate .search-address-button { min-height: 52px !important; border-color: var(--arls-green) !important; border-radius: 12px !important; background: var(--arls-green) !important; font-family: inherit !important; font-size: 1rem !important; }
.hero__estimate .search-address-button:hover { border-color: var(--arls-green-dark) !important; background: var(--arls-green-dark) !important; }
.hero__estimate #deeplawn-widget > p { margin-top: 2px !important; margin-right: 12px !important; color: var(--arls-muted) !important; font-size: .68rem !important; opacity: .42; }
.hero__estimate #deeplawn-widget > p a { color: inherit !important; }
.hero__estimate-footer { display: flex; margin-top: 12px; padding: 12px 14px; border: 1px solid #d5e8cc; border-radius: 14px; background: #edf7e8; align-items: center; justify-content: space-between; gap: 14px; }
.hero__estimate-footer > span { color: var(--arls-ink); font-size: .82rem; font-weight: 800; white-space: nowrap; }
.hero__estimate-button { min-height: 40px; padding: 0 17px; border-color: var(--arls-green-dark); background: var(--arls-green-dark); font-size: .78rem; white-space: nowrap; }

.breadcrumbs { margin: 0 0 24px; font-size: .86rem; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.breadcrumbs li { display: inline-flex; align-items: center; gap: 8px; color: #c6d4c3; }
.breadcrumbs li:not(:last-child)::after { content: "/"; color: rgba(255,255,255,.42); }
.breadcrumbs a { color: #fff; font-weight: 700; text-decoration: none; }
.breadcrumbs a:hover { color: var(--arls-lime); }

.draft-badge { display: inline-flex; margin: 0 0 20px; padding: 7px 12px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; background: rgba(255,255,255,.1); color: #fff; font-size: .74rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }

.trust-strip { background: var(--arls-green); color: #fff; }
.trust-strip__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-strip__item { padding: 24px 18px; text-align: center; border-right: 1px solid rgba(255,255,255,.22); }
.trust-strip__item:last-child { border-right: 0; }
.trust-strip strong { display: block; font-size: 1.15rem; }
.trust-strip span { color: #e9f7dd; font-size: 0.9rem; }

.section { padding: 96px 0; }
.section--compact { padding: 78px 0; }
.section--soft { background: var(--arls-surface); }
.section--dark { background: var(--arls-charcoal); color: #edf4e9; }
.section--dark h2, .section--dark h3 { color: #fff; }
.section-heading { max-width: 760px; margin-bottom: 44px; }
.section-heading h2 { margin: 0 0 16px; }
.section-heading p { margin: 0; color: var(--arls-muted); font-size: 1.1rem; }
.section-heading--center { max-width: 820px; margin-inline: auto; text-align: center; }
.section--dark .section-heading p { color: #c7d2c7; }

.card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.service-card { position: relative; min-height: 310px; padding: 34px; border: 1px solid var(--arls-border); border-radius: var(--arls-radius); background: #fff; box-shadow: 0 10px 30px rgba(23,32,24,.06); }
.service-card h3 { margin: 18px 0 12px; }
.service-card p { color: var(--arls-muted); }
.service-card__number { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; background: #eaf5df; color: var(--arls-green-dark); font-weight: 900; }
.service-card__link { display: inline-flex; margin-top: 10px; font-weight: 800; text-decoration: none; }

.process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.process-step { position: relative; padding: 30px 30px 30px 86px; border-top: 1px solid var(--arls-border); }
.process-step > span { position: absolute; top: 26px; left: 20px; width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; background: var(--arls-green); color: #fff; font-weight: 900; }
.process-step h3 { margin: 0 0 10px; }
.process-step p { margin: 0; color: var(--arls-muted); }

.split { display: grid; grid-template-columns: 1.05fr .95fr; gap: 64px; align-items: center; }
.split__media { min-height: 520px; border-radius: 28px; overflow: hidden; box-shadow: var(--arls-shadow); }
.split__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.check-list { display: grid; gap: 14px; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 34px; }
.check-list li::before { content: "\2713"; position: absolute; left: 0; top: 0; width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: var(--arls-green); color: #fff; font-size: .78rem; font-weight: 900; }

.area-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.area-link { padding: 18px 20px; border: 1px solid var(--arls-border); border-radius: 14px; background: #fff; color: var(--arls-charcoal); font-weight: 800; text-decoration: none; }
.area-link:hover { border-color: var(--arls-green); background: #f3faed; }
.area-link--draft { color: #aab5aa; cursor: default; }
.area-link--draft::after { content: "Private draft"; display: block; color: #859185; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }

.area-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.area-card { padding: 28px; border: 1px solid var(--arls-border); border-radius: var(--arls-radius); background: #fff; }
.area-card h3 { margin: 0 0 10px; }
.area-card p { margin: 0; color: var(--arls-muted); }
.area-card__status { display: inline-block; margin-top: 18px; color: var(--arls-green-dark); font-size: .78rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.area-detail-hero { padding: 96px 0 80px; background: linear-gradient(135deg, var(--arls-charcoal), #27491f); color: #fff; }
.area-detail-hero h1 { max-width: 850px; margin: 0 0 20px; color: #fff; }
.area-detail-hero p { max-width: 760px; color: #dce9d7; font-size: 1.18rem; }
.area-jump-links { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:36px; padding-top:24px; border-top:1px solid #ffffff30; }
.area-jump-links a { color:#e1edcf; text-underline-offset:5px; min-height:32px; font-size:.88rem; }
#local-lawn, #local-snow, #area-faq-title { scroll-margin-top:110px; }
.area-snow { background:#102c20; color:#dce8d6; }
.area-snow .section-eyebrow { color:#d0ef90; }
.area-snow h2, .area-snow h3 { color:#fff; }
.area-snow .section-heading p { color:#dce8d6; }
.area-snow__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.area-snow__grid article { display:flex; flex-direction:column; align-items:flex-start; background:#193b2d; border:1px solid #ffffff25; border-radius:18px; padding:32px; }
.area-snow__grid h3 { margin:16px 0; font-size:1.7rem; }
.area-snow__grid p { margin:0 0 28px; }
.area-snow__grid .button { margin-top:auto; background:#d0ef90; color:#102c20; border-color:#d0ef90; white-space:normal; }
.area-snow__footnote { margin:26px 0 0; font-size:.88rem; max-width:780px; }
.area-snow__footnote a { color:#d0ef90; text-underline-offset:4px; }
@media (max-width:700px) {
 .area-detail-hero { padding:48px 0; }
 .area-detail-hero h1 { font-size:clamp(2rem,9vw,3rem); }
 .area-detail-hero p { font-size:1rem; }
 .area-snow__grid { grid-template-columns:1fr; }
 .area-snow__grid article { padding:24px; }
 .area-snow__grid .button { width:100%; font-size:.85rem; }
}
.local-proof { padding: 26px; border-left: 4px solid var(--arls-green); background: var(--arls-surface); }
.local-proof h3 { margin-top: 0; }
.local-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.local-service-grid a { display: flex; min-height: 150px; padding: 24px; border: 1px solid var(--arls-border); border-radius: 16px; background: #fff; color: var(--arls-charcoal); flex-direction: column; justify-content: space-between; text-decoration: none; transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.local-service-grid a:hover { border-color: var(--arls-green); box-shadow: 0 12px 30px rgba(23,32,24,.08); transform: translateY(-3px); }
.local-service-grid strong { font-size: 1.1rem; }
.local-service-grid span { color: var(--arls-muted); font-size: .92rem; }
.draft-review-note { margin: 22px 0 0; padding-top: 18px; border-top: 1px solid var(--arls-border); color: var(--arls-muted); font-size: .86rem; }
.local-property-plan__grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 64px; align-items: start; }
.local-property-plan__grid h2 { margin-top: 0; }
.local-property-plan__grid > div:first-child p { color: var(--arls-muted); }
.local-check-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.local-check-grid > div { min-height: 150px; padding: 24px; border: 1px solid var(--arls-border); border-radius: 16px; background: #fff; box-shadow: 0 10px 28px rgba(23,32,24,.05); }
.local-check-grid strong, .local-check-grid span { display: block; }
.local-check-grid strong { margin-bottom: 8px; color: var(--arls-charcoal); }
.local-check-grid span { color: var(--arls-muted); font-size: .92rem; }
.related-area-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.related-area-list a, .related-area-list span { padding: 18px 20px; border: 1px solid var(--arls-border); border-radius: 14px; background: #fff; color: var(--arls-charcoal); font-weight: 800; text-decoration: none; }
.related-area-list a:hover { border-color: var(--arls-green); background: #f3faed; }
.related-area-list small { display: block; color: var(--arls-muted); font-size: .7rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.local-area-cta { padding: 72px 0; background: linear-gradient(135deg, var(--arls-charcoal), #24451e); color: #fff; }
.local-area-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 48px; }
.local-area-cta h2 { margin: 0 0 12px; color: #fff; }
.local-area-cta p { margin: 0; color: #dce9d7; }
.local-area-cta .button-row { display: flex; flex: 0 0 auto; gap: 12px; }
.quote-context { padding: 16px 0; border-bottom: 1px solid #cfe0c7; background: #edf7e8; color: var(--arls-green-dark); }

.seasonal-cta { padding: 0; }
.seasonal-cta__grid { display: grid; grid-template-columns: 1fr 1fr; width: 100%; max-width: none; }
.seasonal-panel { min-height: 390px; padding: 70px max(40px, calc((100vw - var(--arls-max)) / 2)); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; color: #fff; }
.seasonal-panel--green { background: linear-gradient(135deg, var(--arls-green-dark), var(--arls-green)); padding-left: max(40px, calc((100vw - var(--arls-max)) / 2)); padding-right: 64px; }
.seasonal-panel--dark { background: var(--arls-charcoal); padding-left: 64px; padding-right: max(40px, calc((100vw - var(--arls-max)) / 2)); }
.seasonal-panel h2 { margin: 0 0 16px; color: #fff; }
.seasonal-panel p { max-width: 520px; margin: 0 0 28px; color: #edf4e9; }

.faq-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 72px; align-items: start; }
.faq-layout h2 { margin-top: 0; }
.faq-layout > div:first-child p { margin-bottom: 28px; color: var(--arls-muted); }
.faq-list { border-top: 1px solid var(--arls-border); }
.faq-list details { border-bottom: 1px solid var(--arls-border); }
.faq-list summary { position: relative; padding: 24px 44px 24px 0; color: var(--arls-charcoal); font-weight: 800; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: 4px; top: 19px; color: var(--arls-green); font-size: 1.6rem; line-height: 1; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { margin: -6px 0 24px; padding-right: 44px; color: var(--arls-muted); }

.review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.review-card { margin: 0; padding: 30px; border: 1px solid var(--arls-border); border-radius: var(--arls-radius); background: #fff; box-shadow: 0 10px 30px rgba(23,32,24,.06); }
.review-card__stars { margin-bottom: 18px; color: var(--arls-green); letter-spacing: .12em; }
.review-card blockquote { margin: 0 0 18px; color: var(--arls-charcoal); font-size: 1.08rem; font-weight: 700; }
.review-card figcaption { color: var(--arls-muted); font-size: .92rem; }

.quote-page { padding: 80px 0 100px; background: var(--arls-surface); }
.quote-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 56px; align-items: start; }
.quote-info { position: sticky; top: 150px; }
.quote-info h2 { margin-top: 0; }
.quote-info__list { display: grid; gap: 16px; margin: 28px 0; }
.quote-info__item { padding: 18px 20px; border: 1px solid var(--arls-border); border-radius: 14px; background: #fff; }
.quote-info__item strong { display: block; color: var(--arls-charcoal); }
.quote-info__item a { font-weight: 800; }
.jobber-frame { overflow: hidden; min-height: 820px; border: 1px solid var(--arls-border); border-radius: 24px; background: #fff; box-shadow: var(--arls-shadow); }
.jobber-frame iframe { display: block; width: 100%; border: 0; }

.contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.contact-card { padding: 30px; border: 1px solid var(--arls-border); border-radius: var(--arls-radius); background: #fff; box-shadow: 0 10px 30px rgba(23,32,24,.06); }
.contact-card h2 { margin: 0 0 14px; font-size: 1.6rem; }
.contact-card p { color: var(--arls-muted); }
.contact-card__link { display: inline-block; margin-top: 12px; overflow-wrap: anywhere; color: var(--arls-green-dark); font-weight: 900; text-decoration: none; }

.guide-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.guide-card { min-height: 300px; display: flex; padding: 34px; border: 1px solid var(--arls-border); border-radius: var(--arls-radius); background: #fff; box-shadow: 0 10px 30px rgba(23,32,24,.06); flex-direction: column; align-items: flex-start; }
.guide-card__category { margin-bottom: 22px; color: var(--arls-green-dark); font-size: .78rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.guide-card h2 { margin: 0 0 14px; font-size: clamp(1.45rem, 2.6vw, 2.05rem); }
.guide-card h2 a { color: var(--arls-charcoal); text-decoration: none; }
.guide-card p { color: var(--arls-muted); }
.guide-card .service-card__link { margin-top: auto; }

.resource-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.resource-links a { min-height: 240px; display: flex; padding: 28px; border: 1px solid var(--arls-border); border-radius: var(--arls-radius); background: #fff; color: var(--arls-charcoal); box-shadow: 0 10px 30px rgba(23,32,24,.06); flex-direction: column; text-decoration: none; transition: transform 160ms ease, border-color 160ms ease; }
.resource-links a:hover { border-color: var(--arls-green); transform: translateY(-3px); }
.resource-links span { margin-bottom: 24px; color: var(--arls-green-dark); font-size: .76rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.resource-links strong { font-size: 1.35rem; line-height: 1.25; }
.resource-links em { margin-top: auto; color: var(--arls-green-dark); font-size: .92rem; font-style: normal; font-weight: 900; }
.resource-links__all { margin-top: 28px; }

.guide-hero { padding: 92px 0 78px; background: linear-gradient(135deg, #111b12 0%, #24461b 100%); color: #fff; }
.guide-hero h1 { max-width: 920px; margin: 0 0 22px; color: #fff; }
.guide-hero p { max-width: 760px; margin: 0; color: #dce9d7; font-size: 1.2rem; }
.guide-article { padding: 76px 0 96px; }
.guide-layout { display: grid; grid-template-columns: 280px minmax(0, 760px); gap: 64px; align-items: start; justify-content: center; }
.guide-toc { position: sticky; top: 132px; padding: 24px; border: 1px solid var(--arls-border); border-radius: 16px; background: var(--arls-surface); }
.guide-toc strong { display: block; margin-bottom: 12px; color: var(--arls-charcoal); }
.guide-toc ol { display: grid; gap: 10px; margin: 0; padding-left: 20px; }
.guide-toc a { color: var(--arls-ink); font-size: .9rem; font-weight: 700; text-decoration: none; }
.guide-content { min-width: 0; }
.guide-content section { scroll-margin-top: 125px; margin-bottom: 52px; }
.guide-content h2 { margin: 0 0 18px; font-size: clamp(1.8rem, 3.4vw, 2.65rem); }
.guide-content p, .guide-content li { color: #3d4840; }
.guide-content li { margin-bottom: 8px; }
.guide-disclaimer { margin: 0 0 48px; padding: 20px 22px; border-left: 4px solid var(--arls-green); background: #f4faef; }
.guide-source { margin-top: 18px; padding-top: 24px; border-top: 1px solid var(--arls-border); color: var(--arls-muted); font-size: .92rem; }
.cta-inline { display: flex; align-items: center; justify-content: space-between; gap: 44px; }
.cta-inline h2 { margin: 0 0 10px; }
.cta-inline p { margin: 0; color: var(--arls-muted); }

.about-intro { display: grid; grid-template-columns: .95fr 1.05fr; gap: 68px; align-items: center; }
.about-intro__media { min-height: 0; overflow: hidden; border-radius: 28px; background: var(--arls-surface); box-shadow: var(--arls-shadow); }
.about-intro__media img { display: block; width: 100%; height: auto; aspect-ratio: 1.15; object-fit: cover; object-position: center 74%; }
.about-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.value-card { padding: 30px; border: 1px solid var(--arls-border); border-radius: var(--arls-radius); background: #fff; }
.value-card__icon { width: 46px; height: 46px; display: grid; place-items: center; margin-bottom: 20px; border-radius: 50%; background: #eaf5df; color: var(--arls-green-dark); font-weight: 900; }
.value-card h3 { margin: 0 0 12px; }
.value-card p { margin: 0; color: var(--arls-muted); }

.reviews-summary { display: grid; grid-template-columns: .7fr 1.3fr; gap: 64px; align-items: start; }
.reviews-score { padding: 36px; border-radius: var(--arls-radius); background: var(--arls-green); color: #fff; }
.reviews-score strong { display: block; font-size: clamp(2.5rem, 5vw, 4.5rem); line-height: 1; }
.reviews-score span { display: block; margin-top: 12px; }
.reviews-list { display: grid; gap: 18px; }
.review-row { padding: 26px; border: 1px solid var(--arls-border); border-radius: 16px; background: #fff; }
.review-row p { margin: 8px 0 0; color: var(--arls-muted); }
.review-row__meta { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.review-row__meta strong { color: var(--arls-charcoal); }
.review-row__stars { color: var(--arls-green); letter-spacing: .08em; white-space: nowrap; }

.project-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.project-card { overflow: hidden; border: 1px solid var(--arls-border); border-radius: var(--arls-radius); background: #fff; box-shadow: 0 10px 30px rgba(23,32,24,.06); }
.project-card__image { display: block; width: 100%; height: 270px; object-fit: cover; background: var(--arls-surface); }
.project-card__content { padding: 26px; }
.project-card__content h3 { margin: 0 0 10px; }
.project-card__content p { margin: 0; color: var(--arls-muted); }
.project-card__tag { display: inline-block; margin-bottom: 12px; color: var(--arls-green-dark); font-size: .78rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }

.cta-band { padding: 56px 0; background: linear-gradient(135deg, var(--arls-green-dark), var(--arls-green)); color: #fff; }
.cta-band__inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.cta-band h2 { margin: 0 0 10px; color: #fff; }
.cta-band p { margin: 0; color: #e7f5dc; }

.entry-hero { padding: 92px 0 72px; background: var(--arls-charcoal); color: #fff; }
.entry-hero h1 { max-width: 920px; margin: 0; color: #fff; }
.entry-hero p { max-width: 760px; color: #d5dfd3; font-size: 1.15rem; }
.entry-content { width: min(calc(100% - 40px), 850px); margin: 0 auto; padding: 72px 0 96px; }

.resource-hero { padding-block: 78px; background: radial-gradient(circle at 88% 12%, rgba(152,217,0,.22), transparent 28%), var(--arls-charcoal); }
.resource-hero__inner { display: flex; align-items: end; justify-content: space-between; gap: 50px; }
.resource-hero__inner > div { max-width: 840px; }
.resource-hero h1 { margin-bottom: 22px; font-size: clamp(2.5rem, 5vw, 4.7rem); }
.resource-hero p, .resource-hero__description { margin: 0; max-width: 760px; color: #d5dfd3; font-size: 1.1rem; }
.resource-hero .button { flex: 0 0 auto; }
.section-heading--split { display: flex; align-items: end; justify-content: space-between; gap: 36px; }
.section-heading--split h2 { margin-bottom: 0; }
.category-chips { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; max-width: 600px; }
.category-chips a { padding: 7px 12px; border: 1px solid var(--arls-border); border-radius: 999px; background: #fff; color: var(--arls-ink); font-size: .78rem; font-weight: 800; text-decoration: none; }
.category-chips a:hover { border-color: var(--arls-green); color: var(--arls-green-dark); background: #f1f7ed; }
.blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.blog-card { overflow: hidden; display: flex; min-height: 100%; flex-direction: column; border: 1px solid var(--arls-border); border-radius: var(--arls-radius); background: #fff; box-shadow: 0 14px 36px rgba(23,32,24,.08); transition: transform 180ms ease, box-shadow 180ms ease; }
.blog-card:hover { transform: translateY(-5px); box-shadow: var(--arls-shadow); }
.blog-card__image { display: block; overflow: hidden; aspect-ratio: 16 / 10; background: #dfe8da; }
.blog-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 320ms ease; }
.blog-card:hover .blog-card__image img { transform: scale(1.035); }
.blog-card__body { display: flex; flex: 1; padding: 25px; flex-direction: column; align-items: flex-start; }
.blog-card__meta { display: flex; width: 100%; margin-bottom: 13px; align-items: center; justify-content: space-between; gap: 10px; color: var(--arls-muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .055em; }
.blog-card__topics { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.blog-card__meta span { color: var(--arls-green-dark); }
.blog-card__meta .blog-card__audience { padding: 3px 7px; border-radius: 999px; background: #e8f2e3; color: #36582e; font-size: .66rem; }
.blog-card h3 { margin: 0 0 12px; font-size: 1.35rem; }
.blog-card h3 a { color: var(--arls-charcoal); text-decoration: none; }
.blog-card p { margin: 0 0 20px; color: var(--arls-muted); font-size: .94rem; }
.blog-card .text-link { margin-top: auto; color: var(--arls-green-dark); font-size: .9rem; font-weight: 900; text-decoration: none; }
.blog-card .text-link span { display: inline-block; transition: transform 160ms ease; }
.blog-card .text-link:hover span { transform: translateX(4px); }
.pagination { display: flex; margin-top: 42px; justify-content: center; gap: 8px; }
.pagination .page-numbers { min-width: 42px; min-height: 42px; display: inline-flex; align-items: center; justify-content: center; padding: 6px 12px; border: 1px solid var(--arls-border); border-radius: 10px; text-decoration: none; font-weight: 800; }
.pagination .current { border-color: var(--arls-green); background: var(--arls-green); color: #fff; }

.article-hero { padding-block: 66px; }
.article-hero__inner { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); align-items: center; gap: 60px; }
.article-hero h1 { margin: 10px 0 22px; font-size: clamp(2.45rem, 5vw, 4.8rem); }
.article-byline { display: flex; flex-wrap: wrap; gap: 9px 24px; color: #cfdacc; font-size: .9rem; font-weight: 700; }
.article-hero__image { overflow: hidden; aspect-ratio: 4 / 3; border: 1px solid rgba(255,255,255,.18); border-radius: 24px; box-shadow: 0 25px 55px rgba(0,0,0,.28); }
.article-hero__image img { width: 100%; height: 100%; object-fit: cover; }
.article-section { background: linear-gradient(180deg, #f7faf5 0%, #fff 320px); }
.article-layout { display: grid; grid-template-columns: minmax(0, 760px) minmax(260px, 330px); justify-content: space-between; gap: 72px; }
.article-content { width: auto; margin: 0; padding: 0; font-size: 1.04rem; }
.article-content > *:first-child { margin-top: 0; }
.article-content h2 { margin: 2.2em 0 .65em; font-size: clamp(1.7rem, 3vw, 2.45rem); }
.article-content h3 { margin: 1.8em 0 .55em; font-size: clamp(1.3rem, 2vw, 1.65rem); }
.article-content p, .article-content li { color: #354039; }
.article-content a { font-weight: 700; text-underline-offset: 3px; }
.article-inline-image { margin: 38px 0; }
.article-inline-image img { width: 100%; border-radius: 20px; box-shadow: 0 16px 38px rgba(23,32,24,.12); }
.article-sidebar { align-self: start; position: sticky; top: 118px; }
.article-sidebar__card { padding: 28px; border: 1px solid #cfe0c8; border-radius: var(--arls-radius); background: #eff7eb; box-shadow: 0 14px 34px rgba(23,32,24,.08); }
.article-sidebar__card > span { color: var(--arls-green-dark); font-size: .75rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.article-sidebar__card h2 { margin: 12px 0; font-size: 1.8rem; }
.article-sidebar__card p { margin: 0 0 22px; color: var(--arls-muted); font-size: .94rem; }
.article-sidebar__card .button { width: 100%; }
.article-sidebar__phone, .article-sidebar__all { display: block; margin-top: 15px; text-align: center; font-weight: 850; }
.article-sidebar__phone { color: var(--arls-charcoal); }
.article-sidebar__all { color: var(--arls-green-dark); text-decoration: none; }

.service-hero { position: relative; overflow: hidden; padding: 104px 0 88px; background: linear-gradient(135deg, #111b12 0%, #24461b 100%); color: #fff; }
.service-hero::after { content: ""; position: absolute; top: -160px; right: -120px; width: 520px; height: 520px; border: 90px solid rgba(152,217,0,.12); border-radius: 50%; }
.service-hero .container { position: relative; z-index: 1; }
.service-hero h1 { max-width: 850px; margin: 0 0 22px; color: #fff; }
.service-hero p { max-width: 720px; margin: 0 0 30px; color: #dce9d7; font-size: 1.18rem; }
.service-proof { padding-top: 44px; background: #fff; }
.service-proof img { display: block; width: 100%; height: clamp(320px, 48vw, 620px); object-fit: cover; object-position: center; border-radius: 28px; box-shadow: var(--arls-shadow); }
.service-detail { padding: 88px 0; }
.service-detail__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: start; }
.service-detail h2 { margin-top: 0; }
.service-includes { padding: 32px; border-radius: var(--arls-radius); background: var(--arls-surface); border: 1px solid var(--arls-border); }
.service-includes h3 { margin-top: 0; }
.service-includes ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 13px; }
.service-includes li { position: relative; padding-left: 30px; }
.service-includes li::before { content: "\2713"; position: absolute; left: 0; color: var(--arls-green); font-weight: 900; }
.service-note { margin-top: 22px; padding: 18px 20px; border-left: 4px solid var(--arls-green); background: #f4faef; color: var(--arls-muted); }
.related-services { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.related-services a { padding: 22px; border: 1px solid var(--arls-border); border-radius: 14px; background: #fff; color: var(--arls-charcoal); font-weight: 800; text-decoration: none; }
.related-services a:hover { border-color: var(--arls-green); transform: translateY(-2px); }
.services-winter-focus { background: var(--arls-charcoal); color: #fff; }
.services-winter-focus__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; }
.services-winter-focus h2 { margin: 0 0 18px; color: #fff; }
.services-winter-focus p { color: #dce9d7; }
.services-winter-focus .service-card__link { color: #bceb50; }
.services-winter-focus__links { display: grid; gap: 16px; }
.services-winter-focus__links a { display: block; padding: 24px; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; background: rgba(255,255,255,.07); color: #fff; text-decoration: none; transition: border-color 160ms ease, transform 160ms ease, background 160ms ease; }
.services-winter-focus__links a:hover { border-color: var(--arls-green); background: rgba(255,255,255,.11); transform: translateY(-2px); }
.services-winter-focus__links strong, .services-winter-focus__links span { display: block; }
.services-winter-focus__links strong { margin-bottom: 6px; font-size: 1.16rem; }
.services-winter-focus__links span { color: #dce9d7; font-size: .92rem; }
.snow-service-paths { background: #eff6eb; }
.snow-path-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.snow-path-card { min-height: 330px; display: flex; padding: 36px; border: 1px solid var(--arls-border); border-radius: var(--arls-radius); background: #fff; box-shadow: 0 14px 36px rgba(23,32,24,.08); flex-direction: column; align-items: flex-start; }
.snow-path-card--commercial { border-color: #35582d; background: var(--arls-charcoal); color: #fff; }
.snow-path-card span { color: var(--arls-green-dark); font-size: .78rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.snow-path-card--commercial span { color: #bceb50; }
.snow-path-card h3 { margin: 16px 0 12px; font-size: clamp(1.65rem, 3vw, 2.25rem); }
.snow-path-card--commercial h3 { color: #fff; }
.snow-path-card p { margin: 0 0 28px; color: var(--arls-muted); }
.snow-path-card--commercial p { color: #dce9d7; }
.snow-path-card .button { margin-top: auto; }
.commercial-snow-resource { border-top: 1px solid var(--arls-border); background: #f4faef; }

.site-footer { padding: 72px 0 28px; background: #101611; color: #c8d2c7; }
.site-footer a { color: #fff; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 42px; }
.site-footer h3 { margin-top: 0; color: #fff; font-size: 1rem; letter-spacing: 0; }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.site-footer li { margin: 8px 0; }
.footer-bottom { margin-top: 48px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.12); font-size: .88rem; }
.service-jump-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.service-jump-links a { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; min-height:44px; padding:9px 16px; border:1px solid #c7d5bd; border-radius:999px; color:var(--arls-ink); background:#fff; text-decoration:none; font-size:.88rem; font-weight:700; }
.service-jump-links a:hover { background:#eaf2e2; border-color:var(--arls-green-dark); }
.service-group,.services-winter-focus,#service-plans { scroll-margin-top:110px; }
.service-group + .service-group { border-top:1px solid var(--arls-border); background:var(--arls-surface); }
.mobile-action-bar { display: none; }

@media (max-width: 980px) {
  .site-header__inner { min-height: 74px; }
  .menu-toggle { display: inline-flex; }
  .site-navigation { position: absolute; top: 100%; left: 0; right: 0; display: none; padding: 12px 20px 24px; background: #fff; border-top: 1px solid var(--arls-border); border-bottom: 1px solid var(--arls-border); box-shadow: 0 18px 35px rgba(23,32,24,.12); }
  .site-navigation.is-open { display: block; }
  .primary-menu { display: grid; gap: 0; }
  .primary-menu li { border-bottom: 1px solid var(--arls-border); }
  .primary-menu li:last-child { border-bottom: 0; }
  .primary-menu a { display: block; padding: 14px 2px; font-size: 1rem; }
  .menu-toggle[aria-expanded="true"] .menu-toggle__icon span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-toggle__icon span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] .menu-toggle__icon span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .hero { min-height: 620px; }
  .hero__layout { grid-template-columns: 1fr; gap: 0; }
  .hero__content { padding: 78px 0 30px; }
  .hero__estimate { margin-bottom: 70px; }
  .card-grid { grid-template-columns: repeat(2, 1fr); }
  .process-grid { grid-template-columns: 1fr; }
  .split { grid-template-columns: 1fr; gap: 38px; }
  .service-detail__grid { grid-template-columns: 1fr; gap: 40px; }
  .services-winter-focus__grid { grid-template-columns: 1fr; gap: 38px; }
  .snow-path-grid { grid-template-columns: 1fr; }
  .related-services { grid-template-columns: 1fr; }
  .faq-layout { grid-template-columns: 1fr; gap: 42px; }
  .review-grid { grid-template-columns: 1fr; }
  .quote-layout { grid-template-columns: 1fr; gap: 34px; }
  .about-intro, .reviews-summary { grid-template-columns: 1fr; gap: 40px; }
  .about-values, .project-grid { grid-template-columns: repeat(2, 1fr); }
  .resource-links { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
  .guide-layout { grid-template-columns: 1fr; gap: 38px; }
  .guide-toc { position: static; }
  .cta-inline { align-items: flex-start; flex-direction: column; }
  .quote-info { position: static; }
  .area-grid { grid-template-columns: repeat(3, 1fr); }
  .area-card-grid { grid-template-columns: repeat(2, 1fr); }
  .local-service-grid { grid-template-columns: repeat(2, 1fr); }
  .local-property-plan__grid { grid-template-columns: 1fr; gap: 36px; }
  .related-area-list { grid-template-columns: repeat(2, 1fr); }
	.blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.article-hero__inner, .article-layout { grid-template-columns: 1fr; }
	.article-hero__image { max-width: 680px; }
	.article-sidebar { position: static; }
  .local-area-cta__inner { align-items: flex-start; flex-direction: column; }
  .trust-strip__grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  body { font-size: 16px; }
  .container { width: min(calc(100% - 28px), var(--arls-max)); }
  .site-topbar__inner { justify-content: center; min-height: 38px; }
  .site-topbar__inner span { display: none; }
  .site-topbar__actions { width: 100%; justify-content: space-between; gap: 12px; }
  .site-topbar__login { padding-left: 12px; }
  .site-header .button { min-height: 44px; padding-inline: 16px; font-size: .88rem; }
  .site-header__quote { display: none; }
  .menu-toggle { min-height: 44px; padding-inline: 15px; font-size: .88rem; }
  .site-title { font-size: 1rem; }
  .site-logo, .custom-logo-link { padding: 5px 8px; border-radius: 13px; }
  .site-logo img { height: 42px; }
  .hero { min-height: 0; align-items: end; }
  .hero::before { background: linear-gradient(0deg, rgba(13,24,14,.96) 0%, rgba(13,24,14,.62) 70%, rgba(13,24,14,.22) 100%); }
  .hero__media { width: 100%; object-position: 58% center; }
  .hero__content { grid-row: 2; padding: 20px 0 56px; }
  .hero__estimate { grid-row: 1; margin: 32px 0 16px; padding: 10px; border-radius: 20px; }
  .hero__estimate-label { padding-inline: 8px; }
  .hero__estimate .lawn-widget { border-radius: 14px; }
  .hero__estimate-footer { padding: 8px 4px 2px; gap: 8px; }
  .hero__estimate-footer > span { font-size: .74rem; }
  .hero__estimate-button { min-height: 38px; padding-inline: 13px; font-size: .72rem; }
  .trust-strip__grid { grid-template-columns: 1fr 1fr; }
  .trust-strip__item { padding: 18px 10px; }
  .section { padding: 68px 0; }
  .card-grid, .area-grid, .area-card-grid, .about-values, .project-grid, .footer-grid, .local-service-grid, .guide-grid { grid-template-columns: 1fr; }
	.resource-hero__inner, .section-heading--split { align-items: flex-start; flex-direction: column; }
	.category-chips { justify-content: flex-start; }
	.blog-grid { grid-template-columns: 1fr; }
	.article-hero { padding-block: 52px; }
	.article-hero__inner { gap: 34px; }
	.article-layout { gap: 48px; }
  .process-step { padding-left: 76px; }
  .service-card { min-height: 0; }
  .split__media { min-height: 360px; }
  .seasonal-cta__grid { grid-template-columns: 1fr; }
  .seasonal-panel, .seasonal-panel--green, .seasonal-panel--dark { min-height: 340px; padding: 54px 24px; }
  .cta-band__inner { align-items: flex-start; flex-direction: column; }
  .quote-page { padding: 56px 0 72px; }
  .jobber-frame { min-height: 900px; border-radius: 16px; }
  .about-intro__media { min-height: 0; }
  .project-card__image { height: 240px; }
  .service-proof { padding-top: 24px; }
  .service-proof img { height: 320px; border-radius: 18px; }
  .snow-path-card { min-height: 300px; padding: 28px; }
  .local-service-grid a { min-height: 125px; }
  .local-check-grid, .related-area-list { grid-template-columns: 1fr; }
  .local-area-cta .button-row { width: 100%; flex-direction: column; }
  .local-area-cta .button { width: 100%; }
  .site-footer { padding-bottom: 108px; }
  .mobile-action-bar { position: fixed; right: 0; bottom: 0; left: 0; z-index: 80; display: grid; grid-template-columns: .78fr 1.22fr; gap: 10px; padding: 10px max(14px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left)); border-top: 1px solid var(--arls-border); background: rgba(255,255,255,.97); box-shadow: 0 -10px 28px rgba(23,32,24,.14); backdrop-filter: blur(14px); }
  .mobile-action-bar a { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; border: 2px solid var(--arls-green); border-radius: 999px; font-size: .92rem; font-weight: 900; text-decoration: none; }
  .mobile-action-bar__call { background: #fff; color: var(--arls-green-dark); }
  .mobile-action-bar__quote { background: var(--arls-green); color: #fff; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

.contact-google-map { display:block; width:100%; height:420px; border:0; border-radius:20px; margin:24px 0 16px; }
@media(max-width:700px) { .contact-google-map { height:320px; border-radius:14px; } }

/* Shared, provider-managed Google reviews; no copied rating or review totals. */
.arls-google-reviews { min-height:340px; min-width:0; }
.arls-review-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; margin-top:20px; }
.arls-review-actions p { margin:0; font-size:.75rem; color:var(--arls-muted); }
.arls-review-actions a { font-size:.85rem; }
body:not(.home) .home-review-layout { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
body:not(.home) .home-review-layout figure { margin:0; padding:24px 0; border-bottom:1px solid var(--arls-border); }
body:not(.home) .home-review-layout blockquote { margin:16px 0; font-size:1.2rem; }
body:not(.home) .home-review-layout figcaption { color:var(--arls-muted); font-size:.9rem; }
body:not(.home) .home-stars { color:var(--arls-green-dark); letter-spacing:.15em; }
@media(max-width:700px) { body:not(.home) .home-review-layout { grid-template-columns:1fr; gap:0; } }
@media(max-width:700px) { .arls-google-reviews { min-height:380px; } }

/* Shared editorial finish. No external assets or animation dependencies. */
.primary-menu > li { position:relative; }
.primary-menu > .has-disclosure { display:flex; align-items:center; }
.primary-menu > .has-disclosure > a { padding-right:2px; }
.nav-disclosure { display:inline-flex; align-items:center; justify-content:center; width:30px; min-width:30px; min-height:44px; padding:0; gap:0; flex-shrink:0; border:0; border-radius:999px; background:transparent; color:#173b2b; cursor:pointer; box-shadow:none; }
.nav-disclosure:hover,.nav-disclosure[aria-expanded="true"] { background:transparent; color:#527b38; }
.nav-disclosure span { display:block; width:7px; height:7px; overflow:hidden; font-size:0; border-right:1.7px solid currentColor; border-bottom:1.7px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform .18s ease; }
.nav-disclosure[aria-expanded="true"] span { transform:translateY(2px) rotate(225deg); }
@media(prefers-reduced-motion:reduce) { .nav-disclosure span { transition:none; } }
.nav-dropdown { position:absolute; top:100%; left:0; width:290px; max-height:70vh; overflow:auto; margin:0; padding:12px; list-style:none; background:#fffefa; border:1px solid #d9dfd3; border-radius:14px; box-shadow:0 20px 45px #102c2024; z-index:60; }
.nav-dropdown[hidden] { display:none!important; }
.primary-menu .nav-dropdown a,.home .primary-menu .nav-dropdown a { padding:11px 12px; min-height:44px; font-size:.83rem; font-weight:600; line-height:1.4; border-radius:7px; }
@media(max-width:980px) {
 .site-navigation.is-open { max-height:calc(100dvh - 110px); overflow:auto; overscroll-behavior:contain; }
 .primary-menu > .has-disclosure { display:grid; grid-template-columns:1fr 48px; }
 .nav-disclosure { width:48px; }
 .nav-dropdown { position:static; grid-column:1/-1; width:100%; max-height:none; border:0; border-radius:0; box-shadow:none; background:#f0f3e9; padding:8px 12px; margin-bottom:10px; }
}
.property-routing { padding:42px 0; background:#f7f7ef; border-bottom:1px solid #d9dfd3; }
.property-routing__grid { display:grid; grid-template-columns:1fr 1fr; gap:0; }
.property-routing article { padding:10px 40px 10px 0; }
.property-routing article + article { padding:10px 0 10px 40px; border-left:1px solid #d9dfd3; }
.property-routing h2,.home .property-routing h2 { font-size:clamp(1.5rem,2.4vw,2rem); line-height:1.15; margin:12px 0; letter-spacing:-.035em; }
.property-routing p { font-size:.9rem; color:#5d6d60; max-width:440px; }
.property-routing article > div:last-child { display:flex; flex-wrap:wrap; gap:8px 24px; }
.property-routing a { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:.79rem; font-weight:700; text-decoration:none; }
.property-routing a:hover { text-decoration:underline; text-underline-offset:5px; }
@media(max-width:700px) { .property-routing { padding:26px 0; } .property-routing__grid { grid-template-columns:1fr; } .property-routing article { padding:8px 0 24px; } .property-routing article + article { padding:24px 0 8px; border-left:0; border-top:1px solid #d9dfd3; } }
:root { --arls-green:#315d36; --arls-green-dark:#173b2b; --arls-lime:#d0ef90; --arls-charcoal:#19382a; --arls-ink:#263e30; --arls-muted:#5d6d60; --arls-surface:#eef2e8; --arls-border:#d9dfd3; --arls-radius:16px; --arls-shadow:0 16px 38px #173b2b0c; }
body { background:#f7f7ef; }
.hero__actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.contact-card .section-eyebrow { color:#315d36; }
.quote-info .section-eyebrow { color:#315d36; }
.jobber-help { padding:20px 24px; border-bottom:1px solid #d9dfd3; background:#f0f3e9; color:#173b2b; font-size:.88rem; }
.jobber-help p { margin:8px 0 0; }
.jobber-help a { color:#173b2b; text-underline-offset:3px; }
h1,h2,h3 { text-wrap:balance; }
p { text-wrap:pretty; }
.site-topbar { background:#173b2b; font-size:.73rem; }
.site-topbar__inner { min-height:34px; }
.site-header { background:#f7f7eff5; box-shadow:none; border-bottom:1px solid #173b2b0c; }
.site-header__inner { min-height:88px; gap:20px; }
.site-logo,.custom-logo-link { background:transparent; border:0; box-shadow:none; padding:0; }
.site-logo img { height:56px; }
.primary-menu a { font-size:.76rem; font-weight:650; }
.button { background:#173b2b; border-color:#173b2b; border-radius:999px; min-height:50px; box-shadow:none; font-size:.85rem; gap:14px; }
.button:hover { background:#294f37; border-color:#294f37; box-shadow:none; }
.button--outline { background:transparent; color:#173b2b; }
.button--outline:hover { color:white; }
.section-eyebrow { color:#315d36; font-size:.68rem; letter-spacing:.1em; font-weight:750; }
.section--dark .section-eyebrow,.entry-hero .section-eyebrow,.area-detail-hero .section-eyebrow,.guide-hero .section-eyebrow,.services-winter-focus .section-eyebrow,.seasonal-panel .section-eyebrow,.local-area-cta .section-eyebrow { color:#d0ef90; }
.service-hero,.resource-hero { background:#173b2b; padding-block:80px; }
.service-hero::after { width:650px; height:650px; border:1px solid #d0ef9029; top:-270px; right:-100px; box-shadow:0 0 0 70px #d0ef9005,0 0 0 140px #d0ef9004; pointer-events:none; }
.service-hero h1,.resource-hero h1 { font-size:clamp(2.65rem,5vw,4.7rem); letter-spacing:-.055em; font-weight:750; max-width:940px; }
.service-hero p,.resource-hero p { font-size:1.05rem; max-width:660px; line-height:1.75; }
.service-hero .button,.resource-hero .button { background:#d0ef90; border-color:#d0ef90; color:#173b2b; }
.service-hero .section-eyebrow,.resource-hero .section-eyebrow { color:#d0ef90; }
.service-card,.guide-card,.area-card,.project-card,.blog-card { border:1px solid #d9dfd3; box-shadow:none; background:#fffefa; border-radius:16px; }
.service-card { display:flex; flex-direction:column; align-items:flex-start; padding:32px; }
.service-card h3 { font-weight:700; letter-spacing:-.035em; }
.service-card p { font-size:.96rem; }
.service-card__number { width:auto; height:auto; background:transparent; font-family:Georgia,serif; font-style:italic; font-size:1.7rem; font-weight:400; color:#668259; }
.service-card__link { margin-top:auto; padding-top:18px; font-size:.86rem; }
.service-card:focus-within,.guide-card:focus-within,.blog-card:focus-within { border-color:#315d36; }
.project-card__content { padding:26px; }
.project-card h3 { font-size:1.35rem; font-weight:700; }
.project-card p { font-size:.92rem; }
.project-card__image { height:300px; }
.guide-card h2 { font-weight:700; }
.blog-card:hover { transform:translateY(-3px); box-shadow:var(--arls-shadow); }
.cta-band { background:#e7efd9; color:#173b2b; border-top:1px solid #d9dfd3; }
.cta-band h2,.cta-band p { color:#173b2b; }
.cta-band .button { color:#fff; }
.site-footer,.home .site-footer { background:#122c20; }
.home .hero { min-height:730px; }
.home .hero__layout { padding-top:84px; gap:60px; }
.home .hero__estimate { border:1px solid #afc9a95c; box-shadow:0 24px 60px #06180d26; padding:28px; }
.home .hero__content > p { max-width:475px; font-size:1rem; line-height:1.75; }
.home .home-trust { border-bottom:1px solid #d9dfd3; padding-block:30px; }
.home .mosaic-card { border-radius:16px; }
.home .mosaic-card--aeration { background:#eaf0dd; border:1px solid #d6dfc9; }
.home .service-extras a { padding-block:12px; }
.home .section { padding-block:88px; }
.home .home-proof { background:#eaf0e2; }
.proof-layout { display:grid; grid-template-columns:1.15fr 1fr; gap:76px; align-items:center; }
.proof-photo { margin:0; }
.proof-photo img { display:block; width:100%; aspect-ratio:1.05; object-fit:cover; object-position:center 65%; border-radius:16px; }
.proof-photo figcaption { display:flex; justify-content:space-between; gap:16px; padding-top:16px; font-size:.73rem; color:#52664e; }
.proof-photo figcaption span:last-child { font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; }
.proof-copy > p { color:#5d6d60; font-size:.97rem; max-width:440px; }
.proof-steps { margin:28px 0; padding:0; list-style:none; counter-reset:steps; }
.proof-steps li { counter-increment:steps; display:grid; grid-template-columns:32px 1fr; gap:14px; border-top:1px solid #cbd6c2; padding:17px 0; }
.proof-steps li::before { content:'0' counter(steps); font-size:.75rem; color:#607d50; padding-top:3px; }
.proof-steps strong,.proof-steps span { display:block; }
.proof-steps strong { font-size:.92rem; font-weight:700; }
.proof-steps span { font-size:.83rem; color:#5d6d60; margin-top:3px; }
.home .home-reviews { background:#f0f3e9; border-block:1px solid #d9dfd3; }
.home .review-side figure { padding:24px; background:#fffefa; border:1px solid #d9dfd3; border-radius:14px; }
.home .review-side figure:last-child { margin-bottom:0; }
.home .home-final { background:#e0edc9; }
.home .home-final h2 { letter-spacing:-.055em; }
.home .faq-list details[open] { border-bottom-color:#6f8b5d; }
.home .faq-list details[open] summary { color:#315d36; }
@media(hover:hover) { .service-card,.guide-card,.area-card { transition:border-color .2s,box-shadow .2s; } .service-card:hover,.guide-card:hover,.area-card:hover { border-color:#91a782; box-shadow:0 12px 28px #173b2b08; } }
@media(max-width:1050px) { .proof-layout { gap:40px; } .home .hero__layout { gap:30px; } }
@media(max-width:700px) {
 .site-header__inner { min-height:76px; }
 .site-logo img { height:48px; }
 .service-hero,.resource-hero { padding-block:52px; }
 .service-hero p,.resource-hero p { font-size:1rem; }
 .service-card,.guide-card { padding:26px; }
 .home .hero { min-height:0; }
 .home .hero__layout { padding-top:20px; gap:0; }
 .home .hero__estimate { padding:22px; }
 .home .hero__content > p { font-size:.94rem; }
 .home .section { padding-block:60px; }
 .proof-layout { grid-template-columns:1fr; gap:32px; }
 .proof-photo img { aspect-ratio:1.1; }
 .proof-photo figcaption { font-size:.69rem; }
 .proof-photo figcaption span:last-child { font-size:.58rem; }
 .proof-copy h2 { margin-top:14px; }
 .project-card__image { height:260px; }
 .home .review-side figure { padding:22px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; } }
.area-snow__grid article { color:#e3ece6; }
.area-snow__grid article h2,.area-snow__grid article h3 { color:#fff; }
.area-snow__grid article h2 { font-size:clamp(1.7rem,3vw,2.35rem); line-height:1.15; margin:20px 0; }
.area-snow__grid article p { color:#e3ece6; }
.area-snow__grid article .section-eyebrow { color:#d0ef90; }
.project-card--comparison .project-card__image { object-fit:contain; background:#f2f4ed; }
.area-detail-hero .button, .local-area-cta .button { background:#d0ef90; color:#14382b; border-color:#d0ef90; }
.area-detail-hero .button:hover, .local-area-cta .button:hover { background:#e1f6b9; border-color:#e1f6b9; }
main [id] { scroll-margin-top:110px; }

/* About is a photo story, not a service-page banner and repeated cards. */
.about-editorial { background:#faf9f5; color:#28412f; }
.about-editorial .container { width:min(calc(100% - 88px),1240px); }
.about-editorial h1,.about-editorial h2 { font-family:var(--arls-display); font-weight:400; letter-spacing:-.045em; line-height:1.08; }
.about-editorial h2 { font-size:clamp(2.35rem,4vw,3.65rem); margin:0 0 28px; }
.about-editorial .about-label { color:#536a48; font-size:.7rem; font-weight:600; letter-spacing:.075em; text-transform:uppercase; line-height:1.6; margin:0 0 20px; }
.about-editorial figure { margin:0; }
.about-editorial figcaption { margin-top:17px; font-size:.78rem; line-height:1.6; }
.about-text-link { display:inline-flex; align-items:center; gap:30px; min-height:44px; color:#234d31; font-size:.86rem; font-weight:600; text-decoration:none; }
.about-text-link:hover { text-decoration:underline; text-underline-offset:6px; }
.about-opening { padding-top:30px; }
.about-opening .breadcrumbs { margin:0 0 45px; color:#5f6d58; }
.about-opening .breadcrumbs a { color:#46633a; }
.about-opening .breadcrumbs li,.about-opening .breadcrumbs span { color:#5f6d58; }
.about-opening .breadcrumbs li::after { color:#78916b; }
.about-opening__text { display:grid; grid-template-columns:1.25fr .75fr; gap:85px; align-items:end; margin-bottom:44px; }
.about-editorial h1 { color:#173b2b; font-size:clamp(4rem,7.2vw,7rem); margin:0; }
.about-opening__text > p { color:#52624c; font-size:1.03rem; line-height:1.85; margin:0 0 8px; max-width:410px; }
.about-portrait img { display:block; width:100%; height:auto; aspect-ratio:2; object-fit:cover; object-position:center 68%; }
.about-portrait figcaption { display:flex; justify-content:space-between; align-items:center; gap:24px; color:#596a51; padding-bottom:24px; border-bottom:1px solid #d1d9cb; }
.about-portrait figcaption a { display:inline-flex; gap:24px; min-height:36px; align-items:center; color:#2b5131; text-decoration:none; }
.about-portrait figcaption a:hover { text-decoration:underline; text-underline-offset:4px; }
.about-story { padding:100px 0; }
.about-story__layout { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.about-story__layout > div > p:not(.about-label) { color:#596952; font-size:1rem; line-height:1.85; max-width:430px; margin:0 0 22px; }
.about-practices { margin:0; }
.about-practices > div { border-top:1px solid #bccab2; padding:25px 0; }
.about-practices dt { font-size:1.15rem; font-weight:600; margin:0 0 13px; color:#21422c; }
.about-practices dd { margin:0; font-size:.96rem; line-height:1.8; color:#596952; }
.about-practices > div:last-child { padding-bottom:0; }
.about-in-the-field { background:#173b2b; padding:80px 0; color:#fffdf4; }
.about-field__layout { display:grid; grid-template-columns:.95fr 1.05fr; gap:85px; align-items:center; }
.about-field__layout figure img { display:block; width:100%; height:auto; }
.about-field__layout figcaption { color:#c6d3bc; font-size:.74rem; }
.about-editorial .about-in-the-field .about-label { color:#c1d5ac; }
.about-in-the-field h2 { color:#fffdf4; }
.about-field__copy > p:not(.about-label) { font-size:.97rem; color:#e1e8d7; line-height:1.85; margin:0 0 27px; }
.about-service-index { border-top:1px solid #ffffff40; margin-bottom:24px; }
.about-service-index > a { display:grid; grid-template-columns:1fr auto; align-items:center; gap:4px 20px; padding:18px 0; border-bottom:1px solid #ffffff40; color:#fffdf4; text-decoration:none; }
.about-service-index > a > span:first-child { font-size:1.02rem; font-weight:550; }
.about-service-index > a > span:nth-child(2) { grid-column:1; font-size:.77rem; color:#cbdac0; }
.about-service-index > a > span:last-child { grid-column:2; grid-row:1/3; font-size:1.3rem; }
.about-service-index > a:hover > span:first-child { text-decoration:underline; text-underline-offset:5px; }
.about-field__copy .about-field__extra { font-size:.85rem; }
.about-field__extra a { color:#e1e8d7; text-underline-offset:4px; text-decoration-color:#a8bd91; }
.about-field__copy .about-text-link { color:#e3efce; }
.about-base { padding:100px 0; }
.about-base__layout { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.about-base__layout > div > p:not(.about-label) { color:#596952; font-size:1rem; line-height:1.85; max-width:430px; margin:0 0 22px; }
.about-contact dl { margin:0 0 30px; }
.about-contact dl > div { border-top:1px solid #c1cdb8; display:grid; grid-template-columns:.9fr 1.1fr; gap:24px; padding:23px 0; }
.about-contact dt { color:#546849; font-size:.8rem; line-height:1.6; }
.about-contact dd { margin:0; color:#334e39; font-size:.91rem; line-height:1.8; }
.about-contact dd a { display:block; text-decoration:none; color:#294e33; overflow-wrap:anywhere; }
.about-contact dd a:hover { text-decoration:underline; text-underline-offset:5px; }
.about-contact dd .about-contact__phone { font-size:1.12rem; font-weight:600; margin-bottom:7px; }
.about-contact__note { display:block; color:#64725e; font-size:.75rem; line-height:1.7; margin-top:8px; }
.about-contact .button { min-height:52px; padding:12px 22px; text-align:center; }
@media(min-width:701px) and (max-width:1050px) {
  .about-editorial .container { width:calc(100% - 56px); }
  .about-opening__text { grid-template-columns:1fr 1fr; gap:38px; }
  .about-editorial h1 { font-size:clamp(3.6rem,7.8vw,5.4rem); }
  .about-story__layout,.about-field__layout,.about-base__layout { gap:44px; }
  .about-contact dl > div { display:block; }
  .about-contact dt { margin-bottom:10px; }
}
@media(max-width:700px) {
  .about-editorial .container { width:calc(100% - 40px); }
  .about-opening { padding-top:22px; }
  .about-opening .breadcrumbs { margin-bottom:30px; }
  .about-opening__text { grid-template-columns:1fr; gap:24px; margin-bottom:30px; }
  .about-editorial h1 { font-size:clamp(3.4rem,14vw,5.5rem); }
  .about-editorial h2 { font-size:clamp(2.3rem,8.8vw,3.4rem); }
  .about-editorial .about-label { font-size:.65rem; margin-bottom:17px; }
  .about-opening__text > p { max-width:none; font-size:.96rem; margin:0; }
  .about-portrait img { aspect-ratio:1.08; object-position:center 78%; }
  .about-portrait figcaption { display:block; margin-top:13px; font-size:.73rem; padding-bottom:20px; }
  .about-portrait figcaption a { display:flex; justify-content:space-between; margin-top:7px; }
  .about-story,.about-base { padding-block:60px; }
  .about-story__layout,.about-field__layout,.about-base__layout { grid-template-columns:1fr; gap:35px; }
  .about-story__layout > div > p:not(.about-label),.about-base__layout > div > p:not(.about-label) { font-size:.96rem; }
  .about-practices dt { font-size:1.08rem; }
  .about-practices dd { font-size:.93rem; }
  .about-in-the-field { padding-block:55px; }
  .about-field__copy > p:not(.about-label) { font-size:.95rem; }
  .about-field__copy .about-field__extra { font-size:.84rem; }
  .about-contact dl > div { grid-template-columns:.85fr 1.15fr; gap:18px; }
  .about-contact dd { font-size:.88rem; }
  .about-contact dd a { font-size:.82rem; }
  .about-contact dd .about-contact__phone { font-size:1rem; }
  .about-contact .button { width:100%; }
}
@media(max-width:360px) { .about-contact dl > div { display:block; } .about-contact dt { margin-bottom:10px; } }

/* ARLS 0.26 — the company-wide design system, loaded after page layouts.
 * System fonts and existing photographs: no added remote dependencies. */
:root {
  --arls-green:#287542; --arls-green-dark:#185730; --arls-lime:#b9e887;
  --arls-charcoal:#19251e; --arls-ink:#2c3730; --arls-muted:#5c6961;
  --arls-surface:#f2f5f2; --arls-paper:#fff; --arls-border:#dce3dd;
  --arls-radius:6px; --arls-shadow:0 12px 32px #17291d0a; --arls-max:1280px;
  --arls-display:'Helvetica Neue',Arial,ui-sans-serif,system-ui,sans-serif;
}
body,.home { background:#fff; color:var(--arls-ink); -webkit-font-smoothing:antialiased; font-size:16px; }
.container,.home .container,.about-editorial .container { width:min(calc(100% - 80px),var(--arls-max)); }
h1,h2,h3,h4,.home h1,.home h2,.about-editorial h1,.about-editorial h2 { font-family:var(--arls-display); font-weight:750; font-style:normal; letter-spacing:-.045em; line-height:1.08; }
h2,.home h2,.about-editorial h2 { font-size:clamp(2rem,3.5vw,3.3rem); }
h3,h4 { letter-spacing:-.025em; line-height:1.2; }
p { line-height:1.75; }
.section,.front-section { padding-block:90px; }
.section-heading { max-width:800px; margin-bottom:44px; }
.section-heading h2 { font-weight:750; }
.section-eyebrow,.home .front-kicker,.about-editorial .about-label { font-size:.69rem; font-weight:750; letter-spacing:.12em; color:var(--arls-green-dark); }
.section-eyebrow::before { display:none; }
.button { min-height:52px; padding:13px 23px; border:1px solid var(--arls-green); border-radius:5px; background:var(--arls-green); color:#fff; font-size:.85rem; line-height:1.4; font-weight:700; letter-spacing:0; gap:16px; box-shadow:none; text-align:center; }
.button:hover { background:var(--arls-green-dark); border-color:var(--arls-green-dark); color:#fff; transform:none; box-shadow:none; }
.button--outline,.button--secondary { background:transparent; color:var(--arls-green-dark); border-color:#8ba391; }
.button--outline:hover,.button--secondary:hover { background:#edf4ed; color:var(--arls-green-dark); border-color:var(--arls-green-dark); }
.button--light { background:#fff; color:var(--arls-green-dark); border-color:#fff; }
.button--light:hover { background:#e8f2e7; color:var(--arls-green-dark); border-color:#e8f2e7; }
a { text-underline-offset:4px; }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible { outline:3px solid #71a854; outline-offset:4px; }
.service-card__link,.home .front-link,.about-text-link { color:var(--arls-green-dark); font-size:.88rem; font-weight:700; }

/* Shared identity and two-column service directories. */
.site-topbar { background:#1c2b22; color:#e3ebe5; font-size:.71rem; }
.site-topbar__inner { min-height:37px; }
.site-topbar__inner > span { font-weight:500; }
.site-topbar__inner > span::before { display:none; }
.topbar-region { color:#c0cdc3; }
.site-topbar a { font-weight:600; }
.site-header { background:#fff; border-bottom:1px solid #e1e7e2; box-shadow:0 3px 12px #162c1d04; backdrop-filter:none; }
.site-header__inner { min-height:92px; gap:24px; }
.site-branding { flex-shrink:0; }
.site-logo,.custom-logo-link { background:transparent; border:0; border-radius:0; padding:0; box-shadow:none; }
.site-logo:hover,.custom-logo-link:hover { transform:none; box-shadow:none; }
.site-logo img,.custom-logo { height:59px; width:auto; max-height:59px; }
.primary-menu { gap:1px; }
.primary-menu a,.home .primary-menu a { font-size:.82rem; font-weight:650; padding:12px 8px; border-radius:3px; color:#28342c; }
.primary-menu a:hover,.primary-menu .current-menu-item > a,.primary-menu .current-page-ancestor > a { color:#185730; background:#edf4ed; }
.site-header__quote { min-height:48px; padding-inline:20px; font-size:.81rem; white-space:nowrap; }
.site-header__quote::after { content:'\2197'; }
.site-header__quote:hover::after { transform:none; }
.menu-toggle { min-height:44px; border-radius:4px; border:1px solid #ccd8ce; background:#fff; color:#1c3c26; font-size:.85rem; font-weight:650; }
.nav-dropdown { width:560px; display:grid; grid-template-columns:1fr 1fr; gap:4px 8px; padding:18px; background:#fff; border:1px solid #dce3dd; border-top:3px solid #287542; border-radius:0 0 6px 6px; box-shadow:0 18px 38px #16261c18; }
.nav-dropdown[hidden] { display:none!important; }
.primary-menu .nav-dropdown a,.home .primary-menu .nav-dropdown a { padding:12px; font-size:.82rem; font-weight:600; min-height:48px; line-height:1.45; }
.primary-menu .nav-dropdown a:hover { background:#edf4ed; }

/* Inner pages: strong titles and uninterrupted real photography. */
.service-hero,.resource-hero,.guide-hero,.entry-hero,.area-detail-hero,.article-hero { background:#f1f5f1; color:var(--arls-ink); padding-block:66px; border-bottom:1px solid var(--arls-border); }
.service-hero::after,.resource-hero::after { display:none; }
.service-hero h1,.resource-hero h1,.area-detail-hero h1,.guide-hero h1,.entry-hero h1,.article-hero h1 { color:var(--arls-charcoal); font-family:var(--arls-display); font-size:clamp(2.7rem,4.8vw,4.6rem); line-height:1.04; font-weight:750; letter-spacing:-.045em; max-width:1000px; margin:20px 0 26px; }
.service-hero p,.resource-hero p,.area-detail-hero p,.guide-hero p,.entry-hero p,.article-hero p { color:#526258; font-size:1.02rem; line-height:1.8; max-width:690px; }
.service-hero .section-eyebrow,.resource-hero .section-eyebrow,.guide-hero .section-eyebrow,.entry-hero .section-eyebrow,.area-detail-hero .section-eyebrow { color:var(--arls-green-dark); }
.service-hero .button,.resource-hero .button,.area-detail-hero .button { background:var(--arls-green); color:#fff; border-color:var(--arls-green); }
.service-hero .button:hover,.resource-hero .button:hover,.area-detail-hero .button:hover { background:var(--arls-green-dark); border-color:var(--arls-green-dark); }
.service-hero .button--light { background:#fff; color:#185730; border-color:#b8cabe; }
.breadcrumbs,.breadcrumbs a,.breadcrumbs li,.breadcrumbs span { color:#526459; font-size:.75rem; }
.breadcrumbs li::after { color:#85938a; }
.company-hero { position:relative; isolation:isolate; overflow:hidden; }
.company-hero--photo { background:#1b3022; color:#fff; min-height:540px; display:flex; align-items:center; }
.company-hero__photo { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 53%; }
.company-hero--photo::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#142b20f7 0%,#142b20e8 32%,#142b2080 66%,#142b2030 100%); }
.company-hero--photo h1 { color:#fff; max-width:790px; }
.company-hero--photo p { color:#eef4ee; max-width:620px; }
.company-hero--photo .section-eyebrow { color:#b9e887; }
.company-hero--photo .breadcrumbs,.company-hero--photo .breadcrumbs a,.company-hero--photo .breadcrumbs li,.company-hero--photo .breadcrumbs span { color:#d5e1d8; }
.company-hero--photo .button { background:#fff; color:#185730; border-color:#fff; }
.company-hero--photo .button:hover { background:#e4f0de; color:#185730; border-color:#e4f0de; }
.company-hero--photo .button--light { background:transparent; color:#fff; border-color:#c0d0c5; }
.company-hero--area h1 { max-width:850px; font-size:clamp(2.6rem,4.2vw,4.1rem); }
.company-hero--area .company-hero__photo { object-position:center 60%; }
.service-jump-links,.area-jump-links { gap:0 26px; margin-top:30px; }
.service-jump-links a,.area-jump-links a { border:0; border-bottom:1px solid #c0cec3; border-radius:0; padding:10px 0; background:transparent; font-size:.8rem; }
.company-hero--photo .service-jump-links a,.company-hero--photo .area-jump-links a { color:#fff; border-color:#ffffff55; }
.company-hero--photo .service-jump-links a:hover,.company-hero--photo .area-jump-links a:hover { background:transparent; color:#b9e887; border-color:#b9e887; }
.draft-badge { border-radius:3px; font-size:.65rem; }

/* Service catalog and detail pages. */
.card-grid { gap:24px; }
.service-card,.guide-card,.area-card,.project-card,.blog-card { background:#fff; border:1px solid var(--arls-border); border-radius:6px; box-shadow:none; }
.service-card { padding:30px; min-height:260px; border-top:3px solid var(--arls-green); }
.service-card h3 { font-size:1.48rem; font-weight:750; margin:0 0 16px; }
.service-card p { color:var(--arls-muted); font-size:.95rem; }
.service-card__number { display:none; }
.service-card:hover,.guide-card:hover,.area-card:hover,.blog-card:hover { transform:none; border-color:#80a38a; box-shadow:none; }
.service-group .card-grid { gap:26px; }
.service-card--photo { overflow:hidden; padding:0 28px 28px; border-top-width:1px; }
.service-card__photo { display:block; width:calc(100% + 56px); max-width:none; margin:0 -28px 28px; aspect-ratio:4/3; object-fit:cover; height:auto; }
.service-card__photo--contain { object-fit:contain; background:#f0f4ef; }
.property-routing { background:#fff; padding-block:52px; border-bottom:1px solid var(--arls-border); }
.property-routing h2 { font-weight:750; font-size:clamp(1.65rem,2.3vw,2.2rem); }
.property-routing article { padding:6px 50px 6px 0; }
.property-routing article + article { padding:6px 0 6px 50px; }
.property-routing p { color:var(--arls-muted); }
.service-detail { padding-block:80px; }
.service-detail__grid { gap:70px; }
.service-includes,.local-proof { background:#f1f5f1; border:1px solid #dce6dd; border-top:3px solid #287542; border-radius:5px; padding:34px; }
.service-includes h3,.local-proof h3 { margin-top:0; font-size:1.4rem; }
.service-proof { padding-top:60px; }
.service-proof img { border-radius:5px; box-shadow:none; max-height:700px; object-fit:cover; }
.service-proof img[style] { object-fit:contain; }
.service-proof--portrait picture { display:block; width:min(100%,525px); margin-inline:auto; }
.service-proof--portrait img { width:100%; height:auto; max-height:none; object-fit:contain; }
.service-note { border-radius:4px; line-height:1.75; }
.snow-path-card { border-radius:6px; box-shadow:none; padding:38px; }
.snow-path-card--commercial { background:#1e3928; border-color:#1e3928; }
.snow-path-card--commercial h3 { color:#fff; }
.snow-path-card--commercial p { color:#e0eae2; }
.snow-path-card--commercial > span { color:#b9e887; }
.related-services a,.resource-links a { background:#fff; border-radius:4px; border:1px solid var(--arls-border); }
.value-card,.service-plan-card,.plan-card { border-radius:6px; box-shadow:none; }

/* Blue is a winter-service accent, not a second company identity. */
.arls-winter-page .service-hero { background:#eaf4f9; border-color:#c8dde7; }
.arls-winter-page .company-hero--photo::before { background:linear-gradient(90deg,#eff8fcfc 0%,#eff8fcf5 36%,#e5f1f8a8 65%,#d7ebf342 100%); }
.arls-winter-page .company-hero__photo { object-position:center 60%; }
.arls-winter-page .service-hero h1 { color:#293f49; }
.arls-winter-page .service-hero p { color:#3f5c69; }
.arls-winter-page .service-hero .section-eyebrow,.arls-winter-page .service-hero .breadcrumbs,.arls-winter-page .service-hero .breadcrumbs a,.arls-winter-page .service-hero .breadcrumbs li,.arls-winter-page .service-hero .breadcrumbs span { color:#365f72; }
.arls-winter-page .service-hero .button { background:#287542; border-color:#287542; color:#fff; }
.arls-winter-page .service-hero .button--light { background:#fff; border-color:#a8c2ce; color:#294653; }
.arls-winter-page .service-includes { border-top-color:#5d91a9; }
.arls-winter-page .snow-service-paths,.services-winter-focus { background:#eaf3f8; border-color:#c8dfe9; }
.arls-winter-page .snow-path-card--commercial { background:#dfedf5; border-color:#bfd6e2; }
.services-winter-focus h2,.services-winter-focus__links strong { color:#293f49; }
.services-winter-focus p,.services-winter-focus__links span { color:#496571; }
.services-winter-focus .section-eyebrow,.services-winter-focus .service-card__link { color:#345f73; }
.services-winter-focus__links a { background:#fff; border:1px solid #bed4df; border-radius:5px; box-shadow:none; padding:28px; }

/* Local pages with readable service cards and restrained directories. */
.area-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.area-card { padding:30px; border-top:3px solid #287542; display:flex; flex-direction:column; align-items:flex-start; }
.area-card h3 { font-size:1.6rem; }
.area-card p { font-size:.92rem; }
.area-card .service-card__link { margin-top:auto; }
.area-card .section-eyebrow { color:#346576; }
.local-service-grid a { border-radius:5px; background:#fff; border-color:#d7e1d9; padding:26px; min-height:155px; }
.local-service-grid strong { font-size:1.14rem; }
.local-service-grid span { font-size:.88rem; }
.local-check-grid > div { background:#fff; border-radius:5px; border:1px solid var(--arls-border); }
.area-snow__grid article { background:#eaf3f8; color:#293f49; border:1px solid #c5dce7; border-radius:6px; padding:38px; }
.area-snow__grid article h2,.area-snow__grid article h3 { color:#293f49; font-weight:750; }
.area-snow__grid article p { color:#455f6b; }
.area-snow__grid article .section-eyebrow { color:#365f72; }
.area-snow__grid article#commercial-mowing { background:#edf4ec; border-color:#c9ddca; }
.area-snow__grid article#commercial-mowing h2 { color:#1b4329; }
.area-snow__grid article#commercial-mowing p { color:#49614e; }
.local-area-cta { background:#1e3928; border-radius:0; }
.local-area-cta h2 { color:#fff; }
.local-area-cta p { color:#d9e7db; }
.local-area-cta .section-eyebrow { color:#b9e887; }
.local-area-cta .button { background:#fff; color:#185730; border-color:#fff; }
.faq-list details,.home .front-faq .faq-list details { background:transparent; border:0; border-bottom:1px solid #d3ddd5; border-radius:0; padding:23px 0; }
.faq-list summary,.home .front-faq .faq-list summary { font-size:1rem; font-weight:650; line-height:1.5; }
.faq-list p { color:var(--arls-muted); }

/* Company, contact, resources, and conversion pages. */
.about-editorial { background:#fff; color:var(--arls-ink); }
.about-editorial h1 { color:#19251e; font-size:clamp(3.5rem,6.5vw,6rem); font-weight:750; }
.about-opening { background:#f1f5f1; padding-top:30px; }
.about-opening__text { grid-template-columns:1.2fr .8fr; }
.about-portrait img { border-radius:5px; }
.about-portrait figcaption { border-bottom:0; padding-bottom:28px; }
.about-in-the-field { background:#1c3023; }
.about-editorial .about-in-the-field h2 { color:#fff; }
.about-field__layout img { border-radius:5px; }
.about-base { background:#f2f5f2; }
.about-contact { background:#fff; border:1px solid #dbe4dc; border-top:3px solid #287542; border-radius:5px; padding:32px; }
.about-contact dl > div:first-child { border-top:0; padding-top:0; }
.quote-page { background:#f5f7f5; }
.quote-info__item,.contact-card { border:1px solid #dce3dd; border-radius:5px; background:#fff; padding:28px; box-shadow:none; }
.contact-card { border-top:3px solid #287542; }
.contact-card h2 { font-size:clamp(1.6rem,2.4vw,2rem); }
.contact-card .button { margin-top:12px; }
.jobber-frame { border-radius:6px; box-shadow:none; border:1px solid #d1ded4; }
.jobber-help { background:#eaf2eb; color:#25442e; border-color:#d1ded4; }
.contact-google-map { border-radius:5px; }
.project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; }
.project-card { overflow:hidden; }
.project-card__image { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.project-card--comparison .project-card__image { object-fit:contain; background:#f0f4ef; }
.project-card--portrait picture { display:block; }
.project-card--portrait .project-card__image { aspect-ratio:3/4; height:auto; object-fit:contain; }
.project-card__content { padding:28px; }
.project-card h3 { font-size:1.55rem; }
.guide-card { padding:36px; border-top:3px solid #287542; min-height:300px; }
.guide-card h2 { font-size:1.9rem; font-weight:750; }
.guide-toc,.article-sidebar__card { border-radius:5px; box-shadow:none; }
.blog-card { overflow:hidden; }
.blog-card h3 { font-size:1.5rem; font-weight:750; }
.blog-card__body { padding:26px; }
.blog-card__meta .blog-card__audience { border-radius:3px; }
.article-byline,.resource-hero__description { color:#526459; }
.article-hero__image,.article-inline-image img { border-radius:5px; box-shadow:none; }
.article-hero h1 { font-size:clamp(2.4rem,3.7vw,3.8rem); }
.article-content h2,.guide-content h2 { font-size:clamp(1.9rem,3vw,2.65rem); }
.article-content h3,.guide-content h3 { font-size:1.55rem; }
.category-chips a,.pagination .page-numbers { border-radius:4px; }
.home-review-layout blockquote,.home .review-feature blockquote,.home .review-side blockquote { font-family:var(--arls-display); font-weight:600; letter-spacing:-.025em; }
.home .review-feature blockquote { font-size:clamp(1.7rem,2.8vw,2.6rem); line-height:1.35; }
.home .review-side blockquote { font-size:1.25rem; line-height:1.5; }
.home-stars,.home .home-stars { color:#287542; }

/* A confident homepage, with a single continuous hero photograph. */
.home .front-hero h1 { font-weight:750; font-size:clamp(3.2rem,5.7vw,5.25rem); line-height:1.01; letter-spacing:-.05em; color:#fff; }
.home .front-hero h1 > span { color:#c3eb9d; }
.front-hero__layout { min-height:665px; grid-template-columns:minmax(0,1.2fr) minmax(355px,.8fr); gap:100px; padding-block:68px; }
.front-hero::before { background:linear-gradient(90deg,#14281fe8 0%,#14281fa1 48%,#14281f45 100%); }
.front-hero__copy .front-kicker { color:#fff; }
.front-hero__intro { font-size:1.05rem; line-height:1.7; max-width:470px; }
.front-hero__work { font-size:.88rem; font-weight:650; }
.front-estimate { background:#fff; border:0; border-top:4px solid #287542; border-radius:6px; padding:34px; box-shadow:0 20px 60px #07180d24; }
.home .front-estimate h2 { font-size:2.25rem; font-weight:750; line-height:1.1; letter-spacing:-.04em; color:#192d20; }
.front-estimate .front-kicker { color:#315d3e; }
.front-estimate .search-address-input { border-radius:4px!important; border-color:#becdc1!important; }
.front-estimate .search-address-button { background:#287542!important; border-color:#287542!important; border-radius:4px!important; }
.front-estimate__alternative { background:#f3f7f2; border-color:#d5e1d5; border-radius:4px; gap:10px; padding:12px 10px; }
.front-estimate__alternative .button { color:#185730; border-color:#9fb5a4; padding-inline:12px; font-weight:700; }
.front-local { background:#f3f6f2; border-color:#dce3dd; }
.front-local__inner { display:grid; grid-template-columns:1fr 1.2fr 1fr; gap:32px; padding-block:24px; font-size:.8rem; }
.front-local__inner p { color:#647165; line-height:1.6; }
.front-local__inner strong { color:#253d2b; font-size:.86rem; font-weight:650; }
.front-local__inner > :not(:first-child) { border-left:1px solid #cedbcf; padding-left:32px; }
.front-local a { font-weight:650; color:#185730; justify-content:space-between; }
.front-section-head { margin-bottom:44px; gap:55px; }
.home .front-section-head h2 { max-width:720px; }
.front-section-head > p { font-size:.96rem; color:#5c6961; }
.front-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.front-service-tile { border:1px solid #dce3dd; border-radius:6px; overflow:hidden; background:#fff; }
.front-service-tile img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; object-position:center; }
.front-service-tile > div { padding:27px; }
.home .front-service-tile .front-kicker { font-size:.64rem; margin-bottom:14px; }
.front-service-tile h3 { font-size:1.5rem; margin:0 0 17px; line-height:1.2; }
.front-service-tile h3 a { display:flex; align-items:start; justify-content:space-between; gap:18px; color:#1c3825; text-decoration:none; }
.front-service-tile h3 a:hover { text-decoration:underline; }
.front-service-tile h3 span { flex-shrink:0; font-size:1.4rem; color:#287542; }
.front-service-tile > div > p:last-child { margin:0; color:#5c6961; font-size:.91rem; line-height:1.7; }
.front-service-extras { display:flex; flex-wrap:wrap; align-items:center; gap:12px 26px; margin-top:34px; padding-top:25px; border-top:1px solid #dce3dd; }
.front-service-extras > span { font-size:.73rem; color:#68796a; }
.front-service-extras > a { font-size:.83rem; min-height:44px; display:inline-flex; align-items:center; color:#185730; }
.front-service-extras > .front-link { margin-left:auto; }
.front-property { background:#1c3023; color:#fff; padding-block:86px; }
.home .front-property h2 { color:#fff; }
.front-property .front-section-head > p { color:#c5d4c9; }
.home .front-property .front-kicker { color:#b9e887; }
.front-property__columns { gap:26px; }
.front-property__columns article { background:#263e2e; border:1px solid #48634e; border-radius:5px; padding:36px; }
.front-property__columns h3 { font-size:clamp(1.65rem,2.5vw,2.3rem); font-weight:750; color:#fff; max-width:400px; }
.front-property__columns p { color:#d4e1d7; font-size:.95rem; }
.front-property__columns article > div { width:100%; }
.home .front-property .front-link { color:#fff; width:100%; border-bottom:1px solid #617966; padding-block:13px; }
.home .front-property .front-link:hover { color:#c4ec9f; }
.front-work figure img { border-radius:5px; max-height:720px; object-fit:cover; object-position:center; }
.front-winter { background:#eaf3f8; padding-block:86px; }
.front-winter__layout { grid-template-columns:.85fr 1.15fr; gap:85px; }
.front-winter figure { max-width:none; }
.front-winter figure img { max-height:630px; object-fit:cover; object-position:center 65%; border-radius:5px; }
.home .front-winter h2 { color:#293f49; }
.front-winter__route { border-color:#bcd3df; }
.front-winter__route strong { font-weight:700; }
.front-team__layout { gap:80px; }
.front-team figure img { border-radius:5px; }
.front-reviews { background:#f2f5f2; border-color:#dce3dd; }
.home .review-side figure { background:transparent; border-color:#d3ddd5; border-radius:0; }
.front-areas__layout,.front-faq__layout { gap:75px; grid-template-columns:.85fr 1.15fr; }
.front-town-list > a,.front-town-list > span { font-weight:600; color:#25442e; }
.front-faq { padding-top:0; }
.front-faq__layout { padding-top:70px; }
.front-final { background:#287542; padding-block:72px; }
.home .front-final h2 { color:#fff; }
.front-final .front-kicker { color:#e1f3d6; }
.front-final__actions .button { background:#fff; color:#185730; border-color:#fff; }
.front-final__actions .button:hover { background:#e7f3e0; border-color:#e7f3e0; }

/* Shared closing elements. */
.cta-band { background:#287542; border:0; padding-block:66px; }
.cta-band h2,.cta-band p { color:#fff; }
.cta-band h2 { font-size:clamp(2rem,3vw,2.85rem); font-weight:750; }
.cta-band .button { background:#fff; color:#185730; border-color:#fff; }
.site-footer,.home .site-footer { background:#18231c; color:#bfcfc3; padding-top:50px; border:0; }
.footer-signature { display:flex; align-items:center; gap:30px; padding-bottom:42px; margin-bottom:44px; border-bottom:1px solid #415247; }
.footer-signature > a:first-child { display:flex; align-items:center; justify-content:center; width:108px; min-height:83px; background:#fff; border-radius:4px; flex-shrink:0; }
.footer-signature img { width:88px; height:auto; }
.footer-signature p { color:#bfcfc3; font-size:.86rem; margin:0; line-height:1.55; }
.footer-signature strong { color:#fff; font-weight:650; }
.footer-signature__phone { margin-left:auto; display:flex; gap:24px; font-family:var(--arls-display); font-size:clamp(1.35rem,2.6vw,2.15rem); font-weight:650; text-decoration:none; letter-spacing:-.035em; }
.site-footer h3 { font-family:inherit; font-size:.9rem; font-weight:650; letter-spacing:0; }
.site-footer p,.site-footer li { font-size:.83rem; line-height:1.8; }
.site-footer small { font-size:.73rem; }
.footer-grid { grid-template-columns:1.1fr 1fr .8fr 1.2fr; gap:42px; }
.footer-grid a { text-decoration:none; color:#dae5dc; }
.footer-grid a:hover { color:#fff; text-decoration:underline; }
.footer-grid a[href^='mailto:'] { overflow-wrap:anywhere; }
.footer-bottom { font-size:.73rem; color:#adbbb1; }
.mobile-action-bar a { border-radius:4px; font-weight:700; border-width:1px; }

@media(min-width:981px) and (max-width:1150px) {
  .site-header__inner { gap:16px; }
  .primary-menu a,.home .primary-menu a { font-size:.74rem; padding-inline:7px; }
  .site-header__quote { padding-inline:15px; font-size:.76rem; }
  .nav-dropdown { width:480px; }
}
@media(max-width:1100px) {
  .container,.home .container,.about-editorial .container { width:calc(100% - 56px); }
  .front-hero__layout { grid-template-columns:minmax(0,1fr) minmax(340px,.9fr); gap:40px; }
  .home .front-hero h1 { font-size:clamp(3.2rem,5.6vw,4.8rem); }
  .front-estimate { padding:27px; }
  .front-estimate__alternative { flex-wrap:wrap; }
  .front-winter__layout,.front-team__layout,.front-areas__layout,.front-faq__layout { gap:45px; }
  .front-service-tile > div { padding:23px; }
}
@media(max-width:980px) {
  .site-header__inner { min-height:80px; }
  .site-logo img,.custom-logo { height:53px; }
  .site-navigation { max-height:calc(100dvh - 120px); overflow-y:auto; }
  .primary-menu a,.home .primary-menu a { font-size:1rem; padding:14px 4px; }
  .nav-dropdown { position:static; width:100%; grid-template-columns:1fr 1fr; padding:12px; border:0; border-radius:4px; background:#f0f5f0; box-shadow:none; }
  .primary-menu .nav-dropdown li { border:0; }
  .area-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .service-detail__grid { gap:36px; }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; }
  .front-local__inner { gap:20px; }
  .front-local__inner > :not(:first-child) { padding-left:20px; }
  .front-section-head { gap:35px; }
  .front-section-head > p { max-width:310px; }
  .front-service-grid { gap:18px; }
  .front-service-tile h3 { font-size:1.28rem; }
}
@media(max-width:760px) {
  .topbar-region { display:none; }
  .company-hero--photo { min-height:0; }
  .company-hero--photo::before { background:#142b20d9; }
  .company-hero__photo { object-position:65% center; }
  .arls-winter-page .company-hero--photo::before { background:#edf7fcf0; }
  .front-service-grid { grid-template-columns:1fr; gap:26px; }
  .front-service-tile { display:grid; grid-template-columns:.85fr 1.15fr; }
  .front-service-tile img { height:100%; min-height:220px; aspect-ratio:auto; }
  .front-service-tile h3 { font-size:1.5rem; }
  .front-service-extras { gap:10px 22px; }
  .front-service-extras > span { width:100%; }
  .front-service-extras > .front-link { margin-left:0; }
}
@media(max-width:700px) {
  .container,.home .container,.about-editorial .container { width:calc(100% - 40px); }
  .section,.front-section { padding-block:60px; }
  h2,.home h2,.about-editorial h2 { font-size:clamp(2rem,8.1vw,2.7rem); }
  .service-hero,.resource-hero,.area-detail-hero,.guide-hero,.entry-hero,.article-hero { padding-block:42px; }
  .service-hero h1,.resource-hero h1,.area-detail-hero h1,.guide-hero h1,.entry-hero h1,.article-hero h1 { font-size:clamp(2.35rem,9vw,3.4rem); margin-block:18px 23px; }
  .service-hero p,.resource-hero p,.area-detail-hero p,.guide-hero p,.entry-hero p { font-size:.96rem; }
  .hero__actions { gap:10px; }
  .hero__actions .button { font-size:.8rem; padding-inline:17px; }
  .service-jump-links,.area-jump-links { gap:8px 22px; }
  .service-jump-links a,.area-jump-links a { font-size:.77rem; }
  .property-routing { padding-block:36px; }
  .property-routing article { padding:0 0 25px; }
  .property-routing article + article { padding:28px 0 0; border-left:0; border-top:1px solid var(--arls-border); }
  .service-detail { padding-block:52px; }
  .service-card,.guide-card,.area-card { padding:26px; }
  .service-card--photo { padding:0 26px 26px; }
  .service-card__photo { margin-inline:-26px; width:calc(100% + 52px); }
  .service-includes,.local-proof,.snow-path-card,.area-snow__grid article { padding:28px; }
  .project-grid,.area-card-grid { grid-template-columns:1fr; }
  .project-card__image { height:auto; aspect-ratio:4/3; }
  .service-proof { padding-top:34px; }
  .service-proof img { height:auto; max-height:none; }
  .front-hero__layout { grid-template-columns:1fr; min-height:0; padding-block:22px 42px; gap:0; }
  .front-estimate { grid-row:1; padding:26px 23px; }
  .home .front-estimate h2 { font-size:2.05rem; }
  .front-estimate__alternative { flex-wrap:nowrap; }
  .front-hero__copy { grid-row:2; padding:38px 0 0; }
  .home .front-hero h1 { font-size:clamp(2.9rem,11.6vw,4.6rem); line-height:1.03; }
  .front-hero::before { background:linear-gradient(0deg,#142b20ef,#142b208f); }
  .front-local__inner { grid-template-columns:1fr 1fr; gap:18px; padding-block:23px; }
  .front-local__inner strong { font-size:.77rem; }
  .front-local__inner p { font-size:.71rem; }
  .front-local__inner > a { grid-column:1/-1; border-left:0; border-top:1px solid #cedbcf; padding:15px 0 0; font-size:.8rem; }
  .front-section-head > p { max-width:none; }
  .front-section-head { margin-bottom:32px; }
  .front-property,.front-winter { padding-block:58px; }
  .front-property__columns { gap:20px; }
  .front-property__columns article { padding:28px; }
  .front-property__columns h3 { font-size:1.9rem; }
  .front-winter__layout,.front-team__layout,.front-areas__layout,.front-faq__layout { grid-template-columns:1fr; gap:34px; }
  .front-winter figure img { max-height:420px; aspect-ratio:1.2; }
  .front-work figure img { max-height:none; }
  .front-faq { padding-top:0; }
  .front-faq__layout { padding-top:54px; }
  .front-final { padding-block:56px; }
  .about-editorial h1 { font-size:clamp(3rem,12vw,4.7rem); }
  .about-opening__text { grid-template-columns:1fr; }
  .about-contact { padding:25px; }
  .footer-signature { flex-wrap:wrap; gap:22px; margin-bottom:34px; padding-bottom:30px; }
  .footer-signature__phone { margin-left:0; width:100%; font-size:1.75rem; justify-content:space-between; }
  .site-footer { padding-bottom:110px; }
  .cta-band { padding-block:50px; }
  .cta-band__inner { flex-direction:column; align-items:flex-start; gap:26px; }
}
@media(max-width:500px) {
  .front-service-tile { display:block; }
  .front-service-tile img { height:auto; min-height:0; aspect-ratio:4/3; }
  .front-service-tile > div { padding:26px; }
  .front-service-tile h3 { font-size:1.55rem; }
  .nav-dropdown { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; gap:30px; }
  .site-header__inner { min-height:76px; }
  .site-logo img,.custom-logo { height:50px; }
}
@media(max-width:360px) {
  .front-estimate { padding:22px 16px; }
  .front-estimate__alternative { display:block; }
  .front-estimate__alternative .button { width:100%; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } }
