@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@1&display=swap');

/* Contact form: shorter message box */
#contact textarea.grunion-field { height: 140px; min-height: 140px; }

.ast-header-break-point .main-header-menu .sub-menu .menu-link { padding-left: 32px; }
/* Checklist hanging indent */
#new-sites > div > div > div > p:nth-of-type(n+3),
#revamp > div > div > div > p:nth-of-type(n+3),
#care-plans > div > div > div > p:nth-of-type(n+3),
#grow-for-good > div > div > div > div > p:nth-of-type(n+2),
#good-to-know > div > div > p:nth-of-type(n+2):not(:last-of-type) { padding-left: 1.05em; text-indent: -1.05em; }
/* Sticky header */
#masthead { position: fixed !important; top: 0; left: 0; right: 0; z-index: 999; background-color: #F4EFE4; box-shadow: 0 2px 14px rgba(58,74,46,0.10); }
.admin-bar #masthead { top: 32px; }
@media (max-width: 782px) { .admin-bar #masthead { top: 46px; } }
@media (max-width: 600px) { .admin-bar #masthead { top: 0; } }
body:not(.ast-theme-transparent-header) #content { padding-top: 165px; }
#masthead .ast-mobile-header-content { max-height: calc(100vh - 120px); overflow-y: auto; }
[id].e-con, [id].e-flexbox-base { scroll-margin-top: 110px; }
@supports (animation-timeline: scroll()) {
  @keyframes uwHeaderBg { from { background-color: rgba(244,239,228,0); box-shadow: none; } to { background-color: #F4EFE4; box-shadow: 0 2px 14px rgba(58,74,46,0.10); } }
  @keyframes uwLogo { to { width: 88px; } }
  @keyframes uwRow { to { min-height: 76px; } }
  #masthead { animation: uwHeaderBg linear both; animation-timeline: scroll(root); animation-range: 0 140px; }
  #masthead .custom-logo { animation: uwLogo linear both; animation-timeline: scroll(root); animation-range: 0 140px; }
  #masthead .site-primary-header-wrap, #masthead .ast-primary-header-bar { animation: uwRow linear both; animation-timeline: scroll(root); animation-range: 0 140px; }
}
/* Footer */
.site-footer .site-above-footer-wrap, .site-footer .site-below-footer-wrap { background: #3A4A2E !important; border-top: 0 !important; }
.site-footer .site-above-footer-wrap { padding-top: 36px; padding-bottom: 8px; }
.site-footer .site-below-footer-wrap { padding-bottom: 24px; }
.site-footer .site-above-footer-wrap .ast-builder-grid-row, .site-footer .site-above-footer-inner-wrap { justify-content: center; }
.site-footer .footer-widget-area[data-section="section-footer-menu"], .site-footer .ast-footer-menu { display: flex; justify-content: center; width: 100%; }
.site-footer .ast-nav-menu, .site-footer #astra-footer-menu { justify-content: center; flex-wrap: wrap; gap: 4px 8px; }
.site-footer .menu-link { color: #F4EFE4 !important; font-size: 16px; }
.site-footer .menu-link:hover { color: #FFFFFF !important; text-decoration: underline; }
.site-footer .ast-footer-copyright, .site-footer .ast-footer-copyright p { color: rgba(244,239,228,0.75) !important; font-size: 14px; text-align: center; }
.site-footer .ast-nav-menu, .site-footer #astra-footer-menu { display: flex !important; flex-direction: row !important; }
.site-footer .ast-nav-menu > .menu-item { width: auto !important; border: 0 !important; }
.site-footer .ast-nav-menu .menu-link { padding: 6px 12px !important; }
.site-footer .site-above-footer-wrap { border-top: 1px solid rgba(244,239,228,0.15) !important; }
/* Footer contact */
.site-footer .footer-widget-area[data-section="section-fb-html-1"], .site-footer .ast-footer-html-1 { width: 100%; text-align: center; }
.site-footer .ast-footer-html-1, .site-footer .ast-footer-html-1 p { color: #F4EFE4 !important; font-size: 16px; margin: 0; }
.site-footer .ast-footer-html-1 a { color: #FFFFFF !important; text-decoration: underline; }
.site-footer .site-below-footer-wrap .ast-builder-grid-row, .site-footer .site-below-footer-wrap .site-footer-section { flex-direction: column; align-items: center; gap: 12px; display: flex; }
.site-footer .footer-social-inner-wrap a .ahfb-svg-iconset svg { fill: #F4EFE4 !important; }
.site-footer .footer-social-inner-wrap a:hover .ahfb-svg-iconset svg { fill: #FFFFFF !important; }
.site-footer .ast-footer-copyright a { color: rgba(244,239,228,0.85) !important; text-decoration: underline; }
/* Privacy page */
body.page-id-399, body.page-id-399 .site-content, body.page-id-399 .ast-container, body.page-id-399 .site-main, body.page-id-399 article { background-color: #F4EFE4 !important; }
body.page-id-399 #content { padding-top: 150px; padding-bottom: 60px; }
body.page-id-399 .entry-title { font-size: 40px; color: #3A4A2E; }
body.page-id-399 .entry-content h2 { font-size: 24px; color: #3A4A2E; margin-top: 28px; }
body.page-id-399 .entry-content { font-size: 17px; line-height: 1.65; }
@media (max-width: 600px) { body.page-id-399 #content { padding-top: 120px; } body.page-id-399 .entry-title { font-size: 32px; } }

/* ===== Under the Willow: modern touches (added Oct 2026) ===== */

/* Header: turn "Contact" into a "Let's Talk" style button */
#ast-hf-menu-1 > #menu-item-17 > a.menu-link {
  background: #3a4a2e;
  color: #fff !important;
  border-radius: 999px;
  padding: 10px 22px !important;
  margin-left: 8px;
  line-height: 1.2;
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
}
#ast-hf-menu-1 > #menu-item-17 > a.menu-link:hover {
  background: #2f3a24;
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(58, 74, 46, .25);
}

/* Cards (any linked Elementor container): lift on hover */
a.e-con {
  transition: transform .35s ease, box-shadow .35s ease !important;
}
a.e-con:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 36px rgba(58, 74, 46, .16) !important;
}

/* Buttons: small lift on hover */
a.e-button-base,
.elementor-button,
.gform_button, button[type="submit"], input[type="submit"] {
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease !important;
}
a.e-button-base:hover,
.elementor-button:hover,
.gform_button:hover, button[type="submit"]:hover, input[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(58, 74, 46, .22);
}

/* Images inside cards: gentle zoom on hover */
a.e-con img { transition: transform .6s ease; }
a.e-con:hover img { transform: scale(1.03); }

/* Willow logo: sways like a willow in the breeze on hover */
#masthead .custom-logo-link {
  display: inline-block;
  transform-origin: 50% 100%;
}
#masthead .custom-logo-link:hover {
  animation: uw-sway 1.6s ease-in-out;
}
@keyframes uw-sway {
  0%, 100% { transform: rotate(0); }
  25% { transform: rotate(-3deg); }
  60% { transform: rotate(2deg); }
  85% { transform: rotate(-1deg); }
}

/* Entrance animations: page sections fade up as they scroll into view.
   Browsers that don't support this just show everything normally. */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    [data-elementor-type="wp-page"] > .e-con:not(:first-child) > div.e-con > div.e-con,
    [data-elementor-type="wp-page"] > .e-con:not(:first-child) > div.e-con > :not(.e-con) {
      animation: uw-fade-up linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 35%;
    }
  }
}
@keyframes uw-fade-up {
  from { opacity: 0; transform: translateY(32px); }
  to { opacity: 1; transform: none; }
}


/* Testimonials + before/after layout */
.e-con:has(> .elementor-widget-html .uw-tm) { background-color: #F4EFE4; align-items: center; padding: 0 24px; }
.elementor-widget-html:has(.uw-tm) { width: 100%; max-width: 860px; }
.elementor-widget-html:has(.uw-ba) { width: 100%; align-self: stretch; }


/* FAQ: let questions use the full width (icon box was 200px wide) */
summary.e-con > .e-accordion-item-icon-base { width: auto !important; min-width: 20px; }

/* ===== Willow refresh: accent words, motion, hover ===== */
h1 em, h2 em { font-family: 'Instrument Serif', Georgia, serif; font-style: italic; font-weight: 400; font-size: 1.12em; letter-spacing: 0; color: #6E8B4E; }
#review h2 em { color: #E6D9B8; }
#review p { max-width: 640px; margin-left: auto; margin-right: auto; }
.elementor-element-324baff { border: 2px solid #3A4A2E; }
.e-button-base { transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease, color .25s ease; }
.e-button-base:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(58,74,46,.18); }
.elementor-element-4cdc74d:hover { background-color: #3A4A2E !important; color: #FFFFFF !important; }
.elementor-element-23e050c, .elementor-element-6f04140, .elementor-element-0d78037,
.elementor-element-d15ffb7, .elementor-element-29eaf90, .elementor-element-fe61f65, .elementor-element-60e46f0 { transition: transform .3s ease, box-shadow .3s ease; }
.elementor-element-23e050c:hover, .elementor-element-6f04140:hover, .elementor-element-0d78037:hover,
.elementor-element-d15ffb7:hover, .elementor-element-29eaf90:hover, .elementor-element-fe61f65:hover, .elementor-element-60e46f0:hover { transform: translateY(-6px); box-shadow: 0 16px 32px rgba(58,74,46,.14); }
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .elementor > .e-con > .e-con > *:not(.e-con),
    .elementor > .e-con > .e-con > .e-con > * { animation: uwRise linear both; animation-timeline: view(); animation-range: entry 0% entry 40%; }
  }
}
@keyframes uwRise { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }