/*
Theme Name:   Two Americas Child
Theme URI:    https://twoamericas.us
Description:  Kadence child theme for Two Americas — A Dual-Track Historical Archive
Author:       Two Americas
Author URI:   https://twoamericas.us
Template:     kadence
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  two-americas-child
Tags:         history, archive, education
*/

/* ============================================================
   TWO AMERICAS — CHILD THEME STYLESHEET
   All custom CSS goes here. Never edit the parent Kadence theme.
   
   TABLE OF CONTENTS
   -----------------
   01. CSS Custom Properties (Design Tokens)
   02. Global Base Styles
   03. Typography
   04. Header & Navigation
   05. Track & Lens Badges
   06. Geography Badges (NC Lens)
   07. Timeline Page
   08. Timeline Entry Cards
   09. Single Entry Page
   10. Citation Block
   11. NC Connection Callout
   12. Era Navigator
   13. Landing Page Sections
   14. NC Hub Pages
   15. Footer
   16. Utility Classes
   17. Responsive Overrides
   ============================================================ */


/* ============================================================
   01. CSS CUSTOM PROPERTIES
   ============================================================ */

:root {

  /* Brand Colors */
  --ta-black:          #0a0a0a;
  --ta-off-white:      #f2ede6;
  --ta-cream:          #e8e0d4;
  --ta-white:          #ffffff;

  /* Track Colors */
  --ta-persecution:    #7a1c1c;
  --ta-persecution-lt: #a02828;
  --ta-persecution-bg: rgba(122, 28, 28, 0.08);
  --ta-contribution:   #1c3a6b;
  --ta-contribution-lt:#2a5298;
  --ta-contribution-bg:rgba(28, 58, 107, 0.08);

  /* Accent Colors */
  --ta-gold:           #b8962e;
  --ta-gold-lt:        #d4ad45;
  --ta-gray:           #3a3530;
  --ta-gray-lt:        #6b625a;
  --ta-gray-border:    #d0c8be;

  /* NC Lens Colors */
  --ta-nc-gold:        #8b6914;
  --ta-nc-green:       #1a4a1a;
  --ta-nc-green-lt:    #2a6e2a;

  /* Typography Scale */
  --ta-font-display:   'Playfair Display', Georgia, 'Times New Roman', serif;
  --ta-font-body:      'Crimson Pro', Georgia, 'Times New Roman', serif;
  --ta-font-mono:      'Space Mono', 'Courier New', monospace;
  --ta-font-ui:        'Inter', system-ui, sans-serif;

  /* Spacing */
  --ta-space-xs:       0.5rem;
  --ta-space-sm:       1rem;
  --ta-space-md:       1.5rem;
  --ta-space-lg:       2.5rem;
  --ta-space-xl:       4rem;
  --ta-space-2xl:      6rem;

  /* Border Radius */
  --ta-radius-sm:      2px;
  --ta-radius-md:      4px;

  /* Shadows */
  --ta-shadow-card:    0 2px 12px rgba(10, 10, 10, 0.12);
  --ta-shadow-entry:   0 4px 24px rgba(10, 10, 10, 0.18);

  /* Transitions */
  --ta-transition:     0.25s ease;
}


/* ============================================================
   02. GLOBAL BASE STYLES
   ============================================================ */

html {
  scroll-behavior: smooth;
}

body {
  background-color: var(--ta-white);
  color: var(--ta-black);
  font-family: var(--ta-font-body);
  font-size: 18px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Remove default WPBakery / Royal theme shortcode debris */
.vc_row,
.vc_column_inner,
[class*="chargewp-"],
[class*="vcmp_"] {
  display: none !important;
}

img {
  max-width: 100%;
  height: auto;
}


a {
  color: var(--ta-persecution);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color var(--ta-transition);
}

a:hover {
  color: var(--ta-persecution-lt);
}

::selection {
  background: var(--ta-persecution);
  color: var(--ta-white);
}


/* ============================================================
   03. TYPOGRAPHY
   ============================================================ */

h1, h2, h3, h4, h5, h6 {
  font-family: var(--ta-font-display);
  font-weight: 700;
  line-height: 1.2;
  color: var(--ta-black);
}

h1 { font-size: clamp(2.2rem, 5vw, 3.5rem); }
h2 { font-size: clamp(1.8rem, 3.5vw, 2.6rem); }
h3 { font-size: clamp(1.4rem, 2.5vw, 1.9rem); }
h4 { font-size: clamp(1.2rem, 2vw, 1.5rem); }

p {
  margin-bottom: 1.2em;
  font-size: 1rem;
}

blockquote {
  border-left: 3px solid var(--ta-gold);
  padding: 0.5em 0 0.5em 1.5em;
  margin: 2em 0;
  font-style: italic;
  font-size: 1.15em;
  color: var(--ta-gray);
}

blockquote cite {
  display: block;
  margin-top: 0.75em;
  font-size: 0.8em;
  font-style: normal;
  font-family: var(--ta-font-mono);
  letter-spacing: 0.08em;
  color: var(--ta-gray-lt);
}

/* Entry year display — large, prominent, above title */
.entry-year-display {
  font-family: var(--ta-font-mono);
  font-size: clamp(3rem, 8vw, 6rem);
  font-weight: 700;
  color: var(--ta-gray-border);
  line-height: 1;
  margin-bottom: 0.25em;
  letter-spacing: -0.02em;
}

/* Short description — italic lead-in */
.entry-short-desc {
  font-size: 1.2em;
  font-style: italic;
  color: var(--ta-gray);
  line-height: 1.6;
  margin: 1.5em 0;
  padding-bottom: 1.5em;
  border-bottom: 1px solid var(--ta-gray-border);
}

/* Era label */
.entry-era-label {
  font-family: var(--ta-font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ta-gold);
  margin-bottom: 1rem;
}


/* ============================================================
   04. HEADER & NAVIGATION
   ============================================================ */

/* Site title */
.site-branding .site-title a,
.site-branding .site-title a:hover {
  font-family: var(--ta-font-display);
  font-weight: 900;
  font-size: 1.4rem;
  color: var(--ta-black);
  text-decoration: none;
  letter-spacing: -0.01em;
}

/* Primary nav links */
.main-navigation a,
#site-navigation a,
.kadence-navigation a {
  font-family: var(--ta-font-ui);
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--ta-black);
  transition: color var(--ta-transition);
  padding: 0.4em 0;
}

