/*
Theme Name: Church of Christ 1829-1834
Theme URI: https://example.com
Author: Church of Christ
Author URI: https://example.com
Description: A quiet, archival theme for documenting the Church of Christ from its 1829 formation to its 1834 name change — the Law of 1831, the Plat and House of 1833, and the presidencies, councils, and quorums recorded in the period minutes. Built around a parchment-and-ink palette, Fraunces/Newsreader/IBM Plex Mono type, and a signature interactive Plat diagram.
Version: 1.2.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pattern-for-zion
Tags: custom-colors, custom-menu, one-column, footer-widgets, translation-ready
*/

/* ==========================================================================
   DESIGN TOKENS
   ========================================================================== */
:root{
  --ink:#23201a;
  --ink-soft:#4a4335;
  --parchment:#f2ead9;
  --parchment-deep:#e6dabd;
  --parchment-line:#d8c9a3;
  --indigo:#1c2b45;
  --indigo-soft:#2c3e5c;
  --brass:#a9782f;
  --brass-bright:#c68f3d;
  --verdigris:#5c6e5a;
  --white:#fbf8f0;

  --font-display:'Fraunces', serif;
  --font-body:'Newsreader', serif;
  --font-mono:'IBM Plex Mono', monospace;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--parchment);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:17px;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.display{
  font-family:var(--font-display);
  font-weight:500;
  letter-spacing:-0.01em;
  color:var(--indigo);
  margin:0 0 0.5em;
}
p{line-height:1.65;color:var(--ink-soft);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.mono{font-family:var(--font-mono);letter-spacing:0.04em;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
@media(max-width:600px){.wrap{padding:0 20px;}}

/* screen-reader text (WP requirement) */
.screen-reader-text{
  position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);white-space:nowrap;
}

/* ==========================================================================
   SITE HEADER / NAV
   ========================================================================== */
#site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(28,43,69,0.97);
  backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(201,166,106,0.25);
}
/* The header needs more horizontal room than the page's content column
   (max-width:1180px on .wrap, above) to fit the full menu comfortably -
   it's a full-width bar, not body copy, so widening just this instance
   doesn't affect anything else on the page. */
#site-header .wrap{max-width:1400px;}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:88px;}
.brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;color:var(--white);line-height:1.15;flex-shrink:0;}
.brand-name{font-family:var(--font-display);font-size:23px;font-weight:500;letter-spacing:0.01em;color:var(--white);white-space:nowrap;}
.brand-dates{font-family:var(--font-display);font-size:23px;font-weight:400;letter-spacing:0.01em;color:rgba(251,248,240,0.55);white-space:nowrap;}
.brand:hover .brand-name,.brand:hover .brand-dates{color:var(--white);}

/* Scope banner: single-line statement of what the site is, ruled above and below */
.scope-banner{
  background:var(--parchment);
  border-top:1px solid var(--parchment-line);
  border-bottom:1px solid var(--parchment-line);
  text-align:center;
  padding:11px 16px;
}
.scope-banner span{
  display:inline-block;
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--ink-soft);
  white-space:nowrap;
}
@media(max-width:600px){
  .scope-banner span{white-space:normal;font-size:11px;letter-spacing:0.1em;}
}

/* Nav menu: horizontal at desktop widths (>700px), collapsing to the
   hamburger dropdown below that. The 700px threshold was measured
   empirically against this exact menu content (4 items: Chronology,
   The Law, The Plat, The House) plus the brand and icons - the menu's
   natural min-content width sits around 640px, so 700px leaves a safety
   margin for font-rendering variance across browsers/OSes. If nav items
   are added or renamed later, re-measure rather than assuming this still
   holds. white-space:nowrap on the brand text (above) is a second safety
   net: even if this menu content grows later and the breakpoint isn't
   revisited, the brand can no longer wrap into a second/third line and
   overflow the fixed-height header - the nav row will just get tight or
   (below the breakpoint) hand off to the hamburger. */
