/* Archives in Love and War · Shared Styles · Build Site Theme */
:root {
  --forest: #2D5016; --forest-mid: #3a6b1e;
  --forest-faint: rgba(45,80,22,0.06); --forest-rule: rgba(45,80,22,0.16);
  --forest-rule-strong: rgba(45,80,22,0.3);
  --offwhite: #F8F8F6; --warm: #F2F2EE;
  --ink: #1a1a18; --ink-mid: #3a3a36; --ink-soft: #6a6a64;
  --sans: 'DM Sans', sans-serif; --mono: 'DM Mono', monospace;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--offwhite);color:var(--ink);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased;}

/* NAV */
.site-nav{position:sticky;top:0;z-index:100;background:var(--forest);display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:52px;border-bottom:1px solid rgba(255,255,255,0.08);}
.nav-brand{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:rgba(248,248,246,.6);text-decoration:none;transition:color .2s;}
.nav-brand:hover{color:var(--offwhite);}
.nav-links{display:flex;align-items:center;gap:2px;}
.nav-link{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:rgba(248,248,246,.45);text-decoration:none;padding:6px 10px;border-radius:2px;transition:all .15s;}
.nav-link:hover,.nav-link.active{color:var(--offwhite);background:rgba(255,255,255,.1);}
.nav-donate{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--offwhite);background:rgba(255,255,255,.15);text-decoration:none;padding:6px 14px;border-radius:2px;margin-left:8px;transition:background .2s;}
.nav-donate:hover{background:rgba(255,255,255,.25);}
.nav-hamburger{display:none;background:none;border:none;color:var(--offwhite);font-size:18px;cursor:pointer;}

/* HERO */
.page-hero{background:var(--forest);padding:72px 40px 64px;position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 39px,rgba(255,255,255,.025) 39px,rgba(255,255,255,.025) 40px);pointer-events:none;}
.hero-inner{max-width:860px;margin:0 auto;position:relative;}
.hero-eye{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(248,248,246,.35);margin-bottom:24px;}
.hero-title{font-size:clamp(36px,5.5vw,64px);font-weight:300;line-height:1.05;letter-spacing:-.025em;color:var(--offwhite);margin-bottom:16px;}
.hero-title em{font-style:italic;}
.hero-sub{font-size:16px;color:rgba(248,248,246,.6);line-height:1.55;margin-bottom:32px;}
.hero-quote{border-left:2px solid rgba(248,248,246,.2);padding:18px 0 18px 28px;margin-top:32px;}
.hero-quote p{font-size:18px;font-style:italic;font-weight:300;color:rgba(248,248,246,.85);line-height:1.5;margin-bottom:10px;}
.hero-quote cite{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:rgba(248,248,246,.3);font-style:normal;}

/* LAYOUT */
.wrap{max-width:860px;margin:0 auto;padding:0 40px;}
.section{padding:56px 0;border-bottom:1px solid var(--forest-rule);}
.section:last-child{border-bottom:none;}
.sec-label{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--forest);margin-bottom:20px;display:flex;align-items:center;gap:12px;}
.sec-label::after{content:'';flex:1;height:1px;background:var(--forest-rule-strong);}
.sec-title{font-size:26px;font-weight:400;letter-spacing:-.012em;line-height:1.25;color:var(--ink);margin-bottom:18px;}
.sec-title em{font-style:italic;}
.sec-body{font-size:15px;line-height:1.8;color:var(--ink-mid);}
.sec-body p{margin-bottom:16px;}
.sec-body p:last-child{margin-bottom:0;}

/* PULL QUOTE */
.pull{border-left:3px solid var(--forest);padding:18px 0 18px 28px;margin:32px 0;}
.pull p{font-size:19px;font-style:italic;font-weight:300;color:var(--ink);line-height:1.45;margin-bottom:10px;}
.pull cite{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--ink-soft);font-style:normal;}

/* INFO GRID */
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--forest-rule);border:1px solid var(--forest-rule);margin:24px 0;}
.info-cell{background:var(--offwhite);padding:18px 22px;}
.info-cell.full{grid-column:1/-1;}
.info-key{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--forest);margin-bottom:5px;}
.info-val{font-size:14px;line-height:1.55;color:var(--ink);}

