/* Site header and menu. The 1 copy of the header rules for every page. Loads after the template stylesheet. */
.vgm *,.vgm ::after,.vgm ::before{box-sizing:border-box}
.vgm button{font:inherit;color:inherit;cursor:pointer;border:0;margin:0;letter-spacing:inherit;text-transform:none;background:0 0}
.vgm a{color:inherit;text-decoration:none}
.vgm svg{display:block;flex:none}
.vgm img{max-width:none}
.vgm-links>a,.vgm-links>button,.vgm-pill{display:flex;align-items:center;border-radius:999px}
.vgm-links>a,.vgm-links>button{justify-content:center;gap:8px;height:44px;padding:0 12px;font:600 16px/1 var(--s-disp);color:var(--s-ink);white-space:nowrap;transition:background .2s,box-shadow .2s}
.vgm-links>a:hover,.vgm-links>button:hover{background:var(--s-key);box-shadow:var(--s-raise)}
.vgm-links>[aria-current],.vgm-links>[data-current],.vgm-links>button[aria-expanded=true]{background:var(--s-key);box-shadow:var(--s-keySh)}
.vgm-dnav>button svg,.vgm-links svg{transition:transform .2s}
.vgm-dnav>button[aria-expanded=true] svg,.vgm-links button[aria-expanded=true] svg{transform:rotate(180deg)}
.vgm-kt b,.vgm-t1{display:block;font:600 14px/1.1 var(--s-disp);color:var(--s-ink)}
.vgm-kt em,.vgm-t2{display:block;font-size:12px;line-height:1.2;color:var(--s-ink2)}
.vgm-kt b{font:600 13.5px/1.2 var(--s-disp)}
.vgm-kt em{font-style:normal;line-height:1.25}
.vgm-prow b{font-size:13px}
.vgm-prow em{color:var(--acc)}
.vgm-prow svg{width:16px;height:16px;color:var(--s-ink2)}
.vgm-dnav>[aria-current],.vgm-dnav>[data-current],.vgm-prow:hover svg{color:var(--s-red)}
.vgm-dnav>a,.vgm-dnav>button{width:100%;padding:0;display:flex;align-items:center;justify-content:space-between;height:52px;font:600 17px/1 var(--s-disp);color:var(--s-ink);border-bottom:1px solid var(--s-rule);text-align:left}
.vgm-sub .vgm-prow em{display:none}
.vgm-drawer .vgm-emg>span:last-child{min-width:0}
@media (max-width:1150px){.vgm-bar{padding-inline:20px;gap:12px}.vgm-links{width:380px}.vgm-links>a,.vgm-links>button{font-size:15px;padding:0 8px;gap:6px}.vgm-brand{gap:12px}.vgm-emb{height:56px}.vgm-emg{padding-right:12px;gap:8px}}
html.nf.nf.nf.nf .vgm .vgm-drawer .vgm-key[aria-label="Get in touch"] svg,html.nf.nf.nf.nf .vgm .vgm-links>a.vgm-key[aria-label="Get in touch"] svg{color:#fff}
.vgm-loc .mb-short,html.n2 .vgm .vgm-prow>svg,html.n2 .vgm.vgm::before{display:none}
.hb-strip-emg .vgm-disc svg{width:15px;height:15px}
.hb-strip-emg b{font-weight:600;color:var(--s-ink)}
.hb-strip-emg em{font-style:normal;margin-left:-2px}
.mb-logo img{width:auto;display:block}
@media (min-width:1025px) and (max-width:1150px){.vgm-tray.mb-tray{width:800px}.mb-emb .vgm-emb,.vgm-brand.mb-emb{height:66px}.hb-strip-emg em{display:none}}
@media (max-width:1024px){.hb-strip-emg,.vgm-loc .mb-full{display:none}.vgm-strip{height:36px;justify-content:center}.vgm-loc{display:flex;font-size:12px}.vgm-loc .mb-short{display:inline}.vgm-sub .vgm-kt{background:0 0;box-shadow:none;padding:0;border-radius:0}.mb-cols{grid-template-columns:1fr;gap:8px}.vgm-sub .vgm-probs.mb-col{background:var(--s-key);box-shadow:var(--s-keySh);padding:8px}.vgm-sub .mb-col .vgm-prow b{font-size:13px}}
@media (min-width:1025px){.vgm{isolation:isolate;--mbg:max(32px,calc((100% - 1240px)/2 + 32px));background:radial-gradient(55% 70%at 12% 8%,rgba(68,168,147,.22),transparent 70%),radial-gradient(45% 60%at 88% 95%,rgba(120,150,170,.16),transparent 70%),radial-gradient(40% 50%at 60% 40%,rgba(120,150,170,.14),transparent 70%),#1c2b32}.vgm::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.015));box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0-1px 0 rgba(255,255,255,.05)}.vgm-strip{background:0 0;box-shadow:inset 0-1px 0 rgba(255,255,255,.1);padding-inline:var(--mbg)}.hb-strip-emg,.vgm .hb-strip-emg em,.vgm-loc{color:rgba(234,240,242,.72)}.hb-strip-emg b{color:#fff}.hb-strip-emg:hover{background:rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.vgm-bar{justify-content:flex-start;gap:16px;height:104px;padding-inline:var(--mbg);background:0 0;box-shadow:none}.vgm-bar>.vgm-brand.mb-emb{display:flex;justify-content:center;height:72px;width:66px;flex:none;border-radius:22px}.vgm-bar>.vgm-brand.mb-emb .vgm-emb{height:58px}.vgm-bar .vgm-navwrap{flex:1;min-width:0}.vgm-bar>.vgm-brand.mb-emb,.vgm-links.mb-links{background:#efece7;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 0 0 1px rgba(0,0,0,.2),0 22px 40px -18px rgba(0,0,0,.6)}.vgm-links.mb-links{width:100%;grid-template-columns:repeat(3,minmax(0,1fr)) 13px repeat(3,44px)}}
html.n2 .vgm .mb-head em{white-space:nowrap;font:600 11px/1.2 var(--s-body);letter-spacing:.09em;text-transform:uppercase;color:var(--ink2);text-align:left}
html.n2 .vgm .vgm-prow b{flex:1;min-width:0;font:600 15px/1.25 var(--s-body);letter-spacing:.005em;color:var(--navy);transition:color .2s}
html.n2 .vgm .vgm-prow .nv-ic svg,html.n2 .vgm .vgm-prow:hover .nv-ic svg{width:18px;height:18px;color:inherit;transform:none}
html.n2 .vgm .vgm-prow:focus-visible b,html.n2 .vgm .vgm-prow:hover b,html.n2 .vgm .vgm-prow[aria-current] b{color:var(--accInk)}
html.n2 .vgm .nv-go{display:flex;justify-content:center}
html.n2 .vgm .nv-go{position:relative;align-items:center;height:44px;margin-top:8px;padding:0 46px 0 10px;border-radius:999px;background:#fff;color:#2f444f;font:600 15px/1 var(--s-body);white-space:nowrap}
html.n2 .vgm .nv-go i{position:absolute;right:6px;top:6px;width:32px;height:32px;border-radius:50%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='%23fff'%3E%3Cpath d='M686-450H190q-13 0-21.5-8.5T160-480q0-13 8.5-21.5T190-510h496L459-737q-9-9-9-21t9-21q9-9 21-9t21 9l278 278q5 5 7 10t2 11q0 6-2 11t-7 10L501-181q-9 9-21 9t-21-9q-9-9-9-21t9-21l227-227Z'/%3E%3C/svg%3E")50% 50%/15px no-repeat,radial-gradient(circle closest-side,#2f444f calc(100% - 5.5px),#f8f6f2 calc(100% - 5px),#f8f6f2 calc(100% - 3px),transparent calc(100% - 2.5px)),conic-gradient(#eba95e 0 120deg,#3e7d19 120deg 240deg,#004eba 240deg 360deg);transition:background-position .2s}
html.n2 .vgm .nv-feat:hover .nv-go i{background-position:calc(50% + 3px) 50%,50% 50%,50% 50%}
@media (min-width:1025px){html.n2 .vgm .vgm-strip{height:40px;padding-inline:var(--mbg);box-shadow:none}html.n2 .vgm .hb-strip-emg:hover{background:0 0;box-shadow:none}html.n2 .vgm .vgm-bar{display:flex;align-items:center;justify-content:flex-start;gap:26px;height:84px;padding-inline:var(--mbg);-webkit-backdrop-filter:none;backdrop-filter:none}html.n2 .vgm .vgm-bar>.vgm-brand.mb-emb,html.n2 .vgm .vgm-links.mb-links{display:flex;align-items:center;border-radius:0;background:0 0;box-shadow:none}html.n2 .vgm .vgm-bar>.vgm-brand.mb-emb{justify-content:center;width:auto;height:auto;flex:none}html.n2 .vgm .vgm-bar>.vgm-brand.mb-emb .vgm-emb{height:66px}html.n2 .vgm .vgm-navwrap{position:static;flex:1;min-width:0;height:100%}html.n2 .vgm .vgm-links.mb-links{gap:0;width:100%;height:100%;padding:0}html.n2 .vgm .vgm-links>.vgm-pdiv{flex:1;width:auto;height:1px;margin:0;background:0 0}html.n2 .vgm .vgm-links>a:not(.vgm-key),html.n2 .vgm .vgm-links>button{position:relative;flex:none;height:100%;padding:0 18px;border-radius:0;background:0 0;box-shadow:none;font:600 16px/1 var(--s-disp);letter-spacing:.005em;transition:color .2s}html.n2 .vgm .vgm-links>a:not(.vgm-key)::after,html.n2 .vgm .vgm-links>button::after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:3px;background:var(--nvline,#C24540);transform:scaleX(0);transform-origin:0 50%;transition:transform .25s cubic-bezier(.6,0,.2,1)}html.n2 .vgm .vgm-links>[aria-current]:not(.vgm-key)::after,html.n2 .vgm .vgm-links>[data-current]::after,html.n2 .vgm .vgm-links>a:not(.vgm-key):hover::after,html.n2 .vgm .vgm-links>button:hover::after,html.n2 .vgm .vgm-links>button[aria-expanded=true]::after{transform:scaleX(1)}html.n2 .vgm .vgm-links>a.vgm-key{flex:none;width:44px;height:44px;margin-left:10px;border-radius:50%;background:0 0;box-shadow:inset 0 0 0 1px var(--nvkline,#D5D0C9);color:var(--nvkink,#2F444F);transition:background .2s,color .2s,box-shadow .2s}html.n2 .vgm .vgm-links>a.vgm-key svg{color:currentColor}html.n2 .vgm .vgm-links>a.vgm-key:hover{background:var(--nvkink,#2F444F);color:var(--nvkinv,#fff);box-shadow:none}html.n2 .vgm .vgm-links>a.vgm-key[aria-label="Get in touch"],html.n2 .vgm .vgm-links>a.vgm-key[aria-label="Get in touch"]:hover{position:relative;display:flex;align-items:center;justify-content:center;width:176px;height:52px;margin-left:18px;padding:0 52px 0 12px;border-radius:999px;font:600 15px/1 var(--s-body);letter-spacing:.005em;color:#fff;white-space:nowrap;background:linear-gradient(145deg,#cf4b46,#b63f3a);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 8px 16px -8px rgba(160,50,45,.7)}html.n2 .vgm .vgm-links>a.vgm-key[aria-label="Get in touch"]::before{content:"Get in touch"}html.n2 .vgm .vgm-links>a.vgm-key[aria-label="Get in touch"] svg{display:none}html.n2 .vgm .vgm-links>a.vgm-key[aria-label="Get in touch"]::after{content:"";position:absolute;right:7px;top:7px;width:38px;height:38px;border-radius:50%;box-shadow:0 2px 5px rgba(90,24,21,.3);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='%23C24540'%3E%3Cpath d='M686-450H190q-13 0-21.5-8.5T160-480q0-13 8.5-21.5T190-510h496L459-737q-9-9-9-21t9-21q9-9 21-9t21 9l278 278q5 5 7 10t2 11q0 6-2 11t-7 10L501-181q-9 9-21 9t-21-9q-9-9-9-21t9-21l227-227Z'/%3E%3C/svg%3E")50% 50%/16px no-repeat;transition:background-position .2s}html.n2 .vgm .vgm-links>a.vgm-key[aria-label="Get in touch"]:hover::after{background-position:calc(50% + 3px) 50%}html.n2 .vgm .vgm-tray.mb-tray{left:var(--mbg);right:var(--mbg);width:auto;transform:none;top:100%;padding:0;border-radius:0 0 16px 16px;background:#fff;box-shadow:0 0 0 1px rgba(47,68,79,.08),0 34px 60px -24px rgba(16,28,34,.55)}html.n2 .vgm .mb-cols{grid-template-columns:2.2fr 1.05fr 1.05fr 1.1fr}}
@media (min-width:1025px) and (max-width:1219px){html.n2 .vgm .vgm-tray .nv-feat{display:none}html.n2 .vgm .mb-cols{grid-template-columns:2fr 1fr 1fr}html.n2 .vgm .vgm-probs.mb-col{padding:22px 20px 18px}html.n2 .vgm .vgm-links>a:not(.vgm-key),html.n2 .vgm .vgm-links>button{padding:0 14px}html.n2 .vgm .vgm-links>a:not(.vgm-key)::after,html.n2 .vgm .vgm-links>button::after{left:14px;right:14px}}
@media (max-width:1024px){html.n2 .vgm .vgm-bar{background:#fff;box-shadow:0 1px 0 var(--rule)}html.n2 .vgm button.vgm-burger{width:46px;height:46px;border-radius:12px;background:0 0;box-shadow:inset 0 0 0 1px #d5d0c9;color:var(--navy)}html.n2 .vgm button.vgm-burger[aria-expanded=true]{background:var(--navy);color:#fff;box-shadow:none}html.n2 .vgm .vgm-drawer{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border-top:1px solid var(--rule);padding:4px 20px 22px;gap:18px;box-shadow:0 24px 30px -20px rgba(16,28,34,.5)}html.n2 .vgm .vgm-dnav>a,html.n2 .vgm .vgm-dnav>button{height:56px;color:var(--navy);border-bottom-color:var(--rule)}html.n2 .vgm .vgm-dnav>[aria-current],html.n2 .vgm .vgm-dnav>[data-current],html.n2 .vgm .vgm-dnav>button[aria-expanded=true]{color:var(--red)}html.n2 .vgm .vgm-sub{padding:0;border-bottom-color:var(--rule)}html.n2 .vgm .vgm-sub .vgm-probs.mb-col{padding:18px 0 10px;background:0 0;box-shadow:none;border-left:0;border-top:1px solid var(--rule)}html.n2 .vgm .vgm-sub .vgm-probs.mb-col:first-child{border-top:0}html.n2 .vgm .vgm-sub .mb-cols{gap:0}html.n2 .vgm .vgm-sub .vgm-pgrid{gap:0 12px}html.n2 .vgm .vgm-sub .mb-col.mb-wide .vgm-pgrid{grid-template-columns:1fr 1fr}html.n2 .vgm .vgm-sub .vgm-prow{min-height:48px;padding:6px 0}html.n2 .vgm .vgm-sub .vgm-prow b{font-size:15px}html.n2 .vgm .vgm-sub .vgm-prow>svg{display:none}html.n2 .vgm .vgm-drawer .vgm-contact{padding:0;gap:8px;border-radius:0;background:0 0;box-shadow:none}html.n2 .vgm .vgm-drawer .vgm-emg{height:52px;background:var(--navy);border-radius:999px;padding:0 16px 0 9px}html.n2 .vgm .vgm-drawer .vgm-t1{color:#fff}html.n2 .vgm .vgm-drawer .vgm-t2{color:rgba(255,255,255,.78)}html.n2 .vgm .vgm-drawer .vgm-key{width:52px;height:52px;background:0 0;box-shadow:inset 0 0 0 1px #d5d0c9;color:var(--navy)}html.n2 .vgm .vgm-drawer .vgm-key svg{color:currentColor}html.n2 .vgm .vgm-drawer .vgm-key[aria-label="Get in touch"]{background:var(--red);color:#fff;box-shadow:none}}
@media (max-width:380px){html.n2 .vgm .vgm-drawer .vgm-key{width:46px;height:46px}}
html.n3 .vgm .vgm-strip{background:#24363f}
html.n3 .vgm .hb-strip-emg,html.n3 .vgm .hb-strip-emg em,html.n3 .vgm .vgm-loc{color:rgba(255,255,255,.8)}
html.n3 .vgm .hb-strip-emg b{color:#fff}
@media (min-width:1025px){html.n3 .vgm.vgm{--nvline:linear-gradient(90deg,#EBA95E 0 33.33%,#3E7D19 33.33% 66.66%,#004EBA 66.66%);--nvkline:rgba(255,255,255,.34);--nvkink:#fff;--nvkinv:#2F444F}html.n3 .vgm .vgm-bar{background:#2f444f;box-shadow:0 16px 30px -20px rgba(8,16,20,.8)}html.n3 .vgm .vgm-bar>.vgm-brand.mb-emb{align-self:flex-start;position:relative;z-index:6;width:96px;height:112px;border-radius:0 0 18px 18px;background:#fff;box-shadow:0 16px 26px -14px rgba(8,16,20,.7)}html.n3 .vgm .vgm-bar>.vgm-brand.mb-emb .vgm-emb{height:86px}html.n3 .vgm .vgm-links>a:not(.vgm-key),html.n3 .vgm .vgm-links>button{color:#fff}html.n3 .vgm .vgm-links>a:not(.vgm-key):hover,html.n3 .vgm .vgm-links>button:hover,html.n3 .vgm .vgm-links>button[aria-expanded=true]{color:#eba95e}html.n3 .vgm .vgm-links>a.vgm-key:not([aria-label="Get in touch"]):hover{background:#fff;color:#2f444f}html.n3 .vgm .vgm-tray.mb-tray{top:calc(100% + 40px);border-radius:16px}html.n3 .vgm .vgm-tray.mb-tray::before{content:"";position:absolute;left:0;right:0;top:-40px;height:40px}}
@media (max-width:1024px){html.n3 .vgm .vgm-bar{background:#2f444f;box-shadow:none}html.n3 .vgm .vgm-bar>.vgm-brand.mb-emb{align-self:start;width:60px;height:80px;justify-content:center;border-radius:0 0 14px 14px;background:#fff;box-shadow:0 12px 18px -10px rgba(8,16,20,.7);position:relative;z-index:3}html.n3 .vgm .vgm-bar>.vgm-brand.mb-emb .vgm-emb{height:62px}html.n3 .vgm button.vgm-burger{box-shadow:inset 0 0 0 1px rgba(255,255,255,.34);color:#fff}html.n3 .vgm button.vgm-burger[aria-expanded=true]{background:#fff;color:#2f444f}}
html.nf .vgm .vgm-strip{background:rgba(0,0,0,.26);box-shadow:inset 0-1px 0 rgba(255,255,255,.09)}
html.nf .vgm .hb-strip-emg,html.nf .vgm .hb-strip-emg em,html.nf .vgm .vgm-loc{color:rgba(234,240,242,.72)}
html.nf .vgm .vgm-bar{background:0 0;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 16px 30px -20px rgba(8,16,20,.8)}
html.nf .vgm .vgm-bar>.vgm-brand.mb-emb{background:linear-gradient(180deg,#f6f4f0,#e6e2db);box-shadow:inset 0-1px 0 rgba(47,68,79,.1),0 0 0 1px rgba(0,0,0,.35),0 16px 26px -14px rgba(0,0,0,.75)}
@media (min-width:1025px){html.nf .vgm .vgm-links>a:not(.vgm-key),html.nf .vgm .vgm-links>button{color:#eaf0f2}html.nf .vgm .vgm-links>a:not(.vgm-key):hover,html.nf .vgm .vgm-links>button:hover,html.nf .vgm .vgm-links>button[aria-expanded=true]{color:#eba95e}html.nf .vgm .vgm-links>a.vgm-key:not([aria-label="Get in touch"]){background:#253942;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 0 1px rgba(0,0,0,.38);color:#eaf0f2}html.nf .vgm .vgm-links>a.vgm-key:not([aria-label="Get in touch"]):hover{background:#eba95e;color:#16242a;box-shadow:none}}
@media (max-width:1024px){html.nf .vgm button.vgm-burger{background:#253942;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 0 1px rgba(0,0,0,.38);color:#eaf0f2}html.nf .vgm button.vgm-burger[aria-expanded=true]{background:#eba95e;color:#16242a;box-shadow:none}html.nf .vgm .vgm-drawer .vgm-emg{background:#1c2b32}}
html.nf.nf.nf .vgm .vgm-key[aria-label^=Call] svg{color:#eba95e}
html.nf.nf.nf .vgm .vgm-key[aria-label="Email us"] svg{color:#44a893}
html.nf.nf.nf .vgm .vgm-key[aria-label="Get in touch"] svg{color:#e2615d}
@media (min-width:1025px){html.nf.nf.nf .vgm .vgm-links>a.vgm-key,html.nf.nf.nf .vgm .vgm-links>a.vgm-key:hover{position:static;display:grid;place-items:center;width:44px;height:44px;margin-left:10px;padding:0;border-radius:50%;font-size:0;background:#253942;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 0 1px rgba(0,0,0,.38),-1px -1px 2px rgba(255,255,255,.04),2px 4px 8px rgba(0,0,0,.45);transition:background .2s}html.nf.nf.nf .vgm .vgm-links>a.vgm-key:hover{background:#2e4651}html.nf.nf.nf .vgm .vgm-links>a.vgm-key::after,html.nf.nf.nf .vgm .vgm-links>a.vgm-key::before{content:none}html.nf.nf.nf .vgm .vgm-links>a.vgm-key svg{display:block}}
@media (max-width:1024px){html.nf.nf.nf .vgm .vgm-drawer .vgm-contact,html.nf.nf.nf .vgm button.vgm-burger{background:#253942;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 0 1px rgba(0,0,0,.38),-1px -1px 2px rgba(255,255,255,.04),2px 4px 8px rgba(0,0,0,.45)}html.nf.nf.nf .vgm button.vgm-burger{border-radius:50%;color:#eaf0f2}html.nf.nf.nf .vgm button.vgm-burger[aria-expanded=true]{background:#16242a;box-shadow:inset 1px 2px 4px rgba(0,0,0,.6),inset -1px -1px 0 rgba(255,255,255,.07),0 0 0 1px rgba(0,0,0,.25);color:#eba95e}html.nf.nf.nf .vgm .vgm-drawer .vgm-contact{padding:6px;gap:8px;border-radius:999px}html.nf.nf.nf .vgm .vgm-drawer .vgm-emg{height:44px;padding:0 16px 0 6px;background:0 0}html.nf.nf.nf .vgm .vgm-drawer .vgm-t1{color:#fff}html.nf.nf.nf .vgm .vgm-drawer .vgm-t2{color:rgba(234,240,242,.72)}html.nf.nf.nf .vgm .vgm-drawer .vgm-key{width:44px;height:44px;background:#16242a;box-shadow:inset 1px 2px 4px rgba(0,0,0,.6),inset -1px -1px 0 rgba(255,255,255,.07),0 0 0 1px rgba(0,0,0,.25)}}
@media (max-width:380px){html.nf.nf.nf .vgm .vgm-drawer .vgm-key{width:40px;height:40px}html.nf.nf.nf .vgm .vgm-drawer .vgm-emg{padding:0 8px 0 5px}}
@media (min-width:1025px){html.nf.nf.nf .vgm .vgm-links>a.vgm-key[aria-label="Get in touch"],html.nf.nf.nf .vgm .vgm-links>a.vgm-key[aria-label="Get in touch"]:hover{position:relative;display:flex;align-items:center;justify-content:center;flex:none;width:168px;height:44px;padding:0 46px 0 14px;border-radius:999px;font:600 15px/1 var(--s-body);letter-spacing:.005em;color:#eaf0f2;white-space:nowrap;background:#253942;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 0 1px rgba(0,0,0,.38),-1px -1px 2px rgba(255,255,255,.04),2px 4px 8px rgba(0,0,0,.45);margin-left:10px;transition:background .2s}html.nf.nf.nf .vgm .vgm-links>a.vgm-key[aria-label="Get in touch"]::before{content:"Get in touch"}html.nf.nf.nf .vgm .vgm-links>a.vgm-key[aria-label="Get in touch"]::after{content:"";position:absolute;right:6px;top:6px;width:32px;height:32px;border-radius:50%;background:#16242a;box-shadow:inset 1px 2px 4px rgba(0,0,0,.6),inset -1px -1px 0 rgba(255,255,255,.07),0 0 0 1px rgba(0,0,0,.25)}html.nf.nf.nf .vgm .vgm-links>a.vgm-key[aria-label="Get in touch"] svg{display:block;position:absolute;right:13px;top:13px;z-index:1;color:#eba95e}html.nf.nf.nf .vgm .vgm-links>a.vgm-key[aria-label="Get in touch"]:hover{background:#2e4651}}
@media (max-width:1024px){html.nf.nf.nf .vgm .vgm-drawer .vgm-key[aria-label="Get in touch"],html.nf.nf.nf .vgm .vgm-drawer .vgm-key[aria-label="Get in touch"]:hover{position:relative;display:flex;align-items:center;justify-content:center;flex:none;width:168px;height:44px;padding:0 46px 0 14px;border-radius:999px;font:600 15px/1 var(--s-body);letter-spacing:.005em;color:#eaf0f2;white-space:nowrap;background:#16242a;box-shadow:inset 1px 2px 4px rgba(0,0,0,.6),inset -1px -1px 0 rgba(255,255,255,.07),0 0 0 1px rgba(0,0,0,.25)}html.nf.nf.nf .vgm .vgm-drawer .vgm-key[aria-label="Get in touch"]::before{content:"Get in touch"}html.nf.nf.nf .vgm .vgm-drawer .vgm-key[aria-label="Get in touch"]::after{content:"";position:absolute;right:6px;top:6px;width:32px;height:32px;border-radius:50%;background:#253942;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 0 1px rgba(0,0,0,.38),-1px -1px 2px rgba(255,255,255,.04),2px 4px 8px rgba(0,0,0,.45)}html.nf.nf.nf .vgm .vgm-drawer .vgm-key[aria-label="Get in touch"] svg{display:block;position:absolute;right:13px;top:13px;z-index:1;color:#eba95e}}
@media (max-width:380px){html.nf.nf.nf .vgm .vgm-drawer .vgm-key[aria-label="Get in touch"],html.nf.nf.nf .vgm .vgm-drawer .vgm-key[aria-label="Get in touch"]:hover{width:126px;height:40px;padding:0 37px 0 7px;font-size:13px}html.nf.nf.nf .vgm .vgm-drawer .vgm-emg{gap:6px}html.nf.nf.nf .vgm .vgm-drawer .vgm-key[aria-label="Get in touch"]::after{right:5px;top:5px;width:30px;height:30px}html.nf.nf.nf .vgm .vgm-drawer .vgm-key[aria-label="Get in touch"] svg{right:11px;top:11px}}
html .vgm .nv-feat .nv-go.nv-go.nv-go i{background-color:#eaa553}
@media (min-width:1025px){html.n2.n3 .vgm.vgm .vgm-navwrap{position:relative}html.n2.n3 .vgm.vgm .vgm-tray.mb-tray{left:0;right:0;width:auto;transform:none;top:calc(100% + 12px)}html.n2.n3 .vgm.vgm .vgm-tray.mb-tray::before{top:-12px;height:12px}html.n2.n3 .vgm.vgm .vgm-tray .mb-cols{grid-template-columns:minmax(0,1fr) 200px 222px 212px}html.n2.n3 .vgm.vgm .vgm-tray .mb-col.mb-wide .vgm-pgrid{grid-template-columns:.78fr 1.22fr}html.n2.n3 .vgm.vgm .vgm-tray .vgm-probs.mb-col{padding-inline:20px}}
@media (min-width:1025px) and (max-width:1219px){html.n2.n3 .vgm.vgm .vgm-tray .mb-cols{grid-template-columns:minmax(0,1fr) 200px 220px}}
html.n3 .vgm.vgm .vgm-bar>.vgm-brand.mb-emb{width:76px;height:100px}
html.n3 .vgm.vgm .vgm-bar>.vgm-brand.mb-emb .vgm-emb{height:80px;width:auto}
@media (max-width:1024px){html.n3 .vgm.vgm .vgm-bar>.vgm-brand.mb-emb{margin-bottom:-20px}}
@media (min-width:1025px){html.n3 .vgm.vgm .vgm-bar>.vgm-brand.mb-emb{width:116px;height:136px}html.n3 .vgm.vgm .vgm-bar>.vgm-brand.mb-emb .vgm-emb{height:106px}html.n2.n3 .vgm.vgm .vgm-tray .mb-cols.mb-cols{grid-template-columns:minmax(0,1.08fr) minmax(0,1.12fr) minmax(0,.8fr)}html.n2.n3 .vgm.vgm .vgm-tray .mb-col .vgm-pgrid.vgm-pgrid{grid-template-columns:1fr 1fr;gap:0 14px}html.n2.n3 .vgm.vgm .vgm-tray .mb-col:nth-child(3) .vgm-pgrid.vgm-pgrid{grid-template-columns:1fr}html.n2.n3 .vgm.vgm .vgm-tray .mb-col .vgm-prow b{white-space:nowrap}html.n2.n3 .vgm.vgm .vgm-tray .nv-feat.nv-feat{display:flex;grid-column:1/-1;flex-direction:row;align-items:center;justify-content:flex-start;gap:6px 18px;margin:0 14px 14px;padding:14px 14px 14px 24px}html.n2.n3 .vgm.vgm .vgm-tray .nv-feat .nv-eb{flex:none}html.n2.n3 .vgm.vgm .vgm-tray .nv-feat strong{flex:none;font-size:18px}html.n2.n3 .vgm.vgm .vgm-tray .nv-feat .nv-go{flex:none;margin:0;min-width:150px}}
@media (min-width:1025px) and (max-width:1219px){html.n2.n3 .vgm.vgm .vgm-tray .vgm-probs.mb-col{padding-inline:16px}html.n2.n3 .vgm.vgm .vgm-tray .mb-col .vgm-prow{gap:9px}html.n2.n3 .vgm.vgm .vgm-tray .mb-col .vgm-prow b{font-size:14px;white-space:normal}html.n2.n3 .vgm.vgm .vgm-tray .nv-feat strong{flex:1}}
@media (max-width:1024px){html.n2 .vgm .vgm-sub .mb-col:nth-child(2) .vgm-pgrid{grid-template-columns:1fr 1fr}}
html .vgm .vgm-links>a:focus-visible,html .vgm .vgm-links>button:focus-visible,html .vgm a:focus-visible,html .vgm button:focus-visible{outline:2px solid #eba95e;outline-offset:3px}
html.nf.nf.nf.nf .vgm .vgm-links>a.vgm-key[aria-label="Get in touch"],html.nf.nf.nf.nf .vgm .vgm-drawer .vgm-key[aria-label="Get in touch"]{background-color:#fff;transition:background-color .2s,box-shadow .2s}
html.n2 body .vgm .vgm-dnav>[aria-current],html.n2 body .vgm .vgm-dnav>[data-current],html.n2 body .vgm .vgm-dnav>button[aria-expanded=true]{color:#2F444F}
html.n2 body[data-bb=virlocept] .vgm .vgm-dnav>[aria-current],html.n2 body[data-bb=virlocept] .vgm .vgm-dnav>[data-current],html.n2 body[data-bb=virlocept] .vgm .vgm-dnav>button[aria-expanded=true]{color:#b8751f}
html.n2 body[data-bb=umbuso] .vgm .vgm-dnav>[aria-current],html.n2 body[data-bb=umbuso] .vgm .vgm-dnav>[data-current],html.n2 body[data-bb=umbuso] .vgm .vgm-dnav>button[aria-expanded=true]{color:#3E7D19}
html.n2 body[data-bb=lighthaven] .vgm .vgm-dnav>[aria-current],html.n2 body[data-bb=lighthaven] .vgm .vgm-dnav>[data-current],html.n2 body[data-bb=lighthaven] .vgm .vgm-dnav>button[aria-expanded=true]{color:#004EBA}
html.nf.n3 .vgm .vgm-links>a:not(.vgm-key):hover,html.nf.n3 .vgm .vgm-links>button:hover,html.nf.n3 .vgm .vgm-links>button[aria-expanded=true],html.n3 .vgm .vgm-links>a:not(.vgm-key):hover,html.n3 .vgm .vgm-links>button:hover,html.n3 .vgm .vgm-links>button[aria-expanded=true]{color:#fff}
html.n3 .vgm .vgm-links>a:not(.vgm-key),html.n3 .vgm .vgm-links>button{z-index:0}
html.n3 .vgm .vgm-links>[aria-current]:not(.vgm-key)::before{content:"";position:absolute;z-index:-1;left:4px;right:4px;top:50%;height:42px;transform:translateY(-50%);border-radius:999px;background:rgba(255,255,255,.14);pointer-events:none}
@media (prefers-reduced-motion:reduce){.vgm *{transition:none!important}}

/* Site search: the round key beside Get in touch, its tray under the menu, and the field at the top of the phone drawer. Rows: business colour disc, name, label, the line where the words were found. */
.vs-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
html.n2.nf body .vgm .vgm-links>button.vgm-find{position:relative;display:grid;place-items:center;flex:none;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:50%;font-size:0;color:#eaf0f2;background:#253942;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 0 1px rgba(0,0,0,.38),-1px -1px 2px rgba(255,255,255,.04),2px 4px 8px rgba(0,0,0,.45);cursor:pointer;transition:background .2s,color .2s}
html.n2.nf body .vgm .vgm-links>button.vgm-find::after,html.n2.nf body .vgm .vgm-links>button.vgm-find::before{content:none}
html.n2.nf body .vgm .vgm-links>button.vgm-find:hover{background:#2e4651;color:#fff}
html.n2.nf body .vgm .vgm-links>button.vgm-find[aria-expanded=true]{background:#fff;color:#2f444f;box-shadow:0 1px 3px rgba(6,12,16,.35),0 4px 14px -2px rgba(6,12,16,.55)}
html.n2.nf body .vgm .vgm-links>button.vgm-find svg{display:block;width:20px;height:20px;color:currentColor;transform:none}
.vs-form{display:flex;align-items:center;gap:10px;margin:0}
.vs-lens{flex:none;color:#5c6e78}
.vs-in{flex:1;min-width:0;height:100%;margin:0;padding:0;border:0;background:0 0;outline:0;font:500 16px/1.2 var(--s-body);color:#2f444f;-webkit-appearance:none;appearance:none;border-radius:0}
.vs-form .vs-in:focus,.vs-form .vs-in:focus-visible,.vs-pform .vs-in:focus,.vs-pform .vs-in:focus-visible{outline:0;box-shadow:none}
.vs-in::placeholder{color:#7d8b93;opacity:1}
.vs-in::-webkit-search-cancel-button,.vs-in::-webkit-search-decoration{-webkit-appearance:none;appearance:none}
.vs-list{list-style:none;margin:0;padding:6px;overflow:auto;overscroll-behavior:contain}
.vs-row{display:grid;grid-template-columns:34px minmax(0,1fr) 16px;align-items:start;gap:14px;padding:10px 12px;border-radius:12px;color:#2f444f;text-decoration:none;transition:background .15s}
.vs-row:hover,.vs-row:focus-visible{background:#f4f2ee}
html .vgm .vs-row:focus-visible,html .vgm .vs-all:focus-visible{outline:2px solid #eba95e;outline-offset:-2px}
.vs-row{--accInk:#2F444F;--accBg:#EEF1F3}
.vs-row[data-b=virlocept]{--accInk:#8A5210;--accBg:#FDF4E8}
.vs-row[data-b=umbuso]{--accInk:#4C8A27;--accBg:#EDF5E6}
.vs-row[data-b=lighthaven]{--accInk:#2F6FD0;--accBg:#E8F0FC}
.vs-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accBg);color:var(--accInk);transition:background .15s,color .15s}
.vs-ic svg{width:18px;height:18px}
.vs-row:hover .vs-ic,.vs-row:focus-visible .vs-ic{background:var(--accInk);color:#fff}
.vs-tx{display:grid;gap:3px;min-width:0}
.vs-tx b{font:600 15px/1.25 var(--s-body);color:#2f444f;overflow-wrap:anywhere}
.vs-tx em{font:600 11px/1.2 var(--s-body);font-style:normal;letter-spacing:.09em;text-transform:uppercase;color:#5c6e78}
.vs-sn{font-size:14px;line-height:1.4;color:#5c6e78;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.vs-sn:empty{display:none}
.vs-tx mark{background:0 0;color:#2f444f;font-weight:700}
.vs-go{align-self:center;color:#9aa6ad;transition:color .15s,transform .15s}
.vs-row:hover .vs-go,.vs-row:focus-visible .vs-go{color:#2f444f;transform:translateX(2px)}
.vs-none{margin:0;padding:16px 20px 18px;font-size:15px;line-height:1.45;color:#2f444f}
.vs-none a{color:#2f444f;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.vs-all{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border-top:1px solid #ebe7e1;font:600 15px/1 var(--s-body);color:#2f444f;text-decoration:none}
.vs-all:hover{background:#f8f7f4}
.vs-all svg{transition:transform .15s}
.vs-all:hover svg{transform:translateX(2px)}
.vs-res[hidden],.vs-none[hidden],.vs-all[hidden]{display:none}
@media (min-width:1025px){
html.n2 .vgm .vgm-srch{position:absolute;z-index:5;right:0;top:calc(100% + 12px);width:min(680px,100%);border-radius:16px;background:#fff;box-shadow:0 0 0 1px rgba(47,68,79,.08),0 34px 60px -24px rgba(16,28,34,.55);overflow:hidden;text-align:left}
html.n2 .vgm .vgm-srch[hidden]{display:none}
html.n2 .vgm .vgm-srch::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
html.n2 .vgm .vgm-srch .vs-form{height:64px;padding:0 12px 0 22px}
html.n2 .vgm .vgm-srch .vs-in{font-size:17px}
html.n2 .vgm .vs-x{display:grid;place-items:center;flex:none;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:0 0;color:#5c6e78;cursor:pointer;transition:background .15s,color .15s}
html.n2 .vgm .vs-x:hover{background:#f1efeb;color:#2f444f}
html.n2 .vgm .vgm-srch .vs-res{border-top:1px solid #ebe7e1}
html.n2 .vgm .vgm-srch .vs-list{max-height:min(56vh,480px)}
html.n2 .vgm .vgm-dsrch{display:none}
}
@media (max-width:1024px){
html.n2 .vgm .vgm-srch{display:none}
html.n2 .vgm .vgm-dsrch{display:block;padding-top:14px}
html.n2 .vgm .vgm-dsrch .vs-form{height:52px;padding:0 18px;border-radius:999px;background:#f4f2ee;box-shadow:inset 1px 2px 3px rgba(47,68,79,.14),inset -1px -1px 0 rgba(255,255,255,.6),0 0 0 1px rgba(47,68,79,.06)}
html.n2 .vgm .vgm-dsrch .vs-form:focus-within{box-shadow:inset 1px 2px 3px rgba(47,68,79,.14),0 0 0 2px #eba95e}
html.n2 .vgm .vgm-dsrch .vs-list{padding:8px 0 0}
html.n2 .vgm .vgm-dsrch .vs-row{grid-template-columns:34px minmax(0,1fr);padding:10px 4px;border-radius:10px}
html.n2 .vgm .vgm-dsrch .vs-go{display:none}
html.n2 .vgm .vgm-dsrch .vs-none{padding:16px 4px 4px}
html.n2 .vgm .vgm-dsrch .vs-all{justify-content:flex-start;padding:0 4px;border-top:1px solid #ebe7e1;margin-top:6px}
html.n2 .vgm .vgm-dsrch.has-q~.vgm-dnav,html.n2 .vgm .vgm-dsrch.has-q~.vgm-contact{display:none}
}

/* Services tray foot: the line under "Tell us what needs doing" is removed, so the heading takes the free space and the links stay at the right. */
@media (min-width:1025px){html.n2.n3 .vgm.vgm .vgm-tray .nv-feat strong{flex:1}}

/* Phone menu drawer: fills the screen in the header's dark colours. It opens under the bar; the strip, the bar, the emblem and the menu key stay above it in the same place; the key turns into a close key. Trays inside it (Services, search results) are white cards, as on desktop. */
.vgm-burger .vgm-bi-close,.vgm-burger[aria-expanded=true] .vgm-bi-open{display:none}
.vgm-burger[aria-expanded=true] .vgm-bi-close{display:block}
@keyframes vgmDrIn{from{opacity:0}to{opacity:1}}
@media (max-width:1024px){
html.vgm-lock body .vgm .vgm-strip,html.vgm-lock body .vgm .vgm-bar{position:relative;z-index:4}
html.n2.nf body .vgm .vgm-drawer{position:fixed;top:var(--hdr0,108px);right:0;bottom:0;left:0;z-index:3;display:flex;flex-direction:column;gap:0;width:auto;height:auto;max-height:none;margin:0;padding:calc(var(--hdrE,136px) - var(--hdr0,108px) + 20px) 20px calc(24px + env(safe-area-inset-bottom,0px));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:0;border-radius:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);-webkit-backdrop-filter:none;backdrop-filter:none;color:#eaf0f2;background:radial-gradient(80% 45%at 10% 0,rgba(68,168,147,.12),transparent 70%),radial-gradient(70% 36%at 95% 100%,rgba(120,150,170,.12),transparent 70%),radial-gradient(60% 40%at 60% 45%,rgba(120,150,170,.08),transparent 70%),#1c2b32;animation:vgmDrIn .2s ease}
html.n2.nf body .vgm .vgm-drawer[hidden]{display:none}
html.n2.nf body .vgm .vgm-backdrop{background:0 0}
html.n2.nf body .vgm .vgm-drawer>*{flex:none}
/* search field: a pressed-in well, like the keys in the contact pill */
html.n2.nf body .vgm .vgm-dsrch{padding:0 0 10px}
html.n2.nf body .vgm .vgm-dsrch .vs-form{height:52px;padding:0 18px;border-radius:999px;background:#16242a;box-shadow:inset 1px 2px 4px rgba(0,0,0,.6),inset -1px -1px 0 rgba(255,255,255,.07),0 0 0 1px rgba(0,0,0,.25)}
html.n2.nf body .vgm .vgm-dsrch .vs-form:focus-within{box-shadow:inset 1px 2px 4px rgba(0,0,0,.6),0 0 0 2px #eba95e}
html.n2.nf body .vgm .vgm-dsrch .vs-lens{color:rgba(234,240,242,.6)}
html.n2.nf body .vgm .vgm-dsrch .vs-in{color:#fff}
html.n2.nf body .vgm .vgm-dsrch .vs-in::placeholder{color:rgba(234,240,242,.55)}
html.n2.nf body .vgm .vgm-dsrch .vs-res{margin-top:12px;padding:6px 12px 0;border-radius:16px;color:#2f444f;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.25),0 24px 40px -20px rgba(0,0,0,.7)}
html.n2.nf body .vgm .vgm-dsrch .vs-res[hidden]{display:none}
/* links */
html.n2.nf body .vgm .vgm-dnav>a,html.n2.nf body .vgm .vgm-dnav>button{height:60px;color:#fff;font-size:19px;border-bottom:1px solid rgba(255,255,255,.12)}
html.n2.nf body .vgm .vgm-dnav>button svg{color:rgba(234,240,242,.7)}
html.n2.nf body .vgm .vgm-dnav>[aria-current],html.n2.nf body .vgm .vgm-dnav>[data-current],html.n2.nf body .vgm .vgm-dnav>button[aria-expanded=true],html.n2.nf body .vgm .vgm-dnav>button[aria-expanded=true] svg{color:#eba95e}
html.n2.nf body .vgm .vgm-dnav>a:focus-visible,html.n2.nf body .vgm .vgm-dnav>button:focus-visible{outline:2px solid #eba95e;outline-offset:-2px;border-radius:8px}
/* Services: 1 white card under the Services row */
html.n2.nf body .vgm .vgm-sub{margin:4px 0 14px;padding:4px 16px;border:0;border-radius:16px;color:#2f444f;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.25),0 24px 40px -20px rgba(0,0,0,.7)}
html.n2.nf body .vgm .vgm-sub[hidden]{display:none}
html.n2.nf body .vgm .vgm-sub .vgm-probs.mb-col{border-top-color:#ebe7e1}
/* contact pill sits at the foot of the screen when the list is short */
html.n2.nf body .vgm .vgm-drawer .vgm-contact{margin-top:auto}
html.n2.nf body .vgm .vgm-dnav{margin-bottom:28px}
}
@media (max-width:1024px) and (prefers-reduced-motion:reduce){html.n2.nf body .vgm .vgm-drawer{animation:none}}
/* phones under 360px: room for "Emergency" and the full search hint; Get in touch keeps the site button size */
@media (max-width:359px){
html.n2.nf body .vgm .vgm-drawer{padding-left:14px;padding-right:14px}
html.n2.nf body .vgm .vgm-dsrch .vs-form{padding:0 14px}
html.n2.nf body .vgm .vgm-dsrch .vs-in::placeholder{font-size:14px}
html.nf.nf.nf.nf body .vgm .vgm-drawer .vgm-contact{padding:5px;gap:4px}
html.nf.nf.nf.nf body .vgm .vgm-drawer .vgm-emg{gap:5px;padding:0 3px 0 2px}
html.nf.nf.nf.nf body .vgm .vgm-drawer .vgm-disc{width:30px;height:30px}
html.nf.nf.nf.nf body .vgm .vgm-drawer .vgm-t1{font-size:12.5px}
html.nf.nf.nf.nf body .vgm .vgm-drawer .vgm-t2{font-size:10.5px}
}


/* Services tray: each business head matches the business switcher. A strip in the business colour runs along its top, the logo sits in the middle and an arrow disc in the business colour sits on the right. On desktop the heads run flush along the top of the tray; in the phone menu each head is a rounded block. */
html.n2 .vgm.vgm .vgm-kt .mb-col a.mb-head{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;padding:20px 16px 14px;background:#F7F5F2;border-bottom:1px solid rgba(47,68,79,.12);color:#2F444F;text-decoration:none;transition:background .2s ease}
html.n2 .vgm.vgm .vgm-kt .mb-col a.mb-head::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--bc)}
html.n2 .vgm.vgm .vgm-kt .mb-col a.mb-head:hover{background:#EFEBE6}
html.n2 .vgm.vgm .vgm-kt .mb-col a.mb-head:focus-visible{outline:3px solid #2F444F;outline-offset:-3px}
html.n2 .vgm.vgm .vgm-kt .mb-col .mb-head .mb-logo{justify-content:center;height:30px;min-width:0;padding-left:46px}
html.n2 .vgm.vgm .vgm-kt .mb-col .mb-head .mb-logo img{max-width:100%}
html.n2 .vgm.vgm .vgm-kt .mb-col .mb-go{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--bc);color:#fff}
html.n2 .vgm.vgm .vgm-kt .mb-col .mb-go svg{transition:transform .2s ease}
html.n2 .vgm.vgm .vgm-kt .mb-col a.mb-head:hover .mb-go svg{transform:translateX(2px)}
@media (min-width:1025px){
html.n2.n3 .vgm.vgm .vgm-tray.vgm-tray .vgm-probs.mb-col.mb-col{padding-top:0}
html.n2.n3 .vgm.vgm .vgm-tray.vgm-tray .mb-col a.mb-head{margin:0 -20px 14px}
html.n2.n3 .vgm.vgm .vgm-tray.vgm-tray .mb-col:first-child a.mb-head{border-top-left-radius:16px}
html.n2.n3 .vgm.vgm .vgm-tray.vgm-tray .mb-col:last-child a.mb-head{border-top-right-radius:16px}
html.n2.n3 .vgm.vgm .vgm-tray.vgm-tray .mb-col a.mb-head{overflow:hidden}
}
@media (min-width:1025px) and (max-width:1219px){html.n2.n3 .vgm.vgm .vgm-tray.vgm-tray .mb-col a.mb-head{margin:0 -16px 14px}}
@media (max-width:1024px){html.n2 .vgm.vgm .vgm-sub .mb-col a.mb-head{overflow:hidden;margin:0 0 10px;border-bottom:0;border-radius:12px}}
@media (prefers-reduced-motion:reduce){html.n2 .vgm.vgm .vgm-kt .mb-col a.mb-head,html.n2 .vgm.vgm .vgm-kt .mb-col .mb-go svg{transition:none}}


/* Phone menu colours: the menu belongs to the group, so it stays neutral. The close key, the open Services row, the current page and the focus rings are white, not mustard. The open or current row is marked with a brighter line under it. */
@media (max-width:1024px){
html.nf.nf.nf.nf .vgm button.vgm-burger[aria-expanded=true]{color:#fff}
html.n2.nf body .vgm.vgm .vgm-dnav>a,html.n2.nf body .vgm.vgm .vgm-dnav>button{color:rgba(255,255,255,.86)}
html.n2.nf body .vgm.vgm .vgm-dnav>[aria-current],html.n2.nf body .vgm.vgm .vgm-dnav>[data-current],html.n2.nf body .vgm.vgm .vgm-dnav>button[aria-expanded=true]{color:#fff;border-bottom-color:rgba(255,255,255,.6)}
html.n2.nf body .vgm.vgm .vgm-dnav>button svg,html.n2.nf body .vgm.vgm .vgm-dnav>button[aria-expanded=true] svg{color:#fff}
html.n2.nf body .vgm.vgm .vgm-dnav>a:focus-visible,html.n2.nf body .vgm.vgm .vgm-dnav>button:focus-visible,html.nf .vgm.vgm .vgm-drawer a:focus-visible,html.nf .vgm.vgm .vgm-drawer button:focus-visible,html.nf .vgm.vgm button.vgm-burger:focus-visible{outline-color:#fff}
html.n2.nf body .vgm.vgm .vgm-dsrch .vs-form:focus-within{box-shadow:inset 1px 2px 4px rgba(0,0,0,.6),0 0 0 2px #fff}
html.n2.nf body .vgm.vgm .vgm-sub a:focus-visible,html.n2.nf body .vgm.vgm .vgm-dsrch .vs-res a:focus-visible{outline-color:#2f444f}
}


/* Header colours: the header and menu belong to the group, so every state stays neutral (navy and white). Mustard is a Virlocept colour and is not used here: hover, open and current links, keys, the tray eyebrow and focus rings are white on the dark bar and navy on white surfaces. */
html.n3.n3 .vgm.vgm .vgm-links>a:not(.vgm-key):hover,html.n3.n3 .vgm.vgm .vgm-links>button:hover,html.n3.n3 .vgm.vgm .vgm-links>button[aria-expanded=true],html.nf.nf .vgm.vgm .vgm-links>a:not(.vgm-key):hover,html.nf.nf .vgm.vgm .vgm-links>button:hover,html.nf.nf .vgm.vgm .vgm-links>button[aria-expanded=true]{color:#fff}
html.nf.nf .vgm.vgm .vgm-links>a.vgm-key:not([aria-label="Get in touch"]):hover{background:#fff;color:#2f444f}
html.nf.nf.nf.nf .vgm.vgm .vgm-key[aria-label^=Call] svg,html.nf.nf.nf.nf .vgm.vgm .vgm-links>a.vgm-key[aria-label="Get in touch"] svg,html.nf.nf.nf.nf .vgm.vgm .vgm-drawer .vgm-key[aria-label="Get in touch"] svg{color:#fff}
html.n2.n2 .vgm.vgm .nv-eb{color:rgba(255,255,255,.7)}
html .vgm.vgm :focus-visible,html .vgm.vgm a:focus-visible,html .vgm.vgm button:focus-visible{outline-color:#fff}
html .vgm.vgm .vgm-tray .mb-cols :focus-visible,html .vgm.vgm .vgm-sub :focus-visible,html .vgm.vgm .vs-res :focus-visible,html .vgm.vgm .vs-row:focus-visible,html .vgm.vgm .vs-all:focus-visible{outline-color:#2f444f}
html.n2.n2 .vgm.vgm .vgm-dsrch .vs-form:focus-within{box-shadow:inset 1px 2px 3px rgba(47,68,79,.14),0 0 0 2px #2f444f}
@media (max-width:1024px){html.n2.nf body .vgm.vgm .vgm-dsrch .vs-form:focus-within{box-shadow:inset 1px 2px 4px rgba(0,0,0,.6),0 0 0 2px #fff}}


/* Focus rings that must stay visible. The dark "Not sure who to call?" panel in the Services tray takes a white ring; the white desktop search bar takes a navy ring. */
html .vgm.vgm .vgm-tray .mb-cols .nv-feat a:focus-visible{outline-color:#fff}
html .vgm.vgm .vgm-srch.vs-box :focus-visible{outline-color:#2f444f}


/* Phone call key: on 1024px and under, a round call key sits left of the emblem, in the empty first column of the bar, styled like the menu key. Hidden on desktop, where the strip shows the emergency number. */
.vgm .vgm-call{display:none}
@media (max-width:1024px){
  html .vgm.vgm .vgm-bar>.vgm-call{display:grid;place-items:center;grid-column:1;grid-row:1;width:46px;height:46px;border-radius:50%;background:#253942;color:#eaf0f2;text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 0 1px rgba(0,0,0,.38),-1px -1px 2px rgba(255,255,255,.04),2px 4px 8px rgba(0,0,0,.45);transition:background .2s}
  html .vgm.vgm .vgm-bar>.vgm-call:hover{background:#2c434e}
  html .vgm.vgm .vgm-bar>.vgm-call:focus-visible{outline:2px solid #fff;outline-offset:3px}
  html .vgm.vgm .vgm-bar>.vgm-brand{grid-row:1}
  html .vgm.vgm .vgm-bar>button.vgm-burger{grid-row:1}
}


/* Group wordmark beside the emblem (26 Oct 2026). Desktop: on the bar after the emblem tab. Phones and tablets: the tab and the wordmark sit together in the middle column, centred as a pair. */
.vgm .vgm-bar>.vgm-wm{display:flex;align-items:center;flex:none;text-decoration:none}
.vgm .vgm-bar>.vgm-wm img{display:block;width:auto}
@media (min-width:1025px){html .vgm.vgm .vgm-bar>.vgm-wm{margin-left:-8px}html .vgm.vgm .vgm-bar>.vgm-wm img{height:32px}}
@media (max-width:1024px){html .vgm.vgm .vgm-bar>.vgm-wm{grid-column:2;grid-row:1;justify-self:center;height:46px;margin-left:89px}html .vgm.vgm .vgm-bar>.vgm-wm img{height:24px}html .vgm.vgm .vgm-bar>.vgm-brand.mb-emb{margin-right:117px}}
@media (max-width:380px){html .vgm.vgm .vgm-bar>.vgm-wm{margin-left:88px}html .vgm.vgm .vgm-bar>.vgm-wm img{height:20px}html .vgm.vgm .vgm-bar>.vgm-brand.mb-emb{margin-right:99px}}

/* Desktop menu links centred between the wordmark and the search button (26 Oct 2026). The 2 auto margins share the free space; the 26px divider width matches the gap between the wordmark and the menu, so both sides of the links get the same space. */
@media (min-width:1025px){html.n2 .vgm .vgm-links>.vgm-svc{margin-left:auto}html.n2 .vgm .vgm-links>.vgm-pdiv{flex:0 0 26px;margin-left:auto}}

/* Services tray width (3 Nov 2026). The tray starts under the left edge of the Group wordmark and ends at the right edge of Get in touch, the width it had before the wordmark joined the bar. Without this it spans only the menu area, and from 1220px the service names run past their columns. The offset is the 26px gap after the wordmark plus the wordmark's width (32px high, 2837 x 655). */
@media (min-width:1025px){html.n2.n3 .vgm.vgm .vgm-navwrap .vgm-tray.mb-tray{left:calc(-26px - 32px * 2837 / 655)}}