.primary-menu{
  display:flex;
  gap:22px;
  list-style:none;
  margin:0;
  padding:0;
}
.primary-menu li{position:relative;}
.primary-menu a{
  display:inline-block;
  color:rgba(251,248,240,0.75);
  font-family:var(--font-mono);
  font-size:12.5px;letter-spacing:0.08em;text-transform:uppercase;
  transition:color .2s;
  padding-bottom:4px;border-bottom:1px solid transparent;
  white-space:nowrap;
}
.primary-menu a:hover,.primary-menu .current-menu-item>a{color:var(--white);border-color:var(--brass-bright);}
.nav-right{display:flex;align-items:center;gap:22px;color:rgba(251,248,240,0.6);}
.nav-right svg{width:17px;height:17px;}
.search-toggle{background:none;border:none;padding:0;color:inherit;cursor:pointer;display:flex;align-items:center;}
.search-toggle:hover,.search-toggle[aria-expanded="true"]{color:var(--white);}
.menu-toggle{display:none;align-items:center;background:none;border:none;color:var(--white);cursor:pointer;}

/* Expanding search field, anchored under the header */
.site-search{
  position:absolute;top:100%;left:0;right:0;z-index:2;
  display:flex;align-items:center;gap:10px;
  max-height:0;overflow:hidden;opacity:0;
  background:var(--indigo);border-bottom:1px solid rgba(201,166,106,0.25);
  transition:max-height .25s ease, opacity .2s ease, padding .25s ease;
  padding:0 32px;
}
.site-search.is-open{max-height:64px;opacity:1;padding:14px 32px;}
.site-search input[type="search"]{
  flex:1;background:none;border:none;border-bottom:1px solid rgba(251,248,240,0.3);
  color:var(--white);font-family:var(--font-mono);font-size:14px;padding:6px 2px;
}
.site-search input[type="search"]:focus{outline:none;border-color:var(--brass-bright);}
.site-search input[type="search"]::placeholder{color:rgba(251,248,240,0.4);}
.site-search button[type="submit"]{background:none;border:none;color:rgba(251,248,240,0.7);cursor:pointer;display:flex;}
.site-search button[type="submit"]:hover{color:var(--brass-bright);}
.site-search svg{width:17px;height:17px;}

@media(max-width:700px){
  .primary-menu{display:none;flex-direction:column;gap:0;position:absolute;top:88px;left:0;right:0;background:var(--indigo);padding:8px 32px 20px;}
  .primary-menu.is-open{display:flex;}
  .primary-menu a{display:block;padding:12px 0;border-bottom:1px solid rgba(251,248,240,0.1);}
  .menu-toggle{display:flex;}
}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{
  padding:88px 0 70px;
  background:
    radial-gradient(ellipse 900px 500px at 85% 8%, rgba(169,120,47,0.10), transparent 60%),
    var(--parchment);
  border-bottom:1px solid var(--parchment-line);
}
.hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:64px;align-items:center;}
.eyebrow{
  font-family:var(--font-mono);font-size:12px;letter-spacing:0.14em;
  color:var(--brass);text-transform:uppercase;margin-bottom:18px;display:block;
}
.hero h1{font-size:52px;line-height:1.08;margin-bottom:22px;}
.hero h1 em{font-style:italic;color:var(--brass);font-weight:400;}
.hero p{font-size:17.5px;max-width:480px;margin-bottom:34px;}
.cta-row{display:flex;gap:16px;flex-wrap:wrap;}
@media(max-width:820px){.hero-grid{grid-template-columns:1fr;}.hero h1{font-size:38px;}}

.btn{
  display:inline-flex;align-items:center;gap:9px;
  padding:14px 26px;font-family:var(--font-mono);font-size:12.5px;
  letter-spacing:0.07em;text-transform:uppercase;border-radius:2px;
  transition:transform .15s, box-shadow .15s, background .15s, border-color .15s;
  cursor:pointer;border:none;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--indigo);color:var(--white);}
.btn-primary:hover{background:var(--indigo-soft);}
.btn-ghost{background:transparent;color:var(--indigo);border:1px solid var(--parchment-line);}
.btn-ghost:hover{border-color:var(--indigo);}