/* SOURCE BLOCK */
.source-block{background:var(--forest);padding:32px;margin:28px 0;}
.source-label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(248,248,246,.35);margin-bottom:16px;}
.source-text{font-family:var(--mono);font-size:13px;font-style:italic;line-height:1.85;color:rgba(248,248,246,.88);border-left:2px solid rgba(248,248,246,.2);padding-left:20px;margin-bottom:14px;}
.source-cite{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:rgba(248,248,246,.3);}

/* LIST */
.item-list{list-style:none;margin:16px 0;}
.item-list li{font-size:15px;line-height:1.65;color:var(--ink-mid);padding:11px 0 11px 20px;border-bottom:1px solid var(--forest-rule);position:relative;}
.item-list li:last-child{border-bottom:none;}
.item-list li::before{content:'·';position:absolute;left:0;color:var(--forest);font-family:var(--mono);font-weight:600;}

/* FOOTER */
footer{background:var(--forest);color:rgba(248,248,246,.6);padding:28px 40px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;}
footer .foot-col{display:flex;flex-direction:column;gap:5px;}
footer .foot-col.right{text-align:right;align-items:flex-end;}
footer .foot-line{color:rgba(248,248,246,.55);}
footer .foot-line.dim{color:rgba(248,248,246,.32);}
footer a{color:rgba(248,248,246,.78);text-decoration:none;border-bottom:1px solid rgba(248,248,246,.2);transition:color .15s;}
footer a:hover{color:var(--offwhite);border-bottom-color:rgba(248,248,246,.5);}

/* IMAGE PATTERNS */
.img-hero{width:100%;max-width:680px;margin:32px auto;background:var(--forest-faint);overflow:hidden;position:relative;}
.img-hero img{width:100%;height:auto;display:block;}
.img-hero figcaption{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink-soft);padding:12px 4px;}
.img-inline{margin:32px auto;max-width:560px;}
.img-inline img{width:100%;height:auto;display:block;background:var(--forest-faint);}
.img-inline figcaption{font-family:var(--mono);font-size:11px;line-height:1.6;letter-spacing:.04em;color:var(--ink-soft);padding-top:10px;border-top:1px solid var(--forest-rule);margin-top:10px;}
.img-inline figcaption strong{color:var(--forest);font-weight:500;}
.img-side{float:right;width:240px;margin:6px 0 16px 28px;shape-outside:margin-box;}
.img-side img{width:100%;height:auto;display:block;background:var(--forest-faint);}
.img-side figcaption{font-family:var(--mono);font-size:10px;line-height:1.55;letter-spacing:.04em;color:var(--ink-soft);padding-top:8px;border-top:1px solid var(--forest-rule);margin-top:8px;}
.img-side figcaption strong{color:var(--forest);font-weight:500;}

/* PILLAR CARDS */
.pillar-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--forest-rule);border:1px solid var(--forest-rule);margin:32px 0;}
.pillar-card{background:var(--warm);padding:24px 26px;border-left:3px solid var(--forest);position:relative;}
.pillar-num{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--forest);margin-bottom:12px;line-height:1.4;}
.pillar-body{font-size:13.5px;line-height:1.7;color:var(--ink-mid);}
@media(max-width:700px){.pillar-grid{grid-template-columns:1fr;}}
@media(max-width:700px){.img-hero,.img-inline{max-width:100%;}.img-hero figcaption{padding:12px 4px;}.img-side{float:none;width:100%;margin:24px 0;}}

/* MOBILE */
@media(max-width:700px){
  .site-nav{padding:0 20px;}
  .nav-links{display:none;flex-direction:column;position:absolute;top:52px;left:0;right:0;background:var(--forest);padding:16px 20px;}
  .site-nav.open .nav-links{display:flex;}
  .nav-hamburger{display:block;}
  .page-hero{padding:48px 20px 40px;}
  .wrap{padding:0 20px;}
  .info-grid{grid-template-columns:1fr;}
  footer{flex-direction:column;text-align:left;padding:24px 20px;gap:14px;}
  footer .foot-col.right{text-align:left;align-items:flex-start;}
}
