/* Small additions on top of the Webflow export CSS (keep this file small). */
.bm-award-link { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.bm-award-link:hover { opacity: .8; }
.bm-turnstile:empty { display: none; }
.contact-form-wrapper .bm-turnstile { margin-bottom: 10px; }
/* The extra "Awards" nav item: tighten the desktop nav gap a little so the row
   still fits beside the logo (Webflow's gap is a fixed 2rem). */
@media screen and (min-width: 992px) {
  .header-navigation-wrapper.middle .header-nav-list { grid-column-gap: clamp(.75rem, 1.3vw, 2rem); column-gap: clamp(.75rem, 1.3vw, 2rem); }
}
/* /awards: award-by-award section with photo galleries and a lightbox. */
.bm-awards { background: var(--color--lightest); color: var(--color--darkest); }
.bm-awards-head { max-width: 46rem; margin-bottom: 4rem; }
.bm-award { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 3rem; padding: 3.5rem 0; border-top: 1px solid var(--color--light); scroll-margin-top: 6rem; }
.bm-award-text p { margin-bottom: 1rem; }
.bm-award-logo { display: inline-flex; align-items: center; background: #fff; border-radius: 4px; padding: .75rem 1rem; margin-bottom: 1.5rem; }
.bm-award-logo.is-dark { background: var(--color--darkest); }
.bm-award-logo img { height: 40px; width: auto; max-width: 200px; object-fit: contain; }
.bm-award-org { margin: .5rem 0 .25rem; font-weight: 600; color: var(--color--dark); }
.bm-award-title { margin: 0 0 1rem; }
.bm-award-meta { color: var(--color--dark); }
.bm-award-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; align-content: start; }
.bm-aw-photo { display: block; overflow: hidden; border-radius: 4px; aspect-ratio: 1; background: var(--color--light); }
.bm-aw-photo.is-lead { grid-column: span 4; aspect-ratio: 3 / 2; }
.bm-award-gallery.count-1 .bm-aw-photo.is-lead { aspect-ratio: auto; }
.bm-award-gallery.count-2 .bm-aw-photo { grid-column: span 2; aspect-ratio: 4 / 5; }
.bm-award-gallery.count-3 .bm-aw-photo:not(.is-lead) { grid-column: span 2; }
.bm-aw-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.bm-award-gallery.count-1 .bm-aw-photo img { height: auto; object-fit: contain; }
.bm-aw-photo:hover img { transform: scale(1.03); }
.bm-aw-photo:focus-visible { outline: 3px solid var(--color--darkest); outline-offset: 2px; }
.bm-lightbox { border: 0; padding: 0; background: transparent; max-width: 94vw; max-height: 92vh; }
.bm-lightbox::backdrop { background: rgba(30, 24, 19, .88); }
.bm-lightbox img { display: block; max-width: 94vw; max-height: 92vh; object-fit: contain; }
.bm-lightbox-close { position: fixed; top: 1rem; right: 1rem; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--color--lightest); color: var(--color--darkest); font-size: 28px; line-height: 1; cursor: pointer; }
@media screen and (max-width: 991px) {
  .bm-award { grid-template-columns: 1fr; gap: 1.5rem; padding: 2.5rem 0; }
  .bm-awards-head { margin-bottom: 2rem; }
}
@media screen and (max-width: 479px) {
  .bm-award-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bm-aw-photo.is-lead { grid-column: span 2; }
  .bm-award-gallery.count-2 .bm-aw-photo, .bm-award-gallery.count-3 .bm-aw-photo:not(.is-lead) { grid-column: span 1; }
}
@media screen and (min-width: 992px) {
  .bm-award-text { position: sticky; top: 8rem; align-self: start; }
}