.main-navigation a:hover,
.kadence-navigation a:hover {
  color: var(--ta-persecution);
}

/* North Carolina nav item — distinct treatment */
.nav-nc > a,
.menu-item-north-carolina > a {
  color: var(--ta-nc-gold) !important;
  font-weight: 600;
}

/* Dropdown menus */
.sub-menu {
  background: var(--ta-black) !important;
  border-top: 2px solid var(--ta-persecution) !important;
}

.sub-menu a {
  color: var(--ta-off-white) !important;
  font-size: 0.78rem !important;
  padding: 0.6em 1.2em !important;
}

.sub-menu a:hover {
  color: var(--ta-gold) !important;
  background: rgba(255,255,255,0.05) !important;
}

/* Sticky header */
.header-sticky-wrapper.is-sticky,
.site-header.is-sticky {
  box-shadow: 0 2px 16px rgba(10,10,10,0.15);
  border-bottom: 1px solid var(--ta-gray-border);
}


/* ============================================================
   05. TRACK & LENS BADGES
   ============================================================ */

.ta-badge {
  display: inline-block;
  font-family: var(--ta-font-mono);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: var(--ta-radius-sm);
  line-height: 1;
  vertical-align: middle;
}

/* Track badges */
.ta-badge--persecution {
  background: var(--ta-persecution);
  color: var(--ta-white);
}

.ta-badge--contribution {
  background: var(--ta-contribution);
  color: var(--ta-white);
}

.ta-badge--both {
  background: linear-gradient(90deg, var(--ta-persecution) 50%, var(--ta-contribution) 50%);
  color: var(--ta-white);
}

/* Lens badges */
.ta-badge--church {
  background: transparent;
  color: var(--ta-off-white);
  border: 1px solid var(--ta-off-white);
}
.ta-badge--secular {
  background: transparent;
  color: var(--ta-off-white);
  border: 1px solid var(--ta-off-white);
}

/* Badge group wrapper */
.ta-badge-group {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 1rem;
}


/* ============================================================
   06. GEOGRAPHY BADGES (NC LENS)
   ============================================================ */

.ta-badge--nc {
  background: var(--ta-nc-gold);
  color: var(--ta-white);
}

.ta-badge--cumberland {
  background: transparent;
  color: var(--ta-nc-gold);
  border: 1px solid var(--ta-nc-gold);
}

.ta-badge--fayetteville {
  background: transparent;
  color: var(--ta-nc-gold);
  border: 1px solid var(--ta-nc-gold);
}

.ta-badge--fort-liberty {
  background: transparent;
  color: var(--ta-nc-green);
  border: 1px solid var(--ta-nc-green);
}

/* Present-day NC relevance badge */
.ta-badge--present-day-nc {
  background: var(--ta-nc-green);
  color: var(--ta-white);
  animation: subtle-pulse 3s ease-in-out infinite;
}

@keyframes subtle-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.75; }
}


/* ============================================================
   07. TIMELINE PAGE (/timeline, /nc-timeline)
   ============================================================ */

/* Filter bar */
.ta-filter-bar {
  background: var(--ta-black);
  padding: 1.5rem 2rem;
  margin-bottom: 2.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}

.ta-filter-bar label {
  font-family: var(--ta-font-mono);
  font-size: 0.65rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ta-gray-lt);
  display: block;
  margin-bottom: 4px;
}

/* Vertical year spine — center of dual-track layout */
.ta-timeline-wrapper {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 48px 1fr;
  gap: 0;
}

.ta-year-spine {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ta-year-spine::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: linear-gradient(to bottom, transparent, var(--ta-gray-border) 5%, var(--ta-gray-border) 95%, transparent);
  transform: translateX(-50%);
}

.ta-spine-year {
  font-family: var(--ta-font-mono);
  font-size: 0.65rem;
  letter-spacing: 0.08em;
  color: var(--ta-gray-lt);
  background: var(--ta-white);
  padding: 2px 4px;
  position: relative;
  z-index: 1;
  text-align: center;
  margin: 1.5rem 0;
}

/* Left / Right track columns */
.ta-track-persecution-col {
  padding-right: 1.5rem;
}

.ta-track-contribution-col {
  padding-left: 1.5rem;
}

