/* Shared site header and footer for the pages that still use styles.css and
   legacy-signal.css (legal pages, guides, thank-you, webinar replay, blog).
   The rules are copied from signal.css and mercury.css and scoped to
   .site-header and .site-footer so they cannot disturb the page body. Pages
   built on signal.css do not load this file. Change the header or footer in
   signal.css first, then mirror the change here. */
.site-header,.site-footer{--ink:#071416;--white:#fff;--paper:#f7faf3;--cyan:#0053d9;--blue:#0053d9;--blue-ink:#0042b0;--line:rgba(7,20,22,.18);--muted:#5f6e6d;--font-display:"Space Grotesk",Arial,sans-serif;--font-body:"Plus Jakarta Sans",Arial,sans-serif;font-family:var(--font-body);font-size:17px;line-height:1.7;letter-spacing:.003em;box-sizing:border-box}
.site-header *,.site-footer *{box-sizing:border-box}
.skip{position:absolute;left:-999px}
.skip:focus{left:1rem;top:1rem;background:#0053d9;color:#fff;padding:.7rem 1rem;z-index:200}
.wrap{width:min(1180px,calc(100% - 2.25rem));margin:auto}

.site-header{position:sticky;top:0;z-index:100;background:rgba(247,250,243,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line);color:var(--ink)}
.site-header .header-inner{height:76px;display:flex;align-items:center;gap:2rem}
.site-header .brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink)}
.site-header .brand img.brand-lockup{width:auto;height:36px;object-fit:contain;display:block}
.site-header nav{display:flex;align-items:center;gap:1.6rem;margin-left:auto}
.site-header nav a{text-decoration:none;font-size:.94rem;font-weight:600;color:var(--ink)}
.site-header nav a:hover,.site-header nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--cyan);text-decoration-thickness:3px;text-underline-offset:.2em}
.site-header .menu{display:none;border:1px solid var(--line);background:var(--white);border-radius:999px;padding:.5rem .8rem;font:700 1rem/1.4 var(--font-body);color:var(--ink);cursor:pointer}
.site-header .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.1rem;border-radius:999px;background:var(--blue);border:1px solid var(--blue);color:#fff;font-weight:700;letter-spacing:.005em;text-decoration:none;transition:transform .32s cubic-bezier(.2,.7,.2,1),box-shadow .32s ease,background-color .2s ease}
.site-header .btn:hover{background:var(--blue-ink);border-color:var(--blue-ink);color:#fff;text-decoration:none;transform:translateY(-1px);box-shadow:0 8px 20px rgba(7,20,22,.12)}
.site-header a:focus-visible,.site-header button:focus-visible,.site-footer a:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}

footer.site-footer{padding:3rem 0;background:var(--ink);border-top:0;color:#fff}
.site-footer .footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem}
.site-footer a{color:#dbe6e4;text-decoration:none;font-size:inherit}
.site-footer a:hover{color:#fff}
.site-footer p{margin:1em 0;color:#fff;max-width:none}
.site-footer small{color:#9aabaa}
.site-footer .brand{display:flex;align-items:center;gap:.7rem;font-family:var(--font-display);font-size:1.02rem;font-weight:700;letter-spacing:.03em;line-height:1.15}
.site-footer .brand img.brand-lockup{width:auto;height:32px;object-fit:contain;display:block}
.site-footer .footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}
.site-footer .footer-nav strong{color:#fff}

@media(max-width:850px){
  .site-header .header-inner{height:68px}
  .site-header .menu{display:block;margin-left:auto}
  .site-header nav{display:none;position:absolute;left:0;right:0;top:68px;background:var(--paper);padding:1rem 1.2rem 1.4rem;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}
  .site-header nav[data-open]{display:flex}
  .site-header nav .btn{width:100%}
  .site-header .brand img.brand-lockup{height:30px}
  .site-footer .footer-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.site-header .btn{transition:none}.site-header .btn:hover{transform:none}}
