/* Orthovox night-chapel overrides (was CSS Code Injection pack). */

/* ========================================
   ORTHOVOX — Night Chapel Theme (v2)
   Custom CSS pack for Ghost "Source" theme
   ======================================== */

:root {
  --bg: #0c0a08;
  --bg-2: #141109;
  --panel: #1a150d;
  --ink: #f2e6c8;
  --ink-soft: #a8997c;
  --ink-dim: #5a5141;
  --gold: #d4af5a;
  --gold-bright: #f1d07a;
  --rule: #2a2216;
  --accent: #b83939;

  /* Override Source theme tokens */
  --color-bg: var(--bg) !important;
  --color-text: var(--ink) !important;
  --color-link: var(--gold) !important;
  --ghost-accent-color: var(--gold) !important;
}

/* ---- Global background & body ---- */
html, body {
  background: var(--bg) !important;
  color: var(--ink) !important;
  font-family: 'Cormorant Garamond', 'EB Garamond', Georgia, serif !important;
  font-size: 19px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  background-image:
    radial-gradient(circle at 20% 8%, rgba(212,175,90,.06), transparent 40%),
    radial-gradient(circle at 80% 90%, rgba(184,57,57,.05), transparent 45%) !important;
  background-attachment: fixed !important;
}

/* ---- Display headings ---- */
h1, h2, h3, h4, h5, h6,
.gh-article-title, .gh-feature-title,
.gh-card-title, .site-title {
  font-family: 'Cinzel', 'Trajan Pro', Georgia, serif !important;
  color: var(--ink) !important;
  font-weight: 500 !important;
  letter-spacing: .04em !important;
}

/* Italicized accent headings (v2 hero used this pattern) */
h1 em, h2 em, h3 em { color: var(--gold) !important; font-style: italic; font-weight: 400; }

/* ---- Links ---- */
a { color: var(--gold) !important; }
a:hover { color: var(--gold-bright) !important; }

/* ---- Top nav / site header ---- */
.gh-head, .site-header, header.gh-head {
  background: rgba(12,10,8,.88) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid var(--rule) !important;
}
.gh-head-brand, .site-title {
  font-family: 'Cinzel', serif !important;
  letter-spacing: .25em !important;
  text-transform: uppercase !important;
  color: var(--ink) !important;
  font-size: 15px !important;
}
.gh-head-menu a, .site-nav a, nav a {
  color: var(--ink-soft) !important;
  font-family: 'Cinzel', serif !important;
  font-size: 12px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
}
.gh-head-menu a:hover, .site-nav a:hover { color: var(--gold) !important; }

/* Ghost's default "Subscribe" button in header -> gold pill */
.gh-head-button, .gh-btn-signup, .btn-subscribe,
[data-members-trigger] {
  background: transparent !important;
  color: var(--gold) !important;
  border: 1px solid var(--gold) !important;
  border-radius: 999px !important;
  padding: 8px 18px !important;
  font-family: 'Cinzel', serif !important;
  font-size: 11px !important;
  letter-spacing: .25em !important;
  text-transform: uppercase !important;
  transition: all .15s ease !important;
}
.gh-head-button:hover, .gh-btn-signup:hover, [data-members-trigger]:hover {
  background: var(--gold) !important;
  color: var(--bg) !important;
}

/* ---- Hero / featured post section ---- */
.gh-hero, .gh-featured, .feature-post, .gh-main .is-big {
  border-bottom: 1px solid var(--rule) !important;
  padding: 80px 0 !important;
}
.gh-hero h1, .gh-featured h1, .feature-post h2 {
  font-size: clamp(44px, 6vw, 72px) !important;
  line-height: 1.08 !important;
  margin-bottom: 24px !important;
}

/* "Featured" / kicker labels */
.gh-hero-kicker, .gh-featured-label, .post-card-tags {
  font-family: 'Cinzel', serif !important;
  font-size: 11px !important;
  letter-spacing: .4em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  opacity: .85 !important;
}

/* ---- Post list / library cards ---- */
.post-feed, .gh-postfeed, .gh-feed {
  background: transparent !important;
}

.post-card, .gh-card, article.post {
  background: transparent !important;
  border-bottom: 1px solid var(--rule) !important;
  padding: 28px 16px !important;
  margin: 0 !important;
  transition: background .2s ease !important;
}
.post-card:hover, .gh-card:hover, article.post:hover {
  background: linear-gradient(90deg, transparent, rgba(212,175,90,.035), transparent) !important;
}
.post-card-title, .gh-card-title, .post-card h2, .post-card h3 {
  font-size: 22px !important;
  color: var(--ink) !important;
  margin-bottom: 6px !important;
}
.post-card-excerpt, .gh-card-excerpt, .post-card p {
  color: var(--ink-soft) !important;
  font-style: italic !important;
  font-size: 16px !important;
}
.post-card-meta, .gh-card-meta, .post-card-author, .post-card-byline, time {
  color: var(--ink-dim) !important;
  font-family: 'Cinzel', serif !important;
  font-size: 11px !important;
  letter-spacing: .25em !important;
  text-transform: uppercase !important;
}

/* Remove Source's card shadows/images backgrounds on the dark bg */
.post-card-image, .gh-card-image {
  border: 1px solid var(--rule) !important;
  border-radius: 2px !important;
}

/* ---- Article / post body ---- */
.gh-article, article.post, .post-content {
  background: var(--bg) !important;
  color: var(--ink) !important;
}
.gh-article p, .post-content p { color: var(--ink) !important; font-size: 20px; line-height: 1.75; }
.gh-article h2, .gh-article h3 { margin-top: 2em; }
.gh-article blockquote, blockquote {
  border-left: 2px solid var(--gold) !important;
  color: var(--ink) !important;
  font-style: italic;
  padding: 12px 0 12px 24px !important;
}
.gh-article hr, hr {
  border: 0 !important;
  text-align: center !important;
  margin: 48px 0 !important;
}
.gh-article hr::after, hr::after {
  content: '· · ·';
  color: var(--gold);
  letter-spacing: 1em;
  font-size: 16px;
}

/* Audio embeds (archive.org iframe, Ghost audio card) */
.kg-audio-card, .kg-embed-card iframe, audio {
  background: var(--panel) !important;
  border: 1px solid var(--rule) !important;
  border-radius: 2px !important;
}

/* ---- Buttons ---- */
.kg-btn, button, .gh-btn, .btn, input[type="submit"] {
  background: var(--gold) !important;
  color: var(--bg-2) !important;
  border: 1px solid var(--gold) !important;
  font-family: 'Cinzel', serif !important;
  font-size: 12px !important;
  letter-spacing: .3em !important;
  text-transform: uppercase !important;
  padding: 14px 32px !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  transition: all .15s ease !important;
}
.kg-btn:hover, button:hover, .gh-btn:hover, .btn:hover {
  background: var(--gold-bright) !important;
  border-color: var(--gold-bright) !important;
}
.kg-btn.kg-btn-accent { background: var(--gold) !important; color: var(--bg-2) !important; }

/* ---- Ghost Portal (members signup/login modal) ---- */
/* Ghost injects Portal via shadow DOM; these vars + selectors cover most cases */
#ghost-portal-root, .gh-portal-popup, .gh-portal-container {
  --gh-portal-background: var(--bg-2) !important;
  --gh-portal-text-color: var(--ink) !important;
  --gh-portal-accent-color: var(--gold) !important;
}

/* ---- Forms (subscribe, comments) ---- */
input, textarea, select {
  background: var(--panel) !important;
  color: var(--ink) !important;
  border: 1px solid var(--rule) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 17px !important;
  padding: 14px 18px !important;
  border-radius: 2px !important;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--gold) !important;
  outline: none !important;
}
::placeholder { color: var(--ink-dim) !important; font-style: italic; }

/* ---- Footer ---- */
.gh-foot, .site-footer, footer {
  background: var(--bg) !important;
  color: var(--ink-dim) !important;
  border-top: 1px solid var(--rule) !important;
  padding: 56px 0 32px !important;
}
.gh-foot h4, .site-footer h4 {
  color: var(--gold) !important;
  font-size: 11px !important;
  letter-spacing: .3em !important;
  text-transform: uppercase !important;
}
.gh-foot a, .site-footer a { color: var(--ink-soft) !important; }
.gh-foot a:hover, .site-footer a:hover { color: var(--gold) !important; }

/* ---- Utility: ornamental divider for posts ---- */
.ornament {
  text-align: center;
  color: var(--gold);
  font-size: 20px;
  letter-spacing: 1em;
  margin: 48px 0;
  opacity: .55;
}

/* ---- Responsive tidy-up ---- */
@media (max-width: 720px) {
  body { font-size: 18px; }
  .gh-hero, .gh-featured, .feature-post { padding: 56px 0 !important; }
}
/* ========================================
   ORTHOVOX — Template-specific additions
   (error-404, home codex, narrate page)
   ======================================== */

