/* ===========================================================
   Happening on the Farm Today: shared design system
   Refined rustic (6666-inspired). Warm, restrained, cinematic.
   =========================================================== */
@import url('https://fonts.googleapis.com/css2?family=Alfa+Slab+One&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&family=Zilla+Slab:wght@400;500;600;700&family=Bitter:ital,wght@0,400;0,500;1,400&display=swap');

:root{
  --cream:#F5EFE3; --paper:#FCFAF3; --ink:#211a10; --ink2:#4a3d2c;
  --rust:#A9481F; --rust2:#853714; --terra:#B76E45;
  --gold:#BE9247; --sage:#6E7551; --line:#DED2B9; --line2:#e7ddc8;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--cream);color:var(--ink);font-family:'Bitter',Georgia,serif;font-size:17px;line-height:1.8;overflow-x:hidden;position:relative;}
/* film grain overlay */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.5;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E");}
a{color:var(--rust);text-decoration:none;}
img{max-width:100%;display:block;}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;font-weight:600;line-height:1.08;letter-spacing:.2px;color:var(--ink);}
.wrap{max-width:1180px;margin:0 auto;padding:0 30px;}
.narrow{max-width:760px;margin:0 auto;padding:0 30px;}
.eyebrow{font-family:'Zilla Slab',serif;text-transform:uppercase;letter-spacing:.3em;font-size:12px;font-weight:600;color:var(--rust);}
.rule{width:64px;height:2px;background:var(--rust);margin:16px auto 0;}
.btn{display:inline-block;background:var(--rust);color:#fff;font-family:'Zilla Slab',serif;text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:600;padding:14px 32px;border-radius:2px;border:1.5px solid var(--rust);transition:.28s;}
.btn:hover{background:transparent;color:var(--rust);transform:translateY(-2px);}
.btn.light{border-color:rgba(255,255,255,.6);background:transparent;color:#fff;}
.btn.light:hover{background:#fff;color:var(--ink);}

/* ===== NAV ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:.4s;padding:16px 0;
  background:linear-gradient(180deg,rgba(20,15,9,.6),rgba(20,15,9,0));}
.nav.solid{background:var(--ink);box-shadow:0 6px 30px rgba(0,0,0,.4);padding:9px 0;}
.nav-inner{display:flex;align-items:center;justify-content:space-between;}
.nav-logo{display:flex;align-items:center;gap:13px;}
.nav-logo img{height:54px;transition:.4s;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4));}
.nav.solid .nav-logo img{height:44px;}
.nav-logo .lt{font-family:'Alfa Slab One',serif;font-size:16px;color:var(--cream);line-height:1;letter-spacing:.4px;}
.nav-logo .lt small{display:block;font-family:'Zilla Slab',serif;font-weight:500;font-size:9px;letter-spacing:.36em;color:var(--gold);margin-top:4px;}
.nav ul{list-style:none;display:flex;gap:2px;}
.nav ul a{color:var(--cream);font-family:'Zilla Slab',serif;font-weight:500;text-transform:uppercase;letter-spacing:.14em;font-size:12.5px;padding:9px 16px;border-radius:2px;transition:.25s;position:relative;}
.nav ul a:hover,.nav ul a.active{color:var(--gold);}
.nav ul a.active::after{content:"";position:absolute;left:16px;right:16px;bottom:2px;height:1.5px;background:var(--gold);}
@media(max-width:860px){.nav ul{display:none;}}

/* ===== PAGE HERO (interior pages) ===== */
.phero{position:relative;padding:170px 0 70px;text-align:center;color:#fff;overflow:hidden;background:var(--ink);}
.phero .bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.5;}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,15,9,.55),rgba(20,15,9,.8));}
.phero .inner{position:relative;z-index:2;}
.phero .eyebrow{color:var(--gold);}
.phero h1{font-size:clamp(40px,6vw,72px);color:#fff;margin:10px 0 6px;font-weight:600;}
.phero p{color:#e8ddc7;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;}

/* ===== SECTIONS ===== */
section{padding:100px 0;}
.sec-head{text-align:center;max-width:720px;margin:0 auto 56px;}
.sec-head h2{font-size:clamp(34px,5vw,54px);margin:10px 0;}
.sec-head p{color:var(--ink2);margin-top:12px;}
.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s ease,transform .9s ease;}
.reveal.in{opacity:1;transform:none;}
.paper{background:var(--paper);}
.dark{background:var(--ink);color:#e8ddc7;}
.dark h2,.dark h3{color:#fff;}

/* ===== ARTICLE CARDS ===== */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;}
@media(max-width:860px){.grid3{grid-template-columns:1fr;}}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:34px;}
@media(max-width:860px){.grid2{grid-template-columns:1fr;}}
.pcard{background:var(--paper);border:1px solid var(--line);border-radius:4px;overflow:hidden;transition:.35s;display:flex;flex-direction:column;}
.pcard:hover{transform:translateY(-7px);box-shadow:0 22px 46px rgba(33,26,16,.18);}
.pcard .ph{aspect-ratio:3/2;overflow:hidden;}
.pcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease;filter:saturate(.92);}
.pcard:hover .ph img{transform:scale(1.07);}
.pcard .b{padding:26px;flex:1;display:flex;flex-direction:column;}
.pcard .cat{font-family:'Zilla Slab',serif;font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--rust);font-weight:600;}
.pcard h3{font-size:27px;margin:9px 0 10px;}
.pcard p{font-size:15px;color:var(--ink2);flex:1;line-height:1.7;}
.pcard .rm{font-family:'Zilla Slab',serif;font-size:12.5px;text-transform:uppercase;letter-spacing:.12em;margin-top:16px;font-weight:600;color:var(--rust);}
.pcard .date{font-family:'Zilla Slab',serif;font-size:11px;letter-spacing:.1em;color:var(--sage);text-transform:uppercase;margin-top:6px;}

