/* Atkinson static-page polish layer.
   This intentionally sits on top of the scraped WordPress/Thrive HTML.
   It preserves content, images, links, forms, and section order while improving
   typography, spacing, image treatment, and visual consistency. */
:root {
  --alc-ink: #10211e;
  --alc-text: #33413f;
  --alc-muted: #66706d;
  --alc-bg: #f6f8f5;
  --alc-card: #ffffff;
  --alc-teal: #169c8f;
  --alc-teal-dark: #0f746b;
  --alc-line: rgba(16, 33, 30, 0.12);
  --alc-shadow: 0 22px 70px rgba(16, 33, 30, 0.10);
  --alc-radius: 22px;
  --alc-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

html {
  scroll-behavior: smooth;
  background: var(--alc-bg);
}

body {
  margin: 0;
  background: var(--alc-bg) !important;
  color: var(--alc-text) !important;
  font-family: var(--alc-font) !important;
  font-size: 18px !important;
  line-height: 1.68 !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body .tcb-style-wrap,
body .tve_shortcode_editor,
body #content,
body .main-container {
  background: var(--alc-bg) !important;
}

body .tve-page-section-in,
body .section-content,
body .main-container.thrv_wrapper > .theme-section > .section-content {
  max-width: 1120px !important;
  width: min(1120px, calc(100% - 40px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body .thrv-page-section,
body .theme-section.content-section {
  padding-top: clamp(42px, 6vw, 86px) !important;
  padding-bottom: clamp(42px, 6vw, 86px) !important;
}

body .thrv-page-section:nth-of-type(even),
body .theme-section.content-section:nth-of-type(even) {
  background: #ffffff !important;
}

body h1,
body h2,
body h3,
body h4,
body h5 {
  color: var(--alc-ink) !important;
  font-family: var(--alc-font) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  text-wrap: balance;
}

body h1 {
  margin: 0 0 22px !important;
  font-size: clamp(34px, 4.2vw, 52px) !important;
  line-height: 1.08 !important;
}

body h2 {
  margin: 0 0 16px !important;
  font-size: clamp(26px, 3vw, 38px) !important;
  line-height: 1.14 !important;
}

body h3 {
  margin: 0 0 12px !important;
  font-size: clamp(21px, 2vw, 28px) !important;
  line-height: 1.2 !important;
}

body h4,
body h5 {
  margin: 0 0 10px !important;
  font-size: clamp(18px, 1.45vw, 22px) !important;
  line-height: 1.26 !important;
  letter-spacing: -0.015em !important;
}

body p,
body li,
body td,
body th,
body label {
  color: var(--alc-text) !important;
  font-family: var(--alc-font) !important;
  font-size: clamp(16px, 1.25vw, 18px) !important;
  line-height: 1.76 !important;
  letter-spacing: -0.01em !important;
}

body p {
  margin-top: 0 !important;
  margin-bottom: 1.05em !important;
}

body ul,
body ol {
  padding-left: 1.35em !important;
}

body li + li {
  margin-top: 0.35em !important;
}

body a {
  color: var(--alc-teal-dark) !important;
  text-decoration: none !important;
  text-underline-offset: 0.18em;
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

body a:hover {
  color: var(--alc-teal) !important;
  text-decoration: underline !important;
}

body img {
  max-width: 100%;
  height: auto;
}

body .tve_image_frame,
body .thrv_wrapper.thrv_image,
body figure,
body .gallery-item,
body .tcb-flex-col:has(img) {
  overflow: hidden;
  border-radius: var(--alc-radius) !important;
}

body .tve_image_frame img,
body .thrv_wrapper.thrv_image img,
body figure img,
body .gallery-item img,
body img.tve_image,
body img.wp-image {
  border-radius: var(--alc-radius) !important;
  box-shadow: var(--alc-shadow) !important;
}

body .thrv_wrapper.thrv_text_element,
body .thrv_wrapper.thrv-columns,
body .thrv_wrapper.thrv_contentbox_shortcode,
body .thrv_wrapper.thrv_toggle_shortcode,
body .thrv_wrapper.thrv_custom_html_shortcode {
  margin-top: 0 !important;
  margin-bottom: clamp(18px, 2.8vw, 34px) !important;
}

body .alc-page-title {
  max-width: 1120px !important;
  margin: 0 auto clamp(20px, 3vw, 36px) !important;
}

body .alc-page-title h1 {
  margin-bottom: 0 !important;
}

body .tcb-flex-row {
  gap: clamp(22px, 3vw, 42px) !important;
}

body .tcb-flex-col {
  min-width: 0;
}

body .thrv_wrapper.thrv_contentbox_shortcode,
body .thrv_toggle,
body details,
body form,
body iframe {
  border-radius: var(--alc-radius) !important;
}

body iframe {
  max-width: 100% !important;
  border: 0 !important;
  box-shadow: 0 18px 45px rgba(16, 33, 30, 0.10) !important;
}

body input,
body select,
body textarea,
body button {
  font-family: var(--alc-font) !important;
  border-radius: 14px !important;
}

body input,
body select,
body textarea {
  border: 1px solid var(--alc-line) !important;
  padding: 12px 14px !important;
}

body button,
body input[type="submit"],
body .tcb-button-link,
body a.tcb-button-link {
  border-radius: 999px !important;
  background: var(--alc-teal) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  letter-spacing: 0.03em !important;
  box-shadow: 0 12px 30px rgba(22, 156, 143, 0.22) !important;
}

body .thrv_symbol.thrv_header {
  background: linear-gradient(135deg, #169c8f 0%, #0f746b 100%) !important;
  box-shadow: 0 1px 0 rgba(16, 33, 30, 0.08), 0 16px 42px rgba(16, 33, 30, 0.10) !important;
}

body header {
  background: #ffffff !important;
  box-shadow: 0 1px 0 rgba(16, 33, 30, 0.08) !important;
}

body .thrv_symbol.thrv_header a,
body .thrv_symbol.thrv_header p,
body .thrv_symbol.thrv_header li,
body .thrv_symbol.thrv_header span {
  color: #ffffff !important;
}

body .thrv_symbol.thrv_header img {
  filter: drop-shadow(0 3px 10px rgba(0,0,0,0.18));
}

body #wrapper > .thrv_wrapper:first-child:empty {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body #wrapper > #content {
  padding-top: clamp(116px, 10vw, 136px) !important;
  box-sizing: border-box !important;
}

body .thrv_symbol.thrv_header .tcb-star,
body .thrv_symbol.thrv_header .tcb-default-icon.icon-star-solid {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

body .tcb-carousel-arrow.slick-arrow {
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.92) !important;
  box-shadow: 0 10px 28px rgba(16, 33, 30, 0.16) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0.9 !important;
}

body .tcb-carousel-arrow.slick-arrow svg,
body .tcb-carousel-dots svg {
  width: 14px !important;
  height: 14px !important;
  fill: var(--alc-teal-dark) !important;
}

body .slick-list,
body .slick-track,
body .slick-slide {
  min-height: 1px !important;
}

body .tcb-image-gallery-container {
  border-radius: var(--alc-radius) !important;
  overflow: hidden !important;
}

body .thrv_symbol.thrv_footer,
body footer {
  background: #10211e !important;
  color: rgba(255,255,255,0.78) !important;
}

body .thrv_symbol.thrv_footer p,
body .thrv_symbol.thrv_footer li,
body .thrv_symbol.thrv_footer a,
body footer p,
body footer li,
body footer a {
  color: rgba(255,255,255,0.78) !important;
}

body .thrv_symbol.thrv_footer strong,
body footer strong {
  color: #ffffff !important;
}

/* Keep the original Atkinson header/banner artwork intact on every scraped page.
   The live WordPress header uses a white-left / teal-right curved graphic plus
   an overlapping bear mascot. The general polish image/card rules above were
   clipping that artwork and flattening the whole banner to teal, so these
   header-scoped overrides restore the original half-white banner treatment. */
body .thrv_symbol.thrv_header {
  background: transparent !important;
  box-shadow: none !important;
}

body .thrv_symbol.thrv_header .symbol-section-out,
body .thrv_symbol.thrv_header header {
  background-color: #ffffff !important;
}

body .thrv_symbol.thrv_header .tcb-flex-col,
body .thrv_symbol.thrv_header .tcb-flex-col:has(img),
body .thrv_symbol.thrv_header .tve_image_frame,
body .thrv_symbol.thrv_header .thrv_wrapper.thrv_image,
body .thrv_symbol.thrv_header figure,
body .thrv_symbol.thrv_header .gallery-item {
  overflow: visible !important;
  border-radius: 0 !important;
}

body .thrv_symbol.thrv_header img,
body .thrv_symbol.thrv_header .tve_image_frame img,
body .thrv_symbol.thrv_header .thrv_wrapper.thrv_image img,
body .thrv_symbol.thrv_header img.tve_image,
body .thrv_symbol.thrv_header img.wp-image {
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

body .thrv_symbol.thrv_header .tve_w_menu a,
body .thrv_symbol.thrv_header .tve_w_menu li,
body .thrv_symbol.thrv_header .tve_w_menu span {
  color: #6a6b6c !important;
}

body .thrv_symbol.thrv_header p,
body .thrv_symbol.thrv_header p a {
  color: #ffffff !important;
}

body #tve_editor > .thrv_wrapper:first-child:not(.thrv_symbol) {
  height: 286px !important;
  min-height: 286px !important;
}

body #tve_editor > .landingpage-section.hide-section + .thrv-page-section {
  margin-top: clamp(18px, 3vw, 34px) !important;
}

@media (max-width: 767px) {
  body .tve-page-section-in,
  body .section-content,
  body .main-container.thrv_wrapper > .theme-section > .section-content {
    width: min(100% - 28px, 1120px) !important;
  }

  body .thrv-page-section,
  body .theme-section.content-section {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
  }

  body h1 {
    font-size: clamp(32px, 9vw, 44px) !important;
  }

  body h2 {
    font-size: clamp(24px, 7vw, 34px) !important;
  }

  body h3 {
    font-size: clamp(20px, 5.8vw, 26px) !important;
  }

  body .tcb-flex-row {
    gap: 22px !important;
  }
}


/* Deeper site polish pass: consistent hierarchy, media sizing, and section rhythm.
   These rules intentionally come late so they override Thrive's page-level data-css
   styles while preserving the original text, routes, and WordPress structure. */
body #content h1,
body #content h1 *,
body #tve_editor h1,
body #tve_editor h1 *,
body #content h2,
body #content h2 *,
body #tve_editor h2,
body #tve_editor h2 *,
body #content h3,
body #content h3 *,
body #tve_editor h3,
body #tve_editor h3 *,
body #content h4,
body #content h4 *,
body #tve_editor h4,
body #tve_editor h4 * {
  font-family: var(--alc-font) !important;
  letter-spacing: -0.022em !important;
  text-transform: none !important;
}

body #content h1,
body #tve_editor h1 {
  font-size: clamp(32px, 3.8vw, 48px) !important;
  line-height: 1.12 !important;
  margin: 0 0 clamp(16px, 2vw, 24px) !important;
}

body #content h2,
body #tve_editor h2,
body article.post-wrapper h2,
body article.post-wrapper h2 * {
  font-size: clamp(24px, 2.45vw, 34px) !important;
  line-height: 1.16 !important;
  margin: 0 0 clamp(12px, 1.8vw, 20px) !important;
}

body #content h3,
body #tve_editor h3,
body #content h3 *,
body #tve_editor h3 * {
  font-size: clamp(19px, 1.65vw, 25px) !important;
  line-height: 1.24 !important;
  margin: 0 0 12px !important;
}

body #content h4,
body #tve_editor h4,
body #content h4 *,
body #tve_editor h4 * {
  font-size: clamp(16px, 1.22vw, 20px) !important;
  line-height: 1.3 !important;
  margin: 0 0 10px !important;
}

body .thrv-page-section,
body .theme-section.content-section {
  padding-top: clamp(30px, 4.2vw, 62px) !important;
  padding-bottom: clamp(30px, 4.2vw, 62px) !important;
}

body #content .thrv_wrapper.thrv_text_element,
body #tve_editor .thrv_wrapper.thrv_text_element,
body #content .thrv_wrapper.thrv-columns,
body #tve_editor .thrv_wrapper.thrv-columns,
body #content .thrv_wrapper.thrv_contentbox_shortcode,
body #tve_editor .thrv_wrapper.thrv_contentbox_shortcode {
  margin-bottom: clamp(14px, 2.1vw, 26px) !important;
}