/* ---- 404 page ---- */
.orthovox-error {
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4rem 1.5rem;
}
.orthovox-error__inner {
  max-width: 640px;
  text-align: center;
}
.orthovox-error__ornament {
  font-size: 3rem;
  color: var(--gold);
  opacity: 0.6;
  margin-bottom: 1.5rem;
  line-height: 1;
}
.orthovox-error__kicker {
  font-family: 'Cinzel', serif;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-size: 0.72rem;
  color: var(--ink-soft);
  margin-bottom: 1rem;
}
.orthovox-error__title {
  font-family: 'Cinzel', serif;
  font-size: 5rem;
  margin: 0 0 1.5rem;
  color: var(--ink);
  letter-spacing: 0.04em;
}
.orthovox-error__title em {
  color: var(--gold);
  font-style: italic;
}
.orthovox-error__lede {
  font-size: 1.15rem;
  color: var(--ink-soft);
  line-height: 1.6;
  margin: 0 0 2.5rem;
}
.orthovox-error__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
}

/* ---- Orthovox shared buttons (used on 404 + narrate) ---- */
.orthovox-btn {
  display: inline-block;
  padding: 0.9em 1.6em;
  font-family: 'Cinzel', serif;
  font-size: 0.76rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 2px;
  transition: all 0.18s ease;
  line-height: 1;
}
.orthovox-btn--gold {
  background: var(--gold);
  color: var(--bg);
  border: 1px solid var(--gold);
}
.orthovox-btn--gold:hover {
  background: var(--gold-bright);
  border-color: var(--gold-bright);
  color: var(--bg);
}
.orthovox-btn--ghost {
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--rule);
}
.orthovox-btn--ghost:hover {
  border-color: var(--gold);
  color: var(--gold);
}

/* ---- Codex list (homepage library feed) ---- */
.orthovox-codex {
  padding: 3rem 1.5rem 6rem;
}
.orthovox-codex__header {
  max-width: 800px;
  margin: 0 auto 3rem;
  text-align: center;
}
.orthovox-codex__overline {
  font-family: 'Cinzel', serif;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-size: 0.72rem;
  color: var(--ink-soft);
  margin: 0 0 1rem;
}
.orthovox-codex__section-title {
  font-family: 'Cinzel', serif;
  font-size: 2.6rem;
  margin: 0 0 1rem;
  color: var(--ink);
  letter-spacing: 0.04em;
  font-weight: 500;
}
.orthovox-codex__section-title em {
  color: var(--gold);
  font-style: italic;
  font-weight: 400;
}
.orthovox-codex__section-lede {
  font-style: italic;
  color: var(--ink-soft);
  font-size: 1.05rem;
  margin: 0;
}
.orthovox-codex__list {
  max-width: 780px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.orthovox-codex__entry {
  border: 1px solid transparent;
  border-top: 1px solid var(--rule);
  transition: background 0.2s ease;
}
.orthovox-codex__entry:last-child {
  border-bottom: 1px solid var(--rule);
}
.orthovox-codex__entry:hover {
  background: rgba(212, 175, 90, 0.04);
}
.orthovox-codex__link {
  display: grid;
  grid-template-columns: 3rem 4.5rem 1fr 2rem;
  gap: 1.25rem;
  align-items: center;
  padding: 1.5rem 0.75rem;
  text-decoration: none;
  color: inherit;
}
.orthovox-codex__index {
  font-family: 'Cinzel', serif;
  color: var(--ink-dim);
  font-size: 0.9rem;
  letter-spacing: 0.1em;
  text-align: right;
}
.orthovox-codex__figure {
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 50%;
  overflow: hidden;
  background: var(--panel);
  border: 1px solid var(--rule);
  display: flex;
  align-items: center;
  justify-content: center;
}
.orthovox-codex__figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.orthovox-codex__figure--placeholder {
  color: var(--gold);
  font-size: 1.8rem;
  opacity: 0.7;
}
.orthovox-codex__kicker {
  font-family: 'Cinzel', serif;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-size: 0.66rem;
  color: var(--ink-soft);
  margin: 0 0 0.35rem;
}
.orthovox-codex__title {
  font-family: 'Cinzel', serif;
  font-size: 1.2rem;
  margin: 0 0 0.35rem;
  color: var(--ink);
  letter-spacing: 0.03em;
  font-weight: 500;
}
.orthovox-codex__excerpt {
  font-style: italic;
  color: var(--ink-soft);
  font-size: 0.98rem;
  line-height: 1.5;
  margin: 0;
}
.orthovox-codex__arrow {
  color: var(--gold);
  font-size: 1.25rem;
  text-align: right;
  opacity: 0.6;
  transition: opacity 0.2s, transform 0.2s;
}
.orthovox-codex__entry:hover .orthovox-codex__arrow {
  opacity: 1;
  transform: translateX(4px);
}

/* ---- Narrate page ---- */
.orthovox-narrate__hero {
  padding: 4rem 1.5rem 2rem;
  text-align: center;
}
.orthovox-narrate__overline {
  font-family: 'Cinzel', serif;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-size: 0.72rem;
  color: var(--ink-soft);
  margin: 0 0 1rem;
}
.orthovox-narrate__title {
  font-family: 'Cinzel', serif;
  font-size: 3rem;
  margin: 0 0 1rem;
  color: var(--ink);
  letter-spacing: 0.04em;
  font-weight: 500;
}
.orthovox-narrate__lede {
  max-width: 640px;
  margin: 0 auto;
  color: var(--ink-soft);
  font-size: 1.15rem;
  font-style: italic;
  line-height: 1.6;
}
.orthovox-narrate__pitch {
  padding: 2rem 1.5rem;
  max-width: 760px;
  margin: 0 auto;
}
.orthovox-narrate__pitch .gh-inner {
  max-width: 680px;
}
.orthovox-narrate__list {
  padding: 4rem 1.5rem;
  background: var(--bg-2);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}
.orthovox-narrate__list-header {
  max-width: 720px;
  margin: 0 auto 3rem;
  text-align: center;
}
.orthovox-narrate__section-title {
  font-family: 'Cinzel', serif;
  font-size: 2.2rem;
  margin: 0 0 1rem;
  color: var(--ink);
  letter-spacing: 0.04em;
  font-weight: 500;
}
.orthovox-narrate__section-title em {
  color: var(--gold);
  font-style: italic;
  font-weight: 400;
}
.orthovox-narrate__section-lede {
  color: var(--ink-soft);
  line-height: 1.6;
  margin: 0;
}
.orthovox-narrate__groups {
  max-width: 900px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem 4rem;
}
.orthovox-narrate__group-title {
  font-family: 'Cinzel', serif;
  color: var(--gold);
  font-size: 0.85rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  margin: 0 0 1.25rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--rule);
  font-weight: 500;
}
.orthovox-narrate__books {
  list-style: none;
  padding: 0;
  margin: 0;
}
.orthovox-narrate__books li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.7rem 0;
  border-bottom: 1px solid rgba(42, 34, 22, 0.5);
  font-size: 1rem;
}
.orthovox-narrate__books li:last-child {
  border-bottom: none;
}
.orthovox-narrate__books .title {
  color: var(--ink);
  flex: 1;
}
.orthovox-narrate__books .meta {
  color: var(--ink-dim);
  font-size: 0.85rem;
  font-family: 'Cinzel', serif;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
.orthovox-narrate__books li.is-done .title {
  color: var(--ink-dim);
  text-decoration: line-through;
  text-decoration-color: var(--ink-dim);
}
.orthovox-narrate__books li.is-done .meta {
  color: var(--gold);
}
.orthovox-narrate__guidelines {
  padding: 4rem 1.5rem;
}
.orthovox-narrate__guidelines-list {
  max-width: 720px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.orthovox-narrate__guidelines-list > div {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--rule);
}
.orthovox-narrate__guidelines-list > div:last-child {
  border-bottom: none;
}
.orthovox-narrate__guidelines-list dt {
  font-family: 'Cinzel', serif;
  color: var(--gold);
  font-size: 0.95rem;
  letter-spacing: 0.1em;
  margin: 0 0 0.5rem;
  text-transform: uppercase;
  font-weight: 500;
}
.orthovox-narrate__guidelines-list dd {
  margin: 0;
  color: var(--ink-soft);
  line-height: 1.7;
}
.orthovox-narrate__cta {
  padding: 5rem 1.5rem;
  text-align: center;
  background: var(--bg-2);
  border-top: 1px solid var(--rule);
}
.orthovox-narrate__cta-title {
  font-family: 'Cinzel', serif;
  font-size: 2rem;
  margin: 0 0 1rem;
  color: var(--ink);
  letter-spacing: 0.04em;
  font-weight: 500;
}
.orthovox-narrate__cta-lede {
  max-width: 620px;
  margin: 0 auto 2rem;
  color: var(--ink-soft);
  line-height: 1.65;
}
.orthovox-narrate__cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
}

/* ---- Responsive ---- */
@media (max-width: 720px) {
  .orthovox-narrate__groups { grid-template-columns: 1fr; gap: 2.5rem; }
  .orthovox-codex__link { grid-template-columns: 2rem 3.5rem 1fr 1.5rem; gap: 0.75rem; padding: 1.25rem 0.5rem; }
  .orthovox-codex__figure { width: 3.5rem; height: 3.5rem; }
  .orthovox-error__title { font-size: 3.5rem; }
  .orthovox-narrate__title { font-size: 2.2rem; }
  .orthovox-codex__section-title { font-size: 2rem; }
}

/* ========================================
   ORTHOVOX — Homepage hero (Night Chapel)
   ======================================== */

