/* ONE header and ONE footer for every page (Oct 11). Self contained: these classes are not
   styled anywhere else, so a page's own CSS can't bend them. Colours follow ck-blue.css. */
.ck-top{position:sticky;top:0;z-index:150;background:rgba(22,56,158,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.12);font-family:Manrope,"Manrope Fallback",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}
.ck-top .ck-tw{max-width:1160px;margin:0 auto;padding:0 20px;min-height:64px;display:flex;align-items:center;gap:16px}
.ck-top .ck-tb{display:inline-flex;align-items:center;gap:10px;color:#fff !important;-webkit-text-fill-color:#fff;text-decoration:none !important;font-weight:800;font-size:17px;letter-spacing:-.01em;white-space:nowrap;margin-right:auto}
.ck-top .ck-tm{width:32px;height:32px;border-radius:9px;background:#3b82f6;display:inline-flex;align-items:center;justify-content:center;flex:none}
.ck-top .ck-tm svg{width:18px;height:18px}
.ck-top .ck-tl{display:none;gap:18px}
.ck-top .ck-tl a{color:#d3dff9 !important;-webkit-text-fill-color:#d3dff9;text-decoration:none !important;font-weight:700;font-size:14.5px;padding:10px 0}
.ck-top .ck-tl a:hover{color:#fff !important;-webkit-text-fill-color:#fff}
.ck-top .ck-tc{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:999px;background:#fff !important;color:#1638a8 !important;-webkit-text-fill-color:#1638a8;font-weight:800;font-size:14.5px;text-decoration:none !important;white-space:nowrap;border:0}
.ck-top .ck-tg{display:none;min-height:44px;align-items:center;padding:0 6px;color:#fff !important;-webkit-text-fill-color:#fff;font-weight:700;font-size:14.5px;text-decoration:none !important}
.ck-top .ck-tmenu{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.3);border-radius:12px;background:transparent;color:#fff;cursor:pointer;padding:0}
.ck-top .ck-tmenu svg{width:22px;height:22px;stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round}
.ck-top.open .ck-tl{display:flex;flex-direction:column;gap:0;position:absolute;left:0;right:0;top:100%;background:#16389e;padding:8px 20px 16px;border-bottom:1px solid rgba(255,255,255,.12)}
.ck-top.open .ck-tl a{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}
@media(min-width:900px){
  .ck-top .ck-tl{display:flex;margin-right:8px}
  .ck-top .ck-tg{display:inline-flex}
  .ck-top .ck-tmenu{display:none}
  .ck-top.open .ck-tl{position:static;flex-direction:row;gap:18px;padding:0;background:none;border:0}
  .ck-top.open .ck-tl a{border:0;padding:10px 0}
}
@media(max-width:380px){.ck-top .ck-tb{font-size:15px}.ck-top .ck-tc{padding:0 14px;font-size:13.5px}}

footer.ck-foot{background:#0a1430 !important;border-top:1px solid rgba(255,255,255,.08) !important;color:#9fb3e0 !important;margin:0 !important;padding:48px 0 calc(28px + env(safe-area-inset-bottom)) !important;font-family:Manrope,"Manrope Fallback",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-size:14.5px;line-height:1.5;text-align:left}
footer.ck-foot .ck-fw{max-width:1160px;margin:0 auto;padding:0 20px}
footer.ck-foot .ck-fg{display:grid;grid-template-columns:1fr 1fr;gap:28px 20px}
footer.ck-foot .ck-fg>*{min-width:0}
footer.ck-foot .ck-fbrand{grid-column:1/-1}
footer.ck-foot .ck-fb{display:inline-flex;align-items:center;gap:10px;color:#fff !important;-webkit-text-fill-color:#fff;font-weight:800;font-size:17px;text-decoration:none !important;padding:0 !important}
footer.ck-foot .ck-fb i{width:30px;height:30px;border-radius:9px;background:#3b82f6;display:inline-flex;align-items:center;justify-content:center}
footer.ck-foot .ck-fb svg{width:17px;height:17px}
footer.ck-foot .ck-ftag{margin:10px 0 0;max-width:30em;color:#9fb3e0}
footer.ck-foot h4,footer.ck-foot .ck-fh{margin:0 0 6px;padding:0;font-family:inherit;font-size:12px;font-weight:800;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:#fff !important;-webkit-text-fill-color:#fff}
footer.ck-foot .ck-fcol a{display:block;color:#9fb3e0 !important;-webkit-text-fill-color:#9fb3e0;text-decoration:none !important;padding:12px 0 !important;min-height:44px;box-sizing:border-box;margin:0 !important;line-height:1.35;overflow-wrap:break-word;font-weight:600}
footer.ck-foot a:hover{color:#fff !important;-webkit-text-fill-color:#fff}
footer.ck-foot .ck-fbase{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 18px;margin-top:28px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);font-size:13px;color:#8aa0cf}
footer.ck-foot .ck-fbase a{display:inline-block;padding:12px 2px !important;color:#c9d6f3 !important;-webkit-text-fill-color:#c9d6f3;text-decoration:none !important}
footer.ck-foot.lite{padding:8px 0 calc(16px + env(safe-area-inset-bottom)) !important}
footer.ck-foot.lite .ck-fbase{margin-top:0;border-top:0}
@media(min-width:900px){
  footer.ck-foot .ck-fg{grid-template-columns:1.4fr 1fr 1fr 1fr}
  footer.ck-foot .ck-fbrand{grid-column:auto}
  footer.ck-foot .ck-fcol a{padding:5px 0 !important;min-height:0}
  footer.ck-foot .ck-fbase a{padding:4px 2px !important}
}
/* Oct 12: the old page headers have ONE button now, "Book a call". Page CSS hid .btn-primary on
   phones because the demo pill used to take that spot, so show the one button there instead. */
@media(max-width:640px){.nav-cta a.btn.btn-primary[href="/book"]{display:inline-flex !important;align-items:center;min-height:44px;padding:0 14px !important;font-size:.85rem !important;white-space:nowrap}.nav-cta a.btn.btn-ghost[href="/login/"]{display:none !important}}

/* Oct 13 audit: a visible focus ring for keyboard users on every page, bigger tap areas
   (44px) for small controls without moving anything, and an underlined cookie bar link. */
a:focus-visible,button:focus-visible,summary:focus-visible,[role=button]:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #fff !important;outline-offset:2px}
input[type=range]:focus-visible{outline:3px solid #fff !important;outline-offset:6px}
.brand,.ck-brand,.ck-top .ck-tb{padding-top:7px;padding-bottom:7px;margin-top:-7px;margin-bottom:-7px}
footer.ck-foot .ck-fb{padding:7px 0 !important;margin:-7px 0 !important}
.ck-bt-opt,.shoot-area-opt{min-height:44px}
.ck-wb::after{content:"";position:absolute;inset:-5px;border-radius:50%}
.cookie-bar a,#cookieBar a,.ckbar p a,#ckbar p a{text-decoration:underline !important;text-underline-offset:2px}
