@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Public+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

:root{
  --cream:#FBF7EC;
  --sand:#F0E7CE;
  --forest:#1E4536;
  --forest-deep:#12291F;
  --gold:#C6952C;
  --brick:#A63D2A;
  --ink:#262A20;
  --ink-soft:#565B4C;
  --white:#FFFFFF;
  --line: rgba(38,42,32,0.12);
  --radius: 4px;
  --max: 1120px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'Public Sans', -apple-system, sans-serif;
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{
  font-family:'Fraunces', Georgia, serif;
  font-weight:600;
  color:var(--forest-deep);
  line-height:1.12;
  margin:0 0 0.5em;
  letter-spacing:-0.01em;
}
h1{font-size:clamp(2.4rem, 5vw, 4rem); font-weight:600;}
h2{font-size:clamp(1.7rem, 3.2vw, 2.5rem);}
h3{font-size:1.3rem;}
p{margin:0 0 1.1em; color:var(--ink);}
a{color:var(--forest); text-decoration-thickness:1.5px; text-underline-offset:3px;}
a:focus-visible, button:focus-visible, .btn:focus-visible{outline:3px solid var(--gold); outline-offset:2px;}
img{max-width:100%; display:block;}
.mono{font-family:'JetBrains Mono', monospace; letter-spacing:-0.02em;}

.wrap{max-width:var(--max); margin:0 auto; padding:0 28px;}
.eyebrow{
  font-family:'JetBrains Mono', monospace;
  text-transform:uppercase;
  letter-spacing:0.14em;
  font-size:0.72rem;
  color:var(--brick);
  margin-bottom:0.9em;
  display:inline-block;
}

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:var(--cream);
  border-bottom:1px solid var(--line);
}
.site-header .wrap{
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding-top:14px; padding-bottom:14px;
}
.brand{display:flex; align-items:center; gap:9px; text-decoration:none; min-width:0;}
.brand-mark{width:28px; height:28px; flex:none;}
.brand-name{
  font-family:'Fraunces', serif; font-weight:600; font-size:0.98rem;
  color:var(--forest-deep); line-height:1.15; white-space:nowrap;
}
.brand-name span{display:block; font-family:'JetBrains Mono', monospace; font-weight:400; font-size:0.58rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-soft); margin-top:2px; white-space:nowrap;}

nav.main-nav{display:flex; align-items:center; gap:24px; flex:none;}
nav.main-nav a:not(.btn){
  color:var(--ink); text-decoration:none; font-weight:600; font-size:0.92rem;
  padding:6px 2px; border-bottom:2px solid transparent; white-space:nowrap;
}
nav.main-nav a:not(.btn):hover, nav.main-nav a:not(.btn)[aria-current="page"]{border-bottom-color:var(--gold); color:var(--forest-deep);}
nav.main-nav a.btn{margin-left:4px; white-space:nowrap;}

.nav-toggle{display:none; background:none; border:1px solid var(--line); border-radius:var(--radius); padding:8px 10px; cursor:pointer;}