body #content p,
body #tve_editor p,
body #content li,
body #tve_editor li {
  max-width: 78ch;
}

body #content .tcb-flex-row,
body #tve_editor .tcb-flex-row {
  gap: clamp(18px, 2.4vw, 34px) !important;
}

body #content .tve_image_frame img,
body #content .thrv_wrapper.thrv_image img,
body #content img.tve_image,
body #tve_editor .tve_image_frame img,
body #tve_editor .thrv_wrapper.thrv_image img,
body #tve_editor img.tve_image {
  object-fit: cover !important;
  object-position: center !important;
}

body #content .tcb-image-gallery-container img,
body #tve_editor .tcb-image-gallery-container img,
body #content .tcb-image-gallery-container .tve_image,
body #tve_editor .tcb-image-gallery-container .tve_image {
  height: clamp(170px, 20vw, 230px) !important;
  width: 100% !important;
  object-fit: cover !important;
}

body #content .slick-slide img,
body #tve_editor .slick-slide img {
  min-height: 170px !important;
  background: #e8eeeb !important;
}

body #content .thrv_wrapper.thrv_image,
body #tve_editor .thrv_wrapper.thrv_image,
body #content .tve_image_frame,
body #tve_editor .tve_image_frame {
  background: #eef3f0 !important;
}

body article.post-wrapper {
  max-width: 860px !important;
  margin: 0 auto clamp(34px, 5vw, 58px) !important;
  padding: 0 0 clamp(26px, 3vw, 38px) !important;
  border-bottom: 1px solid var(--alc-line) !important;
}