/* signature plat diagram */
.plat-signature{position:relative;}
.plat-caption{font-family:var(--font-mono);font-size:11px;color:var(--ink-soft);text-align:center;margin-top:14px;letter-spacing:0.04em;}
.plat-frame{background:var(--white);border:1px solid var(--parchment-line);padding:14px;box-shadow:0 18px 40px -20px rgba(28,43,69,0.35);}
.plat-image-wrap{position:relative;line-height:0;}
.plat-image{width:100%;height:auto;display:block;}
/* ==========================================================================
   SECTIONS
   ========================================================================== */
.section{padding:84px 0;}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:44px;flex-wrap:wrap;}
.section-head h2{font-size:32px;}
.section-head .sub{color:var(--ink-soft);font-size:15px;max-width:420px;margin:0;}

/* timeline strip */
.timeline-strip{background:var(--indigo);color:var(--white);padding:104px 0;}
.timeline-strip .section-head{margin-bottom:56px;}
.timeline-strip .section-head h2{color:var(--white);font-size:42px;}
.timeline-strip .section-head .sub{color:rgba(251,248,240,0.6);font-size:16px;max-width:460px;}
.tl-row{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:rgba(251,248,240,0.15);}
.tl-item{background:var(--indigo);padding:26px 22px;cursor:pointer;border-top:2px solid rgba(251,248,240,0.2);transition:border-color .2s, background .2s;}
.tl-item.active{border-top-color:var(--brass-bright);background:var(--indigo-soft);}
.tl-item:focus-visible{outline:2px solid var(--brass-bright);outline-offset:-2px;}
.tl-year{font-family:var(--font-mono);font-size:12px;color:var(--brass-bright);margin-bottom:8px;display:block;}
.tl-title{font-family:var(--font-display);font-size:17px;margin-bottom:0;color:var(--white);}
.tl-detail{max-height:0;overflow:hidden;transition:max-height .3s ease, margin .3s ease;font-size:14px;color:rgba(251,248,240,0.75);line-height:1.6;}
.tl-detail p{margin:0 0 10px;color:rgba(251,248,240,0.85);}
.tl-read{
  display:inline-block;font-family:var(--font-mono);font-size:11.5px;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--brass-bright);border-bottom:1px solid transparent;
}
.tl-read:hover{border-bottom-color:var(--brass-bright);}
.tl-item.active .tl-detail{max-height:400px;margin-top:12px;}
@media(max-width:1100px){.tl-row{grid-template-columns:repeat(3,1fr);}}
@media(max-width:920px){.tl-row{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.tl-row{grid-template-columns:1fr;}}

/* quick links strip */
.quicklinks{border-top:1px solid var(--parchment-line);border-bottom:1px solid var(--parchment-line);}
.ql-row{display:grid;grid-template-columns:repeat(4,1fr);}
.ql-item{padding:30px 32px;display:flex;gap:16px;align-items:flex-start;border-right:1px solid var(--parchment-line);color:inherit;text-decoration:none;transition:background .15s ease;}
.ql-item:hover{background:rgba(28,43,69,0.03);}
.ql-item:hover h4{color:var(--brass);}
.ql-item:last-child{border-right:none;}
.ql-item svg{width:22px;height:22px;flex-shrink:0;color:var(--brass);margin-top:2px;}
.ql-item h4{font-family:var(--font-display);font-size:16px;color:var(--indigo);margin:0 0 4px;font-weight:500;transition:color .15s ease;}
.ql-item p{margin:0;font-size:13px;line-height:1.5;color:var(--ink-soft);}
@media(max-width:820px){.ql-row{grid-template-columns:1fr 1fr;}.ql-item{border-bottom:1px solid var(--parchment-line);}}

/* generic content page (page.php / single.php) */
.page-header{padding:64px 0 32px;border-bottom:1px solid var(--parchment-line);}
.page-header .eyebrow{margin-bottom:14px;}
.page-header h1{font-size:40px;}
.entry-content{padding:56px 0;max-width:760px;margin:0 auto;}
.entry-content h2{font-size:26px;margin-top:1.6em;color:var(--indigo);font-family:var(--font-display);font-weight:500;}
.entry-content h3{font-size:20px;margin-top:1.4em;color:var(--indigo);font-family:var(--font-display);font-weight:500;}
.entry-content p{font-size:16.5px;margin-bottom:1.2em;color:var(--ink-soft);}
.entry-content li{color:var(--ink-soft);}
.entry-content strong{color:var(--ink);}
.entry-content a{color:var(--indigo);text-decoration:underline;text-decoration-color:var(--parchment-line);text-underline-offset:2px;transition:color .15s ease, text-decoration-color .15s ease;}
.entry-content a:hover{color:var(--brass-bright);text-decoration-color:var(--brass-bright);}
.entry-content blockquote{
  margin:2em 0;padding:18px 24px;border-left:3px solid var(--brass);
  background:var(--white);font-style:italic;color:var(--ink-soft);
}
.entry-content table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:15px;}
.entry-content th,.entry-content td{border:1px solid var(--parchment-line);padding:10px 12px;text-align:left;}
.entry-content th{background:var(--parchment-deep);font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:0.05em;}

