/* Boards & More Group components — values from tokens.css; layout figures from boardsandmore.com */

/* Shared photo scrim */
.bm-scrim { position: absolute; left: 0; right: 0; bottom: 0; height: 60%; background: linear-gradient(rgba(0, 0, 0, 0), var(--overlay)); pointer-events: none; }

/* Button */
.bm-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-8);
  padding: var(--space-12) var(--space-32);
  border: var(--underline-bar) solid transparent; border-radius: var(--radius-none);
  font-family: var(--font-sans); font-size: 14px; font-weight: 500; line-height: 21px; letter-spacing: 0.21px;
  text-decoration: none; cursor: pointer;
}
.bm-btn--light { background: var(--white); border-color: var(--white); color: var(--black); }
.bm-btn--dark { background: var(--black); border-color: var(--black); color: var(--white); }
.bm-btn--primary { background: var(--bm-main); border-color: var(--bm-main); color: var(--white); }
.bm-btn--outline { background: transparent; border-color: var(--white); color: var(--white); }
.bm-btn:focus-visible { outline: 2px solid var(--bm-main); outline-offset: 2px; }
.bm-btn--outline:focus-visible, .bm-btn--light:focus-visible { outline-color: var(--white); }

/* TextLink */
.bm-link {
  display: inline-flex; flex-direction: column; align-items: stretch; gap: var(--space-3);
  padding: 0; border: 0; background: none; cursor: pointer;
  color: var(--black); text-decoration: none;
  font-family: var(--font-sans); font-size: 14px; font-weight: 500; line-height: 21px;
}
.bm-link__bar { display: block; height: var(--underline-bar); background: currentColor; }
.bm-link--light { color: var(--white); }
.bm-link--footer { color: var(--white); font-size: 16px; font-weight: 400; line-height: 24px; gap: 0; }
.bm-link--footer .bm-link__bar { background: var(--grey-400); }
.bm-link:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }

/* BrandBar */
.bm-brandbar { background: var(--preheader); color: var(--white); }
.bm-brandbar__inner { max-width: var(--container-width); height: var(--preheader-height); margin: 0 auto; padding: 0 var(--space-40); display: flex; align-items: center; justify-content: space-between; }
.bm-brandbar__brands { display: flex; align-items: center; gap: var(--space-32); }
.bm-brandbar__brand img { height: 16px; display: block; }
.bm-brandbar__lang { display: inline-flex; align-items: center; gap: var(--space-8); color: var(--white); text-decoration: none; font-family: var(--font-sans); font-size: 12px; line-height: 20px; text-transform: uppercase; }
.bm-brandbar__lang img { width: 14px; height: 14px; filter: invert(1); }

/* SiteHeader */
.bm-header { background: var(--white); }
.bm-header__logo { height: var(--header-height); display: flex; align-items: center; justify-content: center; }
.bm-header__logo img { width: 56px; height: 40px; display: block; }
.bm-header__nav { height: var(--nav-height); background: var(--grey-100); display: flex; align-items: center; justify-content: center; gap: var(--space-32); }
.bm-header__item { color: var(--black); text-decoration: none; font-family: var(--font-sans); font-size: 18px; font-weight: 500; line-height: 28px; border-bottom: var(--underline-bar) solid transparent; }
.bm-header__item.is-active, .bm-header__item:hover { border-bottom-color: var(--black); }

/* SectionTabs */
.bm-tabs { background: var(--white); }
.bm-tabs ul { list-style: none; margin: 0; padding: 0; display: flex; justify-content: center; gap: var(--space-28); }
.bm-tabs li { border-bottom: var(--underline-bar) solid transparent; }
.bm-tabs li.is-active { border-bottom-color: var(--black); }
.bm-tabs a { display: block; padding: 20px 0; color: var(--black); text-decoration: none; font-family: var(--font-sans); font-size: 16px; line-height: 24px; }

/* StoryCard */
.bm-card { font-family: var(--font-sans); }
.bm-card__media { position: relative; overflow: hidden; height: 400px; background: var(--fill-primary); }
.bm-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bm-card__title { position: absolute; left: var(--space-16); right: var(--space-16); bottom: var(--space-16); margin: 0; color: var(--white); font-size: 28px; font-weight: 500; line-height: 32px; letter-spacing: 0.56px; }
.bm-card__text { margin: var(--space-16) 0 0; max-width: var(--text-width); color: var(--grey-600); font-size: 16px; line-height: 24px; letter-spacing: 0.32px; }

/* KeyFacts */
.bm-facts {
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-16);
  padding: var(--space-40) 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule);
  font-family: var(--font-sans);
}
.bm-facts__label { margin: 0; font-size: 28px; font-weight: 700; line-height: 28px; letter-spacing: 0.56px; color: var(--black); }
.bm-facts__value { font-size: 54px; font-weight: 700; line-height: 54px; letter-spacing: 1.08px; color: var(--bm-main); }
.bm-facts__caption { margin: 0; font-size: 21px; line-height: 29.6px; color: var(--bm-main); }

/* CtaBanner */
.bm-banner { position: relative; overflow: hidden; height: 400px; background: var(--fill-primary); font-family: var(--font-sans); }
.bm-banner__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bm-banner__body { position: absolute; left: var(--space-40); right: var(--space-40); bottom: var(--space-40); display: flex; flex-direction: column; align-items: center; gap: var(--space-16); text-align: center; }
.bm-banner__title { margin: 0; color: var(--white); font-size: 28px; font-weight: 400; line-height: 32px; }

/* Footer */
.bm-footer { background: var(--black); color: var(--white); font-family: var(--font-sans); }
.bm-footer__inner { max-width: var(--container-width); margin: 0 auto; padding: var(--space-40) var(--space-40) var(--space-16); }
.bm-footer__top { display: flex; align-items: flex-start; justify-content: space-between; }
.bm-footer__logos { display: flex; align-items: center; gap: var(--space-32); }
.bm-footer__logos img { height: 16px; display: block; }
.bm-footer__logos .bm-footer__group img { height: 28px; }
.bm-footer__bottom { display: flex; gap: 48px; margin-top: 64px; font-size: 12px; line-height: 20px; }
.bm-footer__rights { color: var(--grey-400); }
.bm-footer__legal { display: flex; flex-wrap: wrap; gap: var(--space-32); }
.bm-footer__legal a { color: var(--grey-400); text-decoration: none; }
.bm-footer__legal a:hover { color: var(--white); }
