@font-face{font-family:Lato;src:url('fonts/lato-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Lato;src:url('fonts/lato-bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Montserrat;src:url('fonts/montserrat.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Manrope;src:url('fonts/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('fonts/barlow-condensed.woff2') format('woff2');font-weight:700;font-display:swap}
:root{
  --color-white:#fff;--color-mist:#edf2ec;--color-slate:#506258;
  --color-ink:#102e23;--color-canopy:#174c35;--color-yellow:#f2cd45;
  --color-border:#c7d2c9;--color-web-text:#3a3a3a;--color-web-heading:#222;
  --color-error:#a32d3a;--font-heading:Montserrat,Arial,sans-serif;
  --font-body:Lato,Arial,sans-serif;--content-width:1200px;
  color-scheme:light;scroll-behavior:smooth;scroll-padding-top:24px
}
*{box-sizing:border-box}
body{margin:0;background:var(--color-white);color:var(--color-web-text);font:400 17px/29px var(--font-body);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
a{color:var(--color-canopy);text-underline-offset:4px}
a:hover{text-decoration-thickness:2px}
button,a{touch-action:manipulation}
button{cursor:pointer}
img{display:block;max-width:100%;height:auto}
svg{display:block;flex-shrink:0}
h1,h2,h3,p,ul,dl,figure{margin:0}
h1,h2,h3{font-family:var(--font-heading);font-weight:700;color:var(--color-web-heading);text-wrap:pretty}
h1{font-size:48px;line-height:60px}
h2{font-size:32px;line-height:42px}
h3{font-size:24px;line-height:34px}
p+p{margin-top:20px}
ul{padding-left:24px}
li{padding-left:0}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--color-canopy);outline-offset:5px}
.hero :focus-visible,.call-strip :focus-visible,.footer-bar :focus-visible{outline-color:var(--color-yellow)}
.container{width:min(var(--content-width),calc(100% - 80px));margin-inline:auto}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:fixed;top:12px;left:12px;padding:12px 20px;background:var(--color-white);color:var(--color-ink);z-index:100;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:48px;min-height:124px;padding-block:24px}
.brand{display:flex;align-items:center;text-decoration:none;flex-shrink:0;user-select:none;-webkit-user-select:none}
.brand__image{width:232px;height:auto}
.header-right{display:flex;align-items:flex-end;flex-direction:column;gap:12px}
.header-phone{font:700 32px/40px var(--font-heading);text-decoration:none;color:var(--color-canopy)}
.header-phone--quote{font-size:25px}
.nav-toggle{display:none;border:1px solid var(--color-border);background:white;border-radius:4px;padding:10px 14px;align-items:center;gap:8px;color:var(--color-ink)}
.nav-list{list-style:none;padding:0;display:flex;align-items:center;gap:22px}
.nav-list>li{position:relative}
.nav-list a,.services-toggle{display:flex;align-items:center;gap:8px;font:700 18px/24px var(--font-heading);text-decoration:none;white-space:nowrap;color:var(--color-ink)}
.services-toggle{padding:0;background:none;border:0}
.nav-list>li>a,.services-toggle{min-height:24px}
.nav-list a:hover,.services-toggle:hover{color:var(--color-canopy);text-decoration:underline;text-underline-offset:6px}
.services-menu{position:absolute;right:0;top:calc(100% + 12px);z-index:20;width:270px;padding:12px;list-style:none;background:white;border:1px solid var(--color-border);border-radius:4px;box-shadow:0 10px 28px #102e2314}
.services-menu a{padding:10px 12px;font-size:15px;line-height:24px;font-weight:500;white-space:normal}
.hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:520px;padding-block:96px;background:var(--color-canopy)}
.hero__photo{position:absolute;z-index:-1;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 26%}
.hero__panel{display:flex;align-items:center;flex-direction:column;gap:24px;padding:40px 48px;background:#102e23db;text-align:center}
.hero h1{color:white}
.hero__action{color:var(--color-yellow);font:700 40px/50px var(--font-heading);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.hero__action--quote{font-size:30px;line-height:42px}
.service-overview{padding-top:40px;padding-bottom:20px}
.service-overview h2{color:var(--color-web-text);margin-bottom:20px}
.service-overview ul{font-size:18px;line-height:30px}
.service-overview a{color:inherit;text-decoration:none}
.service-overview a:hover{text-decoration:underline;color:var(--color-canopy)}
.intro-quote{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;padding-block:80px;align-items:start}
.intro__photo{width:100%;height:280px;object-fit:cover;object-position:50% 34%;margin-bottom:20px}
.quote-form{padding:32px;background:var(--color-mist);border-top:4px solid var(--color-canopy);display:flex;flex-direction:column;gap:20px;scroll-margin-top:24px}
.quote-form h2{font-size:28px;line-height:36px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label,fieldset legend{font-weight:700;font-size:16px;line-height:26px}
.field--contact label{font-size:14px;line-height:20px}
.field input,.field select,.field textarea{width:100%;min-height:52px;border:1px solid var(--color-slate);border-radius:0;background:white;padding:10px 16px;color:var(--color-web-text)}
.field select{appearance:none;background-image:url('icons/chevron.svg');background-repeat:no-repeat;background-position:right 16px center;background-size:20px;padding-right:44px}
.field input::placeholder{color:var(--color-slate);opacity:1}
.field textarea{resize:vertical;min-height:100px}
.quote-form fieldset{border:0;padding:0;margin:0;min-width:0}
.quote-form legend{padding:0 0 8px}
.radio-option{display:flex;align-items:center;gap:12px;min-height:40px;cursor:pointer}
.radio-option input{width:18px;height:18px;margin:0;accent-color:var(--color-canopy);flex-shrink:0}
.submit-button,.button{display:flex;align-items:center;justify-content:center;min-height:52px;padding:12px 20px;border:0;border-radius:0;background:var(--color-canopy);color:white;font-weight:700;text-decoration:none}
.submit-button:hover,.button:hover{background:var(--color-ink);color:white}
.submit-button:disabled{opacity:.7;cursor:wait}
.form-status:empty{display:none}
.form-status{font-size:16px;line-height:25px}
.form-status.is-error{color:var(--color-error)}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.photo-band{padding-block:44px;background:var(--color-yellow)}
.photo-band__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.photo-band img{width:100%;height:320px;object-fit:cover}
.photo-band__arborist{object-position:50% 45%}
.photo-band__concept{object-position:50% 20%}
.photo-band__stump{object-position:50% 75%}
.content-section{padding-block:24px;scroll-margin-top:24px}
.content-section .container{display:flex;flex-direction:column;gap:20px}
.prose{display:flex;flex-direction:column;gap:20px}
.prose p+p{margin-top:0}
.prose ul{display:flex;flex-direction:column;gap:4px}
.prose h3{margin:0}
.price-table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.6}
.price-table caption{text-align:left;font-weight:700;margin-bottom:12px}
.price-table th,.price-table td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--color-border);vertical-align:top;overflow-wrap:anywhere}
.price-table thead th{border-top:2px solid var(--color-canopy);border-bottom:2px solid var(--color-border)}
.price-table tbody th{font-weight:400}
.price-table th:first-child{width:60%}
.hedge-stump{padding-block:24px}
.hedge-stump .container{display:flex;flex-direction:column;gap:48px}
.hedge-stump section{display:flex;flex-direction:column;gap:20px;scroll-margin-top:24px}
.benefits{padding-block:80px}
.benefits h2{text-align:center;font-size:40px;line-height:48px;color:var(--color-ink);margin-bottom:24px}
.benefits-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.benefit{display:flex;flex-direction:column;gap:24px;padding:32px;min-height:280px;border-radius:8px;background:var(--color-mist)}
.benefit svg{width:48px;height:48px;color:var(--color-canopy)}
.benefit__text{display:flex;flex-direction:column;gap:12px}
.benefit h3{font-size:22px;line-height:30px;color:var(--color-ink)}
.benefit p{font-size:18px;line-height:28px}
.benefits__contact{padding-top:48px;text-align:center;color:var(--color-ink)}
.benefits__contact h3{font-size:22px;line-height:30px;color:inherit;margin-bottom:12px}
.faq-section{background:var(--color-mist);padding-block:80px}
.faq-section h2{font-size:40px;line-height:48px;letter-spacing:-.025em;color:var(--color-ink);margin-bottom:32px}
.faq-section__intro{font-size:18px;line-height:28px;margin-bottom:32px}
.faq-item{padding-block:24px;border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:16px}
.faq-item+.faq-item{margin-top:32px}
.faq-item h3{font-size:20px;line-height:28px;color:var(--color-ink)}
.faq-item p{font-size:18px;line-height:28px}
.call-strip{display:flex;flex-direction:column;align-items:center;gap:38px;min-height:246px;padding:42px 24px 48px;background:var(--color-canopy);color:white;text-align:center}
.call-strip p{font-size:16px;line-height:20px}
.call-strip__link{font-size:48px;line-height:58px;font-weight:700;color:var(--color-yellow);text-decoration-thickness:3px;text-underline-offset:6px}
.site-footer{background:var(--color-mist);color:var(--color-ink)}
.footer-grid{display:grid;grid-template-columns:210px 210px 210px minmax(0,1fr);gap:50px;padding-top:57.6px;padding-bottom:70px;align-items:start}
.footer-brand .brand__image{width:198px}
.footer-about p{margin-top:56px}
.footer-about .business-contact,.footer-about .business-coverage{margin-top:18px}
.business-contact a{overflow-wrap:anywhere}
.business-coverage,.hours-note{font-size:14px;line-height:1.6}
.hours-note{margin-top:12px}
.contact-details{margin-top:28px}
.contact-details table{width:100%;border-collapse:collapse;margin-block:16px;font-size:16px}
.contact-details caption{text-align:left;font-weight:700;margin-bottom:8px}
.contact-details th,.contact-details td{text-align:left;padding:8px 0;border-bottom:1px solid var(--color-border);font-weight:400}
.contact-details td{text-align:right;white-space:nowrap}
.footer-heading{font-size:24px;line-height:36px;font-weight:400;color:var(--color-ink);margin-bottom:24px}
.footer-links{list-style:none;padding:0}
.footer-links a{text-decoration:none}
.footer-links a:hover{text-decoration:underline}
.footer-links .sub-link{padding-left:16px}
.footer-map{display:block;width:210px}
.footer-map img{height:220px;width:210px;object-fit:cover;object-position:50%}
.map-attribution{display:block;font-size:12px;line-height:18px;color:var(--color-ink);padding-top:4px}
.opening-hours h2{margin-bottom:8px}
.opening-hours table{width:100%;border-collapse:collapse;font-size:17px;line-height:29px}
.opening-hours th,.opening-hours td{padding:16px 0;font-weight:400}
.opening-hours th{text-align:left;width:57%}
.opening-hours td{text-align:right;white-space:nowrap}
.opening-hours tr:first-child{border-bottom:1px solid var(--color-border)}
.footer-bar{background:var(--color-ink);color:white;min-height:120px;padding-block:20px}
.footer-bar__inner{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.footer-bar a{color:var(--color-yellow)}
.footer-legal{display:flex;align-items:center;gap:8px}
.footer-legal details{position:relative}
.footer-legal summary{color:var(--color-yellow);cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:4px}
.footer-legal summary::-webkit-details-marker{display:none}
.legal-panel{position:absolute;bottom:calc(100% + 16px);left:0;width:min(420px,calc(100vw - 48px));padding:24px;background:white;border:1px solid var(--color-border);color:var(--color-ink);z-index:25;font-size:16px;line-height:26px;box-shadow:0 8px 30px #102e2320}
.legal-panel h3{font-size:20px;line-height:28px;margin-bottom:12px}
.sitemap-panel{list-style:none;padding:0}
.sitemap-panel a{color:var(--color-canopy)}
.error-page{min-height:65vh;display:grid;place-items:center;text-align:center;padding-block:80px}
.error-page .container{max-width:640px}
.error-page h1{margin-bottom:24px}
.error-page .button{display:inline-flex;margin-top:24px}
.thank-you-page{min-height:55vh;display:grid;place-items:center;text-align:center;padding-block:80px}
.thank-you-page .container{max-width:720px}
.thank-you-page h1{margin-bottom:24px}
.thank-you-page .button{display:inline-flex;margin-top:24px}
.thank-you-links{margin-top:24px}
@media(min-width:1440px){.container{width:1200px}}
@media(max-width:1199px){
  .container{width:calc(100% - 64px)}
  .intro-quote{gap:40px}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 56px}
  .footer-map,.footer-map img{width:100%;max-width:360px}
  .footer-map img{height:220px}
  .footer-about p{margin-top:32px}
  .opening-hours{width:100%}
}
@media(max-width:767px){
  :root{scroll-padding-top:16px}
  .container{width:calc(100% - 40px)}
  h1{font-size:32px;line-height:41px}
  h2{font-size:27px;line-height:36px}
  h3{font-size:21px;line-height:30px}
  .site-header__inner{position:relative;min-height:104px;padding-block:20px;gap:16px}
  .site-header .brand__image{width:166px}
  .header-right{gap:10px;align-items:flex-end}
  .header-phone{font-size:18px;line-height:25px}
  .header-phone--quote{font-size:15px;line-height:22px}
  .nav-toggle{display:flex;font-size:15px;line-height:22px;padding:7px 10px}
  .site-nav{position:absolute;top:calc(100% - 2px);left:-20px;width:calc(100% + 40px);z-index:30;padding:12px 20px 20px;background:white;border-bottom:1px solid var(--color-border)}
  .nav-list{flex-direction:column;align-items:stretch;gap:0}
  .nav-list>li>a,.services-toggle{width:100%;padding:12px 0;font-size:17px;line-height:26px;justify-content:space-between}
  .services-menu{position:static;width:100%;box-shadow:none;border:0;padding:0 0 8px 16px}
  .services-menu a{min-height:44px;padding:8px 0}
  .hero{min-height:400px;padding-block:56px}
  .hero__panel{gap:22px;padding:28px 20px}
  .hero h1 br{display:none}
  .hero__action{font-size:29px;line-height:38px}
  .hero__action--quote{font-size:23px;line-height:32px}
  .service-overview{padding-top:32px;padding-bottom:8px}
  .intro-quote{grid-template-columns:1fr;gap:36px;padding-block:40px}
  .intro__photo{height:260px}
  .quote-form{padding:24px;gap:18px}
  .quote-form h2{font-size:25px;line-height:34px}
  .photo-band{padding-block:24px}
  .photo-band__inner{gap:16px}
  .photo-band img{height:220px}
  .content-section{padding-block:28px}
  .hedge-stump{padding-block:28px}
  .hedge-stump .container{gap:40px}
  .benefits{padding-block:48px}
  .benefits h2,.faq-section h2{font-size:30px;line-height:39px}
  .benefits-grid{grid-template-columns:1fr;gap:16px}
  .benefit{min-height:0;padding:28px;gap:20px}
  .benefit h3{font-size:21px;line-height:29px}
  .benefits__contact{padding-top:36px}
  .faq-section{padding-block:48px}
  .faq-item+.faq-item{margin-top:16px}
  .call-strip{gap:28px;min-height:210px;padding-block:38px}
  .call-strip__link{font-size:36px;line-height:46px}
  .footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px 24px;padding-block:40px}
  .footer-about{grid-column:1/-1}
  .footer-about p{margin-top:24px}
  .footer-heading{font-size:22px;line-height:32px;margin-bottom:16px}
  .footer-map{width:100%;max-width:none}
  .footer-map img{width:100%;height:220px}
  .opening-hours{grid-column:1/-1}
  .opening-hours th{width:auto}
  .footer-bar{min-height:0;padding-block:24px;font-size:15px;line-height:26px}
  .footer-bar__inner{flex-direction:column;gap:8px}
  .legal-panel{position:fixed;bottom:20px;left:20px;max-height:70vh;overflow:auto}
}
@media(max-width:374px){
  .site-header .brand__image{width:140px}
  .site-header__inner{gap:10px}
  .header-phone{font-size:16px}
  .header-phone--quote{font-size:13px}
  .hero h1{font-size:29px;line-height:38px}
  .quote-form{padding:20px}
  .photo-band__inner{grid-template-columns:1fr}
  .photo-band img{height:230px}
  .footer-grid{grid-template-columns:1fr}
  .footer-map{max-width:100%}
}
/* Supporting pages share the approved homepage's fonts, colours and spacing. */
.nav-list a[aria-current=page]{color:var(--color-canopy);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.breadcrumbs{padding-block:20px;font-size:14px;line-height:24px}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:6px 12px;list-style:none;margin:0;padding:0}
.breadcrumbs li+li::before{content:'/';color:var(--color-slate);margin-right:12px}
.breadcrumbs [aria-current]{color:var(--color-slate)}
.intro-quote--inner{padding-bottom:56px}
.intro-quote--inner .intro h2{margin-bottom:20px}
.intro-quote--inner .intro__photo{height:260px}
.intro-quote--inner .intro__photo[src$="arborist-concept.webp"],.service-row__image[src$="arborist-concept.webp"]{object-position:50% 20%}
.intro-quote--inner .form-availability{font-size:15px;line-height:24px}
.image-credit{font-size:12px;line-height:18px;margin-top:-12px;margin-bottom:20px}
.page-contents{padding:24px 32px;margin-bottom:48px;background:var(--color-mist);border-left:4px solid var(--color-canopy)}
.page-contents>p{font-weight:700;margin-bottom:8px;color:var(--color-ink)}
.page-contents ul{display:flex;flex-wrap:wrap;gap:8px 32px;padding:0;list-style:none;font-size:15px;line-height:24px}
.service-catalogue{padding-bottom:56px}
.service-catalogue>h2{margin-bottom:20px}
.service-row{display:grid;grid-template-columns:minmax(240px,360px) minmax(0,1fr);gap:32px;padding-block:32px;border-bottom:1px solid var(--color-border);align-items:center}
.service-row__image{width:100%;height:240px;object-fit:cover;object-position:50% 40%}
.service-row h3{margin-bottom:12px}
.service-row h3 a{text-decoration:none}
.service-row h3 a:hover{text-decoration:underline}
.service-row p{max-width:800px;margin-bottom:12px}
.text-link,.page-link{font-weight:700}
.inner-section{padding-block:36px}
.reading-column{max-width:920px}
.reading-column>h2{margin-bottom:24px}
.related-pages{padding-block:56px}
.related-pages h2{font-size:24px;line-height:34px;margin-bottom:24px}
.related-pages ul{display:flex;flex-wrap:wrap;gap:16px 40px;padding:0;list-style:none;font-weight:700}
.legal-panel{max-height:70vh;overflow:auto}
@media(max-width:767px){
  .breadcrumbs{padding-block:14px;font-size:13px;line-height:22px}
  .intro-quote--inner{padding-block:36px}
  .page-contents{padding:20px;margin-bottom:32px}
  .page-contents ul{flex-direction:column;gap:12px}
  .service-catalogue{padding-bottom:36px}
  .service-row{grid-template-columns:minmax(0,1fr);gap:20px;padding-block:28px}
  .service-row__image{height:230px}
  .service-row h3{font-size:21px;line-height:30px}
  .inner-section{padding-block:28px}
  .related-pages{padding-block:40px}
  .related-pages ul{flex-direction:column;gap:16px}
}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