/* Track column headers */
.ta-track-header {
  font-family: var(--ta-font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 0.75rem 1rem;
  margin-bottom: 1.5rem;
  text-align: center;
}

.ta-track-header--persecution {
  background: var(--ta-persecution);
  color: var(--ta-white);
}

.ta-track-header--contribution {
  background: var(--ta-contribution);
  color: var(--ta-white);
}


/* ============================================================
   08. TIMELINE ENTRY CARDS
   ============================================================ */

.ta-entry-card {
  background: var(--ta-white);
  border: 1px solid var(--ta-gray-border);
  border-top: 3px solid transparent;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.25rem;
  box-shadow: var(--ta-shadow-card);
  transition: box-shadow var(--ta-transition), transform var(--ta-transition);
  position: relative;
}

.ta-entry-card:hover {
  box-shadow: var(--ta-shadow-entry);
  transform: translateY(-2px);
}

/* Track-colored top border on cards */
.ta-entry-card--persecution {
  border-top-color: var(--ta-persecution);
}

.ta-entry-card--contribution {
  border-top-color: var(--ta-contribution);
}

/* NC-tagged card — gold left accent */
.ta-entry-card--nc-tagged {
  border-left: 3px solid var(--ta-nc-gold);
}

.ta-card-year {
  font-family: var(--ta-font-mono);
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--ta-gray-border);
  line-height: 1;
  margin-bottom: 0.4rem;
}

.ta-card-title {
  font-family: var(--ta-font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--ta-black);
  margin-bottom: 0.5rem;
  line-height: 1.3;
}

.ta-card-excerpt {
  font-size: 0.88rem;
  color: var(--ta-gray-lt);
  line-height: 1.55;
  margin-bottom: 0.75rem;
}

.ta-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 0.75rem;
  border-top: 1px solid var(--ta-cream);
}

.ta-read-more {
  font-family: var(--ta-font-mono);
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ta-persecution);
  text-decoration: none;
  transition: color var(--ta-transition);
}

.ta-read-more:hover {
  color: var(--ta-persecution-lt);
}

.ta-read-more::after {
  content: ' →';
}


/* ============================================================
   09. SINGLE ENTRY PAGE (/entry/{slug})
   ============================================================ */

.ta-single-entry {
  max-width: 780px;
  margin: 0 auto;
  padding: var(--ta-space-xl) var(--ta-space-md);
}

/* Entry header area */
.ta-entry-header {
  border-bottom: 1px solid var(--ta-gray-border);
  margin-bottom: 2.5rem;
  padding-bottom: 2rem;
}

/* Featured image */
.ta-entry-image {
  margin: 2rem 0 0.5rem;
  width: 100%;
}

.ta-entry-image img {
  width: 100%;
  height: auto;
  display: block;
}

.ta-image-caption {
  font-size: 0.78rem;
  font-style: italic;
  color: var(--ta-gray-lt);
  padding: 0.5rem 0.75rem;
  background: var(--ta-cream);
  border-left: 2px solid var(--ta-gray-border);
}

/* Full narrative content */
.ta-entry-content {
  font-size: 1.05rem;
  line-height: 1.8;
  color: var(--ta-text);
}

.ta-entry-content p { margin-bottom: 1.4em; }

.ta-entry-content h3 {
  font-size: 1.3rem;
  margin: 2em 0 0.75em;
  padding-top: 1em;
  border-top: 1px solid var(--ta-cream);
}

/* Related entry block */
.ta-related-entry {
  background: var(--ta-cream);
  border-left: 4px solid var(--ta-gold);
  padding: 1.25rem 1.5rem;
  margin: 3rem 0;
}

.ta-related-entry__label {
  font-family: var(--ta-font-mono);
  font-size: 0.62rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ta-gold);
  margin-bottom: 0.5rem;
}

.ta-related-entry__title {
  font-family: var(--ta-font-display);
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 0.4rem;
}
.ta-related-entry__title a {
  color: var(--ta-persecution);
  text-decoration: none;
}
.ta-related-entry__title a:hover {
  color: var(--ta-black);
}

/* Entry navigation */
.ta-entry-nav {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 2rem 0;
  border-top: 1px solid var(--ta-gray-border);
  margin-top: 3rem;
}

.ta-entry-nav a { 
  font-family: var(--ta-font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--ta-off-white);
  transition: color var(--ta-transition);
}
.ta-entry-nav a:hover { color: var(--ta-gold); }


.ta-return-link {
  display: inline-block;
  font-family: var(--ta-font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ta-persecution);
  text-decoration: none;
  padding: 0.6rem 1.2rem;
  border: 1px solid var(--ta-persecution);
  margin-top: 1.5rem;
  transition: background var(--ta-transition), color var(--ta-transition);
}

.ta-return-link:hover {
  background: var(--ta-persecution);
  color: var(--ta-white);
}

/* Content warning block */
.ta-content-warning {
  background: #fff8f0;
  border: 1px solid #d4862e;
  border-left: 4px solid #d4862e;
  padding: 1rem 1.25rem;
  margin-bottom: 2rem;
  font-size: 0.9rem;
}

.ta-content-warning__label {
  font-family: var(--ta-font-mono);
  font-size: 0.65rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #d4862e;
  margin-bottom: 0.4rem;
  font-weight: 700;
}


/* ============================================================
   10. CITATION BLOCK
   ============================================================ */

.ta-citations {
  background: var(--ta-cream);
  padding: 2rem 2.5rem;
  margin: 3rem 0 2rem;
  border-top: 2px solid var(--ta-black);
}

.ta-citations h3 {
  font-family: var(--ta-font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ta-gray-lt);
  margin-bottom: 1.5rem;
  font-weight: 400;
  border: none;
  padding: 0;
}

.ta-citation-item {
  display: flex;
  gap: 0.75rem;
  font-size: 0.88rem;
  line-height: 1.6;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--ta-gray-border);
  color: var(--ta-gray);
}

