/*
Theme Name: Vanguards of the 14th Amendment
Theme URI: https://example.com
Author: [Your agency name]
Author URI: https://example.com
Description: Custom theme for the Vanguards of the 14th Amendment political committee. One-page homepage design (full-bleed photo hero, history, amendment quote, charter vision, donate) plus standard page/post templates.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: Unlicense (private/client theme, not distributed)
Text Domain: vanguards
*/

:root{
  --ink:#1B2430;
  --ink-soft:#2B3547;
  --parchment:#EDE4C8;
  --paper:#F7F2E4;
  --brass:#A17C3B;
  --brass-deep:#6E5024;
  --ledger:#33503F;
  --ledger-deep:#213A2C;
  --ledger-light:#8FAE9B;
  --text-on-parchment:#2A2416;
  --text-muted:rgba(42,36,22,0.62);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--text-on-parchment);
  font-family:'IBM Plex Sans',Arial,sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;}
.display{font-family:'Libre Caslon Display',Georgia,serif; font-weight:400;}
.serif{font-family:'Libre Caslon Text',Georgia,serif; font-weight:400;}
.mono{font-family:'IBM Plex Mono',Consolas,monospace;}
a{color:inherit;}
.wrap{max-width:1180px; margin:0 auto; padding:0 40px;}

/* ---------- NAV (plain bar above the hero, not overlaid) ---------- */
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:26px 40px; max-width:1180px; margin:0 auto;
  border-bottom:1px solid rgba(42,36,22,0.14);
  position:relative; z-index:5; background:var(--paper);
}
.nav-mark{
  display:flex; align-items:center; gap:12px;
  font-family:'Libre Caslon Text',Georgia,serif;
  font-size:15px;
  letter-spacing:0.08em;
  text-decoration:none;
  color:var(--text-on-parchment);
}
.nav-mark b{font-weight:400; border-bottom:1px solid var(--brass); padding-bottom:2px;}
.nav-seal{height:34px; width:auto; display:block;}
.nav-links{display:flex; align-items:center; gap:36px; list-style:none; margin:0; padding:0;}
.nav-links li{display:flex; align-items:center;}
.nav-links a{font-size:14px; text-decoration:none; color:var(--text-muted); transition:color .15s;}
.nav-links a:hover{color:var(--text-on-parchment);}
.btn{
  display:inline-block; font-family:'IBM Plex Sans',sans-serif; font-size:14px; font-weight:500;
  padding:11px 22px; border-radius:2px; text-decoration:none; cursor:pointer; border:1px solid transparent;
}
.btn-brass{background:var(--brass); color:var(--paper);}
.btn-brass:hover{background:var(--brass-deep);}
.btn-outline-light{background:transparent; border-color:rgba(237,228,200,0.55); color:var(--parchment);}
.btn-outline-light:hover{border-color:var(--parchment);}
.btn-outline{background:transparent; border-color:rgba(42,36,22,0.35); color:var(--text-on-parchment);}
.btn-outline:hover{border-color:var(--text-on-parchment);}

/* ---------- HERO: full-bleed photo (video later), content overlaid bottom-left ---------- */
.hero{
  position:relative; min-height:90vh; display:flex; align-items:flex-end;
  overflow:hidden; background:var(--ink);
}
.hero-bg{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;
  filter:grayscale(1) contrast(1.1) brightness(0.8);
}
.hero-tone{position:absolute; inset:0; background:var(--ink); mix-blend-mode:multiply; opacity:0.7;}
.hero-scrim{position:absolute; inset:0; background:linear-gradient(0deg, rgba(9,12,16,0.92) 0%, rgba(9,12,16,0.55) 38%, rgba(9,12,16,0.05) 72%);}
.hero-content{position:relative; z-index:2; padding:0 40px 76px; max-width:720px; width:100%;}
.hero-seal{width:112px; height:auto; margin-bottom:24px; filter:drop-shadow(0 2px 10px rgba(0,0,0,0.45));}
.hero-eyebrow{font-family:'Libre Caslon Text',serif; font-style:italic; font-size:15px; color:var(--ledger-light); margin:0 0 16px;}
.hero h1{font-size:54px; line-height:1.1; margin:0 0 20px; letter-spacing:-0.01em; color:var(--paper);}
.hero p{font-size:18px; color:rgba(237,228,200,0.82); max-width:520px; margin:0 0 30px;}
.hero-ctas{display:flex; align-items:center; gap:22px;}
.hero-ctas a.text-link{font-size:14px; text-decoration:underline; text-underline-offset:3px; color:var(--parchment);}
.hero-caption{
  position:absolute; right:24px; bottom:20px; z-index:2; color:rgba(237,228,200,0.7);
  font-family:'Libre Caslon Text',serif; font-style:italic; font-size:12.5px;
}

/* ---------- HISTORY / LEDGER (full-bleed parchment panel) ---------- */
.history{background:var(--parchment); padding:100px 0 90px;}
.history-grid{display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start;}
.section-label{
  font-family:'Libre Caslon Text',serif; font-style:italic; font-size:14px; color:var(--brass-deep); margin:0 0 14px;
}
.history h2{font-size:36px; margin:0 0 26px; line-height:1.2;}
.history p{font-size:17px; color:var(--text-on-parchment); margin:0 0 20px; max-width:460px;}
.history p.muted{color:var(--text-muted);}

