.elementor-kit-288{--e-global-color-primary:#A8332B;--e-global-color-secondary:#E8804B;--e-global-color-text:#3A2D22;--e-global-color-accent:#A8332B;--e-global-color-piecrust:#FBF6EC;--e-global-color-stonemill:#F0E6D2;--e-global-color-deepbark:#1F1611;--e-global-color-wornstone:#6F6353;--e-global-color-mustard:#E8B445;--e-global-color-orchardgreen:#3F5F3A;--e-global-typography-primary-font-family:"Fraunces";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Fraunces";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Source Sans 3";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Source Sans 3";--e-global-typography-accent-font-weight:600;--e-global-typography-handlettered-font-family:"Caveat";--e-global-typography-handlettered-font-weight:500;background-color:#FBF6EC;color:#3A2D22;font-family:"Source Sans 3", Sans-serif;font-size:18px;font-weight:400;line-height:1.65em;}.elementor-kit-288 button,.elementor-kit-288 input[type="button"],.elementor-kit-288 input[type="submit"],.elementor-kit-288 .elementor-button{background-color:#A8332B;font-family:"Source Sans 3", Sans-serif;font-size:17px;font-weight:600;color:#FBF6EC;border-radius:999px 999px 999px 999px;padding:15px 32px 15px 32px;}.elementor-kit-288 button:hover,.elementor-kit-288 button:focus,.elementor-kit-288 input[type="button"]:hover,.elementor-kit-288 input[type="button"]:focus,.elementor-kit-288 input[type="submit"]:hover,.elementor-kit-288 input[type="submit"]:focus,.elementor-kit-288 .elementor-button:hover,.elementor-kit-288 .elementor-button:focus{background-color:#E8804B;color:#1F1611;}.elementor-kit-288 e-page-transition{background-color:#FFBC7D;}.elementor-kit-288 a{color:#3F5F3A;}.elementor-kit-288 a:hover{color:#A8332B;}.elementor-kit-288 h1{color:#1F1611;font-family:"Fraunces", Sans-serif;font-size:64px;font-weight:700;line-height:1.05em;}.elementor-kit-288 h2{color:#1F1611;font-family:"Fraunces", Sans-serif;font-size:44px;font-weight:600;line-height:1.15em;}.elementor-kit-288 h3{color:#1F1611;font-family:"Fraunces", Sans-serif;font-size:28px;font-weight:600;}.elementor-kit-288 h4{color:#1F1611;font-family:"Fraunces", Sans-serif;font-size:22px;font-weight:600;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-288{font-size:17px;}.elementor-kit-288 h1{font-size:36px;}.elementor-kit-288 h2{font-size:28px;}.elementor-kit-288 h3{font-size:22px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* == base theme styles (from block theme theme.css) == */
/*
 * Hagens Family Orchard — theme.css
 * Custom styles that complement theme.json design tokens.
 * Keep this lean — prefer theme.json for tokens, this file for layout & motion.
 */

/* ----------------------------------------------------------------------
   1. Root + page foundations
   ---------------------------------------------------------------------- */

html { scroll-behavior: smooth; }

body {
  background-color: var(--wp--preset--color--pie-crust);
  color: var(--wp--preset--color--bark-brown);
  font-family: var(--hfo-font-body, var(--wp--preset--font-family--body));
  font-feature-settings: "kern", "liga", "calt";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Subtle paper texture on body — lifts the cream off being sterile */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background-image:
    radial-gradient(circle at 25% 15%, rgba(168, 51, 43, 0.025) 0%, transparent 35%),
    radial-gradient(circle at 80% 80%, rgba(63, 95, 58, 0.025) 0%, transparent 40%),
    radial-gradient(circle at 50% 50%, rgba(232, 128, 75, 0.012) 0%, transparent 60%);
}

/* ----------------------------------------------------------------------
   2. Logo / wordmark
   ---------------------------------------------------------------------- */

.hfo-logo-link {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  text-decoration: none !important;
  color: var(--wp--preset--color--barn-red);
  transition: color 200ms ease;
}
.hfo-logo-link:hover { color: var(--wp--preset--color--peach-sunset); }

.hfo-logo-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  color: var(--wp--preset--color--barn-red);
}
.hfo-logo-mark svg { width: 100%; height: 100%; }

.hfo-logo-text {
  display: inline-flex;
  flex-direction: column;
  line-height: 1;
}
.hfo-logo-line1 {
  font-family: var(--hfo-font-heading, var(--wp--preset--font-family--display));
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--wp--preset--color--deep-bark);
  letter-spacing: -0.01em;
}
.hfo-logo-line2 {
  font-family: var(--hfo-font-body, var(--wp--preset--font-family--body));
  font-weight: 600;
  font-size: 0.78rem;
  color: var(--wp--preset--color--bark-brown);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-top: 4px;
}

/* ----------------------------------------------------------------------
   3. Header / navigation
   ---------------------------------------------------------------------- */

.hfo-site-header { position: sticky; top: 0; z-index: 50; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); background-color: rgba(251, 246, 236, 0.92) !important; }

.hfo-primary-nav .wp-block-navigation-item__content {
  color: var(--wp--preset--color--bark-brown);
  font-family: var(--hfo-font-body, var(--wp--preset--font-family--body));
  text-decoration: none;
  position: relative;
  padding-bottom: 4px;
}
.hfo-primary-nav .wp-block-navigation-item__content::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -2px;
  height: 2px;
  background-color: var(--wp--preset--color--peach-sunset);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 220ms ease;
}
.hfo-primary-nav .wp-block-navigation-item__content:hover::after { transform: scaleX(1); }