.ta-citation-item:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.ta-citation-num {
  font-family: var(--ta-font-mono);
  font-size: 0.72rem;
  color: var(--ta-gray-lt);
  min-width: 1.5rem;
  padding-top: 2px;
}

.ta-citation-text a {
  color: var(--ta-persecution);
  font-size: 0.82rem;
  margin-left: 0.4em;
}
.ta-citations a {
  color: var(--ta-persecution);
  text-decoration: underline;
}
.ta-citations a:hover {
  color: var(--ta-black);
}

.ta-citation-type {
  font-family: var(--ta-font-mono);
  font-size: 0.6rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ta-gray-lt);
  margin-left: 0.5em;
  border: 1px solid var(--ta-gray-border);
  padding: 1px 5px;
  vertical-align: middle;
}


/* ============================================================
   11. NC CONNECTION CALLOUT
   ============================================================ */

.ta-nc-callout {
  background: #f5f0e8;
  border-left: 4px solid var(--ta-nc-gold);
  padding: 1.25rem 1.5rem;
  margin: 2rem 0;
  position: relative;
}

.ta-nc-callout::before {
  content: 'North Carolina Connection';
  display: block;
  font-family: var(--ta-font-mono);
  font-size: 0.62rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ta-nc-gold);
  margin-bottom: 0.5rem;
  font-weight: 700;
}

.ta-nc-callout p {
  font-size: 0.95rem;
  color: var(--ta-gray);
  margin: 0;
  line-height: 1.6;
}


/* ============================================================
   12. ERA NAVIGATOR
   ============================================================ */

.ta-era-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 2rem 0;
}

.ta-era-btn {
  display: inline-block;
  font-family: var(--ta-font-mono);
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.5rem 1rem;
  border: 1px solid var(--ta-gray-border);
  color: var(--ta-gray);
  text-decoration: none;
  transition: all var(--ta-transition);
  background: var(--ta-white);
}

.ta-era-btn:hover,
.ta-era-btn--active {
  background: var(--ta-black);
  color: var(--ta-white);
  border-color: var(--ta-black);
}

.ta-era-btn--active {
  pointer-events: none;
}


/* ============================================================
   13. LANDING PAGE SECTIONS
   ============================================================ */

/* Hero overrides — Kadence full-width row */
.ta-hero-section {
  min-height: 100vh;
  display: flex;
  align-items: center;
}

/* Split-screen two-track section */
.ta-split-persecution {
  background-color: var(--ta-persecution-bg);
  border-top: 4px solid var(--ta-persecution);
}

.ta-split-contribution {
  background-color: var(--ta-contribution-bg);
  border-top: 4px solid var(--ta-contribution);
}

/* Section label / eyebrow */
.ta-section-eyebrow {
  font-family: var(--ta-font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ta-gold);
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.ta-section-eyebrow::before {
  content: '';
  display: inline-block;
  width: 32px;
  height: 1px;
  background: var(--ta-gold);
}

/* Four Pillars info boxes */
.ta-pillar-persecution {
  border-top: 3px solid var(--ta-persecution);
}

.ta-pillar-contribution {
  border-top: 3px solid var(--ta-contribution);
}

.ta-pillar-church {
  border-top: 3px solid var(--ta-gold);
}

.ta-pillar-secular {
  border-top: 3px solid var(--ta-gray);
}

/* Featured Entry spotlight */
.ta-featured-entry {
  background: var(--ta-black);
  color: var(--ta-off-white);
  padding: var(--ta-space-xl) var(--ta-space-lg);
}

.ta-featured-entry .ta-section-eyebrow {
  color: var(--ta-gold);
}

.ta-featured-entry h2 {
  color: var(--ta-off-white);
}


/* ============================================================
   14. NC HUB PAGES
   ============================================================ */

/* NC page hero — distinguishes from national */
.ta-nc-hero {
  border-bottom: 4px solid var(--ta-nc-gold);
}

/* Local hub cards */
.ta-local-hub-card {
  border-top: 3px solid var(--ta-nc-gold);
  padding: 1.5rem;
  background: var(--ta-white);
  border: 1px solid var(--ta-gray-border);
  border-top: 3px solid var(--ta-nc-gold);
  transition: box-shadow var(--ta-transition);
}

.ta-local-hub-card:hover {
  box-shadow: var(--ta-shadow-entry);
}

.ta-local-hub-card__title {
  font-family: var(--ta-font-display);
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: var(--ta-nc-gold);
}

/* Sub-navigation for NC hub */
.ta-nc-subnav {
  background: var(--ta-black);
  padding: 0.75rem 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  overflow-x: auto;
}

.ta-nc-subnav a {
  font-family: var(--ta-font-mono);
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ta-gray-lt);
  text-decoration: none;
  padding: 0.5rem 1rem;
  transition: color var(--ta-transition);
  white-space: nowrap;
}

.ta-nc-subnav a:hover,
.ta-nc-subnav a.current {
  color: var(--ta-nc-gold);
}


/* ============================================================
   15. FOOTER
   ============================================================ */

.site-footer,
#colophon {
  background: var(--ta-black);
  color: var(--ta-gray-lt);
  padding: 3rem 2rem 2rem;
  font-size: 0.88rem;
}

.site-footer a {
  color: var(--ta-gold);
  text-decoration: none;
}

.site-footer a:hover {
  color: var(--ta-gold-lt);
}

