.ts-gwork-grid { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 14px; max-width: 1080px; margin: 0 auto;}.ts-gwork-grid > * { flex: 0 1 calc((100% - 28px) / 3); max-width: calc((100% - 28px) / 3); min-width: 260px;}@media (max-width: 768px) { .ts-gwork-grid { gap: 10px; } .ts-gwork-grid > * { flex: 0 1 calc((100% - 10px) / 2); max-width: calc((100% - 10px) / 2); min-width: 0; }}@media (max-width: 460px) { .ts-gwork-grid > * { flex: 0 1 100%; max-width: 100%; }}.ts-prune-bad { grid-column: 1 / -1 !important; max-width: 680px; margin-left: auto !important; margin-right: auto !important; width: 100%;}.ts-tip-box { text-align: left !important; }.ts-tip-box > h3 { text-align: center !important; }.ts-tip-list { text-align: left !important; max-width: 820px; margin: 0 auto !important; padding-left: 1.15em; list-style: disc;}.ts-tip-list li { display: list-item !important; text-align: left !important; margin-bottom: .6em; line-height: 1.7;}.ts-tip-list li > strong { display: inline !important; margin-right: .25em; }.ts-tip-list li > a { display: inline !important; white-space: normal; }[id^="cat-"] { display: block !important;}[id^="cat-"] > * { max-width: 900px; margin-left: auto !important; margin-right: auto !important;}[id^="cat-"] > h2,[id^="cat-"] > h3 { text-align: center !important; max-width: 900px;}[id^="cat-"] details,[id^="cat-"] .ts-faq-item { max-width: 900px; margin-left: auto !important; margin-right: auto !important;}a.ts-svc-card,a.ts-svc-card * { text-decoration: none !important;}a.ts-svc-card h3,a.ts-svc-card p { text-decoration: none !important;}a.ts-svc-card p a:not(.ts-cta-link) { text-decoration: underline !important;}.ts-svc-grid { align-items: stretch; }.ts-svc-grid > * { height: 100%; }.ts-svc-mini,a.ts-svc-mini,a.ts-svc-mini * { text-decoration: none !important; }.ts-species-grid { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 18px; }.ts-species-grid > * { flex: 0 1 calc((100% - 72px) / 5); min-width: 220px; }@media (max-width: 900px) { .ts-species-grid > * { flex: 0 1 calc((100% - 36px) / 3); } }@media (max-width: 560px) { .ts-species-grid > * { flex: 0 1 100%; } }
.ts-btn-p::after,.tsh-cta::after,.tsh-mcall::after,.tsd-fab a::after,.tsf-cta::after,.ts-svc-grid a::after,.ts-btn::after,a.ts-svc-card .ts-card-cta,.ts-svc-grid a.ts-svc-card span.ts-card-cta,.ts-stat::before{animation-iteration-count:3!important}.ts-hero h1,.ts-page-top h1,.ts-hero-inner h1{animation:none!important;opacity:1!important;transform:none!important}@media(prefers-reduced-motion:reduce){.ts-btn-p::after,.tsh-cta::after,.tsh-mcall::after,.tsd-fab a::after,.tsf-cta::after,.ts-svc-grid a::after,.ts-btn::after,a.ts-svc-card .ts-card-cta,.ts-svc-grid a.ts-svc-card span.ts-card-cta,.ts-stat::before,.ts-hero-inner::before,.ts-page-top::before{animation:none!important}}
/* ---------- 1. one container width sitewide ---------- */
.ts-wrap{max-width:1600px !important;margin-left:auto !important;margin-right:auto !important}
@media(max-width:1640px){.ts-wrap{max-width:calc(100% - 40px) !important}}
/* BAND ALIGNMENT 2026-07-26: header/content/footer were three different widths. Section gutter removed so content uses the same box as the footer; footer escapes its Elementor 20px gutter above 1640. */
section:has(> .ts-wrap){padding-left:0 !important;padding-right:0 !important}
@media(min-width:1641px){.tsf-wrap{margin-left:-20px !important;margin-right:-20px !important}}
.tsf-wrap{max-width:1600px !important}
@media(max-width:1640px){.tsf-wrap{max-width:calc(100% - 40px) !important}}
/* MOBILE GUTTER FIX 2026-07-25 */
@media(max-width:768px){
  section:has(> .ts-wrap){padding-left:0 !important;padding-right:0 !important}
  .ts-wrap{max-width:100% !important;margin-left:0 !important;margin-right:0 !important;padding-left:18px !important;padding-right:18px !important}
  body section:not([class]) > .ts-wrap.ts-wrap.ts-wrap{padding-left:20px !important;padding-right:20px !important}
  .tsf-bottom{flex-wrap:wrap !important;row-gap:10px !important}
  .tsf-bottom > *{width:100% !important;min-width:0 !important}
  .tsf-bottom nav{flex-wrap:wrap !important}
  /* HERO WIDTH 2026-07-25: hero text column was 267px on a 390px phone (ast-container 20 + hero 14 + hero-inner 20 per side). Hero now goes edge to edge with a single 16px gutter. */
  .ts-hero{margin-left:-20px !important;margin-right:-20px !important}
  .ts-hero{padding-left:0 !important;padding-right:0 !important}
  .ts-hero-inner{max-width:100% !important;padding-left:16px !important;padding-right:16px !important}
}

