:where([data-etch-element="container"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  max-inline-size: var(--content-width, 1366px);
  align-self: center; margin-inline: auto;
}
:where([data-etch-element="flex-div"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
}
:where([data-etch-element="iframe"]) {
  inline-size: 100%;
  height: auto;
 aspect-ratio: 16/9;
}
:where([data-etch-element="section"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.bv-site {
  display: flex;
flex-direction: column;
min-block-size: 100svh;
}
.bv-header {
  display: block;
position: sticky;
inset-block-start: 0;
z-index: 50;
background: var(--white);
padding-inline: var(--gutter);
padding-block: var(--space-xs);
box-shadow: var(--box-shadow-1);
}
.bv-header__inner {
  flex-direction: row;
align-items: center;
justify-content: space-between;
gap: var(--space-m);
position: relative;
}
.bv-header__logo {
  display: block;
flex-shrink: 0;
inline-size: var(--space-xxl);
border-radius: var(--radius);
}
.bv-header__logo-img {
  display: block;
inline-size: 100%;
block-size: auto;
}
.bv-nav-toggle {
  display: inline-flex;
align-items: center;
gap: var(--space-xs);
padding-block: var(--space-xs);
padding-inline: var(--space-s);
background: transparent;
color: var(--base);
border: var(--border-size) solid currentColor;
border-radius: var(--radius);
font-weight: 600;
cursor: pointer;
&[aria-expanded="true"] .bv-nav-toggle__icon { background: transparent; }
&[aria-expanded="true"] .bv-nav-toggle__icon::before { transform: translateY(0.4em) rotate(45deg); }
&[aria-expanded="true"] .bv-nav-toggle__icon::after { transform: translateY(-0.4em) rotate(-45deg); }
@media (width >= 64em) { display: none; }
}
.bv-nav-toggle__icon {
  position: relative;
display: block;
inline-size: 1.25em;
block-size: 0.15em;
background: currentColor;
border-radius: var(--radius);
&::before, &::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  block-size: 100%;
  background: currentColor;
  border-radius: inherit;
  transition: transform var(--transition-duration) ease;
}
&::before { inset-block-start: -0.4em; }
&::after { inset-block-start: 0.4em; }
}
.bv-nav {
  display: none;
@media (width < 64em) {
  position: absolute;
  inset-block-start: 100%;
  inset-inline: calc(var(--gutter) * -1);
  margin-block-start: var(--space-xs);
  background: var(--white);
  padding-block: var(--space-m);
  padding-inline: var(--gutter);
  box-shadow: var(--box-shadow-2);
  max-block-size: calc(100svh - var(--space-xxl));
  overflow-y: auto;
}
.bv-nav-toggle[aria-expanded="true"] + & { display: block; }
@media (width >= 64em) { display: block; }
}
.bv-nav__list {
  list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: var(--space-xs);
@media (width >= 64em) {
  flex-direction: row;
  align-items: center;
  gap: var(--space-m);
}
}
.bv-nav__item {
  position: relative;
&:hover .bv-nav__sub, &:focus-within .bv-nav__sub { @media (width >= 64em) { display: block; } }
}
.bv-nav__link {
  display: inline-block;
color: var(--base);
font-weight: 600;
font-size: var(--text-m);
text-decoration: none;
padding-block: var(--space-xs);
border-block-end: calc(var(--border-size) * 3) solid transparent;
transition: color var(--transition-duration) ease, border-color var(--transition-duration) ease;
&:hover { color: var(--primary); }
&[aria-current="page"], &.is-ancestor { color: var(--primary); border-color: var(--primary); }
@media (width >= 64em) { font-size: var(--text-s); }
}
.bv-nav__row {
  display: flex;
align-items: center;
gap: var(--space-xs);
justify-content: space-between;
}
.bv-nav__sub-toggle {
  display: inline-grid;
place-items: center;
inline-size: var(--space-l);
block-size: var(--space-l);
padding: 0;
background: transparent;
border: 0;
border-radius: var(--radius);
color: var(--base);
cursor: pointer;
&[aria-expanded="true"] .bv-nav__chevron { transform: rotate(180deg); }
&[aria-expanded="true"] + .bv-nav__sub, .bv-nav__row:has(&[aria-expanded="true"]) + .bv-nav__sub { display: block; }
@media (width >= 64em) { inline-size: var(--space-m); block-size: var(--space-m); }
}
.bv-nav__chevron {
  inline-size: 0.75em;
block-size: 0.75em;
fill: currentColor;
transition: transform var(--transition-duration) ease;
}
.bv-nav__sub {
  display: none;
list-style: none;
margin: 0;
padding-block: 0 var(--space-xs);
padding-inline: var(--space-s) 0;
@media (width >= 64em) {
  position: absolute;
  inset-block-start: 100%;
  inset-inline-start: calc(var(--space-s) * -1);
  min-inline-size: max-content;
  padding: var(--space-xs);
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: var(--box-shadow-2);
}
}
.bv-nav__sub-link {
  display: block;
padding-block: var(--space-xs);
padding-inline: var(--space-s);
color: var(--base);
font-weight: 600;
font-size: var(--text-s);
text-decoration: none;
border-radius: var(--radius);
&:hover, &[aria-current="page"] { color: var(--primary); background: var(--bg-ultra-light); }
}
.bv-main {
  flex-grow: 1;
&:focus { outline: none; }
}
.bv-footer {
  display: block;
background: var(--primary);
color: var(--white);
padding-inline: var(--gutter);
padding-block: var(--space-xl) var(--space-m);
--heading-color: var(--white);
& a { color: var(--white); text-decoration: none; }
& a:hover { text-decoration: underline; text-underline-offset: 0.2em; }
& a:focus-visible { outline: calc(var(--border-size) * 2) solid var(--white); outline-offset: var(--focus-offset); }
}
.bv-footer__inner {
  display: grid;
gap: var(--space-l);
grid-template-columns: var(--grid-1);
@media (width >= 48em) { grid-template-columns: var(--grid-3); align-items: center; }
}
.bv-footer__col {
  display: flex;
flex-direction: column;
gap: var(--space-xs);
font-size: var(--text-s);
}
.bv-footer__name {
  margin: 0;
}
.bv-footer__facts {
  list-style: none;
margin: 0;
padding: 0;
display: grid;
gap: 0;
}
.bv-footer__menu {
  list-style: none;
margin: 0;
padding: 0;
display: grid;
gap: var(--space-xs);
font-size: var(--text-s);
@media (width >= 48em) { justify-items: center; }
}
.bv-footer__col--end {
  @media (width >= 48em) { align-items: flex-end; text-align: end; }
}
.bv-footer__address {
  font-style: normal;
display: flex;
flex-direction: column;
gap: 0;
}
.bv-footer__social {
  list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: var(--space-s);
}
.bv-footer__social-link {
  display: inline-grid;
place-items: center;
inline-size: var(--space-l);
block-size: var(--space-l);
border-radius: var(--radius);
transition: background var(--transition-duration) ease;
&:hover { background: var(--primary-semi-dark); }
}
.bv-footer__icon {
  inline-size: 60%;
block-size: 60%;
fill: currentColor;
}
.bv-footer__bottom {
  margin-block-start: var(--space-l);
padding-block-start: var(--space-s);
border-block-start: var(--border-size) solid color-mix(in oklch, var(--white) 30%, transparent);
font-size: var(--text-xs);
text-align: center;
& p { margin: 0; }
}
.bv-contact-cta {
  background: color-mix(in oklch, var(--bg-ultra-light) 45%, var(--white));
.bv-band--light + & { background: var(--white); }
}
.bv-contact-cta__inner {
  gap: var(--space-l);
align-items: center;
text-align: center;
}
.bv-contact-cta__title {
  margin: 0;
}
.bv-contact-cta__list {
  list-style: none;
margin: 0;
padding: 0;
inline-size: 100%;
display: grid;
gap: var(--grid-gap);
grid-template-columns: var(--grid-1);
@media (width >= 48em) { grid-template-columns: var(--grid-3); }
}
.bv-contact-cta__item {
  display: flex;
justify-content: center;
}
.bv-contact-cta__link {
  display: flex;
flex-direction: column;
align-items: center;
gap: var(--space-s);
color: var(--primary);
text-decoration: none;
&:hover .bv-contact-cta__label { background: var(--primary); color: var(--white); }
&:focus-visible { outline: none; }
&:focus-visible .bv-contact-cta__label { outline: calc(var(--border-size) * 2) solid var(--primary); outline-offset: var(--focus-offset); }
}
.bv-contact-cta__icon {
  inline-size: var(--space-xl);
block-size: var(--space-xl);
fill: currentColor;
}
.bv-contact-cta__label {
  display: inline-block;
padding-block: var(--space-xs);
padding-inline: var(--space-m);
border: calc(var(--border-size) * 2) solid var(--primary);
border-radius: var(--radius);
font-weight: 600;
transition: background var(--transition-duration) ease, color var(--transition-duration) ease;
}
.bv-band--light {
  background: color-mix(in oklch, var(--bg-ultra-light) 45%, var(--white));
}
.bv-band--primary {
  background: var(--primary);
color: var(--white);
--heading-color: var(--white);
--text-color: var(--white);
& a:not([class*="btn"]) { color: var(--white); }
}
.bv-band--tight {
  padding-block: var(--section-space-s);
}
.bv-stack {
  gap: var(--container-gap);
}
.bv-section-head {
  inline-size: 100%;
max-inline-size: var(--width-80);
margin-inline: auto;
text-align: center;
display: flex;
flex-direction: column;
gap: var(--content-gap);
align-items: center;
& > * { margin: 0; }
}
.bv-split {
  display: grid;
gap: var(--container-gap);
grid-template-columns: var(--grid-1);
align-items: center;
@media (width >= 48em) { grid-template-columns: var(--grid-2); }
}
.bv-split--top {
  align-items: start;
}
.bv-split__content {
  display: flex;
flex-direction: column;
align-items: flex-start;
gap: var(--content-gap);
& > * { margin: 0; }
}
.bv-split__media {
  margin: 0;
border-radius: var(--radius);
overflow: hidden;
}
.bv-split__img {
  display: block;
inline-size: 100%;
block-size: auto;
max-inline-size: none;
object-fit: cover;
}
.bv-lead {
  font-size: var(--text-l);
}
.bv-prose {
  inline-size: 100%;
max-inline-size: var(--width-50);
margin-inline: auto;
display: flex;
flex-direction: column;
gap: var(--content-gap);
& > * { margin: 0; }
& ul { display: grid; gap: var(--space-xs); padding-inline-start: 1.2em; }
& h2 + *, & h3 + * { margin-block-start: calc(var(--content-gap) * -0.5); }
}
.bv-prose--wide {
  max-inline-size: var(--width-70);
}
.bv-note {
  font-style: italic;
font-size: var(--text-s);
}
.bv-mark {
  position: relative;
display: inline-block;
color: var(--primary);
white-space: nowrap;
isolation: isolate;
&::after {
  content: "";
  position: absolute;
  inset: calc(var(--space-xs) * -0.6) calc(var(--space-xs) * -0.75);
  background: var(--primary);
  mask: var(--_mark) center / 100% 100% no-repeat;
  pointer-events: none;
  z-index: -1;
  @media (prefers-reduced-motion: no-preference) { animation: bv-draw 1.2s ease-out 0.3s both; }
}
}
.bv-mark--circle {
  --_mark: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20500%20150%27%20preserveAspectRatio%3D%27none%27%3E%3Cpath%20d%3D%27M325%2C18C228.7-8.3%2C118.5%2C8.3%2C78%2C21C22.4%2C38.4%2C4.6%2C54.6%2C5.6%2C77.6c1.4%2C32.4%2C52.2%2C54%2C142.6%2C63.7c66.2%2C7.1%2C212.2%2C7.5%2C273.5-8.3c64.4-16.6%2C104.3-57.6%2C33.8-98.2C386.7-4.9%2C179.4-1.4%2C126.3%2C20.7%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%279%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
}
.bv-mark--underline {
  --_mark: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20500%20150%27%20preserveAspectRatio%3D%27none%27%3E%3Cpath%20d%3D%27M7.7%2C145.6C109%2C125%2C299.9%2C116.2%2C401%2C121.3c42.1%2C2.2%2C87.6%2C11.8%2C87.3%2C25.7%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%279%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
}
.bv-mark--double {
  --_mark: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20500%20150%27%20preserveAspectRatio%3D%27none%27%3E%3Cpath%20d%3D%27M5%2C125.4c30.5-3.8%2C137.9-7.6%2C177.3-7.6c117.2%2C0%2C252.2%2C4.7%2C312.7%2C7.6%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%279%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M26.9%2C143.8c55.1-6.1%2C126-6.3%2C162.2-6.1c46.5%2C0.2%2C203.9%2C3.2%2C268.9%2C6.4%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%279%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
}
.bv-mark--zigzag {
  --_mark: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20500%20150%27%20preserveAspectRatio%3D%27none%27%3E%3Cpath%20d%3D%27M9.3%2C127.3c49.3-3%2C150.7-7.6%2C199.7-7.4c121.9%2C0.4%2C189.9%2C0.4%2C282.3%2C7.2C380.1%2C129.6%2C181.2%2C130.6%2C70%2C139c82.6-2.9%2C254.2-1%2C335.9%2C1.3c-56%2C1.4-137.2-0.3-197.1%2C9%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%279%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
}
.bv-rotator {
  display: inline-block;
color: var(--primary);
white-space: nowrap;
clip-path: inset(0 0 0 0);
transition: clip-path 0.45s ease;
&.is-hidden { clip-path: inset(0 100% 0 0); }
}
.bv-btn {
  &.btn--primary {
  --btn-text-color: var(--white);
  --btn-text-color-hover: var(--white);
  --btn-background-hover: var(--primary-semi-dark);
  --btn-border-color-hover: var(--primary-semi-dark);
  --btn-font-weight: 600;
  --focus-color: var(--primary-semi-dark);
}
}
.bv-btn--inverse {
  &.btn--primary {
  --btn-background: var(--white);
  --btn-border-color: var(--white);
  --btn-text-color: var(--primary-semi-dark);
  --btn-background-hover: var(--primary-ultra-light);
  --btn-border-color-hover: var(--primary-ultra-light);
  --btn-text-color-hover: var(--primary-dark);
  --focus-color: var(--white);
}
}
.bv-btn--outline {
  &.btn--primary {
  --btn-background: transparent;
  --btn-text-color: var(--primary);
  --btn-border-color: var(--primary);
  --btn-background-hover: var(--primary);
  --btn-text-color-hover: var(--white);
  --btn-border-color-hover: var(--primary);
  --btn-border-width: calc(var(--border-size) * 2);
}
}
.bv-btn-row {
  display: flex;
flex-wrap: wrap;
gap: var(--space-s);
align-items: center;
}
.bv-checklist {
  list-style: none;
margin: 0;
padding: 0;
display: grid;
gap: var(--space-xs);
& li { position: relative; padding-inline-start: 1.6em; }
& li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.35em;
  inline-size: 1em;
  block-size: 1em;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20448%20512%27%3E%3Cpath%20d%3D%27M313.941%20216H12c-6.627%200-12%205.373-12%2012v56c0%206.627%205.373%2012%2012%2012h301.941v46.059c0%2021.382%2025.851%2032.09%2040.971%2016.971l86.059-86.059c9.373-9.373%209.373-24.569%200-33.941l-86.059-86.059c-15.119-15.119-40.971-4.411-40.971%2016.971V216z%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}
}
.bv-checklist--accent {
  & li::before { background: var(--primary); }
}
.bv-more {
  display: inline-flex;
align-items: center;
gap: 0.4em;
color: var(--primary);
font-weight: 600;
&::after {
  content: "";
  inline-size: 1em;
  block-size: 1em;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20448%20512%27%3E%3Cpath%20d%3D%27M313.941%20216H12c-6.627%200-12%205.373-12%2012v56c0%206.627%205.373%2012%2012%2012h301.941v46.059c0%2021.382%2025.851%2032.09%2040.971%2016.971l86.059-86.059c9.373-9.373%209.373-24.569%200-33.941l-86.059-86.059c-15.119-15.119-40.971-4.411-40.971%2016.971V216z%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
  transition: transform var(--transition-duration) ease;
}
}
.bv-features {
  list-style: none;
margin: 0;
padding: 0;
display: grid;
gap: var(--grid-gap);
grid-template-columns: var(--grid-1);
@media (width >= 48em) { grid-template-columns: var(--grid-3); }
}
.bv-features--2 {
  @media (width >= 48em) { grid-template-columns: var(--grid-2); }
}
.bv-feature {
  position: relative;
block-size: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: var(--space-s);
text-align: center;
padding: var(--space-s);
border-radius: var(--radius);
& > * { margin: 0; }
& > :last-child { margin-block-start: auto; }
&:has(a:focus-visible) { outline: calc(var(--border-size) * 2) solid var(--primary); outline-offset: var(--space-xs); }
&:hover .bv-more::after { transform: translateX(0.25em); }
}
.bv-feature__icon {
  inline-size: var(--space-xl);
block-size: var(--space-xl);
fill: currentColor;
color: var(--primary);
}
.bv-feature__title {
  font-size: var(--h4);
& a { color: inherit; text-decoration: none; }
& a::after { content: ""; position: absolute; inset: 0; }
& a:focus-visible { outline: none; }
}
.bv-feature__text {
  flex-grow: 1;
}
.bv-feature--left {
  align-items: flex-start;
text-align: start;
}
.bv-cards {
  list-style: none;
margin: 0;
padding: 0;
display: grid;
gap: var(--grid-gap);
grid-template-columns: var(--grid-1);
@media (width >= 48em) { grid-template-columns: var(--grid-2); }
@media (width >= 64em) { grid-template-columns: var(--grid-3); }
& > li:nth-child(odd) .bv-card { background: var(--primary); color: var(--white); --heading-color: var(--white); }
& > li:nth-child(odd) .bv-more { color: var(--white); }
}
.bv-card {
  position: relative;
block-size: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: var(--space-s);
text-align: center;
padding: var(--space-m);
background: var(--white);
border: calc(var(--border-size) * 3) solid var(--primary);
border-radius: var(--radius-m);
transition: transform var(--transition-duration) ease, box-shadow var(--transition-duration) ease;
& > * { margin: 0; }
& > :last-child { margin-block-start: auto; }
&:has(a):hover { transform: translateY(calc(var(--space-xs) * -0.3)); box-shadow: var(--box-shadow-2); }
&:has(a):hover .bv-more::after { transform: translateX(0.25em); }
&:has(a:focus-visible) { outline: calc(var(--border-size) * 3) solid var(--base); outline-offset: calc(var(--space-xs) * 0.5); }
@media (prefers-reduced-motion: reduce) { transition: none; &:has(a):hover { transform: none; } }
}
.bv-card--plain {
  justify-content: center;
& > :last-child { margin-block-start: 0; }
}
.bv-card__title {
  font-size: var(--h4);
& a { color: inherit; text-decoration: none; }
& a::after { content: ""; position: absolute; inset: 0; }
& a:focus-visible { outline: none; }
}
.bv-video {
  position: relative;
aspect-ratio: 16 / 9;
inline-size: 100%;
border-radius: var(--radius);
overflow: hidden;
background: var(--white);
box-shadow: var(--box-shadow-1);
}
.bv-video__btn {
  position: absolute;
inset: 0;
display: block;
inline-size: 100%;
block-size: 100%;
padding: 0;
border: 0;
background: transparent;
cursor: pointer;
&:hover .bv-video__play, &:focus-visible .bv-video__play { background: var(--primary-semi-dark); transform: translate(-50%, -50%) scale(1.08); }
&:focus-visible { outline: calc(var(--border-size) * 3) solid var(--primary); outline-offset: calc(var(--border-size) * -3); }
}
.bv-video__poster {
  display: block;
inline-size: 100%;
block-size: 100%;
max-inline-size: none;
object-fit: cover;
}
.bv-video__play {
  position: absolute;
inset-block-start: 50%;
inset-inline-start: 50%;
transform: translate(-50%, -50%);
display: grid;
place-items: center;
inline-size: var(--space-xxl);
block-size: calc(var(--space-xxl) * 0.7);
border-radius: var(--radius-m);
background: var(--primary);
color: var(--white);
transition: transform var(--transition-duration) ease, background var(--transition-duration) ease;
}
.bv-video__icon {
  inline-size: 35%;
block-size: 35%;
fill: currentColor;
margin-inline-start: 6%;
}
.bv-video__frame {
  position: absolute;
inset: 0;
inline-size: 100%;
block-size: 100%;
border: 0;
}
.bv-logos {
  position: relative;
inline-size: 100%;
overflow: hidden;
mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
&:hover .bv-logos__track, &:focus-within .bv-logos__track { animation-play-state: paused; }
}
.bv-logos__track {
  display: flex;
inline-size: max-content;
@media (prefers-reduced-motion: no-preference) { animation: bv-marquee 45s linear infinite; }
@media (prefers-reduced-motion: reduce) { inline-size: 100%; }
}
.bv-logos__list {
  list-style: none;
margin: 0;
padding: 0;
display: flex;
align-items: center;
gap: var(--space-xl);
padding-inline-end: var(--space-xl);
@media (prefers-reduced-motion: reduce) { flex-wrap: wrap; justify-content: center; padding-inline-end: 0; }
}
.bv-logos__list--clone {
  @media (prefers-reduced-motion: reduce) { display: none; }
}
.bv-logos__img {
  display: block;
inline-size: calc(var(--space-xxl) * 1.3);
block-size: auto;
max-inline-size: none;
aspect-ratio: 1;
object-fit: contain;
}
.bv-promo {
  padding: 0;
background: var(--primary);
color: var(--white);
--heading-color: var(--white);
}
.bv-promo__grid {
  display: grid;
grid-template-columns: var(--grid-1);
inline-size: 100%;
max-inline-size: none;
@media (width >= 48em) { grid-template-columns: var(--grid-2); }
}
.bv-promo__content {
  display: flex;
flex-direction: column;
justify-content: center;
align-items: flex-start;
gap: var(--content-gap);
padding-block: var(--section-space-m);
padding-inline: var(--gutter);
& > * { margin: 0; }
}
.bv-promo__title {
  text-transform: uppercase;
}
.bv-promo__media {
  margin: 0;
min-block-size: calc(var(--space-xxl) * 3);
position: relative;
}
.bv-promo__img {
  position: absolute;
inset: 0;
inline-size: 100%;
block-size: 100%;
max-inline-size: none;
object-fit: cover;
}
.bv-reviews {
  display: grid;
gap: var(--container-gap);
grid-template-columns: var(--grid-1);
align-items: center;
@media (width >= 64em) { grid-template-columns: var(--grid-1-2); }
}
.bv-reviews__intro {
  display: flex;
flex-direction: column;
align-items: flex-start;
gap: var(--content-gap);
& > * { margin: 0; }
}
.bv-reviews__slider {
  display: flex;
flex-direction: column;
gap: var(--space-s);
min-inline-size: 0;
}
.bv-reviews__track {
  list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: var(--space-m);
overflow-x: auto;
scroll-snap-type: x mandatory;
scrollbar-width: none;
overscroll-behavior-x: contain;
&::-webkit-scrollbar { display: none; }
& > li { flex: 0 0 100%; scroll-snap-align: start; display: flex; }
}
.bv-review-card {
  margin: 0;
inline-size: 100%;
display: flex;
flex-direction: column;
gap: var(--space-s);
padding: var(--space-m);
background: var(--white);
border: var(--border-size) solid var(--border-color-dark);
border-radius: var(--radius);
& blockquote { margin: 0; padding: 0; border: 0; font-size: var(--text-m); }
& blockquote p { margin: 0; }
}
.bv-review-card__caption {
  display: flex;
flex-direction: column;
order: -1;
& strong { font-size: var(--h4); font-weight: 700; color: var(--heading-color); }
& span { color: var(--primary); font-weight: 600; font-size: var(--text-s); }
}
.bv-reviews__nav {
  display: flex;
gap: var(--space-xs);
}
.bv-reviews__btn {
  display: inline-grid;
place-items: center;
inline-size: var(--space-l);
block-size: var(--space-l);
padding: 0;
background: var(--white);
color: var(--primary);
border: calc(var(--border-size) * 2) solid var(--primary);
border-radius: var(--radius);
cursor: pointer;
&:hover { background: var(--primary); color: var(--white); }
& svg { inline-size: 40%; block-size: 40%; fill: currentColor; }
}
.bv-steps {
  list-style: none;
margin: 0;
padding: 0;
counter-reset: bv-step;
display: grid;
gap: var(--grid-gap);
grid-template-columns: var(--grid-1);
@media (width >= 48em) { grid-template-columns: var(--grid-2); }
@media (width >= 64em) { grid-template-columns: var(--grid-4); }
& > li { counter-increment: bv-step; display: flex; flex-direction: column; align-items: center; gap: var(--space-s); text-align: center; }
& > li::before { content: counter(bv-step); font-size: var(--h1); font-weight: 800; line-height: 1; }
& p { margin: 0; }
}
.bv-hero {
  position: relative;
isolation: isolate;
overflow: hidden;
padding-block: var(--section-space-xl) calc(var(--section-space-xl) + var(--space-l));
color: var(--white);
--heading-color: var(--white);
&::before { content: ""; position: absolute; inset: 0; z-index: -1; background: color-mix(in oklch, var(--black) 45%, transparent); }
&::after { content: ""; position: absolute; inset-inline: 0; inset-block-end: calc(var(--border-size) * -1); block-size: var(--space-xl); background: var(--white); mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201000%20100%27%20preserveAspectRatio%3D%27none%27%3E%3Cpath%20d%3D%27M0%2C60%20C150%2C10%20350%2C10%20500%2C45%20C650%2C80%20850%2C80%201000%2C30%20L1000%2C100%20L0%2C100%20Z%27%20fill%3D%27black%27%2F%3E%3C%2Fsvg%3E") center / 100% 100% no-repeat; }
& .bv-rotator { color: var(--white); white-space: normal; }
}
.bv-hero__img {
  position: absolute;
inset: 0;
z-index: -2;
inline-size: 100%;
block-size: 100%;
max-inline-size: none;
object-fit: cover;
}
.bv-hero__inner {
  align-items: center;
text-align: center;
gap: var(--content-gap);
& > * { margin: 0; }
}
.bv-hero__eyebrow {
  font-size: var(--h4);
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.08em;
}
.bv-hero__quote {
  font-size: var(--h2);
font-weight: 700;
line-height: var(--heading-line-height);
max-inline-size: var(--width-80);
text-wrap: balance;
min-block-size: 2.6em;
}
.bv-photo-band {
  position: relative;
isolation: isolate;
overflow: hidden;
color: var(--white);
--heading-color: var(--white);
&::before { content: ""; position: absolute; inset: 0; z-index: -1; background: color-mix(in oklch, var(--base-ultra-dark) 72%, transparent); }
}
.bv-photo-band__img {
  position: absolute;
inset: 0;
z-index: -2;
inline-size: 100%;
block-size: 100%;
max-inline-size: none;
object-fit: cover;
}
.bv-photo-band__inner {
  align-items: flex-start;
gap: var(--content-gap);
& > * { margin: 0; }
}
.bv-arrange {
  display: grid;
gap: var(--container-gap);
grid-template-columns: var(--grid-1);
align-items: center;
@media (width >= 64em) { grid-template-columns: var(--grid-1-2); }
}
.bv-tiles {
  list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: var(--grid-1);
border: calc(var(--border-size) * 2) solid var(--primary);
border-radius: var(--radius);
overflow: hidden;
@media (width >= 36em) { grid-template-columns: var(--grid-2); }
@media (width >= 48em) { grid-template-columns: var(--grid-3); }
& > li { display: flex; flex-direction: column; gap: var(--space-xs); align-items: center; text-align: center; padding: var(--space-m) var(--space-s); }
& > li:nth-child(odd) { background: var(--primary); color: var(--white); --heading-color: var(--white); }
& h3 { font-size: var(--h4); margin: 0; }
& p { margin: 0; font-size: var(--text-s); }
}
.bv-offers {
  list-style: none;
margin: 0;
padding: 0;
display: grid;
gap: var(--grid-gap);
grid-template-columns: var(--grid-1);
@media (width >= 48em) { grid-template-columns: var(--grid-2); }
@media (width >= 64em) { grid-template-columns: var(--grid-4); }
}
.bv-offer {
  position: relative;
block-size: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: var(--space-s);
padding: var(--space-m) var(--space-s);
background: var(--white);
border-radius: var(--radius);
box-shadow: var(--box-shadow-2);
transition: transform var(--transition-duration) ease;
& > * { margin: 0; }
& > :last-child { margin-block-start: auto; }
&:hover { transform: translateY(calc(var(--space-xs) * -0.3)); }
&:hover .bv-more::after { transform: translateX(0.25em); }
&:has(a:focus-visible) { outline: calc(var(--border-size) * 3) solid var(--primary); outline-offset: calc(var(--space-xs) * 0.5); }
@media (prefers-reduced-motion: reduce) { transition: none; &:hover { transform: none; } }
}
.bv-offer__icon {
  inline-size: var(--space-xl);
block-size: var(--space-xl);
color: var(--primary);
fill: currentColor;
}
.bv-offer__facts {
  list-style: none;
margin: 0;
padding: 0;
inline-size: 100%;
display: grid;
gap: var(--space-xs);
font-size: var(--text-s);
}
.bv-fact {
  display: grid;
grid-template-columns: auto 1fr;
gap: var(--space-s);
align-items: center;
}
.bv-fact__icon {
  inline-size: 1.4em;
block-size: 1.4em;
color: var(--primary);
fill: currentColor;
}
.bv-feature--light {
  color: var(--white);
& .bv-feature__icon { color: var(--white); }
}
.bv-form {
  display: grid;
gap: var(--space-s);
grid-template-columns: var(--grid-1);
inline-size: 100%;
@media (width >= 48em) { grid-template-columns: var(--grid-2); }
}
.bv-form__field {
  display: flex;
flex-direction: column;
gap: calc(var(--space-xs) * 0.5);
@media (width >= 48em) { &.bv-form__field--full { grid-column: 1 / -1; } }
}
.bv-form__label {
  font-weight: 600;
color: var(--primary-semi-dark);
}
.bv-form__optional {
  font-weight: 400;
color: var(--text-dark-muted);
font-size: var(--text-s);
}
.bv-form__input {
  inline-size: 100%;
padding: var(--space-xs) var(--space-s);
font: inherit;
color: var(--base);
background: var(--white);
border: var(--border-size) solid var(--base-semi-light);
border-radius: var(--radius);
&:focus-visible { outline: calc(var(--border-size) * 2) solid var(--primary); outline-offset: 0; border-color: var(--primary); }
&[aria-invalid="true"] { border-color: var(--danger, var(--base)); }
}
.bv-form__fieldset {
  grid-column: 1 / -1;
margin: 0;
padding: 0;
border: 0;
display: flex;
flex-direction: column;
gap: var(--space-xs);
& legend { font-weight: 600; color: var(--primary-semi-dark); margin-block-end: var(--space-xs); padding: 0; }
}
.bv-form__check {
  display: flex;
gap: var(--space-xs);
align-items: flex-start;
& input { inline-size: 1.15em; block-size: 1.15em; margin-block-start: 0.2em; accent-color: var(--primary); flex-shrink: 0; }
}
.bv-form__error {
  color: var(--danger, var(--base));
font-size: var(--text-s);
font-weight: 600;
&:empty { display: none; }
}
.bv-form__honeypot {
  position: absolute !important;
inline-size: var(--border-size);
block-size: var(--border-size);
overflow: hidden;
clip-path: inset(100%);
}
.bv-form__actions {
  grid-column: 1 / -1;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: var(--space-xs);
& p { margin: 0; }
}
.bv-form__status {
  font-weight: 600;
&:empty { display: none; }
}
.bv-docs {
  list-style: none;
margin: 0;
padding: 0;
display: grid;
gap: var(--grid-gap);
grid-template-columns: var(--grid-1);
@media (width >= 48em) { grid-template-columns: var(--grid-2); }
}
.bv-doc {
  position: relative;
block-size: 100%;
display: flex;
flex-direction: column;
gap: var(--space-s);
padding-block-end: var(--space-m);
background: var(--white);
border-radius: var(--radius);
box-shadow: var(--box-shadow-1);
overflow: hidden;
& > :not(.bv-doc__media) { margin: 0; padding-inline: var(--space-m); }
& > :last-child { margin-block-start: auto; }
&:has(a:focus-visible) { outline: calc(var(--border-size) * 3) solid var(--primary); outline-offset: calc(var(--space-xs) * 0.5); }
&:hover .bv-more::after { transform: translateX(0.25em); }
}
.bv-doc__media {
  margin: 0;
aspect-ratio: 2 / 1;
}
.bv-doc__img {
  display: block;
inline-size: 100%;
block-size: 100%;
max-inline-size: none;
object-fit: cover;
}
.bv-doc__title {
  font-size: var(--h3);
& a { color: inherit; text-decoration: none; }
& a::after { content: ""; position: absolute; inset: 0; }
& a:focus-visible { outline: none; }
}
.bv-contact-list {
  list-style: none;
margin: 0;
padding: 0;
display: grid;
gap: var(--space-s);
& a { display: inline-flex; align-items: center; gap: var(--space-s); color: var(--base); font-weight: 600; font-size: var(--text-l); text-decoration: none; }
& a:hover { color: var(--primary); }
& svg { inline-size: var(--space-l); block-size: var(--space-l); fill: var(--primary); flex-shrink: 0; }
}
.bv-social {
  list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: var(--space-s);
& a { display: inline-grid; place-items: center; inline-size: var(--space-xl); block-size: var(--space-xl); border-radius: var(--radius); color: var(--primary); border: calc(var(--border-size) * 2) solid currentColor; }
& a:hover { background: var(--primary); color: var(--white); }
& svg { inline-size: 50%; block-size: 50%; fill: currentColor; }
}
.bv-panel {
  padding: var(--space-l);
background: var(--white);
border-radius: var(--radius);
box-shadow: var(--box-shadow-1);
display: flex;
flex-direction: column;
gap: var(--content-gap);
& > * { margin: 0; }
}
.bv-btn-row--center {
  justify-content: center;
}
.bv-split__media--portrait {
  max-inline-size: var(--width-40);
justify-self: center;
@media (width >= 48em) { justify-self: end; }
}
.bv-form__fieldset--grid {
  & > .bv-form { grid-column: 1 / -1; }
}
.bv-address {
  font-style: normal;
}