/* ---------- v15: about overlay on the homepage (replaces the standalone about page) ---------- */
.about-overlay { position: fixed; inset: 0; z-index: 80; }
.about-overlay[hidden] { display: none; }
.about-backdrop { position: absolute; inset: 0; background: rgba(24, 20, 14, .46); }
.about-panel { position: absolute; left: 50%; top: calc(var(--hdr-h) + 12px);
  transform: translate(-50%, 0);
  width: min(520px, 94vw); max-height: min(76vh, calc(100vh - 130px));
  display: flex; flex-direction: column;
  background: rgba(245,242,234,.28); color: #1c1a16; border: 1px solid rgba(160,148,116,.5);
  backdrop-filter: blur(22px) saturate(1.4); -webkit-backdrop-filter: blur(22px) saturate(1.4);
  box-shadow: 0 24px 70px rgba(10, 8, 4, .40); }
.about-scroll { overflow-y: auto; font-size: 11.5px; line-height: 1.65; }
.about-scroll .doc-h1 { font-size: 1.28rem; }
.about-scroll .doc-h2 { font-size: .98rem; }
.about-scroll .lede { font-size: .88rem; }
.about-foot { font-size: .78rem; }
.about-close { position: absolute; top: 10px; right: 12px; z-index: 2; width: 34px; height: 34px;
  background: transparent; border: 1px solid #b9b2a4; color: inherit; cursor: pointer;
  font-family: var(--serif); font-size: 20px; line-height: 1; }
.about-close:hover { background: rgba(176, 32, 42, .08); }
.about-foot { margin-top: 2.6rem; border-top: 1px solid #b9b2a4; padding-top: 1.2rem;
  font-size: .88rem; color: #6b655a; }
.about-foot .brand-line { color: #1c1a16; font-weight: 700; margin-bottom: .3rem; }
.about-foot a { color: #B0202A; text-decoration: none; }
body.theme-dark .about-panel { background: rgba(10,17,23,.28); color: #dfe7ee; border-color: rgba(60,84,104,.5); }
body.theme-dark .bgis-help { color: #e8eef4; }
body.theme-dark .about-close { border-color: #2e4a59; }
body.theme-dark .about-foot { border-top-color: #2e4a59; color: #8fa3b0; }
body.theme-dark .about-foot .brand-line { color: #dfe7ee; }
.bgis-help { font-family: var(--serif); font-weight: 700; font-size: 16px; }
@media (max-width: 640px) {
  .about-panel { max-height: min(84vh, calc(100vh - 120px)); width: 94vw; }
}

/* ---------- v19: about head fixed, only the body scrolls ---------- */
.about-head { flex: 0 0 auto; padding-bottom: 0; }
.about-scroll { padding-top: 0; padding-bottom: 1.3rem; }
