
:root {
  --bov2-green: #3fa34d;
  --bov2-green-dark: #2e7d32;
  --bov2-green-soft: #6bcb5b;
  --bov2-orange: #ff7a1a;
  --bov2-orange-dark: #e56712;
  --bov2-blue: #2ea3d6;
  --bov2-blue-dark: #1f6fb2;
  --bov2-blue-soft: #67c1e5;
  --bov2-bg: #ffffff;
  --bov2-surface: #ffffff;
  --bov2-surface-soft: #fafbfa;
  --bov2-surface-alt: #556955;
  --bov2-text: #2b2b2b;
  --bov2-muted: #70746f;
  --bov2-border: #e9ece8;
  --bov2-shadow: 0 18px 42px rgba(18, 35, 22, 0.08);
  --bov2-shadow-soft: 0 10px 24px rgba(18, 35, 22, 0.06);
  --bov2-radius: 22px;
  --bov2-radius-sm: 14px;
  --bov2-container: 1240px;
  --bov2-content: 820px;
  --bov2-grid: 1080px;
  --bov2-section-space: clamp(72px, 8vw, 96px);
  --bov2-section-space-tight: clamp(48px, 5vw, 64px);
  --bov2-gutter-fixed: 24px;
  --bov2-gutter-min: 18px;
  --bov2-gutter-scale: 5vw;
  --bov2-gutter-max: 64px;
  --bov2-gutter: clamp(var(--bov2-gutter-min), var(--bov2-gutter-scale), var(--bov2-gutter-max));
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Inter', Arial, Helvetica, sans-serif;
  font-size: 18px;
  line-height: 1.68;
  color: var(--bov2-text);
  background: var(--bov2-bg);
}
a { color: var(--bov2-link, var(--bov2-green-dark)); text-decoration: none; transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
a:hover { color: var(--bov2-link-hover, var(--bov2-green)); text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
h1, h2, h3, h4, h5, h6 {
  margin: 0 0 .6em;
  font-family: 'Inter', Arial, Helvetica, sans-serif;
  color: #243126;
  line-height: 1.15;
}
h1 { font-size: clamp(2.4rem, 4vw, 3.25rem); font-weight: 700; letter-spacing: -.04em; }
h2 { font-size: clamp(2rem, 3vw, 2.45rem); font-weight: 600; letter-spacing: -.03em; }
h3 { font-size: clamp(1.35rem, 2.2vw, 1.7rem); font-weight: 600; }
h4 { font-size: 1.15rem; font-weight: 600; }
p { margin: 0 0 1.1em; }
.bov2-shell,
.bov2-container { width: min(calc(100% - (var(--bov2-gutter) * 2)), var(--bov2-container)); margin-inline: auto; }
.bov2-measure,
.wrap-narrow { width: min(100%, var(--bov2-content)); margin-inline: auto; }
.bov2-measure--wide { width: min(100%, calc(var(--bov2-content) + 120px)); margin-inline: auto; }
.bov2-grid-measure { width: min(100%, var(--bov2-grid)); margin-inline: auto; }
.bov2-grid-measure--wide { width: min(100%, min(var(--bov2-container), calc(var(--bov2-grid) + 120px))); margin-inline: auto; }
.bov2-flow > * + * { margin-top: 1.1em; }
.bov2-site-main { overflow: clip; }
.bov2-site-header-shell {
  position: sticky;
  top: 0;
  z-index: 60;
}
.bov2-utility-bar {
  background: var(--bov2-surface-alt);
  color: #fff;
  border-bottom: 0;
}
.bov2-utility-bar__inner {
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding-block: 7px;
}
.bov2-utility-bar__meta strong { color: #fff; }
.bov2-utility-bar__meta {
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.96);
}
.bov2-utility-bar__contact {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  flex-wrap: wrap;
}
.bov2-utility-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #fff;
  font-size: .84rem;
  font-weight: 600;
  letter-spacing: .02em;
}
.bov2-utility-link:hover {
  color: rgba(255,255,255,.84);
}
.bov2-utility-link__icon {
  font-size: .95rem;
  line-height: 1;
}
.bov2-utility-link__icon--phone {
  color: #e44747;
}
.bov2-site-header {
  background: #fff;
  backdrop-filter: none;
  border-bottom: 1px solid var(--bov2-border);
  box-shadow: 0 2px 6px rgba(18,35,22,.04);
  transition: box-shadow .2s ease, background-color .2s ease;
}
.bov2-site-header-shell.is-scrolled .bov2-site-header {
  box-shadow: 0 2px 10px rgba(18,35,22,.07);
}
.bov2-site-header__inner {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 24px;
  min-height: 86px;
}
.bov2-branding {
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 16px 0;
}
.bov2-branding__logo {
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--bov2-green-dark);
  letter-spacing: -.03em;
}
.bov2-branding__tag { color: var(--bov2-muted); font-size: .95rem; }
.bov2-header-actions {
  display: flex;
  align-items: stretch;
  gap: 18px;
  margin-left: auto;
}
.bov2-header-nav,
.bov2-header-nav .bov2-nav,
.bov2-header-nav .bov2-nav__list {
  height: 100%;
}
.bov2-nav__list, .bov2-footer-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 0;
  flex-wrap: wrap;
  align-items: stretch;
}
.bov2-footer-links {
  align-items: center;
  gap: 10px 0;
}
.bov2-nav__item {
  display: flex;
  align-items: stretch;
}
.bov2-nav__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  padding: 0 18px;
  font-size: .95rem;
  font-weight: 600;
  letter-spacing: .02em;
  color: var(--bov2-green-dark);
  background: transparent;
  border-radius: 0;
  transition: color .2s ease, background-color .2s ease, transform .2s ease;
}
.bov2-nav__link::after {
  display: none;
  content: '';
}
.bov2-nav__link:hover,
.bov2-nav__item.current-menu-item .bov2-nav__link,
.bov2-nav__item.current_page_item .bov2-nav__link {
  text-decoration: none;
  color: #fff;
  background: var(--bov2-surface-alt);
}
.bov2-header-cta {
  white-space: nowrap;
  align-self: center;
  border-radius: 999px;
  padding-inline: 24px;
}
.bov2-menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4px;
  width: 48px;
  height: 48px;
  border: 1px solid var(--bov2-border);
  background: var(--bov2-surface);
  padding: 0;
  border-radius: 10px;
  box-shadow: var(--bov2-shadow-soft);
}
.bov2-menu-toggle__line {
  display: block;
  width: 20px;
  height: 2px;
  background: var(--bov2-green-dark);
  border-radius: 999px;
}
.bov2-mobile-drawer {
  border-top: 1px solid var(--bov2-border);
  background: rgba(255,255,255,.98);
  box-shadow: 0 18px 28px rgba(18,35,22,.08);
}
.bov2-mobile-drawer__inner {
  padding: 18px 0 22px;
  display: grid;
  gap: 18px;
}

