/* Shared presentation across Lincoln, Research and Bits and Pieces.
   Keep these copies identical when changing the common design. */
:root {
  --identity-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --identity-width:68rem;
  --identity-content-width:62rem;
  --identity-gutter:1.5rem;
}
:root { font-size:16px; --bs-root-font-size:16px; }
body { font-family:var(--identity-sans); font-size:17px; font-weight:400; line-height:1.75; color:var(--identity-ink); background:var(--identity-paper); -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4 { font-family:var(--identity-serif); font-weight:400; line-height:1.2; letter-spacing:-.025em; color:var(--identity-ink); }
h1 { font-size:clamp(2.6rem,6vw,4rem); }
h2 { font-size:2rem; }
h3 { font-size:1.5rem; }
.identity-header.identity-header { position:sticky; top:0; z-index:1000; width:100%; max-width:none; margin:0; padding:0; background:var(--identity-paper); border-bottom:1px solid var(--identity-line); }
.identity-header-inner.identity-header-inner { box-sizing:border-box; display:flex; flex-wrap:wrap; align-items:center; gap:.75rem 1.5rem; width:100%; max-width:var(--identity-width); min-height:80px; margin:0 auto; padding:1rem var(--identity-gutter); }
.identity-brand.identity-brand { display:inline-flex; align-items:center; flex-shrink:0; width:auto; height:auto; margin:0; color:var(--identity-ink); font:400 1.4rem/1.4 var(--identity-serif); letter-spacing:-.025em; text-decoration:none; }
.identity-header .identity-navigation { display:flex; flex-wrap:wrap; align-items:center; gap:.25rem 1rem; margin-left:auto; }
.identity-header .identity-navigation a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0; color:var(--identity-muted); font:400 .9rem/1.4 var(--identity-sans); text-decoration:none; }
.identity-header .identity-navigation a:hover, .identity-header .identity-navigation a[aria-current="page"] { color:var(--identity-ink); }
.identity-header a[aria-current="page"] { text-decoration:underline; text-underline-offset:.3em; }
.identity-header .theme-toggle { order:3; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; box-sizing:border-box; width:44px; height:44px; margin:0; padding:.5rem; border:1px solid var(--identity-line); border-radius:50%; color:var(--identity-ink); background:transparent; cursor:pointer; }
.identity-header .theme-toggle[hidden] { display:none; }
.identity-header .theme-toggle:hover { background:var(--identity-line); }
.identity-header :focus-visible { outline:2px solid var(--identity-accent); outline-offset:4px; }
.theme-icon-sun { display:none; }
:root[data-theme="dark"] .theme-icon-sun { display:block; }
:root[data-theme="dark"] .theme-icon-moon { display:none; }
.identity-footer.identity-footer { box-sizing:border-box; display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; width:100%; max-width:var(--identity-width); margin:4rem auto 0; padding:1.5rem var(--identity-gutter); border-top:1px solid var(--identity-line); color:var(--identity-muted); font:400 .875rem/1.6 var(--identity-sans); }
.identity-footer nav { display:flex; flex-wrap:wrap; gap:.5rem 1.25rem; }
.identity-footer a { color:var(--identity-accent); text-underline-offset:.2em; }
@media(max-width:960px) {
  .identity-header .identity-navigation { order:4; flex-basis:100%; margin:0; justify-content:flex-start; }
  .identity-header .theme-toggle { order:2; margin-left:auto; }
}
@media(max-width:640px) { :root { --identity-gutter:1rem; } }

.identity-eyebrow, .eyebrow, .editorial-intro .editorial-meta { margin:0 0 .7rem; color:var(--identity-muted); font:400 .78rem/1.6 ui-monospace,monospace; letter-spacing:.12em; text-transform:uppercase; }

.identity-header .menu-toggle { display:none; align-items:center; justify-content:center; flex-shrink:0; box-sizing:border-box; width:44px; height:44px; padding:.5rem; border:1px solid var(--identity-line); border-radius:50%; color:var(--identity-ink); background:transparent; cursor:pointer; }
.identity-navigation .site-links { display:flex; flex-wrap:wrap; align-items:center; gap:.25rem 1rem; list-style:none; margin:0; padding:0; }
html { scroll-padding-top:calc(var(--site-header-height,81px) + var(--site-toc-height,0px) + 1rem); }
@media(max-width:960px) {
  .identity-header .menu-toggle:not([hidden]) { display:inline-flex; order:3; }
  .identity-header[data-menu-ready] .identity-navigation { display:none; }
  .identity-header[data-menu-open] .identity-navigation { display:flex; }
}
