.bm-inner-page { padding-bottom: 0; }
.bm-inner-hero { position: relative; isolation: isolate; overflow: hidden; padding: 35px 0 61px; margin-bottom: 32px; background: linear-gradient(110deg, #e9f8ff, #cceeff); }
.bm-inner-hero-photo { position: absolute; z-index: -1; top: 0; right: 0; width: 46%; height: 100%; overflow: hidden; border-radius: 40% 0 0 50% / 100% 0 0 100%; }
.bm-inner-hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 65% center; }
.bm-inner-hero-copy > h1 { max-width: 57%; font-size: clamp(32px, 3.4vw, 52px); line-height: 1.12; }
.bm-inner-hero-copy > p:not(.bm-breadcrumb) { max-width: 52%; margin: 17px 0 0; line-height: 1.6; }
.bm-inner-hero-copy > .bm-button { margin-top: 23px; }
.bm-breadcrumb { font-size: 12px; margin-bottom: 24px; }
.bm-breadcrumb a { color: var(--bm-link); }
.bm-inner-hero-gallery_page .bm-inner-hero-copy { position: relative; padding-right: 270px; }
.bm-inner-hero-gallery_page .bm-inner-hero-copy > .bm-button { position: absolute; right: 0; top: 50%; margin: 0; transform: translateY(-10%); }
.bm-inner-hero > svg { position: absolute; left: 0; bottom: -1px; width: 100%; height: 35px; pointer-events: none; }
.bm-inner-hero-inner_blog .bm-inner-hero-photo, .bm-inner-hero-gallery_page .bm-inner-hero-photo { display: none; }
.bm-inner-hero-inner_blog .bm-inner-hero-copy > h1, .bm-inner-hero-gallery_page .bm-inner-hero-copy > h1 { max-width: 100%; }
.bm-inner-hero-inner_blog .bm-inner-hero-copy > p, .bm-inner-hero-gallery_page .bm-inner-hero-copy > p { max-width: 850px; }
.bm-inner-page .bm-contact-banner { margin-top: 54px; }
.bm-inner-extra { margin-top: 32px; margin-bottom: 35px; }
.bm-contact-layout { display: grid; grid-template-columns: .8fr 1.5fr; gap: 44px; align-items: start; }
.bm-contact-info { min-width: 0; padding: 15px 0; }
.bm-contact-info h2 { margin-bottom: 30px; }
.bm-contact-info .bm-contact-lines { margin: 0; display: grid; gap: 24px; font-size: clamp(17px, 1.8vw, 26px); font-weight: 900; line-height: 1.4; }
.bm-contact-info .bm-contact-lines > a, .bm-contact-info .bm-contact-lines > p { display: flex; align-items: center; gap: 18px; margin: 0; }
.bm-contact-info .bm-contact-lines .bm-icon { width: 36px; height: 36px; margin: 0; }
.bm-contact-note { display: inline-block; margin: 25px 0 0 54px; padding: 7px 16px; border-radius: 22px; background: #e2f5ff; font-size: 12px; }
.bm-contact-form-card { border-radius: 28px; padding: 30px; background: linear-gradient(120deg, #e6f7ff, #d2efff); }
.bm-contact-form-card h2 { margin-bottom: 22px; }
.bm-form-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 15px 20px; }
.bm-contact-form label { display: grid; gap: 5px; font-size: 12px; font-weight: 700; }
.bm-contact-form input:not([type=checkbox]), .bm-contact-form textarea { width: 100%; min-width: 0; padding: 11px 13px; border: 1px solid #b4cfdf; border-radius: 12px; background: #fff; color: var(--bm-ink); font-size: 15px; font-weight: 400; }
.bm-contact-form textarea { resize: vertical; min-height: 105px; }
.bm-field-wide { grid-column: 1 / -1; }
.bm-honeypot { display: none; }
.bm-form-bottom { display: flex; gap: 22px; justify-content: space-between; align-items: center; margin-top: 22px; }
.bm-contact-form .bm-consent { display: flex; align-items: flex-start; gap: 10px; max-width: 430px; font-weight: 400; font-size: 11px; line-height: 1.5; }
.bm-consent input { margin-top: 2px; flex-shrink: 0; width: 17px; height: 17px; }
.bm-consent a { color: var(--bm-link); text-decoration: underline; }
.bm-form-bottom > .bm-button { flex-shrink: 0; }
.bm-form-message { padding: 14px 17px; border: 1px solid #a9d5eb; border-radius: 14px; background: #fff; font-size: 14px; }
.bm-map-card { position: relative; isolation: isolate; overflow: hidden; margin-top: 35px; padding: 27px 35px; border-radius: 28px; background: #e6f7ff; }
.bm-map-art { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; }
.bm-map-card::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, #e6f7ff 0, #e6f7fff5 25%, #e6f7ff00 65%); }
.bm-map-copy h2 { font-size: 34px; }
.bm-map-copy p { margin: 10px 0 16px; font-weight: 700; }
.bm-map-copy .bm-button { min-height: 38px; padding: 9px 20px; font-size: 13px; }
.bm-contact-faq { margin-top: 35px; }
.bm-contact-faq > h2 { font-size: 31px; margin-bottom: 21px; }
.bm-contact-faq-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; align-items: start; }
.bm-contact-faq details { padding: 16px 19px; border: 1px solid #c2e4fa; border-radius: 18px; }
.bm-contact-faq summary { font-size: 14px; font-weight: 700; }
.bm-contact-faq details p { margin: 14px 0 0; font-size: 13px; }
.bm-blog-tools { display: flex; justify-content: space-between; gap: 22px; align-items: center; margin-bottom: 30px; }
.bm-blog-categories, .bm-gallery-filters { display: flex; flex-wrap: wrap; gap: 12px; }
.bm-blog-categories a, .bm-gallery-filters button { padding: 8px 20px; border: 1px solid transparent; border-radius: 999px; background: #e9f6fe; font-size: 13px; font-weight: 700; color: var(--bm-navy); }
.bm-blog-categories .bm-category-1 { background: #fff0df; }
.bm-blog-categories .bm-category-2 { background: #f0eafd; }
.bm-blog-categories .is-current, .bm-gallery-filters .is-current { background: #0599eb; color: #fff; border-color: #0599eb; }
.bm-blog-search { position: relative; flex: 0 0 250px; }
.bm-blog-search input { width: 100%; min-height: 40px; border: 1px solid #b9d9ed; border-radius: 30px; padding: 9px 40px 9px 17px; font-size: 13px; }
.bm-blog-search button { position: absolute; right: 5px; top: 3px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: transparent; font-size: 25px; color: var(--bm-link); }
.bm-blog-feature { display: grid; grid-template-columns: 1.5fr .9fr; overflow: hidden; border: 1px solid #d8ebf7; border-radius: 27px; box-shadow: 0 5px 13px #1874aa0a; margin-bottom: 28px; }
.bm-blog-feature-photo { position: relative; min-height: clamp(300px, 29vw, 440px); overflow: hidden; background: #eff8fd; }
.bm-blog-feature-photo img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.bm-blog-feature-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 35px; }
.bm-blog-feature-copy h2 { font-size: clamp(27px, 2.6vw, 39px); color: var(--bm-ink); line-height: 1.15; margin-bottom: 17px; }
.bm-blog-feature-copy p { font-size: 15px; line-height: 1.65; }
.bm-blog-feature-copy .bm-read-more { margin-top: 9px; }
.bm-blog-pagination { display: flex; justify-content: center; gap: 10px; margin-top: 30px; }
.bm-blog-pagination .page-numbers { display: grid; place-items: center; min-width: 39px; height: 39px; border-radius: 50%; background: #f0f7fb; color: var(--bm-navy); font-weight: 700; }
.bm-blog-pagination .current { background: #0599eb; color: #fff; }
.bm-gallery-filters { display: none; justify-content: center; margin: 0 0 30px; }
.bm-has-js .bm-gallery-filters { display: flex; }
.bm-gallery-filters button { border-color: #acd6ee; background: #f5fbff; }
.bm-gallery-filters .is-current { background: #0599eb; }
.bm-gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 220px; grid-auto-flow: dense; gap: 17px; }
.bm-gallery-item { position: relative; display: block; overflow: hidden; border-radius: 23px; background: #e8f6fd; }
.bm-gallery-item[hidden] { display: none; }
.bm-gallery-item.is-featured { grid-column: span 2; grid-row: span 2; }
.bm-gallery-item.is-wide { grid-column: span 2; }
.bm-gallery-item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.bm-gallery-item:hover img { transform: scale(1.025); }
.bm-gallery-caption { position: absolute; left: 13px; bottom: 13px; max-width: calc(100% - 26px); padding: 5px 11px; border-radius: 12px; background: #183348a8; color: #fff; font-size: 12px; font-weight: 700; }
.bm-gallery-expand { position: absolute; display: grid; place-items: center; right: 13px; top: 13px; width: 32px; height: 32px; border-radius: 50%; background: #fff; color: #078cda; font-size: 23px; }
.bm-gallery-more { display: flex; margin: 25px auto 0; }
.bm-gallery-more[hidden] { display: none; }
.bm-lightbox { width: min(1200px, calc(100% - 40px)); max-height: calc(100vh - 30px); border: 0; border-radius: 22px; padding: 15px; background: #fff; color: var(--bm-ink); }
.bm-lightbox::backdrop { background: #071b35db; }
.bm-lightbox-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; font-weight: 700; padding: 0 5px 12px; }
.bm-lightbox button { width: 43px; height: 43px; flex-shrink: 0; border: 0; border-radius: 50%; background: #e6f6ff; color: var(--bm-navy); font-size: 30px; line-height: 1; }
.bm-lightbox-stage { display: flex; gap: 12px; align-items: center; justify-content: space-between; }
.bm-lightbox-stage img { min-width: 0; max-width: calc(100% - 110px); max-height: 73vh; object-fit: contain; border-radius: 12px; }
.bm-lightbox-counter { text-align: center; margin: 10px 0 0; font-size: 12px; }
.bm-safety-layout { display: grid; grid-template-columns: 240px 1fr; gap: 25px; align-items: start; }
.bm-safety-nav { position: sticky; top: 25px; padding: 25px 23px; border-radius: 27px; background: #ebf8ff; }
.bm-safety-nav h2 { font-size: 25px; margin-bottom: 17px; }
.bm-safety-nav a { display: block; padding: 8px 0; font-size: 13px; color: var(--bm-navy); }
.bm-safety-nav a:hover { text-decoration: underline; }
.bm-safety-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; margin-bottom: 23px; }
.bm-safety-steps article { display: flex; gap: 13px; padding: 23px 19px; border-radius: 23px; background: #ebf8ff; }
.bm-safety-number { display: grid; place-items: center; align-self: flex-start; width: 35px; height: 35px; flex-shrink: 0; border-radius: 50%; background: #bee8ff; color: #098edb; font-size: 22px; font-weight: 900; }
.bm-safety-steps .bm-icon { width: 32px; height: 32px; margin-bottom: 10px; }
.bm-safety-steps h2 { font-size: 20px; color: var(--bm-ink); margin-bottom: 8px; }
.bm-safety-steps p { margin: 0; font-size: 12px; line-height: 1.6; }
.bm-safety-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; align-items: start; }
.bm-safety-grid details { border: 1px solid #c7e5f7; border-radius: 21px; overflow: hidden; scroll-margin-top: 30px; background: #fff; box-shadow: 0 4px 8px #125f8d08; }
.bm-safety-grid summary { display: flex; align-items: center; gap: 13px; position: relative; padding: 19px 40px 19px 18px; font-size: 17px; font-weight: 900; line-height: 1.3; list-style: none; }
.bm-safety-grid summary::-webkit-details-marker { display: none; }
.bm-safety-grid summary::after { content: '+'; position: absolute; right: 17px; font-size: 21px; color: var(--bm-link); }
.bm-safety-grid details[open] summary::after { content: '−'; }
.bm-safety-grid details > div { padding: 0 20px 4px; font-size: 14px; line-height: 1.75; }
.bm-documents { display: grid; grid-template-columns: .7fr 2fr; gap: 30px; padding: 28px 35px; background: #e7f7ff; border-radius: 29px; margin-top: 35px; align-items: center; }
.bm-documents > h2 { font-size: 34px; }
.bm-documents > div { padding: 5px 22px; border-radius: 20px; background: #fff; }
.bm-document-row { display: flex; align-items: center; gap: 16px; padding: 18px 0; font-size: 15px; font-weight: 700; }
.bm-document-row + .bm-document-row { border-top: 1px solid #cfe5f3; }
.bm-document-row > a { margin-left: auto; font-size: 13px; color: var(--bm-link); white-space: nowrap; }
.bm-safety-contact { display: grid; grid-template-columns: 1.5fr 1fr; gap: 30px; align-items: center; margin-top: 35px; margin-bottom: 35px; padding: 35px; border-radius: 30px; background: linear-gradient(120deg, #eaf8ff, #d6f1ff); }
.bm-safety-contact h2 { font-size: 35px; margin-bottom: 12px; }
.bm-safety-contact p { margin: 0; font-size: 14px; }
.bm-safety-contact > div + div { padding-left: 30px; border-left: 1px solid #a5d8f5; }
.bm-safety-phone { display: flex; align-items: center; gap: 12px; font-size: 35px; color: var(--bm-navy); font-weight: 900; margin-bottom: 15px; }
@media (max-width: 1100px) {
    .bm-contact-layout { gap: 27px; grid-template-columns: .8fr 1.3fr; }
    .bm-contact-form-card { padding: 24px; }
    .bm-form-bottom { align-items: flex-start; flex-direction: column; gap: 15px; }
    .bm-blog-tools { flex-wrap: wrap; }
    .bm-blog-search { flex-basis: 270px; }
    .bm-safety-layout { grid-template-columns: 190px 1fr; gap: 20px; }
    .bm-safety-nav { padding: 20px 17px; }
    .bm-safety-steps article { padding: 18px 13px; gap: 9px; }
    .bm-safety-number { width: 28px; height: 28px; font-size: 18px; }
    .bm-safety-steps h2 { font-size: 17px; }
    .bm-safety-grid summary { font-size: 15px; }
    .bm-gallery-grid { grid-auto-rows: 180px; }
}
@media (max-width: 700px) {
    .bm-inner-hero { padding: 25px 0 45px; margin-bottom: 22px; }
    .bm-inner-hero-photo { width: 100%; opacity: .12; border-radius: 0; }
    .bm-inner-hero-copy > h1 { max-width: 100%; font-size: 34px; }
    .bm-inner-hero-copy > p:not(.bm-breadcrumb) { max-width: 100%; margin-top: 13px; font-size: 14px; }
    .bm-breadcrumb { margin-bottom: 17px; font-size: 11px; }
    .bm-inner-hero-copy > .bm-button { min-height: 39px; padding: 10px 18px; font-size: 12px; }
    .bm-inner-hero-gallery_page .bm-inner-hero-copy { padding-right: 0; }
    .bm-inner-hero-gallery_page .bm-inner-hero-copy > .bm-button { position: static; transform: none; margin-top: 18px; }
    .bm-contact-layout { grid-template-columns: 1fr; gap: 25px; }
    .bm-contact-info { padding: 0; }
    .bm-contact-info h2 { margin-bottom: 22px; }
    .bm-contact-info .bm-contact-lines { font-size: 21px; gap: 19px; }
    .bm-contact-info .bm-contact-lines .bm-icon { width: 29px; height: 29px; }
    .bm-contact-note { margin: 19px 0 0 47px; font-size: 11px; }
    .bm-contact-form-card { padding: 23px 19px; border-radius: 23px; }
    .bm-form-fields { gap: 13px; grid-template-columns: 1fr; }
    .bm-field-wide { grid-column: auto; }
    .bm-contact-form label { font-size: 12px; }
    .bm-form-bottom { align-items: stretch; }
    .bm-form-bottom > .bm-button { align-self: flex-end; font-size: 13px; }
    .bm-map-card { padding: 24px; margin-top: 25px; }
    .bm-map-copy h2 { font-size: 29px; }
    .bm-map-copy p { font-size: 14px; }
    .bm-map-card::before { background: linear-gradient(90deg, #e6f7fff5, #e6f7ffbf 50%, #e6f7ff00); }
    .bm-contact-faq > h2 { font-size: 27px; }
    .bm-contact-faq-grid { grid-template-columns: 1fr; gap: 13px; }
    .bm-blog-tools { gap: 18px; margin-bottom: 23px; }
    .bm-blog-categories { gap: 8px; }
    .bm-blog-categories a { padding: 7px 14px; font-size: 11px; }
    .bm-blog-search { flex: 1 0 100%; }
    .bm-blog-feature { grid-template-columns: 1fr; border-radius: 22px; margin-bottom: 22px; }
    .bm-blog-feature-photo { min-height: 0; aspect-ratio: 1.6; }
    .bm-blog-feature-copy { padding: 23px; }
    .bm-blog-feature-copy h2 { font-size: 29px; }
    .bm-blog-feature-copy p { font-size: 14px; }
    .bm-gallery-filters { gap: 8px; margin-bottom: 22px; }
    .bm-gallery-filters button { padding: 7px 14px; font-size: 11px; }
    .bm-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 150px; gap: 11px; }
    .bm-gallery-item { border-radius: 17px; }
    .bm-gallery-item.is-featured { grid-column: span 2; grid-row: span 2; }
    .bm-gallery-item.is-wide { grid-column: span 2; }
    .bm-gallery-caption { font-size: 10px; left: 8px; bottom: 8px; padding: 4px 8px; }
    .bm-gallery-expand { right: 8px; top: 8px; width: 26px; height: 26px; font-size: 19px; }
    .bm-lightbox { width: calc(100% - 18px); padding: 10px; border-radius: 16px; }
    .bm-lightbox-stage { gap: 5px; }
    .bm-lightbox button { width: 32px; height: 32px; font-size: 25px; }
    .bm-lightbox-stage img { max-width: calc(100% - 74px); max-height: 70vh; }
    .bm-lightbox-toolbar { font-size: 12px; gap: 12px; }
    .bm-safety-layout { grid-template-columns: 1fr; }
    .bm-safety-nav { position: static; padding: 20px; }
    .bm-safety-nav h2 { font-size: 24px; }
    .bm-safety-nav a { padding: 6px 0; font-size: 13px; }
    .bm-safety-steps { grid-template-columns: 1fr; gap: 12px; }
    .bm-safety-steps article { padding: 20px; gap: 15px; }
    .bm-safety-steps h2 { font-size: 22px; }
    .bm-safety-steps p { font-size: 13px; }
    .bm-safety-grid { grid-template-columns: 1fr; gap: 13px; }
    .bm-safety-grid summary { font-size: 17px; }
    .bm-documents { grid-template-columns: 1fr; padding: 24px 20px; gap: 21px; margin-top: 25px; }
    .bm-documents > h2 { font-size: 29px; }
    .bm-documents > div { padding: 3px 14px; }
    .bm-document-row { gap: 10px; flex-wrap: wrap; font-size: 13px; }
    .bm-document-row > a { padding-left: 38px; margin-left: 0; flex-basis: 100%; font-size: 12px; }
    .bm-safety-contact { grid-template-columns: 1fr; padding: 25px; gap: 22px; margin-top: 25px; }
    .bm-safety-contact h2 { font-size: 29px; }
    .bm-safety-contact > div + div { border-left: 0; border-top: 1px solid #a5d8f5; padding-left: 0; padding-top: 20px; }
    .bm-safety-phone { font-size: 30px; }
}
@media (prefers-reduced-motion: reduce) { .bm-gallery-item img { transition: none; } }