.bov2-social {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.bov2-social__link {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  border: 1px solid var(--bov2-border);
  color: var(--bov2-green-dark);
  background: rgba(255,255,255,.55);
}
.bov2-social__link:hover {
  text-decoration: none;
  color: #fff;
  background: var(--bov2-blue);
  border-color: var(--bov2-blue);
}
.bov2-utility-bar .bov2-social__link {
  width: 28px;
  height: 28px;
  border-color: rgba(255,255,255,.22);
  color: #fff;
  background: transparent;
}
.bov2-utility-bar .bov2-social__link:hover {
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.34);
  color: #fff;
}
.bov2-site-footer .bov2-social__link {
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  color: #fff;
}
.bov2-site-footer .bov2-social__link:hover {
  background: rgba(255,255,255,.18);
  border-color: rgba(255,255,255,.24);
}
.bov2-page-banner {
  padding: var(--bov2-section-space-tight) 0 calc(var(--bov2-section-space-tight) - 10px);
  background: linear-gradient(180deg, #ffffff 0%, #fafbfa 100%);
  border-bottom: 1px solid #e9ece8;
}
.bov2-page-banner__inner { width: min(100%, var(--bov2-content)); margin-inline: auto; }
.bov2-page-banner__title { margin-bottom: 10px; }
.bov2-page-banner__subtitle { margin: 0; color: var(--bov2-muted); font-size: 1.05rem; }

.bov2-hero {
  padding: calc(var(--bov2-section-space) + 6px) 0 var(--bov2-section-space-tight);
  background: linear-gradient(180deg, #ffffff 0%, #fafbfa 100%);
}
.bov2-hero__grid, .bov2-plant-hero { display: grid; grid-template-columns: minmax(0, 540px) minmax(0, 1fr); gap: clamp(30px, 4vw, 64px); align-items: center; }
.bov2-kicker {
  display: inline-block; margin-bottom: 14px; font-size: .78rem; font-weight: 800;
  letter-spacing: .14em; text-transform: uppercase; color: var(--bov2-green);
}
h1, h2, h3, h4 { line-height: 1.12; margin: 0 0 16px; }
h1 { font-size: clamp(2.5rem, 4vw, 4.4rem); }
h2 { font-size: clamp(2rem, 3vw, 2.9rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.45rem); }
.bov2-hero p, .bov2-muted { color: var(--bov2-muted); }
.bov2-hero__content { max-width: 520px; }
.bov2-hero__content h1 { max-width: 10.5ch; margin-bottom: 18px; }
.bov2-hero__content p { font-size: 1.12rem; max-width: 34rem; margin-bottom: 0; }
.bov2-hero__trust { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 10px 18px; font-size: .92rem; color: var(--bov2-muted); }
.bov2-hero__trust span { position: relative; }
.bov2-hero__trust span + span::before { content: "•"; position: absolute; left: -12px; color: var(--bov2-blue); }
.bov2-hero__trust strong { color: var(--bov2-blue); letter-spacing: .04em; }
.bov2-hero__actions, .bov2-card__actions, .bov2-cta__actions { display: flex; gap: 14px; flex-wrap: wrap; }
.bov2-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 50px;
  padding: 14px 24px; border-radius: 0; font-weight: 700; letter-spacing: .01em; border: 1px solid transparent;
  box-shadow: 0 8px 18px rgba(18,35,22,.07);
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
}
.bov2-btn:hover,
.bov2-btn:focus-visible {
  transform: translateY(-2px);
}
.bov2-btn:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(31,111,178,.18), 0 12px 26px rgba(18,35,22,.14);
}
.bov2-btn:active {
  transform: translateY(0);
}
.bov2-btn--primary { background: var(--bov2-blue); color: #fff; border-color: var(--bov2-blue); }
.bov2-btn--primary:hover,
.bov2-btn--primary:focus-visible { background: var(--bov2-blue-dark); color: #fff; border-color: var(--bov2-blue-dark); box-shadow: 0 14px 28px rgba(31,111,178,.24); }
.bov2-btn--secondary, .bov2-btn--ghost { background: var(--bov2-surface); color: var(--bov2-green-dark); border-color: var(--bov2-green-dark); }
.bov2-btn--secondary:hover, .bov2-btn--secondary:focus-visible,
.bov2-btn--ghost:hover, .bov2-btn--ghost:focus-visible { background: var(--bov2-green-dark); color: #fff; border-color: var(--bov2-green-dark); box-shadow: 0 14px 28px rgba(18,35,22,.16); }
.bov2-placeholder-image {
  min-height: 280px; border-radius: var(--bov2-radius); background: linear-gradient(135deg, #325a3d, #7cab73);
  color: #fff; display: grid; place-items: center; font-size: 1.4rem; font-weight: 700; box-shadow: var(--bov2-shadow);
}
.bov2-hero__image-card { position: relative; padding: 12px; background: var(--bov2-surface); border-radius: 0; border: 1px solid var(--bov2-border); box-shadow: var(--bov2-shadow); overflow: hidden; }
.bov2-hero__image-card::after { display: none; }
.bov2-hero__image { display: block; width: 100%; height: min(68vh, 620px); object-fit: cover; object-position: center; }
.bov2-section { padding: var(--bov2-section-space) 0; }
.bov2-section--light { background: var(--bov2-surface-soft); border-top: 1px solid var(--bov2-border); border-bottom: 1px solid var(--bov2-border); }
.bov2-section.bov2-section--alt { background: var(--bov2-surface-alt); color: var(--bov2-section-alt-text, #ffffff); border-top: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08); }
.bov2-section.bov2-section--alt h1, .bov2-section.bov2-section--alt h2, .bov2-section.bov2-section--alt h3, .bov2-section.bov2-section--alt h4, .bov2-section.bov2-section--alt p, .bov2-section.bov2-section--alt .bov2-muted { color: var(--bov2-section-alt-text, #ffffff); }
.bov2-section.bov2-section--alt .bov2-muted { color: rgba(255,255,255,.86); }
.bov2-section.bov2-section--alt .bov2-kicker { color: rgba(255,255,255,.82); }
.bov2-section.bov2-section--alt .bov2-card, .bov2-section.bov2-section--alt .bov2-feature-card, .bov2-section.bov2-section--alt .bov2-spec-card, .bov2-section.bov2-section--alt .bov2-restricted-card, .bov2-section.bov2-section--alt .bov2-service-card { background: #ffffff; color: var(--bov2-text); }
.bov2-section.bov2-section--alt .bov2-card h1, .bov2-section.bov2-section--alt .bov2-card h2, .bov2-section.bov2-section--alt .bov2-card h3, .bov2-section.bov2-section--alt .bov2-card h4, .bov2-section.bov2-section--alt .bov2-feature-card h1, .bov2-section.bov2-section--alt .bov2-feature-card h2, .bov2-section.bov2-section--alt .bov2-feature-card h3, .bov2-section.bov2-section--alt .bov2-feature-card h4, .bov2-section.bov2-section--alt .bov2-service-card h1, .bov2-section.bov2-section--alt .bov2-service-card h2, .bov2-section.bov2-section--alt .bov2-service-card h3, .bov2-section.bov2-section--alt .bov2-service-card h4 { color: #243126; }
.bov2-section.bov2-section--alt .bov2-card p, .bov2-section.bov2-section--alt .bov2-card li, .bov2-section.bov2-section--alt .bov2-card .bov2-muted, .bov2-section.bov2-section--alt .bov2-feature-card p, .bov2-section.bov2-section--alt .bov2-feature-card li, .bov2-section.bov2-section--alt .bov2-service-card p, .bov2-section.bov2-section--alt .bov2-service-card li { color: var(--bov2-text); }
.bov2-section.bov2-section--alt .bov2-text-link { color: var(--bov2-green-dark); }
.bov2-section.bov2-section--alt .bov2-text-link:hover { color: var(--bov2-green); }
.bov2-section.bov2-section--alt .bov2-portfolio-item__link { box-shadow: 0 12px 28px rgba(0,0,0,.12); }
.bov2-section-heading { margin-bottom: 34px; max-width: min(100%, var(--bov2-content)); text-align: left; }
.bov2-section-heading p { max-width: 42rem; }

.bov2-copy-measure { width: min(100%, var(--bov2-content)); margin-inline: auto; }
.bov2-copy-measure--wide { width: min(100%, calc(var(--bov2-content) + 120px)); margin-inline: auto; }
.bov2-reviews-shell,
.bov2-portfolio-actions,
.bov2-section-cta,
.bov2-cta__copy { width: min(100%, var(--bov2-content)); }
.bov2-card-grid,
.bov2-feature-grid,
.bov2-portfolio-grid,
.bov2-plant-filmstrip,
.bov2-reviews-shell > *,
.bov2-grid-boundary { width: min(100%, var(--bov2-grid)); margin-inline: auto; }
.bov2-section-cta--center,
.bov2-portfolio-actions { margin-inline: auto; }
.bov2-card-grid--services { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bov2-service-card { padding: 0; overflow: hidden; position: relative; }
.bov2-service-card__link { display:block; color:inherit; text-decoration:none; height:100%; }
.bov2-service-card__link:focus-visible { outline: 3px solid rgba(72,127,78,.24); outline-offset: -3px; border-radius: inherit; }
.bov2-service-card__image { aspect-ratio: 4 / 3; overflow: hidden; border-bottom: 1px solid var(--bov2-border); background: #f4f6f2; }
.bov2-service-card__image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .35s ease; }
.bov2-service-card:hover .bov2-service-card__image img { transform: scale(1.03); }
.bov2-service-card::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 4px; background: transparent; transition: background-color .25s ease; z-index: 2; }
.bov2-service-card:hover::before { background: var(--bov2-green); }
.bov2-service-card__badge { position: absolute; top: 16px; left: 16px; z-index: 3; display: inline-flex; align-items: center; padding: 8px 12px; border-radius: 999px; background: rgba(255,255,255,.92); color: #234432; font-size: .76rem; font-weight: 800; letter-spacing: .03em; box-shadow: 0 10px 24px rgba(18,35,22,.12); backdrop-filter: blur(8px); }
.bov2-section-cta { margin-top: 28px; }
.bov2-section-cta--center { text-align: center; }
.bov2-service-card__body { padding: 26px; }
.bov2-project-card { padding: 0; overflow: hidden; }
.bov2-project-card__media { aspect-ratio: 4 / 3; overflow: hidden; background: #f4f6f2; }
.bov2-project-card__image { margin-bottom: 0; height: 100%; transition: transform .35s ease; }
.bov2-project-card:hover .bov2-project-card__image { transform: scale(1.035); }
.bov2-project-card__body { padding: 24px; }
.bov2-project-card__body h3 { margin-bottom: 10px; }
.bov2-project-card__body .bov2-text-link { display: inline-flex; margin-top: 8px; }
.bov2-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.bov2-card, .bov2-feature-card, .bov2-spec-card, .bov2-restricted-card {
  background: var(--bov2-surface); border: 1px solid var(--bov2-border); border-radius: var(--bov2-radius);
  padding: 26px; box-shadow: none;
}
.bov2-feature-grid, .bov2-plant-specs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.bov2-card:hover, .bov2-feature-card:hover, .bov2-spec-card:hover, .bov2-restricted-card:hover { box-shadow: var(--bov2-shadow-soft); }
.bov2-cta { background: linear-gradient(135deg, var(--bov2-blue-dark), var(--bov2-blue)); color: #fff; }
.bov2-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 26px; }
.bov2-site-footer { padding: var(--bov2-section-space-tight) 0 0; background: #fafbfa; color: #111111; border-top: 1px solid #e9ece8; }
.bov2-site-footer a { color: #111111; }
.bov2-site-footer__grid { display: grid; grid-template-columns: 1.15fr .8fr .8fr .8fr; gap: 34px; }
.bov2-site-footer h3, .bov2-site-footer h4 { color: var(--bov2-green-dark); }
.bov2-site-footer p, .bov2-site-footer li, .bov2-site-footer span { color: #111111; }
.bov2-site-footer a:hover { color: var(--bov2-blue); }
.bov2-footer-title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}
.bov2-footer-title__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: rgba(61, 109, 244, .10);
  color: var(--bov2-blue);
  font-size: .95rem;
  line-height: 1;
  box-shadow: inset 0 0 0 1px rgba(61, 109, 244, .18);
}
.bov2-footer-title--brand .bov2-footer-title__icon {
  background: rgba(28, 58, 38, .08);
  color: var(--bov2-green-dark);
  box-shadow: inset 0 0 0 1px rgba(28, 58, 38, .12);
}
.bov2-footer-links li {
  display: inline-flex;
  align-items: center;
  margin: 0;
}
.bov2-footer-links li:not(:last-child)::after,
.bov2-footer-links--inline a:not(:last-child)::after {
  content: "|";
  color: #97a0a5;
  margin: 0 10px;
}
.bov2-footer-links li a,
.bov2-footer-links--inline a {
  display: inline-flex;
  align-items: center;
}
.bov2-footer-col p,
.bov2-footer-col ul { margin-top: 0; }
.bov2-grid-shell { display: grid; gap: clamp(22px, 2vw, 30px); }
.bov2-cluster { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }

.bov2-content-wrap { padding: var(--bov2-section-space-tight) 0 var(--bov2-section-space); }
.bov2-entry { width: min(100%, var(--bov2-content)); margin-inline: auto; }
.bov2-entry__meta { margin: -4px 0 22px; color: var(--bov2-muted); font-size: .95rem; }
.bov2-entry__content > * { max-width: 100%; }
.bov2-entry__content > h2, .bov2-entry__content > h3, .bov2-entry__content > h4 { margin-top: 1.5em; }
.bov2-entry__content ul, .bov2-entry__content ol { padding-left: 1.3rem; margin: 0 0 1.15em; }
.bov2-entry__content li + li { margin-top: .4em; }
.bov2-archive-header { width: min(100%, var(--bov2-content)); margin: 0 auto 28px; }
.bov2-archive-header p:last-child,
.bov2-page-banner__subtitle:last-child { margin-bottom: 0; }

.bov2-entry__title { margin-bottom: 18px; }
.bov2-plant-card__image, .bov2-plant-hero__media img { width: 100%; border-radius: var(--bov2-radius-sm); object-fit: cover; }
.bov2-plant-card__image { aspect-ratio: 4 / 3; margin-bottom: 14px; }
.bov2-plant-hero__media img { aspect-ratio: 4 / 3; box-shadow: var(--bov2-shadow); }
.bov2-plant-profile { padding: 48px 0 70px; }
.bov2-scientific, .bov2-category { color: var(--bov2-muted); }
.bov2-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.bov2-text-link { font-weight: 700; }
.bov2-pill-nav, .bov2-chip-row, .bov2-pagination { display: flex; gap: 10px; flex-wrap: wrap; }
.bov2-pill, .bov2-chip, .bov2-page-link {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 8px 12px; border-radius: 999px; border: 1px solid var(--bov2-border);
  background: var(--bov2-surface); color: var(--bov2-green-dark); font-weight: 600;
}
.bov2-pill.is-active, .bov2-page-link.is-active { background: var(--bov2-green-dark); color: #fff; border-color: var(--bov2-green-dark); }
.bov2-filter-card {
  background: var(--bov2-surface); border: 1px solid var(--bov2-border); border-radius: var(--bov2-radius);
  box-shadow: var(--bov2-shadow); padding: 22px; margin: 22px 0;
}
.bov2-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; }
.bov2-filter-grid label { display: grid; gap: 8px; font-weight: 600; }
.bov2-filter-grid input, .bov2-filter-grid select {
  width: 100%; min-height: 48px; border: 1px solid var(--bov2-border); border-radius: 0; padding: 12px 14px;
  background: #fff; color: var(--bov2-text); font: inherit;
}
.bov2-filter-grid input:focus, .bov2-filter-grid select:focus, .bov2-facet-search input:focus { outline: none; border-color: var(--bov2-blue); box-shadow: 0 0 0 3px rgba(46,163,214,.14); }
.bov2-results-meta { margin: 12px 0 18px; color: var(--bov2-muted); }
.bov2-card-link-wrap { color: inherit; text-decoration: none; display: block; }
.bov2-card-title-small { font-size: 1.2rem; margin: 0 0 10px; }
.bov2-chip-row { margin: 0 0 12px; }
.bov2-chip { font-size: .85rem; font-weight: 700; }
.bov2-pagination { margin-top: 26px; align-items:center; justify-content:space-between; }

.bov2-card-grid--plants { grid-template-columns: repeat(var(--bov2-plant-cols-desktop, 3), minmax(0, 1fr)); }
.bov2-pagination__links { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.bov2-pagination-jump { display:flex; align-items:center; gap:10px; margin-left:auto; }
.bov2-pagination-jump__label { font-weight:700; color: var(--bov2-green-dark); }
.bov2-pagination-jump__input {
  width: 88px; min-height: 42px; border: 1px solid var(--bov2-border); padding: 10px 12px; background:#fff; color:var(--bov2-text);
}
.bov2-pagination-jump__button { min-height: 42px; }


.bov2-filter-grid--wide { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.bov2-active-filter-row { margin: 0 0 18px; }
.bov2-plant-profile .bov2-chip-row { margin-bottom: 10px; }
.bov2-plant-profile h3 { margin-top: 18px; margin-bottom: 10px; }
.bov2-filter-attribute-group { margin: 6px 0 18px; }
.bov2-filter-attribute-group__label { display:block; margin-bottom:10px; font-weight:700; color: var(--bov2-green-dark); }
.bov2-chip-checks { display:flex; flex-wrap:wrap; gap:10px; }
.bov2-chip-check { position:relative; display:inline-flex; }
.bov2-chip-check input { position:absolute; opacity:0; pointer-events:none; }
.bov2-chip-check span {
  display:inline-flex; align-items:center; justify-content:center;
  padding:8px 12px; border-radius:999px; border:1px solid var(--bov2-border);
  background: var(--bov2-surface); color: var(--bov2-green-dark); font-weight:600; cursor:pointer;
}
.bov2-chip-check input:checked + span { background: var(--bov2-green-dark); color:#fff; border-color: var(--bov2-green-dark); }


.bov2-filter-field-group { display:grid; gap:8px; font-weight:600; }
.bov2-chip-checks--compact { gap:8px; }
.bov2-chip-checks--compact .bov2-chip-check span { padding: 10px 12px; }

.bov2-facet-topbar {
  display:flex;
  align-items:center;
  gap:14px;
  justify-content:space-between;
  margin-bottom:16px;
  flex-wrap:wrap;
}
.bov2-facet-search { flex: 1 1 420px; }
.bov2-facet-search input {
  width:100%; min-height:50px; border:1px solid var(--bov2-border); border-radius:0; padding:14px 18px;
  background:#fff; color:var(--bov2-text); font:inherit;
}
.bov2-facet-actions { display:flex; gap:10px; flex-wrap:wrap; }
.bov2-facet-bar {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:flex-start;
}
.bov2-facet {
  position:relative;
}
.bov2-facet { flex:0 0 auto; align-self:flex-start; }
.bov2-facet summary {
  list-style:none;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--bov2-border);
  background:var(--bov2-surface);
  color:var(--bov2-green-dark);
  font-weight:700;
  cursor:pointer;
  min-height:44px;
  min-width:132px;
  white-space:nowrap;
}
.bov2-facet summary::-webkit-details-marker { display:none; }
.bov2-facet summary strong { font-weight:600; color:var(--bov2-muted); max-width:94px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bov2-facet[open] summary {
  background: #eef5ef;
  border-color: #b7cdb9;
}
.bov2-facet-panel {
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  z-index:30;
  min-width:280px;
  max-width:min(92vw, 460px);
  padding:14px;
  border:1px solid var(--bov2-border);
  border-radius:18px;
  background:var(--bov2-surface);
  box-shadow:var(--bov2-shadow);
}
.bov2-facet-panel--stacked {
  display:grid;
  gap:14px;
}
.bov2-facet-subtitle {
  display:block;
  margin-bottom:8px;
  font-size:.9rem;
  font-weight:700;
  color:var(--bov2-green-dark);
}
.bov2-facet-panel {
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  z-index:30;
  min-width:280px;
  max-width:min(92vw, 460px);
  padding:14px;
  border:1px solid var(--bov2-border);
  border-radius:18px;
  background:var(--bov2-surface);
  box-shadow:var(--bov2-shadow);
}
.bov2-facet-close {
  position:absolute;
  top:10px;
  right:10px;
  width:30px;
  height:30px;
  border:none;
  border-radius:999px;
  background:#234f30;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  box-shadow:0 6px 14px rgba(35,79,48,.18);
}
.bov2-facet-close:hover,
.bov2-facet-close:focus-visible {
  background:#183a22;
  outline:none;
}
.bov2-facet-panel--stacked,
.bov2-chip-checks {
  position:relative;
  padding-top:26px;
}
@media (max-width: 920px) {
  .bov2-facet { width:100%; }
  .bov2-facet summary { width:100%; justify-content:space-between; min-width:0; }
  .bov2-facet summary strong { max-width:none; }
  .bov2-facet-panel {
    position:static;
    margin-top:8px;
    min-width:0;
    max-width:none;
    width:100%;
  }
}


.bov2-chip--dismiss {
  position: relative;
  padding-right: 34px;
  text-decoration: none;
}
.bov2-chip--dismiss:hover {
  text-decoration: none;
  background: #eef5ef;
}
.bov2-chip__x {
  position: absolute;
  top: 4px;
  right: 6px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
  background: #b3261e;
  color: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,.15);
}
.bov2-chip--dismiss:hover .bov2-chip__x,
.bov2-chip--dismiss:focus-visible .bov2-chip__x {
  background:#8f1f19;
}


/* v2.7.9 premium facet polish */
.bov2-facet-form { position: relative; overflow: visible; }
.bov2-facet-bar { overflow: visible; }
.bov2-facet { position: relative; overflow: visible; }
.bov2-facet[open] { z-index: 50; }
.bov2-facet summary {
  width: 132px;
  max-width: 132px;
  flex-wrap: nowrap;
  transition: background-color .2s ease, border-color .2s ease, box-shadow .24s ease, transform .24s ease;
}
.bov2-facet summary:hover {
  box-shadow: 0 10px 24px rgba(35,79,48,.10);
  transform: translateY(-1px);
}
.bov2-facet[open] summary {
  box-shadow: 0 12px 28px rgba(35,79,48,.14);
}
.bov2-facet--wide summary,
.bov2-facet summary.bov2-summary--wide {
  width: 180px;
  max-width: 180px;
}
.bov2-facet summary strong {
  display: inline-block;
  max-width: 64px;
}
.bov2-facet.is-floating .bov2-facet-panel {
  position: fixed;
  left: 0;
  top: 0;
  margin: 0;
}
.bov2-facet-panel {
  margin-top: 0;
  padding: 22px 60px 22px 22px;
  padding-top: 62px;
  border-radius: 22px;
  box-shadow: 0 22px 56px rgba(17,24,39,.16), 0 8px 20px rgba(17,24,39,.08);
  transform-origin: top left;
  animation: bov2FacetIn .22s cubic-bezier(.2,.8,.2,1);
}

.bov2-facet-panel::before {
  content: '';
  position: absolute;
  top: -10px;
  left: 28px;
  width: 18px;
  height: 18px;
  background: var(--bov2-surface);
  border-top: 1px solid var(--bov2-border);
  border-left: 1px solid var(--bov2-border);
  transform: rotate(45deg);
  box-shadow: -3px -3px 8px rgba(17,24,39,.03);
}
.bov2-facet-panel--stacked,
.bov2-chip-checks {
  padding-top: 12px;
}

.bov2-facet-panel .bov2-chip-checks:first-of-type {
  padding-right: 8px;
  margin-top: 2px;
}
.bov2-facet-panel > :first-child:not(.bov2-facet-close) {
  margin-top: 4px;
}
.bov2-facet-panel--stacked > div + div {
  margin-top: 10px;
}

.bov2-facet-close {
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  font-size: 22px;
  z-index: 3;
  background: #b42318;
  box-shadow: 0 10px 24px rgba(180,35,24,.22);
  transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.bov2-facet-close:hover,
.bov2-facet-close:focus-visible {
  background: #8f1d14;
  box-shadow: 0 12px 28px rgba(143,29,20,.28);
  transform: scale(1.06);
}
.bov2-chip-check span {
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.bov2-chip-check span:hover {
  box-shadow: 0 8px 18px rgba(35,79,48,.08);
  transform: translateY(-1px);
}
.bov2-facet-panel .bov2-chip-check {
  opacity: 0;
  transform: translateY(8px) scale(.985);
  animation: bov2FacetOptionIn .28s cubic-bezier(.2,.8,.2,1) forwards;
}
.bov2-facet-panel .bov2-chip-check:nth-child(1) { animation-delay: .02s; }
.bov2-facet-panel .bov2-chip-check:nth-child(2) { animation-delay: .04s; }
.bov2-facet-panel .bov2-chip-check:nth-child(3) { animation-delay: .06s; }
.bov2-facet-panel .bov2-chip-check:nth-child(4) { animation-delay: .08s; }
.bov2-facet-panel .bov2-chip-check:nth-child(5) { animation-delay: .10s; }
.bov2-facet-panel .bov2-chip-check:nth-child(6) { animation-delay: .12s; }
.bov2-facet-panel .bov2-chip-check:nth-child(7) { animation-delay: .14s; }
.bov2-facet-panel .bov2-chip-check:nth-child(8) { animation-delay: .16s; }
.bov2-facet-panel .bov2-chip-check:nth-child(9) { animation-delay: .18s; }
.bov2-facet-panel .bov2-chip-check:nth-child(10) { animation-delay: .20s; }
.bov2-facet-panel .bov2-chip-check:nth-child(11) { animation-delay: .22s; }
.bov2-facet-panel .bov2-chip-check:nth-child(12) { animation-delay: .24s; }
.bov2-facet-panel .bov2-chip-check:nth-child(13) { animation-delay: .26s; }
.bov2-facet-panel .bov2-chip-check:nth-child(14) { animation-delay: .28s; }
.bov2-facet-panel .bov2-chip-check:nth-child(15) { animation-delay: .30s; }
.bov2-facet-panel .bov2-chip-check:nth-child(16) { animation-delay: .32s; }
.bov2-facet-panel .bov2-chip-check:nth-child(n+17) { animation-delay: .34s; }
.bov2-chip--dismiss {
  position: relative;
  padding-right: 40px;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.bov2-chip--dismiss:hover,
.bov2-chip--dismiss:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(17,24,39,.08);
}
.bov2-chip__x {
  position: absolute;
  top: 50%;
  right: 6px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #b42318;
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 6px 14px rgba(180,35,24,.20);
  transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.bov2-chip--dismiss:hover .bov2-chip__x,
.bov2-chip--dismiss:focus-visible .bov2-chip__x {
  background: #8f1d14;
  transform: translateY(-50%) scale(1.08);
  box-shadow: 0 10px 18px rgba(143,29,20,.26);
}
@keyframes bov2FacetIn {
  from {
    opacity: 0;
    transform: translateY(10px) scale(.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes bov2FacetOptionIn {
  from {
    opacity: 0;
    transform: translateY(8px) scale(.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@media (max-width: 920px) {
  .bov2-facet summary,
  .bov2-facet--wide summary,
  .bov2-facet summary.bov2-summary--wide {
    width: 100%;
    max-width: none;
  }
  .bov2-facet.is-floating .bov2-facet-panel {
    position: static;
  }
  .bov2-facet-panel {
    padding: 20px 18px 20px 18px;
    padding-top: 56px;
  }
  .bov2-facet-panel::before {
    display: none;
  }
}


/* v2.9.7 plant page viewer + compact spec grid */
.bov2-plant-hero--viewer { align-items: start; }
.bov2-plant-viewer { display:grid; grid-template-columns: 104px minmax(0, 1fr); gap:18px; align-items:stretch; }
.bov2-plant-viewer__thumbs { max-height: 600px; overflow:auto; display:flex; flex-direction:column; gap:12px; padding-right:6px; scrollbar-width: thin; }
.bov2-plant-viewer__thumb { appearance:none; border:1px solid rgba(46,107,62,.08); background:#fff; padding:0; margin:0; border-radius:18px; cursor:pointer; overflow:hidden; transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease, opacity .24s ease; box-shadow: 0 10px 24px rgba(18,35,22,.06); }
.bov2-plant-viewer__thumb:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(18,35,22,.10); }
.bov2-plant-viewer__thumb:hover .bov2-plant-viewer__thumb-img,
.bov2-plant-viewer__thumb:focus-visible .bov2-plant-viewer__thumb-img { opacity:.5; transform:scale(1.03); }
.bov2-plant-viewer__thumb.is-active { border-color: rgba(46,107,62,.48); box-shadow: 0 16px 32px rgba(46,107,62,.16); }
.bov2-plant-viewer__thumb.is-active .bov2-plant-viewer__thumb-img { opacity:1; transform:none; }
.bov2-plant-viewer__thumb-img { display:block; width:100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius:16px; transition: opacity .24s ease, transform .24s ease; }
.bov2-plant-viewer__stage { min-width:0; }
.bov2-plant-viewer__hero-frame { position:relative; height: var(--bov2-viewer-height, 580px); min-height: 340px; border-radius: 28px; background: linear-gradient(180deg,#fbfdfb,#eef5ef); border:1px solid rgba(46,107,62,.10); box-shadow: 0 26px 60px rgba(18,35,22,.10); overflow:hidden; transition: height .32s ease; }
.bov2-plant-viewer__slide { position:absolute; inset:0; opacity:0; visibility:hidden; transform: translateY(16px) scale(.992); transition: opacity .42s ease, transform .48s cubic-bezier(.22,.61,.36,1), visibility .42s ease; padding: 14px; }
.bov2-plant-viewer__slide.is-active { opacity:1; visibility:visible; transform: translateY(0) scale(1); z-index:2; }
.bov2-plant-viewer__hero-img { display:block; width:100%; height:100%; object-fit: contain; border-radius:22px; background:#eef3ee; }
.bov2-plant-viewer__hero-frame, .bov2-plant-viewer__hero-img, .bov2-gallery-filmstrip__hero-image, .bov2-gallery-filmstrip__image { cursor: default !important; }
.bov2-plant-viewer__toolbar { position:absolute; top:16px; right:16px; z-index:3; }
.bov2-plant-viewer__counter { display:inline-flex; align-items:center; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.86); color:#284231; font-size:.85rem; font-weight:700; backdrop-filter: blur(8px); box-shadow: 0 10px 24px rgba(18,35,22,.10); }

.bov2-gallery-filmstrip { display:grid; gap:18px; }
.bov2-gallery-filmstrip__hero-shell { display:flex; justify-content:center; }
.bov2-gallery-filmstrip__hero-card { position:relative; width:min(100%, 920px); min-height: 250px; border-radius:30px; padding:18px; background:linear-gradient(180deg,#f9fcf9,#edf5ee); border:1px solid rgba(46,107,62,.10); box-shadow:0 28px 60px rgba(18,35,22,.10); overflow:hidden; }
.bov2-gallery-filmstrip__hero-badge { position:absolute; top:16px; left:16px; z-index:2; display:inline-flex; align-items:center; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.88); color:#234432; font-size:.78rem; font-weight:800; letter-spacing:.03em; backdrop-filter: blur(8px); box-shadow:0 10px 24px rgba(18,35,22,.10); }
.bov2-gallery-filmstrip__hero-image { display:block; width:100%; max-height:460px; min-height:214px; object-fit:contain; border-radius:22px; background:#eef3ee; }
.bov2-gallery-filmstrip__rail { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(164px, 220px); gap:14px; overflow-x:auto; padding:8px 4px 10px; scrollbar-width:thin; scroll-snap-type:x proximity; }
.bov2-gallery-filmstrip__item { appearance:none; border:none; background:transparent; padding:0; margin:0; cursor:pointer; display:grid; gap:10px; text-align:left; min-width:0; scroll-snap-align:center; }
.bov2-gallery-filmstrip__frame { position:relative; display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio: 1.32 / 1; border-radius:24px; overflow:hidden; background:linear-gradient(180deg,#f8fbf8,#edf3ee); border:1px solid rgba(46,107,62,.12); box-shadow:0 16px 34px rgba(18,35,22,.08); transition:transform .26s ease, border-color .26s ease, box-shadow .26s ease, opacity .26s ease; }
.bov2-gallery-filmstrip__item:hover .bov2-gallery-filmstrip__frame,
.bov2-gallery-filmstrip__item:focus-visible .bov2-gallery-filmstrip__frame { transform:translateY(-4px) scale(1.01); box-shadow:0 22px 42px rgba(18,35,22,.13); }
.bov2-gallery-filmstrip__item:hover .bov2-gallery-filmstrip__image,
.bov2-gallery-filmstrip__item:focus-visible .bov2-gallery-filmstrip__image { opacity:.92; }
.bov2-gallery-filmstrip__item.is-active .bov2-gallery-filmstrip__frame { border-color: rgba(46,107,62,.52); box-shadow:0 24px 48px rgba(46,107,62,.16); transform:translateY(-6px) scale(1.03); }
.bov2-gallery-filmstrip__image { display:block; width:100%; height:100%; object-fit:contain; padding:10px; transition:opacity .26s ease, transform .26s ease; }
.bov2-gallery-filmstrip__shine { position:absolute; inset:0; background:linear-gradient(135deg, rgba(255,255,255,.34) 0%, rgba(255,255,255,.06) 38%, rgba(255,255,255,0) 62%); pointer-events:none; }
.bov2-gallery-filmstrip__label { display:inline-flex; align-items:center; justify-content:center; width:max-content; min-width:92px; padding:7px 12px; border-radius:999px; background:#fff; color:#234432; border:1px solid rgba(46,107,62,.10); box-shadow:0 10px 20px rgba(18,35,22,.06); font-size:.78rem; font-weight:800; letter-spacing:.03em; }
.bov2-gallery-filmstrip__item.is-active .bov2-gallery-filmstrip__label { background:#f3faf4; border-color:rgba(46,107,62,.22); }

.bov2-plant-viewer__thumb-img[data-protected-image="1"], .bov2-plant-viewer__hero-img[data-protected-image="1"], .bov2-gallery-filmstrip__hero-image[data-protected-image="1"], .bov2-gallery-filmstrip__image[data-protected-image="1"], .bov2-plant-card__image[data-protected-image="1"]{ pointer-events:auto; }

.bov2-plant-spec-grid { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:14px; }
.bov2-spec-item { display:flex; align-items:flex-start; gap:12px; padding:14px 16px; border-radius:20px; background:#fff; border:1px solid rgba(46,107,62,.10); box-shadow: 0 14px 34px rgba(18,35,22,.05); min-height:72px; }
.bov2-spec-item__icon { width:42px; height:42px; min-width:42px; border-radius:14px; display:inline-flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#eef7f0,#ddeee1); color:#2d6b3e; }
.bov2-spec-item__icon svg { width:20px; height:20px; display:block; stroke:currentColor; }
.bov2-spec-item__body { min-width:0; display:flex; align-items:center; }
.bov2-spec-item__line { display:inline; line-height:1.45; color:#1f2c23; }
.bov2-spec-item__label { font-weight:800; color:#16261b; }
.bov2-spec-item__value { font-weight:400; color:#4a5b50; }
.bov2-spec-item--blue .bov2-spec-item__icon { background:linear-gradient(135deg,#edf5ff,#dfeefe); color:#2e63b7; }
.bov2-spec-item--rose .bov2-spec-item__icon { background:linear-gradient(135deg,#fff0f5,#fde2ec); color:#c14b74; }
.bov2-spec-item--amber .bov2-spec-item__icon { background:linear-gradient(135deg,#fff6e6,#fee7bf); color:#b67800; }
.bov2-spec-item--gold .bov2-spec-item__icon { background:linear-gradient(135deg,#fff8db,#feecab); color:#b78b00; }
.bov2-spec-item--teal .bov2-spec-item__icon { background:linear-gradient(135deg,#e9fbfb,#d3f1f0); color:#177d78; }
.bov2-spec-item--slate .bov2-spec-item__icon { background:linear-gradient(135deg,#f0f3f7,#e1e6ec); color:#536274; }
.bov2-spec-item--mint .bov2-spec-item__icon { background:linear-gradient(135deg,#edfff7,#d8f8ea); color:#1c8a5e; }
.bov2-spec-item--violet .bov2-spec-item__icon { background:linear-gradient(135deg,#f4efff,#e7ddff); color:#7252c7; }
.bov2-spec-item--forest .bov2-spec-item__icon { background:linear-gradient(135deg,#edf7ea,#dcefd8); color:#3f7a2e; }

@media (max-width: 980px) {
  .bov2-plant-viewer { grid-template-columns: 1fr; }
  .bov2-plant-viewer__thumbs { order:2; flex-direction:row; max-height:none; overflow:auto; padding-right:0; padding-bottom:4px; }
  .bov2-plant-viewer__thumb { min-width:84px; width:84px; }
  .bov2-plant-viewer__hero-frame { min-height: 280px; height: var(--bov2-viewer-height, 420px); }
  .bov2-gallery-filmstrip__hero-card { min-height:220px; padding:14px; }
  .bov2-gallery-filmstrip__hero-image { max-height:380px; }
  .bov2-gallery-filmstrip__rail { grid-auto-columns:minmax(150px, 190px); }
}
@media (max-width: 1080px) {
  .bov2-plant-spec-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .bov2-gallery-filmstrip__hero-card { min-height:220px; padding:14px; }
  .bov2-gallery-filmstrip__hero-image { max-height:380px; }
  .bov2-gallery-filmstrip__rail { grid-auto-columns:minmax(150px, 190px); }
}
@media (max-width: 680px) {
  .bov2-plant-spec-grid { grid-template-columns:1fr; }
  .bov2-gallery-filmstrip__hero-card { border-radius:24px; min-height:190px; padding:12px; }
  .bov2-gallery-filmstrip__hero-image { max-height:280px; min-height:180px; border-radius:18px; }
  .bov2-gallery-filmstrip__rail { grid-auto-columns:minmax(128px, 160px); gap:10px; }
  .bov2-gallery-filmstrip__frame { border-radius:18px; }
}

/* v2.9.13 plant page refinements */
.bov2-plant-viewer__thumb { display:flex; align-items:center; justify-content:center; min-height:84px; background:linear-gradient(180deg,#fbfdfb,#edf4ee); }
.bov2-plant-viewer__thumb-img { aspect-ratio: 1 / 1; object-fit: contain; padding:8px; background:transparent; }

.bov2-designer-care { display:grid; grid-template-columns: minmax(0,1.15fr) minmax(320px,.85fr); gap:26px; align-items:start; }
.bov2-designer-note,
.bov2-care-accordion { background:#fff; border:1px solid rgba(46,107,62,.10); border-radius:28px; padding:24px; box-shadow:0 18px 42px rgba(18,35,22,.07); }
.bov2-designer-note__lead { font-size:1.02rem; line-height:1.75; color:#294234; margin:0 0 18px; }
.bov2-designer-note__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.bov2-designer-note__item { padding:16px 18px; border-radius:20px; background:linear-gradient(180deg,#f9fcf9,#f2f7f3); border:1px solid rgba(46,107,62,.08); }
.bov2-designer-note__item h3 { margin:0 0 8px; font-size:.95rem; }
.bov2-designer-note__item p { margin:0; color:#4b6254; line-height:1.65; }

.bov2-care-accordion__items { display:grid; gap:12px; }
.bov2-care-accordion__item { border:1px solid rgba(46,107,62,.10); border-radius:20px; background:#fbfdfb; overflow:hidden; }
.bov2-care-accordion__item summary { list-style:none; cursor:pointer; padding:16px 18px; font-weight:800; color:#203c2b; display:flex; align-items:center; justify-content:space-between; }
.bov2-care-accordion__item summary::-webkit-details-marker { display:none; }
.bov2-care-accordion__item summary::after { content:'+'; font-size:1.15rem; line-height:1; color:#2e6b3e; }
.bov2-care-accordion__item[open] summary::after { content:'–'; }
.bov2-care-accordion__content { padding:0 18px 18px; color:#4b6254; line-height:1.7; }
.bov2-care-accordion__content p { margin:0; }
.bov2-care-accordion__empty { padding:18px; border-radius:20px; background:#fbfdfb; border:1px dashed rgba(46,107,62,.16); color:#5d7265; }

.bov2-related-carousel { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; align-items:center; }
.bov2-related-carousel__track { display:flex; flex-wrap:nowrap; align-items:stretch; gap:12px; overflow-x:auto; overscroll-behavior-x:contain; scroll-behavior:smooth; padding:6px 2px 10px; scrollbar-width:thin; scroll-snap-type:x proximity; min-width:0; }
.bov2-related-carousel__track > * { flex:0 0 clamp(140px, 15vw, 176px); width:clamp(140px, 15vw, 176px); min-width:140px; max-width:176px; scroll-snap-align:start; }
.bov2-related-carousel__nav { appearance:none; border:none; width:42px; height:42px; border-radius:999px; background:#fff; color:#234432; box-shadow:0 12px 24px rgba(18,35,22,.10); cursor:pointer; font-size:1.5rem; line-height:1; }
.bov2-related-carousel__nav:hover { transform:translateY(-1px); }
.bov2-plant-card--compact { width:100%; min-width:0; padding:12px; border-radius:22px; box-shadow:0 14px 28px rgba(18,35,22,.08); }
.bov2-plant-card--compact .bov2-card-link-wrap { display:flex; flex-direction:column; height:100%; }
.bov2-plant-card__image--compact { display:block; width:100%; aspect-ratio:1.05 / 1; object-fit:contain; border-radius:16px; background:linear-gradient(180deg,#f8fbf8,#edf4ee); padding:8px; }
.bov2-plant-card--compact .bov2-placeholder-image { min-height:132px; display:flex; align-items:center; justify-content:center; border-radius:16px; margin-bottom:10px; }
.bov2-plant-card--compact .bov2-card-title-small { margin:10px 0 8px; font-size:.95rem; line-height:1.35; }
.bov2-plant-card--compact .bov2-chip-row { margin-top:0; }

@media (max-width: 980px) {
  .bov2-designer-care { grid-template-columns:1fr; }
  .bov2-designer-note__grid { grid-template-columns:1fr; }
  .bov2-related-carousel { grid-template-columns:1fr; }
  .bov2-related-carousel__nav { display:none; }
}

@media (max-width: 640px) {
  .bov2-designer-note,
  .bov2-care-accordion { padding:18px; border-radius:22px; }
  .bov2-related-carousel__track { gap:10px; }
  .bov2-related-carousel__track > * { flex-basis:144px; width:144px; min-width:144px; max-width:144px; }
}

.bov2-site-footer .bov2-social__link { border-color: rgba(28,58,38,.18); color: var(--bov2-green-dark); background: #fff; }
.bov2-site-footer .bov2-social__link:hover { background: var(--bov2-blue); color:#fff; border-color: var(--bov2-blue); }

.bov2-site-footer__bottom {
  margin-top: 34px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.bov2-site-footer__bottom-inner {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.bov2-footer-links--inline {
  display: flex;
  gap: 0;
  align-items: center;
  flex-wrap: wrap;
}
.bov2-content-wrap { padding: 64px 0 80px; }


.bov2-feature-card strong { color: var(--bov2-green-dark); }
.bov2-section-heading .bov2-kicker { color: var(--bov2-blue); }
.bov2-hero--homepage .bov2-kicker { color: var(--bov2-green-dark); }
.bov2-section-heading .bov2-kicker {
  display: inline-block;
  position: relative;
  margin-bottom: 12px;
}
.bov2-section-heading .bov2-kicker::after {
  content: "";
  display: block;
  width: 40px;
  height: 2px;
  margin-top: 6px;
  background: currentColor;
  transform: scaleX(.35);
  transform-origin: left center;
  opacity: .72;
  transition: transform .55s cubic-bezier(.22,.61,.36,1), opacity .45s ease;
}
.bov2-section-heading.is-visible .bov2-kicker::after,
.bov2-reveal.is-visible .bov2-section-heading .bov2-kicker::after {
  transform: scaleX(1);
  opacity: 1;
}
.bov2-section.bov2-section--alt .bov2-section-heading .bov2-kicker::after {
  background: currentColor;
}
.bov2-hero__actions .bov2-btn { min-width: 210px; }


.bov2-reviews-shell .bom-cr-wrap{max-width:none;}
.bov2-reviews-shell .bom-cr-cta-row{margin:0 0 22px;}
.bov2-reviews-shell .bom-cr-summary{background:#fff;border-color:var(--bov2-border);border-radius:18px;}
.bov2-reviews-shell .bom-cr-readmore,.bov2-reviews-shell .bom-cr-carousel__arrow,.bov2-reviews-shell .bom-cr-carousel__dot.is-active{color:var(--bov2-green-dark);}
.bov2-reviews-shell .bom-cr-button,
.bov2-reviews-shell .button.button-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--bov2-blue);color:#fff !important;border:1px solid var(--bov2-blue);border-radius:8px;padding:12px 22px;font-weight:700;line-height:1.2;box-shadow:none;transition:background-color .2s ease,border-color .2s ease,transform .2s ease,color .2s ease;text-decoration:none;}
.bov2-reviews-shell .bom-cr-button:hover,
.bov2-reviews-shell .bom-cr-button:focus-visible,
.bov2-reviews-shell .button.button-primary:hover,
.bov2-reviews-shell .button.button-primary:focus-visible{background:var(--bov2-orange);border-color:var(--bov2-orange);color:#fff !important;transform:translateY(-1px);}
.bov2-reviews-shell .bom-cr-button--image{background:transparent;border:0;padding:0;border-radius:18px;}
.bov2-reviews-shell .bom-cr-button--image:hover,
.bov2-reviews-shell .bom-cr-button--image:focus-visible{background:transparent;border:0;transform:none;}
.bov2-reviews-shell .bom-cr-card{border-radius:20px;border-color:var(--bov2-border);box-shadow:0 10px 24px rgba(18,40,22,.06);}
.bov2-reviews-shell .bom-cr-reply{background:#f8faf8;}
.bov2-reviews-shell .bom-cr-modal__dialog{border-radius:22px;}
.bov2-reviews-shell .bom-cr-close{color:var(--bov2-green-dark);}
.bov2-reviews-shell .bom-cr-form input[type=text],
.bov2-reviews-shell .bom-cr-form input[type=email],
.bov2-reviews-shell .bom-cr-form textarea{border-color:var(--bov2-border);border-radius:12px;}
.bov2-reviews-shell .bom-cr-form input[type=text]:focus,
.bov2-reviews-shell .bom-cr-form input[type=email]:focus,
.bov2-reviews-shell .bom-cr-form textarea:focus{outline:none;border-color:var(--bov2-blue);box-shadow:0 0 0 3px rgba(31,111,178,.12);}
.bov2-reviews-shell .bom-cr-stars,
.bov2-reviews-shell [class*="stars"],
.bov2-reviews-shell [aria-label*="star" i],
.bov2-reviews-shell [title*="star" i]{
  color:var(--bov2-blue);
}
.bov2-reviews-shell .bom-cr-star{
  position:relative;
  display:inline-block;
  color:rgba(46,163,214,.24);
  line-height:1;
  transition:transform .2s ease,color .2s ease;
}
.bov2-reviews-shell .bom-cr-star + .bom-cr-star{ margin-left:2px; }
.bov2-reviews-shell .bom-cr-star::before{
  content:"★";
  position:absolute;
  inset:0 auto 0 0;
  width:calc(var(--bov2-star-fill, 0) * 100%);
  overflow:hidden;
  color:var(--bov2-blue);
  pointer-events:none;
}
.bov2-reviews-shell .bom-cr-star.is-on,
.bov2-reviews-shell .bom-cr-star.is-partial{
  color:rgba(46,163,214,.24);
}
.bov2-reviews-shell .bom-cr-star.is-on{ --bov2-star-fill:1; }
.bov2-reviews-shell .bom-cr-star.is-partial{ --bov2-star-fill:var(--bov2-star-partial, .5); }
.bov2-reviews-shell .bov2-rating-static .bom-cr-star{ font-size:1.02em; }
.bov2-reviews-shell .bov2-rating-static:hover .bom-cr-star.is-on,
.bov2-reviews-shell .bov2-rating-static:hover .bom-cr-star.is-partial{ transform:translateY(-1px); }
.bov2-project-card__media{position:relative;}
.bov2-project-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(13,32,18,.22),rgba(13,32,18,0));opacity:0;transition:opacity .25s ease;pointer-events:none;}
.bov2-project-card:hover .bov2-project-card__media::after{opacity:1;}
.bov2-project-card__body{display:none;}
.bov2-card-grid--projects{grid-template-columns:repeat(3,minmax(0,1fr));}
.bov2-card-grid--projects .bov2-project-card{background:transparent;border:0;box-shadow:none;}
.bov2-card-grid--projects .bov2-project-card__media{border-radius:18px;box-shadow:0 14px 32px rgba(18,40,22,.08);}


.bov2-section-heading--centered { text-align: left; margin-left: 0; margin-right: 0; }
.bov2-portfolio-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
  grid-template-rows: repeat(2, minmax(220px, 1fr));
  gap: 22px;
}
.bov2-portfolio-item { min-height: 220px; }
.bov2-portfolio-item.is-featured { grid-row: 1 / span 2; }
.bov2-portfolio-item__link {
  position: relative;
  display: block;
  height: 100%;
  overflow: hidden;
  border-radius: var(--bov2-radius);
  background: #dfe7df;
  box-shadow: none;
}
.bov2-portfolio-item__image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .35s ease;
}
.bov2-portfolio-item__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 6px;
  padding: 22px;
  color: #fff;
  background: linear-gradient(180deg, rgba(9, 24, 16, 0) 20%, rgba(9, 24, 16, .74) 100%);
  opacity: .9;
  transition: opacity .25s ease;
}
.bov2-portfolio-item__title {
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.15;
}
.bov2-portfolio-item__cta {
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .03em;
}
.bov2-portfolio-item:hover .bov2-portfolio-item__image,
.bov2-portfolio-item:focus-within .bov2-portfolio-item__image { transform: scale(1.06); }
.bov2-portfolio-item:hover .bov2-portfolio-item__overlay,
.bov2-portfolio-item:focus-within .bov2-portfolio-item__overlay { opacity: 1; }
.bov2-portfolio-actions { margin-top: 26px; display: flex; justify-content: center; }


/* v2.9.31 scroll reveal + plant filmstrip */
.bov2-js .bov2-reveal {
  opacity: 0;
  transform: translate3d(0, 32px, 0);
  transition: opacity .7s ease, transform .7s cubic-bezier(.22,.61,.36,1);
  will-change: opacity, transform;
}
.bov2-js .bov2-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.bov2-section--plant-filmstrip { overflow: hidden; --bov2-section-bg: #ffffff; }
.bov2-section--plant-filmstrip.bov2-section--alt { --bov2-section-bg: var(--bov2-surface-alt); }
.bov2-pd-headline {
  margin: 0 0 8px;
  letter-spacing: -.01em;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  line-height: 1.15;
  font-weight: 800;
  color: var(--bov2-green-dark);
  text-align: center;
}
.bov2-pd-subtext {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.bov2-plant-filmstrip { position: relative; }
.bov2-plant-filmstrip__viewport {
  position: relative;
  overflow: hidden;
  padding: 6px 2px 10px;
}
.bov2-plant-filmstrip__viewport::before,
.bov2-plant-filmstrip__viewport::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 10px;
  width: clamp(26px, 5vw, 72px);
  z-index: 3;
  pointer-events: none;
}
.bov2-plant-filmstrip__viewport::before {
  left: 0;
  background: linear-gradient(90deg, var(--bov2-section-bg, #fff) 0%, rgba(255,255,255,0) 100%);
}
.bov2-plant-filmstrip__viewport::after {
  right: 0;
  background: linear-gradient(270deg, var(--bov2-section-bg, #fff) 0%, rgba(255,255,255,0) 100%);
}
.bov2-plant-filmstrip__track {
  display: flex;
  align-items: stretch;
  gap: 18px;
  transform: translate3d(0,0,0);
  will-change: transform;
}
.bov2-plant-filmstrip__item {
  flex: 0 0 min(200px, calc((100% - 90px) / 6));
  min-width: 150px;
  max-width: 200px;
}
.bov2-plant-filmstrip__link {
  position: relative;
  display: block;
  border-radius: 22px;
  overflow: hidden;
  background: linear-gradient(180deg,#f8fbf8,#edf4ee);
  box-shadow: 0 14px 30px rgba(18,35,22,.08);
  border: 1px solid rgba(46,107,62,.10);
  isolation: isolate;
}
.bov2-plant-filmstrip__link:hover { text-decoration: none; }
.bov2-plant-filmstrip__link::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7,14,10,0) 34%, rgba(7,14,10,.08) 66%, rgba(7,14,10,.46) 100%);
  opacity: .88;
  transition: opacity .22s ease;
  pointer-events: none;
}
.bov2-plant-filmstrip__image,
.bov2-plant-filmstrip__fallback {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center 42%;
  background: linear-gradient(180deg,#fbfdfb,#edf4ee);
  padding: 0;
}
.bov2-plant-filmstrip__fallback {
  display:flex;
  align-items:center;
  justify-content:center;
  color: var(--bov2-green-dark);
  font-weight:700;
}
.bov2-plant-filmstrip__label {
  position: absolute;
  inset: auto 10px 10px 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(19,31,22,.72);
  color: #fff;
  font-weight: 700;
  font-size: .92rem;
  line-height: 1.2;
  text-align: center;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .22s ease, transform .22s ease;
  backdrop-filter: blur(10px);
}
.bov2-plant-filmstrip__link:hover .bov2-plant-filmstrip__label,
.bov2-plant-filmstrip__link:focus-visible .bov2-plant-filmstrip__label {
  opacity: 1;
  transform: translateY(0);
}
.bov2-plant-filmstrip__link:hover::after,
.bov2-plant-filmstrip__link:focus-visible::after {
  opacity: 1;
}
.bov2-plant-filmstrip__image {
  transition: transform .4s cubic-bezier(.22,.61,.36,1), filter .3s ease;
  transform-origin: center center;
  filter: saturate(.98) contrast(1.02);
}
.bov2-plant-filmstrip__link:hover .bov2-plant-filmstrip__image,
.bov2-plant-filmstrip__link:focus-visible .bov2-plant-filmstrip__image {
  transform: scale(1.08);
  filter: saturate(1.04) contrast(1.04);
}
.bov2-section-cta--center,
.bov2-portfolio-actions {
  display:flex;
  justify-content:center;
  margin-top: 40px;
}
@media (max-width: 1120px) {
  .bov2-plant-filmstrip__item { flex-basis: min(190px, calc((100% - 54px) / 4)); }
}
@media (max-width: 820px) {
  .bov2-pd-headline { font-size: 1.35rem; }
  .bov2-plant-filmstrip__item { flex-basis: min(180px, calc((100% - 18px) / 2.2)); min-width: 142px; }
}


/* Customer Reviews premium refinements v2.9.36 */
.bov2-reviews-shell .bom-cr-stars .star{
  color:var(--bov2-accent);
  font-size:18px;
  letter-spacing:2px;
}
.bov2-reviews-shell .bom-cr-card{
  background:#fff;
  border-radius:20px;
  padding:22px;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  transition:transform .2s ease, box-shadow .2s ease;
}
.bov2-reviews-shell .bom-cr-card:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 28px rgba(0,0,0,.10);
}
.bov2-reviews-shell .bom-cr-card blockquote,
.bov2-reviews-shell .bom-cr-card .bom-cr-quote,
.bov2-reviews-shell .bom-cr-card .review-text,
.bov2-reviews-shell .bom-cr-card .bom-cr-content{
  position:relative;
}
.bov2-reviews-shell .bom-cr-card blockquote::before,
.bov2-reviews-shell .bom-cr-card .bom-cr-quote::before,
.bov2-reviews-shell .bom-cr-card .review-text::before,
.bov2-reviews-shell .bom-cr-card .bom-cr-content::before{
  content:"“";
  position:absolute;
  left:-8px;
  top:-10px;
  font-size:48px;
  line-height:1;
  color:var(--bov2-accent);
  opacity:.18;
  pointer-events:none;
}

/* v2.9.37 footer spacing + icon bullets */


/* v2.9.38 legal footer row + global cookie consent */
.bov2-footer-links--inline {
  justify-content: flex-end;
  row-gap: 8px;
}

.bov2-cookie-consent {
  position: fixed;
  left: 20px;
  right: 20px;
  bottom: 20px;
  z-index: 9999;
}

.bov2-cookie-consent__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px 22px;
  padding: 18px 22px;
  background: rgba(17, 17, 17, 0.96);
  color: #ffffff;
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.2);
}

.bov2-cookie-consent__content {
  display: grid;
  gap: 6px;
}

.bov2-cookie-consent__content strong,
.bov2-cookie-consent__content p,
.bov2-cookie-consent__content a {
  color: #ffffff;
}

.bov2-cookie-consent__content p {
  margin: 0;
  font-size: 0.97rem;
  color: rgba(255, 255, 255, 0.88);
}

.bov2-cookie-consent__content a {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.bov2-cookie-consent__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

.bov2-cookie-consent__learn {
  border-color: rgba(255, 255, 255, 0.2);
  color: #ffffff;
  background: rgba(255, 255, 255, 0.06);
}

.bov2-cookie-consent__learn:hover {
  border-color: rgba(255, 255, 255, 0.38);
  background: rgba(255, 255, 255, 0.12);
}


/* v2.9.43 footer system finalization */
.bov2-site-footer {
  padding: 54px 0 0;
  background: #f7f8f6;
  color: #111111;
  border-top: 1px solid #e3e8e1;
}
.bov2-site-footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, .75fr) minmax(0, .8fr) minmax(0, 1fr);
  gap: 34px;
  align-items: start;
}
.bov2-footer-brand-copy {
  max-width: 34ch;
  margin-bottom: 18px;
}
.bov2-footer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.bov2-footer-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.bov2-footer-list li {
  margin: 0;
}
.bov2-footer-list li + li {
  margin-top: 12px;
}
.bov2-footer-list a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
}
.bov2-footer-list a::before {
  content: '•';
  color: var(--bov2-blue);
  font-size: 1rem;
  line-height: 1;
}
.bov2-footer-prompt {
  margin: 16px 0 0;
  max-width: 40ch;
  color: #47524a;
  font-size: .98rem;
  line-height: 1.65;
}
.bov2-footer-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 28px;
}
.bov2-footer-contact-card {
  min-width: 0;
  padding: 15px 16px;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 16px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 10px 24px rgba(18,35,22,.04);
}
.bov2-footer-contact__label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #7a8280;
  margin-bottom: 4px;
}
.bov2-footer-contact__value {
  display: block;
  font-size: 15px;
  font-weight: 500;
  color: #111111;
  line-height: 1.4;
}
.bov2-site-footer__bottom {
  margin-top: 34px;
  border-top: 1px solid #dde4dd;
}
.bov2-site-footer__bottom-inner {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.bov2-footer-links--inline {
  display: flex;
  gap: 0;
  align-items: center;
  flex-wrap: wrap;
}


/* v2.9.43 portfolio polish + contact page + plant QA */
.bov2-portfolio-item__link {
  border-radius: 22px;
  box-shadow: 0 18px 40px rgba(18, 35, 22, .10);
}
.bov2-portfolio-item__overlay {
  justify-content: flex-end;
  align-items: flex-start;
  padding: 24px;
  background: linear-gradient(180deg, rgba(6, 14, 10, 0) 18%, rgba(6, 14, 10, .16) 48%, rgba(6, 14, 10, .84) 100%);
  opacity: 0;
}
.bov2-portfolio-item__title {
  display: inline-flex;
  max-width: min(100%, 18ch);
  padding: 10px 14px;
  border-radius: 0;
  background: rgba(255, 255, 255, .14);
  color: #fff;
  font-size: 1.05rem;
  line-height: 1.2;
  backdrop-filter: blur(8px);
  box-shadow: 0 10px 26px rgba(0, 0, 0, .16);
  transform: translateY(14px);
  transition: transform .28s ease, opacity .28s ease;
  opacity: 0;
}
.bov2-portfolio-item:hover .bov2-portfolio-item__overlay,
.bov2-portfolio-item:focus-within .bov2-portfolio-item__overlay {
  opacity: 1;
}
.bov2-portfolio-item:hover .bov2-portfolio-item__title,
.bov2-portfolio-item:focus-within .bov2-portfolio-item__title {
  transform: translateY(0);
  opacity: 1;
}

.bov2-contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .85fr);
  gap: clamp(24px, 4vw, 46px);
  align-items: start;
}
.bov2-contact-panel {
  background: #fff;
  border: 1px solid var(--bov2-border);
  border-radius: 24px;
  box-shadow: 0 18px 40px rgba(18, 35, 22, .06);
}
.bov2-contact-panel--form {
  padding: clamp(24px, 4vw, 40px);
}
.bov2-contact-heading {
  margin: 8px 0 10px;
}
.bov2-contact-intro {
  max-width: 62ch;
  margin-bottom: 24px;
}
.bov2-contact-content > *:last-child {
  margin-bottom: 0;
}
.bov2-contact-content form,
.bov2-contact-content .wpforms-container,
.bov2-contact-content .wpcf7 {
  margin-bottom: 0;
}
.bov2-contact-content input[type="text"],
.bov2-contact-content input[type="email"],
.bov2-contact-content input[type="tel"],
.bov2-contact-content input[type="url"],
.bov2-contact-content input[type="number"],
.bov2-contact-content select,
.bov2-contact-content textarea {
  width: 100%;
}
.bov2-contact-panel--info {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  display: grid;
  gap: 18px;
}
.bov2-contact-card {
  background: #fff;
  border: 1px solid var(--bov2-border);
  border-radius: 22px;
  padding: 24px;
  box-shadow: 0 14px 30px rgba(18, 35, 22, .06);
}
.bov2-contact-card--cta {
  background: linear-gradient(180deg, #ffffff, #f5f8f5);
}
.bov2-contact-card h3 {
  margin: 0 0 14px;
}
.bov2-contact-list,
.bov2-contact-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 14px;
}
.bov2-contact-list li,
.bov2-contact-checklist li {
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(46, 107, 62, .10);
}
.bov2-contact-list li:last-child,
.bov2-contact-checklist li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.bov2-contact-list__label {
  display: block;
  margin-bottom: 4px;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--bov2-green-dark);
}
.bov2-contact-checklist li {
  position: relative;
  padding-left: 20px;
}
.bov2-contact-checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .7em;
  width: 8px;
  height: 8px;
  background: var(--bov2-blue);
}
.bov2-contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.bov2-portfolio-item__title {
  line-height: 1.35;
}
.bov2-portfolio-item__overlay {
  pointer-events: none;
}

.bov2-plant-viewer__hero-frame {
  height: var(--bov2-viewer-height, 600px);
}
.bov2-plant-viewer__hero-img {
  object-position: center center;
}
.bov2-plant-viewer__thumbs {
  padding-bottom: 4px;
}
.bov2-plant-viewer__thumb {
  border-radius: 20px;
}
.bov2-plant-viewer__thumb-img {
  border-radius: 18px;
}


/* Footer contact card overflow + padding fixes */
.bov2-footer-contact-grid div,
.bov2-footer-contact-grid a{
  overflow-wrap:anywhere;
  word-break:break-word;
}

.bov2-footer-contact-grid > div{
  padding:18px 20px;
  min-height:110px;
  border-radius:12px;
  box-shadow:0 2px 6px rgba(0,0,0,0.04);
}

.bov2-footer-contact-grid a{
  font-size:14px;
}


/* --- Footer Contact Card Fix --- */
.bov2-footer-contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}

.bov2-footer-contact-grid > div{
  padding:22px 22px;
  min-height:130px;
  background:#f7f7f7;
  border-radius:14px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  transition:transform .2s ease, box-shadow .2s ease;
}

/* ensure long content wraps */
.bov2-footer-contact-grid div,
.bov2-footer-contact-grid a{
  overflow-wrap:anywhere;
  word-break:break-word;
  line-height:1.5;
}

/* label style */
.bov2-footer-contact-grid strong{
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:6px;
}

/* value style */
.bov2-footer-contact-grid a,
.bov2-footer-contact-grid span,
.bov2-footer-contact-grid p{
  font-size:15px;
}

/* hover lift */
.bov2-footer-contact-grid > div:hover{
  transform:translateY(-4px);
  box-shadow:0 8px 18px rgba(0,0,0,.08);
}

/* mobile */
@media (max-width:768px){
  .bov2-footer-contact-grid{
    grid-template-columns:1fr;
  }
}


/* Footer contact cards final stacked layout override */
.bov2-footer-contact-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}

.bov2-footer-contact-grid > div{
  width:100%;
  min-height:0;
  padding:20px 22px;
}

.bov2-footer-contact-grid div,
.bov2-footer-contact-grid a,
.bov2-footer-contact-grid span,
.bov2-footer-contact-grid p{
  overflow-wrap:break-word;
  word-break:normal;
  white-space:normal;
  hyphens:none;
}

.bov2-footer-contact-grid a{
  font-size:15px;
}


/* v2.10.1 footer contact layout + column spacing */
.bov2-footer-columns{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:48px;
}

.bov2-footer-contact-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}

.bov2-contact-card{
  padding:20px 22px;
  border-radius:12px;
  box-shadow:0 6px 16px rgba(0,0,0,.06);
  transition:.18s ease;
}

.bov2-contact-card:hover{
  transform:translateY(-4px);
  box-shadow:0 10px 22px rgba(0,0,0,.08);
}

.bov2-contact-card strong{
  display:block;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:6px;
}

.bov2-contact-card span,
.bov2-contact-card a{
  font-size:15px;
  line-height:1.5;
}



/* v2.11.5 footer contact cleanup + alignment */
.bov2-site-footer__grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .78fr) minmax(0, .82fr) minmax(0, .95fr);
  column-gap: 48px;
  row-gap: 34px;
}
.bov2-footer-actions .bov2-btn--secondary:hover {
  color: #ffffff !important;
}


/* v2.11.5 stage 1 final button polish */
.bov2-btn:hover,
.bov2-btn:focus,
.bov2-btn:active,
.bov2-btn:visited:hover,
.bov2-btn:visited:focus {
  color: #ffffff !important;
}


/* v2.11.5 theme settings compatibility */
.bov2-site-header-shell.is-not-sticky { position: relative; }
.bov2-site-header-shell.is-sticky { position: fixed; top: 0; left: 0; right: 0; width: 100%; }
html.bov2-has-sticky-header body { padding-top: var(--bov2-header-offset, 0px); }
.bov2-footer-prompt strong { font-weight: 700; }
.bov2-social__link .dashicons { font-size: 16px; width: 16px; height: 16px; }


/* v2.11.5 logo selector */
.bov2-branding__logo-image{
  display:block;
  width:min(100%, var(--bo-header-logo-width, 220px));
  height:auto;
  max-height:96px;
  object-fit:contain;
}
.bov2-branding__logo{
  display:inline-flex;
  align-items:center;
}


/* v2.11.5 settings groups */
.bov2-footer-list:empty{
  display:none;
}


/* v2.11.1 logo selector */
.bov2-branding__logo-image{
  display:block;
  width:min(100%, var(--bo-header-logo-width, 220px));
  height:auto;
  max-height:96px;
  object-fit:contain;
}
.bov2-branding__logo{
  display:inline-flex;
  align-items:center;
}


/* v2.11.2 settings groups */
.bov2-footer-list:empty{
  display:none;
}


.bov2-about-hero {
  padding-top: clamp(40px, 5vw, 68px);
  padding-bottom: clamp(40px, 5vw, 72px);
}
.bov2-about-hero__grid {
  align-items: start;
}
.bov2-about-hero__content {
  max-width: 600px;
  padding-top: clamp(8px, 1vw, 20px);
}
.bov2-about-hero__content h1 {
  max-width: 12ch;
}
.bov2-about-hero__content p {
  max-width: 38rem;
}
.bov2-about-hero__image-card {
  min-height: 100%;
}
.bov2-about-hero__image {
  width: 100%;
  height: clamp(320px, 42vw, 540px);
  object-fit: cover;
  object-position: center;
}
.bov2-about-hero__placeholder {
  min-height: clamp(320px, 42vw, 540px);
  display: grid;
  place-items: center;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  font-weight: 700;
  color: var(--bov2-green-dark);
  background: linear-gradient(135deg, #eff5ee 0%, #dfe9dd 100%);
}
.bov2-about-content {
  padding-top: 0;
}
.bov2-about-content__entry {
  background: var(--bov2-surface);
}
.bov2-about-content__entry .bov2-entry__content > * + * {
  margin-top: 1.1em;
}
.bov2-about-content__entry .bov2-entry__content img {
  border-radius: var(--bov2-radius-sm);
  box-shadow: var(--bov2-shadow-soft);
}


/* About page + PB split hero alignment */
body.page-template-page-about .bov2-about-content--split-hero {
  padding-top: clamp(36px, 4vw, 64px);
}
body.page-template-page-about .bov2-about-content__entry {
  background: transparent;
}
body.page-template-page-about .bov2-about-content__entry > .bov2-entry__content > .bom-pb-visual-page > .bom-pb-section:first-child {
  padding-top: 0;
}
body.page-template-page-about .bov2-about-content__entry > .bov2-entry__content > .bom-pb-visual-page > .bom-pb-section:first-child .bom-pb-inner.bom-pb-type-hero {
  display: grid;
  grid-template-columns: minmax(0, 540px) minmax(0, 1fr);
  gap: clamp(30px, 4vw, 64px);
  align-items: center;
  background: transparent !important;
  border: 0;
  box-shadow: none;
  padding: 0;
  overflow: visible;
}
body.page-template-page-about .bov2-about-content__entry > .bov2-entry__content > .bom-pb-visual-page > .bom-pb-section:first-child .bom-pb-content {
  position: relative;
  z-index: 2;
  max-width: 580px;
}
body.page-template-page-about .bov2-about-content__entry > .bov2-entry__content > .bom-pb-visual-page > .bom-pb-section:first-child .bom-pb-media {
  display: block;
  min-width: 0;
}
body.page-template-page-about .bov2-about-content__entry > .bov2-entry__content > .bom-pb-visual-page > .bom-pb-section:first-child .bom-pb-media__frame {
  padding: 12px;
  background: var(--bov2-surface);
  border: 1px solid var(--bov2-border);
  box-shadow: var(--bov2-shadow);
}
body.page-template-page-about .bov2-about-content__entry > .bov2-entry__content > .bom-pb-visual-page > .bom-pb-section:first-child .bom-pb-media__image {
  display: block;
  min-height: clamp(320px, 42vw, 540px);
  background-image: var(--bom-pb-bg-image);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: var(--bov2-surface-soft, #eef3ee);
}
body.page-template-page-about .bov2-about-content__entry > .bov2-entry__content > .bom-pb-visual-page > .bom-pb-section:first-child .bom-pb-actions--hero {
  margin-top: 24px;
}
@media (max-width: 980px) {
  body.page-template-page-about .bov2-about-content__entry > .bov2-entry__content > .bom-pb-visual-page > .bom-pb-section:first-child .bom-pb-inner.bom-pb-type-hero {
    grid-template-columns: 1fr;
  }
}


/* v2.14.5 about cleanup + nav fit */
body.page-template-page-about .bov2-about-hero{display:none !important;}
body.page-template-page-about .bov2-about-page .bom-pb-visual-page > .bom-pb-section:first-child{margin-top:0 !important;}
@media (min-width:1101px){
  .bov2-header-actions{min-width:0;gap:10px;}
  .bov2-header-nav{flex:1 1 auto;min-width:0;}
  .bov2-header-nav .bov2-nav__list{flex-wrap:nowrap;}
  .bov2-nav__link{padding:0 12px;font-size:.9rem;}
}


/* v2.14.6 about page fixes */
body.page-template-page-about .bov2-about-page > .bov2-about-hero,
body.page-template-page-about section.bov2-about-hero,
body.page-template-page-about .bov2-entry__content > section.bov2-about-hero{display:none !important;}
body.page-template-page-about .bov2-about-content__entry{max-width:none;width:100%;}

/* v2.14.30 plant detail polish */
.bom-pb-el-plant-detail-related .bov2-section-heading h2 { color:#fff; }
.bov2-plant-hero__content .bov2-hero__actions { margin-bottom: 24px; }


/* v2.14.30 global color isolation fix */
:root {
  --bov2-text-dark: #111111;
  --bov2-text-light: #ffffff;
  --bov2-card-bg: #ffffff;
  --bov2-card-text: #111111;
  --bov2-section-light-bg: #ffffff;
  --bov2-section-alt-bg: var(--bov2-surface-alt);
}

.bov2-section {
  background: var(--bov2-section-light-bg);
  color: var(--bov2-text-dark);
}

.bov2-section.bov2-section--alt {
  background: var(--bov2-section-alt-bg);
  color: var(--bov2-text-light);
}

.bov2-card,
.bov2-feature-card,
.bov2-spec-card,
.bov2-restricted-card,
.bov2-service-card {
  background: var(--bov2-card-bg);
  color: var(--bov2-card-text);
}

.bov2-section.bov2-section--alt .bov2-card,
.bov2-section.bov2-section--alt .bov2-feature-card,
.bov2-section.bov2-section--alt .bov2-spec-card,
.bov2-section.bov2-section--alt .bov2-restricted-card,
.bov2-section.bov2-section--alt .bov2-service-card {
  color: var(--bov2-card-text) !important;
}

.bov2-card h1,
.bov2-card h2,
.bov2-card h3,
.bov2-card h4,
.bov2-card h5,
.bov2-card h6,
.bov2-card p,
.bov2-card li,
.bov2-card span,
.bov2-card div,
.bov2-feature-card h1,
.bov2-feature-card h2,
.bov2-feature-card h3,
.bov2-feature-card h4,
.bov2-feature-card h5,
.bov2-feature-card h6,
.bov2-feature-card p,
.bov2-feature-card li,
.bov2-feature-card span,
.bov2-feature-card div,
.bov2-spec-card h1,
.bov2-spec-card h2,
.bov2-spec-card h3,
.bov2-spec-card h4,
.bov2-spec-card h5,
.bov2-spec-card h6,
.bov2-spec-card p,
.bov2-spec-card li,
.bov2-spec-card span,
.bov2-spec-card div,
.bov2-restricted-card h1,
.bov2-restricted-card h2,
.bov2-restricted-card h3,
.bov2-restricted-card h4,
.bov2-restricted-card h5,
.bov2-restricted-card h6,
.bov2-restricted-card p,
.bov2-restricted-card li,
.bov2-restricted-card span,
.bov2-restricted-card div,
.bov2-service-card h1,
.bov2-service-card h2,
.bov2-service-card h3,
.bov2-service-card h4,
.bov2-service-card h5,
.bov2-service-card h6,
.bov2-service-card p,
.bov2-service-card li,
.bov2-service-card span,
.bov2-service-card div {
  color: var(--bov2-card-text) !important;
}

.bov2-chip,
.bov2-pill,
.bov2-page-link {
  color: var(--bov2-text-dark) !important;
}

.bov2-section.bov2-section--alt .bov2-chip,
.bov2-section.bov2-section--alt .bov2-pill,
.bov2-section.bov2-section--alt .bov2-page-link {
  background: #e3e7e4;
  color: var(--bov2-text-dark) !important;
}

.bov2-btn {
  color: #000000;
}

.bov2-btn:hover,
.bov2-btn:focus,
.bov2-btn:active {
  color: #ffffff !important;
}


/* v2.14.32 header stack hardening */
.bov2-site-header-shell { z-index: 10000; isolation: isolate; }
.bov2-site-header,
.bov2-utility-bar,
.bov2-mobile-drawer { position: relative; z-index: 10001; }
.bov2-page-banner,
.bov2-site-main,
.bov2-site-main > .bov2-shell,
.bov2-entry,
.bom-pb-visual-page,
.bom-pb-section,
.bom-pb-container,
.bom-pb-inner { position: relative; z-index: 1; }
