/* Shared public-site components. Keep these rules scoped to avoid admin changes. */
:root { --ll-ink:#0a1a25; --ll-signal:#d9ff4c; --ll-blue:#1457e6; --ll-muted:#50616d; }
.ll-header, .ll-footer { font-family:"Helvetica Neue",Arial,sans-serif; color:#fff; background:var(--ll-ink); }
.ll-shell { width:min(1250px,calc(100% - 48px)); margin-inline:auto; }
.ll-topbar { background:var(--ll-blue); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.ll-topbar .ll-shell { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-block:9px; }
.ll-topbar a { color:#fff; text-decoration:none; letter-spacing:.04em; white-space:nowrap; flex-shrink:0; }
.ll-header-row { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.ll-brand { display:inline-flex; align-items:center; gap:12px; color:#fff; text-decoration:none; flex-shrink:0; }
.ll-brand-mark { width:42px; height:42px; display:grid; place-items:center; background:var(--ll-signal); color:var(--ll-ink); font-size:14px; font-weight:900; letter-spacing:-.07em; }
.ll-brand-words { line-height:1.1; }
.ll-brand-words strong { display:block; font-size:15px; font-weight:900; text-transform:uppercase; letter-spacing:.12em; }
.ll-brand-words small { display:block; margin-top:5px; font-size:10px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.ll-primary-nav { display:flex; align-items:center; gap:25px; }
.ll-primary-nav a { color:#e2e8ed; font-size:14px; font-weight:700; text-decoration:none; padding:12px 0; }
.ll-primary-nav a:hover, .ll-primary-nav a[aria-current="page"] { color:var(--ll-signal); }
.ll-primary-nav .ll-nav-quote { background:var(--ll-signal); color:var(--ll-ink); padding:13px 19px; }
.ll-primary-nav .ll-nav-drive { border:1px solid #65717a; padding:12px 18px; margin-left:8px; }
.ll-menu-toggle { display:none; align-items:center; justify-content:center; gap:10px; min-height:44px; min-width:80px; padding:8px 12px; border:1px solid #77848e; color:#fff; background:transparent; font:inherit; font-size:14px; font-weight:700; cursor:pointer; }
.ll-footer .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.ll-menu-icon { width:18px; height:14px; border-top:2px solid currentColor; border-bottom:2px solid currentColor; position:relative; }
.ll-menu-icon::after { content:""; position:absolute; left:0; right:0; top:5px; border-top:2px solid currentColor; }
.ll-skip { position:fixed; left:16px; top:-100px; padding:14px 18px; z-index:10000; background:var(--ll-signal); color:var(--ll-ink); font-weight:800; }
.ll-skip:focus { top:12px; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline:3px solid #2671ff; outline-offset:4px; }
.ll-header a:focus-visible, .ll-header button:focus-visible, .ll-footer a:focus-visible { outline-color:var(--ll-signal); }
#main-content:focus { outline:none; }
.ll-footer { padding:52px 0 30px; }
.ll-footer-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr 1.15fr; gap:36px; }
.ll-footer h2 { margin:0 0 16px; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.13em; color:#d9ff4c; }
.ll-footer p, .ll-footer address { margin:16px 0 0; font-size:14px; line-height:1.7; color:#c5d0d7; font-style:normal; }
.ll-footer ul { margin:0; padding:0; list-style:none; }
.ll-footer li { margin:0 0 7px; }
.ll-footer a:not(.ll-brand) { display:inline-block; color:#e2e8ed; font-size:14px; line-height:1.8; text-decoration:none; overflow-wrap:anywhere; }
.ll-footer a:hover { text-decoration:underline; text-underline-offset:4px; }
.ll-footer-bottom { margin-top:38px; padding-top:22px; border-top:1px solid #ffffff26; display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; font-size:12px; color:#bdc9d1; }
.ll-footer-bottom a { margin-left:16px; }
.ll-service-link { display:inline-flex; align-items:center; min-height:44px; margin-top:25px; color:var(--ll-blue); font-size:15px; font-weight:800; text-underline-offset:4px; }
.ll-home-role-list { margin:18px 0 0; padding-left:18px; color:#dce5eb; font-size:14px; line-height:1.8; }
.ll-recruit-contact { margin-top:24px; display:flex; flex-wrap:wrap; gap:12px 24px; font-weight:700; }
.ll-recruit-contact a { color:inherit; text-underline-offset:5px; overflow-wrap:anywhere; }
.ll-home-hero-photo { width:100%; height:100%; object-fit:cover; object-position:center; }
#quote { background:#eef2ed!important; }
#quote > div { position:relative; }
#quote .ll-quote-intro { border-left:4px solid var(--ll-signal); padding-left:20px; }
.ll-careers-hero { padding:66px 0 60px; }
.ll-careers-hero .ll-careers-grid { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:50px; }
.ll-careers-hero h1 { font-size:clamp(2.8rem,5.2vw,5rem); max-width:800px; }
.ll-careers-hero .ll-career-lead { max-width:630px; font-size:18px; }
.ll-offer { margin-top:28px; display:flex; flex-wrap:wrap; gap:12px; }
.ll-offer span { display:inline-block; background:#18323f; color:#fff; border:1px solid #455a65; padding:10px 14px; font-size:14px; font-weight:700; }
.ll-offer span:first-child { background:var(--ll-signal); color:var(--ll-ink); border-color:var(--ll-signal); }
.ll-careers-photo { width:100%; height:400px; object-fit:cover; border-bottom:5px solid var(--ll-signal); }
.ll-careers-fineprint { margin-top:16px!important; font-size:14px!important; color:#cfdae1!important; }
.ll-role-card { display:flex; flex-direction:column; scroll-margin-top:24px; }
.ll-role-card ul { padding-left:20px; margin:18px 0; color:var(--ll-muted); }
.ll-role-card .actions { margin-top:auto; padding-top:16px; }
.ll-role-card .button { font-size:14px; }
.ll-questions { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.ll-questions article { border-top:2px solid #cad2d8; padding-top:20px; }
.ll-questions h3 { color:var(--ll-ink); font-size:20px; margin:0 0 10px; }
.ll-service-details { margin-top:36px; }
.ll-service-details h3 { margin:0 0 10px; font-size:21px; }
.ll-service-details p { margin-top:0; }
.ll-contact-card { margin-top:28px; }
.ll-client-note { font-size:13px; line-height:1.6; color:#50616d; margin-top:8px; }
.ll-request-help { margin:18px 0; padding:18px; border:1px solid #d7dfdc; background:#f4f6f1; color:#0a1a25; }
.ll-request-help p { margin:0 0 12px; line-height:1.6; }
.ll-request-help button { min-height:44px; border:1px solid #1457e6; color:#1457e6; padding:9px 15px; font-weight:700; background:#fff; cursor:pointer; }
@media(max-width:1100px) { .ll-primary-nav { gap:17px; } .ll-primary-nav .ll-nav-drive { margin-left:0; } }
@media(max-width:1023px) {
  .ll-header-row { flex-wrap:wrap; gap:0; padding-block:16px; }
  .ll-primary-nav { flex-basis:100%; display:flex; flex-direction:column; align-items:stretch; gap:0; padding:18px 0 0; }
  .ll-primary-nav a { padding:15px 8px; border-bottom:1px solid #ffffff20; }
  .ll-primary-nav .ll-nav-drive, .ll-primary-nav .ll-nav-quote { margin-top:14px; text-align:center; }
  .ll-nav-ready .ll-menu-toggle { display:inline-flex; }
  .ll-nav-ready:not(.ll-menu-open) .ll-primary-nav { display:none; }
  .ll-footer-grid { grid-template-columns:1fr 1fr; }
  .ll-careers-hero .ll-careers-grid { grid-template-columns:1fr; gap:32px; }
  .ll-careers-photo { height:300px; }
}
@media(max-width:600px) {
  .ll-shell { width:calc(100% - 32px); }
  .ll-topbar { font-size:9px; letter-spacing:.05em; }
  .ll-topbar .ll-shell { gap:8px; }
  .ll-topbar a { font-size:10px; }
  .ll-brand-words strong { font-size:13px; }
  .ll-brand-words small { font-size:9px; }
  .ll-brand { gap:9px; }
  .ll-brand-mark { width:36px; height:36px; }
  .ll-menu-toggle { min-width:72px; padding:8px; }
  .ll-footer-grid, .ll-questions { grid-template-columns:1fr; gap:30px; }
  .ll-footer-bottom { flex-direction:column; }
  .ll-footer-bottom a { margin-left:0; margin-right:20px; }
  .ll-careers-hero { padding:44px 0; }
  .ll-careers-photo { height:230px; }
  .ll-offer { gap:8px; }
  .ll-offer span { padding:8px 10px; font-size:13px; }
  .ll-role-card { padding:24px; }
  .ll-recruit-contact { flex-direction:column; gap:12px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto!important; } *,*::before,*::after { transition:none!important; animation:none!important; } }