body article.post-wrapper .thrv_contentbox_shortcode {
  width: 100% !important;
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 16px 44px rgba(16, 33, 30, 0.10) !important;
}

body article.post-wrapper .tve-content-box-background {
  min-height: clamp(230px, 32vw, 340px) !important;
  height: clamp(230px, 32vw, 340px) !important;
  background-size: cover !important;
  background-position: center !important;
  border-radius: 18px !important;
}

body article.post-wrapper h2,
body article.post-wrapper h2 * {
  color: var(--alc-ink) !important;
  font-weight: 760 !important;
  text-align: center !important;
}

body article.post-wrapper > p,
body article.post-wrapper p:not(.tve_empty_dropzone) {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
}

body article.post-wrapper .tcb-button-link,
body article.post-wrapper a.tcb-button-link {
  min-height: 42px !important;
  padding: 10px 22px !important;
}

body article.post-wrapper .tve-content-box-background + .tve-cb p,
body article.post-wrapper .tve-cb p {
  display: inline-flex !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  margin: 12px !important;
}

body article.post-wrapper .tve-cb p a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  background: rgba(22, 156, 143, 0.92) !important;
  color: #fff !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 750 !important;
  letter-spacing: 0.03em !important;
}

body .tcb-button-link,
body a.tcb-button-link,
body button,
body input[type="submit"] {
  min-height: 42px !important;
  padding: 10px 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body .thrv_symbol.thrv_header .tcb-button-link,
body .thrv_symbol.thrv_header a.tcb-button-link {
  min-height: initial !important;
  padding: initial !important;
}

body .thrv_toggle,
body .thrv_wrapper.thrv_toggle_shortcode {
  border: 1px solid var(--alc-line) !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(16, 33, 30, 0.06) !important;
}

body .pagination,
body .nav-links,
body .page-numbers {
  color: var(--alc-teal-dark) !important;
}

@media (max-width: 767px) {
  body #content h1,
  body #tve_editor h1 {
    font-size: clamp(30px, 8vw, 40px) !important;
  }

  body #content h2,
  body #tve_editor h2,
  body article.post-wrapper h2,
  body article.post-wrapper h2 * {
    font-size: clamp(23px, 6.2vw, 30px) !important;
  }

  body article.post-wrapper {
    width: min(100% - 28px, 860px) !important;
  }
}


/* Archive/card refinements from visual QA. */
body #wrapper > #content {
  padding-top: clamp(132px, 10vw, 154px) !important;
}

body article.post-wrapper {
  width: min(860px, calc(100% - 40px)) !important;
  max-width: 860px !important;
}

body article.post-wrapper .thrv_contentbox_shortcode,
body article.post-wrapper .thrv-content-box {
  width: 100% !important;
  max-width: 860px !important;
}

body article.post-wrapper .tve-content-box-background {
  min-height: clamp(240px, 30vw, 330px) !important;
  height: clamp(240px, 30vw, 330px) !important;
}

body article.post-wrapper h2 {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-top: 4px !important;
}

body article.post-wrapper > p {
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}

body article.post-wrapper .thrv-button,
body article.post-wrapper .thrv_wrapper.thrv-button {
  margin-top: 8px !important;
  margin-bottom: 0 !important;
}

body .tcb-pagination,
body .tcb-post-list-pagination,
body .thrv_wrapper:has(.tcb-pagination-button-link) {
  width: min(860px, calc(100% - 40px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
}

body a.tcb-pagination-button-link,
body .tcb-pagination-button-link {
  background: #ffffff !important;
  color: var(--alc-teal-dark) !important;
  border: 1px solid rgba(15,116,107,0.26) !important;
  box-shadow: 0 8px 20px rgba(16,33,30,0.08) !important;
  min-width: 42px !important;
  min-height: 42px !important;
}

body a.tcb-pagination-button-link *,
body .tcb-pagination-button-link * {
  color: var(--alc-teal-dark) !important;
}

body a.tcb-pagination-button-link:hover,
body .tcb-pagination-button-link:hover {
  background: var(--alc-teal) !important;
  color: #ffffff !important;
  border-color: var(--alc-teal) !important;
}

body a.tcb-pagination-button-link:hover *,
body .tcb-pagination-button-link:hover * {
  color: #ffffff !important;
}

body .thrv_symbol.thrv_header p,
body .thrv_symbol.thrv_header p a {
  max-width: none !important;
}


/* Final archive alignment and pagination contrast fix. */
html body.blog #wrapper > #content,
html body.archive #wrapper > #content {
  padding-top: clamp(156px, 11vw, 178px) !important;
}

html body.blog #wrapper #content article.post-wrapper,
html body.archive #wrapper #content article.post-wrapper {
  width: min(760px, calc(100% - 40px)) !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

html body.blog #wrapper #content article.post-wrapper .thrv_wrapper.thrv_contentbox_shortcode.thrv-content-box,
html body.archive #wrapper #content article.post-wrapper .thrv_wrapper.thrv_contentbox_shortcode.thrv-content-box,
html body.blog #wrapper #content article.post-wrapper .thrv_wrapper.thrv-content-box,
html body.archive #wrapper #content article.post-wrapper .thrv_wrapper.thrv-content-box {
  width: 100% !important;
  max-width: 760px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}

html body.blog #wrapper #content article.post-wrapper .tve-content-box-background,
html body.archive #wrapper #content article.post-wrapper .tve-content-box-background {
  width: 100% !important;
}

html body.blog #wrapper #content article.post-wrapper .tcb-post-content,
html body.archive #wrapper #content article.post-wrapper .tcb-post-content {
  width: min(680px, 100%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

html body.blog #wrapper #content .tcb-pagination-button-link,
html body.archive #wrapper #content .tcb-pagination-button-link,
html body.blog #wrapper #content a.tcb-pagination-button-link,
html body.archive #wrapper #content a.tcb-pagination-button-link {
  background: #f0f6f4 !important;
  border: 1px solid rgba(15,116,107,0.35) !important;
  color: var(--alc-teal-dark) !important;
  opacity: 1 !important;
}

html body.blog #wrapper #content .tcb-pagination-button-link span,
html body.archive #wrapper #content .tcb-pagination-button-link span,
html body.blog #wrapper #content .tcb-pagination-button-link *,
html body.archive #wrapper #content .tcb-pagination-button-link * {
  color: var(--alc-teal-dark) !important;
  opacity: 1 !important;
}

html body.blog #wrapper #content .tcb-pagination-button-link[aria-current="page"],
html body.archive #wrapper #content .tcb-pagination-button-link[aria-current="page"] {
  background: var(--alc-teal) !important;
  color: #fff !important;
}

@media (max-width: 767px) {
  html body.blog #wrapper > #content,
  html body.archive #wrapper > #content {
    padding-top: clamp(128px, 28vw, 156px) !important;
  }
}


/* Targeted cleanup after Adam's visual QA: service-card image uniformity and header asset isolation. */
body.home img[data-id="1647"],
body.home img[data-id="426"],
body.home img[data-id="1308"],
body.page-id-118 img[data-id="1647"],
body.page-id-118 img[data-id="426"],
body.page-id-118 img[data-id="1308"] {
  width: 100% !important;
  height: 220px !important;
  max-height: 220px !important;
  min-height: 220px !important;
  object-fit: cover !important;
  object-position: center center !important;
  margin: 0 !important;
  aspect-ratio: 16 / 11 !important;
  display: block !important;
}

