/* shell.css — shared site chrome (header + footer) for LedgerLens pages.
 * Self-contained + brand-literal (no dependency on each page's own CSS variables),
 * so the header and footer render identically on the landing, checklist, and legal
 * pages. Brand: "the ledger, examined" — ledger-paper, deep green #1F4636, brass #B07D2B,
 * Fraunces display + IBM Plex Sans/Mono. Hidden when printed.
 */

.lls-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(246, 242, 233, 0.85);
  backdrop-filter: saturate(140%) blur(8px);
  -webkit-backdrop-filter: saturate(140%) blur(8px);
  border-bottom: 1px solid #D9D0BE;
  font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.lls-header__in {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.lls-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; min-width: 0; }
.lls-brand svg { display: block; flex: none; }
.lls-brand b {
  font-family: "Fraunces", Georgia, serif;
  font-weight: 600;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: #1B1E1C;
}
.lls-brand b i { font-style: normal; }
.lls-nav { display: flex; align-items: center; gap: 26px; }
.lls-nav a { font-size: 14.5px; color: #4C524C; text-decoration: none; font-weight: 500; transition: color .15s ease; }
.lls-nav a:hover { color: #1F4636; }
.lls-cta {
  display: inline-flex; align-items: center; gap: 7px;
  background: #1F4636; color: #FBF8F1; font-weight: 600; font-size: 13.5px;
  padding: 9px 16px; border-radius: 3px; text-decoration: none;
  transition: background .2s ease, transform .15s ease;
}
.lls-cta:hover { background: #2E6B4F; transform: translateY(-1px); }
@media (max-width: 720px) { .lls-nav a:not(.lls-cta) { display: none; } }

/* Centered content column for pages that aren't the full-bleed landing. */
.lls-page { max-width: 760px; margin: 0 auto; padding: 48px 24px 16px; }

.lls-footer {
  background: #FBF8F1;
  border-top: 1px solid #D9D0BE;
  font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: #4C524C;
  margin-top: 56px;
}
.lls-footer__in { max-width: 1140px; margin: 0 auto; padding: 40px 24px; display: flex; flex-direction: column; gap: 18px; }
.lls-foot-top { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; }
.lls-foot-links {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  font-family: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
  font-size: 11.5px; letter-spacing: 0.02em;
}
.lls-foot-links a { color: #7C8278; text-decoration: none; }
.lls-foot-links a:hover { color: #1F4636; }
.lls-legal { font-size: 12px; color: #97A08F; line-height: 1.6; max-width: 64em; }

@media print { .lls-header, .lls-footer { display: none !important; } }