.ta-footer-mission {
  font-style: italic;
  font-size: 1rem;
  color: var(--ta-off-white);
  border-left: 2px solid var(--ta-gold);
  padding-left: 1.25rem;
  margin-bottom: 2rem;
  line-height: 1.6;
}

.ta-footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.08);
  padding-top: 1.5rem;
  margin-top: 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  font-family: var(--ta-font-mono);
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}


/* ============================================================
   16. UTILITY CLASSES
   ============================================================ */

.ta-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.ta-divider {
  border: none;
  border-top: 1px solid var(--ta-gray-border);
  margin: 2.5rem 0;
}

.ta-divider--gold {
  border-top-color: var(--ta-gold);
  border-top-width: 2px;
}

.ta-text-mono {
  font-family: var(--ta-font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.1em;
}

.ta-text-center { text-align: center; }
.ta-text-gold   { color: var(--ta-gold); }
.ta-text-red    { color: var(--ta-persecution); }
.ta-text-blue   { color: var(--ta-contribution); }


/* ============================================================
   17. RESPONSIVE OVERRIDES
   ============================================================ */

@media (max-width: 1024px) {
  .ta-timeline-wrapper {
    grid-template-columns: 1fr;
  }

  .ta-year-spine { display: none; }

  .ta-track-persecution-col,
  .ta-track-contribution-col {
    padding: 0;
  }
}

@media (max-width: 768px) {
  .ta-single-entry {
    padding: var(--ta-space-lg) var(--ta-space-sm);
  }

  .ta-citations {
    padding: 1.5rem;
  }

  .ta-entry-nav {
    flex-direction: column;
    gap: 0.5rem;
  }

  .ta-filter-bar {
    padding: 1rem;
  }

  .ta-era-nav {
    gap: 0.35rem;
  }

  .ta-era-btn {
    font-size: 0.58rem;
    padding: 0.4rem 0.75rem;
  }

  .ta-footer-bottom {
    flex-direction: column;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .ta-badge { font-size: 0.58rem; padding: 3px 7px; }
  .entry-year-display { font-size: 2.5rem; }
}

/* ============================================================
   TWO AMERICAS — DUAL TRACK TIMELINE CSS
   Add this entire block to the bottom of style.css
   in the child theme (two-americas-child/style.css)
   ============================================================ */

/* ── Variables ──────────────────────────────────────────────── */
:root {
  --dt-persecution:       #8B1A1A;
  --dt-persecution-light: #C0392B;
  --dt-persecution-glow:  rgba(139, 26, 26, 0.25);
  --dt-contribution:      #1A4A6B;
  --dt-contribution-light:#2980B9;
  --dt-contribution-glow: rgba(26, 74, 107, 0.25);
  --dt-gold:              #C9A84C;
  --dt-gold-glow:         rgba(201, 168, 76, 0.2);
  --dt-parchment:         #F5EDD6;
  --dt-bg:                #0D0A06;
  --dt-bg-card:           rgba(255,255,255,0.035);
  --dt-border:            rgba(201,168,76,0.15);
  --dt-spine:             rgba(201,168,76,0.35);
}

/* ── Base wrapper ───────────────────────────────────────────── */
.ta-dual-timeline-hub,
.ta-dual-timeline-era {
  background: var(--dt-bg);
  color: var(--dt-parchment);
  font-family: 'Crimson Pro', Georgia, serif;
  min-height: 100vh;
}

/* ══════════════════════════════════════════════════════════════
   HUB PAGE
══════════════════════════════════════════════════════════════ */

/* Hero */
.ta-dt-hero {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  padding: 80px 40px;
  text-align: center;
}

.ta-dt-hero__glow {
  position: absolute;
  top: 0; bottom: 0;
  width: 50%;
  pointer-events: none;
}
.ta-dt-hero__glow--left {
  left: 0;
  background: radial-gradient(ellipse 80% 60% at 20% 50%, var(--dt-persecution-glow), transparent 60%);
}
.ta-dt-hero__glow--right {
  right: 0;
  background: radial-gradient(ellipse 80% 60% at 80% 50%, var(--dt-contribution-glow), transparent 60%);
}

.ta-dt-hero__spine {
  position: absolute;
  top: 0; bottom: 0;
  left: 50%;
  width: 1px;
  background: linear-gradient(to bottom, transparent, var(--dt-gold) 20%, var(--dt-gold) 80%, transparent);
  opacity: 0.3;
}

.ta-dt-hero__content {
  position: relative;
  z-index: 1;
  max-width: 860px;
  width: 100%;
}

.ta-dt-hero__date-range {
  font-family: 'Space Mono', monospace;
  font-size: 0.8rem;
  letter-spacing: 0.25em;
  color: var(--dt-gold);
  text-transform: uppercase;
  margin-bottom: 24px;
  opacity: 0.85;
}

.ta-dt-hero__title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.8rem, 6vw, 5.5rem);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin-bottom: 24px;
  color: var(--dt-parchment);
}
.ta-dt-hero__title em {
  font-style: italic;
  font-weight: 400;
}

.ta-dt-hero__tracks {
  display: flex;
  gap: 40px;
  justify-content: center;
  align-items: center;
  margin: 28px 0;
}

.ta-dt-track {
  font-family: 'Space Mono', monospace;
  font-size: 0.85rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 8px 20px;
  border: 1px solid;
  font-weight: 700;
}
.ta-dt-track--persecution {
  color: var(--dt-persecution-light);
  border-color: var(--dt-persecution);
  background: rgba(139,26,26,0.1);
}
.ta-dt-track--contribution {
  color: var(--dt-contribution-light);
  border-color: var(--dt-contribution);
  background: rgba(26,74,107,0.1);
}
.ta-dt-track-divider {
  color: var(--dt-gold);
  font-size: 1.4rem;
  opacity: 0.6;
}

