:root { --llsc-ink:#17243a; --llsc-line:#d4e0eb; --llsc-panel:#f8fbfd; --llsc-cyan:#22bfe8; --llsc-gold:#ffb42f; }
.site-header { position:relative; z-index:50; overflow:visible; background:#fff; box-shadow:0 8px 26px rgba(23,36,58,.08); }
.site-header .header-inner { max-width:1140px; min-height:104px; }
.site-header .site-logo img { width:96px; height:auto; }
.site-navigation .menu { align-items:center; gap:0; }
.site-navigation .menu > li > a { color:var(--llsc-ink); padding:13px 15px; font-weight:600; white-space:nowrap; }
.site-navigation .menu > li > a:hover,.site-navigation .menu > li > a:focus { color:#075de8; }
.site-navigation .menu > li.llsc-book > a { background:var(--llsc-gold); border-radius:6px; color:#101827; margin-left:5px; }
.site-navigation .menu > li.llsc-services { position:static; }
.site-navigation .menu > li.llsc-services > a { position:relative; }
.site-navigation .menu > li.llsc-services > a::after { content:""; position:absolute; z-index:999; top:100%; left:-12px; width:calc(100% + 24px); height:48px; }
.llsc-mega { display:none; position:absolute; z-index:1000; left:50%; top:calc(100% - 10px); transform:translateX(-50%); width:min(960px,calc(100vw - 32px)); max-height:720px; overflow:auto; padding:16px; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; background:#fff; border:1px solid var(--llsc-line); border-radius:10px; box-shadow:0 24px 55px rgba(23,36,58,.2); color:var(--llsc-ink); }
.llsc-services:hover .llsc-mega,.llsc-services:focus-within .llsc-mega,.llsc-services.llsc-open .llsc-mega { display:grid; }
.llsc-mega a { color:var(--llsc-ink); text-decoration:none; }
.llsc-mega-all { grid-column:1/-1; display:flex; flex-direction:column; padding:14px; border:1px solid var(--llsc-line); border-radius:8px; background:var(--llsc-panel); }
.llsc-mega-all span,.llsc-mega section > div > span { color:#48617c; font-size:13px; margin-top:3px; }
.llsc-mega section { display:grid; grid-template-columns:minmax(120px,.8fr) minmax(0,1.3fr); gap:12px; align-content:start; padding:14px; border:1px solid var(--llsc-line); border-radius:8px; background:var(--llsc-panel); }
.llsc-mega-hmo { grid-column:1/-1; grid-template-columns:190px 1fr!important; }
.llsc-mega-hmo .llsc-mega-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 16px; }
.llsc-mega section > div { display:flex; flex-direction:column; }
.site-navigation .llsc-mega .llsc-mega-links { display:block!important; position:static!important; visibility:visible!important; opacity:1!important; transform:none!important; width:auto!important; min-width:0!important; height:auto!important; list-style:none; margin:0; padding:0; background:transparent; box-shadow:none; }
.site-navigation .llsc-mega .llsc-mega-links li { display:block!important; position:static!important; visibility:visible!important; opacity:1!important; width:auto!important; }
.llsc-mega-links li { border-top:1px solid #dce4ea; }
.llsc-mega-links li a { display:block; padding:8px 0; font-weight:700; font-size:14px; line-height:1.18; }
.llsc-mega-links li a:hover,.llsc-mega-links li a:focus { color:#075de8; }
.llsc-mega-tail { padding:14px; border:1px solid var(--llsc-line); border-radius:8px; background:var(--llsc-panel); font-weight:700; }
@media (max-width:1000px) {
  .site-header .header-inner { min-height:78px; }
  .site-navigation .menu > li > a { padding:12px 16px; }
  .site-navigation .menu > li.llsc-services > a::after { display:none; }
  .llsc-mega { position:static; transform:none; width:100%; max-height:none; grid-template-columns:1fr; padding:10px; box-shadow:none; border-radius:0; }
  .llsc-mega-all,.llsc-mega-hmo { grid-column:1; }
  .llsc-mega section,.llsc-mega-hmo { grid-template-columns:1fr!important; }
  .llsc-mega-hmo .llsc-mega-links { grid-template-columns:1fr; }
}

/* Theme-independent enquiry footer. */
.site-footer { display:none!important; }
.llsc-enquiry-footer { clear:both; position:relative; z-index:2; border-top:5px solid var(--llsc-cyan); background:#111827; color:#cbd5e1; font-size:15px; line-height:1.55; }
.llsc-footer__inner { width:min(1092px,calc(100% - 40px)); margin:0 auto; padding:48px 0 28px; }
.llsc-enquiry-footer h2,.llsc-enquiry-footer h3,.llsc-enquiry-footer p { margin-top:0; }
.llsc-enquiry-footer a { color:#cbd5e1; text-decoration:none; }
.llsc-enquiry-footer a:hover,.llsc-enquiry-footer a:focus { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.llsc-footer__cta { display:grid; grid-template-columns:282px minmax(0,1fr); gap:34px 24px; align-items:center; }
.llsc-footer__eyebrow { margin:0 0 10px!important; color:#36c7eb; font-size:13px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.llsc-footer__intro h2 { margin:0 0 12px; color:#fff; font-size:30px; line-height:1.12; letter-spacing:-.02em; }
.llsc-footer__intro > p:last-child { margin:0; font-size:17px; line-height:1.6; }
.llsc-footer__actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.llsc-footer__button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:11px 18px; border:1px solid rgba(203,215,228,.38); border-radius:6px; color:#fff!important; font-weight:800; line-height:1.2; text-align:center; }
.llsc-footer__button:hover,.llsc-footer__button:focus { background:rgba(255,255,255,.08); text-decoration:none!important; }
.llsc-footer__button--primary { border-color:var(--llsc-gold); background:var(--llsc-gold); color:#111827!important; }
.llsc-footer__button--primary:hover,.llsc-footer__button--primary:focus { background:#ffc24e; }
.llsc-footer__button--email { border-color:#d9e2ec; background:#fff; color:#17243a!important; }
.llsc-footer__what-to-send { align-self:stretch; padding:16px 18px; border:1px solid rgba(203,215,228,.38); border-radius:8px; background:rgba(255,255,255,.08); color:#eef5fa; }
.llsc-footer__what-to-send strong { display:block; margin-bottom:6px; color:#fff; font-size:16px; }
.llsc-footer__what-to-send ul { margin:0; padding-left:18px; }
.llsc-footer__what-to-send li { margin:3px 0; }
.llsc-footer__route-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.llsc-footer__route-links a { display:flex; align-items:center; min-height:42px; padding:9px 12px; border:1px solid rgba(203,215,228,.38); border-radius:8px; color:#fff; font-size:14px; font-weight:800; }
.llsc-footer__route-links a:hover,.llsc-footer__route-links a:focus { background:rgba(255,255,255,.08); text-decoration:none; }
.llsc-footer__directory { display:grid; grid-template-columns:1.22fr 1fr 1fr .98fr; gap:38px; margin-top:28px; padding-top:28px; border-top:1px solid rgba(203,215,228,.22); }
.llsc-footer__directory h2 { margin-bottom:12px; color:#fff; font-size:21px; line-height:1.15; }
.llsc-footer__directory h3 { margin-bottom:12px; color:#fff; font-size:17px; line-height:1.3; }
.llsc-footer__directory nav { display:flex; flex-direction:column; gap:10px; }
.llsc-footer__brand p { margin-bottom:12px; }
.llsc-footer__phone { display:inline-block; color:#ffd23f!important; font-size:21px; font-weight:800; }
.llsc-footer__proof { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:26px 0 24px; padding:0; list-style:none; }
.llsc-footer__proof li { display:flex; align-items:center; min-height:64px; padding:12px; border:1px solid rgba(203,215,228,.22); border-radius:7px; }
.llsc-footer__proof span { display:inline-flex; flex:0 0 27px; align-items:center; justify-content:center; width:27px; height:27px; margin-right:11px; border-radius:50%; background:#36c7eb; color:#102036; font-weight:900; }
.llsc-footer__legal { display:flex; justify-content:space-between; gap:24px; align-items:center; padding-top:24px; border-top:1px solid rgba(203,215,228,.22); }
.llsc-footer__legal p { margin:0; }
.llsc-footer__legal nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px 16px; font-size:14px; }
@media (max-width:900px) {
  .llsc-footer__cta { grid-template-columns:1fr; }
  .llsc-footer__directory { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .llsc-footer__proof { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .llsc-footer__inner { width:min(100% - 28px,1092px); padding-top:36px; }
  .llsc-footer__intro h2 { font-size:27px; }
  .llsc-footer__actions,.llsc-footer__button { width:100%; }
  .llsc-footer__route-links,.llsc-footer__directory { grid-template-columns:1fr; }
  .llsc-footer__directory { gap:28px; }
  .llsc-footer__legal { align-items:flex-start; flex-direction:column; }
  .llsc-footer__legal nav { justify-content:flex-start; }
}
