/* 4F shared stylesheet. Site palette set via body class. */
:root{--max:1180px;--r:10px}
.site-farm2u{--accent:#9c4323;--accent-ink:#fff4dc;--ink:#5a2e1a;--ink-deep:#3d1e10;--muted:#6b5344;--bg:#f2e6cc;--bg-alt:#e9dcc0;--card:#fbf5e8;--line:#cfae6c;--gold:#b0843a;--dark:#2a1a10;
 --f-display:"Alfa Slab One",Georgia,serif;--f-west:"Rye",Georgia,serif;--f-name:"Zilla Slab",Georgia,serif;--f-label:"Oswald",Arial Narrow,sans-serif;--f-body:"Source Sans 3",system-ui,sans-serif}
.site-cattle{--accent:#794F2F;--accent-ink:#F4F4F4;--ink:#4a3020;--ink-deep:#2e1d12;--muted:#6a5240;--bg:#F4F4F4;--bg-alt:#E8CCA2;--card:#fffaf2;--line:#DBB783;--gold:#DBB783;--dark:#3b2617;
 --f-display:"Zilla Slab",Georgia,serif;--f-west:"Zilla Slab",Georgia,serif;--f-name:"Zilla Slab",Georgia,serif;--f-label:"Oswald",Arial Narrow,sans-serif;--f-body:"Source Sans 3",system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font:1.0625rem/1.6 var(--f-body);color:var(--ink);background:var(--bg)}