body.home .tve_image_caption:has(img[data-id="1647"]),
body.home .tve_image_caption:has(img[data-id="426"]),
body.home .tve_image_caption:has(img[data-id="1308"]),
body.page-id-118 .tve_image_caption:has(img[data-id="1647"]),
body.page-id-118 .tve_image_caption:has(img[data-id="426"]),
body.page-id-118 .tve_image_caption:has(img[data-id="1308"]) {
  width: 100% !important;
  height: 220px !important;
  margin-bottom: 24px !important;
  overflow: hidden !important;
  border-radius: var(--alc-radius) !important;
}

body.home .tve_image_caption:has(img[data-id="1647"]) .tve_image_frame,
body.home .tve_image_caption:has(img[data-id="426"]) .tve_image_frame,
body.home .tve_image_caption:has(img[data-id="1308"]) .tve_image_frame,
body.page-id-118 .tve_image_caption:has(img[data-id="1647"]) .tve_image_frame,
body.page-id-118 .tve_image_caption:has(img[data-id="426"]) .tve_image_frame,
body.page-id-118 .tve_image_caption:has(img[data-id="1308"]) .tve_image_frame {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  overflow: hidden !important;
}

body .thrv_symbol.thrv_header img[src*="atkinsonlandscaping-header-logo"],
body .thrv_symbol.thrv_header img[alt*="text logo"],
body header img[src*="atkinsonlandscaping-header-logo"] {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  object-fit: contain !important;
  box-sizing: border-box !important;
  display: block !important;
  position: relative !important;
  z-index: 5 !important;
}

body .thrv_symbol.thrv_header img[src*="atkinsonlandscaping-mascotangus"],
body .thrv_symbol.thrv_header img[alt*="blue bear"],
body header img[src*="atkinsonlandscaping-mascotangus"] {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  object-fit: contain !important;
  max-height: none !important;
  width: auto !important;
  display: block !important;
  position: relative !important;
  z-index: 6 !important;
}

/* The late generic media polish gives every #tve_editor image frame a pale
   placeholder background. Header logo/mascot PNGs are transparent, so that
   placeholder showed through as rectangular boxes over the curved banner. */
body #tve_editor .thrv_symbol.thrv_header .tve_image_caption:has(img[src*="atkinsonlandscaping-header-logo"]) .tve_image_frame,
body #tve_editor .thrv_symbol.thrv_header .tve_image_caption:has(img[src*="atkinsonlandscaping-mascotangus"]) .tve_image_frame,
body #tve_editor .thrv_symbol.thrv_header .tve_image_caption:has(img[alt*="text logo"]) .tve_image_frame,
body #tve_editor .thrv_symbol.thrv_header .tve_image_caption:has(img[alt*="blue bear"]) .tve_image_frame,
body #tve_editor header .tve_image_caption:has(img[src*="atkinsonlandscaping-header-logo"]) .tve_image_frame,
body #tve_editor header .tve_image_caption:has(img[src*="atkinsonlandscaping-mascotangus"]) .tve_image_frame,
body .thrv_symbol.thrv_header .tve_image_caption:has(img[src*="atkinsonlandscaping-header-logo"]) .tve_image_frame,
body .thrv_symbol.thrv_header .tve_image_caption:has(img[src*="atkinsonlandscaping-mascotangus"]) .tve_image_frame,
body .thrv_symbol.thrv_header .tve_image_caption:has(img[alt*="text logo"]) .tve_image_frame,
body .thrv_symbol.thrv_header .tve_image_caption:has(img[alt*="blue bear"]) .tve_image_frame,
body header .tve_image_caption:has(img[src*="atkinsonlandscaping-header-logo"]) .tve_image_frame,
body header .tve_image_caption:has(img[src*="atkinsonlandscaping-mascotangus"]) .tve_image_frame {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

/* Compact white inner-page header. Injected on all scraped pages except the homepage. */
body:has(.alc-compact-header) #thrive-header {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  visibility: hidden !important;
}

body .alc-compact-header {
  position: sticky;
  top: 0;
  z-index: 9999;
  width: 100%;
  background: #ffffff;
  border-top: 4px solid #202020;
  box-shadow: 0 10px 22px rgba(16, 33, 30, 0.18), 0 1px 0 rgba(16, 33, 30, 0.08);
  font-family: var(--alc-font) !important;
}

body .alc-compact-header__inner {
  min-height: 92px;
  width: min(1180px, calc(100% - 42px));
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.5vw, 34px);
}

body .alc-compact-header__logo-link {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  line-height: 0;
}

body .alc-compact-header__logo,
body .alc-compact-header__logo-link img {
  width: clamp(178px, 18vw, 236px) !important;
  height: auto !important;
  max-height: 74px !important;
  object-fit: contain !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  padding: 0 !important;
}

body .alc-compact-header__phone {
  flex: 0 0 auto;
  color: #171717 !important;
  font-weight: 800 !important;
  font-size: clamp(18px, 1.55vw, 22px) !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  white-space: nowrap;
  text-decoration: none !important;
}

body .alc-compact-header__nav {
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(16px, 2vw, 30px);
  white-space: nowrap;
}

body .alc-compact-header__nav a {
  color: #2f3332 !important;
  font-size: clamp(12px, 0.95vw, 15px) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.015em !important;
  text-decoration: none !important;
}

body .alc-compact-header__nav a:hover,
body .alc-compact-header__nav a:focus-visible {
  color: var(--alc-teal-dark) !important;
  text-decoration: none !important;
}

body .alc-compact-header__nav .alc-compact-header__quote {
  color: #238044 !important;
}

@media (max-width: 980px) {
  body .alc-compact-header__inner {
    min-height: 82px;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 20px;
    padding: 12px 0;
  }

  body .alc-compact-header__phone {
    font-size: 19px !important;
  }

  body .alc-compact-header__nav {
    flex: 1 1 100%;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-left: 0;
  }
}

@media (max-width: 560px) {
  body .alc-compact-header__inner {
    width: min(100% - 24px, 1180px);
  }

  body .alc-compact-header__logo,
  body .alc-compact-header__logo-link img {
    width: 170px !important;
  }

  body .alc-compact-header__phone {
    font-size: 18px !important;
  }

  body .alc-compact-header__nav a {
    font-size: 12px !important;
  }
}

/* Careers Atkinson Learning fidelity fix: preserve original Thrive composition. */
body #tve_editor .thrv-page-section[data-css="tve-u-1856a3538d1"],
body #content .thrv-page-section[data-css="tve-u-1856a3538d1"] {
  background: transparent !important;
  padding: 1px !important;
  margin-top: -37px !important;
  margin-bottom: 0 !important;
}

body #tve_editor .thrv-page-section[data-css="tve-u-1856a3538d1"] .tve-page-section-in[data-css="tve-u-1856a23fa53"],
body #content .thrv-page-section[data-css="tve-u-1856a3538d1"] .tve-page-section-in[data-css="tve-u-1856a23fa53"] {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  width: auto !important;
  min-height: 0 !important;
}