.btn{
  display:inline-block; padding:12px 24px; border-radius:3px;
  font-weight:700; font-size:0.95rem; text-decoration:none;
  border:2px solid transparent; cursor:pointer; font-family:'Public Sans',sans-serif;
  transition: transform .12s ease; line-height:1.2;
}
.btn:hover{transform:translateY(-1px);}
.btn-donate{background:var(--brick); color:var(--white) !important; border-color:var(--brick) !important; border-bottom-width:2px !important;}
.btn-donate:hover{background:#8f3221; border-color:#8f3221 !important; color:var(--white) !important;}
nav.main-nav .btn-donate{padding:10px 20px !important; font-size:0.9rem;}
.btn-outline{background:transparent; color:var(--forest-deep); border-color:var(--forest-deep);}
.btn-outline:hover{background:var(--forest-deep); color:var(--white);}
.btn-ghost{background:transparent; color:var(--white); border-color:rgba(255,255,255,0.55);}
.btn-ghost:hover{background:rgba(255,255,255,0.12);}

/* ---------- Hero ---------- */
.hero{
  background:var(--forest);
  color:var(--white);
  padding:76px 0 60px;
  position:relative;
  overflow:hidden;
}
.hero .wrap{position:relative; z-index:2; display:grid; grid-template-columns:1.15fr 0.85fr; gap:48px; align-items:center;}
.hero h1{color:var(--white); margin-bottom:0.4em;}
.hero .lede{font-size:1.15rem; color:#DCE7DE; max-width:46ch;}
.hero .cta-row{display:flex; gap:14px; margin-top:28px; flex-wrap:wrap;}
.hero-stats{display:flex; gap:0; border-top:1px solid rgba(255,255,255,0.18); margin-top:44px; padding-top:22px;}
.hero-stats .wrap{padding:0; display:flex; gap:44px;}
.stat{}
.stat b{display:block; font-family:'JetBrains Mono',monospace; font-size:1.7rem; color:var(--gold);}
.stat span{font-size:0.85rem; color:#C7D6CB;}

.grain-art{width:100%; height:auto;}

/* torn-edge divider, food/bread motif */
.torn-divider{display:block; width:100%; height:34px; margin:0;}
.torn-cream-to-sand path{fill:var(--sand);}
.torn-sand-to-cream path{fill:var(--cream);}
.torn-forest-to-cream path{fill:var(--cream);}
.torn-cream-to-forest path{fill:var(--forest);}

section{padding:70px 0;}
.section-sand{background:var(--sand);}
.section-forest{background:var(--forest); color:var(--white);}
.section-forest h2{color:var(--white);}
.section-forest p{color:#DCE7DE;}

.section-head{max-width:640px; margin-bottom:44px;}

/* ---------- Cards ---------- */
.grid{display:grid; gap:26px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}

.card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
  padding:30px 28px;
}
.card .icon{width:38px; height:38px; margin-bottom:16px; color:var(--brick);}
.card h3{margin-bottom:0.5em;}
.card p{color:var(--ink-soft); margin-bottom:0;}

.quote-block{
  border-left:3px solid var(--gold); padding-left:26px; font-family:'Fraunces',serif;
  font-size:1.35rem; font-style:italic; color:var(--forest-deep); max-width:60ch;
}
.quote-block cite{display:block; font-family:'Public Sans',sans-serif; font-style:normal; font-size:0.85rem; color:var(--ink-soft); margin-top:14px;}

/* ---------- Footer ---------- */
footer.site-footer{background:var(--forest-deep); color:#C7D6CB; padding:56px 0 30px;}
footer.site-footer h4{color:var(--white); font-family:'Public Sans',sans-serif; font-size:0.8rem; text-transform:uppercase; letter-spacing:0.1em; margin-bottom:14px;}
footer.site-footer a{color:#C7D6CB; text-decoration:none;}
footer.site-footer a:hover{color:var(--gold);}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px;}
.footer-grid p{color:#9FAE9E; font-size:0.92rem;}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.12); margin-top:40px; padding-top:22px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:0.82rem; color:#8AA093;}
.ein-badge{font-family:'JetBrains Mono',monospace; font-size:0.78rem; color:#8AA093;}

/* ---------- Generic page hero (inner pages) ---------- */
.page-hero{background:var(--forest); color:var(--white); padding:56px 0 48px;}
.page-hero h1{color:var(--white); margin-bottom:0.3em;}
.page-hero p{color:#DCE7DE; max-width:60ch; font-size:1.05rem;}
.breadcrumb{font-family:'JetBrains Mono',monospace; font-size:0.75rem; text-transform:uppercase; letter-spacing:0.1em; color:var(--gold); margin-bottom:14px; display:block;}

/* ---------- Content pages (policy pages) ---------- */
.prose{max-width:74ch;}
.prose h2{margin-top:1.6em;}
.prose h3{margin-top:1.3em;}
.prose ul, .prose ol{padding-left:1.3em;}
.prose li{margin-bottom:0.5em;}

.fact-list{list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:14px 28px;}
.fact-list li{border-bottom:1px solid var(--line); padding-bottom:12px;}
.fact-list b{display:block; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.08em; color:var(--ink-soft); font-weight:600; margin-bottom:4px;}
.fact-list span{font-family:'JetBrains Mono',monospace; font-size:1rem; color:var(--forest-deep);}

table.simple{width:100%; border-collapse:collapse; margin:1.5em 0;}
table.simple th, table.simple td{text-align:left; padding:10px 14px; border-bottom:1px solid var(--line); font-size:0.95rem;}
table.simple th{font-family:'JetBrains Mono',monospace; text-transform:uppercase; font-size:0.72rem; letter-spacing:0.08em; color:var(--ink-soft);}

.notice-box{background:var(--sand); border-left:3px solid var(--brick); padding:18px 22px; border-radius:var(--radius); font-size:0.95rem;}

.two-col{display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:start;}

.contact-card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:28px;}
.contact-card h4{font-size:0.78rem; text-transform:uppercase; letter-spacing:0.08em; color:var(--ink-soft); margin-bottom:6px;}
.contact-card p{margin-bottom:18px;}

.form-field{margin-bottom:18px;}
.form-field label{display:block; font-size:0.85rem; font-weight:600; margin-bottom:6px; color:var(--forest-deep);}
.form-field input, .form-field textarea, .form-field select{
  width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:var(--radius);
  font-family:'Public Sans',sans-serif; font-size:0.96rem; background:var(--white); color:var(--ink);
}
.form-field textarea{resize:vertical; min-height:120px;}

.map-frame{border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; height:320px;}

@media (max-width: 860px){
  .hero .wrap{grid-template-columns:1fr; gap:32px;}
  .grid-3{grid-template-columns:1fr;}
  .grid-2{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .two-col{grid-template-columns:1fr;}
  .fact-list{grid-template-columns:1fr;}
  nav.main-nav{
    position:fixed; inset:64px 0 0 0; background:var(--cream); flex-direction:column;
    align-items:flex-start; padding:28px; gap:6px; display:none; overflow-y:auto;
  }
  nav.main-nav.open{display:flex;}
  nav.main-nav a{width:100%; padding:14px 0; border-bottom:1px solid var(--line); font-size:1.1rem;}
  .nav-toggle{display:inline-block;}
  .hero-stats .wrap{flex-wrap:wrap; gap:24px;}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .btn:hover{transform:none;}
}