/* ----------------------------------------------------------------------
   4. Hero — textured backdrop + hand-drawn illustration container
   ---------------------------------------------------------------------- */

.hfo-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.hfo-hero::before {
  /* Layered warm wash — peach + cream gradient blend, NOT a flat gradient */
  content: "";
  position: absolute; inset: 0; z-index: -2;
  background:
    radial-gradient(ellipse 70% 80% at 80% 30%, rgba(232, 128, 75, 0.18) 0%, transparent 65%),
    radial-gradient(ellipse 60% 70% at 15% 70%, rgba(168, 51, 43, 0.10) 0%, transparent 60%),
    var(--wp--preset--color--pie-crust);
}
.hfo-hero::after {
  /* Subtle hand-drawn line accents — diagonal scratchy texture */
  content: "";
  position: absolute; inset: 0; z-index: -1; opacity: 0.06; pointer-events: none;
  background-image: repeating-linear-gradient(
    132deg,
    var(--wp--preset--color--bark-brown) 0,
    var(--wp--preset--color--bark-brown) 1px,
    transparent 1px, transparent 14px
  );
}

.hfo-hero-illustration {
  width: 100%;
  max-width: 420px;
  height: auto;
  display: block;
  margin: 0 auto;
}
.hfo-hero-illustration svg { width: 100%; height: auto; }

@media (min-width: 1024px) {
  .hfo-hero-illustration { max-width: 520px; }
}

/* ----------------------------------------------------------------------
   5. Eyebrow / Caveat hand-lettered accent
   ---------------------------------------------------------------------- */

.hfo-eyebrow {
  font-family: var(--hfo-font-accent, var(--wp--preset--font-family--accent));
  font-weight: 700;
  font-size: clamp(1.4rem, 1rem + 1vw, 2rem);
  color: var(--wp--preset--color--barn-red);
  display: inline-block;
  transform: rotate(-2deg);
  line-height: 1;
}

/* ----------------------------------------------------------------------
   6. Trust row badges
   ---------------------------------------------------------------------- */

.hfo-trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  align-items: center;
  font-size: 0.95rem;
  color: var(--wp--preset--color--bark-brown);
}
.hfo-trust-row > span {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.hfo-trust-row > span::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background-color: var(--wp--preset--color--orchard-green);
  flex-shrink: 0;
}

/* ----------------------------------------------------------------------
   7. Pain points (Section 2 — Problem)
   ---------------------------------------------------------------------- */

.hfo-pain-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 1rem;
}
.hfo-pain-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.25rem;
  background: var(--wp--preset--color--stone-mill);
  border-radius: 8px;
  border-left: 4px solid var(--wp--preset--color--peach-sunset);
  font-size: 1.05rem;
  line-height: 1.5;
}
.hfo-pain-list li::before {
  content: "→";
  color: var(--wp--preset--color--barn-red);
  font-weight: 700;
  flex-shrink: 0;
  font-size: 1.1rem;
  line-height: 1.4;
}

/* ----------------------------------------------------------------------
   8. The Hagens Way — numbered steps (Section 4 — Solution)
   ---------------------------------------------------------------------- */

.hfo-way-step {
  position: relative;
  padding: 1.75rem 1.5rem 1.5rem 1.5rem;
  background: var(--wp--preset--color--pie-crust);
  border: 1px solid var(--wp--preset--color--stone-mill);
  border-radius: 12px;
  transition: transform 240ms ease, box-shadow 240ms ease, border-color 240ms ease;
}
.hfo-way-step:hover {
  transform: translateY(-4px);
  border-color: var(--wp--preset--color--peach-sunset);
  box-shadow: 0 12px 28px -16px rgba(58, 45, 34, 0.25);
}
.hfo-way-step__number {
  position: absolute;
  top: -18px; left: 1.25rem;
  width: 44px; height: 44px;
  border-radius: 999px;
  background: var(--wp--preset--color--barn-red);
  color: var(--wp--preset--color--pie-crust);
  font-family: var(--hfo-font-heading, var(--wp--preset--font-family--display));
  font-weight: 700;
  font-size: 1.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px -4px rgba(168, 51, 43, 0.4);
}
.hfo-way-step__title {
  font-family: var(--hfo-font-heading, var(--wp--preset--font-family--display));
  font-weight: 700;
  font-size: 1.4rem;
  color: var(--wp--preset--color--deep-bark);
  margin: 0.5rem 0 0.5rem 0;
  line-height: 1.2;
}
.hfo-way-step__body {
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--wp--preset--color--bark-brown);
}

/* ----------------------------------------------------------------------
   9. In-Season chalkboard board (Section 5 — Evidence)
   ---------------------------------------------------------------------- */