body #tve_editor .thrv-page-section[data-css="tve-u-1856a3538d1"] .thrv-columns[data-css="tve-u-1856a36f8a3"],
body #content .thrv-page-section[data-css="tve-u-1856a3538d1"] .thrv-columns[data-css="tve-u-1856a36f8a3"] {
  margin: -84px 100px 0 !important;
  padding: 0 !important;
  max-width: none !important;
}

body #tve_editor .thrv-page-section[data-css="tve-u-1856a3538d1"] .tcb-flex-row[data-css="tve-u-1856a30ac57"],
body #content .thrv-page-section[data-css="tve-u-1856a3538d1"] .tcb-flex-row[data-css="tve-u-1856a30ac57"] {
  gap: 0 !important;
  padding-top: 15px !important;
  padding-bottom: 11px !important;
  margin-left: -15px !important;
}

body #tve_editor .thrv-page-section[data-css="tve-u-1856a3538d1"] .tcb-flex-col[data-css="tve-u-1856a238ccd"],
body #content .thrv-page-section[data-css="tve-u-1856a3538d1"] .tcb-flex-col[data-css="tve-u-1856a238ccd"] {
  overflow: visible !important;
  border-radius: 0 !important;
}

body #tve_editor .thrv-page-section[data-css="tve-u-1856a3538d1"] .tve_image_caption[data-css="tve-u-1856a23457b"],
body #content .thrv-page-section[data-css="tve-u-1856a3538d1"] .tve_image_caption[data-css="tve-u-1856a23457b"] {
  margin: 4px 0 0 50px !important;
  padding: 0 !important;
}

body #tve_editor .thrv-page-section[data-css="tve-u-1856a3538d1"] .tve_image_caption:has(img[src*="atkinson-learning-angus-learning"]) .tve_image_frame,
body #content .thrv-page-section[data-css="tve-u-1856a3538d1"] .tve_image_caption:has(img[src*="atkinson-learning-angus-learning"]) .tve_image_frame {
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body #tve_editor .thrv-page-section[data-css="tve-u-1856a3538d1"] img[src*="atkinson-learning-angus-learning"],
body #content .thrv-page-section[data-css="tve-u-1856a3538d1"] img[src*="atkinson-learning-angus-learning"] {
  border-radius: 0 !important;
  box-shadow: none !important;
  object-fit: contain !important;
  margin-top: -53.352px !important;
  width: 100% !important;
  height: auto !important;
}

body #tve_editor .thrv-page-section[data-css="tve-u-1856a3538d1"] .thrv_text_element[data-css="tve-u-1856a25af78"],
body #content .thrv-page-section[data-css="tve-u-1856a3538d1"] .thrv_text_element[data-css="tve-u-1856a25af78"] {
  margin: 141px 0 0 !important;
  padding: 21px 20px 20px !important;
  border-radius: 60px !important;
  background-image: linear-gradient(rgba(255,255,255,0.5), rgba(255,255,255,0.5)) !important;
  background-color: transparent !important;
}

body #tve_editor .thrv-page-section[data-css="tve-u-1856a3538d1"] p[data-css="tve-u-1856a30d180"],
body #content .thrv-page-section[data-css="tve-u-1856a3538d1"] p[data-css="tve-u-1856a30d180"] {
  max-width: none !important;
  padding-bottom: 24px !important;
  margin: 0 !important;
  letter-spacing: 1px !important;
}

/* Why Us quote-process accordion width fix. Keep the original green sidebar treatment, but stop the accordion from being squeezed by the 100px right margin. */
body #tve_editor .thrv-page-section[data-css="tve-u-185a3b183af"] .tcb-col[data-css="tve-u-185a3b183b8"],
body #content .thrv-page-section[data-css="tve-u-185a3b183af"] .tcb-col[data-css="tve-u-185a3b183b8"] {
  margin-right: 0 !important;
  max-width: none !important;
}

body #tve_editor .thrv-page-section[data-css="tve-u-185a3b183af"] .tcb-clear[data-css="tve-u-185a3b183bf"],
body #content .thrv-page-section[data-css="tve-u-185a3b183af"] .tcb-clear[data-css="tve-u-185a3b183bf"],
body #tve_editor .thrv-page-section[data-css="tve-u-185a3b183af"] .thrv_text_element[data-css="tve-u-185a3b183ad"],
body #content .thrv-page-section[data-css="tve-u-185a3b183af"] .thrv_text_element[data-css="tve-u-185a3b183ad"],
body #tve_editor .thrv-page-section[data-css="tve-u-185a3b183af"] .thrv_toggle[data-css="tve-u-185a3b183b0"],
body #content .thrv-page-section[data-css="tve-u-185a3b183af"] .thrv_toggle[data-css="tve-u-185a3b183b0"] {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body #tve_editor .thrv-page-section[data-css="tve-u-185a3b183af"] .thrv_toggle[data-css="tve-u-185a3b183b0"],
body #content .thrv-page-section[data-css="tve-u-185a3b183af"] .thrv_toggle[data-css="tve-u-185a3b183b0"] {
  float: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body #tve_editor .thrv-page-section[data-css="tve-u-185a3b183af"] .thrv_toggle[data-css="tve-u-185a3b183b0"] .thrv_toggle_item,
body #content .thrv-page-section[data-css="tve-u-185a3b183af"] .thrv_toggle[data-css="tve-u-185a3b183b0"] .thrv_toggle_item,
body #tve_editor .thrv-page-section[data-css="tve-u-185a3b183af"] .thrv_toggle[data-css="tve-u-185a3b183b0"] .thrv_toggle_content,
body #content .thrv-page-section[data-css="tve-u-185a3b183af"] .thrv_toggle[data-css="tve-u-185a3b183b0"] .thrv_toggle_content {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 900px) {
  body #tve_editor .thrv-page-section[data-css="tve-u-185a3b183af"] .tcb-col[data-css="tve-u-185a3b183b8"],
  body #content .thrv-page-section[data-css="tve-u-185a3b183af"] .tcb-col[data-css="tve-u-185a3b183b8"] {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Footer logo/icon fidelity: the original footer uses transparent white-logo PNGs
   directly on the dark footer. The generic image-frame polish was adding a pale
   rounded backing behind the footer logo and Stangr icon. */