img{max-width:100%;height:auto;display:block}
picture{display:block}
a{color:var(--accent);text-underline-offset:2px}
a:hover{color:var(--ink-deep)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1.1rem}
.skip{position:absolute;left:-999px;top:0;background:#000;color:#fff;padding:.5rem 1rem;z-index:99}.skip:focus{left:0}
h1,h2,h3{color:var(--ink-deep);line-height:1.15;margin:0 0 .6em}
h1{font-family:var(--f-display);font-size:clamp(2rem,6vw,3.4rem);font-weight:700}
.site-farm2u h1{font-weight:400}
h2{font-family:var(--f-display);font-size:clamp(1.4rem,3.5vw,2rem);font-weight:700}
.site-farm2u h2{font-weight:400;text-transform:uppercase;letter-spacing:.04em}
h3{font-family:var(--f-name);font-weight:700;font-size:1.3rem}
.kicker,.badge,.btn,.family-bar,nav a,.tile-price,.jump a,.price small{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.06em}
.kicker{color:var(--accent);font-weight:600;margin:0 0 .5rem}
.lead{font-size:1.2rem}
.center{text-align:center}
.fine{font-size:.9rem;color:var(--muted)}
/* family bar */
.family-bar{background:var(--dark);color:#f7efe3;font-size:.8rem}
.family-bar .wrap{display:flex;flex-wrap:wrap;gap:.3rem 1rem;align-items:center;padding:.45rem 1.1rem}
.family-bar a{color:#f7efe3;text-decoration:none}
.family-bar a[aria-current]{color:var(--line);font-weight:700}
.family-bar small{text-transform:none;letter-spacing:0;opacity:.75;display:none}
.family-bar .fb-phone{margin-left:auto;font-weight:600}
@media(min-width:700px){.family-bar small{display:inline}}
/* header */
.site-header{background:var(--card);border-bottom:3px double var(--line);position:sticky;top:0;z-index:20}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 1.1rem;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink-deep)}
.brand-name{font-family:var(--f-west);font-size:1.35rem}
.site-cattle .brand-name{font-weight:700}
.nav-toggle{font:600 .9rem var(--f-label);text-transform:uppercase;background:var(--accent);color:var(--accent-ink);border:0;border-radius:6px;padding:.55rem .9rem;min-height:44px}
nav#nav{flex-basis:100%;display:none}
nav#nav.open{display:block}
nav ul{list-style:none;margin:0;padding:0 0 .5rem;display:flex;flex-direction:column}
nav a{display:block;padding:.65rem .3rem;color:var(--ink);text-decoration:none;font-size:.95rem;border-bottom:1px solid var(--bg-alt)}
nav a[aria-current=page]{color:var(--accent);font-weight:700}
@media(min-width:960px){.nav-toggle{display:none}nav#nav{display:block;flex-basis:auto}nav ul{flex-direction:row;gap:.2rem;padding:0}nav a{border:0;padding:.5rem .6rem}nav a[aria-current=page]{box-shadow:inset 0 -3px 0 var(--accent)}}
.no-js nav#nav{display:block}
/* buttons */
.btn{display:inline-block;background:var(--accent);color:var(--accent-ink);border:2px solid var(--accent);padding:.7rem 1.2rem;border-radius:6px;text-decoration:none;font-weight:600;font-size:.95rem;min-height:44px;cursor:pointer}
.btn:hover{background:var(--ink-deep);border-color:var(--ink-deep);color:#fff}
.btn-ghost{background:transparent;color:var(--accent)}
.btn-light{background:#fff;color:var(--ink-deep);border-color:#fff}
.actions{display:flex;flex-wrap:wrap;gap:.6rem}
/* sections */
.section{padding:3rem 0}
.section.alt{background:var(--bg-alt)}
.rule{display:flex;align-items:center;gap:.8rem;text-align:center;justify-content:center}
.rule::before,.rule::after{content:"";flex:1;max-width:120px;height:2px;background:var(--accent);mask:none}
.site-farm2u .rule span::before,.site-farm2u .rule span::after{content:"◆";color:var(--accent);font-size:.6em;margin:0 .5em;vertical-align:middle}
.page-head{padding:2.5rem 0 1.5rem;background:var(--card);border-bottom:1px solid var(--line)}
.grid{display:grid;gap:1.2rem}
@media(min-width:700px){.grid.two{grid-template-columns:repeat(2,1fr)}.grid.three,.grid.cards.three{grid-template-columns:repeat(3,1fr)}.grid.four{grid-template-columns:repeat(2,1fr)}.grid.cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.grid.four{grid-template-columns:repeat(4,1fr)}}
.split{display:grid;gap:1.5rem;align-items:center}
@media(min-width:850px){.split{grid-template-columns:1fr 1fr;gap:2.5rem}.split.narrow{grid-template-columns:1fr 2fr;margin-bottom:2rem}}
.split.narrow picture{max-width:320px}
.split picture img,.hero-photo img{border-radius:var(--r);box-shadow:0 8px 24px rgba(0,0,0,.15)}
/* hero */
.hero{padding:2.5rem 0}
.hero-grid{display:grid;gap:2rem;align-items:center}
.hero-photo img{max-height:560px;width:100%;object-fit:cover}
@media(min-width:850px){.hero-grid{grid-template-columns:1.2fr 1fr}}
.hero-photo-bg{position:relative;padding:0;min-height:72vh;display:flex;align-items:flex-end;color:#fff}
.hero-bg,.hero-bg picture,.hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(30,18,10,.85) 0%,rgba(30,18,10,.35) 55%,rgba(0,0,0,0) 100%)}
.hero-over{position:relative;z-index:1;padding:3rem 1.1rem;width:100%}
.hero-over h1{color:#fff;max-width:16ch}.hero-over .kicker{color:var(--line)}
/* tiles & cards */
.tile{display:flex;flex-direction:column;gap:.2rem;padding:1.3rem;background:var(--card);border:2px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink)}
.tile:hover{border-color:var(--accent)}
.tile-price{font-size:1.8rem;color:var(--accent);font-weight:700}
.tile strong{font-family:var(--f-name);font-size:1.25rem;color:var(--ink-deep)}
.tag{font-family:var(--f-name);font-size:1.25rem;margin-top:1.5rem}
.product,.info-card,.family-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.3rem;display:flex;flex-direction:column}
.product .photo-ph{margin:-.3rem -.3rem 1rem}
.price{font:700 1.7rem var(--f-name);color:var(--accent);margin:.1rem 0}
.price small{font-size:.75rem;color:var(--muted)}
.meta{color:var(--muted);font-size:.95rem;margin:0 0 .6rem}
.contents{padding-left:1.1rem;margin:.4rem 0 .8rem}
.badges{display:flex;flex-wrap:wrap;gap:.4rem}
.badge{display:inline-block;font-size:.72rem;font-weight:600;padding:.2rem .55rem;border-radius:99px;background:var(--bg-alt);color:var(--ink-deep);border:1px solid var(--line)}
.badge-alt{background:var(--dark);color:#f7efe3;border-color:var(--dark)}
.buy{margin-top:auto;padding-top:.8rem}
.buy-note{font-size:.82rem;color:var(--muted);margin:.4rem 0 0}
/* cuts list */
.cuts{display:grid;gap:1.5rem}
@media(min-width:1000px){.cuts{grid-template-columns:repeat(3,1fr)}}
.cut-group{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.2rem}
.cut-list{list-style:none;margin:0;padding:0}
.cut{display:grid;grid-template-columns:1fr auto;gap:.2rem .8rem;padding:.7rem 0;border-bottom:1px dashed var(--line);background:none;border-radius:0;border-left:0;border-right:0;border-top:0}
.cut:last-child{border-bottom:0}
.cut-name{font:700 1.05rem var(--f-name);color:var(--ink-deep);display:block}
.cut-spec{font-size:.85rem;color:var(--muted)}
.cut-price{font:700 1.15rem var(--f-name);color:var(--accent);text-align:right}
.cut-price small{font-size:.75rem;color:var(--muted)}
.cut .buy{grid-column:1/-1;padding-top:.2rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.cut .btn-buy{padding:.35rem .8rem;min-height:36px;font-size:.8rem}
.cut .buy-note{display:none}
/* placeholders */
.tbd{display:inline-block;font:600 .72rem/1.3 var(--f-label);letter-spacing:.04em;text-transform:uppercase;color:#5b3b00;background:repeating-linear-gradient(-45deg,#fff3c4,#fff3c4 6px,#ffe9a3 6px,#ffe9a3 12px);border:1.5px dashed #a77a00;padding:.15rem .45rem;border-radius:4px;vertical-align:middle}
.cut-price .tbd{max-width:11rem;text-align:center}
.photo-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;text-align:center;padding:1rem;border:2px dashed var(--line);border-radius:var(--r);background:repeating-linear-gradient(45deg,var(--bg-alt),var(--bg-alt) 14px,var(--card) 14px,var(--card) 28px);color:var(--muted);width:100%}
.photo-ph span{font:600 .75rem var(--f-label);letter-spacing:.12em;color:var(--accent)}
.photo-ph strong{font-family:var(--f-name);font-size:1rem;max-width:26ch}
.is-placeholder{position:relative}
.pending-banner{border:2px dashed var(--accent);background:var(--card);padding:1rem 1.2rem;border-radius:var(--r);margin-bottom:1.5rem}
.legal-note{font-size:.9rem;border-left:4px solid var(--accent);padding:.4rem .8rem;background:var(--card)}
/* steps, callout, compare, faq */
.steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:1rem}
@media(min-width:850px){.steps{grid-template-columns:repeat(4,1fr)}.steps.short{grid-template-columns:repeat(3,1fr)}}
.steps li{counter-increment:s;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.1rem}
.steps li::before{content:counter(s);display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--accent);color:var(--accent-ink);font:700 1rem var(--f-label);margin-bottom:.5rem}
.steps li strong{display:block}
.callout{margin-top:2rem;padding:1.4rem;border-radius:var(--r);background:var(--dark);color:#f7efe3}
.callout h3{color:var(--line)}
.compare{overflow-x:auto}
table{border-collapse:collapse;width:100%;min-width:520px;background:var(--card)}
th,td{padding:.75rem;border:1px solid var(--line);text-align:left;vertical-align:top}
thead th{background:var(--accent);color:var(--accent-ink);font-family:var(--f-label);text-transform:uppercase;letter-spacing:.05em}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:var(--r);margin-bottom:.7rem}
.faq summary{cursor:pointer;padding:1rem 1.2rem;font:700 1.1rem var(--f-name);color:var(--ink-deep)}
.faq details>div{padding:0 1.2rem 1rem}
.jump{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.jump a{padding:.45rem .8rem;border:1.5px solid var(--accent);border-radius:99px;text-decoration:none;font-size:.85rem}
/* forms */
.form label{display:block;font-weight:600;margin-bottom:.8rem}
.form input,.form select,.form textarea{display:block;width:100%;margin-top:.25rem;padding:.65rem;font:inherit;border:1.5px solid var(--line);border-radius:6px;background:#fff}
.phone-big{font:700 clamp(1.6rem,6vw,2.2rem) var(--f-label);text-decoration:none}
.info-card.big h3 small{display:block;font:500 .85rem var(--f-label);text-transform:uppercase;color:var(--muted);letter-spacing:.06em}
.info-card .btn{align-self:flex-start;margin-top:auto}
/* family + footer */
.family-cta{padding:2.5rem 0;background:var(--card);border-top:3px double var(--line)}
.family-card{text-decoration:none;color:var(--ink);gap:.3rem;border-width:2px}
.family-card strong{font:700 1.4rem var(--f-name);color:var(--accent)}
.family-card.is-here{opacity:.75}
.family-card:hover{border-color:var(--accent)}
.site-footer{background:var(--dark);color:#e9dcc0;padding:2.5rem 0 1rem;font-size:.95rem}
.site-footer h2{color:#fff4dc;font:600 1rem var(--f-label);text-transform:uppercase;letter-spacing:.08em}
.site-footer a{color:#f7efe3}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer img{filter:brightness(0) invert(.9) sepia(.3);margin-bottom:.6rem}
.legal{border-top:1px solid rgba(255,255,255,.15);margin-top:1.5rem;padding-top:1rem;font-size:.82rem;opacity:.85}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* owner photo galleries */
.gallery{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin:0}
@media(min-width:850px){.gallery{grid-template-columns:repeat(3,1fr)}.gallery.four{grid-template-columns:repeat(4,1fr)}}
.gallery figure,.story-thumbs figure{margin:0}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);height:auto}
.gallery figcaption,.story-thumbs figcaption{font-size:.85rem;color:var(--muted);margin-top:.3rem}
.story-thumbs{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(130px,170px))}
.story-thumbs img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r);height:auto}
.product .card-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);height:auto;margin-bottom:.8rem}
.hero-photo picture img{aspect-ratio:4/3;object-fit:cover;height:auto}
.call-price{font:600 .85rem var(--f-label);text-transform:uppercase;letter-spacing:.04em;color:var(--accent)}
/* parents section: dad left, mom pair right */
.parents{display:grid;gap:1.2rem;grid-template-columns:1fr;align-items:start;margin:0 0 1.2rem}
@media(min-width:700px){.parents{grid-template-columns:calc((100% - 2.4rem)/3) 1fr}}
.parents figure{margin:0}
.p-pair{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.parents img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);display:block}
.p-pair picture:first-child img{object-position:50% 20%}
.parents figcaption{text-align:center;font-size:.9rem;font-style:italic;color:var(--muted);margin-top:.5rem;line-height:1.35}
.family-card .fc-logo{width:64px;height:auto;margin-bottom:.4rem}
.site-cattle .brand img{border-radius:50%;box-shadow:0 0 0 1px var(--line)}
