
/* --- wp-block-library --- */
:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
/*wp_block_styles_on_demand_placeholder:6aedf95698c9e*/


/* --- ai_summarization --- */
.ai-summarization-summary{--ai-summary-border-color:#1d2327;--ai-summary-background-color:rgba(29,35,39,.04);background-color:var(--ai-summary-background-color);border-left:4px solid var(--ai-summary-border-color);padding:1em 1.25em}.ai-summarization-summary>:last-child{margin-bottom:0}.ai-summarization-plugin-container .components-button.ai-summarization-plugin-button{justify-content:center;width:100%}.ai-summarization-plugin-container .description{color:#757575}.block-editor-block-popover .ai-summarization-block-controls-button{height:46px;margin-top:1px}


/* --- hello-elementor --- */
html{line-height:1.15;-webkit-text-size-adjust:100%}*,:after,:before{box-sizing:border-box}body{background-color:#fff;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1rem;font-weight:400;line-height:1.5;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}h1,h2,h3,h4,h5,h6{color:inherit;font-family:inherit;font-weight:500;line-height:1.2;margin-block-end:1rem;margin-block-start:.5rem}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-block-end:.9rem;margin-block-start:0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em;white-space:pre-wrap}a{background-color:transparent;color:#c36;text-decoration:none}a:active,a:hover{color:#336}a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}abbr[title]{border-block-end:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none;height:auto;max-width:100%}details{display:block}summary{display:list-item}figcaption{color:#333;font-size:16px;font-style:italic;font-weight:400;line-height:1.4}[hidden],template{display:none}@media print{*,:after,:before{background:transparent!important;box-shadow:none!important;color:#000!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre{white-space:pre-wrap!important}blockquote,pre{-moz-column-break-inside:avoid;border:1px solid #ccc;break-inside:avoid}thead{display:table-header-group}img,tr{-moz-column-break-inside:avoid;break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{-moz-column-break-after:avoid;break-after:avoid}}label{display:inline-block;line-height:1;vertical-align:middle}button,input,optgroup,select,textarea{font-family:inherit;font-size:1rem;line-height:1.5;margin:0}input[type=date],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],select,textarea{border:1px solid #666;border-radius:3px;padding:.5rem 1rem;transition:all .3s;width:100%}input[type=date]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,select:focus,textarea:focus{border-color:#333}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;width:auto}[type=button],[type=submit],button{background-color:transparent;border:1px solid #c36;border-radius:3px;color:#c36;display:inline-block;font-size:1rem;font-weight:400;padding:.5rem 1rem;text-align:center;transition:all .3s;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}[type=button]:focus,[type=button]:hover,[type=submit]:focus,[type=submit]:hover,button:focus,button:hover{background-color:#c36;color:#fff;text-decoration:none}[type=button]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto;resize:vertical}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}select{display:block}table{background-color:transparent;border-collapse:collapse;border-spacing:0;font-size:.9em;margin-block-end:15px;width:100%}table td,table th{border:1px solid hsla(0,0%,50%,.502);line-height:1.5;padding:15px;vertical-align:top}table th{font-weight:700}table tfoot th,table thead th{font-size:1em}table caption+thead tr:first-child td,table caption+thead tr:first-child th,table colgroup+thead tr:first-child td,table colgroup+thead tr:first-child th,table thead:first-child tr:first-child td,table thead:first-child tr:first-child th{border-block-start:1px solid hsla(0,0%,50%,.502)}table tbody>tr:nth-child(odd)>td,table tbody>tr:nth-child(odd)>th{background-color:hsla(0,0%,50%,.071)}table tbody tr:hover>td,table tbody tr:hover>th{background-color:hsla(0,0%,50%,.102)}table tbody+tbody{border-block-start:2px solid hsla(0,0%,50%,.502)}@media(max-width:767px){table table{font-size:.8em}table table td,table table th{line-height:1.3;padding:7px}table table th{font-weight:400}}dd,dl,dt,li,ol,ul{background:transparent;border:0;font-size:100%;margin-block-end:0;margin-block-start:0;outline:0;vertical-align:baseline}[tabindex]:not([tabindex="-1"]):not([contenteditable]):focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 4px #fff;outline:2px solid #000;outline-offset:2px}[tabindex]:not([tabindex="-1"]):not([contenteditable]):focus:not(:focus-visible),a:focus:not(:focus-visible),button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible){box-shadow:none;outline:none}


/* --- hello-elementor-theme-style --- */
.comments-area a,.page-content a{text-decoration:underline}.alignright{float:right;margin-left:1rem}.alignleft{float:left;margin-right:1rem}.aligncenter{clear:both;display:block;margin-inline:auto}.alignwide{margin-inline:-80px}.alignfull{margin-inline:calc(50% - 50vw);max-width:100vw;overflow-x:hidden;width:100vw}.alignfull img{width:100%}.wp-caption{margin-block-end:1.25rem;max-width:100%}.wp-caption.alignleft{margin:5px 20px 20px 0}.wp-caption.alignright{margin:5px 0 20px 20px}.wp-caption img{display:block;margin-inline:auto}.wp-caption-text{margin:0}.gallery-caption{display:block;font-size:.8125rem;line-height:1.5;margin:0;padding:.75rem}.pagination{display:flex;justify-content:space-between;margin:20px auto}.sticky{display:block;position:relative}.bypostauthor{font-size:inherit}.hide{display:none!important}.post-password-form{margin:50px auto;max-width:500px}.post-password-form p{align-items:flex-end;display:flex;width:100%}.post-password-form [type=submit]{margin-inline-start:3px}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#eee;clip:auto!important;clip-path:none;color:#333;display:block;font-size:1rem;height:auto;left:5px;line-height:normal;padding:12px 24px;text-decoration:none;top:5px;width:auto;z-index:100000}.post .entry-title a{text-decoration:none}.post .wp-post-image{max-height:500px;-o-object-fit:cover;object-fit:cover;width:100%}@media(max-width:991px){.post .wp-post-image{max-height:400px}}@media(max-width:575px){.post .wp-post-image{max-height:300px}}#comments .comment-list{font-size:.9em;list-style:none;margin:0;padding:0}#comments .comment,#comments .pingback{position:relative}#comments .comment .comment-body,#comments .pingback .comment-body{border-block-end:1px solid #ccc;display:flex;flex-direction:column;padding-block-end:30px;padding-block-start:30px;padding-inline-end:0;padding-inline-start:60px}#comments .comment .avatar,#comments .pingback .avatar{border-radius:50%;left:0;margin-inline-end:10px;position:absolute}body.rtl #comments .comment .avatar,body.rtl #comments .pingback .avatar,html[dir=rtl] #comments .comment .avatar,html[dir=rtl] #comments .pingback .avatar{left:auto;right:0}#comments .comment-meta{display:flex;justify-content:space-between;margin-block-end:.9rem}#comments .comment-metadata,#comments .reply{font-size:11px;line-height:1}#comments .children{list-style:none;margin:0;padding-inline-start:30px;position:relative}#comments .children li:last-child{padding-block-end:0}#comments ol.comment-list .children:before{content:"↪";display:inline-block;font-size:1em;font-weight:400;left:0;line-height:1;position:absolute;top:45px;width:auto}body.rtl #comments ol.comment-list .children:before,html[dir=rtl] #comments ol.comment-list .children:before{content:"↩";left:auto;right:0}@media(min-width:768px){#comments .comment-author,#comments .comment-metadata{line-height:1}}@media(max-width:767px){#comments .comment .comment-body{padding:30px 0}#comments .children{padding-inline-start:20px}#comments .comment .avatar{float:left;position:inherit}body.rtl #comments .comment .avatar,html[dir=rtl] #comments .comment .avatar{float:right}}.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{margin-inline-end:auto;margin-inline-start:auto;width:100%}@custom-media --hello-screen-xs-and-below (width < 576px);@custom-media --hello-screen-xs-and-above (width >= 576px);@custom-media --hello-screen-xs-only (0 <= width < 576px);@custom-media --hello-screen-sm-and-below (width < 768px);@custom-media --hello-screen-sm-and-above (width >= 768px);@custom-media --hello-screen-sm-only (576px <= width < 768px);@custom-media --hello-screen-md-and-below (width < 992px);@custom-media --hello-screen-md-and-above (width >= 992px);@custom-media --hello-screen-md-only (768px <= width < 992px);@custom-media --hello-screen-xl-and-below (width < 1200px);@custom-media --hello-screen-xl-and-above (width >= 1200px);@custom-media --hello-screen-xl-only (992px <= width < 1200px);@media(max-width:575px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{padding-inline-end:10px;padding-inline-start:10px}}@media(min-width:576px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{max-width:500px}.site-footer.footer-full-width .footer-inner,.site-header.header-full-width .header-inner{max-width:100%}}@media(min-width:768px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{max-width:600px}.site-footer.footer-full-width,.site-header.header-full-width{max-width:100%}}@media(min-width:992px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{max-width:800px}.site-footer.footer-full-width,.site-header.header-full-width{max-width:100%}}@media(min-width:1200px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{max-width:1140px}.site-footer.footer-full-width,.site-header.header-full-width{max-width:100%}}.site-header+.elementor{min-height:calc(100vh - 320px)}


/* --- hello-elementor-header-footer --- */
.site-header{display:flex;flex-wrap:wrap;justify-content:space-between;padding-block-end:1rem;padding-block-start:1rem;position:relative}.site-header .site-title{font-size:2.5rem;font-weight:500;line-height:1.2}.site-header .site-branding{display:flex;flex-direction:column;gap:.5rem;justify-content:center}.site-header .header-inner{display:flex;flex-wrap:wrap;justify-content:space-between}.site-header .header-inner .custom-logo-link{display:block}.site-header .header-inner .site-branding .site-description,.site-header .header-inner .site-branding .site-title{margin:0}.site-header .header-inner .site-branding .site-logo img{display:block}.site-header .header-inner .site-branding.show-logo .site-title,.site-header .header-inner .site-branding.show-title .site-logo{display:none!important}.site-header.header-inverted .header-inner{flex-direction:row-reverse}.site-header.header-inverted .header-inner .site-branding{text-align:end}.site-header.header-stacked .header-inner{align-items:center;flex-direction:column;text-align:center}.site-footer{padding-block-end:1rem;padding-block-start:1rem;position:relative}.site-footer .site-title{font-size:1.5rem;font-weight:500;line-height:1.2}.site-footer .site-branding{display:flex;flex-direction:column;gap:.5rem;justify-content:center}.site-footer .footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between}.site-footer .footer-inner .custom-logo-link{display:block}.site-footer .footer-inner .site-branding .site-description,.site-footer .footer-inner .site-branding .site-title{margin:0}.site-footer .footer-inner .site-branding .site-logo img{display:block}.site-footer .footer-inner .site-branding.show-logo .site-title,.site-footer .footer-inner .site-branding.show-title .site-logo{display:none!important}.site-footer .footer-inner .copyright{align-items:center;display:flex;justify-content:flex-end}.site-footer .footer-inner .copyright p{margin:0}.site-footer.footer-inverted .footer-inner{flex-direction:row-reverse}.site-footer.footer-inverted .footer-inner .site-branding{text-align:end}.site-footer.footer-stacked .footer-inner{align-items:center;flex-direction:column;text-align:center}.site-footer.footer-stacked .footer-inner .site-branding .site-title{text-align:center}.site-footer.footer-stacked .footer-inner .site-navigation .menu{padding:0}@media(max-width:576px){.site-footer:not(.footer-stacked) .footer-inner .copyright,.site-footer:not(.footer-stacked) .footer-inner .site-branding,.site-footer:not(.footer-stacked) .footer-inner .site-navigation{display:block;max-width:none;text-align:center;width:100%}.site-footer .footer-inner .site-navigation ul.menu{justify-content:center}.site-footer .footer-inner .site-navigation ul.menu li{display:inline-block}}.site-header.header-stacked .site-navigation-toggle-holder{justify-content:center;max-width:100%}.site-header.menu-layout-dropdown .site-navigation{display:none}.site-navigation-toggle-holder{align-items:center;display:flex;padding:8px 15px}.site-navigation-toggle-holder .site-navigation-toggle{align-items:center;background-color:rgba(0,0,0,.05);border:0 solid;border-radius:3px;color:#494c4f;cursor:pointer;display:flex;justify-content:center;padding:.5rem}.site-navigation-toggle-holder .site-navigation-toggle-icon{display:block;width:1.25rem}.site-navigation-toggle-holder .site-navigation-toggle-icon:after,.site-navigation-toggle-holder .site-navigation-toggle-icon:before{background-color:currentcolor;border-radius:3px;content:"";display:block;height:3px;transition:all .2s ease-in-out}.site-navigation-toggle-holder .site-navigation-toggle-icon:before{box-shadow:0 .35rem 0 currentcolor;margin-block-end:.5rem}.site-navigation-toggle-holder .site-navigation-toggle[aria-expanded=true] .site-navigation-toggle-icon:before{box-shadow:none;transform:translateY(.35rem) rotate(45deg)}.site-navigation-toggle-holder .site-navigation-toggle[aria-expanded=true] .site-navigation-toggle-icon:after{transform:translateY(-.35rem) rotate(-45deg)}.site-navigation{align-items:center;display:flex}.site-navigation ul.menu,.site-navigation ul.menu ul{list-style-type:none;padding:0}.site-navigation ul.menu{display:flex;flex-wrap:wrap}.site-navigation ul.menu li{display:flex;position:relative}.site-navigation ul.menu li a{display:block;padding:8px 15px}.site-navigation ul.menu li ul a{color:#333}.site-navigation ul.menu li ul a:focus,.site-navigation ul.menu li ul a:hover{color:#222}.site-navigation ul.menu li.menu-item-has-children{padding-inline-end:15px}.site-navigation ul.menu li.menu-item-has-children:after{align-items:center;color:#666;content:"▾";display:flex;font-size:1.5em;justify-content:center;text-decoration:none}.site-navigation ul.menu li.menu-item-has-children:focus-within>ul{display:block}.site-navigation ul.menu li ul{background:#fff;display:none;inset-block-start:100%;inset-inline-start:0;max-width:calc(100vw - 2rem);min-width:150px;position:absolute;z-index:2}.site-navigation ul.menu li ul li{border-block-end:1px solid #eee}.site-navigation ul.menu li ul li:last-child{border-block-end:none}.site-navigation ul.menu li ul li.menu-item-has-children a{flex-grow:1}.site-navigation ul.menu li ul li.menu-item-has-children:after{transform:translateY(-50%) rotate(-90deg)}.site-navigation ul.menu li ul ul{inset-block-start:0;inset-inline-start:100%}.site-navigation ul.menu li:last-child>ul,.site-navigation ul.menu li:nth-last-child(2)>ul{inset-inline-end:0;inset-inline-start:auto}.site-navigation ul.menu li:hover>ul{display:block}footer .site-navigation ul.menu li ul{bottom:100%;top:auto}footer .site-navigation ul.menu li ul ul{bottom:0}footer .site-navigation ul.menu a{padding:5px 15px}.site-navigation-dropdown{bottom:0;left:0;margin-block-start:10px;position:absolute;transform-origin:top;transition:max-height .3s,transform .3s;width:100%;z-index:10000}.site-navigation-toggle-holder:not(.elementor-active)+.site-navigation-dropdown{max-height:0;transform:scaleY(0)}.site-navigation-toggle-holder.elementor-active+.site-navigation-dropdown{max-height:100vh;transform:scaleY(1)}.site-navigation-dropdown ul{padding:0}.site-navigation-dropdown ul.menu{background:#fff;margin:0;padding:0;position:absolute;width:100%}.site-navigation-dropdown ul.menu li{display:block;position:relative;width:100%}.site-navigation-dropdown ul.menu li a{background:#fff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.102);color:#55595c;display:block;padding:20px}.site-navigation-dropdown ul.menu li.current-menu-item a{background:#55595c;color:#fff}.site-navigation-dropdown ul.menu>li li{max-height:0;transform:scaleY(0);transform-origin:top;transition:max-height .3s,transform .3s}.site-navigation-dropdown ul.menu li.elementor-active>ul>li{max-height:100vh;transform:scaleY(1)}@media(max-width:576px){.site-header.menu-dropdown-mobile:not(.menu-layout-dropdown) .site-navigation{display:none!important}}@media(min-width:768px){.site-header.menu-dropdown-mobile:not(.menu-layout-dropdown) .site-navigation-toggle-holder{display:none!important}}@media(min-width:576px)and (max-width:767px){.site-header.menu-dropdown-mobile:not(.menu-layout-dropdown) .site-navigation{display:none!important}}@media(min-width:992px){.site-header.menu-dropdown-tablet:not(.menu-layout-dropdown) .site-navigation-toggle-holder{display:none!important}}@media(max-width:992px){.site-header.menu-dropdown-tablet:not(.menu-layout-dropdown) .site-navigation{display:none!important}}.site-header.menu-dropdown-none:not(.menu-layout-dropdown) .site-navigation-toggle-holder{display:none!important}


/* --- hello-elementor-child-style --- */
/*
Theme Name: Hello Elementor Child
Theme URI: https://bmmechanical.nyc/
Description: Child theme for B&M Mechanical SEO Proof of Work System.
Author: B&M Mechanical
Author URI: https://bmmechanical.nyc/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
*/

/* ==========================================================================
   Image lightbox (WordPress core, block editor "Expand on click")
   Core ships a white scrim at .9 opacity. Replace with a dark, translucent,
   blurred backdrop so the graphic being zoomed is the only thing in focus.
   ========================================================================== */

/* Core renders the scrim as <div class="scrim" style="background-color:#fff">.
   An inline style outranks any selector, so !important is the only lever here —
   it is not laziness, there is no higher-specificity alternative. */
.wp-lightbox-overlay.wp-lightbox-overlay .scrim {
	background-color: rgba(0, 0, 0, 0.5) !important;
	-webkit-backdrop-filter: blur(14px) saturate(115%);
	backdrop-filter: blur(14px) saturate(115%);
}

/* Core animates the scrim's opacity on open/close; keep that intact but make
   the resting state fully apply our colour rather than core's .9. */
.wp-lightbox-overlay.wp-lightbox-overlay.zoom.active .scrim,
.wp-lightbox-overlay.wp-lightbox-overlay:not(.zoom) .scrim {
	opacity: 1;
}

/* Controls sit above a dark backdrop now, so force them light. Core's own
   rules use :not(:hover):not(:active), hence the specificity here. */
.wp-lightbox-overlay.wp-lightbox-overlay .wp-lightbox-close-button,
.wp-lightbox-overlay.wp-lightbox-overlay .wp-lightbox-navigation-button-next,
.wp-lightbox-overlay.wp-lightbox-overlay .wp-lightbox-navigation-button-prev {
	color: #E9EFF3;
}

.wp-lightbox-overlay .wp-lightbox-close-button:hover,
.wp-lightbox-overlay .wp-lightbox-navigation-button-next:hover,
.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:hover {
	color: #6FD3A2;
}

/* Give the zoomed image a little separation from the blurred backdrop. */
.wp-lightbox-overlay .lightbox-image-container figure img {
	border-radius: 4px;
	box-shadow: 0 24px 64px -16px rgba(0, 0, 0, 0.75);
}

@media (prefers-reduced-motion: reduce) {
	.wp-lightbox-overlay.wp-lightbox-overlay .scrim {
		-webkit-backdrop-filter: blur(14px);
		backdrop-filter: blur(14px);
	}
}

/* ==========================================================================
   Hotspot markers (Completed Jobs Map)
   The three client logos are served as external <img> instead of 257 KB of
   inline SVG. Elementor only sizes `svg` inside these wrappers, so mirror the
   same rule for images or the marker collapses to zero width.
   ========================================================================== */

.e-hotspot__icon img,
.e-hotspot__label img {
	height: var(--hotspot-size, 18px);
	width: auto;
	max-width: none;
}

/* ==========================================================================
   Accessibility: contrast and touch-target fixes
   Values computed against WCAG AA (4.5:1 for normal text, 24x24px targets).
   ========================================================================== */

/* Ribbon badge: #eeeeee on #d54500 measured 3.87:1. Deepening the same hue to
   #bf3e00 reaches 4.64:1 — still reads as the brand red. */
.elementor-ribbon .elementor-ribbon-inner,
.elementor-ribbon-inner {
	background-color: #bf3e00;
}

/* Form submit button: #ffffff on the accent #ce8a61 measured 2.83:1. Rather than
   muddy the brand accent, keep the colour and darken the label — #1a1a1a on
   #ce8a61 is 6.16:1, comfortably past AA. */
.elementor-field-group .elementor-button,
.elementor-field-group .elementor-button .elementor-button-text,
.elementor-field-type-submit .elementor-button,
.elementor-field-type-submit .elementor-button .elementor-button-text {
	color: #1a1a1a;
}

/* Click-to-call links measured 83x19px; WCAG wants 24x24 minimum with spacing.
   inline-block + vertical padding grows the hit area without changing the text. */
a.bmm-tel {
	display: inline-block;
	padding-block: 4px;
	padding-inline: 2px;
	margin-inline: -2px;
}

/* ==========================================================================
   Homepage hero stat cards (17 Sep 2026)
   Four cards across since the 700+ clients card was added. Two subtitles wrap
   at that width, so let each widget fill its column and keep all four card
   bottoms level.
   ========================================================================== */
.elementor-65 .elementor-element-1de89b8 > .e-con > .elementor-widget-bm-stat-card {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}
.elementor-65 .elementor-element-1de89b8 > .e-con > .elementor-widget-bm-stat-card > .elementor-widget-container,
.elementor-65 .elementor-element-1de89b8 > .e-con > .elementor-widget-bm-stat-card .bm-stat-card {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 100%;
}


/* --- bmm-pages --- */
/* ==========================================================================
   B&M Mechanical — canvas styles for pages built without Elementor
   A carbon copy of the live homepage's Elementor layout, measured from the
   rendered page at 1280px on 17 Sep 2026 (computed styles, not eyeballed).
   Loaded only on template-bmm-page.php pages, bmm_project singles and
   sector archives. Every value below has a counterpart on the live page.
   ========================================================================== */

@font-face {
	font-family: "RubikOn";
	font-style: normal;
	font-weight: 300 900;
	font-display: swap;
	src: url("/wp-content/uploads/2026/02/Rubik-Variable.woff2") format("woff2");
}

:root {
	--bmm-font: "RubikOn", "Rubik", "Segoe UI", system-ui, sans-serif;
	--bmm-off: #EEEEEE;            /* kit colour 6c65f35 "Text-off white" */
	--bmm-sub: #B3B3B3;            /* kit colour b4bae82 */
	--bmm-ink: #252525;            /* kit text colour */
	--bmm-primary: #7D0101;        /* kit primary */
	--bmm-accent: #CE8A61;         /* kit accent */
	--bmm-blue: #0079D5;
	--bmm-wrap: 1140px;            /* kit container width */
	--bmm-ribbon: url("/wp-content/uploads/2025/11/ribbon-METAL-original.png");
	--bmm-ribbon-sharp: url("/wp-content/uploads/2025/11/ribbon-METAL-original_upscayl_2x_ultrasharp-4x-1024x277.png");
	--bmm-ribbon-mix: url("/wp-content/uploads/2025/11/ribbon-METAL-original_upscayl_2x_ultramix-balanced-4x-1024x277.png");
	--bmm-items: url("/wp-content/uploads/2026/02/3d-HVAC-items.jpg");
}

/* ---- ground: kit body + the fixed rooftop layer every section scrolls over */
body.bmm-canvas {
	margin: 0;
	background-color: #000;
	background-image: radial-gradient(rgba(0, 0, 0, 0.5) 0%, #000 100%), url("/wp-content/uploads/2026/08/bmm-hero-nyc-rooftop-wide.jpg");
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
	color: var(--bmm-off);
	font-family: var(--bmm-font);
	font-size: 16px;
	font-weight: 300;
	letter-spacing: 0.4px;
	line-height: 1.5;
}
.bmm-canvas .site-main.bmm-canvas-main { max-width: none; width: 100%; padding: 0; margin: 0; position: relative; }
.bmm-canvas h1, .bmm-canvas h2, .bmm-canvas h3, .bmm-canvas h4 { font-family: var(--bmm-font); color: var(--bmm-off); margin: 0; }
.bmm-text a, .bmm-hero__door a, .bmm-kicker a, .bmm-empty a, .bmm-projects__desc a, .bmm-sector__body a, .bmm-project__link, .bmm-side a, .bmm-panel__body a { color: var(--bmm-accent); }
.bmm-canvas a:focus-visible, .bmm-canvas button:focus-visible { outline: 3px solid var(--bmm-accent); outline-offset: 3px; }
.bmm-canvas * { box-sizing: border-box; }

/* The rooftop photo is a fixed *background* on body, like the live Elementor section, not a
   position:fixed element: Chromium's backdrop-filter cannot sample a fixed layer, so the glass
   blur only renders this way. iOS ignores background-attachment:fixed, so it keeps the fixed
   element instead; Safari samples that one fine. */
.bmm-backdrop { display: none; }
@media (max-width: 767px) {
	body.bmm-canvas { background-image: radial-gradient(rgba(0, 0, 0, 0.5) 0%, #000 100%), url("/wp-content/uploads/2026/08/bmm-hero-nyc-rooftop-portrait.jpg"); }
}
@supports (-webkit-touch-callout: none) {
	body.bmm-canvas { background-image: none; }
	.bmm-backdrop { display: block; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; z-index: -1; background: url("/wp-content/uploads/2026/08/bmm-hero-nyc-rooftop-wide.jpg") center center / cover no-repeat; }
	.bmm-backdrop::before { content: ""; position: absolute; inset: 0; background: radial-gradient(rgba(0, 0, 0, 0.5) 0%, #000 100%); }
	@media (max-width: 767px) {
		.bmm-backdrop { background-image: url("/wp-content/uploads/2026/08/bmm-hero-nyc-rooftop-portrait.jpg"); }
	}
}

/* ---- top-level sections (Elementor boxed containers, min-height 100vh) --- */
.bmm-sec { position: relative; display: flex; flex-direction: column; width: 100%; min-height: 100vh; }
.bmm-sec__inner { width: 100%; max-width: var(--bmm-wrap); margin: 0 auto; display: flex; flex-direction: column; }
.bmm-sec--hero { z-index: 1; }
.bmm-sec--hero .bmm-sec__inner { padding-top: max(20px, calc((100vh - 516px) / 2 - 100px)); }
.bmm-sec--services { z-index: 33; }
.bmm-sec--services .bmm-sec__inner { padding: 60px 0 100px; gap: 20px; justify-content: center; align-items: center; }
.bmm-sec--about { z-index: 60; }
.bmm-sec--about .bmm-sec__inner { padding: 200px 0 100px; gap: 20px; justify-content: center; }
.bmm-sec--contact { z-index: 100; }
.bmm-sec--contact .bmm-sec__inner { padding: 40px 0 100px; flex: 1 1 auto; justify-content: center; }
.bmm-sec--auto { min-height: 0; }
@media (max-width: 1180px) { .bmm-sec__inner { padding-left: 16px; padding-right: 16px; } }
@media (max-width: 767px) {
	.bmm-sec--services .bmm-sec__inner { padding: 0; }
	.bmm-sec--hero .bmm-sec__inner { padding-top: 0; }
}

/* generic column block: the "7176f9a" pattern (column, gap 20, 200px below) */
.bmm-block { display: flex; flex-direction: column; justify-content: center; gap: 20px; width: 100%; padding: 20px 0 0; margin: 0 0 200px; position: relative; z-index: 99; }
.bmm-block--tight { margin-bottom: 0; }
.bmm-col { display: flex; flex-direction: column; gap: 20px; width: 100%; padding: 10px; position: relative; }

/* ---- type ------------------------------------------------------------- */
.bmm-kicker { font-size: 16px; font-weight: 500; line-height: 16px; letter-spacing: 0.3px; color: var(--bmm-off); }
.bmm-h1 { font-size: 56px; font-weight: 700; line-height: 56px; letter-spacing: 0.3px; color: var(--bmm-off); }
.bmm-h2 { font-size: 56px; font-weight: 800; line-height: 56px; letter-spacing: 0; color: var(--bmm-off); }
.bmm-h2--about { font-weight: 600; letter-spacing: 0.2px; }
.bmm-lead { font-size: 19.2px; font-weight: 500; line-height: 1.6em; letter-spacing: 0.3px; color: var(--bmm-off); }
.bmm-text { font-family: var(--bmm-font); font-size: 16px; font-weight: 400; line-height: 24px; letter-spacing: 0.4px; color: var(--bmm-off); }
.bmm-text p { margin: 0 0 14.4px; }
.bmm-text ul { margin: 0 0 14.4px; padding-left: 1.2em; }
.bmm-text strong, .bmm-text b { font-weight: 600; }
.bmm-text--lg { font-size: 19.2px; line-height: 28.8px; letter-spacing: 0.2px; }
.bmm-text--md { font-size: 17.6px; line-height: 26.4px; letter-spacing: 0.2px; }
@media (max-width: 767px) {
	.bmm-h1 { font-size: 22.4px; line-height: 22.4px; }
	.bmm-h2 { font-size: 32px; line-height: 32px; }
	.bmm-h2--about { font-size: 28.8px; line-height: 28.8px; }
	.bmm-lead { font-size: 16px; }
}

/* ---- ribbon tag (the small silver label: "exclusive services") --------- */
.bmm-tag {
	position: relative; isolation: isolate;
	display: flex; flex-direction: column; justify-content: center;
	width: var(--w, max-content); max-width: 100%;
	padding: 0 100px; margin: 0;
	background: rgba(255, 96, 96, 0.22) var(--bmm-ribbon-sharp) center center / cover no-repeat;
	border: 2px solid #272727; border-radius: 5px;
	box-shadow: 0 4px 5px 1px rgba(0, 0, 0, 0.3);
}
.bmm-tag::before { content: ""; position: absolute; inset: 0; z-index: -1; background: #fff; opacity: 0.1; border-radius: inherit; }
.bmm-tag > span {
	display: block; padding: 10px 0;
	font-size: 16px; font-weight: 800; line-height: 16px; letter-spacing: 0.4px;
	color: #141414; text-transform: uppercase; white-space: nowrap;
	text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.49);
}
.bmm-tag--mb { margin-bottom: 20px; }
.bmm-tag--center { margin-inline: auto; }
.bmm-tag--center > span { text-align: center; }
.bmm-tag--wide { width: 100%; }
.bmm-tag--full { width: 100%; padding: 0; }
.bmm-tag--full > span { text-align: center; }
@media (max-width: 767px) { .bmm-tag { width: 100%; padding: 0; } .bmm-tag > span { white-space: normal; } }

/* ---- ribbon band (the pill: hero badges, tile labels, "if it heats…") -- */
.bmm-band {
	position: relative; isolation: isolate;
	display: flex; flex-direction: column; justify-content: center;
	background: rgba(255, 96, 96, 0.22) var(--bmm-ribbon) 50% 100% / cover no-repeat;
	border: 2px solid #272727; border-radius: 30px;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.75);
	text-decoration: none;
}
.bmm-band::before { content: ""; position: absolute; inset: 0; z-index: -1; background: #fff; opacity: 0.2; border-radius: inherit; }
.bmm-band--badge::before { opacity: 0.31; }
.bmm-band--soft { box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5); }
.bmm-band > span {
	display: block; padding: 10px 0; text-align: center;
	font-size: 16px; font-weight: 700; line-height: 24px; letter-spacing: 0;
	color: #000; text-transform: uppercase;
	text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.49);
}
.bmm-band--lg > span { font-size: 24px; font-weight: 800; line-height: 24px; letter-spacing: 0.4px; }
.bmm-band--heavy > span { font-weight: 900; line-height: 28px; }
.bmm-band--xl > span { font-size: 30.4px; font-weight: 800; line-height: 24px; letter-spacing: 1px; }
.bmm-band--texture { background-image: url("/wp-content/uploads/2025/11/metallic-texture.png"); background-position: 50% 0; }
.bmm-band--texture::before { content: none; }
.bmm-band--mix { background-image: var(--bmm-ribbon-mix); }
a.bmm-band:hover::before { background: var(--bmm-primary); opacity: 0.35; }

/* ---- hero -------------------------------------------------------------- */
.bmm-hero { display: flex; flex-direction: column; gap: 40px; width: 100%; padding: 10px; position: relative; z-index: 99; }
.bmm-hero__head { display: flex; flex-direction: column; gap: 20px; padding: 10px; }
.bmm-hero__badges { display: flex; justify-content: space-between; gap: 20px; padding: 0 10px; }
.bmm-hero__badges .bmm-band { flex: 1 1 0; }
.bmm-emerg {
	display: flex; justify-content: space-evenly; align-items: center; gap: 20px;
	flex: 0 0 29.831%;
	background: rgba(255, 96, 96, 0.31);
	border: 1px solid #630000; border-radius: 30px;
	box-shadow: 0 0 15px 10px rgba(20, 0, 0, 0.75);
	text-decoration: none;
}
.bmm-emerg:hover { background: rgba(255, 96, 96, 0.42); }
.bmm-emerg__t { padding: 10px 0; font-size: 12.8px; font-weight: 500; line-height: 26px; letter-spacing: 1.2px; color: var(--bmm-off); text-transform: uppercase; text-align: center; }
.bmm-emerg__a { margin: 5px 0; padding: 5px 10px; background: var(--bmm-primary); border-radius: 30px; font-family: Roboto, sans-serif; font-size: 9.6px; font-weight: 600; line-height: 26px; letter-spacing: 1.5px; color: var(--bmm-off); text-transform: uppercase; }
.bmm-hero__door { margin: 0; padding: 0 10px; font-size: 16px; font-weight: 400; line-height: 24px; color: var(--bmm-off); }
.bmm-hero__door a { color: var(--bmm-accent); font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) {
	.bmm-hero__badges { flex-direction: column; }
	.bmm-emerg { display: none; }
}

/* ---- stat cards (bm-stat-card widget, values from its render + CSS) ----- */
.bmm-stats { display: flex; gap: 20px; width: 100%; padding: 10px; }
.bmm-stats > * { flex: 1 1 0; min-width: 0; border-radius: 30px; }
.bmm-stat {
	position: relative; overflow: hidden;
	padding: 30px;
	background: linear-gradient(135deg, var(--c1) 0%, var(--c2) 100%);
	border: 1px solid rgba(155, 35, 53, 0.5); border-radius: 30px;
	-webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
	transition: transform 0.3s ease;
}
.bmm-stat:hover { transform: translateY(-2px); }
.bmm-stat--1 { --c1: rgba(179, 6, 6, 0.71); --c2: rgba(249, 78, 22, 0.54); --cog1: #FBB13C; --cog2: #F96C16; --ibg: rgba(251, 60, 60, 0.2); --ibd: rgba(251, 146, 60, 0.3); --igl: rgba(251, 146, 60, 0.2); --ico: #FAE3D0; --ir: 20px; }
.bmm-stat--2 { --c1: #DA0000; --c2: rgba(0, 87, 168, 0.75); --cog1: #EB0202; --cog2: #009FFF; --ibg: rgba(255, 255, 255, 0.2); --ibd: rgba(255, 255, 255, 0.3); --igl: #333; --ico: #D0EBFA; --ir: 30px; }
.bmm-stat--3 { --c1: rgba(14, 147, 247, 0.48); --c2: rgba(0, 73, 112, 0.7); --cog1: #27BAF1; --cog2: #1697F9; --ibg: rgba(251, 60, 60, 0.2); --ibd: rgba(251, 146, 60, 0.3); --igl: rgba(251, 146, 60, 0.2); --ico: #FAE3D0; --ir: 20px; }
.bmm-stat--4 { --c1: rgba(125, 1, 1, 0.75); --c2: rgba(206, 138, 97, 0.6); --cog1: #CE8A61; --cog2: #DA0000; --ibg: rgba(251, 60, 60, 0.2); --ibd: rgba(251, 146, 60, 0.3); --igl: rgba(251, 146, 60, 0.2); --ico: #FAE3D0; --ir: 20px; }
.bmm-stat__body { position: relative; z-index: 1; }
.bmm-stat__title { margin: 0 0 8px; font-size: 17.6px; font-weight: 400; line-height: 26.4px; letter-spacing: normal; color: var(--bmm-off); }
.bmm-stat__number { margin: 0 0 4px; font-size: 56px; font-weight: 900; line-height: 56px; letter-spacing: normal; color: var(--bmm-sub); font-variant-numeric: tabular-nums; }
.bmm-stat__sub { margin: 0; font-size: 16px; font-weight: 400; line-height: 24px; letter-spacing: normal; color: var(--bmm-off); }
.bmm-stat__icon {
	position: absolute; top: 16px; right: 16px; z-index: 1;
	display: flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: var(--ir);
	background: var(--ibg); border: 1px solid var(--ibd); box-shadow: 0 0 20px var(--igl);
	color: var(--ico); transition: transform 0.2s ease;
}
.bmm-stat:hover .bmm-stat__icon { transform: scale(1.05); }
.bmm-stat__icon svg { width: 20px; height: 20px; }
.bmm-stat__cog { position: absolute; pointer-events: none; }
.bmm-stat__cog--tl { top: -226px; left: -226px; width: 470px; height: 470px; color: var(--cog1); opacity: 0.2; animation: bmm-spin 104s linear infinite; }
.bmm-stat__cog--br { bottom: -184px; right: -184px; width: 381px; height: 381px; color: var(--cog2); opacity: 0.15; animation: bmm-spin 136s linear infinite reverse; }
@keyframes bmm-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .bmm-stat__cog { animation: none; } .bmm-stat:hover { transform: none; } }
@media (max-width: 1024px) { .bmm-stats { flex-wrap: wrap; } .bmm-stats > * { flex: 1 1 calc(50% - 10px); } .bmm-stat__number { font-size: 48px; line-height: 48px; } }
@media (max-width: 560px) { .bmm-stats > * { flex: 1 1 100%; } }

/* ---- services: the six-tile picture and the wide band ------------------ */
.bmm-tiles { display: flex; gap: 40px; width: 100%; padding: 0 10px; }
.bmm-tiles--bottom { margin-top: -10px; }
.bmm-tile {
	position: relative; z-index: 99;
	display: flex; flex-direction: column; justify-content: flex-end; gap: 20px;
	flex: 1 1 0; min-width: 0; min-height: 150px; padding: 50px 20px 0;
	background: var(--bmm-items) no-repeat; background-size: auto;
	border-radius: 35px 35px 5px 5px;
	box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.5);
	text-decoration: none;
}
.bmm-tile--l { background-position: 0 50%; }
.bmm-tile--c { background-position: 50% 50%; }
.bmm-tile--r { background-position: 100% 50%; }
.bmm-tiles--bottom .bmm-tile { border-radius: 5px 5px 35px 35px; z-index: 8; }
.bmm-tiles--bottom .bmm-tile--l { background-position: 0 100%; }
.bmm-tiles--bottom .bmm-tile--c { background-position: 50% 100%; }
.bmm-tiles--bottom .bmm-tile--r { background-position: 100% 100%; }
.bmm-tile > .bmm-band { width: 100%; margin-bottom: -30px; justify-content: flex-end; }
.bmm-wideband { width: 100%; padding: 0 30px; margin-top: -95px; position: relative; z-index: 199; }
.bmm-wideband .bmm-band { padding: 5px 0; align-items: center; }
@media (max-width: 767px) {
	.bmm-tiles { flex-direction: column; }
	.bmm-tiles--bottom { display: none; }
	.bmm-wideband { margin-top: 0; padding: 0 30px; }
	.bmm-band--xl > span { font-size: 12.8px; line-height: 24px; }
	.bmm-band--lg > span { font-size: 16px; line-height: 24px; }
	.bmm-btn { font-size: 16px; line-height: 16px; }
}

/* ---- two dark panels (Commercial / Residential) ------------------------ */
.bmm-panels { display: flex; gap: 40px; width: 100%; padding: 10px; position: relative; z-index: 99; }
.bmm-panel { display: flex; flex-direction: column; justify-content: flex-start; gap: 20px; flex: 1 1 0; min-width: 0; border-radius: 30px; background-image: radial-gradient(rgba(42, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.6) 100%); border: 2px solid rgba(32, 0, 0, 0.53); box-shadow: 0 0 20px 4px rgba(0, 0, 0, 0.5); -webkit-backdrop-filter: blur(13px); backdrop-filter: blur(13px); }
.bmm-panel__img { display: flex; flex-direction: column; gap: 20px; min-height: 150px; padding: 0 20px; border-radius: 30px; box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.5); background: center center / cover no-repeat; }
.bmm-panel__img--left { background-position: center left; }
.bmm-panel__img > .bmm-band { width: 100%; margin-top: -20px; justify-content: flex-end; }
.bmm-panel__body { padding: 50px; }
@media (max-width: 767px) { .bmm-panels { flex-direction: column; } }

/* ---- maintenance: lists, badge, pill buttons --------------------------- */
.bmm-maint { display: flex; flex-direction: column; justify-content: center; gap: 20px; width: 100%; padding: 20px 0 0; margin: 0 0 200px; border-radius: 30px; background: var(--bmm-items) center center / cover no-repeat; position: relative; z-index: 99; }
.bmm-maint > .bmm-tag { margin: 0 0 20px 20px; }
.bmm-maint__row { display: flex; gap: 40px; width: 100%; padding: 0 40px 40px; }
.bmm-maint__col { display: flex; flex-direction: column; gap: 5px; flex: 1 1 0; min-width: 0; border-radius: 30px; }
.bmm-maint__col > .bmm-band { width: 100%; justify-content: flex-end; }
.bmm-maint__mid { flex: 0 1 24.25%; display: flex; flex-direction: column; gap: 20px; padding: 30px; border-radius: 30px; }
.bmm-maint__mid img { display: block; width: 100%; height: auto; }
.bmm-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 5px;
	width: 100%; padding: 12px 24px;
	background: linear-gradient(270deg, var(--b1) 0%, var(--b2) 100%);
	border: 0; border-radius: 30px;
	-webkit-backdrop-filter: blur(13px); backdrop-filter: blur(13px);
	font-family: var(--bmm-font); font-size: 19.2px; font-weight: 300; line-height: 19.2px; letter-spacing: 0.4px;
	color: var(--bmm-off); text-align: center; text-transform: uppercase; text-decoration: none; cursor: pointer;
}
.bmm-btn:hover { filter: brightness(1.12); }
.bmm-btn--cold { --b1: #0079D5; --b2: #035181; }
.bmm-btn--heat { --b1: rgba(255, 17, 0, 0.58); --b2: #F07400; }
.bmm-btn--auto { width: auto; }
.bmm-btn--sm { font-size: 15px; line-height: 15px; font-weight: 500; }
.bmm-caret { width: 0; height: 0; border-top: 7px solid transparent; border-bottom: 7px solid transparent; }
.bmm-caret--r { border-left: 8px solid currentColor; }
.bmm-caret--l { border-right: 8px solid currentColor; }
.bmm-btn--cold .bmm-caret { order: -1; margin-right: 6px; }
.bmm-btn--heat .bmm-caret { order: 2; margin-left: 6px; }
@media (max-width: 1024px) { .bmm-maint__row { flex-wrap: wrap; } .bmm-maint__col { flex-basis: calc(50% - 20px); } .bmm-maint__mid { flex-basis: 100%; order: 3; max-width: 320px; margin: auto; } }
@media (max-width: 767px) { .bmm-maint__row { flex-direction: column; } .bmm-maint__col { flex-basis: auto; } .bmm-maint__mid { display: none; } }

/* ---- CTA row ("Take Action Today!") ------------------------------------ */
.bmm-ctarow { display: flex; justify-content: space-between; align-items: center; gap: 50px; width: 100%; padding: 50px; border-radius: 30px; background: linear-gradient(299deg, rgba(146, 74, 0, 0.35) 0%, #306B8B 100%); position: relative; z-index: 33; }
.bmm-ctarow > .bmm-text { flex: 1 1 0; }
.bmm-cta { position: relative; overflow: hidden; display: block; flex: 0 0 63.55%; color: #fff; text-decoration: none; }
.bmm-cta__bg { position: absolute; inset: 0; overflow: hidden; z-index: 1; }
.bmm-cta__bg-img { position: absolute; inset: 0; z-index: 1; background: url("/wp-content/uploads/2026/02/BMM-flyer-words-2-1024x572.png") center center / cover no-repeat; transform: scale(1.2); transition: transform 0.5s ease; }
.bmm-cta:hover .bmm-cta__bg-img { transform: scale(1); }
.bmm-cta__bg-overlay { position: absolute; inset: 0; z-index: 2; background: var(--bmm-primary); mix-blend-mode: multiply; }
.bmm-cta__content { position: relative; z-index: 1; overflow: hidden; display: flex; flex-wrap: wrap; align-items: center; min-height: 200px; padding: 50px 120px 50px 80px; }
.bmm-canvas .bmm-cta__title { width: 100%; margin: 0 0 80px; font-size: 32px; font-weight: 600; line-height: 60px; letter-spacing: 0.3px; color: var(--bmm-off); text-shadow: 0 0 5px rgba(0, 0, 0, 0.3); }
.bmm-cta__desc { width: 100%; margin: 0 0 10px; font-size: 17.6px; font-weight: 300; line-height: 21.12px; letter-spacing: 0.4px; color: var(--bmm-off); }
.bmm-cta__btnwrap { width: 100%; }
.bmm-cta__button { display: inline-block; padding: 12px 24px; border: 3px solid var(--bmm-off); border-radius: 9px; -webkit-backdrop-filter: blur(13px); backdrop-filter: blur(13px); font-size: 15px; font-weight: 500; line-height: 15px; letter-spacing: 0.4px; color: var(--bmm-off); text-align: center; }
.bmm-ribbon { position: absolute; top: 0; right: 0; z-index: 1; width: 150px; height: 150px; overflow: hidden; transform: rotate(90deg); transform-origin: 75px 75px; }
.bmm-ribbon span { display: block; position: static; width: 200%; height: 26px; margin: 50px 0 0; padding: 0; transform: translate(-100px, -13px) rotate(-45deg); transform-origin: 150px 13px; background: #bf3e00; font-size: 13px; font-weight: 500; line-height: 26px; letter-spacing: 0.4px; color: var(--bmm-off); text-align: center; text-transform: uppercase; }
@media (max-width: 900px) { .bmm-ctarow { flex-direction: column; padding: 50px 10px 20px; } .bmm-cta { flex-basis: auto; width: 100%; } .bmm-cta__content { padding: 30px; } .bmm-cta__title { margin-bottom: 30px; line-height: 40px; } }

/* ---- about: glass panels ----------------------------------------------- */
.bmm-glass {
	position: relative; isolation: isolate;
	display: flex; gap: 40px; width: 100%; padding: 50px;
	background-image: radial-gradient(rgba(42, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.6) 100%);
	border: 2px solid rgba(32, 0, 0, 0.53); border-radius: 30px;
	box-shadow: 0 0 30px 10px rgba(0, 0, 0, 0.75);
	-webkit-backdrop-filter: blur(13px); backdrop-filter: blur(13px);
	z-index: 60;
}
.bmm-glass--col { flex-direction: column; gap: 20px; }
.bmm-glass--plain { background-image: none; background-color: transparent; }
.bmm-glass--photo { background-color: rgba(42, 0, 0, 0.12); background-size: 186% auto; background-position: center center; background-repeat: no-repeat; }
.bmm-glass--photo::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: radial-gradient(#250000 0%, #000 100%); opacity: var(--ov, 0.75); }
.bmm-glass__text { flex: 0 0 63.3%; min-width: 0; display: flex; flex-direction: column; gap: 0; border-radius: 30px; }
.bmm-glass__side { flex: 0 0 33%; min-width: 0; display: flex; flex-direction: column; gap: 20px; border-radius: 30px; background: center center / cover no-repeat; }
.bmm-glass__side--img { min-height: 288px; }
.bmm-glass__wide { flex: 1 1 0; min-width: 0; }
@media (max-width: 900px) {
	.bmm-glass { flex-direction: column; padding: 50px 10px; }
	.bmm-glass__text, .bmm-glass__side { flex-basis: auto; }
	.bmm-glass__side:empty { display: none; }
}

/* map */
.bmm-map { position: relative; width: 100%; }
.bmm-map__img { display: block; width: 100%; height: auto; border-radius: 20px; }
.bmm-marker { position: absolute; transform: translate(-50%, -50%); display: flex; align-items: center; justify-content: center; padding: 9px; border: 0; border-radius: 30px; background: rgba(255, 255, 255, 0.41); cursor: default; font: inherit; }
.bmm-marker img { display: block; height: 60px; width: auto; border-radius: 20px; }
.bmm-marker__tip {
	position: absolute; left: calc(100% + 5px); top: 50%; transform: translateY(-50%);
	width: max-content; min-width: 17px; max-width: 325px; z-index: 5;
	padding: 20px; background: #3667A2; border-radius: 30px; box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
	font-size: 12.8px; font-weight: 300; line-height: 16.64px; letter-spacing: 0.6px; color: var(--bmm-off); text-align: left;
	opacity: 0; visibility: hidden; transition: opacity 0.2s;
}
.bmm-marker:hover .bmm-marker__tip, .bmm-marker:focus .bmm-marker__tip, .bmm-marker:focus-within .bmm-marker__tip { opacity: 1; visibility: visible; }
.bmm-marker__tip p { margin: 0 0 6px; }
.bmm-marker__tip b { font-weight: 600; }
.bmm-marker__tip ul { margin: 0; padding-left: 40px; }
.bmm-glass--map { padding: 40px 20px 20px; }
@media (max-width: 767px) { .bmm-glass--map { display: none; } }

/* reviews */
.bmm-glass--reviews { padding: 40px 20px; }
.bmm-reviews { display: flex; gap: 20px; width: 100%; padding: 0 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.bmm-reviews::-webkit-scrollbar { display: none; }
.bmm-review { flex: 0 0 332px; scroll-snap-align: start; display: flex; flex-direction: column; background: rgba(0, 24, 44, 0.42); border: 1px solid #490000; border-radius: 30px; overflow: hidden; color: var(--bmm-off); text-decoration: none; }
.bmm-review__head { display: flex; flex-direction: column; gap: 0; padding: 40px 40px 10px; }
.bmm-review__name { font-size: 14px; font-weight: 600; line-height: 21px; letter-spacing: 0.3px; color: var(--bmm-off); }
.bmm-review__stars { font-family: Arial, Helvetica, sans-serif; font-size: 20px; font-weight: 600; letter-spacing: 0.3px; color: #CCD6DF; line-height: 30px; }
.bmm-review__body { padding: 10px 40px 40px; font-family: "Roboto Condensed", sans-serif; font-size: 14px; font-weight: 300; line-height: 20px; letter-spacing: 0.4px; color: var(--bmm-off); }
.bmm-review__body p { margin: 0; }
@media (max-width: 1100px) { .bmm-review { flex-basis: 300px; } }
@media (max-width: 767px) { .bmm-glass--reviews { padding: 20px 10px 50px; } .bmm-review { flex-basis: 291px; } }

/* mission + partners */
.bmm-glass--mission { justify-content: space-between; padding: 30px 50px; background-color: transparent; border-color: rgba(0, 0, 0, 0.53); background-image: url("/wp-content/uploads/2026/02/tree-growth-anchor-1024x576.jpg"); }
.bmm-glass--mission::before { background: #000; }
.bmm-mission__text { flex: 0 0 40%; display: flex; flex-direction: column; justify-content: space-between; gap: 20px; padding: 10px; }
.bmm-mission__logo { flex: 0 0 38%; display: flex; flex-direction: column; justify-content: space-around; align-items: center; gap: 20px; padding: 10px; }
.bmm-mission__logo img { width: 300px; max-width: 100%; height: auto; }
.bmm-mission__p { margin: 0; font-size: 16px; font-weight: 400; line-height: 24px; letter-spacing: normal; color: #E9E9E9; }
.bmm-partners__spacer { width: 40.059%; height: 20px; }
@media (max-width: 1024px) { .bmm-partners__spacer { display: none; } }
.bmm-glass--partners { flex-direction: column; justify-content: space-between; gap: 40px; padding: 20px 50px 80px; background-color: transparent; border-color: rgba(0, 0, 0, 0.53); background-image: url("/wp-content/uploads/2026/02/BMM-flyer-words-2-1536x857.png"); --ov: 0.8; }
.bmm-glass--partners::before { background: #000; }
.bmm-partners { display: flex; justify-content: space-between; align-items: center; gap: 20px; width: 100%; min-height: 260px; padding: 10px; }
.bmm-partners a { display: block; line-height: 0; }
.bmm-partners img { height: auto; max-width: 100%; }
.bmm-partners img.is-uc { width: 350px; }
.bmm-partners img.is-mw, .bmm-partners img.is-ge { width: 250px; position: relative; top: -15px; filter: brightness(0) invert(1); }
@media (max-width: 900px) {
	.bmm-glass--mission { flex-direction: column; padding: 20px 10px; }
	.bmm-mission__text, .bmm-mission__logo { flex-basis: auto; }
	.bmm-glass--partners { padding: 20px 10px; }
	.bmm-partners { flex-direction: column; min-height: 0; }
	.bmm-partners img.is-mw, .bmm-partners img.is-ge { top: 0; }
}

/* ---- contact: light form card + side column ---------------------------- */
.bmm-contact { display: flex; justify-content: center; gap: 20px; width: 100%; padding: 10px; position: relative; z-index: 100; }
.bmm-formcard { flex: 0 0 39%; display: flex; flex-direction: column; justify-content: center; gap: 20px; padding: 10px; border-radius: 20px; background: linear-gradient(140deg, #F2F2F2 80%, #29ABF2 100%); color: var(--bmm-ink); }
.bmm-formcard--wide { flex-basis: 60%; }
.bmm-formcard > .bmm-tag { width: calc(100% - 20px); margin: 0 10px; padding: 0 100px; }
@media (max-width: 767px) { .bmm-formcard > .bmm-tag { padding: 0 20px; } }
.bmm-formcard > .bmm-tag > span { text-align: center; }
.bmm-side { flex: 0 0 30%; display: flex; flex-direction: column; gap: 20px; padding: 10px; }
.bmm-side img { display: block; width: 310px; max-width: 100%; height: auto; }
.bmm-side .bmm-panel__body { padding: 20px 24px; }
.bmm-side .bmm-panel__body p { margin: 0 0 12px; }
.bmm-side .bmm-panel__body p:last-child { margin-bottom: 0; }
@media (max-width: 900px) { .bmm-contact { flex-direction: column; } .bmm-formcard, .bmm-side, .bmm-formcard--wide { flex-basis: auto; } }

/* Elementor Pro form look, field for field */
.bmm-form { display: flex; flex-direction: column; gap: 0; padding: 0 5px; }
.bmm-form label { display: flex; flex-wrap: wrap; align-items: center; gap: 0; padding: 0 5px; margin: 0 0 10px; min-height: 40px; font-size: 12.8px; font-weight: 300; line-height: 12.8px; letter-spacing: 0.4px; color: var(--bmm-ink); }
.bmm-form label > .bmm-sr { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); }
.bmm-form input[type="text"], .bmm-form input[type="email"], .bmm-form input[type="tel"], .bmm-form input[type="date"], .bmm-form input[type="password"], .bmm-form select, .bmm-form textarea {
	width: 100%; min-height: 40px; padding: 8px 16px;
	background: #fff; border: 1px solid #69727D; border-radius: 3px;
	font-family: var(--bmm-font); font-size: 12.8px; font-weight: 300; line-height: 12.8px; color: var(--bmm-ink);
}
.bmm-form textarea { min-height: 63px; padding: 5px 14px; resize: vertical; }
.bmm-form .bmm-check { display: block; min-height: 0; font-size: 16px; line-height: 24px; letter-spacing: normal; }
.bmm-form .bmm-check input { display: inline-block; width: 13px; height: 13px; margin: 3px 3px 3px 4px; vertical-align: baseline; }
.bmm-form .bmm-check span { display: inline; font-size: 12.8px; line-height: 12.8px; letter-spacing: normal; }
.bmm-form .bmm-check a { color: inherit; text-decoration: underline; }
.bmm-form .bmm-check a { color: var(--bmm-primary); }
.bmm-form .bmm-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.bmm-form fieldset { border: 1px solid #c9c9c9; border-radius: 3px; margin: 0 5px 10px; padding: 8px 10px; display: flex; flex-direction: column; gap: 4px; }
.bmm-form fieldset label { margin: 0; padding: 0; }
.bmm-form legend { font-size: 12.8px; font-weight: 500; padding: 0 4px; }
.bmm-form .bmm-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 4px; }
.bmm-form .bmm-submit { display: block; width: calc(100% - 10px); margin: 0 5px 10px; min-height: 40px; padding: 0 24px; background: var(--bmm-accent); border: 0; border-radius: 3px; -webkit-backdrop-filter: blur(13px); backdrop-filter: blur(13px); font-family: var(--bmm-font); font-size: 15px; font-weight: 500; line-height: 15px; letter-spacing: 0.4px; color: #fff; text-align: center; cursor: pointer; }
.bmm-form .bmm-submit:hover { filter: brightness(1.05); }
@media (max-width: 560px) { .bmm-form .bmm-grid2 { grid-template-columns: 1fr; } }
.bmm-notice { margin: 0 0 20px; padding: 14px 18px; border-radius: 10px; background: rgba(36, 85, 46, 0.55); border: 1px solid rgba(159, 214, 169, 0.5); color: #fff; }
.bmm-notice--error { background: rgba(125, 1, 1, 0.55); border-color: rgba(255, 120, 120, 0.5); }

/* ---- hub-only components, built from the same parts -------------------- */
.bmm-actions { display: flex; flex-wrap: wrap; gap: 20px; padding: 0 10px; }
.bmm-specs { display: flex; flex-wrap: wrap; gap: 20px; width: 100%; padding: 10px; }
.bmm-spec { flex: 1 1 calc(33.333% - 14px); min-width: 250px; display: flex; flex-direction: column; gap: 10px; padding: 30px; border-radius: 30px; background-image: radial-gradient(rgba(42, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.6) 100%); border: 2px solid rgba(32, 0, 0, 0.53); box-shadow: 0 0 20px 4px rgba(0, 0, 0, 0.5); -webkit-backdrop-filter: blur(13px); backdrop-filter: blur(13px); }
.bmm-spec__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.bmm-spec__label { font-size: 17.6px; font-weight: 500; line-height: 26px; letter-spacing: 0.2px; color: var(--bmm-off); }
.bmm-spec__value { font-size: 36px; font-weight: 900; line-height: 40px; color: var(--bmm-off); font-variant-numeric: tabular-nums; }
.bmm-spec__value--pending { font-size: 24px; font-weight: 700; line-height: 30px; color: var(--bmm-sub); }
.bmm-spec__why { font-size: 15px; font-weight: 400; line-height: 22px; letter-spacing: 0.3px; color: #E9E9E9; }
.bmm-tablewrap { width: 100%; overflow: hidden; border-radius: 30px; background-image: radial-gradient(rgba(42, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.6) 100%); border: 2px solid rgba(32, 0, 0, 0.53); box-shadow: 0 0 20px 4px rgba(0, 0, 0, 0.5); -webkit-backdrop-filter: blur(13px); backdrop-filter: blur(13px); }
.bmm-table { width: 100%; border-collapse: collapse; }
.bmm-table th, .bmm-table td { padding: 16px 24px; text-align: left; vertical-align: top; border-bottom: 1px solid rgba(255, 255, 255, 0.08); font-size: 15px; font-weight: 400; line-height: 22px; letter-spacing: 0.3px; color: #E9E9E9; }
.bmm-table th { font-size: 14px; font-weight: 600; line-height: 20px; letter-spacing: 0.2px; color: var(--bmm-off); background: rgba(125, 1, 1, 0.55); }
.bmm-table tr:last-child td { border-bottom: 0; }
.bmm-table td.k { font-size: 16px; font-weight: 600; color: var(--bmm-off); width: 28%; }
.bmm-table td.s { width: 20%; white-space: nowrap; }
.bmm-ok { font-weight: 500; color: var(--bmm-off); }
.bmm-ok::before { content: "\2713\00a0"; color: var(--bmm-accent); font-weight: 700; }
@media (max-width: 767px) {
	.bmm-table thead { display: none; }
	.bmm-table, .bmm-table tbody, .bmm-table tr, .bmm-table td { display: block; width: auto; }
	.bmm-table tr { padding: 16px 20px; border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
	.bmm-table tr:last-child { border-bottom: 0; }
	.bmm-table td { padding: 0; border: 0; }
	.bmm-table td.k { width: auto; margin-bottom: 6px; }
	.bmm-table td.s { width: auto; margin-bottom: 4px; white-space: normal; }
}
.bmm-sectors { display: flex; flex-wrap: wrap; gap: 20px; width: 100%; padding: 10px; }
.bmm-sector { flex: 1 1 calc(33.333% - 14px); min-width: 250px; display: flex; flex-direction: column; gap: 14px; padding: 24px; border-radius: 30px; background-image: radial-gradient(rgba(42, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.6) 100%); border: 2px solid rgba(32, 0, 0, 0.53); box-shadow: 0 0 20px 4px rgba(0, 0, 0, 0.5); -webkit-backdrop-filter: blur(13px); backdrop-filter: blur(13px); }
.bmm-sector > .bmm-band { width: 100%; }
.bmm-sector__body { padding: 20px 30px 30px; background: rgba(2, 1, 1, 0.49); border-radius: 30px; margin-top: -24px; padding-top: 44px; display: flex; flex-direction: column; gap: 14px; }
.bmm-sector__body p { margin: 0; }
.bmm-checklist { list-style: none; margin: 0; padding: 10px; display: flex; flex-direction: column; gap: 12px; }
.bmm-checklist li { display: flex; gap: 12px; align-items: flex-start; }
.bmm-checklist li::before { content: ""; flex: none; width: 14px; height: 14px; margin-top: 5px; border-radius: 50%; background: var(--bmm-accent); box-shadow: 0 0 10px rgba(206, 138, 97, 0.6); }
.bmm-checklist strong { font-weight: 600; }
.bmm-pending, .bmm-placeholder { display: inline-block; vertical-align: middle; padding: 3px 9px; border-radius: 30px; background: var(--bmm-accent); color: #1a1a1a; font-size: 9.6px; font-weight: 700; line-height: 14px; letter-spacing: 1.5px; text-transform: uppercase; white-space: nowrap; text-shadow: none; }
.bmm-note { margin: 0; padding: 14px 20px; border-radius: 16px; background: rgba(0, 0, 0, 0.45); border: 1px solid rgba(206, 138, 97, 0.45); border-left: 4px solid var(--bmm-accent); font-size: 15px; font-weight: 400; line-height: 22px; color: #E9E9E9; -webkit-backdrop-filter: blur(13px); backdrop-filter: blur(13px); }
.bmm-status { display: inline-block; font-size: 9.6px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; padding: 3px 9px; border-radius: 30px; background: #F5B301; color: #1a1a1a; vertical-align: middle; }

/* ---- projects index + single ------------------------------------------- */
.bmm-projects__sector { display: flex; flex-direction: column; gap: 20px; width: 100%; padding: 10px; margin-top: 30px; }
.bmm-projects__sector:first-child { margin-top: 0; }
.bmm-projects__desc { margin: 0; }
.bmm-projects__grid { display: flex; flex-wrap: wrap; gap: 20px; }
.bmm-project { flex: 1 1 calc(33.333% - 14px); min-width: 280px; max-width: 420px; display: flex; flex-direction: column; border-radius: 30px; overflow: hidden; background-image: radial-gradient(rgba(42, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.6) 100%); border: 2px solid rgba(32, 0, 0, 0.53); box-shadow: 0 0 20px 4px rgba(0, 0, 0, 0.5); }
.bmm-project__thumb { aspect-ratio: 16 / 9; background: #1a1a1a; }
.bmm-project__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bmm-project__body { display: flex; flex-direction: column; gap: 12px; padding: 30px 40px 40px; }
.bmm-project__body h3 { font-size: 17.6px; font-weight: 600; line-height: 24px; letter-spacing: 0.3px; }
.bmm-project__body h3 a { color: var(--bmm-off); text-decoration: none; }
.bmm-project__body h3 a:hover { color: var(--bmm-accent); }
.bmm-project__client { font-size: 14px; font-weight: 300; letter-spacing: 0.4px; color: var(--bmm-sub); }
.bmm-project__specs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; }
.bmm-project__specs div { display: flex; flex-direction: column; gap: 2px; }
.bmm-project__specs dt { font-size: 13px; font-weight: 500; line-height: 18px; letter-spacing: 0.2px; color: var(--bmm-sub); }
.bmm-project__specs dd { margin: 0; font-size: 16px; font-weight: 600; line-height: 22px; color: var(--bmm-off); }
.bmm-project__link { font-size: 14px; font-weight: 500; }
.bmm-empty { margin: 0; padding: 18px 20px; border-radius: 30px; border: 1px dashed rgba(255, 255, 255, 0.3); font-size: 14px; font-weight: 300; line-height: 20px; color: var(--bmm-sub); }
.bmm-project-single .bmm-project__hero { display: block; width: 100%; height: auto; border-radius: 30px; }
.bmm-specsheet { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin: 0; padding: 30px; border-radius: 30px; background-image: radial-gradient(rgba(42, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.6) 100%); border: 2px solid rgba(32, 0, 0, 0.53); box-shadow: 0 0 20px 4px rgba(0, 0, 0, 0.5); -webkit-backdrop-filter: blur(13px); backdrop-filter: blur(13px); }
.bmm-specsheet div { display: flex; flex-direction: column; gap: 4px; }
.bmm-specsheet dt { font-size: 14px; font-weight: 500; line-height: 20px; letter-spacing: 0.2px; color: var(--bmm-sub); }
.bmm-specsheet dd { margin: 0; font-size: 18px; font-weight: 600; line-height: 24px; color: var(--bmm-off); }
.bmm-specsheet dd ul { margin: 0; padding-left: 1.1em; font-weight: 400; }

/* ---- aliases for markup rendered by the theme PHP until it is redeployed -- */
.bmm-section { position: relative; display: flex; flex-direction: column; width: 100%; }
.bmm-wrap { width: 100%; max-width: var(--bmm-wrap); margin: 0 auto; padding: 0 10px; display: flex; flex-direction: column; gap: 20px; }

/* phone type for the pill buttons, mirrors the live 16px */
@media (max-width: 767px) { .bmm-btn { font-size: 16px; line-height: 16px; } }

/* case-study cards: no empty image box on drafts, two-up specs on phones */
.bmm-project__thumb:empty { display: none; }
@media (max-width: 767px) {
  .bmm-project__specs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bmm-project__specs > div:first-child { grid-column: 1 / -1; }
}

/* ---- contact and door cards in the side column; sector cards; buttons ---- */
.bmm-btn { -webkit-backdrop-filter: blur(13px); backdrop-filter: blur(13px); }
.bmm-card__body { display: flex; flex-direction: column; gap: 16px; padding: 30px; }
.bmm-field { display: flex; flex-direction: column; gap: 4px; }
.bmm-field__label { font-size: 14px; font-weight: 500; line-height: 20px; letter-spacing: 0.2px; color: var(--bmm-sub); }
.bmm-field__value { font-size: 19.2px; font-weight: 500; line-height: 26px; color: var(--bmm-off); text-decoration: none; overflow-wrap: anywhere; }
a.bmm-field__value { color: var(--bmm-accent); }
a.bmm-field__value:hover { text-decoration: underline; text-underline-offset: 3px; }
.bmm-field__value--sm { font-size: 16px; font-weight: 400; line-height: 24px; }
.bmm-field__note { font-size: 14px; font-weight: 400; line-height: 20px; color: var(--bmm-sub); }
.bmm-card__title { font-size: 24px; font-weight: 800; line-height: 28px; color: var(--bmm-off); margin: 4px 0 0; }
.bmm-card__title + .bmm-card__text { margin-top: -6px; }
.bmm-card__text { margin: 0; font-size: 16px; font-weight: 400; line-height: 24px; color: #E9E9E9; }
.bmm-card__text .bmm-pending { margin-left: 4px; }
.bmm-sector__body { display: flex; flex-direction: column; gap: 8px; flex: 1 1 auto; }
.bmm-sector__body p { margin: 0; }
.bmm-sector__body a { font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.bmm-who__list { margin: 0; padding-left: 1.2em; }
.bmm-who__list li { margin: 0 0 8px; }
.bmm-sector__body { margin: 0; padding: 0; background: none; border-radius: 0; }
.bmm-field__value--email { font-size: 16px; font-weight: 500; line-height: 24px; overflow-wrap: break-word; }
/* case-study cards: scope gets the full width, timeline and footage share the next row */
.bmm-project__specs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.bmm-project__specs > div:first-child { grid-column: 1 / -1; }
.bmm-side .bmm-btn { font-size: 16px; line-height: 16px; }

/* ---- design-critique pass (17 Sep 2026): reading measure and touch targets ---- */
.page-id-1310 .bmm-lead, .page-id-1311 .bmm-lead, .page-id-2899 .bmm-lead, .single-bmm_project .bmm-lead,
.page-id-1310 .bmm-projects__desc, .page-id-2899 .bmm-projects__desc { max-width: 66ch; }
.bmm-project__link, .bmm-sector__body a, .bmm-empty a { display: inline-block; padding: 6px 0; }
.bmm-empty a { padding: 0; }

/* ---- design-critique pass 2 (17 Sep 2026): status pills go neutral so copper stays the
   colour of things you can click; the contractor hero gets a real primary action row ---- */
.bmm-pending, .bmm-placeholder { background: rgba(179, 179, 179, 0.18); color: #E9E9E9; border: 1px solid rgba(179, 179, 179, 0.35); }
.bmm-table th { background: rgba(125, 1, 1, 0.4); }
.bmm-hero__actions { padding: 0; }
.bmm-hero__actions .bmm-btn { padding: 12px 32px; }
@media (max-width: 767px) { .bmm-hero__actions .bmm-btn { width: 100%; } }

/* ---- case-study photo gallery and job-log links (17 Sep 2026) ---- */
.bmm-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 8px 0 0; }
.bmm-gallery figure { margin: 0; }
.bmm-gallery figure:first-child { grid-column: 1 / -1; }
.bmm-gallery img { display: block; width: 100%; height: auto; border-radius: 20px; }
.bmm-gallery figcaption { margin-top: 8px; font-size: 14px; line-height: 20px; color: var(--bmm-sub); }
.bmm-source { margin: 24px 0 0; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, 0.12); font-size: 15px; line-height: 22px; color: #E9E9E9; }
.bmm-casestudy-link { margin: 24px 0 0; padding: 14px 20px; border-left: 4px solid var(--bmm-accent, #CE8A61); background: rgba(0, 0, 0, 0.04); }
@media (max-width: 767px) { .bmm-gallery { grid-template-columns: 1fr; } }

/* ---- long-form case study article (17 Sep 2026) ---- */
.bmm-case h2 { font-size: 30px; font-weight: 800; line-height: 34px; letter-spacing: 0; color: var(--bmm-off); margin: 40px 0 14px; max-width: 34ch; }
.bmm-case h2:first-child { margin-top: 0; }
.bmm-case p, .bmm-case ul, .bmm-case ol { max-width: 72ch; }
.bmm-case ol { margin: 0 0 14.4px; padding-left: 1.3em; }
.bmm-case ol li, .bmm-case ul li { margin: 0 0 8px; }
.bmm-fig { margin: 22px 0; }
.bmm-fig img { display: block; width: 100%; height: auto; border-radius: 20px; }
.bmm-fig figcaption { margin-top: 8px; font-size: 14px; line-height: 20px; color: var(--bmm-sub); max-width: 72ch; }
.bmm-fig-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 22px 0; }
.bmm-fig-pair .bmm-fig { margin: 0; }
.bmm-tablewrap--case { margin: 16px 0 8px; }
.bmm-tablewrap--case td.k { width: 26%; }
@media (max-width: 767px) {
	.bmm-case h2 { font-size: 24px; line-height: 28px; margin-top: 32px; }
	.bmm-fig-pair { grid-template-columns: 1fr; }
}

/* =====================================================================
   Site chrome without Elementor (17 Sep 2026): header, footer, posts,
   listings, plain pages. Values measured from the Theme Builder templates
   they replace.
   ===================================================================== */

/* ---- header ---------------------------------------------------------- */
.bmm-header { position: sticky; top: 0; z-index: 900; padding: 0 10px; }
.bmm-header__inner { position: relative; display: flex; max-width: 1140px; height: 143px; margin: 0 auto; }
.bmm-header__group { flex: 0 0 37.5%; display: flex; align-items: flex-start; gap: 10px; padding: 30px 10px 10px; min-width: 0; }
.bmm-header__group--left { justify-content: flex-end; }
.bmm-header__group--right { justify-content: flex-start; }
.bmm-header__brand { flex: 0 0 25%; display: flex; justify-content: center; align-items: flex-start; }
.bmm-header__logo { display: block; margin-top: -10px; line-height: 0; }
.bmm-header__logo img { display: block; width: 143px; height: 143px; }
.bmm-nav__btn { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; height: 31px; padding: 0 24px; font-family: var(--bmm-font); font-size: 12.8px; font-weight: 500; line-height: 1; letter-spacing: 0.8px; text-transform: uppercase; white-space: nowrap; color: var(--bmm-off); text-decoration: none; background: rgba(46, 0, 0, 0.41); border: 3px solid rgba(100, 0, 0, 0.06); border-radius: 10px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.7); -webkit-backdrop-filter: blur(13px); backdrop-filter: blur(13px); transition: background-color 0.3s; }
/* pills used as <button>: hold the resting look through Hello Elementor's button:focus #c36 reset */
.bmm-nav__btn:focus { background: rgba(46, 0, 0, 0.41); color: var(--bmm-off); }
.bmm-nav__btn:hover, .bmm-nav__btn:focus-visible { background: rgba(107, 0, 0, 0.59); color: var(--bmm-off); }
/* pills as toggles (filters): --em = on, off = dimmed */
.bmm-nav__btn[aria-pressed="false"] { opacity: 0.55; }
.bmm-nav__btn[aria-pressed="false"]:hover { opacity: 1; }
.bmm-nav__btn--em { border-color: #B3B3B3; }
.bmm-header__toggle { display: none; }
.bmm-mnav { display: none; }
.bmm-canvas .skip-link { position: absolute; left: -9999px; top: 0; z-index: 1000; padding: 8px 16px; background: #000; color: #fff; }
.bmm-canvas .skip-link:focus { left: 10px; top: 10px; }
@media (max-width: 1024px) {
	.bmm-header__inner { height: 98px; }
	.bmm-header__group { display: none; }
	.bmm-header__brand { flex: 1 1 auto; justify-content: flex-start; }
	.bmm-header__logo img { width: 98px; height: 98px; }
	.bmm-header__toggle { display: flex; flex-direction: column; justify-content: center; gap: 5px; position: absolute; right: 10px; top: 32px; width: 29px; height: 33px; padding: 0 4px; background: rgba(0, 0, 0, 0.05); border: 0; border-radius: 3px; cursor: pointer; }
	.bmm-header__toggle span { display: block; height: 3px; border-radius: 2px; background: var(--bmm-primary); }
	.bmm-header.is-open .bmm-mnav { display: block; }
	.bmm-mnav { position: absolute; left: 0; right: 0; top: 65px; z-index: 10; background: rgba(216, 216, 216, 0.55); -webkit-backdrop-filter: blur(13px); backdrop-filter: blur(13px); }
	.bmm-mnav__list { list-style: none; margin: 0; padding: 0; }
	.bmm-mnav__list a { display: block; padding: 10px 20px; font-family: var(--bmm-font); font-size: 13px; font-weight: 500; line-height: 1.4; color: #33373D; text-decoration: none; }
	.bmm-mnav__list a:hover, .bmm-mnav__list a:focus-visible { background: rgba(255, 255, 255, 0.35); }
}

/* ---- footer ---------------------------------------------------------- */
.bmm-footer { padding: 3%; }
.bmm-footer__inner { display: flex; align-items: center; }
.bmm-footer__contact { flex: 0 0 45%; display: flex; align-items: center; gap: 16px; min-width: 0; }
.bmm-footer__logo { flex: none; width: 80px; height: 80px; }
.bmm-footer__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-family: var(--bmm-font); font-size: 16px; font-weight: 300; line-height: 24px; color: var(--bmm-off); }
.bmm-footer__list li { display: flex; align-items: center; gap: 8px; }
.bmm-footer__list svg { width: 16px; height: 16px; flex: none; color: var(--bmm-off); }
.bmm-footer__list a { color: var(--bmm-off); text-decoration: none; }
.bmm-footer__list a b { color: var(--bmm-accent); font-weight: 700; }
.bmm-footer__list a:hover { text-decoration: underline; }
.bmm-footer__nav { flex: 0 0 40%; }
.bmm-footer__menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 0 32px; }
.bmm-footer__menu a { display: inline-block; padding: 13px 0; font-family: var(--bmm-font); font-size: 12.8px; font-weight: 300; line-height: 1.4; letter-spacing: 0.3px; color: var(--bmm-sub); text-decoration: none; }
.bmm-footer__menu a:hover { color: var(--bmm-off); }
.bmm-footer__social { flex: 0 0 10%; display: flex; justify-content: flex-end; }
.bmm-footer__social a { display: inline-flex; width: 32px; height: 32px; border-radius: 50%; align-items: center; justify-content: center; color: #69727D; }
.bmm-footer__social a:hover { color: var(--bmm-off); }
.bmm-footer__social svg { width: 18px; height: 18px; }
@media (max-width: 767px) {
	.bmm-footer { padding: 30px 16px; }
	.bmm-footer__inner { flex-direction: column; align-items: flex-start; gap: 20px; }
	.bmm-footer__contact, .bmm-footer__nav, .bmm-footer__social { flex: none; width: 100%; }
	.bmm-footer__menu { justify-content: flex-start; gap: 0 20px; }
	.bmm-footer__social { justify-content: flex-start; }
}

/* ---- posts, listings and plain pages keep the dusk photo the post template had ---- */
body.bmm-canvas.single-post, body.bmm-canvas.blog, body.bmm-canvas.archive, body.bmm-canvas.search, body.bmm-canvas.error404 { background-color: #181818; background-image: url("/wp-content/uploads/2025/11/bmm-nyc-dusk-background.jpg"); }
.bmm-sec--top .bmm-sec__inner { padding-top: 60px; }

/* ---- single post ------------------------------------------------------ */
.bmm-post { padding: 0 3%; margin-top: 40px; }
.bmm-post__inner { display: flex; align-items: flex-start; max-width: 1265px; margin: 0 auto; }
.bmm-post__side { flex: 0 0 450px; position: sticky; top: 143px; display: flex; flex-direction: column; gap: 20px; padding: 50px; min-width: 0; }
.bmm-post__back { font-family: var(--bmm-font); font-size: 22px; font-weight: 700; line-height: 1.3; color: #F0F0F0; text-decoration: underline; text-underline-offset: 3px; }
.bmm-post__meta { font-family: var(--bmm-font); font-size: 16px; font-weight: 400; line-height: 24px; color: #F0F0F0; }
.bmm-post__meta a { color: #F0F0F0; text-decoration: none; }
.bmm-post__meta a:hover { text-decoration: underline; }
.bmm-post__sep { margin: 0 6px; }
.bmm-canvas .bmm-post__title { font-family: var(--bmm-font); font-size: 50px; font-weight: 800; line-height: 60px; letter-spacing: -0.28px; text-transform: uppercase; color: #F0F0F0; margin: 0; overflow-wrap: anywhere; }
.bmm-post__share { display: flex; gap: 10px; }
.bmm-post__share a { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; border: 1px solid #F0F0F0; border-radius: 50%; color: #F0F0F0; }
.bmm-post__share a:hover { background: #F0F0F0; color: #181818; }
.bmm-post__share svg { width: 16px; height: 16px; }
.bmm-post__main { flex: 1 1 55%; min-width: 0; padding: 40px; font-family: var(--bmm-font); font-size: 18px; font-weight: 400; line-height: 25px; letter-spacing: 0.2px; color: #F0F0F0; }
.bmm-post__main p { margin: 0 0 14.4px; }
.bmm-post__main figure { margin: 0 0 18px; }
.bmm-post__main img { display: block; max-width: 100%; height: auto; }
.bmm-post__main figcaption { font-size: 14px; line-height: 20px; color: var(--bmm-sub); margin-top: 6px; }
.bmm-post__main a { color: var(--bmm-accent); }
.bmm-canvas .bmm-post__main h2 { font-size: 30px; font-weight: 800; line-height: 36px; color: #F0F0F0; margin: 32px 0 12px; }
.bmm-canvas .bmm-post__main h3 { font-size: 24px; font-weight: 700; line-height: 30px; color: #F0F0F0; margin: 28px 0 10px; }
.bmm-post__main ul, .bmm-post__main ol { margin: 0 0 14.4px; padding-left: 1.3em; }
.bmm-post__main li { margin: 0 0 6px; }
.bmm-post__main blockquote { margin: 0 0 18px; padding: 0 0 0 20px; border-left: 4px solid var(--bmm-accent); }
.bmm-post__main .wp-block-gallery { gap: 12px; }
.bmm-post__main .bmm-casestudy-link { padding: 14px 20px; border-left: 4px solid var(--bmm-accent); background: rgba(255, 255, 255, 0.04); }

/* ---- cards, "more insights", listings ---------------------------------- */
.bmm-more { max-width: 1265px; margin: 8% auto; padding: 0 3%; }
.bmm-canvas .bmm-more__h { font-family: var(--bmm-font); font-size: 50px; font-weight: 800; line-height: 1.1; text-transform: uppercase; color: #F0F0F0; margin: 0 0 30px; }
.bmm-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.bmm-card { display: flex; flex-direction: column; background: rgba(0, 0, 0, 0.47); border: 1px solid #F0F0F0; border-radius: 30px; overflow: hidden; }
.bmm-card__thumb { display: block; aspect-ratio: 16 / 9; overflow: hidden; margin: 0 0 20px; background: #0b0b0b; }
.bmm-card__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bmm-card__body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 0 30px 30px; }
.bmm-canvas .bmm-card__title { font-family: var(--bmm-font); font-size: 30px; font-weight: 700; line-height: 38px; margin: 0 0 20px; }
.bmm-card__title a { color: #F0F0F0; text-decoration: none; }
.bmm-card__title a:hover { text-decoration: underline; text-underline-offset: 4px; }
.bmm-card__meta { font-family: var(--bmm-font); font-size: 14px; font-weight: 400; line-height: 17px; color: #F0F0F0; margin: 0 0 45px; }
.bmm-card__more { margin-top: auto; font-family: var(--bmm-font); font-size: 22px; font-weight: 700; line-height: 30px; color: rgba(240, 240, 240, 0.51); text-decoration: none; }
.bmm-card__more:hover { color: #F0F0F0; }
.bmm-postnav { display: flex; justify-content: space-between; gap: 20px; max-width: 1265px; margin: 5% auto 60px; padding: 0 3%; }
.bmm-postnav a { display: flex; flex-direction: column; gap: 4px; max-width: 45%; color: #F0F0F0; text-decoration: none; }
.bmm-postnav__label { font-family: var(--bmm-font); font-size: 16px; font-weight: 700; line-height: 1.2; }
.bmm-postnav__title { font-family: var(--bmm-font); font-size: 14px; font-weight: 400; line-height: 1.3; color: var(--bmm-sub); }
.bmm-postnav__next { text-align: right; }
.bmm-postnav a:hover .bmm-postnav__title { color: #F0F0F0; }

.bmm-archive { max-width: 1140px; margin: 3% auto 0; padding: 0 3%; }
.bmm-archive__head { display: flex; flex-direction: column; gap: 10px; margin-bottom: 10%; }
.bmm-canvas .bmm-archive__title { font-family: var(--bmm-font); font-size: 95px; font-weight: 800; line-height: 105px; letter-spacing: -0.28px; text-transform: uppercase; color: #F0F0F0; margin: 0; overflow-wrap: anywhere; }
.bmm-archive__desc { font-family: var(--bmm-font); font-size: 18px; font-weight: 400; line-height: 1.5; color: #F0F0F0; margin: 0; max-width: 72ch; }
.bmm-archive__desc a, .bmm-archive__empty a { color: var(--bmm-accent); }
.bmm-archive__empty { font-size: 18px; color: #F0F0F0; }
.bmm-archive__actions { margin-top: 30px; }
.bmm-pagination { display: flex; justify-content: center; margin: 60px 0 0; }
.bmm-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 10px; }
.bmm-pagination .page-numbers { display: inline-flex; align-items: center; padding: 12px 20px; font-family: var(--bmm-font); font-size: 16px; font-weight: 600; line-height: 1; color: #F0F0F0; background: #0B0B0B; border: 1px solid #F0F0F0; text-decoration: none; }
.bmm-pagination .page-numbers.current { background: #F0F0F0; color: #0B0B0B; }
.bmm-pagination a.page-numbers:hover { background: #F0F0F0; color: #0B0B0B; }
.bmm-ctaband { margin-top: 8%; padding: 0 3%; background: rgba(11, 11, 11, 0.25); }
.bmm-ctaband__inner { display: flex; max-width: 1265px; margin: 0 auto; }
.bmm-canvas .bmm-ctaband__h { flex: 0 0 60%; padding: 5% 3% 5% 0; font-family: var(--bmm-font); font-size: 95px; font-weight: 800; line-height: 1.05; text-transform: uppercase; color: #F0F0F0; margin: 0; overflow-wrap: anywhere; }
.bmm-ctaband__side { flex: 0 0 40%; display: flex; flex-direction: column; justify-content: center; gap: 35px; padding: 5%; }
.bmm-ctaband__lead { font-family: var(--bmm-font); font-size: 30px; font-weight: 700; line-height: 1.2; color: #F0F0F0; margin: 0; }
.bmm-ctaband__btn { align-self: flex-start; padding: 15px 30px; font-family: var(--bmm-font); font-size: 18px; font-weight: 400; line-height: 1; color: #F0F0F0; background: #181818; border: 1px solid #F0F0F0; text-decoration: none; transition: background-color 0.3s, color 0.3s; }
.bmm-ctaband__btn:hover { background: #F0F0F0; color: #181818; }

/* ---- plain pages, embeds ---------------------------------------------- */
.bmm-plain { padding: 50px; }
.bmm-plain__body h2, .bmm-plain__body h3 { color: var(--bmm-off); margin: 28px 0 10px; }
.bmm-plain__body h2 { font-size: 30px; line-height: 36px; font-weight: 800; }
.bmm-plain__body h3 { font-size: 22px; line-height: 28px; font-weight: 700; }
.bmm-plain__body a { color: var(--bmm-accent); }
.bmm-plain__body ul, .bmm-plain__body ol { margin: 0 0 14.4px; padding-left: 1.3em; }
.bmm-plain__body img { max-width: 100%; height: auto; border-radius: 20px; }
.bmm-formcard--embed { padding-bottom: 20px; }
.bmm-embed { padding: 10px; min-height: 200px; }
.bmm-embed iframe { width: 100%; }

@media (max-width: 1024px) {
	.bmm-post { padding: 0 10px; margin-top: 20px; }
	.bmm-post__inner { flex-direction: column; }
	.bmm-post__side { position: static; flex: none; width: 100%; padding: 20px 10px; }
	.bmm-canvas .bmm-post__title { font-size: 32px; line-height: 38px; }
	.bmm-post__main { padding: 10px; }
	.bmm-cards { grid-template-columns: 1fr; }
	.bmm-more { padding: 0 10px; }
	.bmm-canvas .bmm-more__h { font-size: 32px; }
	.bmm-canvas .bmm-archive__title { font-size: 44px; line-height: 50px; }
	.bmm-ctaband__inner { flex-direction: column; }
	.bmm-canvas .bmm-ctaband__h { flex: none; font-size: 44px; padding: 40px 0 0; }
	.bmm-ctaband__side { flex: none; padding: 30px 0 40px; }
	.bmm-postnav a { max-width: 100%; }
	.bmm-plain { padding: 20px; }
}

/* post galleries two-up on desktop; booking embed tall enough before Jobber resizes it */
.bmm-post__main .wp-block-gallery.has-nested-images figure.wp-block-image { width: calc(50% - 8px) !important; }
.bmm-post__main .wp-block-gallery.has-nested-images { gap: 16px; }
.bmm-embed { min-height: 900px; }
.bmm-embed iframe { min-height: 880px; }
@media (max-width: 767px) { .bmm-post__main .wp-block-gallery.has-nested-images figure.wp-block-image { width: 100% !important; } .bmm-embed { min-height: 1100px; } .bmm-embed iframe { min-height: 1080px; } }

/* job clips (16 Oct 2026): a silent vertical 9:16 clip near the end of a job post, phone-sized in the text column */
.bmm-post__main .wp-block-video.bmm-clip { max-width: 360px; margin: 28px auto; }
.bmm-post__main .bmm-clip video { display: block; width: 100%; height: auto; aspect-ratio: 9 / 16; border-radius: 20px; background: #0B0B0B; }
.bmm-post__main .bmm-clip figcaption { text-align: center; }

/* Four sector cards sit two by two when a sector has no case study yet (commercial page, 7 Oct 2026). */
.bmm-sectors--pairs .bmm-sector { flex-basis: calc(50% - 10px); }

/* =====================================================================
   SETPOINT section set (added 14 Oct 2026, GC path Phase A)
   The design of the commercial and contractor pages, on the "BMM Setpoint"
   page template (body.bmm-sp). Same header, footer, logo and heat/cold
   colours as the rest of the site; every class here starts with sp- so
   nothing above is touched. Body text stays in the site font.
   ===================================================================== */
body.bmm-sp {
	--sp-bg: #0F1011; --sp-bg2: #151618; --sp-bg3: #0A0A0B;
	--sp-fg: #EEEEEA; --sp-mute: #8E908B; --sp-line: rgba(238, 238, 234, 0.14);
	--sp-heat: #D8381C; --sp-cold: #0079D5; --sp-cold-deep: #006DC2; --sp-maroon: #7D0101; --sp-ink: #141516;
	--sp-display: "Archivo", "Arial Narrow", "Roboto Condensed", Impact, sans-serif;
	--sp-body: var(--bmm-font);
	--sp-mono: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
	--sp-gut: clamp(16px, 2.2vw, 32px);
	--sp-t-sm: 14px; --sp-t-md: 17px; --sp-t-lg: clamp(22px, 2.3vw, 34px); --sp-t-xl: clamp(28px, 3.4vw, 54px);
	--sp-ease: cubic-bezier(0.2, 0.75, 0.1, 1);
	--sp-sec: clamp(80px, 10vw, 168px);
	--sp-hd: 143px;
	background: var(--sp-bg); background-image: none; color: var(--sp-fg);
	font-weight: 400; letter-spacing: 0; overflow-x: clip;
}
body.bmm-phase-a.bmm-canvas { overflow-x: clip; }
body.bmm-phase-a .bmm-sec { overflow-x: clip; } /* the stat-card cogs and one tag reach past a phone screen */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }
.bmm-sp .sp-main { color: var(--sp-fg); font-family: var(--sp-body); font-size: var(--sp-t-md); line-height: 1.45; }
.bmm-sp .sp-main *, .bmm-sp .sp-main *::before, .bmm-sp .sp-main *::after { box-sizing: border-box; }
.bmm-sp .sp-main a { color: inherit; }
.bmm-sp .sp-main img { display: block; max-width: 100%; }
.bmm-sp .sp-main button { font: inherit; color: inherit; background: none; border: 0; border-radius: 0; padding: 0; margin: 0; cursor: pointer; text-align: inherit; white-space: normal; text-transform: none; letter-spacing: inherit; line-height: inherit; -webkit-user-select: auto; user-select: auto; transition: none; }
.bmm-sp .sp-main button:hover, .bmm-sp .sp-main button:focus { background: none; color: inherit; }
.bmm-sp .sp-main h1, .bmm-sp .sp-main h2, .bmm-sp .sp-main h3, .bmm-sp .sp-main h4 { color: inherit; font-family: inherit; }
.bmm-sp .sp-main :focus-visible { outline: 2px solid var(--sp-cold); outline-offset: 3px; }
.sp-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sp-mono { font-family: var(--sp-mono); font-size: 12px; letter-spacing: 0.02em; font-variant-numeric: tabular-nums; }
.sp-sec { padding-inline: var(--sp-gut); padding-block: var(--sp-sec); }
.sp-g12 { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--sp-gut); }
.bmm-nav__btn--gc { border-color: #0079D5; background: rgba(0, 40, 80, 0.45); }
/* on the dark Setpoint pages, a soft shade behind the sticky header keeps scrolled text from fighting the menu */
.bmm-sp .bmm-header { background: linear-gradient(180deg, rgba(10, 10, 11, 0.88) 0%, rgba(10, 10, 11, 0.55) 70%, rgba(10, 10, 11, 0) 100%); }
.bmm-nav__btn--gc:hover, .bmm-nav__btn--gc:focus-visible { background: rgba(0, 79, 140, 0.62); }

/* type */
.sp-statement { font-size: var(--sp-t-xl); line-height: 1.08; letter-spacing: -0.02em; font-weight: 500; text-wrap: balance; margin: 0; }
.sp-giant { display: block; font-family: var(--sp-display); font-stretch: 62.5%; font-weight: 800; text-transform: uppercase; line-height: 0.86; letter-spacing: -0.004em; white-space: nowrap; font-size: 24vw; margin: 0; color: var(--sp-fg); }
.sp-giant .sp-fit { display: inline-block; vertical-align: top; padding-top: 0.05em; margin-top: -0.05em; position: relative; }
.sp-bl { display: inline-block; width: 0; height: 0; vertical-align: baseline; }
.sp-giant canvas { position: absolute; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; }
.sp-mosaic-on .sp-photo .sp-fit { color: transparent; -webkit-text-fill-color: transparent; }
.sp-ulink { display: inline-flex; justify-content: space-between; align-items: center; gap: 28px; padding-bottom: 5px; border-bottom: 1px solid currentColor; text-decoration: none; font-size: var(--sp-t-sm); font-weight: 500; min-width: 13em; }
.sp-arr { transition: transform 0.5s var(--sp-ease); }
.sp-ulink:hover .sp-arr, .sp-btn:hover .sp-arr, .sp-pill:hover .sp-arr { transform: translateX(5px); }
.sp-btn { display: inline-flex; align-items: center; gap: 12px; padding: 14px 22px; border-radius: 999px; font-size: 15px; font-weight: 500; text-decoration: none; background: var(--sp-fg); color: var(--sp-ink) !important; transition: background 0.3s, color 0.3s; }
.sp-btn--heat { background: var(--sp-heat); color: #fff !important; }
.sp-btn--ghost { background: transparent; color: var(--sp-fg) !important; border: 1px solid var(--sp-line); }
.sp-btn:hover { background: var(--sp-cold-deep); color: #fff !important; }
.sp-ctas { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

/* index rows */
.sp-idx { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--sp-gut); align-items: baseline; border-top: 1px solid var(--sp-line); padding-top: 14px; font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.045em; }
.sp-idx > *:first-child { grid-column: 1 / 5; }
.sp-idx .sp-idx-mid { grid-column: 5 / 9; color: var(--sp-mute); }
.sp-idx .sp-idx-num { grid-column: 9 / 13; justify-self: end; }
.sp-dot::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--sp-heat); margin-right: 9px; vertical-align: 1px; }

/* full-bleed media layers */
.sp-media { position: absolute; left: 0; right: 0; top: -14%; bottom: -14%; z-index: 0; pointer-events: none; }
.sp-media img { width: 100%; height: 100%; object-fit: cover; will-change: transform; }
.sp-shade { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.sp-on { position: relative; z-index: 1; }

/* hero: pulled up under the sticky site header so the photo runs behind it */
.sp-hero { position: relative; min-height: 100vh; display: flex; flex-direction: column; justify-content: flex-end; margin-top: calc(var(--sp-hd) * -1); padding: calc(var(--sp-hd) + clamp(48px, 12vh, 140px)) var(--sp-gut) 0; overflow: clip; background: var(--sp-bg); }
.sp-hero .sp-media { top: 0; bottom: -10%; }
.sp-hero .sp-media img { object-position: 50% 38%; }
.sp-hero .sp-shade { background: linear-gradient(180deg, rgba(15, 16, 17, 0.55) 0%, rgba(15, 16, 17, 0) 30%, rgba(15, 16, 17, 0.18) 62%, var(--sp-bg) 100%); }
.sp-hero-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--sp-gut); row-gap: 28px; align-items: end; }
.sp-hero-aside { grid-column: 1 / 5; display: grid; gap: 22px; justify-items: start; font-size: var(--sp-t-sm); line-height: 1.45; max-width: 34ch; }
.sp-hero-aside p { margin: 0; }
.sp-hero h1 { grid-column: 5 / 13; text-shadow: 0 2px 30px rgba(0, 0, 0, 0.5); }
.sp-ir { margin-top: clamp(48px, 8vh, 100px); }
.sp-ir-row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding-bottom: 8px; }
.sp-ir-hint { color: var(--sp-mute); }
.sp-gw { position: relative; transform-origin: 0 100%; will-change: transform; margin-bottom: -0.035em; --mx: 30%; --my: 55%; filter: drop-shadow(0 18px 40px rgba(0, 0, 0, 0.55)); }
.sp-spot { position: absolute; left: var(--mx); top: var(--my); width: 30px; height: 30px; transform: translate(-50%, -50%); opacity: 0; transition: opacity 0.6s; pointer-events: none; }
.sp-spot::before, .sp-spot::after { content: ""; position: absolute; background: #fff; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.55); }
.sp-spot::before { left: 50%; top: 0; bottom: 0; width: 1.5px; transform: translateX(-50%); }
.sp-spot::after { top: 50%; left: 0; right: 0; height: 1.5px; transform: translateY(-50%); }
.sp-spot-t { position: absolute; left: calc(100% + 8px); top: calc(100% + 2px); background: var(--sp-bg3); color: var(--sp-fg); border: 1px solid var(--sp-line); padding: 4px 7px; border-radius: 3px; white-space: nowrap; font-size: 11px; }
.sp-spot.is-flip .sp-spot-t { left: auto; right: calc(100% + 8px); }
.is-ir .sp-spot { opacity: 1; }

/* reveals: only when motion is allowed */
.sp-motion .sp-rv-lines .sp-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: 0.14em; margin-bottom: -0.14em; }
.sp-motion .sp-rv-lines .sp-wi { display: inline-block; transform: translateY(112%); transition: transform 1.05s var(--sp-ease); }
.sp-motion .sp-rv-lines.is-in .sp-wi { transform: none; }
.sp-motion [data-rise] { overflow: hidden; }
.sp-motion [data-rise] .sp-fit { transform: translateY(102%); transition: transform 1.3s var(--sp-ease) var(--d0, 0s); }
.sp-motion [data-rise].is-in .sp-fit { transform: none; }
.sp-motion .sp-rv { opacity: 0; transform: translateY(46px); transition: opacity 0.9s var(--sp-ease), transform 1.15s var(--sp-ease); transition-delay: var(--d, 0s); }
.sp-motion .sp-rv.is-in { opacity: 1; transform: none; }

/* intro + how we work */
.sp-intro { background: var(--sp-bg); padding-top: clamp(96px, 11vw, 180px); }
.sp-intro-st { display: grid; gap: 0.75em; max-width: 1120px; }
.sp-intro-st .sp-statement:nth-child(2) { color: var(--sp-mute); }
.sp-intro-body { margin-top: clamp(72px, 9vw, 150px); border-top: 1px solid var(--sp-line); padding-top: 14px; font-size: 12px; }
.sp-intro-body > .sp-lab, .sp-intro-body > .sp-num { position: sticky; top: calc(var(--sp-hd) + 12px); align-self: start; font-weight: 500; text-transform: uppercase; letter-spacing: 0.045em; }
.sp-intro-body > .sp-lab { grid-column: 1 / 5; }
.sp-intro-body > .sp-num { grid-column: 11 / 13; justify-self: end; }
.sp-fills { grid-column: 5 / 11; list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(36px, 4vw, 56px); font-size: var(--sp-t-md); }
.sp-fill { display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: 20px; align-items: start; }
.sp-fill h3 { margin: 2px 0 6px; font-size: 18px; font-weight: 600; letter-spacing: -0.01em; }
.sp-fill p { margin: 0; color: var(--sp-mute); max-width: 38ch; transition: color 0.8s var(--sp-ease); }
.sp-fill.is-lit p { color: var(--sp-fg); }
.sp-ico { width: 52px; height: 52px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; color: var(--sp-mute); transition: color 0.8s var(--sp-ease); overflow: visible; }
.sp-fill.is-lit .sp-ico { color: var(--sp-fg); }
.sp-ico .sp-a { stroke: var(--ac); stroke-width: 2; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.2s var(--sp-ease) 0.2s; }
.sp-ico .sp-af { fill: var(--ac); stroke: none; opacity: 0.92; transform: scale(0); transform-box: view-box; transform-origin: var(--o, 24px 24px); transition: transform 1s var(--sp-ease) 0.25s; }
.sp-ico text { fill: currentColor; stroke: none; font: 600 11px var(--sp-body); }
.sp-ico .sp-at { fill: var(--ac); opacity: 0; transition: opacity 0.8s 0.5s; }
.sp-fill.is-lit .sp-ico .sp-a { stroke-dashoffset: 0; }
.sp-fill.is-lit .sp-ico .sp-af { transform: none; }
.sp-fill.is-lit .sp-ico .sp-at { opacity: 1; }
.sp-ico .sp-occ { fill: var(--sp-bg); }
.sp-ac-heat { --ac: var(--sp-heat); } .sp-ac-cold { --ac: #2E9BEF; }
.sp-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--sp-gut); row-gap: 44px; margin-top: clamp(96px, 11vw, 180px); }
.sp-stats--tight { margin-top: clamp(40px, 5vw, 72px); }
.sp-stat { border-top: 1px solid var(--sp-line); padding-top: 14px; display: grid; gap: 12px; align-content: start; }
.sp-stat b { font-family: var(--sp-display); font-stretch: 62.5%; font-weight: 800; font-size: clamp(56px, 8vw, 140px); line-height: 0.84; letter-spacing: -0.004em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.sp-stat b small { font-size: 0.32em; letter-spacing: 0.01em; margin-left: 0.12em; color: var(--sp-mute); }
.sp-stat > span { font-size: var(--sp-t-sm); max-width: 24ch; color: var(--sp-mute); }

/* full-bleed band */
.sp-band { position: relative; height: clamp(480px, 88vh, 920px); overflow: clip; display: flex; align-items: flex-end; padding: 0 var(--sp-gut) clamp(32px, 5vw, 64px); background: var(--sp-bg); clip-path: inset(0 var(--cl, 0px)); }
.sp-band .sp-shade { background: linear-gradient(180deg, rgba(15, 16, 17, 0.55) 0%, rgba(15, 16, 17, 0) 30%, rgba(15, 16, 17, 0.15) 55%, rgba(15, 16, 17, 0.9) 100%); }
.sp-band-cap { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--sp-gut); align-items: end; width: 100%; }
.sp-band-cap .sp-statement { grid-column: 1 / 9; text-shadow: 0 2px 30px rgba(0, 0, 0, 0.5); }
.sp-band-cap .sp-mono { grid-column: 10 / 13; justify-self: end; text-align: right; color: var(--sp-mute); }

/* proof of work: pinned window */
.sp-work { background: var(--sp-bg2); padding-inline: 0; padding-top: clamp(64px, 7vw, 110px); }
.sp-work > .sp-idx { margin-inline: var(--sp-gut); }
.sp-pin { position: relative; height: 300vh; }
.sp-pin-in { position: sticky; top: 0; height: 100vh; padding-inline: var(--sp-gut); display: flex; flex-direction: column; justify-content: center; overflow: hidden; }
.sp-pw .sp-giant { font-size: 12vw; }
.sp-gap { display: inline-block; width: 1.4em; height: 0.71em; vertical-align: baseline; }
.sp-win { position: absolute; left: 0; top: 0; margin: 0; width: min(34vw, 480px); height: min(22vw, 300px); transform: translate3d(34vw, 46vh, 0); overflow: hidden; background: var(--sp-bg3); z-index: 2; will-change: transform, width, height; --z: 1.18; --e: 0; }
.sp-win img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(var(--z)); }
.sp-win img.is-on { opacity: 1; }
.sp-win::after { content: ""; position: absolute; inset: auto 0 0 0; height: 34%; background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.6)); opacity: var(--e); z-index: 1; }
.sp-win-cap { position: absolute; left: 0; top: 0; z-index: 3; display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; font-size: 12px; transform: translate3d(34vw, 80vh, 0); width: min(34vw, 480px); }
.sp-win-cap .sp-cap-t { justify-self: end; text-align: right; min-width: 0; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sp-win-cap.is-tight { grid-template-columns: minmax(0, 1fr); }
.sp-win-cap.is-tight > span:not(.sp-cap-t) { display: none; }
.sp-win-cap.is-tight .sp-cap-t { justify-self: start; text-align: left; }

/* job log rows and project rows */
.sp-jobs { padding-inline: var(--sp-gut); margin-top: clamp(48px, 6vw, 96px); padding-bottom: var(--sp-sec); }
.sp-jobs-head { align-items: end; margin-bottom: clamp(28px, 3vw, 44px); }
.sp-jobs-head h3 { grid-column: 1 / 7; margin: 0; font-size: var(--sp-t-lg); font-weight: 500; letter-spacing: -0.02em; line-height: 1.1; }
.sp-jobs-head p { grid-column: 7 / 11; margin: 0; font-size: var(--sp-t-sm); color: var(--sp-mute); max-width: 42ch; }
.sp-joblist { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--sp-line); }
.sp-job a { position: relative; isolation: isolate; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--sp-gut); align-items: baseline; padding: 22px 0; border-bottom: 1px solid var(--sp-line); text-decoration: none; transition: color 0.45s var(--sp-ease); }
.sp-job a::before { content: ""; position: absolute; z-index: -1; inset: -1px calc(var(--sp-gut) * -1); background: var(--sp-fg); transform: scaleY(0); transform-origin: 50% 100%; transition: transform 0.55s var(--sp-ease); }
.sp-job a:hover, .sp-job a:focus-visible { color: var(--sp-bg); }
.sp-job a:hover::before, .sp-job a:focus-visible::before { transform: scaleY(1); }
.sp-job time, .sp-job .sp-jd { grid-column: 1 / 3; }
.sp-job .sp-jt { grid-column: 3 / 9; font-size: clamp(20px, 2.1vw, 31px); letter-spacing: -0.02em; line-height: 1.12; transition: transform 0.55s var(--sp-ease); }
.sp-job a:hover .sp-jt { transform: translateX(10px); }
.sp-job .sp-jtag { grid-column: 9 / 12; color: var(--sp-mute); transition: color 0.45s; }
.sp-job a:hover .sp-jtag { color: inherit; }
.sp-job .sp-ja { grid-column: 12 / 13; justify-self: end; font-size: 20px; transition: transform 0.55s var(--sp-ease); }
.sp-job a:hover .sp-ja { transform: rotate(45deg); }
.sp-sector { margin-top: clamp(40px, 5vw, 72px); }
.sp-sector-head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--sp-gut); align-items: baseline; margin-bottom: 14px; }
.sp-sector-head h3 { grid-column: 1 / 6; margin: 0; font-size: var(--sp-t-lg); font-weight: 500; letter-spacing: -0.02em; }
.sp-sector-head p { grid-column: 6 / 13; margin: 0; color: var(--sp-mute); font-size: var(--sp-t-sm); max-width: 52ch; }
.sp-sector-empty { margin: 0; padding: 18px 0; border-top: 1px solid var(--sp-line); border-bottom: 1px solid var(--sp-line); color: var(--sp-mute); font-size: var(--sp-t-sm); }

/* services accordion */
.sp-svc { padding-bottom: var(--sp-sec); background: radial-gradient(55% 40% at 0% 8%, rgba(216, 56, 28, 0.13), transparent 70%), radial-gradient(55% 40% at 100% 92%, rgba(0, 121, 213, 0.14), transparent 70%), var(--sp-bg3); }
.sp-svc-top { margin-top: clamp(28px, 3.4vw, 52px); }
.sp-svc-top .sp-statement { grid-column: 5 / 13; }
.sp-wordbox { overflow: clip; margin-top: clamp(64px, 7vw, 120px); }
.sp-drift { will-change: transform; }
.sp-svc-list { margin-top: clamp(56px, 6vw, 100px); }
.sp-lede { grid-column: 5 / 13; margin: 0 0 18px; font-size: var(--sp-t-sm); color: var(--sp-mute); }
.sp-acc { grid-column: 5 / 13; border-top: 1px solid var(--sp-line); }
.sp-acc-i { border-bottom: 1px solid var(--sp-line); }
.sp-acc-h { width: 100%; display: grid; grid-template-columns: 64px minmax(0, 1fr) auto 18px; align-items: center; column-gap: 18px; padding: 21px 0; }
.sp-acc-t { font-size: clamp(19px, 1.7vw, 24px); font-weight: 500; letter-spacing: -0.015em; }
.sp-acc-m { color: var(--sp-mute); text-align: right; }
.sp-tag { display: inline-flex; align-items: center; gap: 8px; font-family: var(--sp-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em; }
.sp-tag::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--c); }
.sp-tag--cold { --c: var(--sp-cold); } .sp-tag--heat { --c: var(--sp-heat); } .sp-tag--both { --c: linear-gradient(90deg, var(--sp-heat) 50%, var(--sp-cold) 50%); }
.sp-plus { position: relative; width: 14px; height: 14px; justify-self: end; }
.sp-plus::before, .sp-plus::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1.5px; margin-top: -0.75px; background: currentColor; transition: transform 0.55s var(--sp-ease); }
.sp-plus::after { transform: rotate(90deg); }
.sp-acc-i.is-open .sp-plus::after { transform: rotate(0deg); }
.sp-acc-b { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.65s var(--sp-ease); }
.sp-acc-i.is-open .sp-acc-b { grid-template-rows: 1fr; }
.sp-acc-b > div { overflow: hidden; min-height: 0; }
.sp-acc-in { padding: 0 0 28px 82px; display: grid; gap: 18px; max-width: 72ch; }
.sp-acc-in p { margin: 0; }
.sp-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.sp-chips li { border: 1px solid var(--sp-line); border-radius: 999px; padding: 6px 13px; font-size: 13px; }

/* reviews over a full-bleed photo */
.sp-rev { position: relative; overflow: clip; background: var(--sp-bg3); }
.sp-rev .sp-shade { background: linear-gradient(180deg, var(--sp-bg3) 0%, rgba(10, 10, 11, 0.74) 22%, rgba(10, 10, 11, 0.8) 70%, var(--sp-bg) 100%); }
.sp-rev-grid { margin-top: clamp(56px, 6vw, 100px); }
.sp-rev-count { grid-column: 1 / 5; font-size: 13px; }
.sp-rev-q { grid-column: 5 / 13; margin: 0; }
.sp-rev-q p { font-size: clamp(24px, 2.75vw, 42px); line-height: 1.12; letter-spacing: -0.02em; font-weight: 500; margin: 0 0 30px; min-height: 4.4em; text-wrap: pretty; text-shadow: 0 2px 24px rgba(0, 0, 0, 0.5); }
.sp-rev-who { display: flex; gap: 14px; align-items: center; font-size: 13px; line-height: 1.35; }
.sp-stars { color: #F7C948; letter-spacing: 2px; font-size: 14px; }
.sp-rev-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(56px, 7vw, 110px); border: 1px solid var(--sp-line); background: rgba(10, 10, 11, 0.45); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.sp-rev-tab { position: relative; display: grid; gap: 6px; padding: 26px 22px; border-right: 1px solid var(--sp-line); color: var(--sp-mute); transition: color 0.4s; }
.sp-rev-tab:last-child { border-right: 0; }
.sp-rev-tab b { font-weight: 500; font-size: 15px; }
.sp-rev-tab.is-on, .sp-rev-tab:hover { color: var(--sp-fg); }
.sp-bar { position: absolute; left: 0; top: -1px; height: 2px; width: 100%; background: var(--sp-heat); transform: scaleX(0); transform-origin: 0 50%; }
.sp-rev-tab.is-on .sp-bar { animation: sp-bar 7s linear forwards; }
.sp-rev.is-paused .sp-rev-tab.is-on .sp-bar, .sp-rev-tabs:hover .sp-rev-tab.is-on .sp-bar { animation-play-state: paused; }
.sp-rm .sp-rev-tab.is-on .sp-bar { animation: none; transform: scaleX(1); }
@keyframes sp-bar { to { transform: scaleX(1); } }

/* door cards */
.sp-who { background: var(--sp-bg); }
.sp-who-head { margin-top: clamp(28px, 3.4vw, 52px); }
.sp-who-head .sp-statement { grid-column: 5 / 13; }
.sp-who-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: clamp(56px, 6vw, 100px); }
.sp-card { position: relative; isolation: isolate; display: flex; flex-direction: column; gap: 22px; padding: clamp(20px, 2vw, 28px); min-height: clamp(460px, 42vw, 620px); color: #fff; overflow: hidden; transition: transform 0.7s var(--sp-ease); }
.sp-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle 340px at var(--cx, 50%) var(--cy, -20%), rgba(255, 255, 255, 0.17), transparent 70%); opacity: 0; transition: opacity 0.5s; }
.sp-card:hover { transform: translateY(-8px); }
.sp-card:hover::after { opacity: 1; }
.sp-card--cold { background: var(--sp-cold-deep); }
.sp-card--steel { background: var(--sp-steel, #C9CED2) center / cover; color: var(--sp-ink); }
.sp-card--steel::after { background: radial-gradient(circle 340px at var(--cx, 50%) var(--cy, -20%), rgba(255, 255, 255, 0.55), transparent 70%); }
.sp-card--heat { background: var(--sp-maroon); }
.sp-card-top { display: flex; justify-content: space-between; gap: 12px; font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; }
.sp-card-t { font-family: var(--sp-display); font-stretch: 62.5%; font-weight: 800; text-transform: uppercase; font-size: clamp(54px, 6.2vw, 104px); line-height: 0.85; margin: 0; }
.sp-card p { margin: 0; max-width: 34ch; }
.sp-ticks { list-style: none; margin: auto 0 0; padding: 0; display: grid; gap: 9px; font-size: 15px; }
.sp-ticks li { display: grid; grid-template-columns: 20px minmax(0, 1fr); }
.sp-ticks li::before { content: "+"; font-family: var(--sp-mono); }
.sp-pill { display: flex; justify-content: space-between; align-items: center; gap: 12px; background: #fff; color: var(--sp-ink) !important; border-radius: 999px; padding: 14px 20px; text-decoration: none; font-weight: 500; font-size: 15px; transition: background 0.3s, color 0.3s; }
.sp-card--steel .sp-pill { background: var(--sp-ink); color: #fff !important; }
.sp-card--steel .sp-pill:hover { background: var(--sp-heat); }
.sp-card--cold .sp-pill:hover, .sp-card--heat .sp-pill:hover { background: var(--sp-ink); color: #fff !important; }

/* faq */
.sp-faq { background: var(--sp-bg2); }
.sp-faq-grid { margin-top: clamp(56px, 6vw, 100px); }
.sp-faq-l { grid-column: 1 / 5; display: grid; gap: 22px; align-content: start; justify-items: start; }
.sp-faq-l p { margin: 0; font-size: var(--sp-t-lg); line-height: 1.12; letter-spacing: -0.02em; max-width: 18ch; }
.sp-faq .sp-acc { grid-column: 6 / 13; }
.sp-acc--faq .sp-acc-h { grid-template-columns: minmax(0, 1fr) 18px; }
.sp-acc--faq .sp-acc-in { padding-left: 0; }
.sp-acc--faq .sp-acc-in p { max-width: 56ch; color: var(--sp-mute); }

/* the big call to action at the end of the page */
.sp-cta { position: relative; overflow: clip; background: var(--sp-bg3); }
.sp-cta .sp-shade { background: linear-gradient(180deg, var(--sp-bg2) 0%, rgba(8, 10, 13, 0.8) 18%, rgba(8, 10, 13, 0.86) 60%, rgba(8, 9, 10, 0.96) 100%); }
.sp-cta-top .sp-statement { grid-column: 1 / 9; }
.sp-cta-top .sp-cta-sub { grid-column: 9 / 13; align-self: end; margin: 0; font-size: var(--sp-t-sm); color: var(--sp-mute); justify-self: end; text-align: right; }
.sp-cta-call { margin-top: clamp(48px, 6vw, 96px); }
.sp-phone { display: block; text-decoration: none; }
.sp-cta-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 18px; font-size: var(--sp-t-sm); }

/* contractor facts (trust block, capacity) */
.sp-facts { margin-top: clamp(40px, 5vw, 72px); border-top: 1px solid var(--sp-line); }
.sp-fact { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--sp-gut); padding: 18px 0; border-bottom: 1px solid var(--sp-line); align-items: baseline; }
.sp-fact dt { grid-column: 1 / 5; margin: 0; font-weight: 500; }
.sp-fact dd { grid-column: 5 / 13; margin: 0; color: var(--sp-fg); }
.sp-fact dd small { display: block; margin-top: 4px; color: var(--sp-mute); font-size: 13px; }
.sp-fact dd a { text-decoration: underline; text-underline-offset: 3px; }
.sp-pending { display: inline-block; padding: 3px 10px; border-radius: 30px; border: 1px solid rgba(206, 138, 97, 0.6); color: #CE8A61; font-family: var(--sp-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; }
.sp-preview-only { display: none; }
.bmm-preview .sp-preview-only { display: block; }
.sp-preview-note { margin: 0 0 22px; padding: 12px 16px; border: 1px dashed rgba(206, 138, 97, 0.6); border-radius: 8px; color: #CE8A61; font-size: 13px; }
.sp-three { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-gut); margin-top: clamp(40px, 5vw, 72px); }
.sp-three > div { border-top: 1px solid var(--sp-line); padding-top: 16px; display: grid; gap: 12px; align-content: start; }
.sp-three h3 { margin: 0; font-size: var(--sp-t-lg); font-weight: 500; letter-spacing: -0.02em; }
.sp-three ul { margin: 0; padding-left: 18px; display: grid; gap: 6px; color: var(--sp-mute); }

/* bid form, dark */
.sp-bid { background: var(--sp-bg2); }
.sp-bid-grid { margin-top: clamp(40px, 5vw, 72px); align-items: start; }
.sp-bid-l { grid-column: 1 / 5; display: grid; gap: 22px; align-content: start; }
.sp-bid-l p { margin: 0; color: var(--sp-mute); }
.sp-bid-r { grid-column: 6 / 13; }
.bmm-sp .sp-bid .bmm-form label { color: var(--sp-fg); padding: 0; margin: 0 0 12px; font-size: 14px; line-height: 1.3; }
.bmm-sp .sp-bid .bmm-form input:not([type="checkbox"]), .bmm-sp .sp-bid .bmm-form select, .bmm-sp .sp-bid .bmm-form textarea { width: 100%; min-height: 46px; padding: 10px 12px; background: rgba(238, 238, 234, 0.05); border: 1px solid var(--sp-line); border-radius: 6px; color: var(--sp-fg); font-family: var(--sp-body); font-size: 15px; line-height: 1.3; }
.bmm-sp .sp-bid .bmm-form select option { color: #111; }
.bmm-sp .sp-bid .bmm-form ::placeholder { color: var(--sp-mute); }
.bmm-sp .sp-bid .bmm-form fieldset { border: 1px solid var(--sp-line); border-radius: 6px; padding: 12px 14px 4px; margin: 4px 0 14px; }
.bmm-sp .sp-bid .bmm-form legend { padding: 0 6px; color: var(--sp-mute); font-size: 12px; text-transform: uppercase; letter-spacing: 0.05em; }
.bmm-sp .sp-bid .bmm-form .bmm-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 12px; }
.bmm-sp .sp-bid .bmm-form label:not(.bmm-check) > span:not(.bmm-sr) { display: block; width: 100%; margin-bottom: 6px; color: var(--sp-mute); font-size: 12px; }
.bmm-sp .sp-bid .bmm-form .bmm-check { display: flex; flex-wrap: nowrap; gap: 10px; align-items: center; min-height: 32px; margin: 0 0 6px; }
.bmm-sp .sp-bid .bmm-form .bmm-check input { flex: none; width: 18px; height: 18px; margin: 0; accent-color: var(--sp-heat); }
.bmm-sp .sp-bid .bmm-form .bmm-check span { margin: 0; color: var(--sp-fg); font-size: 14px; }
.bmm-sp .sp-bid .bmm-form .bmm-submit { width: 100%; margin: 6px 0 0; min-height: 52px; border-radius: 999px; background: var(--sp-heat); color: #fff; font-size: 16px; }
.bmm-sp .sp-bid .bmm-form .bmm-submit:hover { background: var(--sp-cold-deep); }
.sp-door { display: grid; gap: 14px; justify-items: start; padding: 22px; border: 1px solid var(--sp-line); border-radius: 10px; }

/* reduced motion: finished states, no pinning */
.sp-rm .sp-pin { height: auto; }
.sp-rm .sp-pin-in { position: relative; height: auto; padding-block: 40px 0; }
.sp-rm .sp-win { position: relative; transform: none !important; width: 100% !important; height: auto !important; aspect-ratio: 16 / 10; margin-top: 28px; }
.sp-rm .sp-win img { transform: none; }
.sp-rm .sp-win-cap { position: relative; transform: none !important; width: auto !important; margin-top: 12px; }
.sp-rm .sp-band { clip-path: none; }
.sp-rm .sp-ico .sp-a { stroke-dashoffset: 0; }
.sp-rm .sp-ico .sp-af { transform: none; }
.sp-rm .sp-ico .sp-at { opacity: 1; }

@media (max-width: 1024px) {
	body.bmm-sp { --sp-hd: 98px; }
}
@media (max-width: 900px) {
	.sp-hero { min-height: 92vh; }
	.sp-hero h1 { grid-column: 1 / -1; grid-row: 1; }
	.sp-hero-aside { grid-column: 1 / -1; grid-row: 2; }
	.sp-idx > *:first-child { grid-column: 1 / 7; }
	.sp-idx .sp-idx-mid { display: none; }
	.sp-idx .sp-idx-num { grid-column: 7 / 13; }
	.sp-intro-body { grid-template-columns: 1fr auto; }
	.sp-intro-body > .sp-lab { grid-column: 1; position: static; }
	.sp-intro-body > .sp-num { grid-column: 2; position: static; }
	.sp-fills { grid-column: 1 / -1; margin-top: 36px; }
	.sp-fill { grid-template-columns: 48px minmax(0, 1fr); column-gap: 16px; }
	.sp-ico { width: 44px; height: 44px; }
	.sp-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sp-band { height: clamp(420px, 78vh, 760px); }
	.sp-band-cap .sp-statement, .sp-band-cap .sp-mono { grid-column: 1 / -1; justify-self: start; text-align: left; }
	.sp-band-cap .sp-mono { margin-top: 14px; }
	.sp-jobs-head h3, .sp-jobs-head p, .sp-sector-head h3, .sp-sector-head p { grid-column: 1 / -1; }
	.sp-jobs-head p, .sp-sector-head p { margin-top: 10px; }
	.sp-job a { grid-template-columns: minmax(0, 1fr) auto; row-gap: 8px; padding: 18px 0; }
	.sp-job time, .sp-job .sp-jd { grid-column: 1; grid-row: 1; }
	.sp-job .sp-jtag { grid-column: 1; grid-row: 3; }
	.sp-job .sp-jt { grid-column: 1 / -1; grid-row: 2; }
	.sp-job .sp-ja { grid-column: 2; grid-row: 1; }
	.sp-svc-top .sp-statement, .sp-lede, .sp-acc, .sp-rev-q, .sp-who-head .sp-statement, .sp-faq-l, .sp-faq .sp-acc, .sp-cta-top .sp-statement, .sp-cta-top .sp-cta-sub, .sp-bid-l, .sp-bid-r { grid-column: 1 / -1; }
	.sp-acc-h { grid-template-columns: minmax(0, 1fr) 18px; row-gap: 6px; }
	.sp-acc-h .sp-tag { grid-column: 1; grid-row: 1; }
	.sp-acc-h .sp-acc-t { grid-column: 1; grid-row: 2; }
	.sp-acc-h .sp-acc-m { grid-column: 1; grid-row: 3; text-align: left; }
	.sp-acc-h .sp-plus { grid-column: 2; grid-row: 1 / 4; }
	.sp-acc-in { padding-left: 0; }
	.sp-rev-count { grid-column: 1 / -1; margin-bottom: 24px; }
	.sp-who-grid, .sp-three { grid-template-columns: 1fr; }
	.sp-card { min-height: 0; }
	.sp-ticks { margin-top: 8px; }
	.sp-faq .sp-acc { margin-top: 40px; }
	.sp-cta-top .sp-cta-sub { justify-self: start; text-align: left; margin-top: 16px; }
	.sp-fact dt, .sp-fact dd { grid-column: 1 / -1; }
	.sp-fact dd { margin-top: 6px; }
	.sp-bid-r { margin-top: 32px; }
}
@media (max-width: 560px) {
	.sp-rev-tabs { grid-template-columns: 1fr; }
	.sp-rev-tab { border-right: 0; border-bottom: 1px solid var(--sp-line); padding: 18px; }
	.sp-rev-tab:last-child { border-bottom: 0; }
	.bmm-sp .sp-bid .bmm-form .bmm-grid2 { grid-template-columns: 1fr; }
}

/* =====================================================================
   Owner pass, 14 Oct 2026
   1. Header: outline-only buttons (no tinted fill, no per-button blur),
      on a blurred band whose blur and shade fade out toward the bottom.
   2. Setpoint pages: the small mono labels are set in the site font
      (Rubik) one step above body text (17px), so they read as labels.
   3. Setpoint hero can hold a <picture> (portrait collage on portrait screens).
   ===================================================================== */
.bmm-header { isolation: isolate; }
.bmm-header::before {
	content: ""; position: absolute; left: 0; right: 0; top: 0; height: 100%; z-index: -1; pointer-events: none;
	background: linear-gradient(180deg, rgba(10, 10, 11, 0.74) 0%, rgba(10, 10, 11, 0.5) 50%, rgba(10, 10, 11, 0) 100%);
	-webkit-backdrop-filter: blur(16px) saturate(1.1); backdrop-filter: blur(16px) saturate(1.1);
	-webkit-mask-image: linear-gradient(180deg, #000 0%, #000 45%, rgba(0, 0, 0, 0.6) 72%, transparent 100%);
	mask-image: linear-gradient(180deg, #000 0%, #000 45%, rgba(0, 0, 0, 0.6) 72%, transparent 100%);
}
.bmm-sp .bmm-header { background: none; }
.bmm-header .bmm-nav__btn, .bmm-header .bmm-nav__btn:focus {
	background: transparent; border-color: rgba(238, 238, 234, 0.4); box-shadow: none;
	-webkit-backdrop-filter: none; backdrop-filter: none; transition: border-color 0.3s, color 0.3s;
}
.bmm-header .bmm-nav__btn:hover, .bmm-header .bmm-nav__btn:focus-visible { background: transparent; border-color: var(--bmm-off); }
.bmm-header .bmm-nav__btn--gc, .bmm-header .bmm-nav__btn--gc:focus { background: transparent; border-color: #0079D5; }
.bmm-header .bmm-nav__btn--gc:hover, .bmm-header .bmm-nav__btn--gc:focus-visible { background: transparent; border-color: #4DA6EC; }
.bmm-header .bmm-nav__btn--em, .bmm-header .bmm-nav__btn--em:focus { border-color: #B3B3B3; }
.bmm-header .bmm-nav__btn--em:hover, .bmm-header .bmm-nav__btn--em:focus-visible { border-color: var(--bmm-off); }

body.bmm-sp { --sp-mono: var(--bmm-font); --sp-t-label: 18px; }
.sp-mono, .sp-tag, .sp-idx, .sp-intro-body, .sp-win-cap, .sp-card-top, .sp-pending, .sp-spot-t, .sp-chips li,
.sp-rev-count, .sp-rev-who, .sp-fact dd small, .sp-preview-note,
.bmm-sp .sp-bid .bmm-form legend, .bmm-sp .sp-bid .bmm-form label:not(.bmm-check) > span:not(.bmm-sr) { font-size: var(--sp-t-label); letter-spacing: 0.01em; }
.sp-tag, .sp-idx, .sp-card-top, .sp-pending, .sp-intro-body > .sp-lab, .sp-intro-body > .sp-num, .bmm-sp .sp-bid .bmm-form legend { letter-spacing: 0.03em; }
.sp-media picture { display: block; width: 100%; height: 100%; will-change: transform; }
/* the collage hero (/contractors/): vivid at the top, darker behind the copy so it stays readable */
.sp-hero--collage .sp-shade {
	background:
		linear-gradient(90deg, rgba(15, 16, 17, 0.62) 0%, rgba(15, 16, 17, 0.25) 36%, rgba(15, 16, 17, 0) 58%),
		linear-gradient(180deg, rgba(15, 16, 17, 0.5) 0%, rgba(15, 16, 17, 0.06) 22%, rgba(15, 16, 17, 0.42) 46%, rgba(15, 16, 17, 0.74) 70%, var(--sp-bg) 100%);
}
.sp-ir-row > span { white-space: nowrap; }
@media (max-width: 900px) {
	.sp-hero--collage .sp-shade { background: linear-gradient(180deg, rgba(15, 16, 17, 0.42) 0%, rgba(15, 16, 17, 0.08) 16%, rgba(15, 16, 17, 0.58) 36%, rgba(15, 16, 17, 0.84) 58%, var(--sp-bg) 100%); }
	.sp-ir-row { flex-wrap: wrap; row-gap: 2px; padding-bottom: 16px; }
}

/* =====================================================================
   INSIGHTS hub (approved 14 Oct 2026; inc/bmm-insights-hub.php)
   /insights/ and category or tag archives on the Setpoint set (body.bmm-sp
   .bmm-hub). Only the parts the hub needs that the set did not have yet;
   everything else on those pages is an existing sp- part.
   ===================================================================== */

/* hub hero: no photo, the word carries it; height follows the content */
.sp-hero--hub { min-height: 0; justify-content: flex-start; padding-top: calc(var(--sp-hd) + clamp(40px, 9vh, 110px));
	background: radial-gradient(55% 60% at 4% 12%, rgba(216, 56, 28, 0.15), transparent 70%), radial-gradient(50% 65% at 98% 78%, rgba(0, 121, 213, 0.16), transparent 70%), var(--sp-bg); }
.sp-hero--hub .sp-ir { margin-top: clamp(44px, 8vh, 96px); }

/* the current page's button in the header */
.bmm-header .bmm-nav__btn--current, .bmm-header .bmm-nav__btn--current:focus { border-color: var(--bmm-off); }

/* shared meta line: date, type, read time */
.sp-meta { margin: 0; color: var(--sp-mute); display: flex; flex-wrap: wrap; gap: 4px 14px; }
.sp-meta > * + *::before { content: "·"; margin-right: 14px; }

/* 01 lead story and the three after it */
.sp-latest { background: var(--sp-bg); padding-top: clamp(64px, 8vw, 120px); }
.sp-lead { margin-top: clamp(28px, 3.4vw, 52px); align-items: end; row-gap: 26px; }
.sp-lead-img { grid-column: 1 / 8; display: block; position: relative; overflow: hidden; aspect-ratio: 16 / 9; max-width: 100%; background: var(--sp-bg3); }
.sp-lead-img img, .sp-note-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--sp-ease); }
.sp-lead-img:hover img, .sp-note a:hover img { transform: scale(1.035); }
.sp-lead-txt { grid-column: 8 / 13; display: grid; gap: 20px; align-content: end; justify-items: start; min-width: 0; }
.bmm-sp .sp-main .sp-lead-txt h2 { font-size: clamp(30px, 3.1vw, 50px); }
.sp-lead-txt h2 a, .sp-note h3 a, .sp-guide h3 a { text-decoration: none; }
.sp-lead-ex { margin: 0; color: var(--sp-mute); max-width: 44ch; }
.sp-notes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-gut); margin-top: clamp(56px, 6vw, 96px); }
.sp-note { min-width: 0; }
.sp-note a { display: grid; gap: 14px; text-decoration: none; border-top: 1px solid var(--sp-line); padding-top: 14px; }
.sp-note-img { aspect-ratio: 16 / 10; max-width: 100%; overflow: hidden; background: var(--sp-bg3); }
.bmm-sp .sp-main .sp-note h3 { margin: 0; font-size: clamp(20px, 1.75vw, 26px); font-weight: 500; letter-spacing: -0.02em; line-height: 1.15; text-wrap: balance; }
.sp-note a:hover h3 { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }

/* equipment pills that act as links (lead story) */
.sp-chips--links a { display: inline-flex; align-items: center; min-height: 40px; margin: -6px -13px; padding: 6px 13px; border-radius: 999px; text-decoration: none; transition: background 0.3s, color 0.3s; }
.sp-chips--links li { transition: border-color 0.3s; }
.sp-chips--links li:hover { border-color: var(--sp-fg); }

/* 02 equipment tiles */
.sp-topics-sec { background: var(--sp-bg2); }
.sp-topics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: clamp(56px, 6vw, 100px); }
.sp-topic { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: space-between; gap: 16px; aspect-ratio: 4 / 5; max-width: 100%; padding: clamp(16px, 1.6vw, 22px); overflow: hidden; color: #fff; text-decoration: none; background: var(--sp-bg3); transition: transform 0.7s var(--sp-ease); }
.sp-topic img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; filter: saturate(0.8) brightness(0.78); transition: transform 1.2s var(--sp-ease), filter 0.6s; }
.sp-topic::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10, 10, 11, 0.62) 0%, rgba(10, 10, 11, 0.08) 38%, rgba(10, 10, 11, 0.2) 60%, rgba(10, 10, 11, 0.88) 100%); }
.sp-topic:hover { transform: translateY(-6px); }
.sp-topic:hover img { transform: scale(1.06); filter: saturate(1) brightness(0.9); }
.sp-topic-n { font-family: var(--sp-display); font-stretch: 62.5%; font-weight: 800; text-transform: uppercase; font-size: clamp(34px, 3.3vw, 56px); line-height: 0.88; letter-spacing: -0.004em; text-wrap: balance; }
.sp-topic-c { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.sp-topic-c .sp-ja { font-size: 20px; transition: transform 0.55s var(--sp-ease); }
.sp-topic:hover .sp-ja { transform: rotate(45deg); }
.bmm-sp .sp-main .sp-topic { color: #fff; }
.bmm-sp .sp-main .sp-topic--all { background: var(--sp-fg); color: var(--sp-ink); }
.sp-topic--all::after { display: none; }
.sp-topic--all:hover .sp-ja { transform: translateY(5px); }

/* 03 the full list, filters, photo peek */
.sp-all { background: var(--sp-bg); }
.sp-filters { display: grid; gap: 14px; margin-bottom: clamp(28px, 3vw, 40px); }
.sp-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.sp-filter-l { color: var(--sp-mute); min-width: 7.2em; }
.bmm-sp .sp-main .sp-chip { display: inline-flex; align-items: center; gap: 9px; min-height: 42px; padding: 6px 16px; border: 1px solid var(--sp-line); border-radius: 999px; font-size: 15px; font-weight: 500; transition: background 0.3s, color 0.3s, border-color 0.3s, opacity 0.3s; }
.sp-chip b { font-weight: 500; color: var(--sp-mute); font-variant-numeric: tabular-nums; }
.bmm-sp .sp-main .sp-chip:hover { border-color: var(--sp-fg); }
.bmm-sp .sp-main .sp-chip[aria-pressed="true"] { background: var(--sp-fg); color: var(--sp-ink); border-color: var(--sp-fg); }
.sp-chip[aria-pressed="true"] b { color: inherit; opacity: 0.55; }
.bmm-sp .sp-main .sp-chip:disabled { opacity: 0.32; cursor: default; border-color: var(--sp-line); }
.sp-count { margin: 0 0 14px; color: var(--sp-mute); }
.sp-empty { margin: 0; padding: 22px 0; border-bottom: 1px solid var(--sp-line); color: var(--sp-mute); }
.sp-more-row { margin-top: 28px; }
.sp-peek { position: fixed; left: 0; top: 0; z-index: 60; width: 260px; aspect-ratio: 3 / 2; pointer-events: none; opacity: 0; transition: opacity 0.25s; box-shadow: 0 18px 50px rgba(0, 0, 0, 0.55); background: var(--sp-bg3); }
.sp-peek img { width: 100%; height: 100%; object-fit: cover; }
.sp-peek.is-on { opacity: 1; }

/* 04 guides: read time as the number */
.sp-guides { background: var(--sp-bg2); }
.sp-shelf { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--sp-gut); row-gap: 56px; margin-top: clamp(56px, 6vw, 100px); }
.sp-guide { grid-template-rows: auto auto 1fr auto; gap: 16px; min-width: 0; }
.bmm-sp .sp-main .sp-guide h3 { margin: 0; font-size: clamp(21px, 1.8vw, 27px); font-weight: 500; letter-spacing: -0.02em; line-height: 1.12; text-wrap: balance; }
.sp-guide p { margin: 0; color: var(--sp-mute); font-size: 15px; max-width: 36ch; }

/* 06 company news reuses the facts list; the follow box reuses the door */
.sp-office { background: var(--sp-bg); }
.sp-fact dd a { text-decoration-thickness: 1px; }

@media (max-width: 1100px) {
	.sp-shelf { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sp-topics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.sp-lead-img, .sp-lead-txt { grid-column: 1 / -1; }
	.sp-notes { grid-template-columns: 1fr; gap: 40px; }
	.sp-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.sp-topic { aspect-ratio: 4 / 4.6; }
	.sp-topic-n { font-size: clamp(25px, 6.6vw, 44px); }
	.sp-filter-l { width: 100%; }
	.sp-peek { display: none; }
}
@media (max-width: 560px) {
	.sp-shelf { grid-template-columns: 1fr; row-gap: 44px; }
	.bmm-sp .sp-main .sp-chip { font-size: 14px; padding: 6px 13px; }
}

/* the blog and archive ground photo stays off on the hub */
body.bmm-sp.blog, body.bmm-sp.archive { background: var(--sp-bg); background-image: none; }

/* sp-btn pills on <button> (the sp- reset strips padding, radius and border from buttons) */
.bmm-sp .sp-main button.sp-btn { padding: 14px 22px; border-radius: 999px; }
.bmm-sp .sp-main button.sp-btn--ghost { border: 1px solid var(--sp-line); }
.bmm-sp .sp-main button.sp-btn--ghost:hover, .bmm-sp .sp-main button.sp-btn--ghost:focus-visible { border-color: var(--sp-fg); }

/* list section spacing (in place of inline styles) */
.sp-jobs.sp-jobs--flush { padding-inline: 0; padding-bottom: 0; }
.sp-jobs.sp-jobs--end { padding-bottom: 0; }
.sp-work--pad { padding-bottom: var(--sp-sec); }
.sp-jobs-head h2 { grid-column: 1 / 7; margin: 0; font-size: var(--sp-t-lg); font-weight: 500; letter-spacing: -0.02em; line-height: 1.1; }
.sp-door--follow { margin-top: clamp(48px, 6vw, 88px); }
.sp-door--follow p { margin: 0; }
.sp-empty a { text-decoration: underline; text-underline-offset: 3px; }

/* archives: a short heading, then the list */
.sp-hero--archive { padding-bottom: clamp(56px, 8vw, 120px); }
.sp-all--archive { padding-top: clamp(24px, 3vw, 48px); }
@media (max-width: 900px) {
	.sp-jobs-head h2 { grid-column: 1 / -1; }
}

/* SEO pass, 14 Oct 2026: Setpoint accordion titles sit inside <h3 class="sp-acc-hd"> so search and
   AI engines see the services, scope rows and questions as headings. The heading adds no styling. */
.bmm-sp .sp-acc-hd { margin: 0; padding: 0; font: inherit; letter-spacing: inherit; text-transform: none; color: inherit; line-height: inherit; }

/* =====================================================================
   Services dropdown, 14 Oct 2026: Commercial and Residential under the header's Services button.
   Same outline button as its neighbours; the panel uses the header's dark blur band recipe.
   Cold dot = commercial, heat dot = residential (the door-card colours).
   ===================================================================== */
.bmm-nav__dd { position: relative; display: inline-flex; }
.bmm-header button.bmm-nav__btn {
	margin: 0; padding: 0 24px; border-width: 3px; border-style: solid; border-radius: 10px;
	font-family: var(--bmm-font); font-size: 12.8px; font-weight: 500; line-height: 1; letter-spacing: 0.8px;
	text-transform: uppercase; color: var(--bmm-off); cursor: pointer;
}
.bmm-header button.bmm-nav__btn:hover, .bmm-header button.bmm-nav__btn:focus { background: transparent; color: var(--bmm-off); }
.bmm-header .bmm-nav__btn--dd { gap: 8px; }
.bmm-header .bmm-nav__dd.is-open .bmm-nav__btn--dd { border-color: var(--bmm-off); }
.bmm-nav__caret { flex: none; transition: transform 0.25s; }
.bmm-nav__dd.is-open .bmm-nav__caret { transform: rotate(180deg); }
.bmm-nav__panel {
	position: absolute; top: 100%; left: 0; z-index: 20; padding-top: 10px;
	visibility: hidden; opacity: 0; transform: translateY(-4px);
	transition: opacity 0.2s, transform 0.2s, visibility 0s linear 0.2s;
}
.bmm-nav__dd.is-open .bmm-nav__panel { visibility: visible; opacity: 1; transform: none; transition: opacity 0.2s, transform 0.2s, visibility 0s; }
@media (hover: hover) and (pointer: fine) {
	.bmm-nav__dd:hover .bmm-nav__panel { visibility: visible; opacity: 1; transform: none; transition: opacity 0.2s, transform 0.2s, visibility 0s; }
	.bmm-nav__dd:hover .bmm-nav__caret { transform: rotate(180deg); }
}
.bmm-header .bmm-nav__menu {
	list-style: none; margin: 0; padding: 6px; width: 320px; display: grid; gap: 2px;
	background: linear-gradient(180deg, rgba(10, 10, 11, 0.94) 0%, rgba(10, 10, 11, 0.86) 100%);
	border: 1px solid rgba(238, 238, 234, 0.4); border-radius: 10px; box-shadow: 0 18px 40px rgba(0, 0, 0, 0.55);
	-webkit-backdrop-filter: blur(16px) saturate(1.1); backdrop-filter: blur(16px) saturate(1.1);
}
.bmm-header .bmm-nav__menu li { margin: 0; padding: 0; }
.bmm-header .bmm-nav__item {
	display: grid; grid-template-columns: 8px minmax(0, 1fr); column-gap: 12px; row-gap: 3px; align-items: center;
	padding: 12px 14px; border-radius: 6px; font-family: var(--bmm-font); color: var(--bmm-off); text-decoration: none;
}
.bmm-header .bmm-nav__item::before { content: ""; grid-row: 1; width: 8px; height: 8px; border-radius: 50%; background: #0079D5; }
.bmm-header .bmm-nav__item--heat::before { background: #D8381C; }
.bmm-header .bmm-nav__item-t { grid-column: 2; font-size: 16px; font-weight: 600; line-height: 1.2; }
.bmm-header .bmm-nav__item-d { grid-column: 2; font-size: 14px; font-weight: 400; line-height: 1.35; color: rgba(238, 238, 234, 0.66); }
.bmm-header .bmm-nav__item:hover, .bmm-header .bmm-nav__item:focus-visible { background: rgba(238, 238, 234, 0.08); color: var(--bmm-off); }
.bmm-header .bmm-nav__item:focus-visible { outline: 2px solid var(--bmm-off); outline-offset: -2px; }
.bmm-header .bmm-nav__item[aria-current="page"] .bmm-nav__item-t { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
@media (prefers-reduced-motion: reduce) { .bmm-nav__panel, .bmm-nav__caret { transition: none; } }
/* phone menu: Services is a label and its two pages sit under it */
.bmm-mnav__label { display: block; padding: 10px 20px 2px; font-family: var(--bmm-font); font-size: 13px; font-weight: 500; line-height: 1.4; color: #5A5F66; }
.bmm-mnav__list .sub-menu { list-style: none; margin: 0; padding: 0 0 4px; }
.bmm-mnav__list .sub-menu a { position: relative; padding-left: 38px; }
.bmm-mnav__list .sub-menu a::before { content: ""; position: absolute; left: 22px; top: 50%; width: 7px; height: 7px; margin-top: -3.5px; border-radius: 50%; background: #0079D5; }
.bmm-mnav__list .sub-menu a[href*="/residential/"]::before { background: #D8381C; }
/* Narrow desktops (1025-1199px): three buttons per side did not fit their columns (Services ran off the left
   edge and Emergency off the right below ~1135px). Tighter padding and gaps keep the row inside the screen. */
@media (min-width: 1025px) and (max-width: 1199px) {
	.bmm-header__group { gap: 8px; }
	.bmm-header .bmm-nav__btn, .bmm-header button.bmm-nav__btn { padding: 0 14px; }
}

/* =====================================================================
   Local SEO pass, 14 Oct 2026
   1. Case studies: the "Service" row of the spec sheet links to the service.
   2. /projects/: sector filter above the index. Buttons follow the header's
      outline buttons; the chosen sector gets the accent outline.
   ===================================================================== */
.bmm-specsheet dd a { color: var(--bmm-accent); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.bmm-specsheet dd a:hover { color: var(--bmm-off); }
.bmm-filter { display: flex; flex-wrap: wrap; gap: 10px; }
.bmm-filter__btn {
	display: inline-flex; align-items: center; gap: 10px; box-sizing: border-box; min-height: 40px; padding: 0 20px;
	font-family: var(--bmm-font); font-size: 12.8px; font-weight: 500; line-height: 1; letter-spacing: 0.8px; text-transform: uppercase;
	color: var(--bmm-off); text-decoration: none; background: transparent; border: 3px solid rgba(238, 238, 234, 0.4); border-radius: 10px;
	transition: border-color 0.3s, background-color 0.3s;
}
.bmm-filter__btn:hover, .bmm-filter__btn:focus-visible { color: var(--bmm-off); border-color: var(--bmm-off); }
.bmm-filter__btn[aria-current="true"] { border-color: var(--bmm-accent); background: rgba(206, 138, 97, 0.14); }
.bmm-filter__n { font-variant-numeric: tabular-nums; color: var(--bmm-sub); }
.bmm-projects__sector[hidden] { display: none; }
@media (max-width: 767px) { .bmm-filter__btn { padding: 0 14px; } }
@media (prefers-reduced-motion: reduce) { .bmm-filter__btn { transition: none; } }

/* =====================================================================
   Residential ground, 15 Oct 2026
   /residential/ (page 1311) swaps the shared rooftop for a collage of
   residential job photos. Same fixed-background mechanics as body.bmm-canvas
   above, so the glass blur still samples it. Layers, top to bottom:
   vignette, dark overlay, collage. The overlay is a CSS layer, not baked in,
   so it can be tuned here. Sources and build script:
   Website/Residential background 2026-10-15/.
   ===================================================================== */
body.bmm-canvas.page-id-1311 {
	background-image:
		radial-gradient(ellipse at 50% 50%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0.6) 60%, rgba(0, 0, 0, 0.97) 100%),
		linear-gradient(rgba(0, 0, 0, 0.64), rgba(0, 0, 0, 0.64)),
		url("/wp-content/themes/hello-elementor-child/assets/img/ground/residential-ground.webp?v=2");
}
@media (max-width: 767px) {
	body.bmm-canvas.page-id-1311 {
		background-image:
			radial-gradient(ellipse at 50% 50%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0.6) 60%, rgba(0, 0, 0, 0.97) 100%),
			linear-gradient(rgba(0, 0, 0, 0.64), rgba(0, 0, 0, 0.64)),
			url("/wp-content/themes/hello-elementor-child/assets/img/ground/residential-ground-m.webp?v=2");
	}
}
@supports (-webkit-touch-callout: none) {
	body.bmm-canvas.page-id-1311 { background-image: none; }
	.page-id-1311 .bmm-backdrop { background-image: url("/wp-content/themes/hello-elementor-child/assets/img/ground/residential-ground.webp?v=2"); }
	.page-id-1311 .bmm-backdrop::before { background: radial-gradient(ellipse at 50% 50%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0.6) 60%, rgba(0, 0, 0, 0.97) 100%), rgba(0, 0, 0, 0.64); }
	@media (max-width: 767px) {
		.page-id-1311 .bmm-backdrop { background-image: url("/wp-content/themes/hello-elementor-child/assets/img/ground/residential-ground-m.webp?v=2"); }
	}
}

/* ---- Post glass, 16 Oct 2026: the copy column on single posts sits on the site's glass
   panel (the .bmm-glass values) so the text reads over the dusk photo ---- */
.bmm-post__main {
	border-radius: 30px;
	background-image: radial-gradient(rgba(42, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.6) 100%);
	border: 2px solid rgba(32, 0, 0, 0.53);
	box-shadow: 0 0 30px 10px rgba(0, 0, 0, 0.75);
	-webkit-backdrop-filter: blur(13px); backdrop-filter: blur(13px);
}
@media (max-width: 1024px) {
	.bmm-post__main { padding: 24px 16px; border-radius: 24px; }
}

/* ---- Alignment audit, 6 Nov 2026: fixes found by a 7-viewport audit of every public URL
   (1920, 1440, 1354, 1024, 768, 390, 360). Additive only; each rule names what it repairs. ---- */

/* Archivo with its width axis declared, so the condensed giant words, stats and card titles stay
   condensed in every browser. OMGF re-cached the Google stylesheet on 6 Nov without `font-stretch`;
   Chrome still narrows the font, Safari and Firefox clamp it to normal width. */
@font-face {
	font-family: "Archivo"; font-style: normal; font-weight: 100 900; font-stretch: 62% 125%; font-display: swap;
	src: url("/wp-content/themes/hello-elementor-child/assets/fonts/archivo-wdth-wght-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Archivo"; font-style: normal; font-weight: 100 900; font-stretch: 62% 125%; font-display: swap;
	src: url("/wp-content/themes/hello-elementor-child/assets/fonts/archivo-wdth-wght-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Setpoint resets (`.bmm-sp .sp-main h3` / `button`) outranked the component rules:
   - door-card titles fell back to wide Rubik and ran out of the card ("KITCHENS", "BUILDINGS") */
.bmm-sp .sp-main .sp-card-t { font-family: var(--sp-display); }
/* - accordion rows and review tabs lost their padding, so rows sat on their dividers */
.bmm-sp .sp-main .sp-acc-h { padding: 21px 0; }
.bmm-sp .sp-main .sp-rev-tab { padding: 26px 22px; transition: color 0.4s; }
@media (max-width: 560px) { .bmm-sp .sp-main .sp-rev-tab { padding: 18px; } }
/* - the bid form's submit lost its padding and centring ("Request a bid package" sat on the left edge) */
.bmm-sp .sp-bid .bmm-form .bmm-submit { padding: 0 24px; text-align: center; font-weight: 500; line-height: 1.2; }
/* Bid form: "Bid due date" has a visible label, so its row now aligns on the fields, not the labels */
.bmm-sp .sp-bid .bmm-form .bmm-grid2 { align-items: end; }

/* Door-card buttons inside .bmm-text / .bmm-side took the accent link colour (orange text on the
   orange and blue buttons); buttons keep their own off-white text */
:is(.bmm-text, .bmm-hero__door, .bmm-kicker, .bmm-empty, .bmm-projects__desc, .bmm-sector__body, .bmm-side, .bmm-panel__body) a.bmm-btn { color: var(--bmm-off); }

@media (max-width: 900px) {
	/* "Take Action Today!" ran under the ACT NOW corner ribbon */
	.bmm-canvas .bmm-cta__title { padding-right: 72px; }
	/* "(B&M — 01)" dropped below the How-we-work list; keep it on the label's row */
	.sp-intro-body > .sp-lab, .sp-intro-body > .sp-num { grid-row: 1; }
	.sp-intro-body > .sp-fills { grid-row: 2; }
	/* section index: label and number share the row instead of wrapping the dot onto its own line */
	.sp-idx { grid-template-columns: minmax(0, 1fr) auto; }
	.sp-idx > *:first-child { grid-column: 1; }
	.sp-idx .sp-idx-num { grid-column: 2; }
	/* statements placed with an inline grid-column stayed indented to column 5 on phones */
	.sp-g12 > .sp-statement[style*="grid-column"] { grid-column: 1 / -1 !important; }
}

@media (max-width: 767px) {
	/* silver section ribbons: text was flush against the left end */
	.bmm-tag > span { text-align: center; padding-inline: 12px; }
	/* "Maintenance services" / "What we do at home" ribbon ran 20px past the right edge */
	.bmm-maint > .bmm-tag { width: auto; margin: 0 20px 20px; }
}

/* ---- Alignment audit, 6 Nov 2026 (part 2): tablet widths on the canvas pages ---- */
/* The 16px side gutter at 1180px and below lost to the section paddings, so content ran to the
   screen edge on tablets (and on phones for about/contact). Phones keep the full-bleed services
   section set at 767px. */
@media (max-width: 1180px) {
	.bmm-sec--about > .bmm-sec__inner, .bmm-sec--contact > .bmm-sec__inner { padding-left: 16px; padding-right: 16px; }
}
@media (min-width: 768px) and (max-width: 1180px) {
	.bmm-sec--services > .bmm-sec__inner { padding-left: 16px; padding-right: 16px; }
}
/* ribbons sized in % plus 100px padding: between 768 and ~1000px the label ran past the ribbon end */
@media (min-width: 768px) { .bmm-tag { min-width: max-content; } }
/* service tiles: "REFRIGERATION" was wider than its tile's ribbon on tablets */
@media (min-width: 768px) and (max-width: 1100px) {
	.bmm-tile { padding-left: 12px; padding-right: 12px; }
	.bmm-tile > .bmm-band--lg > span { font-size: clamp(16px, 2.2vw, 24px); }
}
/* hero badges: "30+ YEARS EXPERIENCE" touched both ends of its pill */
@media (min-width: 768px) and (max-width: 1180px) {
	.bmm-hero__badges .bmm-band > span { padding-left: 10px; padding-right: 10px; font-size: clamp(12px, 1.4vw, 16px); }
	/* "EMERGENCY CONTACT" sat on the left end of its badge */
	.bmm-emerg { gap: 10px; padding-left: 14px; padding-right: 8px; }
}
/* the hero headline's first line wrapped with "for" alone on tablets: balance the wrapped lines */
@media (max-width: 900px) { .bmm-canvas .bmm-hero .bmm-h1 { text-wrap: balance; } }
