/* Farmers Pet Digest — "digest" theme */
:root{
  --cream:#FBF7EF; --cream-2:#F4EBDB; --ink:#2B2118; --ink-2:#5A4A3C; --muted:#8A7A6B;
  --green:#7CB342; --green-2:#5E8F2E; --green-3:#E9F3DC; --terra:#D9774C; --straw:#F2E3B6;
  --card:#FFFFFF; --line:rgba(43,33,24,.1);
  --font-display:"Fraunces",Georgia,serif; --font-body:"Inter",system-ui,sans-serif;
  --radius:22px; --shadow:0 10px 30px rgba(43,33,24,.08); --shadow-hover:0 22px 50px rgba(43,33,24,.16);
  --ease:cubic-bezier(.2,.8,.2,1);
}
html[data-accent="sunset"]{--green:#E0803E;--green-2:#B9622A;--green-3:#FBE9DB}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--gh-font-body,var(--font-body));font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.wrap-narrow{max-width:760px;margin:0 auto;padding:0 24px}
.muted{color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
h1,h2,h3{font-family:var(--gh-font-heading,var(--font-display));font-weight:700;letter-spacing:-.01em;line-height:1.1;margin:0}

/* header */
.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:rgba(251,247,239,.75);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;height:72px}
.brand{display:flex;align-items:center;gap:10px}
.brand-mark{color:var(--green);display:inline-flex;transition:transform .5s var(--ease)}
.brand:hover .brand-mark{transform:rotate(-12deg) scale(1.08)}
.brand-text{font-family:var(--font-display);font-weight:900;font-size:1.35rem}
.site-nav ul{list-style:none;display:flex;gap:26px;margin:0;padding:0}
.site-nav a{font-weight:500;position:relative;padding:4px 0}
.site-nav a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:100%;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.site-nav a:hover::after,.site-nav .nav-current a::after{transform:scaleX(1)}
.header-cta{display:flex;align-items:center;gap:12px}
.nav-toggle{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer;flex-direction:column;justify-content:center;gap:5px}
.nav-toggle span{display:block;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s,opacity .3s}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--green);color:#fff;font-weight:600;padding:12px 22px;border-radius:999px;border:0;cursor:pointer;box-shadow:0 8px 20px rgba(124,179,66,.35);transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .3s}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(124,179,66,.45);background:var(--green-2)}
.btn:active{transform:translateY(0) scale(.98)}
.btn-sm{padding:9px 16px;font-size:.92rem}
.btn-lg{padding:16px 28px;font-size:1.05rem}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:none;border:1.5px solid var(--line)}
.btn-ghost:hover{background:var(--cream-2);box-shadow:none}
.btn-paw{display:inline-block;transition:transform .4s var(--ease)}
.btn:hover .btn-paw{transform:rotate(-20deg) scale(1.2)}
.input{font:inherit;padding:15px 20px;border-radius:999px;border:1.5px solid var(--line);background:#fff;min-width:260px;outline:none;transition:border-color .3s,box-shadow .3s}
.input:focus{border-color:var(--green);box-shadow:0 0 0 4px var(--green-3)}

/* hero */
.hero{position:relative;overflow:hidden;padding:96px 0 80px;text-align:center}
.hero-bg{position:absolute;inset:0;pointer-events:none}
.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;animation:float 14s ease-in-out infinite}
.b1{width:420px;height:420px;background:var(--green-3);top:-120px;left:-80px}
.b2{width:360px;height:360px;background:var(--straw);right:-100px;top:40px;animation-delay:-5s}
.b3{width:300px;height:300px;background:#FBE1D4;left:40%;bottom:-160px;animation-delay:-9s}
@keyframes float{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(30px,-30px) scale(1.06)}66%{transform:translate(-20px,20px) scale(.96)}}
.hero-inner{position:relative}
.hero-badge{display:inline-block;background:var(--green-3);color:var(--green-2);font-weight:600;font-size:.85rem;padding:7px 14px;border-radius:999px;letter-spacing:.02em;text-transform:uppercase}
.hero-title{font-size:clamp(2.8rem,7vw,5.6rem);font-weight:900;margin:22px 0 14px}
.hero-title .w{display:inline-block;opacity:0;transform:translateY(24px) rotate(2deg);animation:wordIn .8s var(--ease) forwards}
@keyframes wordIn{to{opacity:1;transform:none}}
.hero-sub{font-size:clamp(1.1rem,2vw,1.35rem);color:var(--ink-2);max-width:620px;margin:0 auto 30px}
.hero-form{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;position:relative}
.hero-points{list-style:none;display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin:28px 0 0;padding:0;color:var(--muted);font-size:.95rem}
.hero-points li::before{content:"✓ ";color:var(--green);font-weight:700}
.hero-paws{position:absolute;inset:0;pointer-events:none;font-size:28px;opacity:.18}
.hero-paws span{position:absolute;animation:drift 22s linear infinite}
.hero-paws span:nth-child(1){left:8%;top:70%}.hero-paws span:nth-child(2){left:22%;top:30%;animation-delay:-6s}
.hero-paws span:nth-child(3){left:78%;top:25%;animation-delay:-12s}.hero-paws span:nth-child(4){left:88%;top:68%;animation-delay:-18s}
@keyframes drift{0%{transform:translateY(0) rotate(-10deg)}50%{transform:translateY(-40px) rotate(10deg)}100%{transform:translateY(0) rotate(-10deg)}}