/* Full Chronology page: a real, linkable version of the tiered date meter */
.chrono-legend{display:flex;gap:24px;flex-wrap:wrap;margin:1.6em 0 2.2em;font-family:var(--font-mono);font-size:12px;color:var(--ink-soft);}
.chrono-legend span{display:inline-flex;align-items:center;gap:8px;}
.chrono-dot{display:inline-block;border-radius:50%;background:var(--brass);}
.chrono-dot-1{width:13px;height:13px;background:var(--brass-bright);}
.chrono-dot-2{width:8px;height:8px;background:var(--brass);}
.chrono-dot-3{width:4px;height:4px;background:var(--ink-soft);opacity:.7;}

.chrono-list{list-style:none;margin:0 0 0 6px;padding:0;border-left:1px solid var(--parchment-line);}
.chrono-year-label{
  font-family:var(--font-mono);font-size:12px;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--brass);margin:34px 0 4px 22px;
}
.chrono-year-label:first-child{margin-top:0;}
.chrono-item{position:relative;padding:10px 0 10px 26px;}
.chrono-item::before{content:'';position:absolute;top:14px;left:-1px;transform:translateX(-50%);border-radius:50%;background:var(--brass);}
.chrono-item.tier-1::before{width:13px;height:13px;background:var(--brass-bright);}
.chrono-item.tier-2::before{width:8px;height:8px;background:var(--brass);}
.chrono-item.tier-3::before{width:4px;height:4px;background:var(--ink-soft);opacity:.7;}
.chrono-date{display:block;font-family:var(--font-mono);font-size:11.5px;letter-spacing:0.03em;color:var(--ink-soft);margin-bottom:2px;}
.chrono-label{display:block;font-size:13.5px;color:var(--ink-soft);}
.chrono-item.tier-2 .chrono-label{font-size:15px;color:var(--ink);}
.chrono-link{text-decoration:none;color:inherit;display:block;}
.chrono-title{display:block;font-family:var(--font-display);font-size:20px;font-weight:500;color:var(--indigo);}
.chrono-link:hover .chrono-title{color:var(--brass);}
.chrono-sub{margin:2px 0 0;font-size:13.5px;color:var(--ink-soft);}
.chrono-narration{margin:8px 0 0;font-size:14.5px;line-height:1.65;color:var(--ink-soft);max-width:640px;}
.chrono-item.tier-1 .chrono-narration{color:var(--ink);font-size:15px;}
.chrono-paper-link{
  display:inline-block;margin-top:10px;font-family:var(--font-mono);font-size:11.5px;
  letter-spacing:0.05em;text-transform:uppercase;color:var(--brass);text-decoration:none;
}
.chrono-paper-link:hover{color:var(--brass-bright);}

