/* Hallmark · existing brand refinement · tone: practical local landscaping · anchor hue: green
 * Pre-emit critique: Philosophy 4, Hierarchy 4, Execution 4, Specificity 4, Restraint 5, Variety 3.
 * Additive accessibility and contact improvements; the published layout and fonts remain the foundation.
 */
:root {
  --yg-action-hover: color-mix(in srgb, var(--accent) 82%, var(--contrast));
  --yg-rule: color-mix(in srgb, var(--contrast) 16%, var(--base-3));
  --yg-space-sm: .5rem;
  --yg-space-md: 1rem;
  --yg-space-lg: 1.5rem;
  --yg-action-height: 3rem;
}
/* clip, not hidden: overflow-x hidden finishes scroll-linked fades immediately. */
html, body { overflow-x: clip !important; }
body :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
  box-shadow: 0 0 0 5px var(--base-3);
}
:where(.entry-content, footer) p a:not([class*="button"]) {
  text-decoration: underline;
  text-underline-offset: .18em;
  text-decoration-thickness: .08em;
}
a.yg-phone { display: inline-flex; align-items: center; min-height: 44px; color: inherit; white-space: nowrap; }
a.yg-phone:is(:hover, :focus-visible) { color: inherit; text-decoration: underline; }
.gb-text-a235b1e4 a,
.gb-text-a235b1e4 a:is(:hover, :focus, :active) { color: var(--base-3); text-decoration: underline; }
.gb-text-a235b1e4 { overflow-wrap: anywhere; font-size: 1rem; }
.gb-text-a235b1e4 a { display: inline-flex; align-items: center; min-height: 44px; min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
a[href*="instagram.com/theyardgoats519"] { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
a.gbp-button--primary,
a.gbp-button--secondary { max-width: 100%; align-items: center; text-wrap: balance; }
a.gbp-button--primary { min-height: 44px; transition: background-color .15s linear; }
a.gbp-button--primary:is(:hover, :focus-visible) { background-color: var(--yg-action-hover); color: var(--base-3); }
a.gbp-button--tertiary { min-height: 44px; padding-block: .35rem; }
#mobile-header .yg-wordmark { display: none; }
.yg-mobile-contact { display: none; }
body.yg-menu-open { overflow-y: hidden; }
/* The off-canvas animation remains managed by GeneratePress. Only the visible dialog is interactive. */
#generate-slideout-menu [hidden] { display: none !important; }
#generate-slideout-menu .yg-submenu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  margin: 0 0 0 .25rem;
  padding: .5rem;
  vertical-align: middle;
  background: var(--base-2);
  border: 1px solid var(--yg-rule);
  border-radius: .25rem;
  color: var(--accent);
  line-height: 1;
  float: none;
}
#generate-slideout-menu .yg-submenu-toggle:is(:hover, :focus-visible) { background: var(--base); color: var(--yg-action-hover); }
#generate-slideout-menu .yg-submenu-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
#generate-slideout-menu .inside-navigation { padding-bottom: var(--yg-space-lg); }
#generate-slideout-menu .slideout-exit { min-width: 44px; min-height: 44px; }
#generate-slideout-menu .sub-menu a { font-size: 1rem; line-height: 1.4; padding: .75rem 1rem; }
@media (max-width: 767px) {
  .gbp-section { padding-block: 3.5rem; }
  .gbp-section__h1--xl { font-size: clamp(2.5rem, 10vw, 3.25rem); overflow-wrap: anywhere; }
  #mobile-header .inside-navigation { min-height: 72px; padding-inline: .5rem; }
  #mobile-header .site-logo { margin-left: 0; }
  #mobile-header .site-logo > a { display: inline-flex; align-items: center; gap: var(--yg-space-sm); color: var(--contrast); }
  #mobile-header .site-logo img { height: 56px; width: 56px; object-fit: contain; }
  #mobile-header .yg-wordmark { display: block; font-size: .9375rem; font-weight: 700; line-height: 1.25; }
  #mobile-header .yg-wordmark small { display: block; font-size: .6875rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
  #mobile-header .menu-toggle { min-height: 48px; min-width: 48px; padding-inline: 1rem; }
  html { scroll-padding-bottom: calc(var(--yg-action-height) + 1rem + 8px + env(safe-area-inset-bottom)); }
  :focus-visible { scroll-margin-bottom: calc(var(--yg-action-height) + 1rem + 8px + env(safe-area-inset-bottom)); }
  body { padding-bottom: calc(var(--yg-action-height) + 1rem + 8px + env(safe-area-inset-bottom)); }
  .yg-mobile-contact {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.65fr);
    align-items: center;
    gap: var(--yg-space-sm);
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    padding: var(--yg-space-sm) var(--yg-space-md) calc(var(--yg-space-sm) + env(safe-area-inset-bottom));
    background: var(--base-3);
    border-top: 1px solid var(--yg-rule);
    z-index: 1000;
  }
  .yg-mobile-contact a { display: flex; justify-content: center; align-items: center; min-height: var(--yg-action-height); min-width: 0; padding: .5rem; font-size: .9375rem; font-weight: 700; border-radius: .25rem; white-space: nowrap; text-decoration: none; }
  .yg-mobile-contact__call { color: var(--accent); border: 1px solid var(--accent); background: var(--base-3); }
  .yg-mobile-contact__quote { color: var(--base-3); background: var(--accent); border: 1px solid var(--accent); }
  .yg-mobile-contact__quote:is(:hover, :focus-visible) { color: var(--base-3); background: var(--yg-action-hover); }
  .yg-mobile-contact__call:is(:hover, :focus-visible) { color: var(--yg-action-hover); background: var(--base-2); }
  .yg-mobile-contact[hidden], body.yg-menu-open .yg-mobile-contact { display: none; }
}
/* Lime on the brand green fails contrast. Keep these links white and underline them. */
.gb-element-ff8c003b a:is(:hover, :focus-visible) {
  color: var(--base-3);
  text-decoration-line: underline;
  text-underline-offset: .18em;
}
.gb-element-0abd59bc :is(.gb-text-92883546, .gb-text-7b225b39, .gb-text-8dff317b, .gb-text-d33127a2, .gb-text-18cbec71, .gb-text-c5fcce00) > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  max-width: 100%;
}
.gb-element-0abd59bc a:has(> img.gb-media-a6c159b5) {
  display: inline-block;
  line-height: 0;
  min-width: 44px;
  min-height: 44px;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .offside-js--interact .offside, .slideout-overlay, .slideout-navigation.do-overlay,
  a.gbp-button--primary { transition-duration: .01ms !important; }
}
@keyframes yg-fade-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .yg-reveal-item {
      animation: yg-fade-in linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 35%;
    }
  }
}