/* ===== AD ===== */
.adband{background:var(--cream);padding:40px 0;}
.ad{margin:0 auto;background:repeating-linear-gradient(45deg,#ece2cd,#ece2cd 12px,#e5d9bf 12px,#e5d9bf 24px);border:1px dashed #b7a684;color:#8c7c5c;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:'Zilla Slab',serif;letter-spacing:.16em;text-transform:uppercase;border-radius:3px;}
.ad small{font-size:11px;opacity:.85;}.ad b{font-size:15px;letter-spacing:.2em;margin:3px 0;}
.ad-lb{max-width:760px;height:110px;}
.ad-inline{max-width:560px;height:180px;margin:34px auto;}

/* ===== FOOTER ===== */
footer{background:#1a130a;color:#cbbd9f;padding:64px 0 28px;}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;}
@media(max-width:700px){.foot-grid{grid-template-columns:1fr;}}
footer .brandline{font-family:'Alfa Slab One',serif;font-size:22px;color:var(--rust);}
footer p{max-width:340px;margin-top:12px;font-size:15px;line-height:1.8;}
footer h4{font-family:'Zilla Slab',serif;color:var(--gold);font-size:13px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:14px;}
footer ul{list-style:none;line-height:2.1;}footer a{color:#e8ddc7;}
.foot-bottom{text-align:center;border-top:1px solid #33291b;margin-top:40px;padding-top:20px;font-size:12px;color:#8a7c62;letter-spacing:.05em;}

/* ===== SIGNUP band ===== */
.signup{position:relative;text-align:center;color:#fff;background-size:cover;background-position:center;}
.signup::after{content:"";position:absolute;inset:0;background:rgba(20,15,9,.8);}
.signup .inner{position:relative;z-index:2;}
.signup h2{color:#fff;font-size:clamp(30px,5vw,48px);}
.signup p{color:#e8ddc7;max-width:540px;margin:14px auto 26px;}
.signup form{display:flex;gap:10px;max-width:470px;margin:0 auto;justify-content:center;flex-wrap:wrap;}
.signup input{flex:1;min-width:230px;padding:15px 18px;border:none;border-radius:2px;font-family:'Bitter',serif;font-size:15px;}

.mocknote{background:#fff7e6;border-bottom:1px solid var(--gold);color:var(--ink2);font-style:italic;font-size:13px;text-align:center;padding:10px;}

/* ===== FEATURED ROW (blog) ===== */
.feat-row{display:grid;grid-template-columns:1.2fr 1fr;align-items:stretch;}
.feat-row .ph{aspect-ratio:auto;overflow:hidden;}
.feat-row .ph img{width:100%;height:100%;object-fit:cover;}
@media(max-width:860px){
  .feat-row{grid-template-columns:1fr;}
  .feat-row .ph{aspect-ratio:3/2;}
}

/* ===== mobile tightening ===== */
@media(max-width:860px){
  section{padding:60px 0;}
  .sec-head{margin-bottom:38px;}
}