.ledger{border-top:1px solid rgba(42,36,22,0.3);}
.ledger-row{
  display:flex; justify-content:space-between; align-items:baseline;
  padding:15px 0; border-bottom:1px solid rgba(42,36,22,0.16);
}
.ledger-row .label{font-size:14px; color:var(--text-muted);}
.ledger-row .value{font-family:'IBM Plex Mono',monospace; font-size:15px; color:var(--text-on-parchment);}

.inset{margin-top:36px; border:1px solid rgba(42,36,22,0.25); padding:14px; background:var(--paper);}
.inset img{width:100%; display:block; filter:sepia(0.25) contrast(1.05);}
.inset figcaption{font-family:'Libre Caslon Text',serif; font-style:italic; font-size:13px; color:var(--text-muted); margin:12px 4px 2px; line-height:1.5;}

/* ---------- AMENDMENT QUOTE (full-bleed ink panel) ---------- */
.amendment{background:var(--ink); color:var(--parchment); padding:110px 0;}
.amendment .wrap{max-width:840px;}
.amendment .section-label{color:var(--ledger-light);}
.amendment blockquote{
  font-family:'Libre Caslon Display',Georgia,serif; font-size:30px; line-height:1.5; margin:0 0 40px; font-weight:400;
}
.amendment-foot{display:flex; justify-content:space-between; align-items:flex-end; gap:40px; flex-wrap:wrap; border-top:1px solid rgba(237,228,200,0.22); padding-top:28px;}
.amendment-foot p{font-size:15px; color:rgba(237,228,200,0.72); max-width:440px; margin:0;}
.amendment-foot span{font-family:'IBM Plex Mono',monospace; font-size:13px; color:var(--ledger-light);}

/* ---------- VISION (full-bleed paper panel) ---------- */
.vision{background:var(--paper); padding:100px 0 90px;}
.vision-head{max-width:640px; margin-bottom:64px;}
.vision-head h2{font-size:36px; margin:0 0 18px; line-height:1.2;}
.vision-head p{font-size:17px; color:var(--text-muted); margin:0;}
.vision-cols{display:grid; grid-template-columns:repeat(3,1fr); gap:48px;}
.vcol{border-top:2px solid var(--ledger); padding-top:20px;}
.vcol .mono{font-size:13px; color:var(--brass-deep); display:block; margin-bottom:10px;}
.vcol h3{font-size:19px; margin:0 0 12px; font-weight:500; font-family:'IBM Plex Sans',sans-serif;}
.vcol p{font-size:15px; color:var(--text-muted); margin:0;}
.vision-note{margin-top:70px; padding-top:26px; border-top:1px solid rgba(42,36,22,0.16); font-size:14px; color:var(--text-muted); max-width:760px;}

/* ---------- JOIN (full-bleed accent panel, ledger green) ---------- */
.join{background:var(--ledger-deep); color:var(--parchment); padding:100px 0;}
.join-inner{display:flex; justify-content:space-between; align-items:center; gap:40px; flex-wrap:wrap;}
.join h2{font-size:36px; margin:0 0 12px; color:var(--paper);}
.join p{font-size:16px; color:rgba(237,228,200,0.75); margin:0; max-width:420px;}
.join-ctas{display:flex; gap:16px; flex-shrink:0;}

/* ---------- FOOTER (full-bleed ink, bookends the hero) ---------- */
footer{background:var(--ink); padding:44px 0 56px;}
footer p{font-size:12.5px; color:rgba(237,228,200,0.6); max-width:720px; margin:0 0 8px; line-height:1.6;}
footer .footer-links{margin-top:18px;}
footer .footer-links a{color:var(--ledger-light); text-decoration:underline; text-underline-offset:2px;}

/* ---------- GENERIC PAGE / POST CONTENT (page.php, single.php, index.php) ---------- */
.page-header{padding:80px 0 20px; border-bottom:1px solid rgba(42,36,22,0.14);}
.page-header h1{font-size:40px; margin:0;}
.entry-content{padding:50px 0 100px; max-width:760px; margin:0 auto;}
.entry-content .wrap{padding:0;}
.entry-content p{font-size:17px; margin:0 0 22px;}
.entry-content h2{font-size:28px; margin:40px 0 18px;}
.entry-content h3{font-size:21px; margin:32px 0 14px;}
.entry-content a{color:var(--brass-deep); text-decoration:underline;}
.entry-content img{border-radius:2px; margin:20px 0;}
.post-list{padding:60px 0 100px; display:flex; flex-direction:column; gap:48px;}
.post-list article{border-bottom:1px solid rgba(42,36,22,0.16); padding-bottom:44px;}
.post-list h2{font-size:26px; margin:0 0 10px;}
.post-list h2 a{text-decoration:none;}
.post-list .entry-meta{font-family:'IBM Plex Mono',monospace; font-size:12.5px; color:var(--text-muted); margin:0 0 14px;}
.post-list .entry-summary p{font-size:16px; color:var(--text-muted); margin:0 0 16px;}
.post-list .read-more{font-size:14px; text-decoration:underline; color:var(--brass-deep);}
.pagination{display:flex; gap:16px; padding:0 0 100px; font-size:14px;}
.pagination a{text-decoration:underline;}

@media (max-width:880px){
  .wrap{padding:0 24px;}
  .nav{padding:22px 24px;}
  .nav-links{display:none;}
  .hero{min-height:82vh;}
  .hero-content{padding:0 24px 56px;}
  .hero h1{font-size:36px;}
  .history-grid{grid-template-columns:1fr; gap:44px;}
  .vision-cols{grid-template-columns:1fr; gap:36px;}
  .amendment blockquote{font-size:23px;}
  .join-inner{flex-direction:column; align-items:flex-start;}
}
