/* Mobile first: a compact four-page business site. */
:root{--deep:#172a20;--forest:#20392c;--cream:#e1d6b9;--paper:#f0eadb;--ink:#263d30;--muted:#52614f;--line:#c4bca7;--moss:#637349;--clay:#8b4b2a;--body:'DM Sans',Arial,sans-serif;--display:'Barlow Condensed','Arial Narrow',Arial,sans-serif;--header-height:120px;--contact-bar-height:76px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:16px;scroll-padding-bottom:calc(var(--contact-bar-height) + 16px)}
body{margin:0;background:var(--cream);color:var(--ink);font:1rem/1.6 var(--body)}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
a,button,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9b562d;outline-offset:4px}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;line-height:1.15}
h1{font-size:2.25rem;letter-spacing:-.01em}
h2{font-size:1.875rem}
h3{font-size:1.5rem}
h4{font-size:1.5rem}
p{max-width:70ch}
button,summary{cursor:pointer}
.skip-link{position:fixed;top:8px;left:16px;padding:12px 18px;background:var(--paper);z-index:20;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.site-header{position:relative;z-index:10;background:var(--deep);color:var(--cream);border-bottom:1px solid #63745e}
.header-inner{max-width:1248px;margin:auto;padding:0 16px}
.header-brand-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0}
.brand{display:block;width:232px;max-width:calc(100% - 2px);flex:0 1 232px}
.brand img,.footer-logo img{width:100%;height:auto;aspect-ratio:1120/260;object-fit:contain}
.primary-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-inline:-16px;border-top:1px solid #ffffff26}
.primary-nav a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 0;font-size:.875rem;font-weight:600;border-bottom:3px solid transparent;text-align:center;overflow-wrap:anywhere}
.primary-nav a[href="services.html"]{font-size:.75rem;line-height:1.15}
.primary-nav a[aria-current]{border-color:#d3bd83;background:#ffffff0c;color:var(--cream)}
.primary-nav a:hover{background:#ffffff12}
.site-header :focus-visible,.site-footer :focus-visible{outline-color:#e4be83;outline-offset:-3px}
.header-actions{display:none}
.quick-mute{border:1px solid #9fab97;background:transparent;color:var(--cream);padding:8px;min-height:44px;max-width:90px;font-size:.875rem;border-radius:4px}
.quick-mute:hover{background:var(--forest)}
.quick-mute svg{display:none}
.quick-mute[aria-pressed=true] .sound-off-mark,.quick-mute[aria-pressed=false] .sound-on-mark{display:none}
.page-content{width:min(100%,1200px);margin:auto;padding:28px 16px 40px;min-height:45vh}
.home-intro{display:grid;gap:20px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.location-note{font-size:.875rem;font-weight:600;color:var(--muted);margin-bottom:9px}
.home-intro h1{margin-bottom:12px}
.home-intro p:not(.location-note){color:var(--muted)}
.intro-actions{display:none;grid-template-columns:1.15fr 1fr;gap:8px;align-self:center}
.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:12px 10px;border:1px solid var(--forest);border-radius:5px;font-size:.875rem;font-weight:700;line-height:1.45}
.button-primary{background:var(--forest);color:var(--cream)}
.button-outline{background:transparent;color:var(--forest)}
.button:hover{background:var(--forest);color:var(--cream)}
.button-primary:hover{background:var(--deep);color:var(--cream)}
.service-overview{padding:26px 0 36px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.service-overview .section-heading{column-gap:10px}
.service-overview .section-heading .text-link{font-size:.875rem}
.text-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;text-decoration:underline;text-underline-offset:4px;font-size:1rem;font-weight:600}
.text-link:hover{color:var(--clay)}
.service-groups{display:grid;gap:0}
.service-group{display:grid;grid-template-columns:clamp(96px,28vw,120px) minmax(0,1fr);align-items:center;gap:16px;padding:24px 0;min-width:0}
.service-group+.service-group{border-top:1px solid var(--line)}
.service-visual{aspect-ratio:1;overflow:hidden;border-radius:6px;background:#dde3d2}
.service-visual img{width:100%;height:100%;object-fit:cover;object-position:center}
.service-group h3{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:1.5rem;line-height:1.2}
.service-group h3 span{font-family:var(--body);font-size:1.2rem;font-weight:400;color:var(--moss)}
.service-group p{font-size:1rem;color:var(--muted);margin-top:8px;line-height:1.5}
.service-group:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.service-group:focus-visible{outline-offset:6px;border-radius:3px}
.process{background:var(--deep);color:var(--cream);border:1px solid var(--deep);border-radius:8px;padding:34px 20px 26px;margin:0 0 24px}
.process,.service-next-step{position:relative;overflow:hidden}
.process::before,.service-next-step::before{content:'';position:absolute;inset:0 0 auto;height:14px;background:#b9a17a url('assets/timber-oak.webp') center/cover no-repeat;border-bottom:1px solid #a28d68}
.process-heading{display:grid;gap:12px}
.process-steps{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:22px}
.process-steps li{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:12px}
.step-number{grid-row:span 2;font-weight:700;font-size:.875rem;color:#d3bd83;margin-top:4px}
.process-steps p{grid-column:2;color:#ded8c8;margin-top:7px}
.process-steps li+li{border-top:1px solid #e1d6b92b;padding-top:18px}
.area{display:grid;gap:22px;padding-top:24px}
.area h2{margin-bottom:12px}
.area p:not(.location-note){color:var(--muted)}
.area .text-link{margin-top:8px}
.area-copy{min-width:0}
.region-map{display:block;width:min(100%,300px);aspect-ratio:7/6;background:currentColor;-webkit-mask:url('assets/missouri-region.svg') center/contain no-repeat;mask:url('assets/missouri-region.svg') center/contain no-repeat;mask-mode:alpha;color:var(--forest);pointer-events:none}
.area-copy img{display:block;width:100%;margin-top:24px}
.area-region-map{width:100%;justify-self:center}
/* Merge the pale landscape canvas with the tan page without multiplying it darker. */
.area img{align-self:center;mix-blend-mode:darken}
.section-intro,.equipment-heading,.contact-intro{margin-bottom:24px}
.section-intro h1,.equipment-heading h1,.contact-intro h1{margin-bottom:12px}
.section-intro>p,.equipment-heading>p,.contact-intro>p{color:var(--muted)}
.section-intro .text-link{margin-top:8px}
.services-intro{display:grid;gap:18px}
.services-title-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;max-width:540px;margin-bottom:10px}
.services-title-row .text-link{font-size:.875rem;line-height:1.35;text-align:right}
.services-intro p{color:var(--muted);max-width:none}
.service-intro-actions{display:none}
.service-jump{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0 32px;background:var(--paper);border:1px solid var(--line);border-radius:6px}
.service-jump a{display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:60px;padding:12px 8px;text-align:center;line-height:1.35;color:var(--forest)}
.service-jump a+a{border-left:1px solid var(--line)}
.service-jump a:first-child{border-radius:5px 0 0 5px}
.service-jump a:last-child{border-radius:0 5px 5px 0}
.service-jump strong{font-size:1rem;font-weight:600}
.service-jump span{display:none;color:var(--muted);font-size:.875rem}
.service-jump a:is(:hover,:focus-visible,:active){background:var(--forest);color:var(--cream)}
.service-jump a:is(:hover,:focus-visible,:active) span{color:inherit}
.service-jump a:focus-visible{outline-color:#d3bd83;outline-offset:-4px}
.service-categories{display:grid;gap:32px}
.service-category{display:grid;gap:22px;min-width:0}
.service-category+.service-category{padding-top:54px}
.service-category#earthwork{background:var(--paper);padding-inline:18px;padding-bottom:24px;border-radius:8px}
.category-story{display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:center;background:var(--deep);color:var(--cream);border-radius:7px;overflow:hidden;align-self:start}
.category-heading{padding:18px 16px}
.category-heading h2{font-size:1.75rem;margin-bottom:8px}
.category-heading p{color:#e0e6d6;font-size:1rem;line-height:1.5}
.category-story img{width:100%;height:100%;min-height:132px;object-fit:cover;object-position:center}
.service-list{display:grid;align-content:start;min-width:0}
.service-entry{padding:0 0 20px;min-width:0}
.service-entry+.service-entry{padding-top:20px;border-top:1px solid var(--line)}
.service-entry:last-child{padding-bottom:0}
.service-entry h3{font-size:1.625rem;line-height:1.2;margin-bottom:9px}
.service-entry>p{color:var(--muted);max-width:60ch}
.service-item{margin-top:8px}
.service-item summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;padding:8px 0;list-style:none;font-size:.875rem;font-weight:600;color:var(--forest)}
summary::-webkit-details-marker{display:none}
.service-item summary:hover{text-decoration:underline;text-underline-offset:4px}
.service-item summary:focus-visible{outline-offset:2px}
.service-item .expand-icon{width:14px;flex:0 0 14px}
.service-content{padding:12px 16px 14px;background:#e8edde;border-radius:4px}
.service-content p{color:var(--muted)}
.service-discuss{justify-self:start;margin-top:8px}
.rate-intro-link{display:inline-flex;margin-top:12px;font-weight:600}
.reference-rates{margin-top:40px;padding:24px 18px;background:var(--paper);border:1px solid var(--line);border-radius:8px}
.rate-heading{display:grid;gap:12px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.rate-heading .eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--moss)}
.rate-heading h2{margin-top:3px}
.rate-heading>p,.rate-note{color:var(--muted)}
.rate-groups{display:grid;gap:24px;margin-top:20px}
.rate-group{overflow:hidden;border:1px solid var(--line);border-radius:6px}
.rate-group h3{padding:11px 16px 13px;background:var(--forest);color:var(--cream);font-size:1.55rem}
.rate-list{list-style:none;margin:0;padding:0}
.rate-list li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 16px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line)}
.rate-list li:last-child{border-bottom:0}
.rate-service{grid-column:1/-1;font-weight:600;line-height:1.35}
.rate-service small{font-size:.8rem;font-weight:400;color:var(--muted)}
.rate-average,.rate-range{display:flex;flex-direction:column;line-height:1.35;font-variant-numeric:tabular-nums}
.rate-average small,.rate-range small{font-size:.72rem;letter-spacing:.02em;color:var(--muted)}
.rate-average strong{font:600 1.55rem/1.15 var(--display);color:var(--forest)}
.rate-range{align-items:flex-end;text-align:right;font-weight:600;color:var(--forest)}
.rate-note{margin-top:24px;padding-top:17px;border-top:1px solid var(--line);font-size:.875rem;line-height:1.55;max-width:none}
.expand-icon{display:block;width:16px;height:16px;position:relative}
.expand-icon:before,.expand-icon:after{content:'';position:absolute;left:0;top:7px;width:16px;height:1.5px;background:var(--forest)}
.expand-icon:after{transform:rotate(90deg)}
details[open] .expand-icon:after{transform:rotate(0)}
.tags{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}
.tags span{background:#dee5cf;padding:4px 8px;border-radius:4px;font-size:.875rem;color:#405137}
.service-scope{padding-top:14px;border-top:1px solid #ccd5be;font-size:1rem}
.service-next-step{display:grid;gap:22px;margin-top:36px;padding:28px 20px 24px;background:var(--paper);border:1px solid var(--line);border-radius:7px}
.service-next-step h2{margin-bottom:10px}
.service-next-step p{color:var(--muted);max-width:58ch}
.service-next-actions{display:grid;gap:10px}
.questions{margin-top:36px;padding:54px 18px 24px;background:var(--paper);border-radius:8px}
.questions .section-intro h2{margin-bottom:10px}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;font-weight:600;min-height:48px}
.faq-item .expand-icon{flex:0 0 16px}
.faq-item>p{padding:0 0 20px;color:var(--muted)}
.machine-gallery{display:grid;gap:18px}
.machine-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.machine-image{position:relative;flex-shrink:0;aspect-ratio:3/2;background:var(--paper);border-bottom:2px solid #ad653b}
.machine-image img{position:absolute;inset:16px;width:calc(100% - 32px);height:calc(100% - 32px);object-fit:contain;mix-blend-mode:multiply}
.machine-description{display:flex;flex-direction:column;flex:1;padding:18px}
.machine-type{font-size:.875rem;color:var(--muted);font-weight:600}
.machine-description h2{font-size:1.75rem;margin:5px 0 8px}
.machine-description p{color:var(--muted)}
.machine-description .text-link{align-self:flex-start;margin-top:auto;padding-top:10px}
.equipment-photo-note{font-size:.875rem;color:var(--muted);margin:14px 0 26px}
.attachment-inventory{margin-top:36px;padding:54px 18px 24px;display:grid;gap:18px;background:var(--paper);border-radius:8px}
.attachment-inventory h2{font-size:1.75rem;margin-bottom:9px}
.attachment-inventory p{color:var(--muted)}
.attachment-list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin:0;padding:0}
.attachment-list li{border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.attachment-list a{display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:74px;padding:12px 0}
.attachment-list a:hover strong{text-decoration:underline;text-underline-offset:4px}
.attachment-list span{font-size:.875rem;color:var(--muted)}
.equipment-nav{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:24px}
.equipment-nav a{display:inline-flex;align-items:center;min-height:48px;padding:10px 18px;border-bottom:3px solid transparent;font-weight:600}
.equipment-nav a[aria-current]{border-color:#d3bd83;background:var(--forest);color:var(--cream)}
.attachment-jump{display:flex;flex-wrap:wrap;gap:8px}
.attachment-jump a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;border:1px solid var(--line);border-radius:4px;font-size:.875rem;font-weight:600;background:var(--paper)}
.attachment-jump a:is(:hover,:focus-visible,:active){background:var(--forest);border-color:var(--forest);color:var(--cream)}
.equipment-nav a:hover{background:var(--paper);color:var(--forest)}
.equipment-nav a[aria-current]:hover{background:var(--deep);color:var(--cream)}
.attachment-group{margin-bottom:32px}
.attachment-group>h2{margin-bottom:18px}
.attachment-group+.attachment-group{padding-top:54px}
.attachment-grid{display:grid;gap:16px}
.attachment-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:18px 16px;min-width:0}
.attachment-card-top{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.attachment-card-top img{width:100px;height:72px;object-fit:contain;flex:0 0 100px}
.attachment-card h3{font-size:1.5rem}
.attachment-card>p{color:var(--muted)}
.attachment-card .attachment-examples{margin:12px 0 4px;font-size:.875rem}
.attachment-card .attachment-examples strong{color:var(--ink)}
.attachment-card .text-link{align-self:flex-start;margin-top:auto;padding-top:12px}
.contact-options{display:grid;gap:20px;align-items:start}
body[data-page=contact] .page-content{max-width:960px}
.contact-options-ready{max-width:720px;margin-inline:auto}
.contact-choices{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 28px;padding:0}
.contact-choices li{min-width:0}
.contact-choice{display:flex;flex-direction:column;justify-content:center;gap:6px;height:100%;min-height:96px;padding:14px 12px;border:1px solid #a6b29c;border-radius:5px;background:var(--paper)}
.contact-choice strong{font-size:1rem;line-height:1.35}
.contact-choice>span{font-size:.875rem;line-height:1.5;color:var(--muted)}
a.contact-choice:hover{background:var(--cream);border-color:var(--forest)}
.contact-choice[aria-current=location]{background:var(--forest);border-color:var(--forest);color:var(--cream);box-shadow:inset 0 -4px #b38448}
.contact-choice[aria-current=location]>span{color:var(--cream)}
a.contact-choice[aria-current=location]:hover{background:var(--deep);color:var(--cream)}
.contact-choice-pending{background:transparent;border-color:var(--line)}
.contact-card{border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:20px 16px}
.contact-card h2{font-size:1.875rem;margin:0 0 12px}
.contact-card>p{color:var(--muted)}
.service-context{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0 16px;margin-top:16px;padding:8px 12px;background:#e7ecdf;border-radius:4px;font-size:.875rem}
.service-context .text-link{font-size:.875rem}
.contact-card:focus-visible{outline:3px solid #9b562d;outline-offset:3px}
.booking-preview-note{margin-top:18px;padding:14px;background:#e3dcc7;border-left:3px solid #9b7849;border-radius:3px;color:#4e5847;font-size:.875rem}
.booking-preview-note strong{display:block;margin-bottom:4px}
.booking-preview{margin-top:20px}
.booking-preview fieldset{border:0;margin:0;padding:0;min-width:0}
.booking-preview legend{font-weight:600;font-size:1rem;margin-bottom:16px;padding:0}
.booking-fields{display:grid;gap:16px}
.booking-fields label{display:flex;flex-direction:column;gap:6px;font-size:1rem;min-width:0}
.booking-fields input,.booking-fields select,.booking-fields textarea{min-width:0;width:100%;min-height:48px;border:1px solid #aeb7a6;border-radius:4px;background:#e9e2d0;color:#56624f;padding:12px;font:1rem var(--body);opacity:1;-webkit-text-fill-color:#56624f}
.booking-fields textarea{resize:vertical;min-height:90px}
.booking-fields input::placeholder,.booking-fields textarea::placeholder{color:#56624f;opacity:1}
.booking-extras{margin-top:20px;border-block:1px solid var(--line)}
.booking-extras summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;padding:12px 0;list-style:none;font-size:.875rem;font-weight:600}
.booking-extras .expand-icon{flex:0 0 16px}
.booking-extras .booking-fields{padding:4px 0 18px}
.booking-submit{margin-top:20px;min-height:48px;padding:12px;width:100%;border:1px solid #9fac94;border-radius:4px;background:#d5dccb;color:#42523b;font-weight:600;cursor:not-allowed}
.contact-alternative{display:inline-flex;gap:12px;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;margin-top:18px;font-weight:600}
.contact-bar{display:grid;grid-template-columns:1.2fr 1fr;gap:8px;position:fixed;bottom:0;left:0;right:0;z-index:12;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--deep);border-top:1px solid #748568}
.contact-bar a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:10px 6px;font-size:.875rem;font-weight:700;background:var(--cream);color:var(--forest);border-radius:4px;line-height:1.35}
.contact-bar a:last-child{background:transparent;color:var(--cream);border:1px solid #bac6af}
.contact-bar a:first-child:hover,.contact-bar a:last-child:hover{background:var(--paper);color:var(--deep)}
.contact-bar a:focus-visible{outline-color:#e4be83;outline-offset:-4px}
.site-footer{position:relative;margin-top:24px;background:var(--deep);color:var(--cream);padding:30px 16px calc(var(--contact-bar-height) + 24px)}
.footer-inner{max-width:1168px;margin:auto;display:grid;gap:22px}
.footer-logo{display:block;max-width:260px}
.footer-identity p{font-size:.875rem;color:#d0d8c7;margin-top:12px}
.footer-region-map{width:min(100%,220px);margin-top:16px;color:var(--cream)}
.footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 16px}
.footer-nav a{display:flex;align-items:center;min-height:44px;font-size:.875rem}
.footer-nav a:hover{text-decoration:underline;text-underline-offset:4px}
.copyright{max-width:none;font-size:.875rem;color:#d0d8c7;border-top:1px solid #ffffff25;padding-top:18px;grid-column:1/-1}
.copyright a{text-decoration:underline}
.sound-dock{font-size:.875rem;display:flex;flex-direction:column;align-items:flex-start;min-width:0;max-width:100%}
.sound-retry{position:fixed;right:16px;bottom:calc(var(--contact-bar-height) + 12px);z-index:14;max-width:calc(100vw - 32px);min-height:48px;background:var(--deep);color:var(--cream);border-color:var(--cream);box-shadow:0 3px 12px #172a2026}
.sound-retry:hover{background:var(--forest);color:var(--cream)}
.sound-toolbar{display:flex;border:1px solid #819074;border-radius:5px;order:-1}
.sound-toolbar button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 14px;background:transparent;color:var(--cream);border:0;cursor:pointer}
.sound-toolbar button+button{border-left:1px solid #819074}
.sound-toolbar button:hover{background:var(--forest);color:var(--cream)}
.sound-toolbar svg{width:20px;height:20px}
.sound-indicator{width:7px;height:7px;border:1px solid currentColor;border-radius:50%}
[aria-pressed=true] .sound-indicator{background:#d6bb77}
.sound-panel{width:360px;max-width:100%;padding:18px;margin-top:12px;background:var(--cream);color:var(--ink);border:1px solid var(--line);border-radius:6px}
.sound-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sound-panel-heading h2{font-size:1.6rem}
.sound-panel-heading button{min-width:44px;min-height:44px;background:none;border:0;font-size:1.8rem;color:var(--ink)}
.sound-panel>p{font-size:1rem;color:var(--muted);margin-top:12px}
.volume-label{display:flex;align-items:center;justify-content:space-between;margin-top:18px;font-size:1rem}
#sound-volume{display:block;width:100%;min-height:44px;accent-color:var(--forest);margin:8px 0 12px}
.sound-samples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.sound-samples button{background:transparent;border:1px solid #8b997c;border-radius:4px;color:var(--ink);min-height:44px;padding:8px;font-size:.875rem}
.sound-samples button:hover{background:var(--forest);border-color:var(--forest);color:var(--cream)}
.sound-panel>.sound-credit{font-size:.875rem;border-top:1px solid var(--line);padding-top:12px}
.sound-credit a{text-decoration:underline}
.sound-back{background:none;border:0;color:var(--ink);font-size:.875rem;min-height:44px;padding:8px 0;text-decoration:underline;margin-top:10px}
.sound-back:disabled{color:#59684f;cursor:default}
.sound-panel :focus-visible{outline-color:#9b562d;outline-offset:2px}
/* Simple native disclosure behavior remains available with scripts off. */
@supports (interpolate-size:allow-keywords) and selector(::details-content){
 .service-item,.faq-item{interpolate-size:allow-keywords}
 .service-item::details-content,.faq-item::details-content{height:0;overflow:clip;transition:height .2s ease,content-visibility .2s allow-discrete}
 .service-item[open]::details-content,.faq-item[open]::details-content{height:auto}
}
@media(min-width:600px){
 html{scroll-padding-top:calc(var(--header-height) + 16px)}
 .site-header{position:sticky}
 .header-inner{padding-inline:24px}.primary-nav{margin-inline:-24px}.page-content{padding:32px 24px 48px}
 .service-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
 .service-group{grid-template-columns:minmax(0,1fr);align-content:start;gap:20px;padding:8px 0 16px}
 .service-group+.service-group{border-top:0}
 .service-visual{aspect-ratio:3/2}
 .service-group h3{font-size:1.75rem}
 .intro-actions{max-width:440px;width:100%}
 .machine-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
 .booking-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-full{grid-column:1/-1}
 .process{padding:36px 28px 28px}.process-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
 .process-steps li{display:block}.process-steps h3{margin-top:10px}
 .process-steps li+li{border-top:0;border-left:1px solid #e1d6b92b;padding-top:0;padding-left:22px}
 .service-content{padding-inline:16px}
 .services-intro{grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center}
 .service-jump a{padding:16px}.service-jump span{display:block}.service-jump strong{font-size:1.125rem}
 .service-next-actions{grid-template-columns:1fr 1fr;max-width:440px}
 .footer-inner{grid-template-columns:1fr 1fr}.site-footer{padding-inline:24px}
}
@media(min-width:760px){
 .reference-rates{padding:30px 28px}
 .rate-heading{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:32px;align-items:end}
 .rate-list li{grid-template-columns:minmax(0,1.4fr) minmax(100px,.55fr) minmax(125px,.65fr);gap:22px}
 .rate-service{grid-column:auto}
 .rate-average small,.rate-range small{font-size:.75rem}
 .attachment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .attachment-card{padding:22px}.attachment-card-top img{width:120px;height:80px;flex-basis:120px}
 .header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px}
 .header-brand-row{padding:16px 0;flex:0 1 280px}.brand{width:260px;flex-basis:260px}
 .primary-nav{border:0;gap:4px;margin-inline:0;grid-template-columns:repeat(4,auto);flex-shrink:0;max-width:100%}.primary-nav a{padding-inline:10px;min-height:48px;font-size:1rem;white-space:normal}.primary-nav a[href="services.html"]{font-size:1rem;line-height:inherit}
 h1{font-size:2.75rem}h2{font-size:2rem}
 .home-intro{grid-template-columns:minmax(0,1fr) 310px;gap:40px;align-items:center;padding-bottom:32px}
 .intro-actions{display:grid;grid-template-columns:1fr;gap:10px}
 .area{grid-template-columns:1fr 1fr;gap:32px;align-items:center}
 .questions{display:grid;grid-template-columns:.7fr 1.3fr;gap:40px}
 .service-jump{margin-bottom:40px}
 .service-category{grid-template-columns:minmax(0,.72fr) minmax(0,1.4fr);gap:32px}
 .service-category+.service-category{padding-top:60px}
 .service-category#earthwork{padding-inline:26px;padding-bottom:28px}
 .service-categories{gap:40px}
 .category-story{display:block}.category-heading{padding:22px}
 .category-heading h2{font-size:2rem}
 .category-story img{height:auto;aspect-ratio:3/2;min-height:0}
 .service-entry h3{font-size:1.75rem}
 .service-next-step{grid-template-columns:minmax(0,1fr) 230px;align-items:center;gap:32px;padding:28px}
 .service-next-actions{grid-template-columns:1fr}
 .attachment-inventory{grid-template-columns:.8fr 1.2fr;gap:32px}
 .attachment-list{grid-template-columns:repeat(3,minmax(0,1fr))}
 .contact-choices{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(min-width:1024px){
 :root{--contact-bar-height:0px}
 .contact-bar{display:none}.header-actions{display:flex;gap:8px;padding-block:12px;flex-wrap:wrap;margin-left:auto}
 .header-actions .button-primary{background:var(--cream);color:var(--deep);border-color:var(--cream)}
 .header-actions .button-outline{color:var(--cream);border-color:#a6b49e}
 .header-actions .button-primary:hover{background:var(--paper);color:var(--deep)}
 .header-actions .button-outline:hover{background:var(--cream);color:var(--deep)}
 .header-brand-row{flex:0 1 280px;min-width:0;gap:8px}.brand{width:220px;flex-basis:220px}
 .quick-mute{display:flex;align-items:center;justify-content:center;width:44px;flex:0 0 44px}.quick-mute svg{display:block}.quick-mute .mute-label{display:none}
 .service-intro-actions{display:grid;gap:8px;min-width:180px}
 .page-content{padding-top:36px;padding-bottom:56px}
 .service-overview{padding:32px 0 44px}.service-groups{gap:40px}
 .service-group{gap:24px}.service-group h3{font-size:2rem}
 .contact-options:not(.contact-options-ready){grid-template-columns:1fr 1fr;gap:24px}.contact-card{padding:26px}
 .service-category{gap:44px}.service-categories{gap:48px}
 .service-category+.service-category{padding-top:64px}
 .category-heading{padding:24px}.category-heading h2{font-size:2.125rem}
 .service-entry{padding-bottom:22px}.service-entry+.service-entry{padding-top:22px}
 .service-next-step{grid-template-columns:minmax(0,1fr) 280px;padding:32px}
 .footer-inner{grid-template-columns:1fr 1fr 1fr}.site-footer{padding-bottom:32px}
}
@media(min-width:1200px){
 .machine-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:599px){
 body[data-page=home] .page-content{padding-top:20px}
 .home-intro{padding-bottom:16px}.home-intro h1{font-size:2rem;margin-bottom:8px}
 .home-intro .location-note{margin-bottom:6px}
 .service-overview{padding-top:16px}.service-overview .section-heading{margin-bottom:4px}
 .service-group{padding-block:16px}
 .footer-identity{text-align:center}
 .footer-logo,.footer-region-map{margin-inline:auto}
 .footer-nav a{justify-content:center;text-align:center}
 .sound-dock{align-items:center;justify-self:center}
 .copyright{text-align:center}
}
/* Use a few natural accents as heading companions, not scattered filler. */
.service-overview{position:relative;padding-bottom:76px}
.service-overview::before,.site-footer::before{content:'';position:absolute;pointer-events:none;background:var(--forest);-webkit-mask:var(--motif) center/contain no-repeat;mask:var(--motif) center/contain no-repeat}
.service-overview::before{left:8px;bottom:1px;width:76px;height:72px;background:url('assets/clipart-stump-ring.png') center/contain no-repeat;opacity:.6;mix-blend-mode:multiply;-webkit-mask:none;mask:none}
.site-footer::before{left:0;bottom:calc(100% - 10px);width:100%;height:78px;opacity:.18;--motif:url('assets/grass-willow-silhouette.webp');-webkit-mask:var(--motif) left bottom/234px 78px repeat-x;mask:var(--motif) left bottom/234px 78px repeat-x}
#services-title,#overview-title{display:inline-flex;align-items:center;gap:8px}
#services-title::after,#overview-title::after{content:'';display:block;flex:none;background:url('assets/clipart-pinecone.png') center/contain no-repeat;opacity:.68;mix-blend-mode:multiply}
#services-title::after{width:29px;height:46px}
#overview-title::after{width:24px;height:38px}
.services-title-row .text-link{margin-left:auto}
#area-title{position:relative;padding-left:43px}
#area-title::before{content:'';position:absolute;left:0;top:0;width:36px;height:36px;background:url('assets/clipart-oak-leaf.png') center/contain no-repeat;opacity:.65;mix-blend-mode:multiply}
#mowing-title{display:inline-flex;align-items:center;gap:8px}
#mowing-title::after{content:'';display:block;flex:none;width:34px;height:34px;background:url('assets/clipart-birch-leaf.png') center/contain no-repeat;opacity:.65;mix-blend-mode:multiply}
@media(max-width:359px){.services-title-row .text-link{margin-left:0}}
@media(min-width:760px){
 .service-overview::before{width:96px;height:82px;left:12px;bottom:2px}
 .site-footer::before{height:90px;-webkit-mask-size:270px 90px;mask-size:270px 90px}
 #services-title::after{width:34px;height:54px}
 #overview-title::after{width:29px;height:46px}
 #area-title{padding-left:49px}
 #area-title::before{width:42px;height:42px}
}
@media(min-width:1440px){
 body::before,body::after{content:'';position:fixed;top:180px;bottom:120px;width:calc((100vw - 1200px)/2 - 20px);pointer-events:none;opacity:.075;background-repeat:no-repeat;background-size:200px auto;z-index:-1}
 body::before{left:0;background-image:url('assets/stump-rings-silhouette.webp');background-position:right 20%;background-size:180px auto}
 body::after{right:0;background-image:url('assets/clearing-silhouette.webp');background-position:left 50%}
}
/* Immediate press feedback without moving content or delaying navigation. */
:where(.button,.primary-nav a,.quick-mute,.service-group,.service-jump a,.contact-choice,.contact-bar a,.text-link,.contact-alternative,summary,button:not(:disabled)){transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}
:where(.button,.quick-mute,.service-jump a,.contact-choice,.contact-bar a,button:not(:disabled)):active{box-shadow:inset 0 0 0 2px currentColor}
.primary-nav a:active,.quick-mute:active{background:#ffffff20}
.contact-bar a:last-child:active{background:var(--cream);color:var(--deep)}
.service-group:active{background:var(--paper)}
.text-link:active,.contact-alternative:active,summary:active{color:var(--clay)}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .service-item::details-content,.faq-item::details-content{transition:none!important}
}