.hfo-chalkboard {
  background:
    radial-gradient(ellipse at center, rgba(255,255,255,0.05) 0%, transparent 60%),
    var(--wp--preset--color--orchard-green);
  border: 14px solid #6B4A2B;
  border-radius: 6px;
  padding: 2.5rem 2rem;
  color: var(--wp--preset--color--pie-crust);
  box-shadow: inset 0 0 30px rgba(0,0,0,0.25), 0 18px 40px -20px rgba(0,0,0,0.3);
  position: relative;
}
.hfo-chalkboard__title {
  font-family: var(--hfo-font-accent, var(--wp--preset--font-family--accent));
  font-weight: 700;
  font-size: clamp(2rem, 1.5rem + 2vw, 3.25rem);
  text-align: center;
  margin: 0 0 0.5rem 0;
  color: #FBF6EC;
  text-shadow: 0 0 8px rgba(255,255,255,0.05);
  line-height: 1;
}
.hfo-chalkboard__subtitle {
  text-align: center;
  font-family: var(--hfo-font-body, var(--wp--preset--font-family--body));
  font-size: 1rem;
  color: rgba(251, 246, 236, 0.75);
  margin: 0 0 2rem 0;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.hfo-chalkboard__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.85rem 1.5rem;
}
@media (min-width: 720px) {
  .hfo-chalkboard__list { grid-template-columns: 1fr 1fr; }
}
.hfo-chalkboard__list li {
  font-family: var(--hfo-font-accent, var(--wp--preset--font-family--accent));
  font-size: 1.4rem;
  display: flex;
  align-items: baseline;
  gap: 0.65rem;
}
.hfo-chalkboard__list li::before {
  content: "✻";
  color: var(--wp--preset--color--peach-sunset);
  font-size: 1rem;
}
.hfo-chalkboard__note {
  text-align: center;
  font-family: var(--hfo-font-body, var(--wp--preset--font-family--body));
  font-size: 0.85rem;
  color: rgba(251, 246, 236, 0.6);
  margin: 1.75rem 0 0 0;
  letter-spacing: 0.05em;
}

/* ----------------------------------------------------------------------
   10. Visit / Action card (Section 6 — Action)
   ---------------------------------------------------------------------- */

.hfo-visit-card {
  background: var(--wp--preset--color--stone-mill);
  border: 2px solid var(--wp--preset--color--barn-red);
  border-radius: 16px;
  padding: 2rem 1.75rem;
  display: grid;
  gap: 0.65rem;
}
.hfo-visit-card__label {
  font-family: var(--hfo-font-body, var(--wp--preset--font-family--body));
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.78rem;
  color: var(--wp--preset--color--barn-red);
}
.hfo-visit-card__value {
  font-family: var(--hfo-font-heading, var(--wp--preset--font-family--display));
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 1.25;
  color: var(--wp--preset--color--deep-bark);
  margin: 0;
}
.hfo-visit-card__detail {
  font-size: 1rem;
  color: var(--wp--preset--color--bark-brown);
  margin: 0;
  line-height: 1.55;
}

/* ----------------------------------------------------------------------
   11. Sticky mobile CTA (Sonic Boom mobile pattern)
   ---------------------------------------------------------------------- */

.hfo-sticky-cta {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 90;
  background: var(--wp--preset--color--pie-crust);
  border-top: 1px solid var(--wp--preset--color--stone-mill);
  display: flex;
  padding: 0.5rem;
  gap: 0.5rem;
  box-shadow: 0 -4px 12px -6px rgba(58, 45, 34, 0.18);
}
.hfo-sticky-cta a {
  flex: 1;
  text-align: center;
  padding: 0.85rem 0.5rem;
  border-radius: 999px;
  text-decoration: none;
  font-family: var(--hfo-font-body, var(--wp--preset--font-family--body));
  font-weight: 600;
  font-size: 0.95rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  transition: background-color 200ms ease;
}
.hfo-sticky-cta a.is-primary {
  background: var(--wp--preset--color--barn-red);
  color: var(--wp--preset--color--pie-crust);
}
.hfo-sticky-cta a.is-primary:hover { background: var(--wp--preset--color--peach-sunset); color: var(--wp--preset--color--deep-bark); }
.hfo-sticky-cta a.is-secondary {
  background: var(--wp--preset--color--stone-mill);
  color: var(--wp--preset--color--deep-bark);
  border: 1px solid var(--wp--preset--color--worn-stone);
}
.hfo-sticky-cta a.is-secondary:hover { background: var(--wp--preset--color--pie-crust); }

/* Hide sticky bar on desktop */
@media (min-width: 768px) { .hfo-sticky-cta { display: none; } }

/* And give mobile body extra bottom padding so the bar doesn't cover the footer */
@media (max-width: 767.98px) { body { padding-bottom: 84px; } }

/* ----------------------------------------------------------------------
   12. Reveal-on-scroll (intersection-observer driven, JS in front-page)
   ---------------------------------------------------------------------- */

.hfo-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 600ms ease, transform 600ms cubic-bezier(.22,.36,.21,1.01);
  will-change: opacity, transform;
}
.hfo-reveal.is-revealed { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .hfo-reveal { opacity: 1; transform: none; transition: none; }
  html { scroll-behavior: auto; }
}

/* ----------------------------------------------------------------------
   13. Footer list polish
   ---------------------------------------------------------------------- */

.hfo-footer-list { list-style: none !important; padding: 0 !important; margin: 0; }
.hfo-footer-list li { margin: 0 0 0.45rem 0; }
.hfo-footer-list a {
  color: var(--wp--preset--color--bark-brown);
  text-decoration: none;
  font-size: 0.95rem;
  border-bottom: 1px solid transparent;
  transition: border-color 180ms ease, color 180ms ease;
}
.hfo-footer-list a:hover {
  color: var(--wp--preset--color--barn-red);
  border-bottom-color: var(--wp--preset--color--peach-sunset);
}

/* ----------------------------------------------------------------------
   14. Generic page headings polish (not theme.json-coverable)
   ---------------------------------------------------------------------- */

.hfo-section-eyebrow {
  font-family: var(--hfo-font-body, var(--wp--preset--font-family--body));
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.85rem;
  color: var(--wp--preset--color--barn-red);
  display: inline-block;
  margin-bottom: 0.5rem;
}

/* Remove default WP button border ring on focus, replace with on-brand */
.wp-element-button:focus-visible,
.wp-block-button__link:focus-visible {
  outline: 3px solid var(--wp--preset--color--peach-sunset);
  outline-offset: 3px;
}

