/* October 2026: consistent service photography and original-vector brand motion. */

.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}
.service-card{display:flex;flex-direction:column;text-decoration:none;min-width:0;border-bottom:1px solid var(--line);padding-bottom:26px}
.service-card figure{position:relative;overflow:hidden;border-radius:24px 5px 24px 5px;background:var(--cream)}
.service-card figure>img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .3s ease}
.service-card:hover figure>img{transform:scale(1.025)}
.service-card figcaption{position:absolute;bottom:10px;left:10px;max-width:calc(100% - 20px);background:var(--paper);color:var(--deep);padding:5px 9px;border-radius:3px;font-size:11px;line-height:1.45}
.service-card-copy{display:flex;flex-direction:column;flex:1;padding-top:22px}
.service-card .eyebrow{margin-bottom:12px;font-size:10px}
.service-card h3{display:flex;justify-content:space-between;gap:16px;font-size:26px;line-height:1.2}
.service-card h3>.icon-arrow{flex-shrink:0;width:22px;height:22px;margin-top:4px}
.service-card p{font-size:17px;color:var(--muted);margin-block:14px 20px}
.service-card-link{font-size:14px;font-weight:600;margin-top:auto;display:flex;align-items:center;gap:14px}
.service-card-link .icon-arrow{width:16px;height:16px}
.service-help{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:var(--cream);padding:30px;border-radius:24px 5px 24px 5px}
.service-help h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size:38px;line-height:1.15;letter-spacing:-.04em}
.service-help p:not(.eyebrow){font-size:17px;color:var(--muted);margin-block:20px 24px}
.hero-grid{gap:6%;padding-block:38px 46px;grid-template-columns:1fr 1fr;align-items:center}
.hero-direct{font-size:14px;color:#d4ded4;margin-top:20px}.hero-direct a{white-space:nowrap}
.motion-stage{position:relative;isolation:isolate;overflow:hidden;min-width:0;width:100%;aspect-ratio:1.12;display:flex;flex-direction:column;justify-content:center;background:var(--deep);border:1px solid #ffffff24;border-radius:48px 8px 48px 8px;padding:28px}
.motion-art{position:relative;z-index:1;display:grid;place-items:center;flex:1;min-height:0;padding:10px 8px 22px}
.motion-logo{display:block;width:100%;height:auto;max-height:325px;overflow:visible}
.motion-landscape{position:absolute;inset:0;z-index:-1;overflow:hidden;opacity:.55;background:radial-gradient(ellipse at 50% 38%,#285239 0%,#09291f 70%)}
.motion-stage figcaption{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #ffffff26;padding-top:18px;font-size:15px;line-height:1.5;color:#d4ded4}
.motion-stage figcaption strong{font-weight:600;color:var(--paper)}
.motion-control{flex-shrink:0;min-height:44px;border:1px solid #ffffff70;border-radius:4px;color:var(--paper);background:var(--deep);font-size:12px;padding:10px 12px}
.motion-control[hidden]{display:none}
.motion-control:hover{background:var(--forest)}
.motion-art{position:relative}
.motion-poster{display:block;width:100%;height:auto;max-height:325px}
.motion-art object{position:absolute;inset:10px 8px 22px;width:calc(100% - 16px);height:calc(100% - 32px);visibility:hidden}
.motion-stage.is-ready .motion-art object{visibility:visible}
.motion-stage.is-ready .motion-poster{visibility:hidden}
@media(max-width:750px){.motion-art object{inset:0 24px 20px;width:calc(100% - 48px);height:calc(100% - 20px)}}
@media(max-width:650px){.motion-art object{inset:4px 8px 22px;width:calc(100% - 16px);height:calc(100% - 26px)}}
@media print{.motion-art object{display:none}.motion-stage.is-ready .motion-poster{visibility:visible}}
.service-heading-place{display:block;font:600 13px/1.6 var(--sans);text-transform:uppercase;letter-spacing:.1em;margin-top:18px}
.service-tagline{font-family:var(--serif);font-size:25px;font-style:italic;line-height:1.4;margin-top:24px}
.service-hero .lede{margin-top:16px}
.service-hero figure{width:100%;max-width:none;align-self:center}
.service-hero figure>img{width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;max-height:none;border-radius:32px 6px 32px 6px}
.service-hero figcaption{font-size:12px;line-height:1.5;margin-top:12px;color:var(--muted)}
@media(max-width:1100px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 25px}.motion-stage{padding:22px}.motion-stage figcaption{display:block}.motion-control{margin-top:12px}.hero-direct{font-size:13px}}
@media(max-width:750px){.hero-grid{grid-template-columns:1fr;gap:28px}.hero h1{font-size:clamp(46px,9vw,66px)}.hero-description{max-width:540px}.motion-stage{max-width:560px;justify-self:center;aspect-ratio:1.3;padding:24px}.motion-stage figcaption{display:flex}.motion-control{margin-top:0}.motion-art{padding:0 24px 20px}.motion-logo{max-height:280px}.hero-grid{padding-block:30px 36px}}
@media(max-width:650px){.service-grid{grid-template-columns:1fr;gap:32px}.service-card{padding-bottom:24px}.service-card-copy{padding-top:18px}.service-card h3{font-size:27px}.service-help{padding:28px}.hero-direct{font-size:13px;line-height:1.7}.hero h1{font-size:clamp(45px,11.6vw,62px)}.motion-stage{aspect-ratio:1.14;padding:20px;border-radius:32px 6px 32px 6px}.motion-art{padding:4px 8px 22px}.motion-stage figcaption{font-size:13px}.motion-control{font-size:11px;padding:9px}.service-hero figure{max-width:none}.service-heading-place{font-size:11px}.service-tagline{font-size:24px}}
@media(prefers-reduced-motion:reduce){.motion-logo,.motion-logo>g{animation:none!important;clip-path:none!important;opacity:1!important;transform:none!important}.service-card:hover figure>img{transform:none}.motion-control{display:none}}
@media print{.motion-control{display:none}.motion-logo,.motion-logo>g{animation:none!important;clip-path:none!important;opacity:1!important;transform:none!important}.motion-stage{break-inside:avoid}.service-card{break-inside:avoid}}

/* Reversible framing keeps the photographic masters intact. */
.service-card [data-photo="striped-lawn-brick"],.service-hero [data-photo="striped-lawn-brick"]{object-position:50% 62%}
.service-card [data-photo="trimmed-hedge"],.service-hero [data-photo="trimmed-hedge"]{object-position:50% 45%}
.service-card [data-photo="hedge-after"],.service-hero [data-photo="hedge-after"]{object-position:50% 58%}
.service-card [data-photo="planting-illustration"],.service-hero [data-photo="planting-illustration"]{object-position:50% 50%}
.service-card [data-photo="pressure-washing-illustration"],.service-hero [data-photo="pressure-washing-illustration"]{object-position:50% 55%}
.page-about .service-hero figure{max-width:440px}
.page-about .service-hero [data-photo="jack-portrait"]{aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:40px 6px 40px 6px}
@media(max-width:650px){.page-about .service-hero figure{max-width:350px}.page-about .service-hero [data-photo="jack-portrait"]{aspect-ratio:4/5;object-position:50% 15%}}

.jack-supporting{padding-bottom:72px}.jack-supporting figure{max-width:900px;margin:auto}.jack-supporting img{width:100%;height:auto;border-radius:32px 6px 32px 6px}.jack-supporting figcaption{font-size:13px;color:var(--muted);margin-top:12px}.page-about .service-hero{grid-template-columns:1.05fr .95fr;gap:9%}.page-about .service-hero figure{width:100%}@media(max-width:650px){.page-about .service-hero{grid-template-columns:1fr;gap:30px}.jack-supporting{padding-bottom:52px}}

/* Unpublished review: documentary photography, clearer enquiries, compact mobile navigation. */
.hero-proof{min-width:0;align-self:stretch;display:flex;flex-direction:column;margin:0;border-radius:40px 6px 40px 6px;overflow:hidden;background:var(--deep)}
.hero-proof>img{width:100%;height:100%;min-height:320px;max-height:580px;object-fit:cover;flex:1;object-position:50% 55%}
.hero-proof figcaption{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;justify-content:space-between;padding:15px 20px;color:var(--paper);font-size:14px}
.hero-proof figcaption a{display:inline-flex;gap:10px;align-items:center;min-height:44px;text-underline-offset:5px}
.hero-proof a:focus-visible{outline-color:var(--lime)}
.service-expectations{padding:30px 36px;background:var(--cream);border-radius:20px 4px 20px 4px}
.service-expectations h2{font-size:30px}.service-expectations ul{padding-left:22px;margin-block:20px;display:grid;gap:12px}.service-expectations p{max-width:75ch;color:var(--muted)}
.page-home .reviews-band .review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-home .reviews-band{padding-block:40px}.page-home .reviews-band .section-head{margin-bottom:12px}.page-home .reviews-band .review-grid{margin-block:12px}.page-home .intro-band{padding-block:24px}
.enquiry input,.enquiry select,.enquiry textarea{font-size:16px;scroll-margin-block:90px 85px}
.email-card strong{overflow-wrap:anywhere}.header nav{max-height:calc(100dvh - 150px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:750px){.hero-proof>img{min-height:0;aspect-ratio:4/3;max-height:420px}.hero-proof{width:100%}.service-expectations{padding:25px}}
@media(max-width:650px){html{scroll-padding-top:76px;scroll-padding-bottom:76px}.header-inner{min-height:68px}.brand img{width:82px;height:58px}.header-phone{font-size:13px}.menu-toggle{min-height:44px}.mobile-contact a{min-height:50px;padding:10px 12px}.mobile-contact{padding-bottom:env(safe-area-inset-bottom)}body{padding-bottom:calc(54px + env(safe-area-inset-bottom))}.section{padding-block:44px}.hero-proof{border-radius:24px 4px 24px 4px}.hero-proof figcaption{padding:8px 14px;font-size:13px}.page-home .reviews-band .review-grid{grid-template-columns:1fr}.page-home .reviews-band .section-head h2{font-size:32px}.service-expectations{padding:24px 20px}.service-expectations h2{font-size:28px}body:has(.enquiry input:focus) .mobile-contact,body:has(.enquiry textarea:focus) .mobile-contact,body:has(.enquiry select:focus) .mobile-contact{display:none}.enquiry #enquiry-status{scroll-margin-block:90px 85px}}
@media(max-width:370px){.brand img{width:72px;height:52px}.header-inner{min-height:64px;gap:8px}.header-phone{font-size:12px}.mobile-contact a{font-size:13px;gap:8px}.hero .actions{align-items:flex-start;flex-direction:column}}

/* SEO review: readable planning guidance and local project context. */
.service-location,.project-context{padding-block:22px;border-top:1px solid var(--line)}
.service-location p,.project-context p{max-width:72ch;font-size:18px;line-height:1.65}
.service-location a,.project-context a{text-underline-offset:4px}
.hero-direct{line-height:1.8}
@media(max-width:650px){.service-location p,.project-context p{font-size:17px}.faq-layout h2{overflow-wrap:break-word}}

.coverage-places{padding-block:12px 48px}.coverage-places h2{max-width:24ch;font-size:clamp(28px,4vw,42px)}.coverage-places p{max-width:72ch;margin-top:20px}.coverage-places ul{display:flex;flex-wrap:wrap;gap:14px 36px;padding-left:20px;margin-top:24px}

/* Confirmed local coverage hub */
.coverage-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.coverage-group{padding:28px;border:1px solid #d7dfd4;background:#f5f3ea}.coverage-group h3{font-size:clamp(1.5rem,2.3vw,2.1rem);line-height:1.14;margin:0 0 16px}.coverage-group p{line-height:1.6}.coverage-group ul{list-style:none;padding:0;margin:24px 0 0;columns:1}.coverage-group li{padding:7px 0;border-bottom:1px solid #d7dfd4;break-inside:avoid}.coverage-note{max-width:850px;margin-top:28px;line-height:1.7}.coverage-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.coverage-services h3{font-size:1.5rem;line-height:1.2}.coverage-services p{line-height:1.7}.coverage-project{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.coverage-project figure{margin:0}.coverage-project img{width:100%;height:auto;display:block;border-radius:32px 6px 32px 6px}.coverage-project p{line-height:1.7}.coverage-project figcaption{font-size:.85rem;margin-top:10px}.coverage-hub a,.coverage-services a,.coverage-project a:not(.button){text-decoration:underline;text-underline-offset:4px}@media(max-width:900px){.coverage-groups{grid-template-columns:1fr}.coverage-group ul{columns:2;column-gap:30px}.coverage-services{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.coverage-project,.coverage-services{grid-template-columns:1fr}.coverage-project{gap:28px}.coverage-group{padding:22px}.coverage-group ul{columns:1}.coverage-groups{gap:18px}}
/* Shared back-to-top control stays above the mobile contact bar. */
.back-to-top{position:fixed;right:24px;bottom:24px;z-index:25;width:48px;height:48px;display:grid;place-items:center;padding:12px;border:1px solid var(--forest);border-radius:18px 4px 18px 4px;background:var(--lime);color:var(--deep);box-shadow:0 4px 16px #09291f24;transition:background .18s ease,transform .18s ease}
.back-to-top[hidden]{display:none}
.back-to-top svg{width:24px;height:24px;pointer-events:none}
.back-to-top:hover{background:var(--paper);transform:translateY(-3px)}
.back-to-top:focus-visible{outline:3px solid var(--forest);outline-offset:4px}
body.dialog-open .back-to-top{display:none}
@media(max-width:650px){.back-to-top{right:16px;bottom:calc(76px + env(safe-area-inset-bottom))}body:has(.enquiry input:focus) .back-to-top,body:has(.enquiry textarea:focus) .back-to-top,body:has(.enquiry select:focus) .back-to-top{display:none}}
@media(prefers-reduced-motion:reduce){.back-to-top:hover{transform:none}}
@media print{.back-to-top{display:none!important}}