/* ---------- 2. one in-content link colour (never green) ---------- */
.ts-wrap p a:not(.ts-cta-link):not([class*=btn]):not([class*=chip]):not([class*=pill]),
.ts-wrap li a:not(.ts-cta-link):not([class*=btn]),
.ts-wrap td a:not(.ts-cta-link),
.ts-svc-card p a:not(.ts-cta-link){
  color:#92400e !important;
  text-decoration:underline !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:2px !important;
}
.ts-wrap p a:not(.ts-cta-link):hover,
.ts-wrap li a:not(.ts-cta-link):hover,
.ts-svc-card p a:not(.ts-cta-link):hover{color:#d4a017 !important}

/* on dark green bands the darker gold is unreadable — use bright gold */
.tsgb-band .ts-wrap p a:not(.ts-cta-link),
.tsgb-band .ts-wrap li a:not(.ts-cta-link),
.tsd-on-dark p a:not(.ts-cta-link),
.tsd-on-dark li a:not(.ts-cta-link){color:#f5c518 !important}
.tsgb-band .ts-wrap p a:not(.ts-cta-link):hover,
.tsd-on-dark p a:not(.ts-cta-link):hover{color:#fbbf24 !important}

/* ---------- 3 + 4. stars and the Google Review label, always gold ---------- */
.tsd-stars, .tsd-stars *{color:#f5c518 !important;letter-spacing:2px !important}
.tsd-goldlabel{color:#f5c518 !important;font-weight:700 !important}

/* ---------- 5. testimonial: stars above the quote ---------- */
.tsd-testimonial{display:flex !important;flex-direction:column !important;align-items:center !important;text-align:center !important;gap:10px !important}
.tsd-testimonial .tsd-stars{order:-1 !important;font-size:1.5rem !important;line-height:1 !important;margin:0 0 4px !important}
.tsd-testimonial p{margin:0 !important}
@media(max-width:768px){
  .tsd-testimonial{gap:8px !important}
  .tsd-testimonial .tsd-stars{font-size:1.35rem !important}
}
:root{ --tsd-link:#8a6a00; --tsd-link-hover:#6d5400; --tsd-link-dark:#fbbf24; --tsd-link-dark-hover:#fcd34d; }

/* ---------- every editorial link, light backgrounds ---------- */
main a:not([class*="btn"]):not([class*="button"]):not(.ts-cta-link):not([class*="chip"]):not([class*="pill"]):not([class*="logo"]),
article a:not([class*="btn"]):not([class*="button"]):not(.ts-cta-link),
.entry-content a:not([class*="btn"]):not([class*="button"]):not(.ts-cta-link),
.ts-wrap p a:not(.ts-cta-link):not([class*="btn"]),
.ts-wrap li a:not(.ts-cta-link):not([class*="btn"]),
.ts-wrap td a:not(.ts-cta-link),
.elementor-widget-text-editor a:not([class*="btn"]):not([class*="elementor-button"]),
.elementor-widget-theme-post-content a:not([class*="btn"]):not([class*="elementor-button"]),
#tsd-interlinks a:not([class*="btn"]),
#tsd-interlinks li a,
.tsd-interlinks a:not([class*="btn"]),
.ts-svc-card p a:not(.ts-cta-link){
  color: var(--tsd-link) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 2px !important;
}
main a:not([class*="btn"]):not([class*="button"]):not(.ts-cta-link):hover,
article a:not([class*="btn"]):not([class*="button"]):hover,
.entry-content a:not([class*="btn"]):not([class*="button"]):hover,
.elementor-widget-text-editor a:not([class*="btn"]):hover{
  color: var(--tsd-link-hover) !important;
}

/* ---------- dark bands need the bright gold for contrast ---------- */
.tsgb-band a:not([class*="btn"]):not(.ts-cta-link),
.tsd-on-dark a:not([class*="btn"]):not(.ts-cta-link),
.ts-dark a:not([class*="btn"]):not(.ts-cta-link),
[data-tsd-dark] a:not([class*="btn"]):not(.ts-cta-link){
  color: var(--tsd-link-dark) !important;
}
.tsgb-band a:not([class*="btn"]):hover,
.tsd-on-dark a:not([class*="btn"]):hover,
[data-tsd-dark] a:not([class*="btn"]):hover{
  color: var(--tsd-link-dark-hover) !important;
}

/* ---------- never repaint interface chrome ---------- */
header a, footer a, nav a,
.elementor-button, a.elementor-button,
[class*="breadcrumb"] a, .skip-link,
a[class*="logo"], a img { color: inherit !important; text-decoration: none !important; }
header a, footer a, nav a { text-decoration: none !important; }