/* ==========================================================================
   Regrarian Resource site theme (Oct 28, 2026). Loaded after style.css.
   Master palette: Red Barn Heritage + Saddle Brown. No green anywhere.
   Each page group sets four roles on <body data-theme="...">:
     --primary   links, buttons, card top borders, icon color, hero gradient end
     --secondary dark bands and hero gradient start, h2 color
     --tertiary  light tint for callouts, table heads, icon tiles
     --emphasis  CTA buttons, highlights (with --on-emphasis text, --emphasis-ink for text on light)
   Header, nav and footer use fixed colors so they look the same on every page.
   All text/background pairs checked for WCAG AA (4.5:1 normal text). See /workspace/regen-hub/palette.md.
   ========================================================================== */
:root{
  --barn:#9E2B25;--barn-dark:#7E221D;--barn-tint:#F5E4E1;
  --navy:#1F2F4A;--navy-tint:#E4E8EF;
  --saddle:#4A2C1D;--saddle-tint:#F0E6DC;
  --linen:#E8DCC4;--linen-soft:#F3ECDD;
  --brass:#B8892B;--brass-ink:#7F5E1F;--brass-tint:#F5EBD3;
  --cream:#F7F1E6;--charcoal:#2B2622;--muted:#645A52;--line:#DDCFB6;--paper:#FFFFFF;
  /* defaults (= home) */
  --primary:var(--barn);--secondary:var(--navy);--tertiary:var(--linen);--emphasis:var(--brass);--on-emphasis:var(--charcoal);--emphasis-ink:var(--brass-ink);
  --tertiary-soft:var(--linen-soft);
  /* legacy names used by style.css, remapped */
  --ink:var(--charcoal);--green:var(--primary);--green2:var(--primary);--soil:var(--secondary);--sun:var(--emphasis);
  --ok:var(--navy);--mid:var(--brass-ink);--bad:var(--barn);
}
body[data-theme="home"]        {--primary:var(--barn);  --secondary:var(--navy);  --emphasis:var(--brass);--on-emphasis:var(--charcoal);--emphasis-ink:var(--brass-ink)}
body[data-theme="start"]       {--primary:var(--navy);  --secondary:var(--barn);  --emphasis:var(--brass);--on-emphasis:var(--charcoal);--emphasis-ink:var(--brass-ink)}
body[data-theme="learn"]       {--primary:var(--saddle);--secondary:var(--navy);  --emphasis:var(--brass);--on-emphasis:var(--charcoal);--emphasis-ink:var(--brass-ink)}
body[data-theme="books"]       {--primary:var(--saddle);--secondary:var(--barn);  --emphasis:var(--brass);--on-emphasis:var(--charcoal);--emphasis-ink:var(--brass-ink)}
body[data-theme="videos"]      {--primary:var(--barn);  --secondary:var(--saddle);--emphasis:var(--brass);--on-emphasis:var(--charcoal);--emphasis-ink:var(--brass-ink)}
body[data-theme="library"]     {--primary:var(--navy);  --secondary:var(--saddle);--emphasis:var(--brass);--on-emphasis:var(--charcoal);--emphasis-ink:var(--brass-ink)}
body[data-theme="guides"]      {--primary:var(--barn);  --secondary:var(--saddle);--emphasis:var(--navy); --on-emphasis:#fff;--emphasis-ink:var(--navy)}
body[data-theme="funding"]     {--primary:var(--navy);  --secondary:var(--saddle);--emphasis:var(--barn); --on-emphasis:#fff;--emphasis-ink:var(--barn)}
body[data-theme="groupbuy"]    {--primary:var(--saddle);--secondary:var(--navy);  --emphasis:var(--barn); --on-emphasis:#fff;--emphasis-ink:var(--barn)}
body[data-theme="frontier"]    {--primary:var(--navy);  --secondary:var(--barn);  --emphasis:var(--saddle);--on-emphasis:#fff;--emphasis-ink:var(--saddle)}
body[data-theme="permaculture"]{--primary:var(--saddle);--secondary:var(--barn);  --emphasis:var(--navy); --on-emphasis:#fff;--emphasis-ink:var(--navy)}
body[data-theme="nutrition"]   {--primary:var(--barn);  --secondary:var(--navy);  --emphasis:var(--saddle);--on-emphasis:#fff;--emphasis-ink:var(--saddle)}
body[data-theme]{--tertiary:var(--linen);--tertiary-soft:var(--linen-soft)}

/* ---------- base ---------- */
body{background:var(--cream);color:var(--charcoal)}
a{color:var(--primary)}a:hover{color:var(--secondary)}
h1,h2,h3{color:var(--charcoal)}
main h2{color:var(--secondary)}
.small,.count,.legend{color:var(--muted)}
.kicker{color:var(--emphasis-ink)}.kicker.light{color:var(--linen)}
::selection{background:var(--linen)}

/* ---------- fixed header / nav / footer (same on every page) ---------- */
header.site{background:#fff;border-bottom:1px solid var(--line)}
.brand{color:var(--barn)}
nav#nav a{color:var(--charcoal)}
nav#nav a:hover,nav#nav a[aria-current]{background:var(--linen-soft);color:var(--barn)}
nav#nav a[aria-current]{box-shadow:inset 0 -3px 0 var(--barn)}
footer.site{background:var(--saddle);color:var(--linen)}
footer.site strong{color:#fff}footer a{color:var(--linen);text-decoration-color:var(--brass)}footer a:hover{color:#fff}footer .small{color:var(--linen)}

/* ---------- gradient hero bands ---------- */
.hero{background:linear-gradient(135deg,var(--secondary),var(--primary))}
.hero.has-photo::before{background:linear-gradient(100deg,color-mix(in srgb,var(--secondary) 86%,transparent) 0%,color-mix(in srgb,var(--secondary) 66%,transparent) 55%,color-mix(in srgb,var(--primary) 30%,transparent) 100%)}
@media(max-width:700px){.hero.has-photo::before{background:color-mix(in srgb,var(--secondary) 84%,transparent)}}
.phero{background:linear-gradient(135deg,var(--secondary) 0%,var(--primary) 100%);color:#fff;border-bottom:0;padding:44px 0 36px}
.phero h1{color:#fff}.phero .sub{color:#fff;opacity:.95}
.phero .crumbs,.phero .crumbs a{color:#fff;opacity:.9}
.phero a{color:#fff;text-decoration-color:rgba(255,255,255,.7)}.phero a:hover{color:var(--linen)}
.phero .banner figcaption,.phero .banner a,.phero .banner .credit{color:#fff;opacity:.92}
.phero .banner img{box-shadow:0 10px 28px rgba(0,0,0,.25)}
.sh-hero,.sh-end{background:linear-gradient(135deg,var(--secondary),var(--primary))}
.sh-end .sh-link{color:var(--linen)}

/* ---------- buttons, pills, jump-nav ---------- */
.btn,button[type=submit]{background:var(--emphasis);color:var(--on-emphasis)}
.btn:hover,button[type=submit]:hover{color:var(--on-emphasis);filter:brightness(1.08)}
.hero .btn:not(.ghost),.sh-hero .btn{background:var(--brass);color:var(--charcoal)}
.tag{background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:3px 12px;font-size:.86rem;font-weight:600;color:var(--charcoal);text-decoration:none;display:inline-flex;align-items:center;gap:7px;margin:3px 2px}
a.tag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--primary);flex:none}
a.tag:hover{border-color:var(--primary);color:var(--primary)}
.subnav a[aria-current]{background:var(--primary);border-color:var(--primary);color:#fff}
.seg button.on{background:var(--primary);color:#fff}
.path a{border:1.5px solid var(--line)}.path a:hover{border-color:var(--primary)}
.path span,.bigpath span{background:var(--primary)}
.monthnav a{border-radius:999px;padding:2px 10px}

/* ---------- cards with colored top borders ---------- */
.card{border:1px solid var(--line);border-top:4px solid var(--primary);border-radius:var(--r)}
.card.big{border-top:5px solid var(--emphasis)}
.card:hover{box-shadow:0 10px 24px rgba(43,38,34,.10)}
.card .kicker{color:var(--emphasis-ink)}
.card .thumb{margin-top:-18px}
.bigpath li,.month,.persona,.vcard{border:1px solid var(--line);border-top:4px solid var(--primary)}
.chain li{border-top-color:var(--primary)}.chain li strong{color:var(--primary)}

/* ---------- tip callouts ---------- */
.note{background:var(--tertiary-soft);border-left:5px solid var(--primary);border-radius:0 var(--r) var(--r) 0}
.note.warn{background:var(--brass-tint);border-left-color:var(--brass)}
.story{border-left-color:var(--secondary)}
.cta{background:var(--tertiary-soft);border:1px solid var(--line);border-top:5px solid var(--emphasis);border-radius:var(--r)}
.terms{background:var(--linen-soft)}
mark.dana{background:var(--brass-tint)}

/* ---------- tables ---------- */
.tablewrap{border:1px solid var(--line);border-top:4px solid var(--primary)}
thead th{background:var(--linen);color:var(--charcoal)}
tbody tr:hover{background:var(--linen-soft)}
select,input,textarea{border-color:#CDBDA0}

/* ---------- badges (no green) ---------- */
.badge{background:#EFE9DF;color:var(--charcoal)}
.badge.ok{background:var(--navy-tint);color:var(--navy)}
.badge.mid{background:var(--brass-tint);color:var(--brass-ink)}
.badge.bad{background:var(--barn-tint);color:var(--barn)}
.badge.pos{background:var(--navy-tint);color:var(--navy)}
.badge.con{background:var(--saddle-tint);color:var(--saddle)}
.paid{background:var(--brass-tint);color:var(--brass-ink)}

/* ---------- alternating section backgrounds (full-bleed bands inside .wrap) ---------- */
main section[id]:not([class]){padding:4px 0 20px}
main section[id]:not([class]):nth-of-type(even){background:#fff;box-shadow:0 0 0 100vmax #fff;clip-path:inset(0 -100vmax)}
main section[id]:not([class]):nth-of-type(even) :is(.tablewrap,.bcard,.vcard,.fcard){background:var(--cream)}
main h2[id]{position:relative;padding-top:6px}
main h2[id]::before{content:"";display:block;width:44px;height:4px;border-radius:2px;background:var(--emphasis);margin-bottom:10px}

/* ---------- icon tiles (product / grant placeholders) ---------- */
.picon{display:inline-grid;place-items:center;flex:none;width:56px;height:56px;border-radius:14px;background:var(--tertiary-soft);color:var(--primary);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--primary) 22%,transparent)}
.picon svg{width:32px;height:32px}
.picon.sm{width:40px;height:40px;border-radius:11px}.picon.sm svg{width:24px;height:24px}
.picon.xs{width:30px;height:30px;border-radius:8px}.picon.xs svg{width:18px;height:18px}
td.pcell,th.pcell{position:relative;padding-left:52px;min-width:200px}
td.pcell:has(.picon.sm),th.pcell:has(.picon.sm){padding-left:64px}
.pcell .picon{position:absolute;left:12px;top:9px}

/* ---------- book cards ---------- */
.bgrid{list-style:none;padding:0;margin:1rem 0 1.5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px;max-width:none}
.prose .bgrid{max-width:none}
.bcard{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-top:4px solid var(--primary);border-radius:var(--r);padding:16px;margin:0}
.pcover{flex:none;display:block;width:96px;height:144px;object-fit:cover;border-radius:4px;background:var(--linen);box-shadow:0 2px 4px rgba(43,38,34,.18),0 8px 18px rgba(43,38,34,.12)}
.pcover.ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:10px;text-align:center;background:linear-gradient(160deg,var(--linen),var(--linen-soft));color:var(--saddle);border:1px solid var(--line);font-family:Georgia,serif;font-size:.78rem;line-height:1.2;box-sizing:border-box;width:96px!important;height:144px!important}
.pcover.ph svg{width:26px;height:26px;opacity:.75}
.bbody{min-width:0}
.btitle{font-size:1.05rem;margin:0 0 .15rem;line-height:1.25;color:var(--charcoal)}
.bauthor{margin:0 0 .4rem;font-size:.9rem;color:var(--muted)}.bauthor a{color:var(--muted)}
.bdesc{margin:0 0 .4rem;font-size:.92rem;line-height:1.45}
.bmeta{margin:0 0 .35rem;font-size:.8rem;color:var(--muted)}
.blinks{margin:0;font-size:.9rem;font-weight:600}
@media(max-width:420px){.bgrid{grid-template-columns:1fr}.pcover,.pcover.ph{width:80px!important;height:120px!important}}

/* ---------- grant cards ---------- */
.grgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:16px;margin:1rem 0 1.5rem}
.grgrid.full{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}
.grcard{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--primary);border-radius:var(--r);padding:16px 18px;scroll-margin-top:90px}
.grcard:target{box-shadow:0 0 0 3px var(--brass)}
.grcard[hidden]{display:none}
.grhead{display:flex;gap:12px;align-items:flex-start}
.grtitle{flex:1;min-width:0}
.grkind{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--emphasis-ink)}
.grcard h3,.fcard h3{margin:.15rem 0 .1rem;font-size:1.08rem;line-height:1.25}
.grfunder{margin:0;font-size:.86rem;color:var(--muted)}
.grfacts{display:grid;grid-template-columns:1fr;gap:6px;margin:0;font-size:.9rem}
.grfacts div{display:grid;grid-template-columns:118px 1fr;gap:10px;border-top:1px dashed var(--line);padding-top:6px}
.grfacts dt{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-top:2px}
.grfacts dd{margin:0}
.grtip{margin:4px 0 0;background:var(--tertiary-soft);border-left:4px solid var(--emphasis);border-radius:0 8px 8px 0;padding:8px 12px;font-size:.9rem}
.grtip strong{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--emphasis-ink)}
@media(max-width:860px){.grgrid,.grgrid.full{grid-template-columns:1fr}}
@media(max-width:480px){.grgrid,.grgrid.full{grid-template-columns:1fr}.grfacts div{grid-template-columns:1fr;gap:2px}}

/* ---------- funding / loan / course cards ---------- */
.fcards{list-style:none;padding:0;margin:1rem 0 1.5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;max-width:none}
.fcard{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-top:4px solid var(--primary);border-radius:var(--r);padding:14px 16px;margin:0}
.fcard p{margin:.2rem 0 0}

/* ---------- Start Here: per-path accents from the master palette (overrides inline colors) ---------- */
#new-rancher,.sh-jump a[href="#new-rancher"],.sh-tiles a[href="#new-rancher"]{--ac:var(--barn)!important;--tint:var(--barn-tint)!important}
#new-homesteader,.sh-jump a[href="#new-homesteader"],.sh-tiles a[href="#new-homesteader"]{--ac:var(--brass-ink)!important;--tint:var(--brass-tint)!important}
#transitioning-rancher,.sh-jump a[href="#transitioning-rancher"],.sh-tiles a[href="#transitioning-rancher"]{--ac:var(--saddle)!important;--tint:var(--saddle-tint)!important}
#direct-seller,.sh-jump a[href="#direct-seller"],.sh-tiles a[href="#direct-seller"]{--ac:var(--barn-dark)!important;--tint:var(--barn-tint)!important}
#tech-curious,.sh-jump a[href="#tech-curious"],.sh-tiles a[href="#tech-curious"]{--ac:var(--navy)!important;--tint:var(--navy-tint)!important}
#small-herd-vf,.sh-jump a[href="#small-herd-vf"],.sh-tiles a[href="#small-herd-vf"]{--ac:var(--charcoal)!important;--tint:#ECE6DE!important}
.sh-lead{color:var(--charcoal)}.sh-tip p{color:var(--charcoal)}

@media print{.phero{background:none;color:#000}.phero h1,.phero .sub{color:#000}main .wrap > section:nth-of-type(even){box-shadow:none;clip-path:none}}

/* ---------- library / topic resource cards (preview image on top) ---------- */
.rgrid{list-style:none;padding:0;margin:1rem 0 1.25rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;max-width:none}
.rcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-top:4px solid var(--primary);border-radius:var(--r);overflow:hidden;margin:0;transition:box-shadow .15s,transform .15s}
.rcard:hover{box-shadow:0 6px 18px rgba(43,38,34,.14);transform:translateY(-2px)}
.rcard[hidden]{display:none}
.rimg{display:block;aspect-ratio:16/9;background:var(--linen-soft,#F3ECDD);overflow:hidden;border-bottom:1px solid var(--line)}
.rimg img{display:block;width:100%;height:100%;object-fit:cover}
.rimg.ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--secondary) 55%,var(--primary)),var(--primary));color:var(--primary)}
.rimg-host{color:#fff;opacity:.9;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.rimg-ph{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:var(--cream);box-shadow:0 0 0 6px color-mix(in srgb,#fff 18%,transparent)}
.rimg-ph svg{width:44px;height:44px}
.rbody{display:flex;flex-direction:column;flex:1;padding:12px 16px 14px}
.rmeta{margin:0 0 .35rem;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.8rem}
.rmeta .tag{margin:0}
.rtopic{color:var(--muted);text-decoration:none;font-weight:600}.rtopic:hover{text-decoration:underline}
.rcard h3{margin:0 0 .3rem;font-size:1.06rem;line-height:1.25}
.rcard h3 a{color:var(--charcoal);text-decoration:none}.rcard h3 a:hover{color:var(--primary);text-decoration:underline}
.rdesc{margin:0 0 .6rem;font-size:.92rem;line-height:1.45;flex:1}
.rgo{margin:0;font-size:.86rem;font-weight:700}
.rgo a{color:var(--primary)}
.ognote{margin-top:.25rem}
@media(max-width:560px){.rgrid{grid-template-columns:1fr}}
/* table thumbnails (Frontier Tech, courses, vendor tables) */
.pthumb{position:absolute;left:10px;top:10px;width:96px;height:54px;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:var(--tertiary-soft,#F3ECDD)}
td.pcell:has(.pthumb),th.pcell:has(.pthumb){padding-left:118px;min-width:230px;height:74px}
/* book buy links */
.pcover-link{flex:none;display:block;border-radius:4px;text-decoration:none;color:inherit}
.pcover-link:hover .pcover{box-shadow:0 0 0 3px var(--brass),0 8px 18px rgba(43,38,34,.18)}
.btitle a{color:var(--charcoal);text-decoration:none}.btitle a:hover{color:var(--primary);text-decoration:underline}
.blinks{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:.5rem}
.blinks .btn{padding:8px 14px;font-size:.88rem;border-radius:8px}
.blinks .btn.ghost{background:transparent;color:var(--primary);border:2px solid color-mix(in srgb,var(--primary) 45%,transparent)}
.blinks .btn.ghost:hover{background:var(--tertiary-soft,#F3ECDD);color:var(--primary);filter:none}

/* ---------- Courses page (/courses/, Oct 28, 2026) ----------
   Role rotation "courses": primary Barn-dark, secondary Saddle, emphasis Navy (white text). Unused by any other page group.
   Contrast: Barn-dark #7E221D on white 9.8:1; white on Navy 13.4:1; Saddle on white 12.6:1. Cards reuse .rgrid/.rcard. */
body[data-theme="courses"]     {--primary:var(--barn-dark);--secondary:var(--saddle);--emphasis:var(--navy);--on-emphasis:#fff;--emphasis-ink:var(--navy)}
.cgrid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
.ccard .rimg img{object-fit:cover}
.ccard .rmeta .tag{white-space:normal;text-align:left;display:inline-block;border-radius:14px;line-height:1.35} /* inline-block so linked names inside the tag wrap as text (Oct 28, 2026) */
.cprice{margin:0 0 .45rem;font-size:.93rem;line-height:1.35}
.cprice strong{color:var(--primary)}
.cfacts{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:0 0 .75rem;font-size:.84rem;line-height:1.35}
.cfacts dt{font-weight:700;color:var(--secondary)}
.cfacts dd{margin:0;color:var(--muted)}
.cgo{margin:auto 0 0;display:flex;align-items:center;gap:8px}
.cgo .btn{padding:9px 22px;border-radius:8px}

/* ---------- header: logo + one-line nav (Oct 2026) ----------
   Header gets a wider wrap than body content so the logo and all 10 nav items fit on one line at 1280px.
   Below 1180px the nav collapses into the Menu button (style.css drop-down, breakpoint moved up here). */
header.site .wrap.hdr{max-width:1280px;gap:12px}
.brand{flex:0 0 auto;line-height:0}
.brand img{display:block;height:40px;width:auto}
nav#nav{flex-wrap:nowrap;gap:2px;white-space:nowrap}
nav#nav a{padding:7px 9px;font-size:.92rem;line-height:1.3}
@media(max-width:1180px){
  .menu{display:block}
  nav#nav{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;flex-direction:column;padding:10px 20px;border-bottom:1px solid var(--line);white-space:normal;box-shadow:0 8px 16px rgba(43,38,34,.08)}
  nav#nav.open{display:flex}
  nav#nav a{font-size:1rem;padding:10px 12px}
}
@media(max-width:480px){.brand img{height:34px}}

/* Frontier Tech grouped sections */
.ftjump{margin:18px 0 6px;line-height:2}
.ftsec{scroll-margin-top:80px;margin-top:34px}
.ftsec h2{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.ftn{font-size:.8rem;font-weight:700;background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:1px 10px}
.ftintro{margin:0 0 12px;color:#555}
@media(max-width:640px){.ftjump .tag{font-size:.8rem;padding:2px 10px}}
@media(min-width:761px){.ftsec table{table-layout:fixed;width:100%}.ftsec th:nth-child(1){width:34%}.ftsec th:nth-child(2){width:18%}.ftsec th:nth-child(3){width:12%}}