/* feed / cards */
.feed{padding:40px 0 70px}
.section-title{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:28px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px}
.card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover)}
.card-first{grid-column:span 2}
.card-link{display:flex;flex-direction:column;height:100%}
.card-first .card-link{flex-direction:row}
.card-first .card-media{flex:1.2}.card-first .card-body{flex:1;justify-content:center}
.card-media{overflow:hidden;aspect-ratio:16/10;background:var(--cream-2)}
.card-first .card-media{aspect-ratio:auto;min-height:320px}
.card-img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.card:hover .card-img{transform:scale(1.06)}
.card-img-placeholder{display:flex;align-items:center;justify-content:center;color:var(--green);opacity:.9;background:linear-gradient(135deg,var(--green-3),var(--straw))}
.card-img-placeholder svg{transition:transform .9s var(--ease)}
.card:hover .card-img-placeholder svg{transform:rotate(-12deg) scale(1.15)}
.card-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px}
.card-meta{display:flex;align-items:center;gap:8px;font-size:.84rem;color:var(--muted);flex-wrap:wrap}
.tag-pill{background:var(--green-3);color:var(--green-2);font-weight:600;padding:3px 10px;border-radius:999px;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}
.card-title{font-size:1.35rem}
.card-first .card-title{font-size:clamp(1.6rem,2.6vw,2.2rem)}
.card-excerpt{color:var(--ink-2);margin:0}
.card-more{margin-top:auto;font-weight:600;color:var(--green-2)}
.arrow{display:inline-block;transition:transform .35s var(--ease)}
.card:hover .arrow,.read-next-link:hover .arrow{transform:translateX(6px)}
.pagination{display:flex;justify-content:space-between;margin-top:40px;font-weight:600}
.pagination a{color:var(--green-2)}