.orthovox-hero {
  padding: 5rem 1.5rem 4rem;
  position: relative;
}
.orthovox-hero__inner {
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
  position: relative;
}
.orthovox-hero__ornament {
  font-size: 2.2rem;
  color: var(--gold);
  opacity: 0.55;
  margin-bottom: 1.75rem;
  line-height: 1;
}
.orthovox-hero__kicker {
  font-family: 'Cinzel', serif;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-size: 0.72rem;
  color: var(--ink-soft);
  margin: 0 0 1.5rem;
}
.orthovox-hero__title {
  font-family: 'Cinzel', serif;
  font-size: 4rem;
  line-height: 1.05;
  margin: 0 0 1.5rem;
  color: var(--ink);
  letter-spacing: 0.03em;
  font-weight: 500;
}
.orthovox-hero__title em {
  color: var(--gold);
  font-style: italic;
  font-weight: 400;
  display: block;
  margin-top: 0.25em;
}
.orthovox-hero__lede {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 1.2rem;
  line-height: 1.6;
  color: var(--ink-soft);
  max-width: 620px;
  margin: 0 auto 2.5rem;
}
.orthovox-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  margin-bottom: 3.5rem;
}

/* Featured card (this week's title) */
.orthovox-hero__featured {
  display: grid;
  grid-template-columns: 4.5rem 1fr 2.5rem;
  align-items: center;
  gap: 1.25rem;
  max-width: 620px;
  margin: 0 auto;
  padding: 1.25rem 1.5rem;
  background: var(--panel);
  border: 1px solid var(--rule);
  border-radius: 2px;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.orthovox-hero__featured:hover {
  border-color: var(--gold);
  transform: translateY(-1px);
}
.orthovox-hero__featured-mono {
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 50%;
  border: 1px solid var(--gold);
  background: var(--bg);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
  font-family: 'Cinzel', serif;
  font-size: 1.2rem;
  letter-spacing: 0.04em;
  overflow: hidden;
}
.orthovox-hero__featured-mono img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.orthovox-hero__featured-body { text-align: left; min-width: 0; }
.orthovox-hero__featured-kicker {
  font-family: 'Cinzel', serif;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-size: 0.66rem;
  color: var(--ink-soft);
  margin: 0 0 0.3rem;
}
.orthovox-hero__featured-title {
  font-family: 'Cinzel', serif;
  font-size: 1.3rem;
  color: var(--ink);
  margin: 0 0 0.2rem;
  letter-spacing: 0.03em;
  font-weight: 500;
}
.orthovox-hero__featured-meta {
  font-style: italic;
  color: var(--ink-soft);
  font-size: 0.95rem;
  margin: 0;
}
.orthovox-hero__featured-play {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: var(--gold);
  color: var(--bg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  padding-left: 2px;
}

@media (max-width: 720px) {
  .orthovox-hero__title { font-size: 2.6rem; }
  .orthovox-hero__lede { font-size: 1.05rem; }
  .orthovox-hero__featured { grid-template-columns: 3.5rem 1fr 2rem; gap: 0.85rem; padding: 1rem; }
  .orthovox-hero__featured-mono { width: 3.5rem; height: 3.5rem; font-size: 1rem; }
  .orthovox-hero__featured-title { font-size: 1.1rem; }
  .orthovox-hero__featured-play { width: 2rem; height: 2rem; font-size: 0.75rem; }
}

/* ---- Fix button text color (override !important link rule) ---- */
a.orthovox-btn--gold,
.orthovox-btn.orthovox-btn--gold { color: #0c0a08 !important; background: var(--gold); border: 1px solid var(--gold); }
a.orthovox-btn--gold:hover,
.orthovox-btn.orthovox-btn--gold:hover { color: #0c0a08 !important; background: var(--gold-bright); border-color: var(--gold-bright); }
a.orthovox-btn--ghost,
.orthovox-btn.orthovox-btn--ghost { color: var(--ink) !important; }
a.orthovox-btn--ghost:hover,
.orthovox-btn.orthovox-btn--ghost:hover { color: var(--gold) !important; }

/* ---- Hide pagination when only 1 page (tidy up bottom of Codex) ---- */
.pagination { text-align: center; margin-top: 2rem; color: var(--ink-dim); font-family: 'Cinzel', serif; font-size: 0.8rem; letter-spacing: 0.18em; }
.pagination a { color: var(--gold) !important; }

/* ========================================
   ORTHOVOX — Patronage page
   ======================================== */

.orthovox-patronage__hero {
  padding: 5rem 1.5rem 3rem;
  text-align: center;
}
.orthovox-patronage__overline {
  font-family: 'Cinzel', serif;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-size: 0.72rem;
  color: var(--ink-soft);
  margin: 0 0 1.25rem;
}
.orthovox-patronage__title {
  font-family: 'Cinzel', serif;
  font-size: 3.4rem;
  line-height: 1.1;
  margin: 0 0 1.25rem;
  color: var(--ink);
  letter-spacing: 0.03em;
  font-weight: 500;
}
.orthovox-patronage__title em {
  color: var(--gold);
  font-style: italic;
  font-weight: 400;
}
.orthovox-patronage__lede {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 1.2rem;
  line-height: 1.6;
  color: var(--ink-soft);
  max-width: 620px;
  margin: 0 auto;
}

/* Three-tier grid */
.orthovox-patronage__tiers { padding: 2rem 1.5rem 4rem; }
.orthovox-patronage__grid {
  max-width: 1080px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.1fr 1fr;
  gap: 1.5rem;
  align-items: stretch;
}
.orthovox-tier {
  background: var(--bg-2);
  border: 1px solid var(--rule);
  border-radius: 3px;
  padding: 2.5rem 2rem 2rem;
  display: flex;
  flex-direction: column;
  text-align: center;
  position: relative;
  transition: border-color 0.2s ease;
}
.orthovox-tier:hover { border-color: rgba(212, 175, 90, 0.4); }
.orthovox-tier--featured {
  background: linear-gradient(180deg, rgba(212, 175, 90, 0.08) 0%, var(--bg-2) 60%);
  border-color: var(--gold);
  transform: translateY(-0.5rem);
  box-shadow: 0 2px 30px rgba(212, 175, 90, 0.08);
}
.orthovox-tier__kicker {
  font-family: 'Cinzel', serif;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-size: 0.75rem;
  color: var(--ink-soft);
  margin: 0 0 1rem;
}
.orthovox-tier--featured .orthovox-tier__kicker { color: var(--gold); }
.orthovox-tier__price {
  font-family: 'Cinzel', serif;
  margin: 0 0 0.5rem;
  color: var(--ink);
  line-height: 1;
  white-space: nowrap;
}
.orthovox-tier__currency { font-size: 1.4rem; vertical-align: top; margin-right: 0.1em; color: var(--ink-soft); }
.orthovox-tier__amount { font-size: 3.4rem; font-weight: 500; letter-spacing: 0.02em; }
.orthovox-tier__period { font-size: 0.95rem; color: var(--ink-soft); letter-spacing: 0.06em; margin-left: 0.15em; }
.orthovox-tier__meta {
  font-style: italic;
  color: var(--ink-dim);
  font-size: 0.92rem;
  margin: 0 0 1.5rem;
  min-height: 1.3rem;
}
.orthovox-tier__benefits {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
  text-align: left;
  flex: 1;
}
.orthovox-tier__benefits li {
  padding: 0.6rem 0 0.6rem 1.5rem;
  border-bottom: 1px solid rgba(42, 34, 22, 0.4);
  color: var(--ink-soft);
  font-size: 0.98rem;
  line-height: 1.5;
  position: relative;
}
.orthovox-tier__benefits li:last-child { border-bottom: none; }
.orthovox-tier__benefits li::before {
  content: "✦";
  color: var(--gold);
  position: absolute;
  left: 0;
  top: 0.65rem;
  font-size: 0.8rem;
  opacity: 0.7;
}
.orthovox-tier .orthovox-btn {
  width: 100%;
  padding: 1em 1rem;
  white-space: nowrap;
  box-sizing: border-box;
  font-size: 0.74rem;
  letter-spacing: 0.18em;
}

/* Founding Patron panel */
.orthovox-patronage__founder { padding: 3rem 1.5rem 5rem; }
.orthovox-founder {
  max-width: 1080px;
  margin: 0 auto;
  background: linear-gradient(135deg, rgba(184, 57, 57, 0.12) 0%, var(--bg-2) 65%);
  border: 1px solid rgba(184, 57, 57, 0.4);
  border-radius: 3px;
  padding: 3rem;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2.5rem;
  align-items: start;
}
.orthovox-founder__ornament {
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  border: 1.5px solid var(--accent);
  background: rgba(184, 57, 57, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
  font-size: 1.8rem;
  flex-shrink: 0;
}
.orthovox-founder__overline {
  font-family: 'Cinzel', serif;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-size: 0.72rem;
  color: var(--accent);
  margin: 0 0 0.8rem;
  font-weight: 500;
}
.orthovox-founder__title {
  font-family: 'Cinzel', serif;
  font-size: 2.2rem;
  margin: 0 0 0.5rem;
  color: var(--ink);
  letter-spacing: 0.03em;
  font-weight: 500;
  line-height: 1.1;
}
.orthovox-founder__title em {
  color: var(--gold);
  font-style: italic;
  font-weight: 400;
}
.orthovox-founder__price { color: var(--ink); }
.orthovox-founder__meta {
  color: var(--ink-soft);
  font-style: italic;
  font-size: 1rem;
  margin: 0 0 1.5rem;
}
.orthovox-founder__benefits {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
}
.orthovox-founder__benefits li {
  padding: 0.5rem 0 0.5rem 1.75rem;
  position: relative;
  color: var(--ink-soft);
  line-height: 1.6;
}
.orthovox-founder__benefits li::before {
  content: "✦";
  color: var(--gold);
  position: absolute;
  left: 0;
  top: 0.55rem;
  font-size: 0.85rem;
  opacity: 0.8;
}
.orthovox-founder__note {
  color: var(--ink-dim);
  font-style: italic;
  font-size: 0.92rem;
  margin: 1.25rem 0 0;
  line-height: 1.55;
}
.orthovox-founder__note a { color: var(--gold); }

/* Red accent button */
a.orthovox-btn--accent,
.orthovox-btn.orthovox-btn--accent {
  background: var(--accent);
  border: 1px solid var(--accent);
  color: #f2e6c8 !important;
}
a.orthovox-btn--accent:hover,
.orthovox-btn.orthovox-btn--accent:hover {
  background: #d04949;
  border-color: #d04949;
  color: #f2e6c8 !important;
}

/* Optional prose block at bottom of Patronage */
.orthovox-patronage__prose { padding: 0 1.5rem 4rem; }
.orthovox-patronage__prose .gh-inner { max-width: 680px; }
.orthovox-patronage__prose:empty { display: none; }

/* Responsive */
@media (max-width: 900px) {
  .orthovox-patronage__grid { grid-template-columns: 1fr; gap: 1rem; }
  .orthovox-tier--featured { transform: none; }
  .orthovox-founder { grid-template-columns: 1fr; gap: 1.5rem; text-align: center; padding: 2rem; }
  .orthovox-founder__ornament { margin: 0 auto; }
  .orthovox-founder__benefits { text-align: left; }
}
@media (max-width: 720px) {
  .orthovox-patronage__title { font-size: 2.4rem; }
  .orthovox-patronage__hero { padding: 3rem 1.5rem 2rem; }
  .orthovox-tier__amount { font-size: 2.8rem; }
}

/* ========================================
   ORTHOVOX — Misc fixes (v7)
   ======================================== */

/* Center default page.hbs page headers (Support, Thank-you, any future page
   that doesn't have its own custom template hero) */
.gh-article-header {
  text-align: center !important;
}
.gh-article-header .gh-article-title,
.gh-article-header .gh-article-excerpt {
  text-align: center !important;
  max-width: none;
}

/* Force all nav links to render in ivory consistently:
   override :visited (which can render purple-ish in some browsers) and
   .nav-current (Ghost's auto-applied class that Source styles gold by default).
   ORTHOVOX brand and SUBSCRIBE button keep their own colors. */
.gh-navigation a,
.gh-navigation a:visited,
.gh-navigation a:link,
.gh-navigation a.nav-current,
.gh-navigation a.nav-current:visited {
  color: var(--ink-soft) !important;
}
.gh-navigation a:hover,
.gh-navigation a.nav-current:hover {
  color: var(--ink) !important;
}
/* Keep the "Subscribe" pill button gold-on-dark */
.gh-navigation a.gh-button,
.gh-navigation a.gh-button:visited {
  color: var(--gold) !important;
}
.gh-navigation a.gh-button:hover {
  color: var(--bg) !important;
}

/* ========================================
   ORTHOVOX — Patronage v8 (donation-first)
   ======================================== */

/* Primary ask: One-time gift */
.orthovox-patronage__gift {
  padding: 3rem 1.5rem 5rem;
  text-align: center;
}
.orthovox-gift {
  max-width: 720px;
  margin: 0 auto;
  padding: 4rem 3rem;
  background: linear-gradient(180deg, rgba(212,175,90,0.10) 0%, var(--bg-2) 70%);
  border: 1px solid var(--gold);
  border-radius: 3px;
  position: relative;
}
.orthovox-gift__overline {
  font-family: 'Cinzel', serif;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-size: 0.75rem;
  color: var(--gold);
  margin: 0 0 1.25rem;
  font-weight: 500;
}
.orthovox-gift__title {
  font-family: 'Cinzel', serif;
  font-size: 2.6rem;
  line-height: 1.15;
  margin: 0 0 1.5rem;
  color: var(--ink);
  letter-spacing: 0.03em;
  font-weight: 500;
}
.orthovox-gift__title em {
  color: var(--gold);
  font-style: italic;
  font-weight: 400;
}
.orthovox-gift__lede {
  font-family: 'Cormorant Garamond', serif;
  color: var(--ink-soft);
  font-size: 1.1rem;
  line-height: 1.65;
  max-width: 540px;
  margin: 0 auto 2.5rem;
}
.orthovox-gift__note {
  color: var(--ink-dim);
  font-style: italic;
  font-size: 0.88rem;
  line-height: 1.5;
  margin: 1.75rem 0 0;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}

/* Larger button modifier (used on primary "Make a Gift" CTA) */
a.orthovox-btn.orthovox-btn--lg,
.orthovox-btn.orthovox-btn--lg {
  padding: 1.15em 2.5em;
  font-size: 0.85rem;
  letter-spacing: 0.24em;
}

/* Secondary ask: Monthly Patron */
.orthovox-patronage__monthly {
  padding: 0 1.5rem 4rem;
}
.orthovox-monthly {
  max-width: 880px;
  margin: 0 auto;
  background: var(--bg-2);
  border: 1px solid var(--rule);
  border-radius: 3px;
  padding: 2.25rem 2.5rem;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: center;
}
.orthovox-monthly__overline {
  font-family: 'Cinzel', serif;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-size: 0.7rem;
  color: var(--ink-soft);
  margin: 0 0 0.6rem;
}
.orthovox-monthly__title {
  font-family: 'Cinzel', serif;
  font-size: 1.7rem;
  margin: 0 0 0.6rem;
  color: var(--ink);
  letter-spacing: 0.03em;
  font-weight: 500;
}
.orthovox-monthly__title em {
  color: var(--gold);
  font-style: italic;
  font-weight: 400;
}
.orthovox-monthly__price {
  margin: 0 0 0.85rem;
  color: var(--ink);
  font-size: 1.05rem;
  font-family: 'Cormorant Garamond', serif;
}
.orthovox-monthly__price strong {
  font-family: 'Cinzel', serif;
  color: var(--gold);
  font-size: 1.3em;
  font-weight: 500;
  margin-right: 0.15em;
}
.orthovox-monthly__yearly {
  color: var(--ink-soft);
  font-style: italic;
  font-size: 0.92rem;
}
.orthovox-monthly__lede {
  color: var(--ink-soft);
  line-height: 1.6;
  margin: 0;
  font-size: 0.98rem;
}
.orthovox-monthly__action .orthovox-btn {
  white-space: nowrap;
}

/* Responsive */
@media (max-width: 720px) {
  .orthovox-gift { padding: 3rem 1.5rem; }
  .orthovox-gift__title { font-size: 2rem; }
  .orthovox-monthly { grid-template-columns: 1fr; gap: 1.25rem; padding: 2rem; text-align: center; }
}

/* ========================================
   ORTHOVOX — Footer (v9)
   Replaces the JS-injected footer that used to come from Code Injection.
   ======================================== */

.gh-footer { padding: 0 1.5rem; border-top: 1px solid var(--rule); }
.ov-footer {
  max-width: 1200px;
  margin: 0 auto;
  padding: 4rem 0 2rem;
}
.ov-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 3rem;
  margin-bottom: 3rem;
}
.ov-footer-brand .ov-footer-logo {
  font-family: 'Cinzel', serif;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  font-size: 1rem;
  color: var(--ink);
  margin: 0 0 1rem;
}
.ov-footer-brand .ov-footer-tagline {
  font-style: italic;
  color: var(--ink-soft);
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 0;
}
.ov-footer-heading {
  font-family: 'Cinzel', serif;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  font-size: 0.7rem;
  color: var(--gold);
  margin: 0 0 1.25rem;
  font-weight: 500;
}
.ov-footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.ov-footer-links li {
  margin: 0 0 0.65rem;
}
.ov-footer-links a {
  color: var(--ink-soft) !important;
  text-decoration: none;
  font-size: 0.97rem;
  transition: color 0.15s ease;
}
.ov-footer-links a:hover {
  color: var(--gold) !important;
}
.ov-footer-base {
  border-top: 1px solid var(--rule);
  padding-top: 1.75rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}
.ov-footer-copyright,
.ov-footer-meta {
  color: var(--ink-dim);
  font-size: 0.85rem;
  margin: 0;
  font-style: italic;
}
.ov-footer-meta a {
  color: var(--ink-dim) !important;
  text-decoration: none;
  margin: 0 0.4rem;
}
.ov-footer-meta a:hover { color: var(--gold) !important; }
.ov-footer-sep { color: var(--ink-dim); }

/* Stock Source theme bits — tone down so the new footer leads */
.gh-footer-signup { padding: 2rem 0 3rem; border-top: 1px solid var(--rule); text-align: center; }
.gh-footer-bar { padding: 1rem 0 2rem; text-align: center; color: var(--ink-dim); font-size: 0.8rem; }
.gh-footer-bar a { color: var(--ink-dim) !important; }

@media (max-width: 900px) {
  .ov-footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .ov-footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .ov-footer-grid { grid-template-columns: 1fr; gap: 1.75rem; }
  .ov-footer-base { flex-direction: column; text-align: center; }
}

/* ========================================
   ORTHOVOX — Narrate book rows w/ Claim links (v12)
   ======================================== */

/* Reflow each book li to a 3-column flex: title (flex), meta, claim link */
.orthovox-narrate__books li {
  display: flex;
  align-items: baseline;
  gap: 0.85rem;
  padding: 0.7rem 0;
  border-bottom: 1px solid rgba(42, 34, 22, 0.5);
  font-size: 1rem;
  line-height: 1.4;
}
.orthovox-narrate__books li .title { flex: 1; min-width: 0; }
.orthovox-narrate__books li .meta {
  white-space: nowrap;
  font-size: 0.85rem;
  color: var(--ink-dim);
  font-family: 'Cinzel', serif;
  letter-spacing: 0.06em;
}
/* Heavier-weight indicator for big titles */
.orthovox-narrate__books li.is-big .meta::after {
  content: ' · big';
  color: var(--ink-dim);
  opacity: 0.75;
  font-style: italic;
  font-family: 'Cormorant Garamond', serif;
  letter-spacing: 0;
  font-size: 0.92em;
}

/* The Claim → link */
a.orthovox-narrate__claim,
.orthovox-narrate__claim {
  font-family: 'Cinzel', serif;
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold) !important;
  text-decoration: none;
  white-space: nowrap;
  padding: 0.3em 0;
  border-bottom: 1px solid transparent;
  transition: color 0.15s ease, border-color 0.15s ease;
}
a.orthovox-narrate__claim:hover {
  color: var(--gold-bright) !important;
  border-bottom-color: var(--gold-bright);
}

/* Inline claim chip used in the section lede */
.orthovox-narrate__inline-claim {
  font-family: 'Cinzel', serif;
  font-size: 0.85em;
  letter-spacing: 0.18em;
  color: var(--gold);
  white-space: nowrap;
  padding: 0.05em 0.4em;
  border: 1px solid rgba(212, 175, 90, 0.4);
  border-radius: 2px;
}

/* Aside link below the bottom CTA */
.orthovox-narrate__cta-aside {
  margin-top: 1.5rem;
  color: var(--ink-dim);
  font-style: italic;
  font-size: 0.92rem;
}
.orthovox-narrate__cta-aside a {
  color: var(--gold) !important;
  text-decoration: none;
  border-bottom: 1px dotted rgba(212, 175, 90, 0.5);
}
.orthovox-narrate__cta-aside a:hover {
  border-bottom-color: var(--gold);
}

/* Mobile: stack the row neatly */
@media (max-width: 600px) {
  .orthovox-narrate__books li {
    flex-wrap: wrap;
    gap: 0.4rem 0.85rem;
  }
  .orthovox-narrate__books li .title { flex: 1 1 100%; }
}

/* ========================================
   ORTHOVOX — Founders page (v13)
   ======================================== */

.orthovox-founders__hero {
  padding: 5rem 1.5rem 2rem;
  text-align: center;
}
.orthovox-founders__overline {
  font-family: 'Cinzel', serif;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-size: 0.72rem;
  color: var(--ink-soft);
  margin: 0 0 1.25rem;
}
.orthovox-founders__title {
  font-family: 'Cinzel', serif;
  font-size: 3.4rem;
  line-height: 1.1;
  margin: 0 0 1.25rem;
  color: var(--ink);
  letter-spacing: 0.03em;
  font-weight: 500;
}
.orthovox-founders__title em {
  color: var(--gold);
  font-style: italic;
  font-weight: 400;
}
.orthovox-founders__lede {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 1.15rem;
  line-height: 1.6;
  color: var(--ink-soft);
  max-width: 580px;
  margin: 0 auto;
}

/* Names list "altar plaque" — assumes Ghost editor markdown ordered list */
.orthovox-founders__roll { padding: 3rem 1.5rem 4rem; }
.orthovox-founders__roll .gh-content { max-width: 640px; margin: 0 auto; }
.orthovox-founders__roll ol,
.orthovox-founders__roll ul {
  list-style: none !important;
  padding: 0;
  margin: 2rem 0;
  counter-reset: founder-counter;
  border-top: 1px solid var(--rule);
}
.orthovox-founders__roll ol li,
.orthovox-founders__roll ul li {
  counter-increment: founder-counter;
  padding: 1rem 0 1rem 4.5rem !important;
  border-bottom: 1px solid var(--rule);
  position: relative;
  font-family: 'Cinzel', serif;
  font-size: 1.1rem;
  letter-spacing: 0.04em;
  color: var(--ink) !important;
  margin: 0 !important;
  list-style: none !important;
}
.orthovox-founders__roll ol li::before,
.orthovox-founders__roll ul li::before {
  content: counter(founder-counter, upper-roman) ".";
  position: absolute;
  left: 0.5rem;
  top: 1rem;
  width: 3.5rem;
  text-align: right;
  color: var(--gold);
  font-family: 'Cinzel', serif;
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  opacity: 0.85;
}
/* Empty placeholder — Tim writes "—" or "(open)" in a list item */
.orthovox-founders__roll ol li:has(em),
.orthovox-founders__roll ul li:has(em) {
  color: var(--ink-dim) !important;
}
/* Loose paragraph copy in the names section */
.orthovox-founders__roll p {
  text-align: center;
  color: var(--ink-soft);
  font-style: italic;
  margin: 1.25rem 0;
}

/* Apex CTA panel */
.orthovox-founders__cta { padding: 2rem 1.5rem 6rem; }
.orthovox-founders__cta-card {
  max-width: 720px;
  margin: 0 auto;
  background: linear-gradient(135deg, rgba(184, 57, 57, 0.12) 0%, var(--bg-2) 65%);
  border: 1px solid rgba(184, 57, 57, 0.4);
  border-radius: 3px;
  padding: 3rem;
  text-align: center;
}
.orthovox-founders__cta-overline {
  font-family: 'Cinzel', serif;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-size: 0.72rem;
  color: var(--accent);
  margin: 0 0 1rem;
  font-weight: 500;
}
.orthovox-founders__cta-title {
  font-family: 'Cinzel', serif;
  font-size: 2rem;
  margin: 0 0 1rem;
  color: var(--ink);
  letter-spacing: 0.03em;
  font-weight: 500;
}
.orthovox-founders__cta-title em {
  color: var(--gold);
  font-style: italic;
  font-weight: 400;
}
.orthovox-founders__cta-lede {
  color: var(--ink-soft);
  line-height: 1.6;
  margin: 0 auto 2rem;
  max-width: 520px;
}
.orthovox-founders__cta-note {
  color: var(--ink-dim);
  font-style: italic;
  font-size: 0.9rem;
  margin: 1.5rem 0 0;
}
.orthovox-founders__cta-note a { color: var(--gold) !important; }

@media (max-width: 600px) {
  .orthovox-founders__title { font-size: 2.4rem; }
  .orthovox-founders__cta-card { padding: 2rem 1.5rem; }
  .orthovox-founders__roll ol li,
  .orthovox-founders__roll ul li { font-size: 1rem; padding-left: 3.75rem !important; }
}

/* ========================================
   ORTHOVOX — Comprehensive mobile pass (v18)
   Tightens typography, padding, and grid layouts for narrow viewports.
   Targets 600px and below, with extra tweaks at 420px.
   ======================================== */

@media (max-width: 600px) {

  /* ---- Body base typography ---- */
  html, body {
    font-size: 17px !important;
    line-height: 1.65;
  }

  /* ---- Section paddings — cut by half on mobile ---- */
  .gh-outer { padding-left: 1.25rem; padding-right: 1.25rem; }
  .gh-inner { padding-left: 0; padding-right: 0; }

  /* ---- HOMEPAGE HERO ---- */
  .orthovox-hero { padding: 3rem 1.25rem 2.5rem; }
  .orthovox-hero__ornament { font-size: 1.8rem; margin-bottom: 1rem; }
  .orthovox-hero__kicker { font-size: 0.65rem; letter-spacing: 0.24em; margin-bottom: 1rem; }
  .orthovox-hero__title { font-size: 2.2rem; line-height: 1.1; margin-bottom: 1rem; }
  .orthovox-hero__title em { display: block; margin-top: 0.15em; }
  .orthovox-hero__lede { font-size: 0.98rem; line-height: 1.55; margin-bottom: 1.75rem; }
  .orthovox-hero__actions { gap: 0.5rem; margin-bottom: 2.5rem; }
  .orthovox-hero__actions .orthovox-btn { padding: 0.85em 1.25em; font-size: 0.7rem; letter-spacing: 0.18em; }

  /* Featured card on home */
  .orthovox-hero__featured { padding: 0.85rem 0.9rem; gap: 0.7rem; grid-template-columns: 3rem 1fr 1.75rem; }
  .orthovox-hero__featured-mono { width: 3rem; height: 3rem; font-size: 0.85rem; }
  .orthovox-hero__featured-kicker { font-size: 0.6rem; letter-spacing: 0.18em; }
  .orthovox-hero__featured-title { font-size: 0.98rem; }
  .orthovox-hero__featured-meta { font-size: 0.85rem; }
  .orthovox-hero__featured-play { width: 1.75rem; height: 1.75rem; font-size: 0.7rem; }

  /* ---- CODEX (homepage library list) ---- */
  .orthovox-codex { padding: 2rem 1.25rem 4rem; }
  .orthovox-codex__header { margin-bottom: 2rem; }
  .orthovox-codex__overline { font-size: 0.62rem; letter-spacing: 0.22em; }
  .orthovox-codex__section-title { font-size: 1.7rem; }
  .orthovox-codex__section-lede { font-size: 0.92rem; }
  .orthovox-codex__link {
    grid-template-columns: 1.5rem 2.75rem 1fr 1.25rem;
    gap: 0.6rem;
    padding: 1rem 0.4rem;
  }
  .orthovox-codex__index { font-size: 0.75rem; }
  .orthovox-codex__figure { width: 2.75rem; height: 2.75rem; }
  .orthovox-codex__figure--placeholder { font-size: 1.3rem; }
  .orthovox-codex__kicker { font-size: 0.58rem; letter-spacing: 0.18em; margin-bottom: 0.25rem; }
  .orthovox-codex__title { font-size: 0.98rem; line-height: 1.25; margin-bottom: 0.25rem; }
  .orthovox-codex__excerpt { font-size: 0.86rem; line-height: 1.45; }
  .orthovox-codex__arrow { font-size: 1rem; }

  /* ---- PATRONAGE PAGE ---- */
  .orthovox-patronage__hero { padding: 3rem 1.25rem 1.5rem; }
  .orthovox-patronage__overline { font-size: 0.65rem; letter-spacing: 0.24em; }
  .orthovox-patronage__title { font-size: 2.2rem; line-height: 1.1; }
  .orthovox-patronage__lede { font-size: 0.98rem; }

  /* Gift panel (primary donate ask) */
  .orthovox-patronage__gift { padding: 1.75rem 1rem 3rem; }
  .orthovox-gift { padding: 2.25rem 1.5rem; }
  .orthovox-gift__overline { font-size: 0.65rem; letter-spacing: 0.24em; }
  .orthovox-gift__title { font-size: 1.7rem; line-height: 1.15; margin-bottom: 1rem; }
  .orthovox-gift__lede { font-size: 0.95rem; line-height: 1.55; margin-bottom: 1.75rem; }
  .orthovox-gift__note { font-size: 0.8rem; line-height: 1.45; }
  a.orthovox-btn.orthovox-btn--lg { padding: 1em 1.75em; font-size: 0.78rem; letter-spacing: 0.2em; }

  /* Monthly Patron card */
  .orthovox-patronage__monthly { padding: 0 1rem 2.5rem; }
  .orthovox-monthly { padding: 1.5rem 1.25rem; gap: 1rem; }
  .orthovox-monthly__overline { font-size: 0.62rem; letter-spacing: 0.22em; }
  .orthovox-monthly__title { font-size: 1.4rem; }
  .orthovox-monthly__price { font-size: 0.95rem; }
  .orthovox-monthly__price strong { font-size: 1.2em; }
  .orthovox-monthly__yearly { display: block; margin-top: 0.2rem; font-size: 0.85rem; }
  .orthovox-monthly__lede { font-size: 0.92rem; }

  /* Founding Patron panel */
  .orthovox-patronage__founder { padding: 1.5rem 1rem 4rem; }
  .orthovox-founder { padding: 1.75rem 1.25rem; gap: 1.25rem; }
  .orthovox-founder__ornament { width: 4rem; height: 4rem; font-size: 1.4rem; }
  .orthovox-founder__overline { font-size: 0.62rem; letter-spacing: 0.22em; }
  .orthovox-founder__title { font-size: 1.6rem; }
  .orthovox-founder__meta { font-size: 0.92rem; margin-bottom: 1.25rem; }
  .orthovox-founder__benefits li { font-size: 0.92rem; padding: 0.4rem 0 0.4rem 1.5rem; }
  .orthovox-founder__note { font-size: 0.82rem; line-height: 1.5; }

  /* ---- NARRATE PAGE ---- */
  .orthovox-narrate__hero { padding: 3rem 1.25rem 1.5rem; }
  .orthovox-narrate__title { font-size: 2rem; line-height: 1.1; }
  .orthovox-narrate__lede { font-size: 0.98rem; }
  .orthovox-narrate__list { padding: 2.5rem 1rem; }
  .orthovox-narrate__section-title { font-size: 1.7rem; }
  .orthovox-narrate__section-lede { font-size: 0.92rem; }
  .orthovox-narrate__group-title { font-size: 0.78rem; letter-spacing: 0.18em; }
  .orthovox-narrate__books li { font-size: 0.92rem; padding: 0.6rem 0; }
  .orthovox-narrate__books li .meta { font-size: 0.78rem; }
  a.orthovox-narrate__claim { font-size: 0.7rem; letter-spacing: 0.16em; }
  .orthovox-narrate__guidelines { padding: 2.5rem 1rem; }
  .orthovox-narrate__guidelines-list dt { font-size: 0.85rem; }
  .orthovox-narrate__guidelines-list dd { font-size: 0.95rem; }
  .orthovox-narrate__cta { padding: 3rem 1rem; }
  .orthovox-narrate__cta-title { font-size: 1.6rem; }
  .orthovox-narrate__cta-lede { font-size: 0.95rem; }

  /* ---- FOUNDERS PAGE ---- */
  .orthovox-founders__hero { padding: 3rem 1.25rem 1.5rem; }
  .orthovox-founders__title { font-size: 2.2rem; line-height: 1.1; }
  .orthovox-founders__lede { font-size: 0.98rem; }
  .orthovox-founders__roll { padding: 2rem 1rem 2.5rem; }
  .orthovox-founders__roll ol li,
  .orthovox-founders__roll ul li {
    font-size: 0.95rem !important;
    padding: 0.85rem 0 0.85rem 3.25rem !important;
  }
  .orthovox-founders__roll ol li::before,
  .orthovox-founders__roll ul li::before {
    width: 2.5rem;
    font-size: 0.82rem;
    top: 0.85rem;
  }
  .orthovox-founders__cta { padding: 1rem 1rem 4rem; }
  .orthovox-founders__cta-card { padding: 1.75rem 1.25rem; }
  .orthovox-founders__cta-overline { font-size: 0.62rem; letter-spacing: 0.22em; }
  .orthovox-founders__cta-title { font-size: 1.5rem; }
  .orthovox-founders__cta-lede { font-size: 0.92rem; }
  .orthovox-founders__cta-note { font-size: 0.82rem; }

  /* ---- 404 page ---- */
  .orthovox-error { padding: 3rem 1.25rem; min-height: 55vh; }
  .orthovox-error__ornament { font-size: 2.4rem; margin-bottom: 1.25rem; }
  .orthovox-error__title { font-size: 3rem; }
  .orthovox-error__lede { font-size: 1rem; margin-bottom: 2rem; }
  .orthovox-error__actions { gap: 0.5rem; flex-direction: column; }
  .orthovox-error__actions .orthovox-btn { width: 100%; }

  /* ---- Default page.hbs (Support, Thank-you, Privacy, Terms, About) ---- */
  .gh-article-header { padding: 2.5rem 0 1.5rem !important; }
  .gh-article-title { font-size: 2.2rem !important; line-height: 1.1 !important; }
  .gh-article-excerpt { font-size: 0.98rem !important; }
  .gh-content { font-size: 17px; line-height: 1.7; }
  .gh-content h2 { font-size: 1.5rem !important; margin-top: 1.75em !important; }
  .gh-content h3 { font-size: 1.2rem !important; }
  .gh-content blockquote { padding-left: 1rem !important; }

  /* ---- Footer (already has its own breakpoint; tighten further) ---- */
  .ov-footer { padding: 2.5rem 0 1.5rem; }
  .ov-footer-grid { gap: 1.5rem; margin-bottom: 1.75rem; }
  .ov-footer-brand .ov-footer-tagline { font-size: 0.88rem; }
  .ov-footer-heading { font-size: 0.62rem; letter-spacing: 0.2em; margin-bottom: 0.85rem; }
  .ov-footer-links a { font-size: 0.92rem; }
  .ov-footer-links li { margin-bottom: 0.5rem; }
  .ov-footer-base { padding-top: 1.25rem; gap: 0.5rem; text-align: center; }
  .ov-footer-copyright,
  .ov-footer-meta { font-size: 0.78rem; }
}

/* Extra-narrow phones (< 420px) — iPhone SE, smaller Androids */
@media (max-width: 420px) {

  .orthovox-hero__title { font-size: 1.85rem; }
  .orthovox-patronage__title { font-size: 1.85rem; }
  .orthovox-founders__title { font-size: 1.85rem; }
  .orthovox-narrate__title { font-size: 1.7rem; }
  .orthovox-gift__title { font-size: 1.45rem; }
  .orthovox-error__title { font-size: 2.4rem; }

  /* Codex: even tighter, allow 2-line title */
  .orthovox-codex__link {
    grid-template-columns: 1.25rem 2.25rem 1fr 1rem;
    gap: 0.5rem;
    padding: 0.85rem 0.25rem;
  }
  .orthovox-codex__figure { width: 2.25rem; height: 2.25rem; }
  .orthovox-codex__title { font-size: 0.92rem; }

  /* Founders altar plaque: shrink Roman numeral column */
  .orthovox-founders__roll ol li,
  .orthovox-founders__roll ul li {
    font-size: 0.9rem !important;
    padding-left: 2.75rem !important;
  }
  .orthovox-founders__roll ol li::before,
  .orthovox-founders__roll ul li::before {
    width: 2rem;
    font-size: 0.78rem;
  }
}

/* ---- Header / Source theme nav fallback ----
   If the Source theme's mobile menu doesn't trigger correctly, force the nav
   items to wrap and shrink so they at least don't overflow the screen. */
@media (max-width: 600px) {
  .gh-navigation {
    padding: 0.75rem 1rem !important;
  }
  .gh-navigation-logo { font-size: 0.85rem !important; letter-spacing: 0.18em !important; }
  .gh-navigation a { font-size: 0.7rem !important; letter-spacing: 0.14em !important; }
}

/* ========================================
   ORTHOVOX — Mobile nav hamburger fix (v19)
   The catch-all "button { background: gold }" rule was hitting
   Source theme's mobile menu toggle. Reset it here.
   ======================================== */
.gh-navigation button,
.gh-burger,
.gh-burger-box,
.gh-toggle-burger,
button.gh-burger-toggle {
  background: transparent !important;
  color: var(--ink-soft) !important;
  border: none !important;
  padding: 0 !important;
  letter-spacing: 0 !important;
}
.gh-navigation button:hover,
.gh-burger:hover { color: var(--gold) !important; background: transparent !important; }
/* The hamburger lines/icon should be visible */
.gh-burger-box span,
.gh-burger span,
.gh-burger-icon {
  background: var(--ink) !important;
  border-color: var(--ink) !important;
}

/* ========================================
   ORTHOVOX — Post page mobile fixes (v20)
   Author byline, share button, and audio card
   ======================================== */

@media (max-width: 600px) {

  /* Article meta row (author + date area, often above/below post) */
  .gh-article-meta,
  .gh-article-meta-content,
  .gh-author-meta {
    font-size: 0.85rem !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    line-height: 1.35 !important;
  }
  .gh-article-meta .gh-author-name,
  .gh-author-name,
  a.gh-author-name {
    font-size: 0.95rem !important;
    line-height: 1.25 !important;
    display: inline-block !important;
    word-break: keep-all;
  }
  .gh-article-meta time,
  .gh-article-date {
    font-size: 0.78rem !important;
    letter-spacing: 0.12em !important;
  }
  .gh-author-image,
  .gh-author-avatar,
  .gh-author-image img {
    width: 2rem !important;
    height: 2rem !important;
  }

  /* Native share buttons row (recent Ghost feature) */
  .gh-share,
  .gh-share-buttons,
  .gh-post-share,
  .gh-share-row {
    font-size: 0.78rem !important;
    gap: 0.4rem !important;
    flex-wrap: wrap !important;
  }
  .gh-share button,
  .gh-share a,
  .gh-share-buttons button,
  .gh-share-buttons a,
  .gh-post-share button,
  .gh-post-share a {
    padding: 0.5em 0.85em !important;
    font-size: 0.7rem !important;
    letter-spacing: 0.14em !important;
    background: transparent !important;
    border: 1px solid var(--rule) !important;
    color: var(--ink-soft) !important;
    border-radius: 999px !important;
  }
  .gh-share button:hover,
  .gh-share-buttons button:hover {
    border-color: var(--gold) !important;
    color: var(--gold) !important;
  }
  /* If share buttons render as icons in circles */
  .gh-share-icon,
  .gh-share-buttons svg,
  .gh-share button svg {
    width: 1rem !important;
    height: 1rem !important;
  }

  /* Ghost audio card / media player */
  .kg-audio-card,
  .kg-audio-card-content,
  .gh-audio-card {
    flex-wrap: wrap !important;
    padding: 0.75rem !important;
    gap: 0.5rem !important;
  }
  .kg-audio-thumbnail,
  .kg-audio-card-image {
    width: 3rem !important;
    height: 3rem !important;
    flex-shrink: 0 !important;
  }
  .kg-audio-title,
  .kg-audio-card-title {
    font-size: 0.95rem !important;
    line-height: 1.25 !important;
  }
  .kg-audio-player-container,
  .kg-audio-card-controls,
  .kg-audio-card-time {
    width: 100% !important;
    flex-basis: 100% !important;
    margin-top: 0.5rem !important;
  }
  .kg-audio-play-icon,
  .kg-audio-pause-icon,
  .kg-audio-card-button {
    width: 2.25rem !important;
    height: 2.25rem !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
  }
  .kg-audio-current-time,
  .kg-audio-duration,
  .kg-audio-card-time time {
    font-size: 0.75rem !important;
  }
  .kg-audio-seek-slider,
  .kg-audio-card-progress {
    flex: 1 !important;
    min-width: 0 !important;
  }
  /* archive.org iframe embeds */
  .kg-embed-card iframe[src*="archive.org"] {
    height: 60px !important;
  }
}

/* ========================================
   ORTHOVOX — Article meta + Share button fix (v21)
   The early CSS pack's "all buttons gold uppercase" rule is hitting
   Source theme's Share button. Author name was inheriting gold italic
   from link/heading rules. Force normal styling for both.
   ======================================== */

/* Author byline — neutralize all inherited heading/link styling */
.gh-article-meta a,
.gh-article-meta a:visited,
.gh-author-name,
a.gh-author-name,
a.gh-article-author-name,
.gh-article-author-name {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 0.95rem !important;
  font-style: normal !important;
  font-weight: 400 !important;
  color: var(--ink) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  line-height: 1.3 !important;
  word-break: keep-all !important;
}
.gh-article-meta time,
.gh-article-date,
time.gh-article-date {
  font-family: 'Cinzel', serif !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.18em !important;
  color: var(--ink-dim) !important;
  text-transform: uppercase !important;
}

/* Share button — break out of the "all buttons gold" trap */
.gh-share-button,
.gh-share button,
button.gh-share-button,
.gh-post-share-button,
[class*="share-button"],
[class*="share-toggle"] {
  background: transparent !important;
  border: 1px solid var(--rule) !important;
  color: var(--ink-soft) !important;
  font-family: 'Cinzel', serif !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding: 0.55em 0.95em !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4em !important;
}
.gh-share-button:hover,
.gh-share button:hover {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
  background: transparent !important;
}
/* Share icon */
.gh-share-button svg,
.gh-share button svg {
  width: 0.9rem !important;
  height: 0.9rem !important;
  fill: currentColor !important;
}

/* Mobile-specific tightening of the article meta row */
@media (max-width: 600px) {
  .gh-article-meta,
  section.gh-article-meta {
    flex-wrap: wrap !important;
    gap: 0.6rem !important;
    align-items: center !important;
  }
  .gh-author-name,
  a.gh-author-name,
  .gh-article-author-name {
    font-size: 0.92rem !important;
  }
  .gh-share-button,
  .gh-share button {
    padding: 0.45em 0.8em !important;
    font-size: 0.65rem !important;
    letter-spacing: 0.12em !important;
  }
}

/* ========================================
   ORTHOVOX v22 — REAL share button + author meta + media player fix
   The actual class is .gh-button.gh-button-share (anchor, not button).
   .gh-button base rule gives 1.5rem font + 0.8em 1.4em padding → too big.
   Article author <h4> inherits headline sizing → wraps to 2 lines.
   Audio embeds need responsive containment on mobile.
   ======================================== */

/* --- Share button — compound selector outranks .gh-button base --- */
a.gh-button.gh-button-share,
.gh-meta-share .gh-button-share,
.gh-meta-share a.gh-button-share,
.gh-button-share {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.4em !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 1px solid var(--rule) !important;
  color: var(--ink-soft) !important;
  font-family: 'Cinzel', 'Trajan Pro', Georgia, serif !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 0.55em 1em !important;
  border-radius: 999px !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  flex-shrink: 0 !important;
}
a.gh-button.gh-button-share:hover,
.gh-button-share:hover {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
  background: transparent !important;
  opacity: 1 !important;
}
.gh-button-share svg,
a.gh-button.gh-button-share svg {
  width: 0.9em !important;
  height: 0.9em !important;
  flex-shrink: 0 !important;
  fill: currentColor !important;
}

/* --- Article author name (h4) — neutralize heading sizing --- */
.gh-article-meta .gh-article-author-name,
h4.gh-article-author-name,
.gh-article-author-name {
  font-family: 'Cormorant Garamond', 'EB Garamond', Georgia, serif !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  font-style: normal !important;
  letter-spacing: 0 !important;
  line-height: 1.25 !important;
  color: var(--ink) !important;
  text-transform: none !important;
  margin: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.gh-article-meta-content,
.gh-article-meta-date,
time.gh-article-meta-date,
.gh-article-meta-length {
  font-family: 'Cinzel', 'Trajan Pro', Georgia, serif !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--ink-dim) !important;
  font-weight: 400 !important;
}

/* --- Meta+share row layout --- */
.gh-meta-share {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  flex-wrap: nowrap !important;
}
.gh-meta-share .gh-article-meta {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.gh-article-meta-wrapper {
  min-width: 0 !important;
  overflow: hidden !important;
}

/* --- Author avatar (smaller on the post page so the row doesn't dominate) --- */
.gh-article-author-image a {
  width: 40px !important;
  height: 40px !important;
}

/* --- Mobile (<= 600px) fine-tuning --- */
@media (max-width: 600px) {
  .gh-meta-share {
    gap: 0.5rem !important;
    align-items: center !important;
  }
  a.gh-button.gh-button-share,
  .gh-button-share {
    padding: 0.5em 0.85em !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.14em !important;
  }
  .gh-article-author-name {
    font-size: 0.95rem !important;
  }
  .gh-article-author-image a {
    width: 34px !important;
    height: 34px !important;
  }
  .gh-article-meta-content,
  .gh-article-meta-date,
  time.gh-article-meta-date {
    font-size: 0.62rem !important;
    letter-spacing: 0.14em !important;
  }
}

/* --- Media player (Internet Archive iframe + Ghost audio card) --- */
/* Make every iframe inside post content responsive so it never overflows */
.gh-content .kg-embed-card,
.gh-content .kg-embed-card iframe,
.gh-canvas .kg-embed-card,
.gh-canvas .kg-embed-card iframe {
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.gh-content .kg-embed-card {
  display: block !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Internet Archive specifically: keep at compact 60px height, full width */
.kg-embed-card iframe[src*="archive.org"],
.gh-content iframe[src*="archive.org"] {
  width: 100% !important;
  min-height: 60px !important;
  height: 60px !important;
  max-width: 100% !important;
  display: block !important;
  border: 1px solid var(--rule) !important;
  border-radius: 2px !important;
  background: var(--panel) !important;
}

/* ========================================
   ORTHOVOX v23 — Ghost audio card, real markup
   Inspected structure (Apr 2026):
   .kg-audio-card (flex)
     ├─ img.kg-audio-thumbnail.kg-audio-hide
     ├─ div.kg-audio-thumbnail.placeholder (gold square, 80px)
     └─ div.kg-audio-player-container (flex 1 1 100%)
          ├─ audio (hidden)
          ├─ div.kg-audio-title (full-width text row)
          └─ div.kg-audio-player (flex row, controls)
               ├─ button.kg-audio-play-icon
               ├─ button.kg-audio-pause-icon (hidden)
               ├─ span.kg-audio-current-time
               ├─ div.kg-audio-time (slash + duration)
               ├─ input.kg-audio-seek-slider
               ├─ button.kg-audio-playback-rate
               ├─ button.kg-audio-unmute-icon / mute-icon
               └─ input.kg-audio-volume-slider

   On a 360px viewport these 9 controls totalled ~375px, so the seek
   slider collapsed to 0px and the volume controls overflowed.
   Strategy: hide playback-rate + volume + mute on mobile, force the
   seek slider to take the remaining space.
   ======================================== */

.kg-audio-card {
  display: flex !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;
  gap: 0.75rem !important;
  padding: 0.75rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: var(--panel) !important;
  border: 1px solid var(--rule) !important;
  border-radius: 2px !important;
  overflow: hidden !important;
}
.kg-audio-card .kg-audio-thumbnail {
  flex-shrink: 0 !important;
  width: 56px !important;
  height: 56px !important;
  align-self: center !important;
  border-radius: 2px !important;
}
.kg-audio-card .kg-audio-thumbnail.placeholder {
  background: linear-gradient(135deg, rgba(212,175,90,0.18), rgba(212,175,90,0.05)) !important;
  border: 1px solid rgba(212,175,90,0.35) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.kg-audio-card .kg-audio-thumbnail.placeholder svg {
  width: 22px !important;
  height: 22px !important;
  color: var(--gold) !important;
  fill: var(--gold) !important;
  opacity: 0.8 !important;
}

.kg-audio-player-container {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 0.45rem !important;
  overflow: hidden !important;
}
.kg-audio-title {
  font-family: 'Cormorant Garamond', 'EB Garamond', Georgia, serif !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  color: var(--ink) !important;
  margin: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  flex: 0 0 auto !important;
}

/* The actual player control row */
.kg-audio-player {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  min-width: 0 !important;
  flex-basis: auto !important;
}

/* Play / pause */
.kg-audio-play-icon,
.kg-audio-pause-icon {
  flex-shrink: 0 !important;
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  background: var(--gold) !important;
  color: var(--bg-2) !important;
  border: none !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
}
.kg-audio-play-icon:hover,
.kg-audio-pause-icon:hover {
  background: var(--gold-bright) !important;
}
.kg-audio-play-icon svg,
.kg-audio-pause-icon svg {
  width: 14px !important;
  height: 14px !important;
}

/* Time display — Cinzel small caps */
.kg-audio-current-time,
.kg-audio-time,
.kg-audio-duration {
  font-family: 'Cinzel', 'Trajan Pro', Georgia, serif !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.06em !important;
  color: var(--ink-dim) !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  text-transform: none !important;
  background: transparent !important;
  padding: 0 !important;
}

/* Seek slider — must grow to fill remaining space */
.kg-audio-seek-slider {
  flex: 1 1 0 !important;
  min-width: 40px !important;
  width: auto !important;
  height: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--rule) !important;
  border: none !important;
  border-radius: 2px !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  cursor: pointer !important;
}
.kg-audio-seek-slider::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 12px !important;
  height: 12px !important;
  background: var(--gold) !important;
  border-radius: 50% !important;
  border: none !important;
  cursor: pointer !important;
}
.kg-audio-seek-slider::-moz-range-thumb {
  width: 12px !important;
  height: 12px !important;
  background: var(--gold) !important;
  border-radius: 50% !important;
  border: none !important;
  cursor: pointer !important;
}

/* Playback rate — pill-style on desktop, hidden on mobile */
.kg-audio-playback-rate {
  flex-shrink: 0 !important;
  width: auto !important;
  min-width: 0 !important;
  height: 24px !important;
  padding: 0 0.5em !important;
  background: transparent !important;
  border: 1px solid var(--rule) !important;
  border-radius: 999px !important;
  color: var(--ink-soft) !important;
  font-family: 'Cinzel', serif !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  line-height: 1 !important;
}
.kg-audio-playback-rate:hover {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
}

/* Mute / unmute icon buttons */
.kg-audio-mute-icon,
.kg-audio-unmute-icon {
  flex-shrink: 0 !important;
  width: 24px !important;
  height: 24px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  color: var(--ink-soft) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.kg-audio-mute-icon svg,
.kg-audio-unmute-icon svg {
  width: 14px !important;
  height: 14px !important;
  fill: currentColor !important;
}

/* Volume slider */
.kg-audio-volume-slider {
  flex-shrink: 0 !important;
  width: 64px !important;
  height: 4px !important;
  background: var(--rule) !important;
  border-radius: 2px !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  cursor: pointer !important;
}
.kg-audio-volume-slider::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 10px !important;
  height: 10px !important;
  background: var(--gold) !important;
  border-radius: 50% !important;
  border: none !important;
}

/* Hide whatever Ghost has marked as inactive */
.kg-audio-card .kg-audio-hide {
  display: none !important;
}

/* --- MOBILE (<= 600px) — hide secondary controls so seek bar has room --- */
@media (max-width: 600px) {
  .kg-audio-card {
    gap: 0.5rem !important;
    padding: 0.6rem !important;
  }
  .kg-audio-card .kg-audio-thumbnail {
    width: 44px !important;
    height: 44px !important;
  }
  .kg-audio-card .kg-audio-thumbnail.placeholder svg {
    width: 18px !important;
    height: 18px !important;
  }
  .kg-audio-player-container {
    gap: 0.35rem !important;
  }
  .kg-audio-title {
    font-size: 0.88rem !important;
  }
  .kg-audio-player {
    gap: 0.4rem !important;
  }
  .kg-audio-play-icon,
  .kg-audio-pause-icon {
    width: 28px !important;
    height: 28px !important;
  }
  .kg-audio-play-icon svg,
  .kg-audio-pause-icon svg {
    width: 12px !important;
    height: 12px !important;
  }
  .kg-audio-current-time,
  .kg-audio-time,
  .kg-audio-duration {
    font-size: 0.62rem !important;
  }
  /* Hide the controls that don't fit on a phone — the seek bar + play/pause
     + time are the essentials. Volume is awkward on touch anyway. */
  .kg-audio-playback-rate,
  .kg-audio-mute-icon,
  .kg-audio-unmute-icon,
  .kg-audio-volume-slider {
    display: none !important;
  }
  /* Internet Archive iframe — bump up slightly on mobile so controls have room */
  .kg-embed-card iframe[src*="archive.org"],
  .gh-content iframe[src*="archive.org"] {
    min-height: 70px !important;
    height: 70px !important;
  }
}

/* --- TABLET (601-900px) — keep playback rate, hide volume controls --- */
@media (min-width: 601px) and (max-width: 900px) {
  .kg-audio-mute-icon,
  .kg-audio-unmute-icon,
  .kg-audio-volume-slider {
    display: none !important;
  }
}