.ta-dt-hero__intro {
  font-size: 1.15rem;
  line-height: 1.8;
  color: rgba(245,237,214,0.85);
  max-width: 720px;
  margin: 0 auto 40px;
  font-weight: 300;
}

/* Pillars */
.ta-dt-pillars {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  text-align: left;
  margin-top: 40px;
}

.ta-dt-pillar {
  padding: 20px 22px;
  border-left: 3px solid;
  background: var(--dt-bg-card);
}
.ta-dt-pillar--persecution { border-color: var(--dt-persecution); }
.ta-dt-pillar--contribution { border-color: var(--dt-contribution); }
.ta-dt-pillar--church { border-color: var(--dt-gold); }
.ta-dt-pillar--secular { border-color: rgba(255,255,255,0.3); }

.ta-dt-pillar h3 {
  font-family: 'Space Mono', monospace;
  font-size: 0.72rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 8px;
  font-weight: 700;
}
.ta-dt-pillar--persecution h3 { color: var(--dt-persecution-light); }
.ta-dt-pillar--contribution h3 { color: var(--dt-contribution-light); }
.ta-dt-pillar--church h3 { color: var(--dt-gold); }
.ta-dt-pillar--secular h3 { color: rgba(245,237,214,0.7); }

.ta-dt-pillar p {
  font-size: 0.95rem;
  line-height: 1.6;
  color: rgba(245,237,214,0.75);
  margin: 0;
}

/* Quote blocks */
.ta-dt-quote {
  padding: 60px 40px;
  text-align: center;
  background: rgba(201,168,76,0.04);
  border-top: 1px solid var(--dt-border);
  border-bottom: 1px solid var(--dt-border);
}
.ta-dt-quote blockquote {
  max-width: 680px;
  margin: 0 auto;
}
.ta-dt-quote blockquote p {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.3rem, 2.5vw, 1.8rem);
  font-style: italic;
  font-weight: 400;
  color: var(--dt-parchment);
  line-height: 1.6;
  margin-bottom: 16px;
}
.ta-dt-quote blockquote cite {
  font-family: 'Space Mono', monospace;
  font-size: 0.72rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--dt-gold);
  font-style: normal;
}

/* ERA Nav grid */
.ta-dt-era-nav {
  padding: 80px 40px;
}
.ta-dt-era-nav__header {
  text-align: center;
  margin-bottom: 48px;
}
.ta-dt-era-nav__header h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  font-weight: 700;
  color: var(--dt-parchment);
  margin-bottom: 12px;
}
.ta-dt-era-nav__header p {
  font-size: 1.05rem;
  color: rgba(245,237,214,0.65);
}

.ta-dt-era-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
}

.ta-dt-era-card {
  position: relative;
  display: block;
  text-decoration: none;
  color: var(--dt-parchment);
  border: 1px solid rgba(255,255,255,0.08);
  overflow: hidden;
  transition: transform 0.25s ease, border-color 0.25s ease;
}
.ta-dt-era-card:hover {
  transform: translateY(-3px);
  border-color: var(--dt-gold);
  text-decoration: none;
  color: var(--dt-parchment);
}
.ta-dt-era-card__bg {
  position: absolute;
  inset: 0;
  background: var(--era-color, #1a1a1a);
  opacity: 0.85;
  transition: opacity 0.25s ease;
}
.ta-dt-era-card:hover .ta-dt-era-card__bg {
  opacity: 1;
}
.ta-dt-era-card--prologue .ta-dt-era-card__bg {
  background: linear-gradient(135deg, #0a1a0a, #1a2a1a);
}
.ta-dt-era-card__content {
  position: relative;
  z-index: 1;
  padding: 28px 28px 22px;
}
.ta-dt-era-card__label {
  font-family: 'Space Mono', monospace;
  font-size: 0.68rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--dt-gold);
  margin-bottom: 6px;
}
.ta-dt-era-card__dates {
  font-family: 'Playfair Display', serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--dt-parchment);
  margin-bottom: 12px;
  line-height: 1.2;
}
.ta-dt-era-card__desc {
  font-size: 0.92rem;
  line-height: 1.65;
  color: rgba(245,237,214,0.75);
  margin-bottom: 20px;
}
.ta-dt-era-card__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid rgba(255,255,255,0.1);
  padding-top: 14px;
}
.ta-dt-era-card__count {
  font-family: 'Space Mono', monospace;
  font-size: 0.68rem;
  color: rgba(245,237,214,0.5);
  letter-spacing: 0.1em;
}
.ta-dt-era-card__cta {
  font-family: 'Space Mono', monospace;
  font-size: 0.68rem;
  color: var(--dt-gold);
  letter-spacing: 0.1em;
}

/* Vision */
.ta-dt-vision {
  max-width: 780px;
  margin: 0 auto;
  padding: 80px 40px;
  text-align: center;
}
.ta-dt-vision h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.5rem, 2.5vw, 2.2rem);
  font-weight: 700;
  color: var(--dt-parchment);
  margin-bottom: 28px;
}
.ta-dt-vision p {
  font-size: 1.1rem;
  line-height: 1.8;
  color: rgba(245,237,214,0.82);
  margin-bottom: 20px;
}
.ta-dt-vision strong {
  color: var(--dt-parchment);
}

