/* Bark & Nurd shared shell */
.site-wrap{width:min(1420px,calc(100% - 72px));margin:auto}
.site-header{height:82px;position:fixed;z-index:100;left:0;right:0;top:0;background:transparent;border-bottom:1px solid rgba(5,5,5,.15);transition:background .22s,border-color .22s;backdrop-filter:none}
.site-header.scrolled{background:rgba(255,255,255,.88);border-bottom-color:rgba(5,5,5,.1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.site-nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.site-brand{height:100%;display:flex;align-items:center;flex:0 0 auto}
.site-brand img{width:235px;height:72px;object-fit:contain;object-position:left center}
.site-menu{display:flex;align-items:center;gap:24px}
.site-menu a{position:relative;color:#050505;text-decoration:none;font:900 9px Arial,Helvetica,sans-serif;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap}
.site-menu a:not(.site-lab):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:#050505;transition:right .2s}
.site-menu a:not(.site-lab):hover:after,.site-menu a.active:not(.site-lab):after{right:0}
.site-lab{display:inline-flex;align-items:center;gap:8px;background:#050505;color:#fff!important;border:1px solid #050505;padding:12px 15px}
.site-lab:hover{background:#fff;color:#050505!important}.site-lab span{font-size:12px}
.site-menu-btn{display:none;width:44px;height:44px;padding:12px;border:1px solid #050505;background:#050505;color:#fff;cursor:pointer}
.site-menu-btn span{display:block;height:1px;background:currentColor;margin:5px 0}
.site-footer{padding:23px 0;border-top:1px solid #ddd;background:#fff;color:#050505}
.site-footer-inner{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.site-footer-logo img{display:block;width:112px;height:48px;object-fit:contain;object-position:left}
.site-footer-copy{font:400 9px/1.45 Arial,Helvetica,sans-serif;color:#555;letter-spacing:.04em;text-align:right}
@media(max-width:1050px) and (min-width:761px){.site-brand img{width:215px;height:68px}.site-menu{gap:17px}.site-menu a{font-size:8px}}
@media(max-width:760px){
 .site-wrap{width:calc(100% - 38px)}.site-header,.site-nav{height:70px}.site-brand img{width:190px;height:62px}.site-menu-btn{display:block}
 .site-menu{display:none;position:absolute;top:70px;left:0;right:0;background:rgba(5,5,5,.98);color:#fff;padding:14px 19px 26px;flex-direction:column;align-items:stretch;gap:0;backdrop-filter:blur(14px)}
 .site-menu.open{display:flex}.site-menu a{color:#fff;font-size:12px;padding:17px 0;border-bottom:1px solid #333}.site-menu a:after{display:none!important}
 .site-lab{width:max-content;margin-top:18px;border:1px solid #fff;padding:14px 16px!important}
 .site-footer{padding:20px 0}.site-footer-logo img{width:94px;height:42px}.site-footer-copy{font-size:8px}
}
@media(max-width:390px){.site-brand img{width:172px;height:58px}}

/* v17 - refined shared shell */
.site-header{mix-blend-mode:normal}
.site-nav{position:relative}
.site-brand img{transition:transform .25s ease,opacity .25s ease}
.site-brand:hover img{transform:scale(1.025)}
.site-menu a{transition:opacity .18s ease,background .18s ease,color .18s ease}
.site-menu:hover a:not(:hover){opacity:.52}
.site-menu:hover .site-lab{opacity:1}
.site-footer{position:relative;overflow:hidden}
.site-footer:after{content:"BN / WORCESTER / UK";position:absolute;right:22px;bottom:-3px;font:900 7px Arial;letter-spacing:.18em;color:#ddd;pointer-events:none}
@media(max-width:760px){.site-menu:hover a:not(:hover){opacity:1}.site-footer:after{display:none}}

/* v18 identity */
.tech-label,.tech-status{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace!important}
.tech-status{font-size:8px;letter-spacing:.13em;text-transform:uppercase}
.site-menu{gap:20px}
@media(max-width:1100px) and (min-width:761px){.site-menu{gap:13px}.site-menu a{font-size:7.5px}}

.lab-transition{position:fixed;z-index:9999;inset:0;background:#050505;color:#fff;display:grid;place-items:center;transform:translateY(100%);transition:transform .38s cubic-bezier(.76,0,.24,1)}.lab-transition.go{transform:none}.lab-transition span{font:900 9px monospace;letter-spacing:.18em}

/* v19 mobile reliability */
@media(max-width:760px){
 html,body{overflow-x:hidden}
 body.menu-open{overflow:hidden}
 .site-header{z-index:1000!important}
 .site-nav{position:relative!important}
 .site-menu-btn{position:relative;z-index:1002;display:block!important;flex:0 0 44px}
 .site-menu-btn span{transition:transform .2s,opacity .2s}
 .site-menu-btn.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
 .site-menu-btn.open span:nth-child(2){opacity:0}
 .site-menu-btn.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
 .site-menu{
   display:flex!important;
   visibility:hidden;
   opacity:0;
   pointer-events:none;
   position:fixed!important;
   z-index:1001!important;
   top:70px!important;
   left:0!important;right:0!important;
   height:calc(100dvh - 70px);
   overflow-y:auto;
   transform:translateY(-10px);
   transition:opacity .18s ease,transform .18s ease,visibility .18s;
 }
 .site-menu.open{visibility:visible;opacity:1;pointer-events:auto;transform:none}
 .site-menu a{display:block!important;flex:none!important}
 .site-lab{display:inline-flex!important}
}

/* v20 definitive mobile controls */
@media (max-width:760px){
 html.contact-open,body.contact-open,body.menu-open{overflow:hidden!important}
 #siteHeader{height:70px!important;position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:5000!important}
 #siteMenuBtn{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;position:relative!important;z-index:5002!important}
 #siteMenu{
   display:flex!important;
   flex-direction:column!important;
   align-items:stretch!important;
   gap:0!important;
   position:fixed!important;
   top:70px!important;left:0!important;right:0!important;bottom:0!important;
   width:100%!important;height:auto!important;
   padding:12px 20px 28px!important;
   background:#050505!important;
   overflow:auto!important;
   visibility:hidden!important;
   opacity:0!important;
   transform:translateY(-8px)!important;
   pointer-events:none!important;
   z-index:5001!important;
 }
 #siteMenu.open{visibility:visible!important;opacity:1!important;transform:none!important;pointer-events:auto!important}
 #siteMenu a{display:block!important;width:100%!important;color:#fff!important;padding:17px 0!important;border-bottom:1px solid #2b2b2b!important}
 #siteMenu .site-lab{width:100%!important;margin-top:16px!important;padding:16px!important;border:1px solid #fff!important}
 #contactFab{display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;position:fixed!important;right:14px!important;bottom:14px!important;z-index:6002!important}
 #contactPanel{display:block!important;position:fixed!important;left:10px!important;right:10px!important;top:82px!important;bottom:80px!important;width:auto!important;height:auto!important;max-height:none!important;background:#fff!important;overflow:auto!important;z-index:6001!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;transform:translateY(12px)!important}
 #contactPanel.open{visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:none!important}
}

/* v25 CLEAN CONTRAST - intentionally simple and last */
.site-lab,.contact-fab,.quick-contact,.contact-submit,.subcta,a.subcta{
 background:#050505!important;color:#fff!important;border-color:#050505!important;
}
.site-lab:link,.site-lab:visited,.quick-contact:link,.quick-contact:visited,
.subcta:link,.subcta:visited,a.subcta:link,a.subcta:visited{color:#fff!important}
.site-lab span,.contact-fab span,.quick-contact span,.contact-submit span,.subcta span{color:inherit!important}

.black{background:#050505!important;color:#fff!important}
.black h1,.black h2,.black h3,.black h4,.black strong,.black b,.black span,.black small,.black label{color:#fff!important}
.black p{color:#b8b8b8!important}
.black a:link,.black a:visited{color:#fff!important}
.black .subcta,.black a.subcta{background:#fff!important;color:#050505!important;border-color:#fff!important}
.black .subcta:link,.black .subcta:visited,.black a.subcta:link,.black a.subcta:visited{color:#050505!important}

.final{background:#050505!important;color:#fff!important}
.final h1,.final h2,.final h3,.final strong,.final b,.final span{color:#fff!important}
.final p{color:#b8b8b8!important}
.final a:link,.final a:visited{color:#fff!important}

.contact-head{background:#050505!important;color:#fff!important}
.contact-head *{color:#fff!important}
.contact-panel,.contact-body{background:#fff!important;color:#050505!important}
.contact-body p,.contact-body label,.contact-body span{color:#050505!important}
.contact-choices button{background:#fff!important;color:#050505!important;border-color:#050505!important}
.contact-choices button.selected,.contact-choices button:hover{background:#050505!important;color:#fff!important}

@media(max-width:760px){
 #siteMenu{background:#050505!important;color:#fff!important}
 #siteMenu a:link,#siteMenu a:visited{color:#fff!important}
 #siteMenu .site-lab{background:#050505!important;color:#fff!important;border-color:#fff!important}
}

.site-lab:hover,.contact-fab:hover,.quick-contact:hover,.contact-submit:hover{
 background:#fff!important;color:#050505!important;
}
