/* Good Growing V2 — approved composition, extended for the working HE&L app. */
/* Self-hosted Latin fonts. OFL licences are in /assets/fonts/. */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/dm-sans-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/anton-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Shared reset and accessible controls for the standalone Good Growing reference. */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; }
figure { margin: 0; }
img { max-width: 100%; height: auto; display: block; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 5px;
}
button:disabled { cursor: default; }
.skip-link {
  position: absolute; left: 16px; top: -100px;
  padding: 14px 20px; background: #fff; color: #111;
  z-index: 200; font: 16px 'DM Sans', sans-serif;
}
.skip-link:focus { top: 16px; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
[hidden] { display: none !important; }
summary { scroll-margin-top: 25px; }
a, button, input, textarea, select { touch-action: manipulation; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

:root{--gg-green:var(--pal-forest,#07563f);--gg-yellow:var(--pal-accent,#f5d64e);--gg-ink:var(--pal-ink,#20251e);--gg-cream:var(--pal-paper,#f7f4df);--gg-pink:var(--pal-rose,#e9adc0)}body.good-growing{background:var(--gg-green);color:var(--gg-cream);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}.gg-top{overflow:hidden}.gg-wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}.gg-brand{display:flex;align-items:center;gap:15px;text-decoration:none;line-height:1.08}.gg-brand>span:last-child{font-size:12px;font-weight:700;letter-spacing:.08em}.gg-brand-mark{font-family:Anton,sans-serif;font-size:45px;letter-spacing:-.045em;color:var(--gg-yellow);line-height:1}.gg-brand-mark>span{font-family:'DM Sans',sans-serif;font-size:26px;display:inline-block;transform:translate(-2px,-15px);margin-right:-7px}.gg-header{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:103px;border-bottom:0}.gg-navigation{display:flex;gap:32px;margin-left:auto}.gg-navigation a,.gg-header-call{font-size:13px;font-weight:600;text-decoration:none;display:flex;align-items:center;min-height:44px}.gg-navigation a:hover{color:var(--gg-yellow)}.gg-header-call{gap:30px;padding:10px 20px;border:1px solid var(--pal-paper-70,#ffffff70);border-radius:100px;margin-left:30px}.gg-header-call:hover{background:var(--gg-yellow);color:var(--gg-ink);border-color:var(--gg-yellow)}.gg-menu-toggle{display:none}.gg-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;line-height:1.6;margin:0 0 23px}.gg-dot{height:7px;width:7px;background:var(--gg-yellow);border-radius:50%;display:inline-block;margin-right:6px;vertical-align:1px}.gg-hero{position:relative;display:grid;grid-template-columns:1fr 1fr;padding-top:58px;padding-bottom:0;min-height:754px}.gg-hero-copy{position:relative;z-index:3;padding-bottom:48px}.gg-hero h1{font-family:Anton,sans-serif;font-size:clamp(74px,7.6vw,106px);font-weight:400;line-height:.99;letter-spacing:-.022em;margin:0;max-width:650px}.gg-hero h1 span{color:var(--gg-yellow)}.gg-hero-intro{font-size:16px;line-height:1.6;margin:26px 0 24px;max-width:390px}.gg-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:51px;padding:13px 22px;border-radius:50px;font-size:13px;font-weight:700;text-decoration:none;transition:transform .18s,background .18s}.gg-button:hover{transform:translateY(-3px)}.gg-button-yellow{background:var(--gg-yellow);color:var(--gg-ink)}.gg-button-cream{background:var(--gg-cream);color:var(--gg-ink)}.gg-button>span{font-size:21px;line-height:1}.gg-hero-art{position:relative;min-width:0;align-self:stretch;margin-left:-10px;padding-top:10px;padding-bottom:78px}.gg-hero-photo{position:relative;isolation:isolate;width:105%;height:560px;transform:rotate(7deg);border-radius:44% 49% 46% 13%;overflow:hidden}.gg-hero-photo::after{content:'';position:absolute;inset:0;box-shadow:inset 0 -40px 70px #001d1230;pointer-events:none}.gg-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 66%;transform:rotate(-7deg) scale(1.16)}.gg-hero-circle{width:148px;height:148px;border-radius:50%;background:var(--gg-yellow);color:var(--gg-green);position:absolute;right:0;top:-7px;z-index:4;transform:rotate(12deg);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;border:1px solid var(--gg-yellow)}.gg-hero-circle>span:first-child{font-size:12px;letter-spacing:.14em;font-weight:700}.gg-hero-circle>span:last-child{font-size:12px;letter-spacing:.1em;font-weight:700;margin-top:7px}.gg-hero-circle strong{font-family:Anton,sans-serif;font-size:31px;font-weight:400;line-height:1.02;margin-top:10px}.gg-hero-art figcaption{position:absolute;bottom:45px;right:6%;font-size:13px;line-height:1.4;transform:rotate(-5deg);color:var(--gg-cream);padding:20px 24px;background:var(--gg-ink);border-radius:4px}.gg-hero-art figcaption>span{position:absolute;left:-33px;top:2px;font-size:44px;transform:rotate(25deg);color:var(--gg-yellow)}.gg-hero-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;font-weight:600;letter-spacing:.12em;border-top:1px solid var(--pal-paper-30,#ffffff30);padding:21px 0 26px}.gg-hero-foot a{font-size:12px;letter-spacing:0;text-decoration:none;min-height:32px;display:flex;align-items:center;gap:18px}.gg-hero-foot>span:first-child>span{margin-left:10px;font-size:14px}.gg-hello{position:relative;background:var(--gg-yellow);color:var(--gg-ink);padding:98px 0 112px;border-radius:75px 0 105px 0}.gg-hello-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px}.gg-hello-photo{position:relative;width:100%;max-width:470px;transform:rotate(-5deg);padding:13px 13px 46px;background:var(--gg-cream);box-shadow:0 15px 0 var(--pal-ink-0e,#20251e0e)}.gg-hello-photo img{width:100%;height:380px;object-fit:cover;object-position:50% 70%}.gg-hello-photo figcaption{position:absolute;bottom:15px;left:24px;font-size:12px;font-weight:700;letter-spacing:.12em}.gg-hello h2,.gg-section-title h2,.gg-lawn h2,.gg-how h2,.gg-faq h2,.gg-contact h2{font-family:Anton,sans-serif;font-weight:400;font-size:clamp(40px,4.5vw,65px);line-height:1.04;letter-spacing:-.02em;margin:0 0 28px}.gg-hello-copy>p:not(.gg-eyebrow){max-width:440px;font-size:15px;margin:0 0 16px}.gg-text-link{display:inline-flex;align-items:center;gap:24px;min-height:44px;font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;margin-top:8px}.gg-ribbon{position:absolute;bottom:-20px;left:-2%;width:104%;display:flex;justify-content:space-around;align-items:center;gap:50px;background:var(--gg-ink);color:var(--gg-cream);transform:rotate(-2deg);white-space:nowrap;padding:14px 24px;font-family:Anton,sans-serif;font-size:19px;letter-spacing:.015em;z-index:1}.gg-ribbon span:nth-child(even){color:var(--gg-yellow);font-size:25px}.gg-services{padding-top:115px;padding-bottom:90px}.gg-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:35px}.gg-section-title h2{font-size:clamp(48px,5.5vw,76px);margin:0}.gg-section-title h2>span{color:var(--gg-yellow)}.gg-section-title>p{font-size:15px;margin-bottom:4px;margin-right:60px;line-height:1.65}.gg-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;border:0;padding:0;margin:0;min-width:0}.gg-service{background:var(--gg-cream);color:var(--gg-ink);border-radius:25px 25px 8px 8px;padding:25px 22px 0;cursor:pointer;position:relative;display:flex;flex-direction:column;transition:background .15s,transform .15s;min-width:0}.gg-service:nth-of-type(2){background:var(--pal-paper,#e9e8c9)}.gg-service:nth-of-type(3){background:var(--pal-accent,#d7e5d7)}.gg-service:nth-of-type(4){background:var(--gg-pink)}.gg-service:hover{transform:translateY(-5px)}.gg-service input{position:absolute;opacity:0;width:24px;height:24px;top:24px;right:22px;margin:0}.gg-service:has(input:focus-visible){outline:3px solid var(--gg-yellow);outline-offset:6px}.gg-service:has(input:checked){background:var(--gg-yellow);box-shadow:inset 0 0 0 2px var(--gg-cream)}.gg-service-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;letter-spacing:.055em;font-weight:700;margin-bottom:28px;min-height:23px}.gg-check{width:22px;height:22px;border:1px solid currentColor;flex-shrink:0;border-radius:50%;position:relative}.gg-check::after{content:'';position:absolute;inset:3px;background:currentColor;mask:url('/assets/icons/plus.svg') center/contain no-repeat}.gg-service input:checked~.gg-service-top .gg-check{background:var(--gg-ink);color:var(--gg-yellow)}.gg-service input:checked~.gg-service-top .gg-check::after{content:'';mask-image:url('/assets/icons/check.svg')}.gg-service>strong{font-family:Anton,sans-serif;font-size:clamp(25px,2.5vw,35px);font-weight:400;line-height:1.07;letter-spacing:-.01em;margin:0 0 23px}.gg-service-description{font-size:12px;line-height:1.6;padding-bottom:25px;flex:1}.gg-service-bottom{border-top:1px solid var(--pal-ink-45,#20251e45);padding:15px 0;display:flex;justify-content:space-between;gap:10px;font-size:12px;font-weight:600}.gg-service-bottom>span{font-size:18px;line-height:1}.gg-list-enquiry{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:30px}.gg-list-enquiry p{font-size:13px;margin:0 0 3px}.gg-list-enquiry small{font-size:12px;color:var(--pal-rose,#d3e4d8)}.gg-list-enquiry .gg-button{flex-shrink:0}.gg-lawn{background:var(--gg-ink);padding:90px 0 35px;position:relative;border-radius:0 90px 0 0}.gg-lawn-inner{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.gg-lawn h2{font-size:clamp(48px,5.2vw,73px)}.gg-lawn h2>span{color:var(--gg-yellow)}.gg-lawn-copy>p:not(.gg-eyebrow){max-width:390px;font-size:14px;margin-bottom:17px}.gg-lawn-copy .gg-button{margin-top:10px}.gg-lawn-photo{position:relative;padding-bottom:35px}.gg-lawn-photo img{height:530px;width:100%;object-fit:cover;object-position:50% 62%;border-radius:240px 240px 8px 8px}.gg-lawn-photo figcaption{position:absolute;bottom:0;left:0;font-size:12px;letter-spacing:.1em}.gg-lawn-words{display:flex;justify-content:space-between;gap:20px;font-family:Anton,sans-serif;font-size:clamp(18px,3.6vw,48px);line-height:1.1;border-top:1px solid var(--pal-paper-30,#ffffff30);padding-top:32px;margin-top:60px;color:var(--gg-cream)}.gg-lawn-words>span:nth-child(even){color:var(--gg-yellow);font-size:.8em;align-self:center}.gg-how{padding-top:95px;padding-bottom:100px;display:grid;grid-template-columns:1fr 1fr;gap:85px}.gg-how h2{font-size:clamp(42px,4.7vw,64px)}.gg-how h2>span{color:var(--gg-yellow)}.gg-how-intro{font-size:15px}.gg-steps{list-style:none;padding:0;margin:0}.gg-steps li{display:grid;grid-template-columns:45px 1fr;gap:24px;padding:25px 0;border-top:1px solid var(--pal-paper-40,#ffffff40)}.gg-steps li:first-child{padding-top:6px;border-top:0}.gg-steps li>span{font-family:Anton,sans-serif;font-size:30px;color:var(--gg-yellow);line-height:1.2}.gg-steps h3{font-size:19px;font-weight:600;line-height:1.25;margin:0 0 10px}.gg-steps p{font-size:13px;margin:0;max-width:390px}.gg-faq{background:var(--gg-yellow);color:var(--gg-ink);border-radius:80px 0 90px 0;padding:90px 0}.gg-faq-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:80px}.gg-faq h2{font-size:clamp(45px,5.4vw,72px);margin-bottom:25px}.gg-faq p{font-size:14px}.gg-questions details{border-bottom:1px solid var(--pal-ink-60,#20251e60);padding:0}.gg-questions details:first-child{border-top:1px solid var(--pal-ink-60,#20251e60)}.gg-questions summary{list-style:none;position:relative;font-size:15px;font-weight:700;min-height:76px;display:flex;align-items:center;padding:20px 35px 20px 0;cursor:pointer;line-height:1.4}.gg-questions summary::-webkit-details-marker{display:none}.gg-questions summary::after{content:'';position:absolute;right:0;width:24px;height:24px;background:currentColor;mask:url('/assets/icons/plus.svg') center/contain no-repeat}.gg-questions details[open] summary::after{content:'';transform:rotate(45deg)}.gg-questions details>p{margin:0;padding:0 25px 24px 0;font-size:13px;max-width:470px}.gg-contact{padding-top:100px;padding-bottom:80px;display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.gg-contact h2{font-size:clamp(64px,7vw,95px);margin:0}.gg-contact h2>span{color:var(--gg-yellow)}.gg-contact-details>span{font-size:12px;letter-spacing:.1em;font-weight:700}.gg-phone{display:block;font-family:Anton,sans-serif;font-size:clamp(25px,3.3vw,45px);line-height:1.2;text-decoration:none;margin-top:14px;white-space:nowrap}.gg-phone>span{color:var(--gg-yellow);font-family:'DM Sans',sans-serif;font-size:.75em}.gg-contact-details p{font-size:13px;margin:20px 0}.gg-footer{border-top:1px solid var(--pal-paper-30,#ffffff30);padding-top:27px;padding-bottom:24px}.gg-footer>div{display:flex;justify-content:space-between;align-items:center}.gg-footer>div>a:last-child{font-size:12px;text-decoration:none;min-height:44px;display:flex;align-items:center;gap:20px}.gg-footer .gg-brand-mark{font-size:34px}.gg-footer .gg-brand-mark>span{font-size:20px;transform:translate(-1px,-10px)}.gg-footer .gg-brand>span:last-child{font-size:12px}.gg-footer>p{font-size:12px;line-height:1.5;max-width:700px;margin-top:25px;color:var(--pal-mutedDark,#d0dfd0)}
@media(min-width:1600px){.gg-hero{min-height:810px}.gg-hero h1{font-size:116px}.gg-hero-photo{height:620px}}
@media(max-width:1100px){.gg-wrap{width:calc(100% - 64px)}.gg-header{gap:20px}.gg-header-call{margin-left:0}.gg-navigation{gap:22px}.gg-hero{min-height:680px;grid-template-columns:1.08fr 1fr}.gg-hero h1{font-size:clamp(70px,8.1vw,95px)}.gg-hero-photo{height:485px}.gg-hero-circle{width:126px;height:126px;right:-8px}.gg-hero-circle strong{font-size:27px}.gg-hero-circle>span:first-child{font-size:12px}.gg-hero-circle>span:last-child{font-size:12px}.gg-hero-art figcaption{bottom:70px;right:0;font-size:12px}.gg-hello-inner,.gg-lawn-inner,.gg-how,.gg-faq-inner,.gg-contact{gap:55px}.gg-hello-photo img{height:340px}.gg-service-grid{gap:12px}.gg-service{padding:22px 16px 0}.gg-service-top{font-size:12px;gap:7px;margin-bottom:24px}.gg-check{width:20px;height:20px}.gg-service>strong{font-size:29px}.gg-service-description{font-size:12px}.gg-service-bottom{font-size:12px}.gg-section-title>p{margin-right:0}.gg-lawn-photo img{height:490px}.gg-list-enquiry{gap:20px}.gg-list-enquiry .gg-button{font-size:12px;padding:12px 18px;gap:17px}}
@media(max-width:800px){.gg-wrap{width:calc(100% - 48px)}.gg-header{min-height:89px;flex-wrap:wrap;gap:15px;position:relative;padding-block:17px}.gg-brand-mark{font-size:40px}.gg-brand>span:last-child{font-size:12px}.gg-navigation{display:none;order:4;width:100%;margin:0;justify-content:space-around;border-top:1px solid var(--pal-paper-35,#ffffff35);padding-top:8px}.gg-navigation.is-open{display:flex}.gg-menu-toggle{display:flex;align-items:center;gap:12px;min-height:44px;border:0;background:transparent;color:var(--gg-cream);font-size:12px;margin-left:auto;padding:0}.gg-menu-toggle>span{font-size:20px}.gg-header-call{font-size:12px;gap:12px;padding:8px 14px;min-height:40px}.gg-hero{padding-top:40px;grid-template-columns:1.05fr 1fr;min-height:605px}.gg-hero .gg-eyebrow{font-size:12px;letter-spacing:.09em}.gg-hero h1{font-size:clamp(53px,8.3vw,70px)}.gg-hero-intro{font-size:13px;line-height:1.55;margin-top:20px}.gg-hero-copy .gg-button{font-size:12px;padding:12px 17px;gap:15px;min-height:46px}.gg-hero-photo{height:405px;width:114%;margin-top:35px;margin-left:-2%}.gg-hero-circle{top:10px;width:112px;height:112px;right:-4px}.gg-hero-circle strong{font-size:24px}.gg-hero-art figcaption{bottom:70px;font-size:12px;padding:13px 16px;right:0}.gg-hero-foot{font-size:12px;gap:14px;padding-block:17px}.gg-hero-foot>span:nth-child(2){display:none}.gg-hero-foot a{font-size:12px}.gg-hello{padding:75px 0 90px;border-radius:45px 0 65px 0}.gg-hello-inner{gap:40px}.gg-hello-photo{padding:10px 10px 36px}.gg-hello-photo img{height:310px}.gg-hello-photo figcaption{font-size:12px;bottom:10px;left:15px}.gg-hello h2{font-size:43px}.gg-hello .gg-eyebrow{font-size:12px}.gg-hello-copy>p:not(.gg-eyebrow){font-size:12px}.gg-text-link{font-size:12px;gap:12px}.gg-ribbon{font-size:15px;gap:30px;padding:11px 20px}.gg-services{padding-top:90px;padding-bottom:70px}.gg-section-title{gap:25px;align-items:flex-start}.gg-section-title h2{font-size:51px}.gg-section-title>p{font-size:12px;padding-top:37px}.gg-section-title .gg-eyebrow{font-size:12px}.gg-service-grid{grid-template-columns:repeat(2,1fr);gap:18px}.gg-service{padding:24px 23px 0}.gg-service-top{font-size:12px;margin-bottom:25px}.gg-service>strong{font-size:37px}.gg-service-description{font-size:13px}.gg-service-bottom{font-size:12px}.gg-list-enquiry{align-items:flex-start;flex-direction:column;gap:18px}.gg-list-enquiry p{font-size:12px}.gg-lawn{padding-top:65px;border-radius:0 65px 0 0}.gg-lawn-inner{gap:40px}.gg-lawn h2{font-size:46px}.gg-lawn .gg-eyebrow{font-size:12px}.gg-lawn-copy>p:not(.gg-eyebrow){font-size:12px}.gg-lawn-copy .gg-button{font-size:12px;gap:15px;padding:12px 16px}.gg-lawn-photo img{height:430px}.gg-lawn-photo figcaption{font-size:12px}.gg-lawn-words{gap:12px;font-size:26px;margin-top:45px;padding-top:25px}.gg-how{gap:38px;padding-block:75px}.gg-how .gg-eyebrow{font-size:12px}.gg-how h2{font-size:44px}.gg-how-intro{font-size:13px}.gg-steps li{gap:16px;grid-template-columns:32px 1fr;padding:20px 0}.gg-steps li>span{font-size:25px}.gg-steps h3{font-size:16px}.gg-steps p{font-size:12px}.gg-faq{padding-block:65px;border-radius:50px 0 65px 0}.gg-faq-inner{gap:35px;grid-template-columns:.9fr 1.1fr}.gg-faq .gg-eyebrow{font-size:12px}.gg-faq h2{font-size:47px}.gg-faq p{font-size:12px}.gg-questions summary{font-size:13px;min-height:75px}.gg-questions details>p{font-size:12px}.gg-contact{gap:40px;padding-top:75px;padding-bottom:60px}.gg-contact .gg-eyebrow{font-size:12px}.gg-contact h2{font-size:63px}.gg-contact-details>span{font-size:12px}.gg-phone{font-size:30px}.gg-contact-details p{font-size:12px}.gg-contact-details .gg-button{font-size:12px;gap:16px;padding:12px 17px}.gg-footer>p{font-size:12px}}
@media(max-width:560px){.gg-wrap{width:calc(100% - 40px)}.gg-header{min-height:80px;gap:13px}.gg-brand{gap:10px}.gg-brand-mark{font-size:36px}.gg-brand-mark>span{font-size:21px;transform:translate(-2px,-12px)}.gg-brand>span:last-child{font-size:12px}.gg-header-call{font-size:12px;gap:10px;padding:7px 12px;min-height:40px}.gg-menu-toggle{font-size:12px;gap:7px}.gg-menu-toggle>span{font-size:18px}.gg-navigation{gap:10px;justify-content:space-between}.gg-navigation a{font-size:12px}.gg-hero{display:block;padding-top:35px;min-height:0}.gg-hero-copy{padding-bottom:24px}.gg-hero .gg-eyebrow{font-size:12px;margin-bottom:20px}.gg-hero h1{font-size:clamp(66px,17vw,94px);line-height:1.01;letter-spacing:-.02em}.gg-hero h1 span{display:block}.gg-hero-intro{font-size:14px;margin-top:23px;margin-bottom:20px;line-height:1.5}.gg-hero-copy .gg-button{font-size:12px;min-height:48px;gap:20px}.gg-hero-art{padding:0 0 24px;margin:0 0 22px;height:335px;max-width:420px}.gg-hero-photo{margin:15px 0 0 0;width:95%;height:295px;transform:rotate(-3deg);border-radius:47% 48% 16% 45%}.gg-hero-photo img{transform:rotate(3deg) scale(1.11);object-position:50% 72%}.gg-hero-circle{width:105px;height:105px;right:0;top:-2px;transform:rotate(8deg)}.gg-hero-circle strong{font-size:22px;margin-top:7px}.gg-hero-circle>span:first-child{font-size:12px}.gg-hero-circle>span:last-child{font-size:12px;margin-top:6px}.gg-hero-art figcaption{bottom:0;right:0;font-size:12px;padding:13px 17px;transform:rotate(-4deg)}.gg-hero-art figcaption>span{font-size:33px;left:-28px}.gg-hero-foot{font-size:12px;padding:12px 0 18px}.gg-hero-foot a{font-size:12px;gap:12px}.gg-hello{padding:62px 0 80px;border-radius:38px 0 60px 0}.gg-hello-inner{display:flex;flex-direction:column-reverse;gap:35px;align-items:stretch}.gg-hello h2{font-size:57px;line-height:1.03}.gg-hello .gg-eyebrow{font-size:12px;margin-bottom:20px}.gg-hello-copy>p:not(.gg-eyebrow){font-size:14px;max-width:400px}.gg-text-link{font-size:12px}.gg-hello-photo{width:85%;max-width:350px;align-self:center;transform:rotate(-5deg)}.gg-hello-photo img{height:290px}.gg-hello-photo figcaption{font-size:12px}.gg-ribbon{gap:25px;font-size:15px;padding:12px 20px;bottom:-15px;width:120%;left:-10%}.gg-ribbon span:nth-last-child(-n+2){display:none}.gg-services{padding-top:80px;padding-bottom:65px}.gg-section-title{display:block;margin-bottom:28px}.gg-section-title .gg-eyebrow{font-size:12px;margin-bottom:19px}.gg-section-title h2{font-size:58px;line-height:1.02}.gg-section-title>p{font-size:13px;padding:0;margin-top:23px;line-height:1.6}.gg-section-title>p br{display:none}.gg-service-grid{grid-template-columns:1fr 1fr;gap:12px}.gg-service{padding:19px 14px 0;border-radius:20px 20px 6px 6px}.gg-service-top{font-size:12px;gap:7px;margin-bottom:20px;line-height:1.3;min-height:22px}.gg-check{width:19px;height:19px}.gg-check::after{font-size:17px}.gg-service>strong{font-size:clamp(23px,6.5vw,32px);margin-bottom:17px;line-height:1.1}.gg-service-description{font-size:12px;line-height:1.55;padding-bottom:18px}.gg-service-bottom{font-size:12px;gap:8px;line-height:1.5;padding:12px 0}.gg-service-bottom>span{font-size:15px;align-self:center}.gg-list-enquiry{margin-top:24px;gap:17px}.gg-list-enquiry p{font-size:12px}.gg-list-enquiry small{display:block;font-size:12px;margin-top:8px;line-height:1.5}.gg-list-enquiry .gg-button{font-size:12px;gap:15px;max-width:100%}.gg-lawn{padding-top:60px;border-radius:0 60px 0 0}.gg-lawn-inner{display:flex;flex-direction:column;align-items:stretch;gap:38px}.gg-lawn h2{font-size:59px;line-height:1.03}.gg-lawn-copy>p:not(.gg-eyebrow){font-size:14px}.gg-lawn-copy .gg-button{font-size:12px;min-height:49px;gap:22px}.gg-lawn-photo{width:87%;max-width:370px;margin-inline:auto;padding-bottom:28px}.gg-lawn-photo img{height:370px}.gg-lawn-photo figcaption{font-size:12px}.gg-lawn-words{font-size:17px;gap:8px;margin-top:30px;padding-top:25px;flex-wrap:wrap;justify-content:center}.gg-lawn-words>span:nth-child(even){font-size:15px}.gg-how{display:block;padding-top:65px;padding-bottom:65px}.gg-how .gg-eyebrow{font-size:12px;margin-bottom:20px}.gg-how h2{font-size:56px;line-height:1.05}.gg-how-intro{font-size:14px;margin-bottom:34px}.gg-steps li{padding:24px 0;gap:20px;grid-template-columns:35px 1fr}.gg-steps li:first-child{padding-top:0}.gg-steps li>span{font-size:29px}.gg-steps h3{font-size:18px}.gg-steps p{font-size:13px}.gg-steps li:last-child{padding-bottom:0}.gg-faq{padding-block:62px;border-radius:40px 0 60px 0}.gg-faq-inner{display:block}.gg-faq .gg-eyebrow{font-size:12px}.gg-faq h2{font-size:62px}.gg-faq p{font-size:14px}.gg-questions{margin-top:34px}.gg-questions summary{font-size:14px;min-height:79px}.gg-questions details>p{font-size:13px;padding-right:20px}.gg-contact{display:block;padding-top:65px;padding-bottom:50px}.gg-contact .gg-eyebrow{font-size:12px}.gg-contact h2{font-size:76px}.gg-contact-details{margin-top:37px}.gg-contact-details>span{font-size:12px}.gg-phone{font-size:38px;white-space:normal}.gg-contact-details p{font-size:13px;margin-block:18px}.gg-contact-details .gg-button{font-size:12px;min-height:49px;gap:25px}.gg-footer{padding-top:22px;padding-bottom:22px}.gg-footer>div>a:last-child{font-size:12px;gap:12px}.gg-footer>p{font-size:12px;margin-top:20px}}
@media(max-width:360px){.gg-wrap{width:calc(100% - 32px)}.gg-header{gap:10px}.gg-brand>span:last-child{font-size:12px}.gg-brand-mark{font-size:31px}.gg-brand-mark>span{font-size:19px;transform:translate(-1px,-10px)}.gg-header-call{gap:5px;font-size:12px;padding:7px 10px}.gg-menu-toggle{font-size:12px;gap:5px}.gg-hero h1{font-size:60px}.gg-hero .gg-eyebrow{font-size:12px;letter-spacing:.07em}.gg-hero-art{height:290px}.gg-hero-photo{height:255px}.gg-hero-circle{width:92px;height:92px}.gg-hero-circle strong{font-size:20px}.gg-hero-circle>span:first-child{font-size:12px}.gg-hero-circle>span:last-child{font-size:12px}.gg-hero-intro{font-size:13px}.gg-hello h2{font-size:50px}.gg-section-title h2{font-size:52px}.gg-service-grid{gap:10px}.gg-service{padding:17px 12px 0}.gg-service-top{font-size:12px;gap:5px}.gg-check{width:18px;height:18px}.gg-service>strong{font-size:24px}.gg-service-description{font-size:12px}.gg-service-bottom{font-size:12px}.gg-lawn h2{font-size:51px}.gg-lawn-words{font-size:14px;gap:7px}.gg-lawn-words>span:nth-child(even){font-size:12px}.gg-how h2{font-size:49px}.gg-faq h2{font-size:56px}.gg-contact h2{font-size:66px}.gg-phone{font-size:34px}}
@media(prefers-reduced-motion:reduce){.gg-button,.gg-service{transition:none}.gg-button:hover,.gg-service:hover{transform:none}}

/* Botanical artwork keeps its transparent silhouette. */
.gg-hero-photo{width:122%;height:620px;margin:-20px 0 0 -45px;transform:rotate(-4deg);border-radius:0;overflow:visible}.gg-hero-photo::after{display:none}.gg-hero-photo img{object-fit:contain;object-position:center;transform:none}.gg-hero-art figcaption{bottom:50px}.gg-hero-circle{right:0;top:5px}
@media(min-width:1600px){.gg-hero-photo{height:670px;margin-top:-24px}}
@media(max-width:1100px){.gg-hero-photo{height:540px;width:125%;margin:-5px 0 0 -45px}.gg-hero-art figcaption{bottom:70px}}
@media(max-width:800px){.gg-hero-photo{height:450px;width:125%;margin:20px 0 0 -35px}.gg-hero-art figcaption{bottom:74px}.gg-hero-circle{top:5px}}
@media(max-width:560px){.gg-hero h1{font-size:clamp(66px,18vw,92px)}.gg-hero-art{height:355px;margin-bottom:20px}.gg-hero-photo{height:350px;width:110%;margin:-15px 0 0 -5%;transform:rotate(-3deg)}.gg-hero-art figcaption{bottom:0}.gg-hero-circle{right:0;top:-3px}.gg-hero h1 span{margin-top:0}}
@media(max-width:360px){.gg-hero h1{font-size:60px}.gg-hero-art{height:300px}.gg-hero-photo{height:300px;margin-top:-10px}}

@media(max-width:560px){.gg-service-grid{grid-template-columns:1fr}.gg-service{padding:25px 24px 0}.gg-service-top{font-size:12px;margin-bottom:20px}.gg-service>strong{font-size:35px}.gg-service-description{font-size:14px}.gg-service-bottom{font-size:12px;padding-block:17px}.gg-check{width:24px;height:24px}.gg-service input{width:28px;height:28px}.gg-hero-circle>span:last-child{font-size:12px;letter-spacing:0}.gg-hero-circle>span:first-child{font-size:12px;letter-spacing:.05em}}


/* Shared application tokens: fixed identity colours, deliberate readable themes. */
:root,html[data-theme=light]{--forest:var(--pal-forest,#07563f);--dark:var(--pal-ink,#20251e);--lime:var(--pal-accent,#f5d64e);--paper:var(--pal-paper,#f7f4df);--stone:var(--pal-stone,#efecd8);--text:var(--pal-ink,#20251e);--muted:var(--pal-muted,#535a4c);--line:var(--pal-line,#c6c9b0);--sans:'DM Sans',sans-serif;--display:'Anton',sans-serif;--serif:'DM Sans',sans-serif;--grass-ink:var(--pal-forest,#07563f);--gg-base:var(--pal-forest,#07563f)}
html[data-theme=dark]{--forest:var(--pal-accent,#f5d64e);--dark:var(--pal-paper,#f7f4df);--lime:var(--pal-accent,#f5d64e);--paper:var(--pal-darkBase,#152e25);--stone:var(--pal-darkBase,#1d3b30);--text:var(--pal-paper,#f7f4df);--muted:var(--pal-mutedDark,#d0d8c5);--line:var(--pal-darkLine,#5b7162);--sans:'DM Sans',sans-serif;--display:'Anton',sans-serif;--serif:'DM Sans',sans-serif;--grass-ink:var(--pal-accent,#f5d64e);--gg-base:var(--pal-darkBase,#063c2d)}
body{font-family:var(--sans);font-size:16px;line-height:1.65;background:var(--paper);color:var(--text)}
body.good-growing{background:var(--gg-base);color:var(--gg-cream)}
body.good-growing .gg-top{overflow:clip}
h1,h2{font-family:var(--display);font-weight:400;letter-spacing:-.015em;line-height:1.08}
em{font-style:normal}
.shell{width:min(1240px,calc(100% - 96px))}
.gg-wrap{width:min(1240px,calc(100% - 96px))}
[data-copy],.content-copy{white-space:pre-line}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid currentColor;outline-offset:5px}
.skip,.skip-link{background:var(--pal-paper,#f7f4df);color:var(--pal-forest,#07563f);z-index:100}
.draft-bar{background:var(--pal-ink,#20251e);color:var(--pal-paper,#f7f4df);font:600 12px/1.5 var(--sans);letter-spacing:.06em;padding:7px 16px}
.draft-bar span{opacity:1;font-size:12px}
.site-header{position:relative;top:auto;background:var(--gg-base);color:var(--gg-cream);border:0;backdrop-filter:none;z-index:30}
.site-header .header-inner{height:auto;min-height:104px;border-bottom:0;gap:22px}
.site-header .gg-header{border-bottom:0}
.site-header .gg-brand,.site-header .brand{color:var(--gg-cream);flex-shrink:0}
.gg-brand-mark{font-family:var(--display);font-weight:400;font-size:43px;letter-spacing:-.04em;display:inline-flex;align-items:flex-start;color:var(--gg-yellow)}
.gg-brand-mark .ui-icon{width:20px;height:24px;margin:0 0 0 2px;filter:brightness(0) invert(1)}
.gg-brand>span:last-child{font:700 12px/1.2 var(--sans);letter-spacing:.055em;max-width:150px}
.brand>span{font:400 24px/1.05 var(--display);letter-spacing:0}
.brand small{font:600 12px/1.35 var(--sans);letter-spacing:.04em}
.site-header nav,.gg-navigation{font:600 14px/1.4 var(--sans);gap:25px;margin-left:auto}
.site-header nav a,.gg-navigation a{font-size:14px;min-height:44px;padding-block:12px}
.site-header nav a:hover,.gg-navigation a:hover{color:var(--gg-yellow)}
.site-header nav a::after{background:var(--gg-yellow)}
.site-header .header-call,.gg-header-call{font:600 14px/1.3 var(--sans);border:1px solid var(--pal-paper-80,#f7f4df80);border-radius:99px;min-height:46px;padding:10px 18px;margin:0;display:flex;align-items:center;gap:15px;white-space:nowrap;color:var(--gg-cream)}
.site-header .header-call .call-caption{display:none}
.site-header .header-call:hover,.gg-header-call:hover{background:var(--gg-yellow);color:var(--gg-ink)}
.site-header .ui-icon{filter:brightness(0) invert(1)}
.site-header .header-call:hover .ui-icon{filter:none}
.site-header .theme-toggle{margin:0;order:initial;flex-shrink:0;width:44px;height:52px;padding:0;background:transparent!important;border:0}
.theme-toggle:hover,.theme-toggle:focus-visible{background:transparent!important}
.gg-hero h1{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(72px,7.6vw,106px);letter-spacing:-.022em;line-height:.99;margin:0;max-width:650px}
.gg-hero-line{display:block}
.gg-hero h1 .gg-hero-line:first-child,.gg-hero h1 .gg-hero-line:nth-child(2){color:var(--gg-cream)}
.gg-hero h1 .gg-hero-line:nth-child(n+3){color:var(--gg-yellow)}
.gg-hero .hero-actions{gap:18px}
.gg-hero .hero-actions .text-link{color:var(--gg-cream)}
.gg-hero-intro,.gg-hello-copy>p:not(.gg-eyebrow),.gg-section-title>p,.gg-lawn-copy>p:not(.gg-eyebrow),.gg-how-intro,.gg-steps p,.gg-faq p,.gg-contact-details p{font-size:16px;line-height:1.65}
.gg-eyebrow{font-size:12px;letter-spacing:.12em}
.gg-button,.gg-text-link{font-size:15px;min-height:48px}
.gg-button{border:1px solid transparent;gap:24px}
.gg-button .ui-icon,.gg-text-link .ui-icon{width:22px;height:22px;flex-shrink:0;filter:none}
.gg-button-yellow,.gg-button-cream{color:var(--gg-ink)}
.gg-button-yellow:hover{background:var(--pal-accentHover,#ffe878)}
.gg-button-cream:hover{background:var(--pal-paperHover,#fffde9)}
.gg-hero-art .gg-hero-photo img{width:100%;height:100%;object-fit:contain;object-position:center}
.gg-hero-art figcaption{font-size:14px;max-width:285px;line-height:1.5}
.gg-hero-art figcaption>.ui-icon{position:absolute;left:-30px;top:0;width:27px;height:35px;filter:brightness(0) invert(1)}
.gg-hero-circle>span:first-child,.gg-hero-circle>span:last-child{font-size:12px;letter-spacing:.025em;line-height:1.3;padding-inline:8px}
.gg-hero-circle strong{font-weight:400;font-size:29px;margin-top:6px}
.gg-hero-circle>span:last-child{margin-top:6px;font-size:12px}
.gg-hero-foot{font-size:12px;letter-spacing:.06em}
.gg-hero-foot a{font-size:14px;min-height:44px}
.gg-hero-foot .ui-icon{width:18px;height:18px;filter:brightness(0) invert(1)}
.gg-hello-photo figcaption{font-size:12px;letter-spacing:.06em}
.gg-hello .gg-text-link{color:var(--gg-ink)}
.gg-hello .ui-icon{filter:none}
.gg-ribbon{gap:42px;overflow:hidden;pointer-events:none}
.gg-ribbon .ui-icon{width:25px;height:25px;flex-shrink:0;filter:brightness(0) invert(1)}
.gg-service{border:0;color:var(--gg-ink)}
.gg-service-top{font:700 12px/1.45 var(--sans);letter-spacing:.035em;margin-bottom:24px;padding-right:28px;position:relative;min-height:30px}
.gg-service-description{font-size:16px;line-height:1.55}
.gg-service-bottom{font-size:13px;line-height:1.4;min-height:52px;align-items:center}
.gg-service-bottom .ui-icon{width:21px;height:21px;filter:none}
.gg-check{position:absolute;right:0;top:0;width:24px;height:24px}
.gg-check::after{content:'';position:absolute;inset:3px;background:currentColor;mask:url('/assets/icons/plus.svg') center/contain no-repeat}
.gg-service input:checked~.gg-service-top .gg-check::after{content:'';mask-image:url('/assets/icons/check.svg')}
.gg-service input{top:24px;right:22px;min-height:24px;width:24px;opacity:0}
.gg-list-enquiry p{font-size:16px}
.gg-list-enquiry small{font-size:13px;line-height:1.6;color:var(--gg-cream)}
.gg-lawn{background:var(--gg-ink);color:var(--gg-cream)}
.gg-lawn-photo figcaption{font-size:12px;letter-spacing:.045em}
.gg-lawn-words{flex-wrap:wrap;justify-content:center}
.gg-lawn-words a{color:var(--gg-cream);min-height:44px;display:inline-flex;align-items:center}
.gg-lawn-words a:hover{color:var(--gg-yellow)}
.gg-lawn-words .ui-icon{width:22px;height:22px;align-self:center;filter:brightness(0) invert(1)}
.gg-how h2,.gg-services h2,.gg-contact h2{color:var(--gg-cream)}
.gg-steps h3{font:700 21px/1.25 var(--sans);letter-spacing:-.02em;color:var(--gg-cream)}
.gg-faq,.gg-faq h2{color:var(--gg-ink)}
.gg-questions summary{font:700 16px/1.5 var(--sans)}
.gg-questions details>p{font-size:16px;line-height:1.65}
.gg-questions summary::after{display:none}
.gg-questions .faq-list,.gg-questions.faq-list{width:100%}
.gg-questions details,.gg-faq .faq-list details{border-color:var(--pal-ink-66,#20251e66)}
.gg-faq .faq-list summary{font-size:16px;color:var(--gg-ink);min-height:76px}
.gg-faq .faq-list summary .ui-icon{filter:none!important}
.gg-faq .faq-list p,.gg-faq .faq-cta{color:var(--gg-ink);font-size:16px}
.gg-faq .faq-cta .ui-icon{filter:none!important}
.gg-faq .text-link{color:var(--gg-ink)}
.gg-contact-details>span{font-size:12px;letter-spacing:.06em}
.gg-phone{font-weight:400;font-size:clamp(30px,3.3vw,45px);white-space:normal}
.gg-contact .phone-link{font:400 clamp(30px,3.3vw,45px)/1.2 var(--display);color:var(--gg-cream)}
.gg-contact .phone-name{display:block;font-size:12px;color:var(--gg-cream);line-height:1.6;margin-top:18px}
.gg-contact .contact-intro>p:not(.eyebrow){font-size:16px;color:var(--gg-cream)}
.gg-contact .enquiry-card{color:var(--gg-ink);background:var(--gg-cream);border:0;border-radius:25px;padding:32px;min-width:0}
.gg-contact input,.gg-contact select,.gg-contact textarea{background:var(--pal-surface,#fffdf0);color:var(--pal-ink,#20251e);border:1px solid var(--pal-control,#9da88e);font-size:16px}
.gg-contact select{background-image:url('/assets/icons/arrow-down.svg')}
.gg-contact label,.gg-contact .eyebrow,.gg-contact .form-note,.gg-contact .optional{color:var(--pal-muted,#414b3a)}
.gg-contact label{font-size:14px}
.gg-contact .form-note{font-size:14px}
.gg-contact .message-preview{background:var(--pal-stone,#eeebd0);border-color:var(--pal-control,#b5bea6);color:var(--pal-ink,#20251e)}
.gg-contact .message-preview h3{font:700 23px/1.3 var(--sans);color:var(--pal-ink,#20251e)}
.gg-contact .button-dark{background:var(--pal-forest,#07563f);color:var(--pal-paper,#f7f4df)}
.gg-contact .button-dark .ui-icon{filter:brightness(0) invert(1)}
.gg-contact .text-link{color:var(--pal-forest,#07563f)}
.gg-contact .form-status{color:var(--pal-forest,#07563f);font-size:14px}
.gg-contact .social-icon{filter:brightness(0) invert(1)!important}
.gg-contact .social-link,.gg-contact .social-links{color:var(--pal-paper,#f7f4df)}
.good-growing .products-home{color:var(--gg-cream);border-top:1px solid var(--pal-paper-60,#f7f4df60)}
.good-growing .products-home h2{color:var(--gg-cream)}
.good-growing .products-home .heading-row>p{color:var(--gg-cream)}
.good-growing .products-home .button{background:var(--gg-yellow);color:var(--gg-ink)}
.good-growing .products-home .button .ui-icon{filter:none}
.good-growing .service-explorer{margin-top:50px;padding-top:30px;border-top:1px solid var(--pal-paper-50,#f7f4df50);gap:25px;grid-template-columns:.8fr 1.2fr}
.good-growing .service-list{border-color:var(--pal-paper-60,#f7f4df60)}
.good-growing .service-tab{font-family:var(--sans);color:var(--pal-paper,#f7f4df);border-color:var(--pal-paper-60,#f7f4df60);font-size:16px}
.good-growing .service-tab .ui-icon{filter:brightness(0) invert(1)}
.good-growing .service-tab:hover,.good-growing .service-tab[aria-selected=true]{background:var(--pal-accent,#f5d64e);color:var(--pal-ink,#20251e)}
.good-growing .service-tab:hover .ui-icon,.good-growing .service-tab[aria-selected=true] .ui-icon{filter:none}
.good-growing .service-panel{background:var(--pal-paper,#f7f4df);color:var(--pal-ink,#20251e);border-radius:24px;overflow:hidden}
.good-growing .panel-copy .eyebrow,.good-growing .panel-copy p,.good-growing .panel-copy li,.good-growing .panel-copy h3{color:var(--pal-ink,#20251e)}
.good-growing .panel-copy h3{font:400 36px/1.1 var(--display)}
.good-growing .panel-copy .text-link{color:var(--pal-forest,#07563f);font-size:16px}
.good-growing .panel-copy .ui-icon{filter:none}
.site-footer{background:var(--pal-forest,#07563f);color:var(--pal-paper,#f7f4df);border-top:1px solid var(--pal-paper-50,#f7f4df50)}
.site-footer .footer-top{border-color:var(--pal-paper-50,#f7f4df50)}
.site-footer .footer-top>p{font:400 clamp(30px,4vw,54px)/1.15 var(--display);letter-spacing:0;color:var(--pal-paper,#f7f4df)}
.site-footer .footer-bottom,.site-footer .footer-bottom p,.site-footer .footer-link,.site-footer .back-top,.site-footer .social-link,.site-footer .footer-policy-links a{color:var(--pal-paper,#f7f4df);font-size:14px}
.site-footer .footer-socials,.site-footer .footer-policy-links{border-color:var(--pal-paper-50,#f7f4df50)}
.site-footer .ui-icon,.site-footer .social-icon{filter:brightness(0) invert(1)!important}
.site-footer .gg-brand-mark .ui-icon{filter:brightness(0) invert(1)!important}
.footer-policy-links{justify-content:flex-start;gap:10px 24px}
.footer-bottom{gap:20px;flex-wrap:wrap}
.mobile-contact{background:var(--pal-accent,#f5d64e);color:var(--pal-ink,#20251e);border-top:1px solid var(--pal-ink-50,#20251e50)}
.mobile-contact a{min-height:50px;color:var(--pal-ink,#20251e)}
.mobile-contact .ui-icon{filter:none!important}
.button{border-radius:99px;font-weight:700;font-size:15px;min-height:48px}
.button-dark{background:var(--forest);color:var(--paper)}
.button-dark:hover{background:var(--pal-forestHover,#0b6b4e);color:var(--pal-paper,#f7f4df)}
html[data-theme=dark] .button-dark{background:var(--pal-accent,#f5d64e);color:var(--pal-ink,#20251e)}
html[data-theme=dark] .button-dark .ui-icon{filter:none}
.button-lime{background:var(--pal-accent,#f5d64e);color:var(--pal-ink,#20251e)}
.button-lime .ui-icon{filter:none}
.text-link{font-size:15px;min-height:44px}
.eyebrow{font-size:12px;letter-spacing:.1em}
.care-hub-hero h1,.guide-hero h1,.products-heading h1,.legal-heading h1{font:400 clamp(44px,5.8vw,80px)/1.08 var(--display);letter-spacing:-.015em}
.care-hub-hero,.guide-hero,.products-hero,.legal-main{padding-top:65px}
.care-hub-hero>p:not(.eyebrow),.guide-intro,.products-heading>p,.legal-intro{font-size:18px;line-height:1.65}
.care-card,.equipment-card{border-radius:24px 24px 8px 8px;overflow:hidden}
.care-card h3,.equipment-card h3{font:700 27px/1.2 var(--sans);letter-spacing:-.025em}
.care-card-art{padding:20px}
.guide-process{background:var(--pal-forest,#07563f);border-radius:65px 0 65px 0;color:var(--pal-paper,#f7f4df)}
.guide-process .eyebrow,.guide-process .process-number{color:var(--pal-accent,#f5d64e)}
.guide-process h2{font:400 clamp(36px,4vw,56px)/1.1 var(--display);letter-spacing:-.015em;color:var(--pal-paper,#f7f4df)}
.guide-process h3{font:700 24px/1.2 var(--sans);color:var(--pal-paper,#f7f4df)}
.guide-process p{color:var(--pal-paper,#f7f4df)}
.guide-contact,.legal-contact,.legal-preferences{border-radius:24px}
.guide-contact h3{font:700 25px/1.2 var(--sans)}
.legal-body h2{font:700 28px/1.25 var(--sans);letter-spacing:-.025em}
.legal-body p{font-size:17px;line-height:1.8}
.legal-sidebar nav a[aria-current=page]{border-color:var(--forest)}
.equipment-card-image{background:var(--pal-surface,#fffdf0)}
.equipment-card-image .example-label{background:var(--pal-accent,#f5d64e);color:var(--pal-ink,#20251e);border-color:var(--pal-control,#b2a44d)}
.catalogue-notice{background:var(--stone);border-radius:22px}
.category-filters button{font-size:15px}
.category-filters button[aria-pressed=true]{background:var(--pal-forest,#07563f);color:var(--pal-paper,#f7f4df);border-color:var(--pal-forest,#07563f)}
html[data-theme=dark] .category-filters button[aria-pressed=true]{background:var(--pal-accent,#f5d64e);color:var(--pal-ink,#20251e);border-color:var(--pal-accent,#f5d64e)}
.product-dialog,.image-viewer{background:var(--paper);color:var(--text);border-radius:24px;border:1px solid var(--line)}
.product-dialog h2{font:400 40px/1.1 var(--display);letter-spacing:-.015em}
.product-dialog h3{font:700 24px/1.2 var(--sans)}
.product-dialog-close{border-radius:50%;width:44px;height:44px}
.enlarge-product{background:var(--pal-surface,#fffdf0)}
.product-gallery button{background:var(--pal-surface,#fffdf0);border-radius:10px}
.product-gallery button[aria-pressed=true]{border-color:var(--pal-forest,#07563f)}
.admin-body{font-family:var(--sans);font-size:16px}
.admin-body h1,.auth-brand h1{font:400 clamp(36px,4vw,54px)/1.12 var(--display);letter-spacing:-.01em}
.admin-body h2,.admin-body h3{font-family:var(--sans);font-weight:700;letter-spacing:-.025em}
.admin-sidebar{background:var(--pal-forest,#07563f);color:var(--pal-paper,#f7f4df);border-color:var(--pal-control,#3c7564)}
.admin-sidebar .studio-brand small,.admin-sidebar .sidebar-footer,.admin-sidebar .user-info{color:var(--pal-paper,#f7f4df)}
.admin-sidebar .sidebar-nav button{color:var(--pal-paper,#f7f4df)}
.admin-sidebar .sidebar-nav button .ui-icon,.admin-sidebar .sidebar-footer .ui-icon{filter:brightness(0) invert(1)}
.admin-sidebar .sidebar-nav button.active{background:var(--pal-accent,#f5d64e);color:var(--pal-ink,#20251e)}
.admin-sidebar .sidebar-nav button.active .ui-icon{filter:none}
.admin-sidebar .sidebar-nav button:hover:not(.active){background:var(--pal-forestHover,#136b50);color:var(--pal-paper,#f7f4df)}
.admin-sidebar .user-info{border-color:var(--pal-paper-60,#f7f4df60)}
.admin-topbar{background:var(--paper)}
.admin-body .save-state.unsaved{color:#765000}
html[data-theme=dark] .admin-body .save-state.unsaved{color:var(--pal-accent,#f5d64e)}
.admin-card,.stat-card,.auth-card{border-radius:22px}
.auth-brand>img{width:64px;height:85px}
.auth-card h2{font:700 25px/1.25 var(--sans)}
.admin-body input,.admin-body select,.admin-body textarea,.admin-body button{font-family:var(--sans)}
.admin-body .button{font-size:15px;min-height:45px;border-radius:99px}
.admin-body .admin-card .button{white-space:normal}
.admin-body .auth-foot,.admin-body .product-help{font-size:14px}
.admin-body .studio-brand strong{font:400 30px/1.1 var(--display)}
.admin-policy-links a{color:var(--forest)}
@media(max-width:1100px){
 .shell,.gg-wrap{width:calc(100% - 64px)}
 .site-header .header-inner{gap:16px;flex-wrap:wrap;padding-block:17px}
 .site-header nav,.gg-navigation{gap:20px}
 .site-header .header-call,.gg-header-call{font-size:14px;margin:0;padding:10px 15px}
 .gg-brand>span:last-child{max-width:120px}
 .gg-service-top{font-size:12px}
 .gg-service-description{font-size:16px}
 .gg-hero h1{font-size:clamp(65px,7.4vw,95px)}
}
@media(max-width:900px){
 .site-header .header-inner{min-height:95px;gap:14px}
 .site-header .gg-brand-mark{font-size:36px}
 .site-header .gg-brand>span:last-child{font-size:12px;max-width:100px}
 .site-header .brand>span{font-size:20px}
 .site-header .brand small{font-size:12px}
 .site-header .brand img{width:32px;height:44px}
 .site-header nav,.gg-navigation{display:none!important;order:6;width:100%;margin:0;border-top:1px solid var(--pal-paper-50,#f7f4df50);padding:12px 0 0;flex-wrap:wrap;gap:8px 25px}
 .site-header nav.open,.site-header nav.is-open,.gg-navigation.open,.gg-navigation.is-open{display:flex!important}
 .site-header .menu-toggle,.gg-menu-toggle{display:inline-flex;align-items:center;gap:9px;min-height:44px;min-width:44px;background:none;color:var(--pal-paper,#f7f4df);border:0;margin-left:auto;padding:5px 0;font-size:14px}
 .site-header .header-call,.gg-header-call{margin:0;font-size:14px}
 .site-header .theme-toggle{width:44px;height:48px;margin:0}
 .gg-hero{padding-top:40px;min-height:650px;grid-template-columns:1.05fr 1fr}
 .gg-hero h1{font-size:clamp(56px,7.9vw,74px)}
 .gg-hero-circle{width:130px;height:130px}
 .gg-hero-circle strong{font-size:25px}
 .gg-hero-circle>span:first-child,.gg-hero-circle>span:last-child{font-size:12px}
 .gg-hero-art figcaption{font-size:14px}
 .gg-hero .gg-eyebrow,.gg-hero-intro,.gg-hero .gg-button{font-size:14px}
 .gg-hero-intro{font-size:16px}
 .gg-hero-foot{font-size:12px;letter-spacing:.02em;flex-wrap:wrap}
 .gg-hero-foot>span:nth-child(2){display:none}
 .gg-hero-foot a{font-size:14px}
 .gg-hello-copy>p:not(.gg-eyebrow),.gg-section-title>p,.gg-lawn-copy>p:not(.gg-eyebrow),.gg-how-intro,.gg-steps p,.gg-faq p,.gg-contact-details p{font-size:16px}
 .gg-eyebrow,.gg-hello .gg-eyebrow,.gg-section-title .gg-eyebrow,.gg-lawn .gg-eyebrow,.gg-how .gg-eyebrow,.gg-faq .gg-eyebrow,.gg-contact .gg-eyebrow{font-size:12px}
 .gg-text-link,.gg-button,.gg-lawn-copy .gg-button,.gg-contact-details .gg-button{font-size:15px}
 .gg-lawn-photo figcaption,.gg-hello-photo figcaption{font-size:12px}
 .gg-list-enquiry p{font-size:16px}
 .gg-list-enquiry small{font-size:13px}
 .gg-steps h3{font-size:20px}
 .good-growing .service-explorer{grid-template-columns:minmax(0,1fr);gap:22px}
 .gg-service-description{font-size:16px}
 .gg-service-top{font-size:12px}
 .gg-service-bottom{font-size:13px}
 .gg-contact{align-items:start;gap:35px}
 .gg-contact .enquiry-card{padding:25px}
 .gg-contact .contact-intro,.gg-contact .enquiry-card{min-width:0}
 .gg-contact .phone-link{font-size:31px}
 .gg-contact .phone-name{font-size:12px}
}
@media(max-width:700px){
 .shell,.gg-wrap{width:calc(100% - 40px)}
 .gg-hero{display:block;min-height:0;padding-top:35px}
 .gg-hero h1{font-size:clamp(57px,15vw,90px)}
 .gg-hero-copy{padding:0 0 22px}
 .gg-hero-art{height:355px;width:100%;max-width:440px;margin:0 auto 20px;padding:0 0 24px}
 .gg-hero-photo{height:350px;width:110%;margin:-15px 0 0 -5%;transform:rotate(-3deg)}
 .gg-hero-art figcaption{bottom:0;right:0;max-width:235px;font-size:14px;padding:14px 18px}
 .gg-hero-circle{width:125px;height:125px;right:0;top:0}
 .gg-hero-circle strong{font-size:24px}
 .gg-hero-intro{font-size:16px;max-width:450px}
 .gg-hero .gg-eyebrow{font-size:12px;letter-spacing:.06em}
 .gg-hero .gg-button{font-size:15px}
 .gg-hero-foot{gap:12px;padding:15px 0 18px}
 .gg-hello{padding:65px 0 90px;border-radius:40px 0 65px 0}
 .gg-hello-inner{display:flex;flex-direction:column-reverse;gap:40px;align-items:stretch}
 .gg-hello h2{font-size:clamp(43px,12vw,63px)}
 .gg-hello-photo{width:85%;max-width:370px;align-self:center}
 .gg-hello-photo img{height:310px}
 .gg-hello-photo figcaption{font-size:12px;letter-spacing:.035em}
 .gg-services{padding-top:80px;padding-bottom:65px}
 .gg-section-title{display:block}
 .gg-section-title h2{font-size:clamp(44px,12.5vw,66px)}
 .gg-section-title>p{font-size:16px;padding:0;margin:25px 0 0}
 .gg-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
 .gg-service{padding:24px 20px 0}
 .gg-service>strong{font-size:33px}
 .gg-list-enquiry{flex-direction:column;align-items:start;gap:20px}
 .gg-lawn-inner{display:flex;flex-direction:column;align-items:stretch;gap:40px}
 .gg-lawn h2{font-size:clamp(43px,12vw,64px)}
 .gg-lawn-photo{width:87%;max-width:390px;margin:auto}
 .gg-lawn-photo img{height:390px}
 .gg-lawn-words{font-size:25px;gap:13px}
 .gg-how{display:block;padding-block:65px}
 .gg-how h2{font-size:clamp(43px,12vw,62px)}
 .gg-how-intro{margin-bottom:35px}
 .gg-steps li{grid-template-columns:36px minmax(0,1fr);gap:20px}
 .gg-faq-inner{display:block}
 .gg-faq h2{font-size:clamp(44px,13vw,66px)}
 .gg-questions{margin-top:35px}
 .gg-contact{display:block;padding-block:65px}
 .gg-contact h2{font-size:clamp(48px,14vw,78px);overflow-wrap:anywhere}
 .gg-contact .enquiry-card{margin-top:35px}
 .gg-contact .phone-link{font-size:35px}
 .good-growing .service-explorer{grid-template-columns:minmax(0,1fr)}
 .site-footer .footer-top{gap:25px;align-items:start}
 .footer-socials,.footer-policy-links{justify-content:flex-start}
 .site-footer .footer-top>p{font-size:36px}
 .site-footer .footer-bottom,.site-footer .footer-bottom p{font-size:13px}
 .care-hub-hero h1,.guide-hero h1,.products-heading h1,.legal-heading h1{font-size:clamp(42px,11vw,60px)}
 .care-hub-hero,.guide-hero,.products-hero,.legal-main{padding-top:40px}
 .care-hub-hero>p:not(.eyebrow),.guide-intro,.products-heading>p,.legal-intro{font-size:17px}
 .guide-process{border-radius:45px 0 45px 0}
 .guide-process h2{font-size:39px}
 .product-dialog h2{font-size:35px}
}
@media(max-width:560px){
 .gg-service-grid{grid-template-columns:minmax(0,1fr)}
 .gg-service{padding:25px 24px 0}
 .gg-service-top{font-size:12px;margin-bottom:20px}
 .gg-service>strong{font-size:37px}
 .gg-service-description{font-size:16px}
 .gg-service-bottom{font-size:14px;padding-block:17px}
 .gg-service input{width:28px;height:28px}
 .gg-hello-copy>p:not(.gg-eyebrow),.gg-lawn-copy>p:not(.gg-eyebrow),.gg-steps p,.gg-faq p,.gg-contact-details p{font-size:16px}
 .gg-questions summary,.gg-questions details>p{font-size:16px}
 .gg-phone{font-size:35px}
 .gg-contact-details>span{font-size:12px}
 .gg-ribbon{font-size:17px;gap:25px}
 .site-header .header-inner,.site-header.gg-header{gap:12px;min-height:95px;padding-block:14px}
 .site-header .gg-brand{gap:8px}
 .site-header .gg-brand-mark{font-size:34px}
 .site-header .gg-brand-mark .ui-icon{width:16px;height:20px}
 .site-header .gg-brand>span:last-child{max-width:105px;font-size:12px}
 .site-header .theme-toggle{width:44px;height:48px}
 .site-header .header-call,.gg-header-call{font-size:14px;min-height:44px;padding:8px 14px}
 .site-header .header-call .ui-icon,.gg-header-call .ui-icon{width:18px;height:18px}
 .site-header .menu-toggle,.gg-menu-toggle{font-size:14px;gap:6px;margin-left:auto}
 .site-header nav a,.gg-navigation a{font-size:15px;min-height:44px}
 .site-header .brand>span{font-size:18px}
 .site-header .brand small{font-size:12px;max-width:170px}
 .gg-footer>div{flex-wrap:wrap;gap:20px}
 .gg-footer>p{font-size:13px}
 .form-pair{grid-template-columns:minmax(0,1fr)}
 .gg-contact .enquiry-card{padding:24px}
 .gg-contact .button{width:100%;gap:12px;font-size:15px;padding-inline:17px}
 .gg-contact .phone-link{font-size:32px}
}
@media(max-width:360px){
 .shell,.gg-wrap{width:calc(100% - 32px)}
 .site-header .gg-brand>span:last-child{max-width:95px;font-size:12px}
 .site-header .gg-brand-mark{font-size:31px}
 .gg-hero h1{font-size:56px;line-height:1.02;letter-spacing:-.02em}
 .gg-hero .gg-eyebrow{font-size:12px;letter-spacing:.035em}
 .gg-hero-intro{font-size:16px}
 .gg-hero-art{height:310px}
 .gg-hero-photo{height:300px;margin-top:-10px}
 .gg-hero-circle{width:115px;height:115px}
 .gg-hero-circle strong{font-size:22px}
 .gg-hero-circle>span:first-child,.gg-hero-circle>span:last-child{font-size:12px}
 .gg-hero-art figcaption{font-size:13px;max-width:218px}
 .gg-hero-foot>span:first-child{font-size:12px}
 .gg-hero-foot a{font-size:13px}
 .gg-service-top{font-size:12px}
 .gg-service-description{font-size:16px}
 .gg-service-bottom{font-size:14px}
 .gg-list-enquiry p{font-size:16px}
 .gg-list-enquiry small{font-size:13px}
 .gg-contact .phone-link{font-size:30px}
 .gg-lawn-words{font-size:20px}
 .gg-contact .enquiry-card{padding:21px}
 .site-footer .footer-top>p{font-size:31px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .gg-button:hover,.gg-service:hover{transform:none}
}
/* Functional V1 supplements, expressed in the same visual system. */
.gg-brand .gg-brand-mark{font-family:var(--display);font-weight:400;font-size:43px;line-height:1;letter-spacing:-.04em}
.gg-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;margin-top:70px;padding-top:28px;border-top:1px solid var(--pal-ink-60,#20251e60)}
.gg-values article{min-width:0}
.gg-values h3{font:700 20px/1.3 var(--sans);letter-spacing:-.025em;color:var(--gg-ink);margin:0 0 14px}
.gg-values p{font:400 16px/1.65 var(--sans);color:var(--gg-ink);margin:0}
.gg-service-details{margin-top:48px;border-block:1px solid var(--pal-paper-60,#f7f4df60)}
.gg-service-details>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:70px;padding-block:18px;font:700 17px/1.4 var(--sans);cursor:pointer}
.gg-service-details>summary::-webkit-details-marker{display:none}
.gg-service-details>summary .ui-icon{width:23px;height:23px;filter:brightness(0) invert(1)}
.gg-service-details[open]>summary .ui-icon{transform:rotate(45deg)}
.good-growing .gg-service-details .service-explorer{border:0;margin:10px 0 30px;padding:0}
.gg-contact.contact{padding-block:100px 80px}
@media(min-width:1101px){.gg-hero h1{font-size:clamp(82px,7.1vw,104px)}}
@media(max-width:900px){.gg-brand .gg-brand-mark{font-size:36px}.gg-values{gap:25px;margin-top:55px}}
@media(max-width:700px){.gg-values{grid-template-columns:minmax(0,1fr);gap:26px;margin-top:45px}.gg-values h3{font-size:21px}.gg-contact.contact{padding-block:65px}.gg-service-details>summary{font-size:16px}}
@media(max-width:560px){.gg-brand .gg-brand-mark{font-size:34px}}
@media(max-width:360px){.gg-brand .gg-brand-mark{font-size:31px}}
/* Integrated markup reconciliation: preserve editable text, reserve positioning for decoration. */
.gg-hero .hero-intro{color:var(--gg-cream);font-size:16px;line-height:1.65;max-width:430px;margin:26px 0 24px}
.gg-button>[data-copy]{font-size:inherit;line-height:inherit}
.gg-hero-art figcaption>span[data-copy]{position:static;display:block;transform:none;font-size:14px;line-height:1.5;color:var(--gg-cream);letter-spacing:0}
.gg-hero-art figcaption>span[aria-hidden]{position:absolute;left:-32px;top:2px;transform:rotate(25deg);display:block;width:27px;height:35px;line-height:1}
.gg-hero-art figcaption>span[aria-hidden] .ui-icon{width:27px;height:35px;filter:brightness(0) invert(1)}
.gg-art-disclosure{position:absolute;left:0;right:0;bottom:12px;text-align:center;font:400 12px/1.5 var(--sans);color:var(--gg-cream);margin:0;max-width:none;padding-inline:12px}
.gg-hero-line:nth-child(2){font-size:.85em;letter-spacing:-.03em;line-height:1.16}
.gg-values article{display:block;padding:0;border:0}
.gg-values h3{font-family:var(--sans);font-size:20px;font-weight:700;line-height:1.3;letter-spacing:-.025em}
.gg-values p{font-family:var(--sans);font-size:16px;line-height:1.65;color:var(--gg-ink);max-width:none}
.gg-contact .contact-intro>.gg-eyebrow{font-size:12px;line-height:1.5;letter-spacing:.1em}
.gg-contact .gg-button{font-size:15px;max-width:100%;white-space:normal;text-align:left;gap:15px}
.gg-contact .gg-button>span[aria-hidden]{flex-shrink:0}
.gg-contact .enquiry-card,.gg-contact form,.gg-contact .form-pair,.gg-contact .form-pair>div{min-width:0}
.gg-contact input,.gg-contact select,.gg-contact textarea{width:100%;min-width:0;max-width:100%}
.gg-contact .message-actions{flex-wrap:wrap}
@media(max-width:1100px){.site-header>.gg-header{flex-wrap:wrap;gap:16px;padding-block:17px}.site-header>.gg-header>.gg-navigation{order:6;width:100%;margin:0;justify-content:flex-start;gap:28px}.site-header>.gg-header .theme-toggle{margin-left:0}.site-header>.gg-header .gg-header-call{margin-left:auto}}
@media(max-width:900px){.site-header>.gg-header>.gg-navigation{gap:8px 25px}.site-header>.gg-header .gg-header-call{margin-left:0}.gg-art-disclosure{font-size:12px;bottom:12px}.gg-hero-art figcaption{bottom:64px}}
@media(max-width:700px){.gg-art-disclosure{bottom:-5px;font-size:12px;max-width:100%;text-align:left;padding:0}.gg-hero-art{margin-bottom:36px}.gg-hero-art figcaption{bottom:32px}.gg-hero-art figcaption>span[data-copy]{font-size:13px}.gg-hero .hero-intro{font-size:16px}.gg-hero-line:nth-child(2){font-size:.8em;line-height:1.2}.gg-contact .gg-button{width:100%}.gg-values h3{font-size:21px}.gg-values article{padding:0}}
@media(max-width:560px){.site-header>.gg-header{gap:12px;padding-block:14px}.site-header>.gg-header .gg-header-call{margin-left:0}.gg-contact .form-pair{grid-template-columns:minmax(0,1fr)}}
.gg-contact .message-preview>p{font-size:16px;line-height:1.65;color:var(--pal-ink,#20251e)}
.gg-contact .message-preview>.form-note{font-size:14px;color:var(--pal-muted,#414b3a)}
/* QA finish: guarantee complete artwork, stable contrast and 320px control fit. */
.gg-hero-art .gg-hero-photo{width:100%;max-width:100%;margin:-12px 0 0;height:620px;transform:rotate(-4deg)}
.gg-hero-art .gg-hero-photo img{max-width:100%;width:100%;height:100%;object-fit:contain}
.site-header>.gg-header{min-width:0}
.site-header>.gg-header>*{max-width:100%}
.site-header .gg-header-call,.site-header .menu-toggle,.site-header .theme-toggle{flex-shrink:0}
.site-header .gg-header-call .ui-icon,.site-header .menu-toggle .ui-icon{flex-shrink:0}
.mobile-contact{box-sizing:border-box;max-width:100%;background:var(--pal-accent,#f5d64e);color:var(--pal-ink,#20251e)}
.mobile-contact a{box-sizing:border-box;flex:1 1 0;width:auto;min-width:0;gap:8px;background:transparent;color:var(--pal-ink,#20251e)}
.mobile-contact a:last-child{background:var(--pal-accent,#f5d64e);color:var(--pal-ink,#20251e)}
.mobile-contact a .ui-icon{width:20px;height:20px;flex-shrink:0;filter:none!important}
html[data-theme=dark] .mobile-contact{background:var(--pal-accent,#f5d64e);color:var(--pal-ink,#20251e)}
html[data-theme=dark] .mobile-contact a,html[data-theme=dark] .mobile-contact a:last-child{background:var(--pal-accent,#f5d64e);color:var(--pal-ink,#20251e)}
.button,.gg-button{transition:transform .18s ease}
html[data-theme=light] .button-dark,html[data-theme=light] .button-dark:visited{background:var(--pal-forest,#07563f);color:var(--pal-paper,#f7f4df)}
html[data-theme=light] .button-dark:hover,html[data-theme=light] .button-dark:focus-visible,html[data-theme=light] .button-dark:active{background:var(--pal-forest,#064b37);color:var(--pal-paper,#f7f4df)}
html[data-theme=light] .button-dark .ui-icon{filter:brightness(0) invert(1)}
html[data-theme=dark] .button-dark,html[data-theme=dark] .button-dark:visited,html[data-theme=dark] .button-dark:hover,html[data-theme=dark] .button-dark:focus-visible,html[data-theme=dark] .button-dark:active{background:var(--pal-accent,#f5d64e);color:var(--pal-ink,#20251e)}
html[data-theme=dark] .button-dark .ui-icon{filter:none}
html[data-theme=light] .button-lime,html[data-theme=dark] .button-lime,html[data-theme=light] .button-lime:visited,html[data-theme=dark] .button-lime:visited{background:var(--pal-accent,#f5d64e);color:var(--pal-ink,#20251e)}
html[data-theme=light] .button-lime:hover,html[data-theme=dark] .button-lime:hover,html[data-theme=light] .button-lime:focus-visible,html[data-theme=dark] .button-lime:focus-visible,html[data-theme=light] .button-lime:active,html[data-theme=dark] .button-lime:active{background:var(--pal-accentHover,#ffe878);color:var(--pal-ink,#20251e)}
.button-lime .ui-icon{filter:none!important}
@media(max-width:1100px){.gg-hero-art .gg-hero-photo{height:540px;margin:0}}
@media(max-width:900px){.gg-hero-art .gg-hero-photo{height:450px;margin:12px 0 0}}
@media(max-width:700px){.gg-hero-art .gg-hero-photo{height:350px;margin:-10px 0 0;transform:rotate(-3deg)}}
@media(max-width:400px){.site-header .gg-header-call{white-space:normal;min-width:0;max-width:100%}.site-header>.gg-header{column-gap:10px}.mobile-contact{padding-inline:12px;gap:6px}.mobile-contact a{padding-inline:8px;font-size:14px;gap:6px}}
@media(max-width:360px){.gg-hero-art .gg-hero-photo{height:300px}.site-header .menu-toggle{max-width:100%;min-width:44px}.site-header .menu-toggle .ui-icon{width:20px;height:20px}}
@media(prefers-reduced-motion:reduce){.button,.gg-button{transition:none}}
@media(max-width:400px){
 .site-header>.gg-header{display:grid;grid-template-columns:minmax(0,1fr) 44px 70px;column-gap:10px;row-gap:12px;align-items:center}
 .site-header>.gg-header>.gg-brand{grid-column:1/-1;grid-row:1;justify-self:start;max-width:100%;min-width:0}
 .site-header>.gg-header>.gg-header-call{grid-column:1;grid-row:2;margin:0;justify-self:start;max-width:100%;min-width:0;white-space:nowrap;gap:10px;padding:8px 12px}
 .site-header>.gg-header>.theme-toggle{grid-column:2;grid-row:2;margin:0;justify-self:center;width:44px;min-width:0}
 .site-header>.gg-header>.menu-toggle{grid-column:3;grid-row:2;margin:0;padding:0;width:70px;min-width:0;max-width:100%;justify-content:flex-end;gap:6px}
 .site-header>.gg-header>.menu-toggle .ui-icon{width:20px;height:20px;flex:0 0 20px}
 .site-header>.gg-header>.gg-navigation{grid-column:1/-1;grid-row:3;margin:0;width:100%;min-width:0}
}
/* Keep account actions readable on the forest Studio sidebar in both themes. */
.admin-sidebar .quiet-button{color:var(--pal-paper,#f7f4df)}
/* A single SVG dropdown cue, and two-colour social artwork without flattening. */
.gg-contact select{background-repeat:no-repeat;background-size:20px 20px;background-position:right 14px center;padding-right:44px}
.gg-contact .social-icon,.site-footer .social-icon{filter:none!important}
/* The visible Menu label and SVG need more than the old icon-only width. */
.site-header .gg-menu-toggle{width:auto;min-width:70px}
.gg-source-caption{display:block;font:12px/1.4 var(--sans);letter-spacing:0;margin-top:4px}

/* Theme contrast finish: fixed-colour panels keep their own icon palette.
   These must outrank the inherited V1 blanket dark-mode icon rule. */
html[data-theme] :is(.gg-button-yellow,.gg-button-cream,.gg-hello-copy,.gg-faq,.gg-service,.gg-contact .message-preview,.gg-contact .enquiry-card,.good-growing .panel-copy) .ui-icon{filter:brightness(0) saturate(100%)!important}
html[data-theme] .site-header .gg-header-call:is(:hover,:focus-visible) .ui-icon{filter:brightness(0) saturate(100%)!important}
html[data-theme] .good-growing .service-tab:is(:hover,[aria-selected=true]) .ui-icon{filter:brightness(0) saturate(100%)!important}
html[data-theme] .gg-contact :is(input,select,textarea){border-color:var(--pal-control,#68735b)}
html[data-theme] .gg-contact :is(input,textarea)::placeholder{color:var(--pal-muted,#535a4c);opacity:1}
/* A double focus ring remains visible on both pale cards and dark sections. */
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--pal-paper,#f7f4df);outline-offset:4px;box-shadow:0 0 0 4px var(--pal-ink,#20251e)}
html[data-theme] .theme-toggle:focus-visible{outline:3px solid var(--pal-paper,#f7f4df)!important;outline-offset:4px;box-shadow:0 0 0 4px var(--pal-ink,#20251e)!important}
/* Give the supplied-photo caption its own opaque paper band. */
.gg-hello-photo{padding-bottom:0}
.gg-hello-photo figcaption{position:static;inset:auto;padding:13px 10px 15px;background:var(--pal-paper,#f7f4df);color:var(--pal-ink,#20251e);line-height:1.5;letter-spacing:.025em}
html[data-theme] .product-gallery button[aria-pressed=true]{border:3px solid var(--pal-forest,#07563f);outline:2px solid var(--pal-paper,#f7f4df);outline-offset:1px}

/* Pale enquiry fields use the dark SVG in either theme. */
html[data-theme] .gg-contact select{background-image:url('/assets/icons/arrow-down.svg')}

html[data-theme] .gg-contact .phone-link .ui-icon{filter:brightness(0) invert(1)}
/* Form controls remain distinguishable from the page, including Studio fields. */
:root,html[data-theme=light]{--control-border:var(--pal-control,#68735b)}
html[data-theme=dark]{--control-border:var(--pal-control,#91a18a)}
body :is(input:not([type=checkbox]):not([type=radio]),select,textarea){border-color:var(--control-border)}
html[data-theme] .gg-contact :is(input,select,textarea){border-color:var(--pal-control,#68735b)}

/* The badge text sits inside a safe central square, clear of the curved edge.
   Keep the supporting words readable rather than shrinking them on phones. */
.gg-hero-circle{width:172px;height:172px;padding:20px 14px;gap:5px;right:8px;transform:rotate(6deg)}
.gg-hero-circle>span:first-child,.gg-hero-circle>span:last-child{display:block;flex:0 0 auto;max-width:112px;padding:0;margin:0;font:700 12px/1.25 var(--sans);letter-spacing:.015em}
.gg-hero-circle>span:first-child{white-space:nowrap}
.gg-hero-circle>span:last-child{white-space:pre-line}
.gg-hero-circle strong{display:block;flex:0 0 auto;max-width:112px;font:400 28px/1.05 var(--display);letter-spacing:0;margin:0;white-space:pre-line}
@media(max-width:700px){
 .gg-hero-circle{width:168px;height:168px;top:4px;padding:18px 14px;right:8px}
 .gg-hero-circle strong{font-size:26px}
}
@media(max-width:360px){
 .gg-hero-circle{width:162px;height:162px}
 .gg-hero-circle strong{font-size:25px}
}

/* One calm mobile header row; the sticky contact bar owns the call action. */
@media(max-width:650px){
 .site-header>.gg-header{display:grid;grid-template-columns:minmax(0,1fr) 44px 70px;column-gap:10px;row-gap:0;min-height:84px;padding-block:14px;align-items:center}
 .site-header>.gg-header>.gg-header-call{display:none}
 .site-header>.gg-header>.gg-brand{grid-column:1;grid-row:1;min-width:0;max-width:100%;gap:8px;justify-self:start}
 .site-header .gg-brand .gg-brand-mark{font-size:32px}
 .site-header .gg-brand>span:last-child{font-size:12px;line-height:1.25;letter-spacing:.02em;max-width:110px}
 .site-header>.gg-header>.theme-toggle{grid-column:2;grid-row:1;justify-self:center;margin:0;width:44px;min-width:44px;height:54px}
 .site-header>.gg-header>.gg-menu-toggle{grid-column:3;grid-row:1;justify-self:end;display:flex;align-items:center;justify-content:flex-end;margin:0;padding:0;min-width:70px;width:70px;height:48px;gap:6px;font-size:14px}
 .site-header>.gg-header>.gg-menu-toggle .ui-icon{width:20px;height:20px;flex:0 0 20px}
 .site-header>.gg-header>.gg-navigation{grid-column:1/-1;grid-row:2;margin:12px 0 0;min-width:0;width:100%;justify-content:flex-start}
}
@media(max-width:360px){
 .site-header>.gg-header{column-gap:6px}
}

.gg-hero-circle{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:650px){.site-header>.gg-header>.gg-brand{min-height:48px}}

/* Clear service selection and a direct route out of an empty catalogue. */
.gg-selection-help{font-size:16px;line-height:1.6;color:var(--gg-cream);margin:-10px 0 25px}
.gg-service-bottom>[data-list-label]{font:inherit;line-height:1.4}
.equipment-empty .button{margin-top:16px}

/* Interactive outlines have stronger contrast than decorative card dividers. */
.category-filters button:not([aria-pressed=true]),.search-label,.product-dialog-close{border-color:var(--control-border)}
.enlarge-product{border-color:var(--pal-control,#68735b)}

/* Restore V1's original leaf-and-full-name lock-up; HE&L stays in ordinary copy. */
.v1-brand{gap:12px;min-width:0;align-items:center}
.site-footer .v1-brand{flex-shrink:0}
:is(.site-header,.site-footer) .v1-brand>.v1-logo-leaves{width:43px;height:80px;flex:0 0 43px;background:none;padding:0;border-radius:0;object-fit:contain;filter:none!important}
:is(.site-header,.site-footer) .v1-brand>span.v1-brand-type{min-width:0;max-width:none;font-size:22px;line-height:1.02;letter-spacing:0}
.v1-brand-name{display:block;font-family:'Arial Black','Helvetica Neue',Arial,sans-serif;font-weight:900;font-size:inherit;line-height:1.02;letter-spacing:-.055em;color:var(--pal-paper,#f7f4df)}
.v1-brand-tagline{display:block;font:700 12px/1.35 var(--sans);letter-spacing:.06em;margin-top:8px;color:var(--pal-paper,#f7f4df)}
.admin-body .studio-brand .v1-admin-name{display:block;font:900 16px/1.04 'Arial Black','Helvetica Neue',Arial,sans-serif;letter-spacing:-.055em}
.admin-sidebar .studio-brand>img{width:34px;height:64px;flex:0 0 34px;background:none;border-radius:0;padding:0;object-fit:contain}
.admin-sidebar .studio-brand{gap:9px;align-items:center}
.admin-sidebar .studio-brand small{font-size:12px;margin-top:6px}
@media(max-width:1150px){
 .site-header .v1-brand>span.v1-brand-type{font-size:20px}
 .site-header .v1-brand-tagline{font-size:12px;letter-spacing:.025em}
}
@media(max-width:650px){
 .site-header>.gg-header>.v1-brand{gap:8px;min-width:0;max-width:100%;min-height:48px}
 .site-header .v1-brand>.v1-logo-leaves{width:clamp(28px,8.5vw,36px);height:clamp(40px,12vw,50px);flex:0 0 auto;padding:2px;border-radius:4px}
 .site-header .v1-brand>span.v1-brand-type{font-size:clamp(14px,4.5vw,18px);line-height:1.02;letter-spacing:0;min-width:0;max-width:none}
 .site-header .v1-brand-tagline{display:none}
 .site-footer .v1-brand>span.v1-brand-type{font-size:20px}
 .site-footer .v1-brand-tagline{white-space:normal;font-size:12px;letter-spacing:.025em}
}

/* Keep every chosen garden service visible beside the enquiry fields. */
.selected-services-summary{margin:-6px 0 24px;padding:18px 20px;border:1px solid var(--pal-control,#68735b);border-radius:12px;background:var(--pal-stone,#efecd8);color:var(--pal-ink,#20251e)}
.selected-services-summary[hidden]{display:none}
.selected-services-summary p{margin:0 0 10px;font-size:16px;line-height:1.5}
.selected-services-summary ul{list-style:none;margin:0 0 14px;padding:0;font-size:16px;line-height:1.6}
.selected-services-summary li+li{margin-top:4px}
.selected-services-summary .selected-services-help{margin:0;font-size:14px}
.selected-services-summary a{color:var(--pal-forest,#07563f)}

.selected-services-summary li{position:relative;padding-left:26px}
.selected-services-summary li::before{content:"";position:absolute;left:0;top:.25em;width:18px;height:18px;background:var(--pal-forest,#07563f);mask:url("/assets/icons/check.svg") center/contain no-repeat}

/* The logo-only scheme uses the two remaining original leaf shades here. */
.gg-service:nth-of-type(1){background:var(--pal-serviceOne,var(--gg-cream))}
.gg-service:nth-of-type(2){background:var(--pal-serviceTwo,var(--gg-cream))}
