@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;1,400&family=Source+Sans+3:wght@300;400;600&family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&display=swap');
:root {
  --soil:      #5C3D1E;
  --harvest:   #B05A28;
  --meadow:    #6A9B5E;
  --grain:     #E8C06A;
  --parchment: #F8F3EB;
  --fog:       #EDE7DB;
  --ink:       #1C1007;
  --muted:     #6B5B4E;
  --white:     #FFFFFF;
  --font-display: 'Playfair Display', Georgia, serif;
  --font-body:    'Source Sans 3', system-ui, sans-serif;
  --font-accent:  'Cormorant Garamond', Georgia, serif;
  --max-w: 1160px;
  --nav-h: 72px;
  --radius: 4px;
  --shadow: 0 2px 16px rgba(44,26,14,.10);
  --transition: 0.22s ease;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-body); font-size: 17px; line-height: 1.7; color: var(--ink); background: var(--parchment); }
img { max-width: 100%; display: block; }
a { color: var(--harvest); text-decoration: none; transition: color var(--transition); }
a:hover { color: var(--meadow); }
ul { list-style: none; }
.container { max-width: var(--max-w); margin: 0 auto; padding: 0 28px; }
.section { padding: 80px 0; }
.section--alt { background: var(--fog); }

/* NAV */
.site-nav { position: fixed; top:0; left:0; right:0; z-index:100; height:var(--nav-h); background:var(--soil); display:flex; align-items:center; box-shadow:0 2px 12px rgba(0,0,0,.25); }
.nav-inner { max-width:var(--max-w); margin:0 auto; padding:0 28px; width:100%; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.nav-logo { display:flex; flex-direction:column; line-height:1.1; text-decoration:none; }
.nav-logo-name { font-family:var(--font-display); font-size:1.1rem; color:var(--grain); }
.nav-logo-tag { font-size:0.7rem; font-weight:300; color:rgba(255,255,255,.6); letter-spacing:0.12em; text-transform:uppercase; }
.nav-links { display:flex; align-items:center; gap:4px; }
.nav-links > li { position:relative; }
.nav-links > li > a { display:block; padding:8px 14px; font-size:0.85rem; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:rgba(255,255,255,.85); border-radius:var(--radius); transition:background var(--transition),color var(--transition); }
.nav-links > li > a:hover, .nav-links > li > a.active { background:rgba(255,255,255,.1); color:var(--grain); }
.nav-links .dropdown { display:none; position:absolute; top:100%; left:0; min-width:220px; background:var(--soil); border-top:2px solid var(--grain); border-radius:0 0 var(--radius) var(--radius); box-shadow:var(--shadow); padding:8px 0; }
.nav-links li:hover .dropdown { display:block; }
.dropdown a { display:block; padding:9px 20px; font-size:0.85rem; color:rgba(255,255,255,.8); }
.dropdown a:hover { background:rgba(255,255,255,.08); color:var(--grain); }
.nav-farm-store { display:inline-flex; align-items:center; padding:8px 16px; background:var(--meadow); color:var(--white) !important; font-size:0.82rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; border-radius:var(--radius); transition:background var(--transition); }
.nav-farm-store:hover { background:#3a5333; color:var(--white) !important; }
.nav-donate { display:inline-flex; align-items:center; padding:8px 20px; background:var(--grain); color:var(--soil) !important; font-size:0.82rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; border-radius:var(--radius); transition:background var(--transition); }
.nav-donate:hover { background:#c49840; color:var(--soil) !important; }
.nav-hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; background:none; border:none; }
.nav-hamburger span { display:block; width:24px; height:2px; background:var(--white); transition:transform var(--transition),opacity var(--transition); }
.nav-hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity:0; }
.nav-hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.nav-mobile { display:none; position:fixed; top:var(--nav-h); left:0; right:0; bottom:0; z-index:99; background:var(--soil); overflow-y:auto; padding:24px 28px 48px; flex-direction:column; gap:4px; }
.nav-mobile.open { display:flex; }
.nav-mobile a { display:block; padding:12px 0; color:rgba(255,255,255,.85); font-size:1.05rem; border-bottom:1px solid rgba(255,255,255,.08); }
.nav-mobile a.sub { padding-left:20px; font-size:0.95rem; color:rgba(255,255,255,.65); }
.nav-mobile a:hover { color:var(--grain); }
.nav-mobile .nav-donate, .nav-mobile .nav-farm-store { margin-top:24px; display:block; text-align:center; }

/* PAGE HERO */
.page-hero { margin-top:var(--nav-h); background:var(--meadow); padding:64px 28px 56px; position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
.page-hero .container { position:relative; }
.page-hero-eyebrow { font-size:0.75rem; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:rgba(255,255,255,.65); margin-bottom:12px; }
.page-hero h1 { font-family:var(--font-display); font-size:clamp(2rem,5vw,3rem); color:var(--white); line-height:1.15; max-width:640px; }
.page-hero p { margin-top:16px; font-size:1.1rem; color:rgba(255,255,255,.8); max-width:560px; }

/* TYPOGRAPHY */
h2 { font-family:var(--font-display); font-size:clamp(1.75rem,3.5vw,2.4rem); line-height:1.2; color:var(--soil); }
h3 { font-family:var(--font-display); font-size:1.35rem; color:var(--soil); line-height:1.3; }
.section-label { display:inline-block; font-size:0.72rem; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--harvest); margin-bottom:14px; }
.section-intro { font-family:var(--font-accent); font-size:1.2rem; color:var(--muted); margin-top:12px; max-width:580px; line-height:1.65; }
p+p { margin-top:1em; }

/* BUTTONS */
.btn { display:inline-flex; align-items:center; gap:8px; padding:13px 28px; border-radius:var(--radius); font-family:var(--font-body); font-size:0.88rem; font-weight:700; letter-spacing:0.07em; text-transform:uppercase; cursor:pointer; transition:transform var(--transition),background var(--transition),box-shadow var(--transition); text-decoration:none; }
.btn:hover { transform:translateY(-2px); }
.btn-primary { background:var(--meadow); color:var(--white); box-shadow:0 4px 14px rgba(74,103,65,.3); }
.btn-primary:hover { background:#3a5333; color:var(--white); }
.btn-gold { background:var(--grain); color:var(--soil); }
.btn-gold:hover { background:#c49840; color:var(--soil); }
.btn-outline { background:transparent; color:var(--soil); border:2px solid var(--soil); }
.btn-outline:hover { background:var(--soil); color:var(--white); }
.btn-outline-white { background:transparent; color:var(--white); border:2px solid rgba(255,255,255,.6); }
.btn-outline-white:hover { background:rgba(255,255,255,.12); color:var(--white); }

/* CARDS */
.card { background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; transition:transform var(--transition),box-shadow var(--transition); }
.card:hover { transform:translateY(-4px); box-shadow:0 8px 32px rgba(44,26,14,.14); }
.card-body { padding:28px; }
.card-icon { width:52px; height:52px; background:var(--fog); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.4rem; margin-bottom:16px; }

/* FOOTER */
.site-footer { background:var(--soil); color:rgba(255,255,255,.75); padding:60px 0 32px; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:48px; padding-bottom:48px; border-bottom:1px solid rgba(255,255,255,.1); }
.footer-brand-name { font-family:var(--font-display); font-size:1.2rem; color:var(--grain); margin-bottom:10px; }
.footer-brand-desc { font-size:0.88rem; line-height:1.6; color:rgba(255,255,255,.6); margin-bottom:20px; }
.footer-heading { font-size:0.72rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--grain); margin-bottom:16px; }
.footer-links li+li { margin-top:8px; }
.footer-links a { font-size:0.9rem; color:rgba(255,255,255,.7); }
.footer-links a:hover { color:var(--grain); }
.footer-bottom { padding-top:28px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:0.8rem; color:rgba(255,255,255,.4); }

/* UTILITY */
.text-center { text-align:center; }
.mt-4 { margin-top:16px; }
.mt-6 { margin-top:24px; }
.mt-8 { margin-top:32px; }
.mt-12 { margin-top:48px; }
.divider { width:60px; height:3px; background:var(--grain); margin:20px 0; }
.divider-center { margin:20px auto; }
.grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:32px; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }

@media(max-width:900px) {
  .grid-3,.grid-4 { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .nav-links,.nav-donate,.nav-farm-store { display:none; }
  .nav-hamburger { display:flex; }
}
@media(max-width:600px) {
  .section { padding:56px 0; }
  .grid-2,.grid-3,.grid-4 { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; gap:32px; }
  .footer-bottom { flex-direction:column; text-align:center; }
}
