:root{--red:#FF0000}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#FFFFFF;color:#0A0A0A;font-family:'Montserrat',system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%}
a{color:inherit}a:hover{opacity:.85}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.b44-hl{transition:color .2s ease}
.b44-contact:hover{opacity:1}
.b44-contact:hover .b44-hl{color:var(--red)}
@keyframes b44m{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.b44-track{animation:b44m 60s linear infinite}
@keyframes b44mr{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.b44-track-rev{animation:b44mr 70s linear infinite}
.b44-row .b44-t{transition:color .25s ease, transform .35s cubic-bezier(.2,.7,.2,1)}
.b44-row:hover .b44-t{color:var(--red);transform:translateX(12px)}
/* services accordion */
.svc{border-bottom:1px solid #CFCFCB}
.svc-btn{width:100%;background:none;border:0;padding:36px 0;margin:0;cursor:pointer;display:flex;align-items:center;gap:24px;text-align:left;color:#0A0A0A;font:inherit}
.svc-n{flex:0 0 64px;font-size:14px;font-weight:600;color:var(--red)}
.svc-t{flex:1 1 auto;min-width:0;font-family:'Montserrat',sans-serif;font-size:clamp(24px,3.4vw,48px);line-height:1.1;font-weight:700;letter-spacing:-0.035em}
.svc-ico{flex:0 0 56px;height:56px;border-radius:50%;border:1px solid #0A0A0A;display:inline-flex;align-items:center;justify-content:center;color:#0A0A0A}
.svc-ico svg{transition:transform .3s ease}
.svc.is-open .svc-t,.svc-wl .svc-t{color:var(--red)}
.svc-wl{scroll-margin-top:24px}
.b44-wlbtn:hover{background:var(--red);color:#FFFFFF!important;opacity:1}
.svc.is-open .svc-ico{background:#0A0A0A;color:#FFFFFF}
.svc.is-open .svc-ico svg{transform:rotate(45deg)}
.svc-body{display:flex;flex-wrap:wrap;gap:16px 48px;padding:0 0 48px 88px}
.svc-body[hidden]{display:none}
.svc-body p{margin:0;flex:1 1 300px;max-width:460px;font-size:17px;line-height:1.7;color:#3D3D3D}
/* lens */
.b44-hero{cursor:default}
.b44-lens{clip-path:circle(208px at 66% 50%)}
.b44-ring{width:416px;height:416px;margin:-208px 0 0 -208px;left:66%;top:50%}
/* ribbons: static centred copy for small screens */
.rib-static{display:none;align-items:center;justify-content:center;gap:14px;white-space:nowrap;font-family:'Montserrat',sans-serif}
.rib-sq{width:8px;height:8px;flex:0 0 auto;display:inline-block}
.rib-static-red{font-weight:800;font-size:22px;letter-spacing:-0.01em}
.rib-static-black{font-weight:700;font-size:12px;letter-spacing:0.07em;gap:12px;transform:translateX(26px)}
/* back to top: appears after half the page, fades out 2 s after scrolling stops */
.b44-up{opacity:0;visibility:hidden;transition:opacity .35s ease,visibility 0s linear .35s}
.b44-up.is-visible{opacity:1;visibility:visible;transition:opacity .35s ease}
@media (hover:none){.b44-lens-wrap{display:none}}
/* small screens */
@media (max-width:720px){
  .b44-navlink{display:none}
  header>div{padding:0 20px!important;height:76px!important}
  header nav{gap:4px!important}
  header img{width:150px!important;height:auto!important}
  .b44-wlbtn{display:none!important}
  /* ribbons: same look as desktop - text runs edge to edge */
  .rib-ribbons{height:200px!important}
  .rib-red{top:28px!important;transform:rotate(-5deg)!important;padding:14px 0!important}
  .rib-black{top:104px!important;transform:rotate(4deg)!important;padding:12px 0!important}
  .rib-red .b44-track{font-size:26px!important}
  .rib-red .b44-track>span{gap:18px!important;padding-right:18px!important}
  .rib-black .b44-track-rev{font-size:15px!important}
  .rib-black .b44-track-rev>span{gap:16px!important;padding-right:16px!important}
  .svc-body{padding:0 0 40px 0}
  .svc-n{flex-basis:40px}
  .svc-ico{flex-basis:44px;height:44px}
  .b44-hero{height:auto!important;min-height:640px}
  .b44-surface{position:relative!important}
  .b44-surface>div{padding-top:72px!important;padding-bottom:72px!important}
  .b44-up{bottom:88px!important;right:-34px!important;transform:rotate(-90deg) scale(.8)!important}
  .b44-lens-wrap{display:none}
}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.b44-track,.b44-track-rev{animation:none;transform:translateX(-7%)}.b44-row .b44-t,.svc-ico svg{transition:none}}