body #tve_editor .thrv_symbol.thrv_footer .tve_image_caption:has(img[src*="atkinsonlandscaping-secondary-white-logo"]) .tve_image_frame,
body #tve_editor .thrv_symbol.thrv_footer .tve_image_caption:has(img[src*="stangr.png"]) .tve_image_frame,
body #tve_editor .thrv_symbol.thrv_footer .tve_image_caption:has(img[alt*="text logo in white"]) .tve_image_frame,
body #tve_editor .thrv_symbol.thrv_footer .tve_image_caption:has(img[alt*="stangr icon"]) .tve_image_frame,
body .thrv_symbol.thrv_footer .tve_image_caption:has(img[src*="atkinsonlandscaping-secondary-white-logo"]) .tve_image_frame,
body .thrv_symbol.thrv_footer .tve_image_caption:has(img[src*="stangr.png"]) .tve_image_frame,
body .thrv_symbol.thrv_footer .tve_image_caption:has(img[alt*="text logo in white"]) .tve_image_frame,
body .thrv_symbol.thrv_footer .tve_image_caption:has(img[alt*="stangr icon"]) .tve_image_frame,
body footer .tve_image_caption:has(img[src*="atkinsonlandscaping-secondary-white-logo"]) .tve_image_frame,
body footer .tve_image_caption:has(img[src*="stangr.png"]) .tve_image_frame,
body footer .tve_image_caption:has(img[alt*="text logo in white"]) .tve_image_frame,
body footer .tve_image_caption:has(img[alt*="stangr icon"]) .tve_image_frame {
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body #tve_editor .thrv_symbol.thrv_footer img[src*="atkinsonlandscaping-secondary-white-logo"],
body #tve_editor .thrv_symbol.thrv_footer img[src*="stangr.png"],
body #tve_editor .thrv_symbol.thrv_footer img[alt*="text logo in white"],
body #tve_editor .thrv_symbol.thrv_footer img[alt*="stangr icon"],
body .thrv_symbol.thrv_footer img[src*="atkinsonlandscaping-secondary-white-logo"],
body .thrv_symbol.thrv_footer img[src*="stangr.png"],
body .thrv_symbol.thrv_footer img[alt*="text logo in white"],
body .thrv_symbol.thrv_footer img[alt*="stangr icon"],
body footer img[src*="atkinsonlandscaping-secondary-white-logo"],
body footer img[src*="stangr.png"],
body footer img[alt*="text logo in white"],
body footer img[alt*="stangr icon"] {
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Homepage service cards alignment: keep title sizing uniform and align body copy/CTA rows. */
body.home #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b632a883"],
body.home #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b63288d7"],
body.home #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b6322f4f"],
body.page-id-118 #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b632a883"],
body.page-id-118 #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b63288d7"],
body.page-id-118 #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b6322f4f"] {
  height: 100% !important;
}

body.home #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b632a883"] > .tve-cb,
body.home #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b63288d7"] > .tve-cb,
body.home #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b6322f4f"] > .tve-cb,
body.page-id-118 #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b632a883"] > .tve-cb,
body.page-id-118 #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b63288d7"] > .tve-cb,
body.page-id-118 #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b6322f4f"] > .tve-cb {
  min-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

body.home #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b632a883"] .thrv_text_element[data-css="tve-u-185b20184d3"],
body.home #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b63288d7"] .thrv_text_element[data-css="tve-u-185b20184d3"],
body.home #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b6322f4f"] .thrv_text_element[data-css="tve-u-185b20184be"],
body.page-id-118 #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b632a883"] .thrv_text_element[data-css="tve-u-185b20184d3"],
body.page-id-118 #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b63288d7"] .thrv_text_element[data-css="tve-u-185b20184d3"],
body.page-id-118 #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b6322f4f"] .thrv_text_element[data-css="tve-u-185b20184be"] {
  height: 118px !important;
  min-height: 118px !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

body.home #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b632a883"] h2,
body.home #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b63288d7"] h2,
body.home #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b6322f4f"] h3,
body.home #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b632a883"] h2 a,
body.home #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b63288d7"] h2 a,
body.home #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b6322f4f"] h3 a,
body.page-id-118 #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b632a883"] h2,
body.page-id-118 #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b63288d7"] h2,
body.page-id-118 #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b6322f4f"] h3,
body.page-id-118 #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b632a883"] h2 a,
body.page-id-118 #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b63288d7"] h2 a,
body.page-id-118 #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b6322f4f"] h3 a {
  font-size: clamp(20px, 1.55vw, 22px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.005em !important;
}

body.home #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b632a883"] .thrv_text_element[data-css="tve-u-185b20184c6"],
body.home #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b63288d7"] .thrv_text_element[data-css="tve-u-185b20184c8"],
body.home #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b6322f4f"] .thrv_text_element[data-css="tve-u-185b20184c0"],
body.page-id-118 #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b632a883"] .thrv_text_element[data-css="tve-u-185b20184c6"],
body.page-id-118 #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b63288d7"] .thrv_text_element[data-css="tve-u-185b20184c8"],
body.page-id-118 #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b6322f4f"] .thrv_text_element[data-css="tve-u-185b20184c0"] {
  margin-top: 0 !important;
  flex: 1 1 auto !important;
}

body.home #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b632a883"] .tcb-clear[data-css="tve-u-185b20184cf"],
body.home #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b63288d7"] .tcb-clear[data-css="tve-u-185b20184cf"],
body.home #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b6322f4f"] .tcb-clear[data-css="tve-u-185b20184bf"],
body.page-id-118 #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b632a883"] .tcb-clear[data-css="tve-u-185b20184cf"],
body.page-id-118 #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b63288d7"] .tcb-clear[data-css="tve-u-185b20184cf"],
body.page-id-118 #tve_editor .thrv_contentbox_shortcode[data-css="tve-u-185b6322f4f"] .tcb-clear[data-css="tve-u-185b20184bf"] {
  margin-top: auto !important;
  padding-top: 18px !important;
}

/* Footer condensation: reduce migrated Thrive text-wrapper gaps so the footer reads
   like a footer instead of a loose page section. */
body #tve_editor .thrv_symbol.thrv_footer,
body .thrv_symbol.thrv_footer,
body footer {
  font-size: 14px !important;
}