/* subscribe */
.subscribe{padding:40px 0 90px}
.subscribe-inner{background:linear-gradient(135deg,var(--ink),#3E2E22);color:#fff;border-radius:34px;padding:56px 48px;display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;position:relative;overflow:hidden}
.subscribe-inner::before{content:"🐾";position:absolute;font-size:220px;right:-30px;bottom:-60px;opacity:.08;transform:rotate(-15deg)}
.subscribe h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin-bottom:12px}
.subscribe p{color:rgba(255,255,255,.78);margin:0}
.subscribe-form{display:flex;flex-wrap:wrap;gap:12px;position:relative}
.subscribe-form .input{flex:1}
.form-msg{display:none;width:100%;margin:6px 0 0;font-size:.95rem}
.form-msg.success{color:var(--green)}.form-msg.error{color:#FF9B7A}
form.success .form-msg.success,form.error .form-msg.error{display:block}
form.loading .btn{opacity:.7;pointer-events:none}

/* post */
.post{padding:70px 0 40px}
.post-header{text-align:center}
.post-title{font-size:clamp(2.2rem,5vw,3.8rem);margin:18px 0 16px}
.post-excerpt{font-size:1.25rem;color:var(--ink-2);margin:0 0 18px}
.byline{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted)}
.byline a{color:var(--ink);font-weight:600}
.avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}
.avatar-lg{width:88px;height:88px;margin:0 auto 14px}
.post-feature{max-width:1000px;margin:40px auto 0;padding:0 24px}
.post-feature img{border-radius:var(--radius);box-shadow:var(--shadow)}
.post-feature figcaption{text-align:center;color:var(--muted);font-size:.9rem;margin-top:10px}
.post-content{margin-top:44px;font-size:1.12rem}
.gh-content>*+*{margin-top:1.2em}
.gh-content h2{font-size:1.9rem;margin-top:2em}.gh-content h3{font-size:1.45rem;margin-top:1.6em}
.gh-content a{color:var(--green-2);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.gh-content img{border-radius:16px}
.gh-content blockquote{border-left:4px solid var(--green);padding-left:20px;font-family:var(--font-display);font-size:1.3rem;color:var(--ink-2)}
.gh-content .kg-callout-card{border-radius:16px}
.post-footer{margin-top:50px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;border-top:1px solid var(--line);padding-top:24px}
.post-tags{display:flex;gap:8px;flex-wrap:wrap}
.share{display:flex;gap:14px;align-items:center}
.share a{font-weight:600;color:var(--green-2)}
.read-next{margin:40px auto 0;border-top:1px solid var(--line);padding-top:30px}
.read-next-link{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:6px}
.read-next-link h3{font-size:1.6rem}
.comments{margin-top:50px}
.archive-header{padding:70px 24px 10px;text-align:center}
.archive-header h1{font-size:clamp(2rem,5vw,3.4rem);margin:8px 0 10px}

/* footer */
.site-footer{border-top:1px solid var(--line);padding:50px 0 40px;background:var(--cream-2)}
.footer-inner{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start}
.footer-nav ul{list-style:none;display:flex;gap:20px;margin:0;padding:0}
.footer-legal{grid-column:1/-1;font-size:.9rem;margin:10px 0 0}

/* reveal animations */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
.grid .card.reveal{transition-delay:calc(var(--i,0) * 70ms)}
.reveal-on-load{opacity:0;transform:translateY(18px);animation:fadeUp .9s var(--ease) forwards}
.delay-1{animation-delay:.12s}.delay-2{animation-delay:.24s}.delay-3{animation-delay:.36s}.delay-4{animation-delay:.5s}
@keyframes fadeUp{to{opacity:1;transform:none}}

/* responsive */
@media (max-width:900px){
  .card-first{grid-column:span 1}.card-first .card-link{flex-direction:column}.card-first .card-media{min-height:0;aspect-ratio:16/10}
  .subscribe-inner{grid-template-columns:1fr;padding:40px 28px}
  .footer-inner{grid-template-columns:1fr}
}
@media (max-width:720px){
  .site-nav{display:none;position:absolute;left:0;right:0;top:72px;background:var(--cream);border-bottom:1px solid var(--line);padding:16px 24px}
  .site-nav.open{display:block}.site-nav ul{flex-direction:column;gap:14px}
  .nav-toggle{display:flex}
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hero{padding:64px 0 56px}.hero-form .input{min-width:0;width:100%}.hero-form .btn{width:100%;justify-content:center}
  .subscribe-form .btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal,.reveal-on-load,.hero-title .w{opacity:1;transform:none}
}

/* Ghost editor card widths */
.gh-content .kg-width-wide{position:relative;width:calc(100% + 240px);max-width:92vw;left:50%;transform:translateX(-50%)}
.gh-content .kg-width-full{position:relative;width:100vw;left:50%;transform:translateX(-50%)}
.gh-content .kg-width-full img{border-radius:0}
@media (max-width:1000px){.gh-content .kg-width-wide{width:100%;max-width:none;left:0;transform:none}}
