:root{--lgx-app-accent:var(--orange,var(--accent,#1c315f));--lgx-app-ink:var(--black,var(--navy,#142b3b));--lgx-dock-height:72px}
.lgx-app-header,.lgx-app-dock{display:none}.lgx-app-menu:not([open]){display:none}
.lgx-app-menu{box-sizing:border-box;width:min(480px,100%);max-width:100%;max-height:100dvh;height:100dvh;margin:0 0 0 auto;padding:24px;background:#fff;border:0;color:#172b3b;overflow-y:auto;overscroll-behavior:contain;font:16px/1.5 var(--font-body,Inter,sans-serif)}
.lgx-app-menu::backdrop{background:rgba(10,24,34,.62)}.lgx-app-menu-open{overflow:hidden}.lgx-app-menu-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.lgx-app-menu-head h2{font-size:28px;margin:0}.lgx-app-menu-head button{display:grid;place-items:center;background:#edf1f3;color:#172b3b;width:48px;height:48px;border:0;border-radius:10px}.lgx-app-menu svg{width:24px;height:24px}
.lgx-app-menu nav{display:grid;gap:8px}.lgx-app-menu nav>a{display:block;padding:16px;border-radius:10px;background:#f3f5f6;color:#172b3b;text-decoration:none;font-size:20px;font-weight:700}.lgx-app-menu nav span{display:block;font-size:16px;font-weight:400}.lgx-app-menu-quote{display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding:17px;background:var(--lgx-app-accent);color:var(--lgx-app-button-ink,#fff);text-decoration:none;border-radius:10px;font-size:18px;font-weight:700}
.lgx-app-header *,.lgx-app-dock *{box-sizing:border-box}.lgx-app-header svg,.lgx-app-dock svg{width:23px;height:23px;display:block}.lgx-app-header a,.lgx-app-header button,.lgx-app-dock a{text-decoration:none;font-family:var(--font-body,Inter,sans-serif)}
.lgx-app-header a:focus-visible,.lgx-app-header button:focus-visible,.lgx-app-dock a:focus-visible,.lgx-app-menu a:focus-visible,.lgx-app-menu button:focus-visible{outline:3px solid #1878ba;outline-offset:-3px}
/* Existing theme declarations use an important legacy layer. Keep overrides in that layer. */
@layer legacy{
 .lgx-mobile-dock,.lgx-mobile-quickdock{display:none!important}
 @media(max-width:1100px){
  html{scroll-padding-top:98px}body{padding-bottom:calc(var(--lgx-dock-height) + env(safe-area-inset-bottom))!important}
  body>.h-topbar,body>.utility{display:none!important}
  .lgx-app-header{display:flex!important;align-items:center;gap:10px;position:sticky;top:0;z-index:1000;min-height:88px;padding:6px 20px;background:#fff;box-shadow:0 1px 0 #e2e7eb;color:var(--lgx-app-ink)}
  .lgx-app-header .lgx-app-logo{display:flex;align-items:center;justify-content:flex-start;flex:1;min-width:0;padding-left:8px}.lgx-app-logo img{object-fit:contain;width:auto;max-width:180px;height:72px;max-height:72px;transform:none!important}
  .lgx-app-control{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex:0 0 52px;width:52px;min-height:56px;padding:4px 0;border:0;border-radius:9px;background:transparent;color:var(--lgx-app-ink);font-size:14px!important;font-weight:600;line-height:1.1}
  .lgx-app-control span{font-size:14px!important;line-height:1.1}.lgx-app-control:hover{background:#edf2f5}.lgx-app-services{flex-basis:70px;width:70px;background:#f0f3f5}
  .lgx-app-dock{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;inset:auto 0 0;z-index:1001;height:calc(var(--lgx-dock-height) + env(safe-area-inset-bottom));padding:0 0 env(safe-area-inset-bottom);background:#fff;border-top:1px solid #dae1e6;box-shadow:0 -4px 20px rgba(16,37,53,.08)}
  .lgx-app-dock a{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;min-width:0;min-height:72px;padding:7px 3px;color:var(--lgx-app-ink);font-size:14px!important;font-weight:700;line-height:1.2;border:0;text-decoration:none}
  .lgx-app-dock a:first-child{background:var(--lgx-app-accent);color:var(--lgx-app-button-ink,#fff)}.lgx-app-dock a[aria-current]{box-shadow:inset 0 3px 0 var(--lgx-app-accent)}.lgx-app-dock span{font-size:14px!important}
  .mobile-actions,.mobile-cta{display:none!important}.totop{bottom:calc(88px + env(safe-area-inset-bottom))!important}
  #chatport-plus-widget{display:block!important;top:auto!important;left:auto!important;right:16px!important;bottom:calc(var(--lgx-dock-height) + 12px + env(safe-area-inset-bottom))!important;margin:0!important;max-height:calc(100dvh - 192px);z-index:1002!important}
  #chatport-plus-widget:not(:has([data-cp-panel])){width:60px!important;height:60px!important}
  #chatport-plus-widget:has([data-cp-panel]){right:10px!important;max-width:calc(100vw - 20px)!important}
  #chatport-plus-widget [data-cp-close]{width:44px!important;height:44px!important}
  #chatport-plus-widget [style*="font-size:12px"],#chatport-plus-widget [style*="font-size:13px"],#chatport-plus-widget small{font-size:14px!important}
  #chatport-plus-widget [data-cp-messages],#chatport-plus-widget [data-cp-messages] *{font-size:16px!important}
  .inner-page .phero-inner:has(>.phero-img:not(.lgx-phero-form)){display:grid!important;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)!important;min-height:0!important}
  .inner-page .phero-inner:has(>.phero-img:not(.lgx-phero-form)) .phero-copy{width:auto!important;padding:48px 28px!important}
  .inner-page .phero-img:not(.lgx-phero-form){position:relative!important;inset:auto!important;width:100%!important;min-height:280px;clip-path:none!important;background-image:var(--page-image,none);background-size:cover;background-position:center}
  main h1,main h2,main h3,main h4{max-width:100%!important;overflow-wrap:anywhere}
  #chatport-plus-widget [data-cp-invite]{display:none!important}
  main,main *{min-width:0}main img{max-width:100%;height:auto}main input,main select,main textarea{max-width:100%;font-size:16px!important}
  main p,main li,main label,main dd,main dt{overflow-wrap:break-word}
  .container,.wrap{max-width:100%;box-sizing:border-box}
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.form-grid .wide{grid-column:1/-1}
  .lead-panel,.form-card,.heroform{max-width:100%;box-sizing:border-box}
  .f-addr a,.footer-main a,.footer-main p,.f-cols p{overflow-wrap:anywhere}
  .f-cols,.hf-cols,.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:30px!important}.f-cols>*,.hf-cols>*,.footer-grid>*{min-width:0!important}.f-news .btn{max-width:100%}.f-news .btn .t{white-space:normal!important}
  #main table{width:100%;table-layout:fixed}#main th,#main td{overflow-wrap:anywhere}
  .lgx-services-drawer{max-width:100vw!important;max-height:100dvh!important}.lgx-services-drawer-body{padding-bottom:24px!important}
 }
 @media(max-width:600px){
  .lgx-app-header{min-height:80px;padding:5px 10px;gap:4px}.lgx-app-control{flex-basis:44px;width:44px;min-height:56px}.lgx-app-services{flex-basis:62px;width:62px}.lgx-app-header .lgx-app-logo{padding-left:2px;justify-content:center}.lgx-app-logo img{max-width:115px;max-height:66px;height:66px;width:auto}
  .inner-page .phero-inner:has(>.phero-img:not(.lgx-phero-form)){grid-template-columns:minmax(0,1fr)!important}
  .inner-page .phero-inner:has(>.phero-img:not(.lgx-phero-form)) .phero-copy{padding:40px 18px!important}
  .inner-page .phero-img:not(.lgx-phero-form){min-height:220px}
  .container,.wrap{width:calc(100% - 36px)!important;margin-left:auto!important;margin-right:auto!important}
  .form-grid{grid-template-columns:1fr!important;gap:14px!important}.form-grid .wide{grid-column:auto}.form-consent{align-items:flex-start!important}.form-consent input{flex:0 0 20px;margin-top:4px!important}
  .f-cols,.hf-cols,.footer-grid{grid-template-columns:1fr!important;gap:28px!important}
  .heroform,.lead-panel,.form-card{padding:22px 18px!important}.heroform h2,.heroform h3,.lead-panel h3{font-size:24px!important;line-height:1.25!important}
  .btn .t{white-space:normal!important}.btn{max-width:100%}
 }
 @media(max-width:360px){.lgx-app-logo img{max-width:90px;height:60px}.lgx-app-header{padding-left:6px;padding-right:6px;gap:2px}}
}

@layer legacy{.lgx-quote-cta{background:var(--lgx-app-accent)!important;color:var(--lgx-app-button-ink,#fff)!important}.lgx-quote-cta .t{color:inherit!important}}
/* Keep the quote and chat usable on short phone screens and resized viewports. */
@layer legacy{@media(max-width:650px) and (max-height:700px){
 .lgx-library-page .lgx-lib-heading>.lgx-lib-eyebrow,.lgx-lib-enquiry .lead-panel-head>p,.lgx-lib-enquiry .hero-form-head p{display:none!important}
 #chatport-plus-widget [data-cp-panel]>div:first-of-type{padding:14px 58px 14px 14px!important;min-height:60px;text-align:left!important}
 #chatport-plus-widget [data-cp-panel]>div:first-of-type>div:first-of-type{display:none!important}
 #chatport-plus-widget [data-cp-contact]{flex:1 1 auto!important;min-height:0;overflow-y:auto;overscroll-behavior:contain}
 #chatport-plus-widget [data-cp-panel]:has(>[data-cp-contact][style*="grid"]) [data-cp-messages]{display:none!important}
}}
@layer legacy{@media(max-width:1100px){.crumbs{flex-wrap:wrap!important;gap:10px 14px!important}.crumbs>a,.crumbs>.dot{flex-shrink:0!important}}}
@layer legacy{@media(max-width:1100px){.subnav>.wrap{flex-wrap:wrap!important;gap:4px 18px!important;min-height:62px;padding-top:8px!important;padding-bottom:8px!important;overflow:visible!important}.subnav>.wrap>strong{flex:0 0 auto!important}.subnav>.wrap>a{display:flex!important;align-items:center;min-height:44px}}}

/* Restore the site's own header and exact logo; one navigation control on the right. */
.lgx-restored-controls{display:none}
.lgx-menu-group{border:0;border-radius:10px;background:#f3f5f6;overflow:hidden}
.lgx-menu-group summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;padding:16px;font-size:20px;font-weight:700;line-height:1.5}
.lgx-menu-group summary::-webkit-details-marker{display:none}
.lgx-app-menu .lgx-menu-group summary>span{font-size:26px;line-height:1;font-weight:400;transition:transform .15s}
.lgx-menu-group[open] summary>span{transform:rotate(45deg)}
.lgx-menu-children{padding:0 16px 12px}
.lgx-menu-children a{display:block;padding:12px 0;border-top:1px solid #dbe2e7;font-size:16px;line-height:1.5;color:#172b3b;text-decoration:none;overflow-wrap:break-word}
.lgx-menu-overview{font-weight:700}
.lgx-menu-group summary:focus-visible{outline:3px solid #1878ba;outline-offset:-3px}
.lgx-menu-children a:hover{text-decoration:underline}
@layer legacy{
 @media(max-width:1100px){
  html.lgx-restored-header body>.h-main{display:flex!important;align-items:center!important;gap:0!important;height:88px!important;min-height:88px!important;padding:0 12px 0 0!important;position:sticky!important;top:0!important;z-index:1000!important}
  html.lgx-restored-header body>.topwrap,html.lgx-restored-header body>.site-header{display:block!important;position:sticky!important;top:0!important;z-index:1000!important;padding:0!important;border-bottom:1px solid #e1e5e9}
  html.lgx-restored-header .inner-page .hdr-top,html.lgx-restored-header .site-header .header-main{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;width:100%!important;max-width:100%!important;min-height:88px!important;height:88px!important;margin:0!important;padding:8px 12px!important}
  html.lgx-restored-header .home-page .h-logo-sq{width:112px!important;height:88px!important;flex:0 0 112px!important;display:flex!important;align-items:center!important;justify-content:center!important}
  html.lgx-restored-header .home-page .h-logo-sq img{width:92px!important;max-width:92px!important;height:auto!important;max-height:76px!important;transform:none!important;object-fit:contain!important}
  html.lgx-restored-header .inner-page .hdr-logo{display:none!important}
  html.lgx-restored-header .inner-page .hdr-logo-mobile{display:flex!important;align-items:center!important;justify-content:flex-start!important;width:112px!important;min-width:0!important;flex:0 0 112px!important;height:72px!important}
  html.lgx-restored-header .inner-page .hdr-logo-mobile img{width:102px!important;height:auto!important;max-width:102px!important;max-height:72px!important;object-fit:contain!important;margin:0!important;transform:none!important}
  html.lgx-restored-header .site-header .brand{display:flex!important;align-items:center!important;flex:1 1 auto!important;width:auto!important;max-width:250px!important;min-width:0!important;padding:0!important;margin:0!important}
  html.lgx-restored-header .site-header .brand img{width:100%!important;max-width:250px!important;height:auto!important;max-height:66px!important;object-fit:contain!important;object-position:left center!important;transform:none!important}
  html.lgx-restored-header :is(.h-main>.mainnav2,.h-main>.sp,.h-quick-call,.h-cta-block,.mobile-header-actions,.h-burger,.inner-menu-toggle,.hdr-contacts,.hdr-nav-row,.site-header .header-contact,.site-header .menu-toggle,.site-header .primary-nav){display:none!important}
  html.lgx-restored-header .lgx-restored-controls{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;margin-left:auto!important;flex:0 0 auto!important}
  html.lgx-restored-header .lgx-restored-controls :is(a,button){box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;margin:0!important;padding:0!important;border:1px solid #dde3e9!important;border-radius:8px!important;background:#f4f6f8!important;color:var(--lgx-app-ink)!important;box-shadow:none!important;cursor:pointer}
  html.lgx-restored-header .h-main .lgx-restored-controls :is(a,button){background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.16)!important;color:#fff!important}
  html.lgx-restored-header .lgx-restored-controls button{background:var(--lgx-app-ink)!important;border-color:var(--lgx-app-ink)!important;color:#fff!important}
  html.lgx-restored-header .h-main .lgx-restored-controls button{background:#fff!important;border-color:#fff!important;color:var(--lgx-app-ink)!important}
  html.lgx-restored-header .lgx-restored-controls svg{display:block!important;width:23px!important;height:23px!important;min-width:23px!important;fill:none!important;stroke:currentColor!important}
  html.lgx-restored-header .lgx-restored-controls :is(a,button):focus-visible{outline:3px solid #2486cd!important;outline-offset:3px!important}
 }
 @media(max-width:360px){html.lgx-restored-header .lgx-restored-controls{gap:4px!important}html.lgx-restored-header .lgx-restored-controls :is(a,button){width:44px!important;min-width:44px!important}}
}
