:root {
  --accent: #245b3d;
  --accent-hover: #18452d;
  --border-strong: #6b8874;
  --background: #f7f3e8;
  --surface: #eeeadc;
  --text: #18372b;
  --muted: #52685a;
  --line: #d8ddce;
  color-scheme: light;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-padding-top: 96px; }
html.services-animating { overflow-anchor: none; }
body { margin: 0; background: var(--background); color: var(--text); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; -webkit-font-smoothing: antialiased; }
body.modal-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; cursor: pointer; }
a, button { -webkit-tap-highlight-color: transparent; }
p, h1, h2, h3, figure { margin: 0; }
img { display: block; max-width: 100%; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
.icon-definitions { position: absolute; width: 0; height: 0; overflow: hidden; }
.icon { width: 20px; height: 20px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.wrap { width: min(1120px, calc(100% - 96px)); margin-inline: auto; }
.section { padding-block: 76px; }
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 40; padding: 12px; background: var(--accent); color: #f7f3e8; transform: translateY(-160%); }
.skip-link:focus { transform: none; }
.site-header { position: sticky; top: 0; z-index: 20; background: #f7f3e8f5; border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.header-inner { min-height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 21px; font-weight: 650; letter-spacing: -.03em; white-space: nowrap; }
.brand-mark { display: grid; place-items: center; width: 36px; height: 36px; background: var(--accent); color: #f7f3e8; font-size: 19px; font-weight: 850; letter-spacing: -1px; border-radius: 4px; }
.desktop-nav { display: flex; gap: 30px; font-size: 13px; color: var(--muted); }
.desktop-nav a:hover, .mobile-nav a:hover { color: var(--accent); }
.header-actions { display: flex; align-items: center; gap: 10px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; padding: 13px 21px; background: var(--accent); border: 1px solid transparent; border-radius: 5px; color: #f7f3e8; font-size: 14px; font-weight: 650; line-height: 1.4; }
.button:hover { background: var(--accent-hover); }
.button-small { min-height: 40px; padding: 10px 17px; font-size: 12px; }
.button-outline { background: transparent; border-color: var(--border-strong); color: var(--text); }
.button-outline:hover { background: #e8e5d8; border-color: var(--accent); }
.button .icon { width: 18px; height: 18px; }
.icon-button { display: grid; place-items: center; width: 42px; height: 42px; padding: 8px; background: transparent; border: 1px solid var(--border-strong); border-radius: 4px; }
.menu-button { display: none; }
.reviews-shortcut { display: none; }
.mobile-nav { padding-block: 10px 20px; border-top: 1px solid var(--line); }
.mobile-nav a { display: block; padding: 13px 0; font-size: 14px; }
.hero { position: relative; isolation: isolate; min-height: 500px; color: #f7f3e8; display: flex; align-items: center; overflow: hidden; }
.hero-image, .hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -2; object-fit: cover; }
.hero-image { object-position: 50% 56%; }
.hero-shade { z-index: -1; background: linear-gradient(90deg, #0b2518e6 0%, #0b251899 40%, #0b251814 82%); }
.hero-content { padding-block: 64px 70px; }
.hero-location { color: #e9e3d2; font-size: 13px; font-weight: 500; }
h1 { margin-top: 18px; font-size: clamp(44px, 4.9vw, 66px); font-weight: 600; line-height: 1.08; letter-spacing: -.045em; }
.hero-description { margin-top: 22px; color: #f0ead9; font-size: 15px; line-height: 1.8; }
.hero .button { background: #f7f3e8; color: var(--accent); }
.hero .button:hover { background: #e8e5d8; }
.hero .text-link:hover { color: #e9e3d2; }
.hero a:focus-visible { outline-color: #f7f3e8; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 26px; margin-top: 28px; }
.text-link { display: inline-flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 550; line-height: 1.5; }
.text-link:hover { color: var(--accent); }
.text-link .icon { width: 17px; height: 17px; }
h2 { font-size: 32px; font-weight: 550; line-height: 1.25; letter-spacing: -.035em; }
.work-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.gallery-tabs { display: flex; align-items: stretch; flex-wrap: wrap; gap: 26px; }
.gallery-tab { padding: 12px 0 11px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--muted); font-size: 13px; font-weight: 550; line-height: 1.4; }
.gallery-tab:hover { color: var(--text); }
.gallery-tab[aria-selected='true'] { color: var(--accent); border-bottom-color: var(--accent); }
.gallery-hint { margin: -12px 0 22px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.gallery-frame { position: relative; }
.gallery { display: flex; gap: 12px; height: 450px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; border-radius: 6px; }
.gallery::-webkit-scrollbar { display: none; }
.gallery-tile { flex: 0 0 calc((100% - 24px) / 3); min-width: 0; height: 100%; scroll-snap-align: start; }
.gallery-stack { display: grid; grid-template-rows: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.gallery-pair { flex-basis: calc((100% - 12px) * 2 / 3); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px; }
.gallery-item { position: relative; min-width: 0; min-height: 0; height: 100%; }
.gallery-photo { display: block; width: 100%; height: 100%; overflow: hidden; padding: 0; border: 0; border-radius: 6px; background: var(--surface); }
.gallery-photo img { width: 100%; height: 100%; object-fit: cover; transition: filter 150ms ease; }
.gallery-photo:hover img { filter: brightness(.94); }
.gallery-photo:focus-visible { outline-offset: -5px; outline-color: var(--background); }
.gallery-video { position: relative; }
.video-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: #f7f3e8ed; color: var(--accent); box-shadow: 0 2px 16px #0b25184d; pointer-events: none; }
.video-play .icon { width: 23px; height: 23px; margin-left: 3px; fill: currentColor; stroke: none; }
.gallery-scroll { position: absolute; top: calc(50% - 23px); z-index: 2; width: 46px; height: 46px; border: 1px solid #f7f3e875; border-radius: 50%; background: #143b2ce6; color: var(--background); box-shadow: 0 2px 12px #0b25182b; }
.gallery-scroll:hover { background: var(--accent); }
.gallery-scroll:disabled { opacity: 0; pointer-events: none; }
.gallery-scroll:focus-visible { outline-color: var(--background); outline-offset: -5px; }
.gallery-scroll-previous { left: 12px; }
.gallery-scroll-previous .icon { transform: rotate(180deg); }
.gallery-scroll-next { right: 12px; }
.gallery-like { position: absolute; right: 10px; bottom: 10px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 44px; min-height: 44px; padding: 10px 12px; border: 1px solid #f7f3e8b3; border-radius: 24px; background: #f7f3e8f2; color: var(--accent); font-size: 12px; font-weight: 600; box-shadow: 0 2px 10px #0b25181a; }
.gallery-like .icon { width: 19px; height: 19px; }
.gallery-like.is-liked .icon { fill: currentColor; }
.gallery-like:hover { background: var(--background); }
.gallery-like:disabled { cursor: default; }
.gallery-like:focus-visible { outline-offset: 2px; background: var(--background); }
.gallery-status { margin: 0; font-size: 12px; line-height: 1.6; color: var(--muted); }
.gallery-status:not(:empty) { padding-block: 10px; }
#panel-lawn-care img[src='/assets/front-lawn-stripes.webp'] { object-position: 50% 16%; }
#panel-lawn-care img[src='/assets/backyard-tree-stripes.webp'] { object-position: 50% 36%; }
.services-section { border-top: 1px solid var(--line); background: var(--surface); }
.services-intro { margin-top: 12px; font-size: 14px; line-height: 1.7; color: var(--muted); }
.services-grid { margin-top: 28px; border: 1px solid var(--line); border-radius: 8px; background: var(--background); overflow: hidden; }
.service-group { min-width: 0; overflow: hidden; }
.service-group + .service-group { border-top: 1px solid var(--line); }
.service-group summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 68px; padding: 18px 22px; list-style: none; cursor: pointer; }
.service-group summary::-webkit-details-marker { display: none; }
.service-group summary:hover { background: #f2eddf; }
.service-group summary:focus-visible { outline: 2px solid var(--accent); outline-offset: -4px; border-radius: 5px; }
.service-category-title { font-size: 17px; font-weight: 600; line-height: 1.4; letter-spacing: -.015em; }
.service-chevron { width: 16px; height: 16px; color: var(--accent); transition: transform 220ms ease; }
.service-group[open]:not([data-expanded="false"]) summary { color: var(--accent); }
.service-group[open]:not([data-expanded="false"]) .service-chevron { transform: rotate(180deg); }
.service-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 32px; margin: 0; padding: 0 22px 24px; }
.service-list > div { min-width: 0; padding-top: 13px; border-top: 1px solid var(--line); }
.service-list dt { font-size: 14px; font-weight: 600; line-height: 1.5; }
.service-list dd { margin: 4px 0 0; font-size: 13px; line-height: 1.7; color: var(--muted); }
.service-note { margin-top: 28px; font-size: 13px; color: var(--muted); line-height: 1.7; }
.feedback-section { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-block: 38px; border-bottom: 1px solid var(--line); }
.feedback-section h2 { font-size: 19px; letter-spacing: -.02em; }
.feedback-section p { margin-top: 8px; font-size: 13px; color: var(--muted); line-height: 1.7; }
.feedback-section .text-link { color: var(--accent); flex-shrink: 0; }
.contact-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; }
.contact-intro p { max-width: 280px; margin-top: 20px; color: var(--muted); font-size: 14px; line-height: 1.8; }
.contact-intro .service-area { margin-top: 25px; font-size: 12px; }
.phone-number { display: inline-block; font-size: 30px; font-weight: 550; line-height: 1.2; letter-spacing: -.025em; }
.phone-number:hover { color: var(--accent); }
.contact-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.contact-actions .button { min-height: 44px; padding: 11px 18px; font-size: 13px; }
.contact-link { margin-top: 24px; display: grid; gap: 6px; }
.contact-link > span { color: var(--muted); font-size: 11px; }
.contact-link a { display: inline-flex; align-items: center; gap: 8px; width: fit-content; max-width: 100%; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.contact-link a:hover { color: var(--accent); }
.contact-link .icon { width: 15px; height: 15px; }
.site-footer { display: flex; justify-content: space-between; gap: 24px; border-top: 1px solid var(--line); padding-block: 25px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.site-footer a:hover { color: var(--text); }
.lightbox { width: min(1200px, calc(100% - 32px)); max-width: none; max-height: calc(100dvh - 24px); padding: 14px; border: 1px solid var(--line); border-radius: 8px; color: var(--text); background: var(--background); }
.lightbox::backdrop { background: #071c14ed; }
.lightbox-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 12px; }
.lightbox-actions { display: flex; align-items: center; gap: 10px; }
.viewer-like { position: static; min-width: 64px; border-color: var(--line); border-radius: 5px; box-shadow: none; }
.viewer-share { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 5px; background: transparent; color: var(--accent); font-size: 12px; font-weight: 600; }
.viewer-share:hover { background: var(--surface); }
.viewer-share .icon { width: 18px; height: 18px; }
.share-link-box { display: grid; gap: 7px; padding-top: 12px; font-size: 12px; }
.share-link-box input { width: 100%; min-height: 44px; border: 1px solid var(--border-strong); border-radius: 4px; padding: 10px; background: var(--surface); color: var(--text); font: inherit; font-size: 16px; }
.lightbox-stage { position: relative; height: min(76dvh, 800px); background: #0b2518; border-radius: 4px; overflow: hidden; }
.lightbox-stage > img, .lightbox-stage > video { width: 100%; height: 100%; object-fit: contain; }
.lightbox-stage > img { touch-action: pan-y pinch-zoom; user-select: none; }
.lightbox-stage .icon-button { position: absolute; top: calc(50% - 22px); z-index: 1; width: 44px; height: 44px; border-radius: 50%; background: #0b2518d9; color: #f7f3e8; border-color: #f7f3e870; }
.lightbox-stage .icon-button:focus-visible { outline-color: var(--background); }
.lightbox-previous { left: 12px; }
.lightbox-previous .icon { transform: rotate(180deg); }
.lightbox-next { right: 12px; }
@media (max-width: 900px) {
  .wrap { width: calc(100% - 64px); }
  .desktop-nav { gap: 22px; }
  .hero { min-height: 460px; }
  .contact-layout { gap: 60px; }
  .work-heading { align-items: flex-start; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 132px; }
  html.reviews-reached { scroll-padding-top: 86px; }
  .wrap { width: calc(100% - 40px); }
  .header-inner { min-height: 72px; gap: 12px; }
  .brand { font-size: 18px; gap: 8px; }
  .brand-mark { width: 32px; height: 32px; font-size: 17px; }
  .desktop-nav { display: none; }
  .menu-button { display: grid; }
  .reviews-shortcut { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; border-top: 1px solid var(--line); background: var(--surface); color: var(--accent); font-size: 13px; font-weight: 650; }
  .reviews-shortcut:hover { background: #e8e5d8; }
  .reviews-shortcut .icon { width: 16px; height: 16px; transform: rotate(90deg); }
  .button-small { min-height: 38px; padding: 9px 13px; font-size: 11px; }
  .header-actions { gap: 8px; }
  .section { padding-block: 54px; }
  .hero { min-height: 470px; align-items: flex-end; }
  .hero-content { padding-block: 70px 44px; }
  .hero-image { object-position: 63% 50%; }
  .hero-shade { background: linear-gradient(0deg, #0b2518f0 0%, #0b251899 60%, #0b251814 100%); }
  .hero-location { font-size: 12px; }
  h1 { font-size: 47px; margin-top: 16px; }
  .hero-description { font-size: 14px; margin-top: 20px; line-height: 1.8; }
  .hero-actions { gap: 18px; margin-top: 25px; }
  .hero-actions .button { padding: 12px 17px; min-height: 46px; font-size: 12px; }
  .hero-actions .text-link { font-size: 12px; gap: 6px; }
  h2 { font-size: 28px; }
  .work-heading { display: block; margin-bottom: 22px; }
  .gallery-tabs { gap: 22px; margin-top: 17px; }
  .gallery-tab { font-size: 12px; padding-block: 11px; }
  .gallery-hint { margin: -7px 0 18px; font-size: 11px; }
  .gallery { height: 330px; gap: 9px; }
  .gallery-tile { flex-basis: 76%; }
  .gallery-stack { gap: 9px; }
  .gallery-pair { flex-basis: 100%; gap: 5px; }
  .gallery-scroll { width: 44px; height: 44px; top: calc(50% - 22px); }
  .gallery-scroll-previous { left: 8px; }
  .gallery-scroll-next { right: 8px; }
  .gallery-like { right: 7px; bottom: 7px; gap: 5px; padding-inline: 10px; }
  .services-intro { font-size: 13px; }
  .services-grid { margin-top: 24px; }
  .service-group summary { min-height: 64px; padding: 17px 18px; }
  .service-category-title { font-size: 16px; }
  .service-list { grid-template-columns: 1fr; gap: 14px; padding: 0 18px 20px; }
  .service-list > div { padding-top: 12px; }
  .service-note { margin-top: 28px; font-size: 12px; }
  .feedback-section { display: block; padding-block: 30px; }
  .feedback-section h2 { font-size: 18px; }
  .feedback-section p { font-size: 12px; }
  .feedback-section .text-link { margin-top: 17px; font-size: 12px; }
  .contact-layout { grid-template-columns: 1fr; gap: 30px; }
  .contact-intro p { margin-top: 15px; font-size: 13px; max-width: 290px; }
  .contact-intro .service-area { margin-top: 15px; font-size: 11px; }
  .phone-number { font-size: 29px; }
  .contact-actions { margin-top: 19px; }
  .contact-link { margin-top: 23px; }
  .contact-link a { font-size: 13px; }
  .site-footer { padding-block: 23px; font-size: 10px; }
  .lightbox { width: calc(100% - 16px); padding: 10px; }
  .lightbox-stage { height: min(73dvh, calc(100dvh - 114px)); }
  .lightbox-stage .icon-button { width: 44px; height: 44px; }
  .lightbox-previous { left: 6px; }
  .lightbox-next { right: 6px; }
}
@media (max-width: 350px) {
  .header-inner { gap: 8px; }
  .brand { font-size: 16px; }
  .header-actions { gap: 6px; }
  .button-small { padding-inline: 10px; }
  h1 { font-size: 42px; }
  .hero-actions { gap: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
.reviews-section { border-bottom: 1px solid var(--line); }
.reviews-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.reviews-heading p { margin-top: 10px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.review-summary { display: flex; align-items: center; gap: 14px; margin-top: 24px; min-height: 48px; }
.review-average { font-size: 36px; font-weight: 600; line-height: 1.1; letter-spacing: -.03em; }
.review-summary-stars { --rating-fill: 0%; position: relative; display: inline-block; color: #aabeb0; font-size: 20px; letter-spacing: 3px; line-height: 1.2; }
.review-summary-stars::after { content: "★★★★★"; position: absolute; top: 0; left: 0; width: var(--rating-fill); overflow: hidden; white-space: nowrap; color: var(--accent); }
#review-summary-text { margin-top: 5px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.review-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 28px; }
.review-card { padding: 24px; border: 1px solid var(--line); border-radius: 5px; min-width: 0; }
.review-stars { color: var(--accent); font-size: 19px; letter-spacing: 3px; }
.review-body { margin-top: 17px; color: var(--text); font-size: 14px; line-height: 1.8; white-space: pre-line; overflow-wrap: anywhere; }
.review-name { margin-top: 21px; font-size: 15px; font-weight: 600; letter-spacing: 0; }
.review-details { display: flex; flex-wrap: wrap; gap: 7px 14px; margin-top: 8px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.review-empty { grid-column: 1 / -1; margin-top: 2px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.review-notice { margin-top: 18px; color: var(--accent); font-size: 13px; line-height: 1.7; }
.review-notice:empty, .review-form-status:empty { display: none; }
.review-feed-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 24px; }
.review-feed-actions:has(button[hidden]):not(:has(button:not([hidden]))) { display: none; }
.text-button { padding: 8px 0; border: 0; background: transparent; color: var(--accent); font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.review-dialog { width: min(560px, calc(100% - 32px)); max-height: 92dvh; padding: 28px; border: 1px solid var(--border-strong); border-radius: 6px; background: var(--background); color: var(--text); }
.review-dialog::backdrop { background: #071c14dd; }
.review-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.review-dialog-heading h2 { font-size: 27px; }
.review-form { display: grid; gap: 21px; margin-top: 26px; }
.review-form > label { display: grid; gap: 9px; font-size: 13px; line-height: 1.5; }
.review-form input:not([type=radio]):not([type=checkbox]), .review-form select, .review-form textarea { width: 100%; min-height: 45px; padding: 11px 12px; background: var(--surface); border: 1px solid var(--border-strong); border-radius: 4px; color: var(--text); font: inherit; font-size: 16px; }
.review-form textarea { resize: vertical; min-height: 110px; line-height: 1.6; }
.review-form input:focus, .review-form select:focus, .review-form textarea:focus { outline: 2px solid var(--accent); outline-offset: 2px; }
.rating-control { padding: 0; margin: 0; border: 0; }
.rating-control legend { margin-bottom: 9px; padding: 0; font-size: 13px; }
.rating-stars { display: flex; gap: 8px; }
.rating-stars label { cursor: pointer; position: relative; }
.rating-stars input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rating-stars span { display: block; color: #738577; font-size: 34px; line-height: 1.1; }
.rating-stars .selected span { color: var(--accent); }
.rating-stars input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 3px; }
.review-form .review-consent { display: flex; align-items: flex-start; gap: 10px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.review-consent input { margin-top: 4px; accent-color: var(--accent); flex-shrink: 0; }
.review-honey { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.review-form-status { color: #833a2a; font-size: 13px; line-height: 1.6; }
button:disabled { opacity: .55; cursor: wait; }
.footer-links { display: flex; gap: 22px; }
.owner-page { width: min(900px, calc(100% - 40px)); margin: 40px auto 70px; }
.owner-page h1 { font-size: 36px; margin-top: 30px; }
.owner-page > p { margin-top: 17px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.owner-page > .button { margin: 25px 15px 0 0; }
.owner-heading { display: flex; justify-content: space-between; gap: 25px; }
.owner-reviews { margin-top: 28px; }
.owner-reviews .review-grid { margin-bottom: 25px; }
.owner-reviews .review-card .button { margin-top: 22px; }
.owner-review-status { font-size: 11px; color: var(--muted); margin-bottom: 15px; }
.review-is-hidden { background: #ece9de; border-style: dashed; }
@media(max-width:760px) {
  .reviews-heading { display: block; }
  .reviews-heading p { font-size: 13px; }
  .reviews-heading .button { margin-top: 20px; font-size: 12px; min-height: 43px; }
  .review-grid { grid-template-columns: 1fr; gap: 14px; margin-top: 24px; }
  .review-card { padding: 21px; }
  .review-body { font-size: 13px; }
  .review-name { font-size: 14px; }
  .review-empty { font-size: 13px; }
  .review-dialog { padding: 23px 20px; }
  .review-dialog-heading h2 { font-size: 24px; }
  .review-form { gap: 20px; }
  .footer-links { gap: 16px; }
  .owner-page h1 { font-size: 30px; }
}

.contact-link .tiktok-button { min-height: 44px; margin-top: 4px; padding: 11px 18px; font-size: 13px; }
.review-reply { margin-top: 21px; padding: 15px 17px; border-left: 3px solid var(--accent); background: var(--surface); border-radius: 0 4px 4px 0; }
.review-reply-heading { margin: 0; color: var(--accent); font-size: 12px; font-weight: 650; line-height: 1.5; }
.review-reply-body { margin-top: 8px; color: var(--text); font-size: 13px; line-height: 1.75; white-space: pre-line; overflow-wrap: anywhere; }
.reply-editor { display: grid; gap: 12px; margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--line); }
.reply-editor label { display: grid; gap: 9px; font-size: 13px; font-weight: 600; line-height: 1.5; }
.reply-editor textarea { width: 100%; min-height: 110px; resize: vertical; padding: 11px 12px; border: 1px solid var(--border-strong); border-radius: 4px; background: var(--surface); color: var(--text); font: inherit; font-size: 16px; font-weight: 400; line-height: 1.6; }
.reply-editor textarea:focus { outline: 2px solid var(--accent); outline-offset: 2px; }
.reply-editor-help { color: var(--muted); font-size: 12px; line-height: 1.7; }
.owner-reviews .reply-editor .button { margin-top: 0; justify-self: start; }

.booking-page { padding-block: 72px 80px; }
.booking-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 72px; align-items: start; }
.booking-eyebrow { color: var(--accent); font-size: 12px; font-weight: 650; line-height: 1.7; }
.booking-intro h1 { margin-top: 17px; font-size: clamp(38px, 4vw, 52px); line-height: 1.14; letter-spacing: -.045em; }
.booking-lead { margin-top: 23px; max-width: 340px; color: var(--muted); font-size: 15px; line-height: 1.8; }
.booking-explainer { margin-top: 38px; padding-top: 28px; border-top: 1px solid var(--line); }
.booking-explainer h2 { font-size: 18px; letter-spacing: -.015em; }
.booking-explainer p { margin-top: 12px; max-width: 370px; font-size: 13px; line-height: 1.8; color: var(--muted); }
.booking-explainer .booking-unconfirmed { color: var(--text); font-weight: 550; }
.booking-direct { margin-top: 32px; display: grid; gap: 12px; }
.booking-direct > span { color: var(--muted); font-size: 12px; }
.booking-direct .phone-number { font-size: 25px; }
.booking-direct > div { display: flex; gap: 25px; margin-top: 2px; }
.booking-direct .text-link { color: var(--accent); }
.booking-card { min-width: 0; padding: 30px; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; }
.booking-form { display: grid; gap: 23px; }
.booking-form-heading h2 { font-size: 24px; letter-spacing: -.025em; }
.booking-form-heading p { margin-top: 8px; color: var(--muted); font-size: 11px; line-height: 1.7; }
.booking-form-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 16px; }
.booking-form-grid label, .booking-arrival-fields label { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 6px; row-gap: 8px; min-width: 0; font-size: 12px; font-weight: 600; line-height: 1.5; }
.booking-optional { color: var(--muted); font-size: 10px; font-weight: 400; }
.booking-form input:not([type=radio]):not([type=checkbox]), .booking-form select, .booking-form textarea, .booking-arrival-fields input { display: block; flex: 0 0 100%; min-width: 0; max-width: 100%; width: 100%; min-height: 46px; margin: 0; padding: 11px 12px; border: 1px solid var(--border-strong); border-radius: 4px; background: var(--background); color: var(--text); font: inherit; font-size: 16px; font-weight: 400; line-height: 1.5; }
.booking-form input[type=date], .booking-arrival-fields input { -webkit-appearance: none; appearance: none; }
.booking-form textarea { resize: vertical; min-height: 115px; }
.booking-form input:focus, .booking-form select:focus, .booking-form textarea:focus, .booking-arrival-fields input:focus, .booking-filter-bar select:focus, .booking-text-editor textarea:focus { outline: 2px solid var(--accent); outline-offset: 2px; }
.booking-form [aria-invalid=true] { border-color: #99472d !important; }
.booking-field-error { flex-basis: 100%; display: block; color: #8b3d25; font-size: 11px; line-height: 1.6; font-weight: 400; }
.booking-full { grid-column: 1 / -1; }
.booking-contact-choice { margin: 0; padding: 0; border: 0; display: flex; flex-wrap: wrap; gap: 10px 24px; }
.booking-contact-choice legend { margin-bottom: 10px; padding: 0; font-size: 12px; font-weight: 600; }
.booking-contact-choice label { display: flex; align-items: center; gap: 7px; font-size: 13px; min-height: 26px; }
.booking-contact-choice input, .booking-consent input { accent-color: var(--accent); flex-shrink: 0; width: 16px; height: 16px; margin: 0; }
.booking-consent { display: flex; align-items: flex-start; gap: 10px; color: var(--muted); font-size: 11px; line-height: 1.8; }
.booking-consent input { margin-top: 3px; }
.booking-submit { width: 100%; justify-content: space-between; min-height: 50px; margin: 0; }
.booking-submit:disabled { opacity: .7; cursor: wait; }
.booking-privacy { margin-top: -10px; color: var(--muted); font-size: 10px; line-height: 1.8; }
.booking-error-summary { padding: 12px 15px; border: 1px solid #b68a6a; border-radius: 4px; background: #f6e8d8; color: #7d3823; font-size: 13px; line-height: 1.7; }
.booking-success h2 { font-size: 30px; margin-top: 12px; }
.booking-success > p:not(.booking-eyebrow) { margin-top: 16px; color: var(--muted); font-size: 14px; line-height: 1.8; }
.booking-success .booking-unconfirmed { font-size: 12px; }
.booking-success-mark { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 21px; border-radius: 50%; background: var(--accent); color: var(--background); font-size: 24px; }
.booking-reference { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; align-items: center; gap: 10px 15px; }
.booking-reference > span { width: 100%; color: var(--muted); font-size: 11px; }
.booking-reference strong { font-size: 17px; letter-spacing: .03em; }
.booking-reference .text-button { font-size: 11px; }
.booking-success-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; margin-bottom: 12px; }
.owner-tabs { display: flex; gap: 24px; margin-top: 30px; border-bottom: 1px solid var(--line); }
.owner-tabs a { padding-block: 12px; color: var(--muted); border-bottom: 2px solid transparent; font-size: 13px; }
.owner-tabs a[aria-current=page] { color: var(--accent); border-bottom-color: var(--accent); font-weight: 600; }
.booking-manager { margin-top: 30px; }
.booking-summary { display: flex; gap: 36px; padding-block: 0 24px; border-bottom: 1px solid var(--line); }
.booking-summary > div { display: grid; gap: 6px; }
.booking-summary strong { font-size: 29px; font-weight: 550; letter-spacing: -.03em; }
.booking-summary span { color: var(--muted); font-size: 11px; }
.booking-filter-bar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-block: 24px; }
.booking-filter-bar label { display: flex; align-items: center; gap: 12px; font-size: 13px; }
.booking-filter-bar select { min-height: 44px; max-width: 220px; padding: 9px 34px 9px 12px; border: 1px solid var(--border-strong); border-radius: 4px; background: var(--background); color: var(--text); font: inherit; font-size: 14px; }
.booking-admin-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 22px; margin-block: 24px; }
.booking-admin-card { min-width: 0; padding: 25px; border: 1px solid var(--line); border-radius: 7px; }
.booking-card-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.booking-status { display: inline-block; padding: 5px 10px; border-radius: 20px; background: var(--surface); font-size: 10px; font-weight: 650; }
.booking-status-new { background: var(--accent); color: var(--background); }
.booking-status-confirmed { background: #dde7d9; color: var(--accent-hover); }
.booking-request-ref { color: var(--muted); font-size: 10px; }
.booking-admin-card h2 { margin-top: 22px; font-size: 22px; letter-spacing: -.025em; }
.booking-customer-name { margin-top: 17px; font-size: 15px; font-weight: 600; }
.booking-customer-phone { display: inline-block; margin-top: 7px; color: var(--accent); font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
.booking-request-details { display: grid; gap: 13px; margin: 23px 0 0; }
.booking-request-details > div { min-width: 0; }
.booking-request-details dt { color: var(--muted); font-size: 10px; line-height: 1.7; }
.booking-request-details dd { margin: 3px 0 0; font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; }
.booking-agreed-arrival { padding: 12px 14px; background: var(--surface); border-radius: 4px; }
.booking-job-details { white-space: pre-line; overflow-wrap: anywhere; font-size: 13px !important; line-height: 1.8 !important; margin-top: 19px !important; }
.booking-request-time { margin-top: 16px !important; color: var(--muted); font-size: 10px !important; line-height: 1.7 !important; }
.booking-customer-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 20px; margin-top: 16px; }
.booking-customer-actions .text-link, .booking-customer-actions .text-button { font-size: 12px; color: var(--accent); }
.booking-arrival-editor { margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--line); }
.booking-arrival-editor h3 { margin: 0 0 16px; font-size: 14px; font-weight: 600; }
.booking-arrival-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.booking-arrival-fields label { font-size: 11px; }
.booking-arrival-fields .booking-optional { font-size: 9px; }
.booking-owner-page .booking-arrival-editor .button { margin-top: 18px; min-height: 44px; font-size: 12px; }
.booking-status-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 24px; margin-top: 14px; }
.booking-status-actions .text-button { font-size: 11px; }
.booking-admin-notice { color: var(--accent); font-size: 13px !important; }
.booking-admin-empty { margin-top: 30px; padding: 30px; border: 1px solid var(--line); border-radius: 6px; }
.booking-admin-empty h2 { font-size: 21px; }
.booking-admin-empty .text-link { margin-top: 20px; color: var(--accent); }
.booking-text-dialog { width: min(600px, calc(100% - 28px)); max-height: 92dvh; padding: 27px; border: 1px solid var(--border-strong); border-radius: 7px; background: var(--background); color: var(--text); }
.booking-text-dialog::backdrop { background: #071c14dd; }
.booking-text-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.booking-text-heading h2 { margin-top: 7px; font-size: 25px; letter-spacing: -.025em; }
.booking-text-heading .icon-button { flex-shrink: 0; font-size: 25px; font-weight: 300; }
.booking-text-dialog p { font-size: 12px; line-height: 1.8; }
.booking-text-dialog .booking-eyebrow { margin: 0; font-size: 10px; }
.booking-text-arrival { margin-top: 20px !important; color: var(--accent); font-weight: 600; }
.booking-text-instruction { margin-top: 12px !important; color: var(--muted); }
.booking-text-editor { display: grid; gap: 10px; margin-top: 20px; font-size: 12px; font-weight: 600; }
.booking-text-editor textarea { width: 100%; min-height: 200px; padding: 13px; border: 1px solid var(--border-strong); border-radius: 4px; background: var(--surface); color: var(--text); font: inherit; font-size: 16px; font-weight: 400; line-height: 1.8; resize: vertical; }
.booking-text-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.booking-owner-page .booking-text-actions .button { margin-top: 0; }
.booking-text-note { margin-top: 14px !important; color: var(--muted); font-size: 10px !important; }
@media (max-width: 900px) {
  .booking-layout { gap: 40px; grid-template-columns: .8fr 1.2fr; }
  .booking-card { padding: 24px; }
  .booking-form-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .booking-full { grid-column: auto; }
  .booking-admin-card { padding: 20px; }
}
@media (max-width: 760px) {
  .booking-page { padding-block: 38px 52px; }
  .booking-layout { display: block; }
  .booking-intro h1 { font-size: 40px; margin-top: 14px; }
  .booking-lead { font-size: 14px; margin-top: 17px; max-width: 310px; }
  .booking-explainer { margin-top: 18px; padding-top: 0; border: 0; }
  .booking-explainer h2, .booking-explainer p:not(.booking-unconfirmed) { display: none; }
  .booking-explainer .booking-unconfirmed { margin-top: 0; }
  .booking-explainer p { font-size: 12px; }
  .booking-direct { margin-top: 17px; }
  .booking-direct > span, .booking-direct .phone-number { display: none; }
  .booking-direct > div { margin-top: 0; gap: 24px; }
  .booking-card { margin-top: 30px; padding: 23px 19px; }
  .booking-form-heading h2 { font-size: 23px; }
  .booking-form-grid { gap: 19px; }
  .booking-form-grid label { font-size: 12px; }
  .booking-success h2 { font-size: 27px; }
  .booking-privacy { font-size: 10px; }
  .owner-tabs { gap: 22px; }
  .owner-tabs a { font-size: 12px; }
  .booking-summary { gap: 25px; }
  .booking-summary strong { font-size: 27px; }
  .booking-summary span { font-size: 10px; }
  .booking-filter-bar { flex-wrap: wrap; gap: 12px; }
  .booking-filter-bar select { max-width: 195px; }
  .booking-filter-bar .text-button { font-size: 12px; }
  .booking-admin-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .booking-admin-card { padding: 21px 18px; }
  .booking-arrival-fields { gap: 10px; }
  .booking-text-dialog { padding: 22px 18px; }
  .booking-text-heading h2 { font-size: 23px; }
  .booking-text-actions .button { font-size: 12px; padding-inline: 15px; }
}

.install-app{display:flex;align-items:center;gap:16px;padding-top:28px;padding-bottom:28px;border-top:1px solid #245b3d26;color:#245b3d}
.install-app img{border-radius:10px;flex-shrink:0}.install-app>div{flex:1}.install-app strong{font-size:16px}.install-app p{font-size:14px;margin:4px 0 0}.install-app .button{white-space:nowrap}
.install-dialog{width:min(500px,calc(100% - 32px));max-height:85dvh;box-sizing:border-box;overflow-y:auto;border:1px solid #245b3d33;border-radius:16px;padding:28px;background:#f7f3e8;color:#245b3d}
.install-dialog::backdrop{background:#102e22aa}.install-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.install-dialog h2{font-size:26px;margin:0}.install-dialog p,.install-dialog li{font-size:16px;line-height:1.65}.install-dialog ol{padding-left:24px}.install-dialog li+li{margin-top:12px}.install-dialog .install-note{font-size:14px;opacity:.85}
@media(max-width:600px){.install-app{flex-wrap:wrap;gap:12px}.install-app>div{min-width:180px}.install-app .button{width:100%}.install-dialog{padding:22px}}
.review-profile{padding:16px;border:1px solid #245b3d30;border-radius:10px;margin:16px 0 24px;background:#eef0e5}.review-profile>p:first-child{margin:0 0 12px}.review-profile .text-button,.review-profile .text-link{display:inline-block;margin:0 12px 10px 0}.review-profile [hidden]{display:none!important}.review-profile-note{display:block;font-size:13px;line-height:1.5;font-weight:400;margin:8px 0 0;color:#445d4e}.review-photos,.review-photo-preview{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.review-photos a{display:block;flex:1;min-width:70px;max-width:150px}.review-photos img,.review-photo-preview img{width:100%;height:110px;object-fit:cover;border-radius:8px}.review-photo-preview img{width:90px;height:90px}.review-photos a:focus-visible{outline:3px solid #245b3d;outline-offset:3px}
#install-header{display:contents}.header-actions .button{white-space:nowrap}
@media(max-width:1100px){.desktop-nav{display:none}.menu-button{display:grid}}
@media(max-width:760px){.header-inner:has(#install-header){display:grid;grid-template-columns:1fr;gap:10px;padding-block:12px}.header-inner:has(#install-header) .header-actions{width:100%}.header-inner:has(#install-header) .header-actions .button{flex:1}.header-inner:has(#install-header) .header-actions .menu-button{flex-shrink:0}html{scroll-padding-top:180px}html.reviews-reached{scroll-padding-top:136px}}

/* Service categories: compact previews, with the details one tap away. */
.services-layout{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.6fr);gap:64px;align-items:start}
.services-eyebrow{font-size:11px;font-weight:650;letter-spacing:.09em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}.services-heading h2{font-size:36px;letter-spacing:-.035em}.services-heading .services-intro{font-size:15px;max-width:300px;margin:16px 0 24px}.services-heading .service-note{max-width:300px;margin-top:18px}.service-expand-hint{font-size:12px;color:var(--muted);margin:0 0 12px}
.services-grid{margin:0;border:0;border-radius:0;background:transparent;overflow:visible;display:grid;gap:12px}.service-group{border:1px solid var(--line);border-radius:12px;background:var(--background)}.service-group+.service-group{border-top:1px solid var(--line)}.service-group summary{justify-content:flex-start;gap:14px;padding:20px;min-height:92px}.service-category-icon{width:42px;height:42px;border-radius:10px;background:#e7ecdf;display:grid;place-items:center;color:var(--accent);flex-shrink:0}.service-category-icon .icon{width:23px;height:23px}.service-category-copy{display:grid;gap:5px;flex:1;min-width:0}.service-category-title{font-size:16px;font-weight:650}.service-category-description{font-size:12px;line-height:1.5;color:var(--muted);font-weight:400}.service-chevron{width:18px;height:18px}.service-group[open]:not([data-expanded="false"]){border-color:#93aa94}.service-group[open]:not([data-expanded="false"]) .service-category-icon{background:var(--accent);color:var(--background)}.service-list{gap:16px 24px;padding:0 20px 22px}.service-list dt{font-size:13px;font-weight:650}.service-list dd{font-size:12px;line-height:1.65;margin-top:5px}.service-list>div{padding-top:14px}
@media(max-width:1000px){.services-layout{gap:32px;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr)}}
@media(max-width:760px){.services-layout{grid-template-columns:1fr;gap:26px}.services-heading h2{font-size:30px}.services-heading .services-intro,.services-heading .service-note{max-width:480px}.services-heading .services-intro{margin:12px 0 20px}.service-group summary{padding:17px 16px;gap:12px;min-height:84px}.service-category-icon{width:36px;height:36px}.service-category-title{font-size:15px}.service-category-description{font-size:12px}.service-list{grid-template-columns:1fr;padding:0 16px 20px;gap:14px}.service-list dt{font-size:14px}.service-list dd{font-size:13px}.service-expand-hint{font-size:12px}}

.menu-share-button{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:13px 0;border:0;border-top:1px solid var(--line);margin-top:8px;background:transparent;text-align:left;font-size:14px;font-weight:600;color:var(--accent)}.menu-share-button:hover{color:var(--accent-hover)}.menu-share-button:disabled{opacity:.6}.menu-share-status:empty{display:none}.menu-share-status{font-size:13px;line-height:1.5;color:var(--accent);margin:6px 0}.menu-share-fallback{display:grid;gap:8px;font-size:13px;line-height:1.5;margin-top:10px}.menu-share-fallback input{width:100%;min-height:44px;padding:10px;border:1px solid var(--border-strong);border-radius:5px;background:var(--background);font:inherit;font-size:16px;color:var(--text)}

.hero{background:#18372b}.hero-image,.hero-shade,.hero-content{opacity:var(--hero-opacity,1)}.hero-slogan{font-size:24px;line-height:1.4;font-weight:600;letter-spacing:-.025em;margin-top:18px;color:#f7f3e8}.hero-slogan+.hero-description{margin-top:12px}.hero-rating{display:flex;align-items:center;gap:10px;width:fit-content;max-width:100%;font-size:13px;line-height:1.6;margin-top:20px;color:#f7f3e8;text-decoration:none}.hero-rating:hover #hero-rating-text{text-decoration:underline;text-underline-offset:4px}.hero-rating .icon{width:15px;height:15px}.hero-rating-stars{--hero-rating-fill:0%;white-space:nowrap;font-size:19px;letter-spacing:2px;background:linear-gradient(90deg,#f4d67c var(--hero-rating-fill),#a8b8aa var(--hero-rating-fill));background-clip:text;-webkit-background-clip:text;color:transparent}.hero-rating #hero-rating-text{min-width:0}.hero-content{padding-block:58px}.hero-actions{margin-top:24px}
@media(max-width:760px){.hero-slogan{font-size:21px;margin-top:16px}.hero-content{padding-block:48px}.hero-rating{font-size:12px;gap:8px;flex-wrap:wrap}.hero-rating-stars{font-size:17px}}
@media(prefers-reduced-motion:reduce){.hero-image,.hero-shade,.hero-content{opacity:1!important}}

.about-section{border-bottom:1px solid var(--line)}.about-layout{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.6fr);gap:64px;align-items:start}.about-heading h2{font-size:36px;letter-spacing:-.035em}.about-location{font-size:13px;line-height:1.6;color:var(--muted);margin-top:14px}.about-copy{max-width:640px}.about-copy h3{font-size:26px;letter-spacing:-.025em;line-height:1.3;margin:0 0 18px}.about-copy p{font-size:15px;line-height:1.85;color:var(--muted)}.about-copy p+p{margin-top:16px}.about-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:26px}.mobile-nav{max-height:calc(100dvh - 160px);overflow-y:auto}
@media(max-width:1000px){.about-layout{gap:32px;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr)}}
@media(max-width:760px){.about-layout{grid-template-columns:1fr;gap:26px}.about-heading h2{font-size:30px}.about-copy h3{font-size:23px}.about-copy p{font-size:14px}.about-actions{gap:20px}}

/* Seasonal work and project comparisons. */
.section-eyebrow{font-size:11px;font-weight:650;line-height:1.5;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.seasonal-section{background:var(--accent);color:var(--background)}
.seasonal-layout{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:26px;padding-block:34px}
.seasonal-icon{display:grid;place-items:center;width:58px;height:58px;border:1px solid #f7f3e84d;border-radius:50%}
.seasonal-icon .icon{width:28px;height:28px}
.seasonal-copy{max-width:570px}
.seasonal-copy .section-eyebrow{color:#dbe5cf;margin-bottom:7px}
.seasonal-copy h2{font-size:27px;letter-spacing:-.025em}
.seasonal-copy>p:last-child{font-size:13px;line-height:1.75;margin-top:9px;color:#e6eadb;max-width:530px}
.seasonal-button{background:var(--background);color:var(--accent);white-space:nowrap}
.seasonal-button:hover{background:#e8e5d8}
.seasonal-section a:focus-visible{outline-color:var(--background)}
.gallery-intro-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin:-12px 0 22px}
.gallery-intro-row .gallery-hint{margin:0}
.gallery-intro-row>.text-link{flex-shrink:0;color:var(--accent);font-size:12px}
.transformations-section{border-top:1px solid var(--line);padding-top:52px}
.transformations-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}
.transformations-heading>p{font-size:13px;line-height:1.75;color:var(--muted)}
.transformations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.transformation-card{min-width:0}
.transformation-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;overflow:hidden;border-radius:8px}
.transformation-photo{position:relative;display:block;width:100%;padding:0;border:0;aspect-ratio:4/3;overflow:hidden;background:var(--surface)}
.transformation-photo img{width:100%;height:100%;object-fit:cover}
.transformation-photo:hover img{filter:brightness(.94)}
.transformation-photo:focus-visible{outline:3px solid var(--background);outline-offset:-6px}
.transformation-label{position:absolute;left:10px;top:10px;padding:6px 10px;border-radius:4px;background:#f7f3e8f2;color:var(--text);font-size:11px;font-weight:650;line-height:1.3}
.transformation-expand{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:30px;height:30px;background:#18372bd9;border-radius:50%;color:var(--background)}
.transformation-expand .icon{width:15px;height:15px}
.transformation-card figcaption{padding-top:18px}
.transformation-card h3{font-size:18px;font-weight:600;line-height:1.4;letter-spacing:-.02em}
.transformation-card figcaption p{font-size:13px;line-height:1.75;color:var(--muted);margin-top:6px;max-width:430px}

/* Local coverage and native, keyboard-accessible questions. */
.local-section{background:var(--surface);border-block:1px solid var(--line)}
.local-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.4fr);gap:76px;align-items:start}
.service-area-card{padding:28px;background:var(--background);border:1px solid var(--line);border-radius:8px}
.local-pin{display:grid;place-items:center;width:40px;height:40px;color:var(--accent);background:#245b3d0d;border-radius:50%;margin-bottom:24px}
.service-area-card h2{font-size:30px}
.service-area-card .local-area-name{font-size:13px;font-weight:600;line-height:1.7;color:var(--accent);margin-top:18px}
.service-area-card>p:not(.section-eyebrow):not(.local-area-name){font-size:13px;line-height:1.8;color:var(--muted);margin-top:12px}
.service-area-card .text-link{margin-top:24px;color:var(--accent)}
.faq-section{min-width:0}
.faq-section h2{font-size:30px}
.faq-list{margin-top:24px;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:67px;padding:19px 0;list-style:none;cursor:pointer;font-size:14px;font-weight:600;line-height:1.6}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--accent)}
.faq-item summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
.faq-chevron{width:17px;height:17px;flex-shrink:0}
.faq-item[open] .faq-chevron{transform:rotate(180deg)}
.faq-answer{padding:0 30px 22px 0}
.faq-answer p,.faq-help{font-size:13px;line-height:1.85;color:var(--muted)}
.faq-answer a,.faq-help a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.faq-help{margin-top:22px}
@media(min-width:1101px){.desktop-nav{gap:22px}}
@media(max-width:1000px){.seasonal-layout{grid-template-columns:minmax(0,1fr) auto;gap:24px}.seasonal-icon{display:none}.local-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:32px}.service-area-card{padding:24px}.transformations-grid{gap:20px}}
@media(max-width:760px){.seasonal-layout{grid-template-columns:1fr;gap:22px;padding-block:28px}.seasonal-copy h2{font-size:25px}.seasonal-button{justify-self:start}.gallery-intro-row{flex-direction:column;gap:8px}.transformations-section{padding-top:38px}.transformations-heading{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:22px}.transformations-heading h2{font-size:30px}.transformations-grid{grid-template-columns:1fr;gap:30px}.transformation-photo{aspect-ratio:1}.transformation-label{left:8px;top:8px;padding:5px 8px}.transformation-card figcaption{padding-top:14px}.transformation-card h3{font-size:17px}.local-layout{grid-template-columns:1fr;gap:40px}.service-area-card{padding:24px}.local-pin{margin-bottom:18px}.faq-section h2,.service-area-card h2{font-size:28px}.faq-item summary{font-size:14px;min-height:66px;gap:12px}.faq-answer{padding-right:8px}.faq-answer p{font-size:13px}}

.faq-answer p+p{margin-top:12px}

.starting-prices{padding:20px 18px;margin:0 0 22px;border:1px solid var(--line);border-radius:8px;background:var(--background)}
.starting-prices h3{font-size:15px;font-weight:650;line-height:1.4;margin-bottom:14px;letter-spacing:-.015em}
.starting-prices dl{margin:0}.starting-prices dl>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line)}
.starting-prices dt{font-size:13px;line-height:1.5}.starting-prices dd{margin:0;text-align:right;flex-shrink:0}.starting-prices dd strong{display:block;font-size:22px;font-weight:650;line-height:1.2;letter-spacing:-.03em}.starting-prices dd span{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin-top:4px}
.starting-prices>p{font-size:11px;line-height:1.75;color:var(--muted);margin-top:12px}
@media(max-width:760px){.starting-prices{max-width:480px;padding:18px}.starting-prices dt{font-size:14px}.starting-prices>p{font-size:12px}.starting-prices dd span{font-size:11px}.about-copy h3{font-size:23px}}

/* Public service prices, grouped by the work customers need. */
.starting-prices>.text-link{margin-top:14px;font-size:12px;color:var(--accent)}
.price-guide{border-bottom:1px solid var(--line)}
.price-guide-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:48px;margin-bottom:30px}
.price-guide-heading h2{font-size:36px;letter-spacing:-.035em}.price-guide-heading>p{font-size:13px;line-height:1.85;color:var(--muted);max-width:500px}
.price-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.price-category{min-width:0;padding:24px 20px;background:var(--surface);border:1px solid var(--line);border-radius:8px}
.price-category h3{font-size:18px;font-weight:600;line-height:1.4;letter-spacing:-.02em;margin-bottom:20px}
.price-rows{margin:0}.price-rows>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 0;border-top:1px solid var(--line)}
.price-rows dt{font-size:13px;line-height:1.65;min-width:0}.price-rows dd{margin:0;text-align:right;flex-shrink:0;max-width:52%}.price-rows dd strong{display:block;font-size:20px;line-height:1.3;font-weight:650;letter-spacing:-.025em;white-space:nowrap}.price-rows dd span{display:block;font-size:10px;line-height:1.6;color:var(--muted);margin-top:4px}
.price-category-note{font-size:12px;line-height:1.8;color:var(--muted);margin-top:18px}
.price-guide-footer{display:flex;align-items:center;justify-content:space-between;gap:36px;margin-top:28px}.price-guide-footer p{font-size:13px;line-height:1.85;color:var(--muted);max-width:650px}.price-guide-footer .button{flex-shrink:0}
@media(max-width:1040px){.price-guide-grid{grid-template-columns:1fr}.price-category{padding:24px}.price-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}.price-category-note{max-width:650px}.price-guide-heading{gap:32px}}
@media(max-width:760px){.price-guide-heading{grid-template-columns:1fr;gap:14px;margin-bottom:24px}.price-guide-heading h2{font-size:30px}.price-category{padding:22px 18px}.price-category h3{font-size:19px;margin-bottom:18px}.price-rows{grid-template-columns:1fr}.price-rows dt{font-size:14px}.price-rows dd strong{font-size:21px}.price-rows dd span{font-size:11px}.price-guide-footer{align-items:flex-start;flex-direction:column;gap:20px;margin-top:24px}}

/* A concise introduction to our approach. */
.why-section{padding-block:52px;border-bottom:1px solid var(--line)}.why-heading{margin-bottom:30px}.why-heading h2{font-size:32px;letter-spacing:-.03em}
.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.why-item{min-width:0}.why-item+.why-item{padding-left:32px;border-left:1px solid var(--line)}
.why-icon{display:grid;place-items:center;width:38px;height:38px;margin-bottom:18px;color:var(--accent);background:#245b3d0d;border-radius:50%}.why-icon .icon{width:20px;height:20px}
.why-item h3{font-size:17px;font-weight:600;line-height:1.5;letter-spacing:-.015em}.why-item p{font-size:13px;line-height:1.85;color:var(--muted);margin-top:8px;max-width:330px}
/* Referrals share the website, with no automatic messages or reward claims. */
.referral-section{background:var(--accent);color:var(--background)}.referral-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr);align-items:center;gap:76px}
.referral-copy .section-eyebrow{color:#dbe5cf}.referral-copy h2{font-size:34px;line-height:1.25;letter-spacing:-.035em;max-width:540px}.referral-copy>p:not(.section-eyebrow){font-size:14px;line-height:1.85;color:#e6eadb;margin-top:18px;max-width:550px}.referral-copy>p.referral-thanks{font-size:12px;color:#dbe5cf}
.referral-share-panel{min-width:0;border:1px solid #f7f3e84d;border-radius:8px;background:#ffffff08;padding:28px}.referral-link-name{font-size:23px;line-height:1.4;font-weight:600;letter-spacing:-.025em;margin-bottom:20px}
.referral-share-actions{display:flex;flex-direction:column;align-items:stretch;gap:14px}.referral-share-button{background:var(--background);color:var(--accent)}.referral-share-button:hover{background:#e8e5d8}.referral-copy-button{min-height:44px;padding:9px 0;border:0;background:transparent;color:var(--background);font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:4px}.referral-copy-button:hover{color:#dbe5cf}.referral-share-actions button:disabled{opacity:.6;cursor:wait}
.referral-share-status{font-size:13px;line-height:1.75;margin:0;color:var(--background)}.referral-share-status:not(:empty){margin-top:16px}.referral-section a:focus-visible,.referral-section button:focus-visible{outline-color:var(--background)}
.referral-share-fallback{display:grid;gap:8px;font-size:13px;line-height:1.6;margin-top:18px}.referral-share-fallback input{width:100%;min-height:44px;padding:10px;border:1px solid #d8ddce;border-radius:5px;background:var(--background);color:var(--text);font:inherit;font-size:16px}.referral-share-fallback input:focus-visible{outline:2px solid var(--background);outline-offset:3px}.referral-noscript{font-size:13px;line-height:1.75;margin-top:16px;overflow-wrap:anywhere}
@media(max-width:1000px){.why-grid{gap:24px}.why-item+.why-item{padding-left:24px}.referral-layout{gap:36px}.referral-share-panel{padding:24px}}
@media(max-width:760px){.why-section{padding-block:40px}.why-heading{margin-bottom:24px}.why-heading h2{font-size:28px}.why-grid{grid-template-columns:1fr;gap:24px}.why-item+.why-item{padding:24px 0 0;border-left:0;border-top:1px solid var(--line)}.why-icon{margin-bottom:12px}.why-item h3{font-size:18px}.why-item p{font-size:14px;max-width:520px}.referral-layout{grid-template-columns:1fr;gap:28px}.referral-copy h2{font-size:30px}.referral-copy>p:not(.section-eyebrow){font-size:14px}.referral-share-panel{padding:24px}.referral-copy-button{font-size:14px}}

/* Booking attachments and recurring mowing preferences. */
.booking-fields{display:grid;gap:23px;padding:0;margin:0;border:0;min-width:0}
.booking-field-note{display:block;color:var(--muted);font-size:11px;font-weight:400;line-height:1.7;flex-basis:100%}
.booking-photo-picker>label{display:block;margin-bottom:8px;font-size:12px;font-weight:600;line-height:1.5}
.booking-photo-picker .booking-field-note{margin-top:9px}
.booking-photo-status{font-size:11px;line-height:1.7;color:var(--accent);margin-top:6px}
.booking-photo-status:empty{display:none}
.booking-photo-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.booking-photo-preview{min-width:0}
.booking-photo-preview img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:4px}
.booking-photo-preview button{min-height:44px;font-size:11px}
.booking-owner-photos{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.booking-owner-photos h3{font-size:12px;font-weight:600}
.booking-owner-photos h3 span{display:inline-block;margin-left:5px;color:var(--muted);font-size:10px;font-weight:400}
.booking-owner-photos>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.booking-owner-photos a{min-width:0;font-size:10px;line-height:1.6}
.booking-owner-photos img{aspect-ratio:1;object-fit:cover;width:100%;border-radius:4px}
.booking-owner-photos a span{display:block;padding-block:8px}

/* Keep phone contact within reach while leaving room for page content. */
.mobile-contact-bar{display:none}
@media(max-width:760px){
  body:has(.mobile-contact-bar){padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))}
  html{scroll-padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  .mobile-contact-bar{position:fixed;z-index:19;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px max(20px,env(safe-area-inset-left,0px)) calc(10px + env(safe-area-inset-bottom,0px));background:#f7f3e8fa;border-top:1px solid var(--line);box-shadow:0 -3px 15px #18372b0a}
  .mobile-contact-bar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border:1px solid var(--accent);border-radius:5px;color:var(--accent);font-size:14px;font-weight:650}
  .mobile-contact-bar a:last-child{background:var(--accent);color:var(--background)}
  .mobile-contact-bar svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
  body.modal-open .mobile-contact-bar,body:has(dialog[open]) .mobile-contact-bar,body:has(input:focus,textarea:focus,select:focus) .mobile-contact-bar{display:none}
}

/* Winter services and advance requests share the BP Lawns brand. */
.winter-site-header .header-inner{display:flex;flex-wrap:wrap;gap:20px;padding-block:12px;min-height:80px}
.winter-site-header .header-actions{display:flex;gap:10px;width:auto;margin-left:auto}
.winter-page-nav{display:flex;gap:24px;margin-left:auto;color:var(--muted);font-size:13px}
.winter-page-nav a:hover{color:var(--accent)}
.winter-hero{background:linear-gradient(115deg,#18372b,#245b3d);color:var(--background)}
.winter-hero-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:80px;align-items:center;padding-block:68px}
.winter-eyebrow{font-size:11px;font-weight:600;line-height:1.6;letter-spacing:.08em;text-transform:uppercase;color:#d2dfcb}
.winter-hero h1{font-size:clamp(42px,4.8vw,64px);margin-top:18px}
.winter-hero-description{font-size:15px;line-height:1.9;max-width:490px;color:#e0e6d8;margin-top:22px}
.winter-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:23px;margin-top:29px}
.winter-hero-actions .button{background:var(--background);color:var(--accent)}
.winter-hero-actions .button:hover{background:#e8e5d8}
.winter-light-link{font-size:13px;text-decoration:underline;text-underline-offset:4px}
.winter-home-link{display:inline-block;font-size:11px;line-height:1.6;color:#d2dfcb;margin-top:24px}
.winter-hero-note{padding:30px 0 30px 38px;border-left:1px solid #b7cbb54a}
.winter-snowflake{width:94px;height:94px;color:#d2dfcb;margin-bottom:22px}
.winter-hero-note h2{font-size:27px;line-height:1.3;letter-spacing:-.025em;margin-top:12px}
.winter-hero-note>p:last-child{font-size:13px;line-height:1.85;color:#d2dfcb;max-width:290px;margin-top:16px}
.winter-section-heading{margin-bottom:30px}
.winter-section-heading h2{margin-top:10px}
.winter-section-heading>p:last-child:not(.section-eyebrow){max-width:670px;margin-top:16px;font-size:14px;line-height:1.85;color:var(--muted)}
.winter-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.winter-service-grid article{border-left:2px solid var(--line);padding-left:20px}
.winter-service-grid h3{font-size:19px;line-height:1.5;letter-spacing:-.02em}
.winter-service-grid p{font-size:13px;line-height:1.85;color:var(--muted);margin-top:9px}
.winter-pricing{background:var(--surface);border-block:1px solid var(--line)}
.winter-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.winter-price-card{background:var(--background);border:1px solid var(--line);border-radius:8px;padding:27px}
.winter-price-card h3{font-size:17px;line-height:1.5;letter-spacing:-.02em}
.winter-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:18px;margin-bottom:17px}
.winter-price>strong{font-size:46px;line-height:1.1;letter-spacing:-.05em;color:var(--accent);font-weight:600}
.winter-price strong span{font-size:28px;vertical-align:top;line-height:1.4}
.winter-price>span{font-size:11px;color:var(--muted)}
.winter-price-card>p:last-child{font-size:12px;line-height:1.85;color:var(--muted)}
.winter-depth-guide{margin-top:29px;border:1px solid var(--line);border-radius:8px;background:var(--background);padding:25px}
.winter-depth-guide h3{font-size:17px;letter-spacing:-.02em}
.winter-depth-guide dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:20px;margin-bottom:0}
.winter-depth-guide dl>div{border-top:1px solid var(--line);padding-top:14px}
.winter-depth-guide dt{font-size:12px;color:var(--muted)}
.winter-depth-guide dd{margin:7px 0 0;font-size:21px;font-weight:600;letter-spacing:-.02em}
.winter-depth-guide>p,.winter-per-visit-note{font-size:12px;color:var(--muted);line-height:1.85;margin-top:20px;max-width:860px}
.winter-booking-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:70px;align-items:start}
.winter-booking-intro h2{font-size:38px;line-height:1.15;letter-spacing:-.035em;margin-top:12px}
.winter-booking-intro>p:not(.section-eyebrow){font-size:14px;line-height:1.85;color:var(--muted);margin-top:20px;max-width:390px}
.winter-booking-steps{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:22px;counter-reset:winter-step}
.winter-booking-steps li{position:relative;padding-left:39px;counter-increment:winter-step;font-size:13px;line-height:1.8}
.winter-booking-steps li::before{content:counter(winter-step);position:absolute;left:0;top:1px;width:25px;height:25px;display:grid;place-items:center;border:1px solid var(--line);color:var(--accent);border-radius:50%;font-size:11px;font-weight:650}
.winter-booking-steps strong,.winter-booking-steps span{display:block}
.winter-booking-steps span{font-size:12px;color:var(--muted);margin-top:3px;max-width:340px}
.winter-direct{border-top:1px solid var(--line);padding-top:24px;margin-top:30px;display:grid;gap:12px;justify-items:start}
.winter-direct p{font-size:12px;color:var(--muted)}
.winter-direct .phone-number{font-size:24px}
.winter-direct .text-link{font-size:12px}
.winter-booking-layout .booking-card{margin:0}
.winter-request-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}
.winter-area-choice{padding:0;border:0;margin:0;min-width:0}
.winter-area-choice legend{font-size:12px;font-weight:600;line-height:1.5;margin-bottom:10px}
.booking-form-grid .winter-area-choice label{display:flex;align-items:center;flex-wrap:nowrap;gap:9px;font-size:12px;line-height:1.6;font-weight:400;min-height:37px}
.winter-area-choice input{width:16px;height:16px;flex-shrink:0;margin:0;accent-color:var(--accent)}
.winter-owner-note{padding:12px 14px;background:var(--background);border:1px solid var(--line);border-radius:4px;font-size:11px;line-height:1.8;color:var(--muted);margin-top:20px}
.winter-faq{border-top:1px solid var(--line);padding-top:45px;max-width:850px}
.winter-faq h2{margin-top:10px}
@media(max-width:1000px){.winter-hero-layout{gap:40px}.winter-booking-layout{gap:35px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.winter-price-card{padding:23px}.winter-price>strong{font-size:40px}}
@media(max-width:760px){
  .winter-site-header .header-inner{gap:12px;min-height:74px}
  .winter-site-header .header-actions{gap:8px;flex-wrap:wrap}
  .winter-page-nav{display:none}
  .winter-hero-layout{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:40px}
  .winter-hero h1{font-size:43px}
  .winter-hero-description{font-size:14px;line-height:1.85}
  .winter-hero-note{padding:24px 0 0;border-left:0;border-top:1px solid #b7cbb54a;display:grid;grid-template-columns:57px minmax(0,1fr);gap:8px 18px}
  .winter-snowflake{width:55px;height:55px;grid-row:1/4;margin-bottom:0}
  .winter-hero-note h2{font-size:23px;margin:0}.winter-hero-note h2 br{display:none}
  .winter-hero-note>p:last-child{margin:0;max-width:none;font-size:12px}
  .winter-service-grid{grid-template-columns:1fr;gap:24px}
  .winter-section-heading h2,.winter-faq h2{font-size:30px}
  .winter-price-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .winter-price-card{padding:23px}
  .winter-price{margin-top:12px;margin-bottom:13px}
  .winter-depth-guide{padding:22px 20px}
  .winter-depth-guide dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}
  .winter-depth-guide dd{font-size:19px}
  .winter-booking-layout{grid-template-columns:minmax(0,1fr);gap:32px}
  .winter-booking-intro h2{font-size:33px}.winter-booking-intro h2 br{display:none}
  .winter-booking-intro>p:not(.section-eyebrow){max-width:none}
  .winter-booking-steps{margin-top:23px;gap:17px}.winter-booking-steps span{max-width:none}
  .winter-direct{margin-top:24px;padding-top:20px}
  .winter-request-options{grid-template-columns:minmax(0,1fr);gap:19px}
}
@media(min-width:1101px){.desktop-nav{gap:14px;font-size:12px}.desktop-nav a{white-space:nowrap}}

.seasonal-actions{display:grid;gap:10px;min-width:0;max-width:320px}
.seasonal-actions .button{width:100%;justify-content:center}
.seasonal-winter-button{background:transparent;border-color:#dbe5cf;color:var(--background);font-size:13px;text-align:center}
.seasonal-winter-button:hover{background:#ffffff12}
@media(max-width:760px){.seasonal-actions{justify-self:start;width:min(100%,310px)}}

.winter-service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.winter-salting-guide{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:22px 35px;margin-top:25px;padding:25px;border:1px solid var(--line);border-radius:8px;background:var(--background)}
.winter-salting-guide h3{font-size:21px;line-height:1.4;letter-spacing:-.02em;margin-top:8px}
.winter-salting-guide dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin:0}
.winter-salting-guide dt{font-size:13px;line-height:1.6;font-weight:600}
.winter-salting-guide dd{margin:9px 0 0}
.winter-salting-guide dd strong{display:block;color:var(--accent);font-size:31px;font-weight:600;letter-spacing:-.04em;line-height:1.2}
.winter-salting-guide dd span{display:block;font-size:11px;color:var(--muted);line-height:1.6;margin-top:4px}
.winter-salting-guide>p{grid-column:1/-1;font-size:12px;line-height:1.85;color:var(--muted)}
@media(max-width:1000px){.winter-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.winter-service-grid{grid-template-columns:minmax(0,1fr);gap:24px}.winter-salting-guide{grid-template-columns:minmax(0,1fr);padding:22px 20px;gap:22px}.winter-salting-guide dl{gap:18px}}

.booking-status-winter-booked{background:#dde7d9;color:var(--accent-hover)}
.booking-customer-email{display:block;margin-top:8px;font-size:13px;line-height:1.7;color:var(--accent);overflow-wrap:anywhere}
.booking-customer-email:hover{text-decoration:underline;text-underline-offset:3px}
.winter-owner-note .text-button{margin-top:8px;min-height:36px}

.after-booking{border-top:1px solid var(--line)}.after-booking h2{max-width:650px}.after-booking-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;list-style:none;padding:0;margin:28px 0;counter-reset:booking-step}.after-booking-steps li{counter-increment:booking-step;min-width:0}.after-booking-steps li::before{content:counter(booking-step);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#245b3d12;color:var(--accent);font-size:14px;font-weight:600;margin-bottom:12px}.after-booking h3{font-size:16px;line-height:1.5;font-weight:600}.after-booking p{font-size:14px;line-height:1.8;color:var(--muted);margin-top:8px}.after-booking-winter{padding:20px 24px;border-radius:8px;background:#245b3d0a;margin-bottom:24px}.after-booking-compact{margin-top:32px;padding-top:24px}.after-booking-compact h2{font-size:21px}.after-booking-compact .after-booking-steps{grid-template-columns:1fr;gap:20px;margin:22px 0}.after-booking-compact .after-booking-steps li::before{float:left;margin:0 12px 0 0}.after-booking-compact .after-booking-steps li>p{margin-left:42px}.after-booking-compact .after-booking-winter{padding:18px}.after-booking-compact p{font-size:13px}@media(max-width:760px){.after-booking-steps{grid-template-columns:1fr;gap:24px}.after-booking h2{font-size:28px}.after-booking-compact h2{font-size:21px}.after-booking-winter{padding:20px}.after-booking-compact{margin-top:24px}}

.after-booking-winter ul{padding-left:20px;margin:14px 0;color:var(--muted);font-size:14px;line-height:1.8}.after-booking-winter li+li{margin-top:8px}

.site-footer .privacy-link{font-size:12px;color:var(--muted)}.privacy-page{max-width:760px;padding-block:65px 80px}.privacy-page h1{font-size:44px;letter-spacing:-.04em;line-height:1.15;margin-top:12px}.privacy-updated{font-size:12px;color:var(--muted);margin-top:16px}.privacy-page section{margin-top:30px}.privacy-page h2{font-size:21px;letter-spacing:-.02em}.privacy-page section p{font-size:15px;line-height:1.85;color:var(--muted);margin-top:10px}.privacy-page section a,.booking-privacy a{text-decoration:underline;text-underline-offset:3px}.privacy-page>.button{margin-top:32px}@media(max-width:760px){.privacy-page{padding-block:38px 55px}.privacy-page h1{font-size:36px}}