/* == compat layer: preset vars + helpers == */
:root {
  --wp--preset--color--black: #000000;
  --wp--preset--color--cyan-bluish-gray: #abb8c3;
  --wp--preset--color--light-green-cyan: #7bdcb5;
  --wp--preset--color--luminous-vivid-amber: #fcb900;
  --wp--preset--color--luminous-vivid-orange: #ff6900;
  --wp--preset--color--pale-cyan-blue: #8ed1fc;
  --wp--preset--color--pale-pink: #f78da7;
  --wp--preset--color--vivid-cyan-blue: #0693e3;
  --wp--preset--color--vivid-green-cyan: #00d084;
  --wp--preset--color--vivid-purple: #9b51e0;
  --wp--preset--color--vivid-red: #cf2e2e;
  --wp--preset--color--white: #ffffff;
  --wp--preset--font-size--large: 36px;
  --wp--preset--font-size--medium: 20px;
  --wp--preset--font-size--small: 13px;
  --wp--preset--font-size--x-large: 42px;
  --wp--preset--spacing--20: 0.44rem;
  --wp--preset--spacing--30: 0.67rem;
  --wp--preset--spacing--40: 1rem;
  --wp--preset--spacing--50: 1.5rem;
  --wp--preset--spacing--60: 2.25rem;
  --wp--preset--spacing--70: 3.38rem;
  --wp--preset--spacing--80: 5.06rem;
  --hfo-font-heading: 'Fraunces', Georgia, 'Times New Roman', serif;
  --hfo-font-body: 'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', sans-serif;
  --hfo-font-accent: 'Caveat', cursive;
}

.has-black-color{color:var(--wp--preset--color--black)}.has-black-background-color{background-color:var(--wp--preset--color--black)}
.has-cyan-bluish-gray-color{color:var(--wp--preset--color--cyan-bluish-gray)}.has-cyan-bluish-gray-background-color{background-color:var(--wp--preset--color--cyan-bluish-gray)}
.has-light-green-cyan-color{color:var(--wp--preset--color--light-green-cyan)}.has-light-green-cyan-background-color{background-color:var(--wp--preset--color--light-green-cyan)}
.has-luminous-vivid-amber-color{color:var(--wp--preset--color--luminous-vivid-amber)}.has-luminous-vivid-amber-background-color{background-color:var(--wp--preset--color--luminous-vivid-amber)}
.has-luminous-vivid-orange-color{color:var(--wp--preset--color--luminous-vivid-orange)}.has-luminous-vivid-orange-background-color{background-color:var(--wp--preset--color--luminous-vivid-orange)}
.has-pale-cyan-blue-color{color:var(--wp--preset--color--pale-cyan-blue)}.has-pale-cyan-blue-background-color{background-color:var(--wp--preset--color--pale-cyan-blue)}
.has-pale-pink-color{color:var(--wp--preset--color--pale-pink)}.has-pale-pink-background-color{background-color:var(--wp--preset--color--pale-pink)}
.has-vivid-cyan-blue-color{color:var(--wp--preset--color--vivid-cyan-blue)}.has-vivid-cyan-blue-background-color{background-color:var(--wp--preset--color--vivid-cyan-blue)}
.has-vivid-green-cyan-color{color:var(--wp--preset--color--vivid-green-cyan)}.has-vivid-green-cyan-background-color{background-color:var(--wp--preset--color--vivid-green-cyan)}
.has-vivid-purple-color{color:var(--wp--preset--color--vivid-purple)}.has-vivid-purple-background-color{background-color:var(--wp--preset--color--vivid-purple)}
.has-vivid-red-color{color:var(--wp--preset--color--vivid-red)}.has-vivid-red-background-color{background-color:var(--wp--preset--color--vivid-red)}
.has-white-color{color:var(--wp--preset--color--white)}.has-white-background-color{background-color:var(--wp--preset--color--white)}

/* == site styles (merged.css) == */
/* Hagen Family Orchard - consolidated site styles.
   Generated from the per-page inline styles on 2026-06-12.
   Source of truth: Hagen Orchard Website 2/scripts/build_css.py */

@keyframes hfo-pulse { 0%{box-shadow:0 0 0 0 rgba(46,125,50,.5)}70%{box-shadow:0 0 0 8px rgba(46,125,50,0)}100%{box-shadow:0 0 0 0 rgba(46,125,50,0)} }

