/* Shared motion behaviour; each site retains its own brand typography and artwork. */
.hero-media{transform:none!important;overflow:hidden}.hero-media img,.footer-media img{position:absolute!important;top:-22%!important;left:0;width:100%!important;height:144%!important;max-width:none;object-fit:cover;will-change:transform}
footer{position:relative;isolation:isolate;overflow:hidden;background:#162b2b!important;color:#fff!important}footer .footer-media{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}.footer-media img{object-position:center 40%}footer:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(8,26,29,.88),rgba(8,26,29,.62));pointer-events:none}footer a,footer h2,footer p,footer address{color:inherit}footer .footer-bottom{border-top-color:#ffffff65}footer .footer-bottom>a{border-top-color:#ffffff65}footer .footer-logo{background:rgba(255,255,255,.95);padding:12px;border-radius:3px}.bbrummel-footer .footer-logo{background:none;padding:0;filter:none}.bbrummel-footer:after{background:linear-gradient(100deg,rgba(16,27,22,.87),rgba(16,27,22,.55))}.bbrummel-footer .footer-top{padding-top:55px;padding-bottom:35px}.bbrummel-footer .footer-logo{width:220px;margin-bottom:20px}.bbrummel-footer .footer-bottom{padding-bottom:30px}
@media(prefers-reduced-motion:reduce){.hero-media img,.footer-media img{transform:none!important;will-change:auto}}

@media(max-width:800px){.bbrummel-footer .footer-top{grid-template-columns:1fr;gap:24px}.bbrummel-footer .footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.bbrummel-footer .footer-top>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.bbrummel-footer .footer-top>div:last-child a[href^="mailto:"],.bbrummel-footer .footer-top>div:last-child a[href^="tel:"]{grid-column:1/-1}.bbrummel-footer .footer-top a{min-height:35px}.footer-grid{grid-template-columns:1fr}.footer-grid>div{grid-column:1/-1}}

:root{--logo-surface:#fdfdfd;--logo-ink:#17465b}

/* Brand surfaces and unboxed, keyboard-accessible navigation controls. */
.header.scrolled,.header.open,.header.menu-open{background:var(--logo-surface)!important;color:var(--logo-ink)!important}
.header.scrolled nav,.header.open nav,.header.menu-open nav{background:var(--logo-surface)!important;color:var(--logo-ink)!important}
.header.scrolled nav a,.header.open nav a,.header.menu-open nav a{color:var(--logo-ink)!important}
.header .brand img{background:transparent!important}
.header .menu-button,.header .menu-button:hover,.header.scrolled .menu-button,.header.open .menu-button,.header.menu-open .menu-button{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;width:52px;height:52px;min-width:52px;min-height:52px;gap:0;align-items:center;justify-content:center}
.header .menu-button:focus-visible{outline:3px solid currentColor!important;outline-offset:2px}
.header.scrolled .menu-button,.header.open .menu-button,.header.menu-open .menu-button{color:var(--logo-ink)!important}
.header .menu-button svg{display:block;width:24px;height:24px;flex:none;margin:0}
.header .menu-button>span[aria-hidden]{display:flex;align-items:center;justify-content:center;width:24px;height:24px}
footer{padding-top:40px;padding-bottom:20px}
footer .footer-top,footer .footer-grid{gap:28px}
.bbrummel-footer .footer-top{padding-top:0;padding-bottom:24px}
footer .footer-logo{max-height:120px;width:180px;margin-bottom:16px;object-fit:contain}
footer .footer-about{margin:24px 0;font-size:13px;line-height:1.65}
footer .footer-about p:last-child{margin-bottom:0}
footer .footer-bottom{margin-top:24px;padding-top:18px;padding-bottom:0;align-items:center;flex-wrap:wrap;gap:12px 24px}
.footer-copyright{font-size:12px;line-height:1.5}
@media(max-width:800px){
.header nav,.header.scrolled nav,.header.open nav,.header.menu-open nav{background:var(--logo-surface)!important;color:var(--logo-ink)!important}
.header nav a{color:var(--logo-ink)!important}
footer .footer-top,footer .footer-grid{gap:22px}
footer .footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
footer .footer-bottom>a{margin-top:0;padding-top:0}
}

@media(max-width:800px){.header nav a.nav-call,.header.scrolled nav a.nav-call,.header.menu-open nav a.nav-call{background:var(--logo-ink)!important;color:var(--logo-surface)!important;text-shadow:none}}

.header .menu-button .menu-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Wider hero framing: minimal overscan retains more of each authentic photo. */
.hero-media{inset:0!important}
.hero-media img{top:0!important;height:108%!important}
@media(min-width:901px){
 .hero{height:600px}
 .page-home .hero{height:600px}
 .page-home .hero-media img{object-position:32% top}
 .page-about .hero-media img{object-position:30% top}
 .page-contact .hero-media img{object-position:center top}
 .page-careers .hero-media img{object-position:30% 40%}
}
@media(max-width:900px){
 .hero-media img{height:104%!important;object-position:center center!important}
 .page-home .hero-media img{object-position:center top!important}
}

/* Softer brand surfaces and a complete Contact building view. */
.header .brand img{border-radius:7px}
.hero-panel{border-radius:10px}
@media(min-width:901px){
 .page-contact .hero{height:600px}
 .page-contact .hero-media{inset:0!important}
 .page-contact .hero-media img{top:0!important;height:102%!important;object-fit:cover;object-position:center top}
 .page-contact .hero-panel{width:48%;padding:28px}
 .page-contact .hero-panel h1{font-size:40px;margin:12px 0 24px}
 .page-contact .hero-inner{align-items:flex-start;padding-top:110px;padding-bottom:40px}
}
@media(max-width:900px){
 .hero-panel{margin:12px;width:calc(100% - 24px);background:var(--paper)}
 .page-contact .hero-media img{height:100%!important;object-fit:contain}
}