body #tve_editor .thrv_symbol.thrv_footer .thrv_text_element,
body .thrv_symbol.thrv_footer .thrv_text_element,
body footer .thrv_text_element {
  margin-top: 0 !important;
  margin-bottom: 6px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body #tve_editor .thrv_symbol.thrv_footer p,
body #tve_editor .thrv_symbol.thrv_footer li,
body #tve_editor .thrv_symbol.thrv_footer a,
body .thrv_symbol.thrv_footer p,
body .thrv_symbol.thrv_footer li,
body .thrv_symbol.thrv_footer a,
body footer p,
body footer li,
body footer a {
  font-size: 14px !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
}

body #tve_editor .thrv_symbol.thrv_footer p:has(strong),
body .thrv_symbol.thrv_footer p:has(strong),
body footer p:has(strong) {
  font-size: 12px !important;
  line-height: 1.35 !important;
  letter-spacing: 0.08em !important;
  margin-bottom: 10px !important;
}

body #tve_editor .thrv_symbol.thrv_footer .tcb-flex-row,
body .thrv_symbol.thrv_footer .tcb-flex-row,
body footer .tcb-flex-row {
  align-items: flex-start !important;
}

/* Homepage hero first-paint alignment: keep the main message centered in the
   dark photo panel and pull the CTA above the fold on desktop. */
body.home .thrv_wrapper.thrv-page-section[data-css="tve-u-18aaaa4570f"] {
  margin-top: 0 !important;
  padding: 18px 1px clamp(28px, 4vw, 44px) !important;
  min-height: clamp(360px, 44vw, 520px) !important;
  display: block !important;
}

body.home .thrv_wrapper.thrv-page-section[data-css="tve-u-18aaaa4570f"] > .tve-page-section-in[data-css="tve-u-18aaa9ac594"] {
  min-height: clamp(300px, 38vw, 440px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding-left: clamp(18px, 4vw, 52px) !important;
  padding-right: clamp(18px, 4vw, 52px) !important;
}

body.home .thrv_contentbox_shortcode[data-css="tve-u-18aaa9f8feb"] {
  width: min(92vw, 980px) !important;
  margin: 0 auto !important;
  padding: clamp(30px, 4.4vw, 54px) clamp(22px, 4vw, 52px) !important;
  border-radius: 30px 30px 18px 18px !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

body.home .thrv_contentbox_shortcode[data-css="tve-u-18aaa9f8feb"] .tve-content-box-background[data-css="tve-u-18aaaa41655"] {
  background: rgba(0, 0, 0, 0.55) !important;
  border-radius: inherit !important;
}

body.home h1[data-css="tve-u-1916bedf009"] {
  color: #ffffff !important;
  font-size: clamp(38px, 4.4vw, 58px) !important;
  line-height: 1.05 !important;
  font-weight: 400 !important;
  letter-spacing: -0.035em !important;
  margin: 0 0 clamp(18px, 2.4vw, 26px) !important;
}

body.home .thrv_text_element[data-css="tve-u-191724d229e"],
body.home .thrv_text_element[data-css="tve-u-191724d37ee"] {
  margin: 0 0 8px !important;
}

body.home .thrv_text_element[data-css="tve-u-191724d229e"] ul,
body.home .thrv_text_element[data-css="tve-u-191724d37ee"] ul {
  display: inline-block !important;
  margin: 0 !important;
  padding-left: 1.05em !important;
  text-align: center !important;
}

body.home li[data-css="tve-u-1916bf3d04c"],
body.home li[data-css="tve-u-18aaa9d9596"] {
  color: #ffffff !important;
  font-size: clamp(22px, 2.25vw, 30px) !important;
  line-height: 1.22 !important;
  font-weight: 800 !important;
  letter-spacing: 0.015em !important;
  text-transform: uppercase !important;
  margin-top: 0 !important;
  text-align: center !important;
}

body.home .thrv-button[data-css="tve-u-18aaa9f66c0"] {
  display: flex !important;
  justify-content: center !important;
  margin: clamp(18px, 2.6vw, 28px) 0 0 !important;
}

body.home .thrv-button[data-css="tve-u-18aaa9f66c0"] .tcb-button-link {
  min-height: 44px !important;
  padding: 10px 30px !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
}

@media (max-width: 767px) {
  body.home .thrv_wrapper.thrv-page-section[data-css="tve-u-18aaaa4570f"] {
    min-height: auto !important;
    padding: 28px 0 !important;
  }
}

/* High-specificity pass: Thrive's generated selectors use :not(#tve), so the
   homepage hero polish needs the same specificity to win predictably. */
html:not(#tve) body.home [data-css="tve-u-18aaa9ac594"] {
  min-height: clamp(300px, 38vw, 440px) !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: 12px clamp(18px, 4vw, 52px) clamp(22px, 3vw, 34px) !important;
}

html:not(#tve) body.home [data-css="tve-u-18aaa9f8feb"] {
  float: none !important;
  width: min(92vw, 980px) !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: clamp(30px, 4.4vw, 54px) clamp(22px, 4vw, 52px) !important;
  border-radius: 30px 30px 18px 18px !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

html:not(#tve) body.home [data-css="tve-u-1916bedf009"] {
  color: #ffffff !important;
  font-size: clamp(38px, 4.4vw, 58px) !important;
  line-height: 1.05 !important;
  font-weight: 400 !important;
  letter-spacing: -0.035em !important;
  margin: 0 0 clamp(18px, 2.4vw, 26px) !important;
  padding: 0 !important;
}

html:not(#tve) body.home [data-css="tve-u-1916bf3d04c"],
html:not(#tve) body.home [data-css="tve-u-18aaa9d9596"] {
  color: #ffffff !important;
  font-size: clamp(22px, 2.25vw, 30px) !important;
  line-height: 1.22 !important;
  font-weight: 800 !important;
  letter-spacing: 0.015em !important;
  text-transform: uppercase !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  text-align: center !important;
}

html:not(#tve) body.home [data-css="tve-u-18aaa9f66c0"] {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  display: flex !important;
  justify-content: center !important;
  margin: clamp(18px, 2.6vw, 28px) auto 0 !important;
}

html:not(#tve) body.home [data-css="tve-u-18aaa9f66c0"] .tcb-button-link {
  min-height: 44px !important;
  padding: 10px 30px !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
}

/* Homepage hero content compression for above-the-fold CTA visibility. */
html:not(#tve) body.home [data-css="tve-u-18aaa9f8feb"] > .tve-cb,
html:not(#tve) body.home [data-css="tve-u-1916c04b7f9"] {
  min-height: 0 !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

html:not(#tve) body.home [data-css="tve-u-18aaaa383f2"],
html:not(#tve) body.home [data-css="tve-u-18aaa9dd47c"],
html:not(#tve) body.home [data-css="tve-u-191724d229e"],
html:not(#tve) body.home [data-css="tve-u-191724d37ee"] {
  float: none !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  position: static !important;
  text-align: center !important;
}

html:not(#tve) body.home [data-css="tve-u-18aaa9dd47c"] {
  margin-bottom: 14px !important;
}

html:not(#tve) body.home [data-css="tve-u-18aaa9f8feb"] {
  padding-top: 28px !important;
  padding-bottom: 28px !important;
}

html:not(#tve) body.home [data-css="tve-u-1916bedf009"] {
  font-size: clamp(34px, 3.7vw, 48px) !important;
  line-height: 1.04 !important;
  margin-bottom: 0 !important;
}

html:not(#tve) body.home [data-css="tve-u-191724d229e"] ul,
html:not(#tve) body.home [data-css="tve-u-191724d37ee"] ul {
  margin: 0 auto !important;
  padding-left: 0 !important;
  list-style-position: inside !important;
  text-align: center !important;
}

html:not(#tve) body.home [data-css="tve-u-1916bf3d04c"],
html:not(#tve) body.home [data-css="tve-u-18aaa9d9596"] {
  font-size: clamp(19px, 1.85vw, 24px) !important;
  line-height: 1.18 !important;
}

html:not(#tve) body.home [data-css="tve-u-18aaa9f66c0"] {
  margin-top: 14px !important;
}

/* Contact hours notice: center the business-hours text block and give it
   breathing room from the form/content above. */
body:not(.home) .thrv_text_element[data-css="tve-u-185b7dba7e9"] {
  max-width: 820px !important;
  margin: clamp(38px, 5vw, 72px) auto clamp(24px, 4vw, 48px) !important;
  padding: 0 clamp(18px, 4vw, 32px) !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

body:not(.home) .thrv_text_element[data-css="tve-u-185b7dba7e9"] p {
  max-width: none !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

body:not(.home) .thrv_text_element[data-css="tve-u-185b7dba7e9"] p[data-css="tve-u-185b7cfcc0f"] {
  font-size: clamp(22px, 2.3vw, 34px) !important;
  line-height: 1.24 !important;
  letter-spacing: 0.015em !important;
  text-transform: uppercase !important;
  margin-bottom: 10px !important;
}

body:not(.home) .thrv_text_element[data-css="tve-u-185b7dba7e9"] p[data-css="tve-u-185b7cfcc0f"]:first-of-type {
  margin-top: clamp(42px, 5vw, 72px) !important;
}

body:not(.home) .thrv_text_element[data-css="tve-u-185b7dba7e9"] p[data-css="tve-u-185b7d41f0d"] {
  font-size: clamp(13px, 1.1vw, 16px) !important;
  line-height: 1.45 !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  padding-bottom: 0 !important;
  margin-top: 18px !important;
  margin-bottom: 0 !important;
}

/* Contact page section centering: undo migrated 100px left offset so the contact
   content, including the hours notice, centers to the viewport. */
body:not(.home) .thrv-page-section[data-css="tve-u-18566d5c1db"] {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body:not(.home) .thrv-page-section[data-css="tve-u-18566d5c1db"] > .tve-page-section-in[data-css="tve-u-1855b757347"] {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Homepage hero balance pass: the previous first-paint compression pushed the
   message too high and made the dark panel feel cramped. Center the panel in
   the photo again and restore comfortable internal padding while keeping the
   CTA reasonably high on desktop. */
html:not(#tve) body.home .thrv_wrapper.thrv-page-section[data-css="tve-u-18aaaa4570f"] {
  min-height: clamp(500px, 48vw, 620px) !important;
  padding: clamp(30px, 4vw, 48px) 1px clamp(42px, 5vw, 64px) !important;
}

html:not(#tve) body.home [data-css="tve-u-18aaa9ac594"] {
  min-height: clamp(430px, 42vw, 540px) !important;
  align-items: center !important;
  justify-content: center !important;
  padding: clamp(34px, 5vw, 66px) clamp(18px, 4vw, 52px) !important;
}

html:not(#tve) body.home [data-css="tve-u-18aaa9f8feb"] {
  width: min(90vw, 980px) !important;
  padding: clamp(42px, 5vw, 64px) clamp(30px, 5vw, 68px) !important;
  border-radius: 30px 30px 20px 20px !important;
}

html:not(#tve) body.home [data-css="tve-u-1916bedf009"] {
  font-size: clamp(38px, 4.15vw, 54px) !important;
  line-height: 1.08 !important;
  margin-bottom: clamp(18px, 2vw, 26px) !important;
}

html:not(#tve) body.home [data-css="tve-u-191724d229e"],
html:not(#tve) body.home [data-css="tve-u-191724d37ee"] {
  margin-bottom: 10px !important;
}

html:not(#tve) body.home [data-css="tve-u-1916bf3d04c"],
html:not(#tve) body.home [data-css="tve-u-18aaa9d9596"] {
  font-size: clamp(20px, 2vw, 27px) !important;
  line-height: 1.24 !important;
}

html:not(#tve) body.home [data-css="tve-u-18aaa9f66c0"] {
  margin-top: clamp(22px, 2.6vw, 32px) !important;
}

html:not(#tve) body.home [data-css="tve-u-18aaa9f66c0"] .tcb-button-link {
  min-height: 48px !important;
  padding: 12px 34px !important;
}

@media (max-width: 767px) {
  html:not(#tve) body.home .thrv_wrapper.thrv-page-section[data-css="tve-u-18aaaa4570f"] {
    min-height: auto !important;
    padding: 28px 0 34px !important;
  }

  html:not(#tve) body.home [data-css="tve-u-18aaa9ac594"] {
    min-height: auto !important;
    padding: 28px 18px !important;
  }

  html:not(#tve) body.home [data-css="tve-u-18aaa9f8feb"] {
    width: min(92vw, 980px) !important;
    padding: 32px 22px !important;
  }
}

/* Homepage header phone vertical centering: the phone text was riding high in
   the teal header band because the Thrive paragraph carried bottom padding and
   margin. Center the number within its column without changing the logo/bear/nav. */
body.home .thrv_symbol.thrv_header .tcb-flex-col[data-css="tve-u-185b1c63c63"],
body.home .thrv_symbol.thrv_header .tcb-col:has(.thrv_text_element[data-css="tve-u-185b1c572b3"]) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.home .thrv_symbol.thrv_header .thrv_text_element[data-css="tve-u-185b1c572b3"] {
  width: auto !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.home .thrv_symbol.thrv_header p[data-css="tve-u-185b1c53c24"] {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1.05 !important;
}

body.home .thrv_symbol.thrv_header a[data-css="tve-u-185b1fe953b"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1.05 !important;
}

/* Higher specificity for Thrive's :not(#tve) header phone margin rule. */
html:not(#tve) body.home #tve_editor .thrv_symbol.thrv_header .thrv_wrapper.thrv_text_element[data-css="tve-u-185b1c572b3"] {
  margin: 0 auto !important;
  padding: 0 !important;
}

html:not(#tve) body.home #tve_editor .thrv_symbol.thrv_header p[data-css="tve-u-185b1c53c24"] {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.05 !important;
}

/* Homepage has separate mobile and desktop hero variants. Thrive's generated
   styles re-display the desktop variant on phones; suppress that exact block. */
@media (max-width: 767px) {
  html body.home .thrv-page-section.tcb-mobile-hidden[data-css="tve-u-18aaaa4570f"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* Responsive homepage hero photography. These final overrides intentionally
   replace Thrive's embedded WordPress image URLs without modifying the scraped
   content structure. */
html:not(#tve) body.home [data-css="tve-u-185b2007e23"] {
  background-image: url("/images/homepage/atkinson-home-hero-desktop.webp") !important;
  background-size: cover !important;
  background-position: 50% 50% !important;
  background-repeat: no-repeat !important;
  --background-image: url("/images/homepage/atkinson-home-hero-desktop.webp") !important;
  --tve-applied-background-image: url("/images/homepage/atkinson-home-hero-desktop.webp") !important;
  --background-size: cover !important;
  --background-position: 50% 50% !important;
}

@media (max-width: 767px) {
  html:not(#tve) body.home [data-css="tve-u-185be487fa2"] {
    background-image: url("/images/homepage/atkinson-home-hero-mobile.webp") !important;
    background-size: cover !important;
    background-position: 50% 50% !important;
    background-repeat: no-repeat !important;
    --background-image: url("/images/homepage/atkinson-home-hero-mobile.webp") !important;
    --tve-applied-background-image: url("/images/homepage/atkinson-home-hero-mobile.webp") !important;
    --background-size: cover !important;
    --background-position: 50% 50% !important;
  }

  html:not(#tve) body.home [data-css="tve-u-19172516c18"] {
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-size: clamp(24px, 7vw, 28px) !important;
    line-height: 1.08 !important;
    letter-spacing: 1px !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.72) !important;
  }

  html:not(#tve) body.home [data-css="tve-u-19172518132"],
  html:not(#tve) body.home [data-css="tve-u-1917251ff88"] {
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.78) !important;
  }
}
