/* About page as a quiet colophon, plus a site-wide footer that replaces "About and data" in the main navigation.
   Prefix ab-. Uses enamel-cards.css, ledger.css, home.css. */
.ab-wrap { max-width: 52rem; margin: 0 auto; padding: 2.4rem 20px 3rem; }
.ab-eyebrow { margin: 0 0 .3rem; font-size: .74rem; letter-spacing: .2em; text-transform: uppercase; color: var(--lg-head); }
.ab-wrap h1 { margin: 0; font-size: clamp(1.9rem, 4vw, 2.5rem); line-height: 1.15; }
.ab-lede { margin: .8rem 0 1.8rem; font-size: 1.12rem; line-height: 1.6; color: var(--en-ink2); }
.ab-acc > details { border-bottom: 1px solid var(--lg-rule); } .ab-acc > details:last-child { border-bottom: 0; }
.ab-acc summary { display: flex; align-items: center; gap: .8rem; padding: 1rem .4rem; cursor: pointer; list-style: none; font-size: 1.12rem; font-weight: 700; }
.ab-acc summary::-webkit-details-marker { display: none; }
.ab-acc summary::before { content: ""; flex: none; width: 1rem; height: 1rem; background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 40 40%22%3E%3Cpolygon points=%2239.00,20.00 33.44,25.56 33.44,33.44 25.56,33.44 20.00,39.00 14.44,33.44 6.56,33.44 6.56,25.56 1.00,20.00 6.56,14.44 6.56,6.56 14.44,6.56 20.00,1.00 25.56,6.56 33.44,6.56 33.44,14.44%22 fill=%22%23c9a44c%22/%3E%3Cpolygon points=%2232.00,20.00 28.49,23.51 28.49,28.49 23.51,28.49 20.00,32.00 16.49,28.49 11.51,28.49 11.51,23.51 8.00,20.00 11.51,16.49 11.51,11.51 16.49,11.51 20.00,8.00 23.51,11.51 28.49,11.51 28.49,16.49%22 fill=%22%23fbf3df%22/%3E%3Cpolygon points=%2226.50,20.00 24.60,21.90 24.60,24.60 21.90,24.60 20.00,26.50 18.10,24.60 15.40,24.60 15.40,21.90 13.50,20.00 15.40,18.10 15.40,15.40 18.10,15.40 20.00,13.50 21.90,15.40 24.60,15.40 24.60,18.10%22 fill=%22%230f8a99%22/%3E%3C/svg%3E") center / contain no-repeat; }
.ab-acc summary small { font-weight: 400; font-size: .9rem; color: var(--en-ink2); }
.ab-acc summary::after { content: ""; margin-left: auto; width: .55rem; height: .55rem; border-right: 1.6px solid var(--lg-gold); border-bottom: 1.6px solid var(--lg-gold); transform: rotate(45deg); transition: transform .25s; }
.ab-acc details[open] > summary::after { transform: rotate(-135deg); }
.ab-acc summary:hover { color: var(--en-link); }
.ab-body { padding: 0 .4rem 1.2rem 2.2rem; color: var(--en-ink2); line-height: 1.65; }
.ab-body p { margin: 0 0 .8rem; } .ab-body h3 { margin: 1rem 0 .3rem; font-size: 1rem; color: var(--en-ink); }
.ab-body dl { display: grid; grid-template-columns: auto 1fr; gap: .4rem 1rem; margin: 0; } .ab-body dt { font-weight: 700; color: var(--en-ink); } .ab-body dd { margin: 0; }
.ab-files { display: flex; flex-wrap: wrap; gap: .7rem; margin: .4rem 0 .8rem; padding: 0; list-style: none; }
.ab-files a { display: grid; padding: .6rem 1rem; border-radius: 10px; text-decoration: none; color: #fbf3df; min-width: 9.5rem;
  background: linear-gradient(170deg, rgba(255,255,255,.16), transparent 45%), radial-gradient(140% 140% at 80% 20%, #178995, #0b5f68 55%, #063a41); box-shadow: inset 0 -3px 0 #c9a44c, 0 10px 18px -12px rgba(5,40,50,.7); }
.ab-files b { font-weight: 700; } .ab-files small { font-size: .78rem; color: #d8e4e6; }
.ab-cite { margin: .3rem 0 .6rem; padding: .9rem 1.1rem; border-radius: 8px; background: rgba(184,145,58,.1); color: var(--en-ink); font-size: .95rem; line-height: 1.55; }
.ab-copy { font: inherit; font-size: .88rem; padding: .3rem .9rem; border-radius: 999px; border: 1px solid var(--lg-gold); background: transparent; color: var(--en-ink); cursor: pointer; }

/* site footer (every page) */
.ab-foot { margin-top: 3rem; border-top: 1px solid rgba(184,145,58,.45); background: linear-gradient(transparent, rgba(184,145,58,.07)); }
.ab-foot::before { content: ""; display: block; height: 4px; background: repeating-linear-gradient(#ecd8a2 0 1px, #c9a44c 1px 2px); opacity: .7; }
.ab-foot-in { max-width: 1180px; margin: 0 auto; padding: 1.1rem 20px 1.3rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem 2rem; }
.ab-name { font-size: .74rem; letter-spacing: .2em; text-transform: uppercase; color: var(--lg-head); text-decoration: none; }
.ab-foot p { margin: 0; max-width: 56ch; font-size: .92rem; line-height: 1.55; color: var(--en-ink2); }
.ab-foot p b { color: var(--en-ink); font-weight: 700; }
.ab-foot nav ul { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; margin: 0; padding: 0; list-style: none; font-size: .92rem; }
.ab-foot nav a { color: var(--en-ink2); text-decoration: none; } .ab-foot nav a:hover { color: var(--en-link); }
.ab-foot nav a[aria-current] { color: var(--en-ink); font-weight: 700; }
@media (max-width: 700px) { .ab-body { padding-left: .4rem; } }