/* Dates-only page: collapsed by default, click to reveal just the fact */
.chrono-toggle{cursor:pointer;}
.chrono-toggle:focus-visible{outline:2px solid var(--brass-bright);outline-offset:2px;border-radius:2px;}
.chrono-fact{max-height:0;overflow:hidden;opacity:0;transition:max-height .25s ease, opacity .2s ease, margin .25s ease;}
.chrono-fact p{margin:0;font-size:14px;line-height:1.55;color:var(--ink-soft);}
.chrono-item.tier-1 .chrono-fact p{color:var(--ink);font-size:14.5px;}
.chrono-toggle.is-open .chrono-fact{max-height:500px;opacity:1;margin-top:8px;}
.chrono-toggle .chrono-title,.chrono-toggle .chrono-label{position:relative;}
.chrono-toggle .chrono-title::after,.chrono-toggle .chrono-label::after{
  content:'+';display:inline-block;margin-left:8px;font-family:var(--font-mono);color:var(--brass);
  transition:transform .2s ease;
}
.chrono-toggle.is-open .chrono-title::after,.chrono-toggle.is-open .chrono-label::after{transform:rotate(45deg);}
.chrono-flag{
  margin-top:8px !important;padding:8px 12px;background:var(--parchment-deep);
  border-left:2px solid var(--brass);border-radius:0;
  font-size:12.5px !important;color:var(--ink-soft) !important;
}

/* footer widgets */
.footer-widgets{background:var(--parchment-deep);padding:56px 0;border-top:1px solid var(--parchment-line);}
.footer-widgets .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
.footer-widgets h3{font-size:16px;margin-bottom:16px;}
@media(max-width:820px){.footer-widgets .wrap{grid-template-columns:1fr;}}

/* ==========================================================================
   SITE FOOTER
   ========================================================================== */
#site-footer{background:var(--indigo);color:rgba(251,248,240,0.85);padding:56px 0 26px;}
.footer-top{padding-bottom:40px;border-bottom:1px solid rgba(251,248,240,0.15);}
.footer-quote{font-family:var(--font-display);font-style:italic;font-size:19px;max-width:420px;color:var(--white);line-height:1.5;}
.footer-quote cite{display:block;font-family:var(--font-mono);font-style:normal;font-size:11.5px;color:var(--brass-bright);margin-top:10px;letter-spacing:0.06em;}
/* scroll reveal (progressive enhancement, no-js safe) */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
.no-js .reveal{opacity:1;transform:none;}

/* WordPress core alignment classes */
.alignwide{max-width:1180px;margin-left:auto;margin-right:auto;}
.alignfull{max-width:none;width:100%;}
.wp-caption-text{font-family:var(--font-mono);font-size:11px;color:var(--ink-soft);text-align:center;margin-top:8px;}

/* ==========================================================================
   INTERACTIVE PLAT (page-interactive-plat.php)
   ========================================================================== */