/* ══════════════════════════════════════════════════════════════
   ERA INDIVIDUAL PAGES
══════════════════════════════════════════════════════════════ */

/* ERA Header */
.ta-dt-era-header {
  min-height: 60vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  padding: 80px 40px 60px;
  text-align: center;
  background: var(--era-color, #1a1a1a);
}
.ta-dt-era-header__glow {
  position: absolute;
  top: 0; bottom: 0;
  width: 50%;
  pointer-events: none;
}
.ta-dt-era-header__glow--left {
  left: 0;
  background: radial-gradient(ellipse 80% 60% at 20% 50%, var(--dt-persecution-glow), transparent 60%);
}
.ta-dt-era-header__glow--right {
  right: 0;
  background: radial-gradient(ellipse 80% 60% at 80% 50%, var(--dt-contribution-glow), transparent 60%);
}
.ta-dt-era-header__spine {
  position: absolute;
  top: 0; bottom: 0; left: 50%;
  width: 1px;
  background: linear-gradient(to bottom, transparent, var(--dt-gold) 20%, var(--dt-gold) 80%, transparent);
  opacity: 0.25;
}
.ta-dt-era-header__content {
  position: relative;
  z-index: 1;
  max-width: 800px;
}
.ta-dt-era-header__back {
  display: inline-block;
  font-family: 'Space Mono', monospace;
  font-size: 0.7rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--dt-gold);
  text-decoration: none;
  margin-bottom: 32px;
  opacity: 0.7;
  transition: opacity 0.2s;
}
.ta-dt-era-header__back:hover { opacity: 1; }

.ta-dt-era-header__label {
  font-family: 'Space Mono', monospace;
  font-size: 0.72rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--dt-gold);
  margin-bottom: 8px;
}
.ta-dt-era-header__dates {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  font-weight: 900;
  color: var(--dt-parchment);
  line-height: 1.1;
  margin-bottom: 12px;
}
.ta-dt-era-header__subtitle {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.1rem, 2vw, 1.5rem);
  font-style: italic;
  font-weight: 400;
  color: rgba(245,237,214,0.85);
  margin-bottom: 20px;
}
.ta-dt-era-header__desc {
  font-size: 1rem;
  line-height: 1.75;
  color: rgba(245,237,214,0.7);
  margin-bottom: 32px;
}
.ta-dt-era-header__tracks {
  display: flex;
  gap: 0;
  align-items: center;
  justify-content: center;
  margin-top: 8px;
}
.ta-dt-era-header__track {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 20px;
}
.ta-dt-era-header__track--persecution { background: rgba(139,26,26,0.2); }
.ta-dt-era-header__track--contribution { background: rgba(26,74,107,0.2); }
.ta-dt-era-header__track-label {
  font-family: 'Space Mono', monospace;
  font-size: 0.68rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.ta-dt-era-header__track--persecution .ta-dt-era-header__track-label { color: var(--dt-persecution-light); }
.ta-dt-era-header__track--contribution .ta-dt-era-header__track-label { color: var(--dt-contribution-light); }
.ta-dt-era-header__track-count {
  font-family: 'Space Mono', monospace;
  font-size: 0.65rem;
  color: rgba(245,237,214,0.5);
}
.ta-dt-era-header__track-divider {
  width: 1px;
  height: 40px;
  background: var(--dt-gold);
  opacity: 0.3;
}

/* Column headers */
.ta-dt-columns-header {
  display: grid;
  grid-template-columns: 1fr 40px 1fr;
  position: sticky;
  top: 0;
  z-index: 10;
  background: rgba(13,10,6,0.95);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--dt-border);
}
.ta-dt-columns-header__persecution,
.ta-dt-columns-header__contribution {
  padding: 14px 24px;
  font-family: 'Space Mono', monospace;
  font-size: 0.68rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-weight: 700;
}
.ta-dt-columns-header__persecution {
  color: var(--dt-persecution-light);
  text-align: right;
  border-right: 1px solid rgba(139,26,26,0.3);
}
.ta-dt-columns-header__contribution {
  color: var(--dt-contribution-light);
  text-align: left;
  border-left: 1px solid rgba(26,74,107,0.3);
}
.ta-dt-columns-header__spine {
  background: linear-gradient(to bottom, var(--dt-gold), var(--dt-gold));
  opacity: 0.2;
}

/* Timeline rows */
.ta-dt-timeline {
  padding: 40px 0;
}

.ta-dt-row {
  display: grid;
  grid-template-columns: 1fr 40px 1fr;
  align-items: start;
  margin-bottom: 8px;
  padding: 0;
}

.ta-dt-row__left,
.ta-dt-row__right {
  padding: 12px 20px;
}
.ta-dt-row__left { text-align: right; }
.ta-dt-row__right { text-align: left; }

.ta-dt-row__spine {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 24px;
  position: relative;
}
.ta-dt-row__spine::before {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  left: 50%;
  width: 1px;
  background: var(--dt-spine);
  transform: translateX(-50%);
}

/* Center node */
.ta-dt-node {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--dt-gold);
  border: 2px solid var(--dt-bg);
  position: relative;
  z-index: 1;
  flex-shrink: 0;
}

/* Event cards */
.ta-dt-card {
  display: inline-block;
  position: relative;
  padding: 18px 20px 14px;
  background: var(--dt-bg-card);
  border: 1px solid rgba(255,255,255,0.07);
  max-width: 520px;
  text-align: left;
  transition: border-color 0.2s ease, transform 0.2s ease;
  margin-bottom: 8px;
}
.ta-dt-card:hover {
  border-color: rgba(201,168,76,0.3);
  transform: translateY(-1px);
}