body.page-id-74 .hfo-uses-grid, body.page-id-107 .hfo-uses-grid, body.page-id-108 .hfo-uses-grid, body.page-id-109 .hfo-uses-grid, body.page-id-110 .hfo-uses-grid { display:grid;grid-template-columns:1fr;gap:1.25rem;max-width:1100px;margin:3rem auto 0 auto }
body.page-id-111 .hfo-uses-grid { display:grid;gap:1.25rem;max-width:1100px;margin:2rem auto 0 auto }
body.page-id-112 .hfo-uses-grid, body.page-id-113 .hfo-uses-grid { display:grid;grid-template-columns:1fr;gap:1.25rem;max-width:1100px;margin:0 auto }
body.page-id-74 .hfo-use-card { padding:1.5rem 1.5rem;background:var(--wp--preset--color--stone-mill);border-radius:12px;border-top:4px solid var(--wp--preset--color--peach-sunset) }
body.page-id-107 .hfo-use-card, body.page-id-108 .hfo-use-card, body.page-id-109 .hfo-use-card, body.page-id-110 .hfo-use-card, body.page-id-112 .hfo-use-card { padding:1.5rem;background:var(--wp--preset--color--stone-mill);border-radius:12px;border-top:4px solid var(--wp--preset--color--peach-sunset) }
body.page-id-111 .hfo-use-card, body.page-id-113 .hfo-use-card { padding:1.5rem;background:var(--wp--preset--color--pie-crust);border-radius:12px;border-top:4px solid var(--wp--preset--color--peach-sunset) }
body .hfo-use-card h3 { font-family:var(--hfo-font-heading,var(--wp--preset--font-family--display));font-weight:600;font-size:1.25rem;margin:0 0 .5rem 0;color:var(--wp--preset--color--deep-bark) }
body.page-id-74 .hfo-use-card p, body.page-id-107 .hfo-use-card p, body.page-id-108 .hfo-use-card p, body.page-id-109 .hfo-use-card p, body.page-id-110 .hfo-use-card p { font-size:.98rem;line-height:1.55;margin:0;color:var(--wp--preset--color--bark-brown) }
body.page-id-111 .hfo-use-card p, body.page-id-112 .hfo-use-card p, body.page-id-113 .hfo-use-card p { font-size:1rem;line-height:1.55;margin:0;color:var(--wp--preset--color--bark-brown) }
body .hfo-use-card a { color:var(--wp--preset--color--barn-red);font-weight:600 }
body .hfo-gallery { display:grid;grid-template-columns:1fr;gap:1rem;max-width:1100px;margin:0 auto }
body.page-id-74 .hfo-gallery figure, body.page-id-107 .hfo-gallery figure, body.page-id-108 .hfo-gallery figure, body.page-id-109 .hfo-gallery figure, body.page-id-110 .hfo-gallery figure { margin:0;border-radius:10px;overflow:hidden;box-shadow:0 8px 22px -14px rgba(58,45,34,.3);aspect-ratio:1/1;background:var(--wp--preset--color--stone-mill) }
body.page-id-113 .hfo-gallery figure { margin:0;border-radius:10px;overflow:hidden;box-shadow:0 8px 22px -14px rgba(58,45,34,.3);aspect-ratio:1/1 }
body .hfo-gallery img { display:block;width:100%;height:100%;object-fit:cover;transition:transform 320ms ease }
body .hfo-gallery figure:hover img { transform:scale(1.04) }
body.page-id-74 .hfo-related, body.page-id-107 .hfo-related, body.page-id-108 .hfo-related, body.page-id-109 .hfo-related, body.page-id-110 .hfo-related { margin:4rem auto 0 auto;max-width:1100px;text-align:center }
body.page-id-111 .hfo-related, body.page-id-112 .hfo-related, body.page-id-113 .hfo-related, body.page-id-114 .hfo-related, body.home .hfo-related { max-width:1100px;margin:1rem auto 0;padding:2.5rem var(--wp--preset--spacing--40);border-top:1px solid var(--wp--preset--color--stone-mill) }
body.page-id-146 .hfo-related, body.page-id-147 .hfo-related, body.page-id-148 .hfo-related, body.page-id-149 .hfo-related, body.page-id-150 .hfo-related, body.page-id-151 .hfo-related, body.page-id-175 .hfo-related, body.page-id-176 .hfo-related, body.page-id-177 .hfo-related, body.page-id-178 .hfo-related, body.page-id-179 .hfo-related { max-width:1100px;margin:1rem auto 0;padding:2.5rem 1.5rem;border-top:1px solid var(--wp--preset--color--stone-mill) }
body .hfo-related__label { font-family:var(--hfo-font-body,var(--wp--preset--font-family--body));font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;color:var(--wp--preset--color--barn-red);margin:0 0 1.5rem 0 }
body.page-id-74 .hfo-related__grid, body.page-id-107 .hfo-related__grid, body.page-id-108 .hfo-related__grid, body.page-id-109 .hfo-related__grid, body.page-id-110 .hfo-related__grid { display:grid;grid-template-columns:1fr 1fr;gap:.85rem }
body.page-id-111 .hfo-related__grid, body.page-id-112 .hfo-related__grid, body.page-id-113 .hfo-related__grid, body.page-id-114 .hfo-related__grid, body.page-id-146 .hfo-related__grid, body.page-id-147 .hfo-related__grid, body.page-id-148 .hfo-related__grid, body.page-id-149 .hfo-related__grid, body.page-id-150 .hfo-related__grid, body.page-id-151 .hfo-related__grid, body.page-id-175 .hfo-related__grid, body.page-id-176 .hfo-related__grid, body.page-id-177 .hfo-related__grid, body.page-id-178 .hfo-related__grid, body.page-id-179 .hfo-related__grid { display:grid;grid-template-columns:1fr;gap:.85rem;max-width:760px;margin:0 auto }
body.home .hfo-related__grid { display:grid;grid-template-columns:1fr;gap:.85rem;max-width:880px;margin:0 auto }
body.page-id-74 .hfo-related__card, body.page-id-107 .hfo-related__card, body.page-id-108 .hfo-related__card, body.page-id-109 .hfo-related__card, body.page-id-110 .hfo-related__card { display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem 1.25rem;background:var(--wp--preset--color--pie-crust);border:1px solid var(--wp--preset--color--stone-mill);border-radius:10px;text-decoration:none;transition:transform 200ms ease,border-color 200ms ease,box-shadow 200ms ease }
body.page-id-111 .hfo-related__card, body.page-id-112 .hfo-related__card, body.page-id-113 .hfo-related__card, body.page-id-114 .hfo-related__card, body.home .hfo-related__card { display:flex;align-items:center;justify-content:center;text-align:center;padding:1rem 1.25rem;background:var(--wp--preset--color--stone-mill);border:1px solid transparent;border-radius:12px;font-family:var(--hfo-font-heading,var(--wp--preset--font-family--display));font-weight:600;font-size:1.05rem;color:var(--wp--preset--color--deep-bark);text-decoration:none;transition:transform 200ms ease,border-color 200ms ease,box-shadow 200ms ease }
body.page-id-146 .hfo-related__card, body.page-id-147 .hfo-related__card, body.page-id-148 .hfo-related__card, body.page-id-149 .hfo-related__card, body.page-id-150 .hfo-related__card, body.page-id-151 .hfo-related__card, body.page-id-175 .hfo-related__card, body.page-id-176 .hfo-related__card, body.page-id-177 .hfo-related__card, body.page-id-178 .hfo-related__card, body.page-id-179 .hfo-related__card { display:flex;align-items:center;justify-content:center;text-align:center;padding:1rem;background:var(--wp--preset--color--stone-mill);border:1px solid transparent;border-radius:12px;font-family:var(--hfo-font-heading,var(--wp--preset--font-family--display));font-weight:600;font-size:1.05rem;color:var(--wp--preset--color--deep-bark);text-decoration:none;transition:transform .2s ease,border-color .2s ease }
body.page-id-74 .hfo-related__card:hover, body.page-id-107 .hfo-related__card:hover, body.page-id-108 .hfo-related__card:hover, body.page-id-109 .hfo-related__card:hover, body.page-id-110 .hfo-related__card:hover { transform:translateY(-3px);border-color:var(--wp--preset--color--peach-sunset);box-shadow:0 10px 22px -14px rgba(58,45,34,.28) }
body.page-id-111 .hfo-related__card:hover, body.page-id-112 .hfo-related__card:hover, body.page-id-113 .hfo-related__card:hover, body.page-id-114 .hfo-related__card:hover, body.home .hfo-related__card:hover { transform:translateY(-3px);border-color:var(--wp--preset--color--peach-sunset);box-shadow:0 10px 24px -14px rgba(58,45,34,.3);color:var(--wp--preset--color--barn-red) }
body.page-id-146 .hfo-related__card:hover, body.page-id-147 .hfo-related__card:hover, body.page-id-148 .hfo-related__card:hover, body.page-id-149 .hfo-related__card:hover, body.page-id-150 .hfo-related__card:hover, body.page-id-151 .hfo-related__card:hover, body.page-id-175 .hfo-related__card:hover, body.page-id-176 .hfo-related__card:hover, body.page-id-177 .hfo-related__card:hover, body.page-id-178 .hfo-related__card:hover, body.page-id-179 .hfo-related__card:hover { transform:translateY(-3px);border-color:var(--wp--preset--color--peach-sunset);color:var(--wp--preset--color--barn-red) }
body .hfo-related__card-title { font-family:var(--hfo-font-heading,var(--wp--preset--font-family--display));font-weight:600;font-size:1.1rem;color:var(--wp--preset--color--deep-bark) }
body .hfo-related__card-meta { font-size:.85rem;color:var(--wp--preset--color--worn-stone) }
body.page-id-74 .hfo-hours-list, body.page-id-107 .hfo-hours-list, body.page-id-108 .hfo-hours-list, body.page-id-109 .hfo-hours-list, body.page-id-110 .hfo-hours-list, body.page-id-111 .hfo-hours-list, body.page-id-114 .hfo-hours-list { list-style:none;padding:0;margin:.5rem 0 }
body.home .hfo-hours-list { list-style:none;padding:0;margin:.5rem 0 .5rem 0 }
body.page-id-74 .hfo-hours-list li, body.page-id-107 .hfo-hours-list li, body.page-id-108 .hfo-hours-list li, body.page-id-109 .hfo-hours-list li, body.page-id-110 .hfo-hours-list li, body.page-id-111 .hfo-hours-list li, body.page-id-114 .hfo-hours-list li { display:flex;justify-content:space-between;padding:.35rem 0;border-bottom:1px dashed rgba(168,51,43,.18);font-size:.95rem;color:var(--wp--preset--color--bark-brown);font-variant-numeric:tabular-nums }
body.home .hfo-hours-list li { display:flex;justify-content:space-between;align-items:baseline;padding:.35rem 0;border-bottom:1px dashed rgba(168,51,43,.18);font-size:.95rem;color:var(--wp--preset--color--bark-brown);font-variant-numeric:tabular-nums }
body .hfo-hours-list li:last-child { border-bottom:0 }
body .hfo-hours-list li > span:first-child { font-weight:600 }
body .hfo-reveal { transition-delay:var(--hfo-delay,0ms) }
body .hfo-reveal--scale { transform:scale(.94) translateY(16px) }
body .hfo-reveal--left { transform:translateX(-26px) }
body .hfo-reveal--right { transform:translateX(26px) }
body .hfo-reveal--scale.is-revealed, body .hfo-reveal--left.is-revealed, body .hfo-reveal--right.is-revealed { transform:none }
body .hfo-hero::before { inset:-40px;transform:translateY(var(--hfo-sy,0));transition:transform 140ms linear;will-change:transform }
body .hfo-status { display:inline-flex;align-items:center;gap:.5rem;margin:0 0 1.1rem;padding:.4rem .9rem;border-radius:999px;background:rgba(63,95,58,.10);border:1px solid rgba(63,95,58,.28);font-family:var(--hfo-font-body,var(--wp--preset--font-family--body));font-weight:600;font-size:.92rem;color:#33502F;line-height:1 }
body .hfo-status__dot { width:9px;height:9px;border-radius:999px;background:#33502F;flex-shrink:0 }
body .hfo-status.is-open { background:rgba(46,125,50,.12);border-color:rgba(46,125,50,.32);color:#256628 }
body .hfo-status.is-open .hfo-status__dot { background:#2E7D32;animation:hfo-pulse 2.1s infinite }
body .hfo-status.is-closed { background:rgba(168,51,43,.08);border-color:rgba(168,51,43,.26);color:#8F2A22 }
body .hfo-status.is-closed .hfo-status__dot { background:#A8332B }
body .hfo-status.is-offseason { background:rgba(232,128,75,.12);border-color:rgba(232,128,75,.32);color:#9C4A23 }
body .hfo-status.is-offseason .hfo-status__dot { background:#E8804B }
body .hfo-sticky-cta svg { width:18px;height:18px;flex-shrink:0 }
body .hfo-related { max-width:1100px;margin:1rem auto 0;padding:2.5rem var(--wp--preset--spacing--40);border-top:1px solid var(--wp--preset--color--stone-mill) }
body .hfo-related__eyebrow { font-family:var(--hfo-font-body,var(--wp--preset--font-family--body));font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;color:var(--wp--preset--color--barn-red);text-align:center;margin:0 0 1.25rem }
body .hfo-related__grid { display:grid;grid-template-columns:1fr;gap:.85rem;max-width:760px;margin:0 auto }
body .hfo-related__card { display:flex;align-items:center;justify-content:center;text-align:center;padding:1rem 1.25rem;background:var(--wp--preset--color--stone-mill);border:1px solid transparent;border-radius:12px;font-family:var(--hfo-font-heading,var(--wp--preset--font-family--display));font-weight:600;font-size:1.05rem;color:var(--wp--preset--color--deep-bark);text-decoration:none;transition:transform 200ms ease,border-color 200ms ease,box-shadow 200ms ease }
body .hfo-related__card:hover { transform:translateY(-3px);border-color:var(--wp--preset--color--peach-sunset);box-shadow:0 10px 24px -14px rgba(58,45,34,.3);color:var(--wp--preset--color--barn-red) }
body.page-id-111 .hfo-map, body.page-id-114 .hfo-map { margin:0 auto;max-width:1100px;border-radius:14px;overflow:hidden;box-shadow:0 12px 32px -16px rgba(58,45,34,.25);border:1px solid var(--wp--preset--color--stone-mill) }
body.home .hfo-map { margin:3rem auto 0 auto;max-width:1100px;border-radius:14px;overflow:hidden;box-shadow:0 12px 32px -16px rgba(58,45,34,.25);border:1px solid var(--wp--preset--color--stone-mill) }
body .hfo-map iframe { display:block;width:100% }
body .hfo-faq details { border-bottom:1px solid var(--wp--preset--color--stone-mill);padding:1rem 0 }
body .hfo-faq summary { font-family:var(--hfo-font-heading,var(--wp--preset--font-family--display));font-weight:600;font-size:1.2rem;cursor:pointer;color:var(--wp--preset--color--deep-bark);list-style:none;padding-right:1.5rem;position:relative }
body .hfo-faq summary::after { content:"+";position:absolute;right:0;top:0;font-size:1.5rem;color:var(--wp--preset--color--barn-red);transition:transform 200ms ease }
body .hfo-faq details[open] summary::after { transform:rotate(45deg) }
body .hfo-faq summary::-webkit-details-marker { display:none }
body .hfo-faq details p { margin:.75rem 0 0 0;font-size:1rem;line-height:1.6;color:var(--wp--preset--color--bark-brown) }
body .hfo-faq details a { color:var(--wp--preset--color--barn-red);font-weight:600 }
body .hfo-people-grid { display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:720px;margin:2rem auto 0 auto }
body .hfo-people-grid figure { margin:0;padding:14px 14px 18px 14px;background:#FFF;border:1px solid #E5DDC9;box-shadow:0 12px 28px -16px rgba(58,45,34,.28) }
body .hfo-people-grid img { display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover }
body .hfo-people-grid figcaption { display:flex;flex-direction:column;text-align:center;padding-top:.85rem }
body .hfo-people-grid figcaption strong { font-family:var(--hfo-font-heading,var(--wp--preset--font-family--display));font-weight:700;font-size:1.2rem;color:var(--wp--preset--color--deep-bark) }
body .hfo-people-grid figcaption span { font-family:var(--hfo-font-body,var(--wp--preset--font-family--body));font-size:.85rem;color:var(--wp--preset--color--worn-stone);text-transform:uppercase;letter-spacing:.1em;margin-top:.25rem }
body .hfo-checklist { list-style:none;padding:0;margin:1.5rem 0 0 0 }
body .hfo-checklist li { padding:.6rem 0 .6rem 1.75rem;border-bottom:1px solid var(--wp--preset--color--stone-mill);position:relative;font-size:1rem;color:var(--wp--preset--color--bark-brown) }
body .hfo-checklist li::before { content:"✓";position:absolute;left:0;top:.6rem;color:var(--wp--preset--color--orchard-green);font-weight:700 }
body .hfo-checklist li:last-child { border-bottom:0 }
body main p.has-barn-red-color.has-small-font-size { text-transform:uppercase;letter-spacing:.12em;font-weight:600;margin-bottom:.4rem }
body main .wp-block-image { max-width:414px;margin-inline:auto;padding:12px;background:#fff;border:1px solid #E5DDC9;box-shadow:0 18px 38px -22px rgba(58,45,34,.34),0 4px 10px -6px rgba(58,45,34,.16);border-radius:4px;transform:rotate(-1.5deg);transition:transform .34s cubic-bezier(.22,.36,.21,1.01) }
body main .wp-block-image:hover { transform:rotate(0deg) translateY(-3px) }
body main .wp-block-image img { display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:2px }
body main .hfo-map { max-width:1040px;margin:2rem auto 0 }
body .hfo-logo-link { display:inline-flex;align-items:center;text-decoration:none!important;transition:opacity 200ms ease }
body .hfo-logo-link:hover { opacity:.78 }
body .hfo-logo-image { display:block;height:70px;width:auto;max-width:80px;object-fit:contain }
body .hfo-hero-photo { width:100%;max-width:380px;margin:0 auto;padding:18px;background:#FFFFFF;border:1px solid #E5DDC9;box-shadow:0 1px 0 rgba(0,0,0,.04),0 18px 40px -16px rgba(58,45,34,.28),0 4px 10px -4px rgba(58,45,34,.18);transform:rotate(-1.5deg);transition:transform 320ms cubic-bezier(.22,.36,.21,1.01);position:relative }
body .hfo-hero-photo:hover { transform:rotate(0deg) translateY(-2px) }
body .hfo-hero-photo img { display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover }
body .hfo-hero-photo::before { content:"";position:absolute;top:-10px;left:50%;transform:translateX(-50%) rotate(-3deg);width:90px;height:18px;background:rgba(232,180,69,.35);border-left:1px solid rgba(0,0,0,.06);border-right:1px solid rgba(0,0,0,.06) }
body .hfo-founder-card { display:grid;grid-template-columns:1fr;gap:1.5rem;margin:3rem auto 0 auto;max-width:880px;padding:1.5rem;background:var(--wp--preset--color--pie-crust);border:1px solid var(--wp--preset--color--stone-mill);border-radius:14px;align-items:center }
body .hfo-founder-card__photo { padding:12px 12px 36px 12px;background:#FFFFFF;border:1px solid #E5DDC9;box-shadow:0 12px 28px -16px rgba(58,45,34,.28),0 3px 8px -3px rgba(58,45,34,.15);transform:rotate(-1.2deg);position:relative;align-self:start }
body .hfo-founder-card__photo img { display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;filter:sepia(.18) contrast(1.04) }
body .hfo-founder-card__photo::before { content:"";position:absolute;top:-8px;left:50%;transform:translateX(-50%) rotate(-2deg);width:70px;height:14px;background:rgba(232,180,69,.3) }
body .hfo-founder-card__caption { text-align:left }
body .hfo-founder-card__eyebrow { font-family:var(--hfo-font-body,var(--wp--preset--font-family--body));font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:var(--wp--preset--color--barn-red);display:inline-block;margin-bottom:.5rem }
body .hfo-founder-card__quote { font-family:var(--hfo-font-heading,var(--wp--preset--font-family--display));font-size:1.35rem;line-height:1.4;color:var(--wp--preset--color--deep-bark);margin:0 0 .75rem 0;font-style:italic }
body .hfo-founder-card__quote strong { font-weight:700;font-style:normal }
body .hfo-founder-card__byline { font-size:1rem;color:var(--wp--preset--color--bark-brown);margin:0;line-height:1.55 }
body .hfo-main { display:block }

@media (min-width: 720px) {
  body.page-id-74 .hfo-uses-grid, body.page-id-107 .hfo-uses-grid, body.page-id-108 .hfo-uses-grid, body.page-id-109 .hfo-uses-grid, body.page-id-110 .hfo-uses-grid, body.page-id-113 .hfo-uses-grid { grid-template-columns:repeat(2,1fr) }
  body.page-id-112 .hfo-uses-grid { grid-template-columns:repeat(3,1fr) }
  body .hfo-gallery { grid-template-columns:repeat(2,1fr);gap:1.25rem }
  body .hfo-related__grid { grid-template-columns:repeat(4,1fr) }
  body .hfo-people-grid { grid-template-columns:1fr 1fr }
  body .hfo-founder-card { grid-template-columns:220px 1fr;gap:2rem;padding:1.75rem }
}

@media (min-width: 1024px) {
  body .hfo-uses-grid { grid-template-columns:repeat(4,1fr) }
  body .hfo-gallery { grid-template-columns:repeat(4,1fr) }
  body .hfo-hero-photo { max-width:440px;padding:22px }
}

@media (prefers-reduced-motion: reduce) {
  body .hfo-status.is-open .hfo-status__dot { animation:none }
  body .hfo-hero::before { transition:none }
  body .hfo-reveal--scale, body .hfo-reveal--left, body .hfo-reveal--right { transform:none }
}

@media(min-width:640px) {
  body .hfo-related__grid { grid-template-columns:repeat(3,1fr) }
}

@media (prefers-reduced-motion: no-preference) {
  body main section.wp-block-group { opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,.36,.21,1.01) }
  body main section.wp-block-group.hfo-in { opacity:1;transform:none }
}

@media(min-width:768px) {
  body .hfo-logo-image { height:88px;max-width:100px }
}

/* A11y remediation (WCAG 2.1 AA, audit item 2): worn-stone darkened from
   #8C7E6A (3.67:1 on pie-crust, fails AA for small text) to #6F6353 (~4.6:1).
   Front-end token override; theme.json palette swatch unchanged. */
body { --wp--preset--color--worn-stone: #6F6353; }

/* Layout-gap reset for containers converted from raw HTML to group blocks */
body .hfo-uses-grid > *, body .hfo-use-card > *, body .hfo-gallery > *,
body .hfo-people-grid > *, body .hfo-way-step > *, body .hfo-visit-card > * {
  margin-block-start: 0;
}
body .hfo-gallery > figure.wp-block-image, body .hfo-uses-grid > .wp-block-group,
body .hfo-people-grid > * { margin-top: 0; margin-bottom: 0; }/* End custom CSS */