.zion-interactive-plat{max-width:1180px;}
.zion-interactive-plat .intro{max-width:640px;font-size:16.5px;line-height:1.6;color:var(--ink-soft);margin:0 0 30px;}
.zip-stage{display:grid;grid-template-columns:1fr 300px;gap:28px;align-items:start;}
@media (max-width:880px){.zip-stage{grid-template-columns:1fr;}}
.zip-frame{background:var(--white);border:1px solid var(--parchment-line);border-radius:4px;padding:20px;box-shadow:0 1px 3px rgba(35,32,26,0.08);}
.zip-frame svg{width:100%;height:auto;display:block;}
.zip-block{fill:var(--white);stroke:var(--ink);stroke-width:1;cursor:pointer;transition:fill .15s ease;}
.zip-block:hover,.zip-block.active{fill:#fff9ea;stroke:var(--brass);stroke-width:1.6;}
.zip-block.zip-storehouse{fill:#c9946b;stroke:#a8734b;}
.zip-block.zip-storehouse:hover,.zip-block.zip-storehouse.active{fill:#d6a67c;stroke:var(--brass-bright);}
.zip-temple-block{fill:#c9946b;stroke:#a8734b;stroke-width:1;}
.zip-lot-line{stroke:var(--parchment-line);stroke-width:0.6;}
.zip-temple-cell{fill:#e0b78d;stroke:#a8734b;stroke-width:0.8;cursor:pointer;transition:fill .15s ease;}
.zip-temple-cell:hover,.zip-temple-cell.active{fill:#f0cda3;stroke:var(--brass-bright);stroke-width:1.4;}
.zip-temple-num{font-family:var(--font-mono);font-size:9px;fill:var(--ink);pointer-events:none;text-anchor:middle;dominant-baseline:middle;}
.zip-first-marker{fill:none;stroke:var(--indigo);stroke-width:1.4;pointer-events:none;}
.zip-dim-line{stroke:var(--ink-soft);stroke-width:1;stroke-dasharray:3,2;}
.zip-dim-label{font-family:var(--font-mono);font-size:11px;fill:var(--ink-soft);text-anchor:middle;}
.zip-compass-label{font-family:var(--font-display);font-size:15px;font-style:italic;fill:var(--indigo);text-anchor:middle;}
.zip-compass-box{fill:var(--white);stroke:var(--ink-soft);stroke-width:1;}
.zip-margin-band{fill:var(--parchment-deep);opacity:0.55;}
.zip-margin-band:hover{opacity:0.85;}
.zip-panel{background:var(--white);border:1px solid var(--parchment-line);border-radius:4px;padding:20px 22px;position:sticky;top:20px;min-height:260px;}
.zip-panel-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--brass);margin:0 0 8px;}
.zip-panel h2{font-family:var(--font-display);font-size:20px;margin:0 0 10px;color:var(--indigo);}
.zip-panel p{font-size:15px;line-height:1.55;color:var(--ink-soft);margin:0 0 10px;}
.zip-panel .zip-hint{color:var(--ink-soft);font-style:italic;opacity:0.75;}
.zip-legend{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0 0;font-family:var(--font-mono);font-size:11.5px;color:var(--ink-soft);}
.zip-legend-item{display:flex;align-items:center;gap:6px;}
.zip-swatch{width:13px;height:13px;border-radius:2px;display:inline-block;border:1px solid rgba(0,0,0,0.25);}
.zip-explain-toggle{margin-top:22px;font-family:var(--font-mono);font-size:12.5px;color:var(--indigo);background:none;border:1px solid var(--parchment-line);padding:8px 14px;border-radius:3px;cursor:pointer;}
.zip-explain-toggle:hover{border-color:var(--brass);}
.zip-explain-box{display:none;margin-top:14px;padding:16px 20px;background:var(--parchment-deep);border-left:3px solid var(--brass);font-family:var(--font-body);font-style:italic;font-size:14.5px;line-height:1.6;color:var(--ink-soft);}
.zip-explain-box.open{display:block;}
.zip-source-note{margin-top:10px;font-family:var(--font-mono);font-size:11.5px;color:var(--ink-soft);opacity:0.8;}
.zip-cta{display:inline-flex;align-items:center;gap:8px;margin:0 0 30px;padding:12px 20px;background:var(--indigo);color:var(--white);text-decoration:none;font-family:var(--font-mono);font-size:13px;letter-spacing:0.02em;border-radius:3px;transition:background .15s ease;}
.zip-cta:hover{background:var(--indigo-soft);color:var(--white);}

/* ==========================================================================
   RELATED PAGES (cross-links appended to each content page)
   ========================================================================== */
.unattributed-author{color:var(--brass);font-style:italic;}

.related-pages{margin-top:56px;padding-top:32px;border-top:1px solid var(--parchment-line);}
.related-pages-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--brass);margin:0 0 14px;}
.related-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;}
.related-link{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--white);border:1px solid var(--parchment-line);border-radius:4px;text-decoration:none;color:var(--ink);transition:border-color .15s ease, transform .15s ease;}
.related-link:hover{border-color:var(--brass);transform:translateX(2px);}
.related-link-title{font-family:var(--font-display);font-size:15px;color:var(--indigo);}
.related-link-arrow{font-family:var(--font-mono);color:var(--brass);}
