/* Authority inquiries — analog studio magazine. Off `/` boot. */
:root {
  --au-void: #070604;
  --au-ink: #f3ead8;
  --au-mute: #b8a888;
  --au-faint: #7a6c58;
  --au-brass: #e4c36a;
  --au-line: rgba(212, 168, 72, 0.28);
  --au-serif: "Iowan Old Style", Palatino, "Palatino Linotype", "Times New Roman", serif;
  --au-mono: "Share Tech Mono", ui-monospace, Menlo, Consolas, monospace;
  --au-display: Orbitron, "Helvetica Neue", sans-serif;
}
.au-body {
  margin: 0;
  background:
    radial-gradient(ellipse 80% 50% at 80% -10%, rgba(80, 48, 16, 0.28), transparent 50%),
    var(--au-void);
  color: var(--au-ink);
  font-family: var(--au-serif);
  line-height: 1.65;
}
.au-wrap { max-width: 44rem; margin: 0 auto; padding: 0 1.25rem 5rem; }
.au-hero {
  margin: 0 -1.25rem 1.6rem;
  overflow: hidden;
  border-bottom: 1px solid var(--au-line);
  background: #0a0806;
}
.au-hero img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.au-kicker {
  margin: 0 0 0.45rem;
  font-family: var(--au-mono);
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--au-brass);
}
.au-body h1 {
  margin: 0 0 0.55rem;
  font-family: var(--au-serif);
  font-size: clamp(2rem, 5.4vw, 3.15rem);
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.08;
  color: #f7edd8;
}
.au-deck {
  margin: 0 0 1.15rem;
  font-size: 1.18rem;
  color: #efe4d0;
  max-width: 38rem;
}
.au-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 1rem;
  margin: 0 0 1.4rem;
  font-family: var(--au-mono);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--au-faint);
}
.au-card {
  margin: 0 0 1.6rem;
  padding: 1rem 1.05rem 1.05rem;
  border: 1px solid var(--au-line);
  background: rgba(18, 14, 10, 0.72);
}
.au-card h2 {
  margin: 0 0 0.45rem;
  font-family: var(--au-display);
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--au-brass);
}
.au-card p, .au-card li { margin: 0 0 0.45rem; color: var(--au-mute); font-size: 0.95rem; }
.au-card ul { margin: 0; padding-left: 1.15rem; }
.au-body h2 {
  margin: 2rem 0 0.55rem;
  font-size: 1.35rem;
  font-weight: 600;
  color: #e8c878;
  letter-spacing: -0.015em;
}
.au-body h3 {
  margin: 1.35rem 0 0.4rem;
  font-size: 1.05rem;
  color: #f0dca8;
}
.au-body p { margin: 0 0 0.95rem; color: #d8c8ae; }
.au-body li { margin: 0.28rem 0; color: #d8c8ae; }
.au-pull {
  margin: 1.4rem 0;
  padding: 0.2rem 0 0.2rem 1rem;
  border-left: 3px solid var(--au-brass);
  font-size: 1.22rem;
  line-height: 1.4;
  color: #f4ead8;
}
.au-table { width: 100%; border-collapse: collapse; margin: 0 0 1.2rem; font-size: 0.88rem; }
.au-wrap { overflow-x: clip; }
.au-table {
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.au-table th, .au-table td {
  text-align: left;
  padding: 0.45rem 0.5rem;
  border-bottom: 1px solid rgba(74, 56, 40, 0.8);
  color: #d4c4a8;
}
.au-table th {
  font-family: var(--au-mono);
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--au-brass);
}
.au-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.85rem;
  margin: 1.2rem 0 2rem;
}
@media (min-width: 760px) {
  .au-grid { grid-template-columns: 1fr 1fr; }
  .au-hero { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); width: 100vw; }
  .au-wrap { max-width: 46rem; }
}
.au-tile {
  display: block;
  text-decoration: none;
  color: inherit;
  border: 1px solid var(--au-line);
  background: #100c08;
  overflow: hidden;
}
.au-tile img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.au-tile div { padding: 0.85rem 0.95rem 1rem; }
.au-tile strong {
  display: block;
  margin: 0 0 0.28rem;
  color: #f3ead8;
  font-size: 1.05rem;
}
.au-tile span { color: var(--au-faint); font-size: 0.88rem; }
.au-tile:hover { border-color: rgba(232, 184, 74, 0.55); }
.au-cta {
  margin: 2rem 0 0;
  padding: 1.15rem 1.2rem;
  border: 1px solid var(--au-line);
  background: linear-gradient(180deg, #1a140c, #0c0a08);
}
.au-cta a {
  display: inline-block;
  margin-right: 0.85rem;
  color: #1a1408;
  background: linear-gradient(180deg, #f0d078, #c89840);
  text-decoration: none;
  font-family: var(--au-mono);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.55rem 0.9rem;
}
.au-ghost {
  color: var(--au-brass) !important;
  background: none !important;
  border-bottom: 1px solid rgba(232, 184, 74, 0.4);
  padding: 0.55rem 0 !important;
}
.au-note { margin-top: 1.4rem; font-size: 0.82rem; color: var(--au-faint); }
.au-note a { color: #c4a06a; }
a { color: #e8c878; }

/* Magazine chrome */
.au-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem 1rem;
  padding: 0.7rem 1.25rem;
  border-bottom: 1px solid var(--au-line);
  background: #0c0a08;
  font-family: var(--au-mono);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.au-nav a { color: #c4b496; text-decoration: none; }
.au-nav a:hover { color: #f0d878; }
.au-nav-mark { color: var(--au-brass) !important; letter-spacing: 0.16em; }
.au-nav-links { display: flex; flex-wrap: wrap; gap: 0.85rem; margin-left: auto; }
@media (max-width: 520px) {
  .au-nav { padding: 0.55rem 0.85rem; gap: 0.35rem 0.6rem; }
  .au-nav-links { gap: 0.55rem; margin-left: 0; }
  .au-wrap { padding: 0 0.9rem 4.5rem; }
  .au-cta a { display: block; margin: 0 0 0.55rem; text-align: center; }
  .au-hero figcaption { padding-left: 0.9rem; padding-right: 0.9rem; }
}
.au-crumb {
  margin: 1.15rem 0 0.85rem;
  font-family: var(--au-mono);
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--au-faint);
}
.au-crumb a { color: #c4a06a; text-decoration: none; }
.au-hero figcaption {
  margin: 0;
  padding: 0.45rem 1.25rem 0.7rem;
  font-family: var(--au-mono);
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--au-faint);
}
.au-toc {
  margin: 0 0 1.8rem;
  padding: 0.95rem 1.05rem;
  border: 1px solid var(--au-line);
  background: rgba(12, 10, 8, 0.55);
}
.au-toc p {
  margin: 0 0 0.45rem;
  font-family: var(--au-mono);
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--au-brass);
}
.au-toc ol {
  margin: 0;
  padding-left: 1.15rem;
  columns: 1;
}
@media (min-width: 720px) {
  .au-toc ol { columns: 2; column-gap: 1.6rem; }
}
.au-toc li { margin: 0.18rem 0; color: #d8c8ae; font-size: 0.92rem; }
.au-toc a { text-decoration: none; }
.au-fig {
  margin: 1.4rem 0 1.6rem;
  overflow: hidden;
  border: 1px solid var(--au-line);
  background: #0a0806;
}
.au-fig img, .au-fig svg {
  display: block;
  width: 100%;
  height: auto;
}
.au-fig figcaption {
  padding: 0.5rem 0.85rem 0.7rem;
  font-size: 0.82rem;
  color: var(--au-faint);
}
.au-levels {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.7rem;
  margin: 1.1rem 0 1.5rem;
}
@media (min-width: 720px) {
  .au-levels { grid-template-columns: 1fr 1fr; }
}
.au-level {
  padding: 0.85rem 0.95rem;
  border: 1px solid var(--au-line);
  background: #100c08;
}
.au-level strong {
  display: block;
  margin: 0 0 0.28rem;
  font-family: var(--au-mono);
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--au-brass);
}
.au-level p { margin: 0; font-size: 0.92rem; color: var(--au-mute); }
.au-faq details {
  margin: 0 0 0.55rem;
  padding: 0.7rem 0.85rem;
  border: 1px solid var(--au-line);
  background: rgba(16, 12, 8, 0.7);
}
.au-faq summary {
  cursor: pointer;
  color: #f3ead8;
  font-weight: 600;
}
.au-faq details p { margin: 0.55rem 0 0; }
.au-related {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
  margin: 1.1rem 0 1.6rem;
}
@media (min-width: 720px) {
  .au-related { grid-template-columns: 1fr 1fr; }
}
.au-byline {
  display: flex;
  gap: 0.85rem;
  align-items: center;
  margin: 0 0 1.4rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--au-line);
}
.au-byline-mark {
  width: 2.4rem;
  height: 2.4rem;
  flex: 0 0 auto;
  border-radius: 50%;
  border: 1px solid var(--au-line);
  background:
    radial-gradient(circle at 35% 30%, #f0d078, #8a6020 55%, #1a140c);
}
.au-byline p { margin: 0; font-size: 0.88rem; color: var(--au-mute); }
.au-byline strong { color: #f3ead8; }
.au-rule {
  height: 1px;
  margin: 2rem 0;
  border: 0;
  background: var(--au-line);
}
.au-hub-hero {
  margin: 0 0 1.6rem;
  padding: 2.2rem 1.4rem 2rem;
  border-bottom: 1px solid var(--au-line);
  background:
    linear-gradient(180deg, rgba(12, 10, 8, 0.2), rgba(7, 6, 4, 0.92)),
    url("/images/authority/hero-library.jpg") center/cover no-repeat;
}
.au-hub-hero h1 { max-width: 46rem; }
.au-hub-hero .au-deck { max-width: 38rem; color: #efe4d0; }
.au-num {
  font-family: var(--au-mono);
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  color: var(--au-brass);
}
.au-tile .au-num { margin-bottom: 0.35rem; }
.au-cite {
  font-size: 0.88rem;
  color: var(--au-faint);
  border-left: 2px solid var(--au-line);
  padding-left: 0.85rem;
  margin: 0.4rem 0 1.1rem;
}
.au-warn {
  margin: 1.2rem 0;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(200, 120, 64, 0.45);
  background: rgba(40, 18, 8, 0.55);
}
.au-warn strong { color: #f0c878; }
@media (max-width: 720px) {
  .au-hero { margin-left: -1.25rem; margin-right: -1.25rem; }
}