.ta-dt-card--persecution {
  border-left: 3px solid var(--dt-persecution);
}
.ta-dt-card--contribution {
  border-right: 3px solid var(--dt-contribution);
}
.ta-dt-card--both {
  border-left: 3px solid var(--dt-persecution);
  border-right: 3px solid var(--dt-contribution);
}

/* 250 badge */
.ta-dt-badge-250 {
  position: absolute;
  top: 10px;
  right: 10px;
  font-family: 'Space Mono', monospace;
  font-size: 0.58rem;
  letter-spacing: 0.1em;
  color: var(--dt-gold);
  border: 1px solid var(--dt-gold);
  padding: 2px 6px;
  opacity: 0.85;
  cursor: default;
}

/* Living Record badge */
.ta-dt-badge-living {
  position: absolute;
  top: 10px;
  left: 10px;
  font-family: 'Space Mono', monospace;
  font-size: 0.55rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #2a5a8a;
  border: 1px solid #2a5a8a;
  padding: 2px 6px;
}

.ta-dt-card__year {
  font-family: 'Space Mono', monospace;
  font-size: 0.72rem;
  color: var(--dt-gold);
  letter-spacing: 0.1em;
  margin-bottom: 6px;
}

.ta-dt-card__title {
  font-family: 'Playfair Display', serif;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 8px;
}
.ta-dt-card__title a {
  color: var(--dt-parchment);
  text-decoration: none;
  transition: color 0.2s;
}
.ta-dt-card--persecution .ta-dt-card__title a:hover { color: var(--dt-persecution-light); }
.ta-dt-card--contribution .ta-dt-card__title a:hover { color: var(--dt-contribution-light); }

.ta-dt-card__desc {
  font-size: 0.9rem;
  line-height: 1.6;
  color: rgba(245,237,214,0.72);
  margin-bottom: 12px;
}

.ta-dt-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}

.ta-dt-tag {
  font-family: 'Space Mono', monospace;
  font-size: 0.58rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 2px 7px;
  border: 1px solid;
}
.ta-dt-tag--church {
  color: var(--dt-gold);
  border-color: rgba(201,168,76,0.4);
}
.ta-dt-tag--secular {
  color: rgba(245,237,214,0.6);
  border-color: rgba(245,237,214,0.2);
}
.ta-dt-tag--nc {
  color: #8b6914;
  border-color: rgba(139,105,20,0.4);
}

.ta-dt-card__link {
  font-family: 'Space Mono', monospace;
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--dt-gold);
  text-decoration: none;
  opacity: 0.7;
  transition: opacity 0.2s;
}
.ta-dt-card__link:hover { opacity: 1; }

/* Empty state */
.ta-dt-empty {
  text-align: center;
  padding: 80px 40px;
  color: rgba(245,237,214,0.4);
}
.ta-dt-empty p {
  font-family: 'Space Mono', monospace;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
}

/* ERA footer nav */
.ta-dt-era-nav-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 40px;
  border-top: 1px solid var(--dt-border);
  margin-top: 40px;
}
.ta-dt-era-nav-footer a {
  font-family: 'Space Mono', monospace;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--dt-gold);
  text-decoration: none;
  transition: opacity 0.2s;
}
.ta-dt-era-nav-footer a:hover { opacity: 0.7; }
.ta-dt-era-nav-footer__hub {
  border: 1px solid var(--dt-gold);
  padding: 10px 20px;
}

/* Prologue special treatment */
.ta-dual-timeline-era--prologue .ta-dt-era-header {
  background: linear-gradient(160deg, #050d05 0%, #0a1a0a 40%, #0d1208 100%);
}
.ta-dual-timeline-era--prologue .ta-dt-card--contribution {
  border-right-color: #5a8a5a;
}
.ta-dual-timeline-era--prologue .ta-dt-card--persecution {
  border-left-color: #6a3a1a;
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 768px) {
  .ta-dt-pillars {
    grid-template-columns: 1fr;
  }
  .ta-dt-era-grid {
    grid-template-columns: 1fr;
  }
  .ta-dt-row {
    grid-template-columns: 1fr;
  }
  .ta-dt-row__spine { display: none; }
  .ta-dt-columns-header { display: none; }
  .ta-dt-card--persecution,
  .ta-dt-card--contribution {
    border-left: 3px solid;
    border-right: none;
    max-width: 100%;
    display: block;
  }
  .ta-dt-card--persecution { border-left-color: var(--dt-persecution); }
  .ta-dt-card--contribution { border-left-color: var(--dt-contribution); }
  .ta-dt-row__left,
  .ta-dt-row__right {
    text-align: left;
    padding: 8px 16px;
  }
  .ta-dt-hero__tracks {
    flex-direction: column;
    gap: 12px;
  }
  .ta-dt-era-header__tracks {
    flex-direction: column;
  }
}

/* ============================================================
18. GLOBAL TOP GOLD BAR
Thin gold gradient bar placed at the very top of page content,
immediately below the site header, on every page except the
Introduction (landing) page. Matches the About page's original
ta-about-gold-bar treatment, centralized here for reuse.
============================================================ */
.ta-gold-bar-top {
  height: 4px;
  width: 100%;
  background: linear-gradient(90deg, transparent, #b8860b 20%, #d4a017 50%, #b8860b 80%, transparent);
}