/* ==========================================================
   Sprinkle with Soil theme for calltofarms.com
   Same system as homesteadingagent.com: white pages, cream
   panels, leaf-green serif heads, navy labels and CTAs, thin
   double green rules. Navy bands for the weighty moments (hero,
   subscribe, footer, archive header). Square corners, no
   gradients, no shadows, no icons.
   ========================================================== */

@font-face{font-family:'Source Serif 4';src:url(fonts/source-serif-4-latin-500-normal.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url(fonts/source-serif-4-latin-600-normal.woff2) format('woff2');font-weight:600 700;font-style:normal;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url(fonts/source-serif-4-latin-400-italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url(fonts/source-serif-4-latin-600-italic.woff2) format('woff2');font-weight:600 700;font-style:italic;font-display:swap}
@font-face{font-family:'EB Garamond';src:url(fonts/eb-garamond-latin-400-normal.woff2) format('woff2');font-weight:400 500;font-style:normal;font-display:swap}
@font-face{font-family:'EB Garamond';src:url(fonts/eb-garamond-latin-400-italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'EB Garamond';src:url(fonts/eb-garamond-latin-600-normal.woff2) format('woff2');font-weight:600 700;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url(fonts/montserrat-latin-600-normal.woff2) format('woff2');font-weight:500 600;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url(fonts/montserrat-latin-700-normal.woff2) format('woff2');font-weight:700 800;font-style:normal;font-display:swap}

:root{
  /* Sprinkle with Soil palette */
  --leaf:#3b9b3e; --leaf-text:#2c7a30; --sprout:#33b540;
  --navy:#003e61; --slate:#2f5e95;
  --sws-cream:#fffccc; --butter:#fff9a6; --sun:#fff36d;
  --rule-green:#cceaa9; --ink:#231f20; --ink-deep:#02162a; --muted:#5c5a52;
  --navy-head:#8fd18f; --navy-sub:#a9c6ea; --navy-rule:#4f8a6a; --navy-text:#fffccc; --navy-muted:#c9d4cf;

  --font-display:"Source Serif 4","FreightText Pro",Georgia,serif;
  --font-body:"EB Garamond","Garamond Premier Pro",Garamond,Georgia,serif;
  --font-label:Montserrat,"Proxima Nova",system-ui,sans-serif;

  /* remap the site's old tokens so anything not overridden lands on-palette */
  --black:var(--ink); --white:#ffffff; --cream:var(--sws-cream);
  --gold:var(--navy); --gold-light:var(--slate); --gold-dark:var(--navy);
  --green:var(--leaf-text); --green-light:var(--leaf);
  --gray-light:var(--rule-green); --gray-mid:var(--muted);
  --text-muted:var(--muted);
}

/* ---------- base ---------- */
html body{background:#fff;color:var(--ink);font-family:var(--font-body);font-size:19px;line-height:1.55}
*,*::before,*::after{box-shadow:none !important;text-shadow:none !important}
img{border-radius:0 !important}
:focus-visible{outline:2px solid var(--navy);outline-offset:2px}

/* double rule: the brand's only ornament */
.section-title::after,.page-header h1::after,.hero h1::after{
  content:"";display:block;width:96px;height:3px;margin:14px auto 0;
  border-top:1px solid var(--rule-green);border-bottom:1px solid var(--rule-green)}

/* ---------- nav ---------- */
header.site-header{background:#fff !important;border-bottom:1px solid var(--rule-green) !important}
.logo{font-family:var(--font-display) !important;font-weight:600 !important;color:var(--ink) !important;letter-spacing:0.01em !important;text-transform:none !important;font-size:1.35rem !important}
.logo span{color:var(--leaf-text) !important}
.logo-mark{border-radius:0 !important}
nav.main-nav a{color:var(--navy) !important;font-family:var(--font-label) !important;font-size:0.72rem !important;font-weight:600 !important;letter-spacing:0.12em !important}
nav.main-nav a:hover,nav.main-nav a.active{color:var(--leaf-text) !important}
.nav-toggle{color:var(--navy) !important}
@media (max-width:980px){
  nav.main-nav{background:#fff !important;border-bottom:1px solid var(--rule-green)}
  nav.main-nav.open{border-bottom:1px solid var(--rule-green)}
  nav.main-nav li{border-bottom:1px solid var(--rule-green) !important}
  nav.main-nav:not(.open){border-bottom:none}
}

/* ---------- buttons ---------- */
.btn-primary,.contact-form button{
  background:var(--navy) !important;color:var(--sws-cream) !important;border-radius:2px !important;border:none;
  font-family:var(--font-label) !important;font-weight:700 !important;font-size:0.78rem !important;letter-spacing:0.14em !important;text-transform:uppercase;cursor:pointer}
.btn-primary:hover,.contact-form button:hover{background:var(--slate) !important;transform:none !important}
.btn-outline{border:1.5px solid var(--sws-cream) !important;color:var(--sws-cream) !important;background:transparent !important;border-radius:2px !important;
  font-family:var(--font-label) !important;font-weight:700 !important;font-size:0.78rem !important;letter-spacing:0.14em !important}
.btn-outline:hover{background:var(--sws-cream) !important;color:var(--navy) !important}

/* ---------- section scaffolding ---------- */
.section-label{font-family:var(--font-label) !important;font-weight:700 !important;font-size:0.72rem !important;letter-spacing:0.2em !important;color:var(--navy) !important}
.section-title{font-family:var(--font-display) !important;font-weight:600 !important;color:var(--leaf) !important;letter-spacing:0 !important;line-height:1.15 !important}
.section-text{font-family:var(--font-body) !important;color:var(--ink) !important;font-size:1.12rem !important;line-height:1.6 !important}

/* page rhythm: white / cream / navy */
.section-alt,#hosts,.related-section{background:#fff !important}
#community,#books,#faq{background:var(--sws-cream) !important}

/* ---------- navy bands ---------- */
.hero,.hero-video,.subscribe-section,footer.site-footer,.page-header{background:var(--navy) !important;color:var(--navy-text) !important}
.hero::after{display:none !important}

/* ---------- hero ---------- */
.hero-eyebrow{font-family:var(--font-label) !important;font-weight:700 !important;font-size:0.72rem !important;letter-spacing:0.22em !important;color:var(--sun) !important}
.hero-cover{border-radius:0 !important;border:1px solid var(--navy-rule)}
.hero h1{font-family:var(--font-display) !important;font-weight:600 !important;color:#fff !important;letter-spacing:-0.005em !important;line-height:1.08 !important}
.hero h1 .gold{color:var(--navy-head) !important;font-style:italic}
.hero h1::after{width:120px;margin-top:22px;border-color:var(--navy-rule)}
.hero p.hero-sub{color:var(--navy-text) !important;font-family:var(--font-body) !important;font-size:1.2rem !important;opacity:0.92}
.hero .btn-primary{background:var(--sun) !important;color:var(--navy) !important}
.hero .btn-primary:hover{background:var(--butter) !important}
.hero-platforms a{color:var(--navy-sub) !important;font-family:var(--font-label) !important;font-size:0.72rem !important;font-weight:600;letter-spacing:0.14em !important}
.hero-platforms a:hover{color:var(--sun) !important;border-color:var(--sun) !important}
.video-frame{border-radius:0 !important;border:1px solid var(--navy-rule) !important;background:var(--ink-deep)}

/* ---------- episode cards (home + archive) ---------- */
.ep-card{background:var(--sws-cream) !important;border:1px solid var(--rule-green) !important;border-radius:0 !important;transition:border-color 0.2s !important}
.ep-card:hover{transform:none !important;border-color:var(--leaf) !important}
.ep-thumb{background:var(--navy) !important}
.ep-num-badge{background:var(--sun) !important;color:var(--navy) !important;border-radius:0 !important;font-family:var(--font-label) !important;font-size:0.68rem !important;letter-spacing:0.12em !important}
.ep-date{font-family:var(--font-label) !important;color:var(--navy) !important;font-size:0.66rem !important;font-weight:600;letter-spacing:0.14em !important}
.ep-title{font-family:var(--font-display) !important;color:var(--leaf-text) !important;font-size:1.12rem !important;line-height:1.3 !important}
.ep-card:hover .ep-title{color:var(--leaf) !important}
.ep-sub{color:var(--muted) !important;font-family:var(--font-body) !important;font-style:italic;font-size:1rem !important}
.ep-audio-note{color:var(--navy) !important;font-family:var(--font-label) !important;font-size:0.64rem !important;letter-spacing:0.12em !important}
.ep-thumb .play-badge{background:rgba(0,62,97,0.25) !important}
.play-badge span{border-radius:0 !important;background:var(--sun) !important;color:var(--navy) !important}
.ep-thumb.no-video{background:var(--navy) !important}
.ep-thumb.no-video .mic{color:var(--sun) !important}
.ep-thumb.no-video .mic .num{font-family:var(--font-display) !important;font-weight:600}
.ep-thumb.no-video .mic .lbl{color:var(--navy-sub) !important;font-family:var(--font-label) !important}
/* the inline-styled "See Every Episode" button */
.latest-cta .btn-primary{background:var(--navy) !important;color:var(--sws-cream) !important}

/* ---------- community (cream band, white card) ---------- */
.community-card{background:#fff !important;border:1px solid var(--rule-green) !important;border-radius:0 !important}
.community-text p{color:var(--ink) !important;font-size:1.12rem !important}

/* ---------- hosts ---------- */
.host-bio-photo{border-radius:0 !important;border:1px solid var(--rule-green) !important}
.host-bio-head h3{font-family:var(--font-display) !important;color:var(--leaf-text) !important;font-weight:600;font-size:1.6rem !important}
.host-role{font-family:var(--font-label) !important;color:var(--navy) !important;font-size:0.68rem !important;font-weight:600;letter-spacing:0.14em !important}
.host-bio-text p{color:var(--ink);font-size:1.1rem;line-height:1.65}
.host-bio + .host-bio{padding-top:4.5rem;border-top:1px solid var(--rule-green)}

/* ---------- books (cream band, white cards) ---------- */
.book-card{background:#fff !important;border:1px solid var(--rule-green) !important;border-radius:0 !important}
.book-cover{border-radius:0 !important}
.book-tag{background:var(--sws-cream) !important;color:var(--navy) !important;border-radius:0 !important;font-family:var(--font-label) !important;font-weight:700;font-size:0.62rem !important;letter-spacing:0.14em !important}
.book-card h3{font-family:var(--font-display) !important;color:var(--leaf-text) !important;font-weight:600;font-size:1.35rem !important}
.book-author{font-family:var(--font-display) !important;color:var(--slate) !important;font-style:italic;font-weight:600}
.book-desc{color:var(--ink) !important;font-size:1.05rem}

/* ---------- why listen ---------- */
.topic-card{background:var(--sws-cream) !important;border-radius:0 !important;border-left:3px double var(--leaf) !important}
.topic-card h4{font-family:var(--font-display) !important;color:var(--leaf-text) !important;font-weight:600;font-size:1.25rem !important}
.topic-card p{color:var(--ink) !important;font-size:1.05rem !important}

/* ---------- subscribe (navy) ---------- */
.subscribe-section .section-label{color:var(--sun) !important}
.subscribe-section .section-title{color:var(--navy-head) !important}
.subscribe-section .section-title::after{border-color:var(--navy-rule)}
.subscribe-section .section-text{color:var(--navy-text) !important}
.platform-btn{background:transparent !important;border:1px solid var(--sws-cream) !important;color:var(--sws-cream) !important;border-radius:2px !important;
  font-family:var(--font-label) !important;font-weight:700 !important;font-size:0.78rem !important;letter-spacing:0.14em !important;text-transform:uppercase}
.platform-btn:hover{background:var(--sun) !important;border-color:var(--sun) !important;color:var(--navy) !important}

/* ---------- Homesteading Agent card ---------- */
.related-card{background:var(--sws-cream) !important;border:1px solid var(--rule-green) !important;border-radius:0 !important;transition:border-color 0.2s}
.related-card:hover{border-color:var(--leaf) !important}
.related-card .r-text strong{font-family:var(--font-display) !important;color:var(--leaf-text) !important;font-weight:600;font-size:1.2rem !important}
.related-card .r-text span{color:var(--navy) !important;font-family:var(--font-label);font-size:0.7rem !important;font-weight:600;letter-spacing:0.12em;text-transform:uppercase}

/* ---------- FAQ (cream) ---------- */
.faq-item{border-bottom:1px solid var(--rule-green) !important}
.faq-q{font-family:var(--font-display) !important;color:var(--leaf-text) !important;font-weight:600 !important;font-size:1.25rem !important}
.faq-a{color:var(--ink) !important;font-size:1.08rem}

/* ---------- contact ---------- */
.contact-photo{border-radius:0 !important;border:1px solid var(--rule-green) !important}
.contact-form label{font-family:var(--font-label) !important;color:var(--navy) !important;font-size:0.68rem !important;font-weight:700;letter-spacing:0.14em !important}
.contact-form input[type="text"],.contact-form input[type="email"],.contact-form textarea{border:1px solid #b9c9a9 !important;border-radius:2px !important;font-family:var(--font-body) !important;font-size:1.05rem !important}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--navy) !important;border-color:var(--navy) !important}

/* ---------- archive page ---------- */
.page-header .eyebrow{color:var(--sun) !important;font-family:var(--font-label) !important;font-weight:700;font-size:0.72rem !important;letter-spacing:0.22em !important}
.page-header h1{font-family:var(--font-display) !important;color:#fff !important;font-weight:600 !important}
.page-header h1::after{border-color:var(--navy-rule)}
.page-header p{color:var(--navy-text) !important;font-size:1.15rem}
.search-box input{border:1px solid #b9c9a9 !important;border-radius:2px !important;font-family:var(--font-body) !important;font-size:1.05rem !important}
.search-box input:focus{border-color:var(--navy) !important;outline:2px solid var(--navy)}
.count-label{font-family:var(--font-label) !important;color:var(--navy) !important;font-size:0.7rem !important;font-weight:600;letter-spacing:0.14em !important;text-transform:uppercase}
.no-results{font-family:var(--font-display) !important;color:var(--muted) !important;font-style:italic}

/* ---------- footer (navy) ---------- */
footer.site-footer{border-top:1px solid var(--navy-rule)}
footer.site-footer .f-logo{font-family:var(--font-display) !important;color:var(--sws-cream) !important;letter-spacing:0 !important;font-weight:600;font-size:1.4rem !important}
footer.site-footer .f-logo span{color:var(--navy-head) !important}
footer.site-footer .f-links{font-family:var(--font-label) !important;font-size:0.7rem !important;font-weight:600;letter-spacing:0.14em !important;text-transform:uppercase}
footer.site-footer .f-links a{color:var(--navy-sub)}
footer.site-footer .f-links a:hover{color:var(--sun) !important}
footer.site-footer .copyright{color:var(--navy-muted) !important;font-family:var(--font-label);font-size:0.68rem !important}

/* ---------- event banner (homepage) ---------- */
.event-banner{background:var(--sun);border-bottom:1px solid var(--navy)}
.event-banner a{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0.4rem 1.1rem;max-width:1200px;margin:0 auto;padding:0.7rem 1.25rem;color:var(--navy);text-align:center}
.eb-label{font-family:var(--font-label);font-weight:700;font-size:0.66rem;letter-spacing:0.18em;text-transform:uppercase;background:var(--navy);color:var(--sws-cream);padding:0.25rem 0.6rem}
.eb-text{font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--navy)}
.eb-cta{font-family:var(--font-label);font-weight:700;font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;border-bottom:1.5px solid var(--navy);padding-bottom:1px}
.event-banner a:hover .eb-cta{color:var(--leaf-text);border-color:var(--leaf-text)}
