/*
Theme Name: PureFarmFresh
Theme URI: https://purefarmfresh.com
Author: PureFarmFresh
Description: Lightweight custom theme for PureFarmFresh.com
Version: 2.0.2
Text Domain: purefarmfresh
*/

:root {
    --cream: #F6F2E8;
    --cream-light: #FBF9F4;
    --green: #294936;
    --green-dark: #193326;
    --sage: #7D9278;
    --tan: #B89B72;
    --charcoal: #252A26;
    --white: #FFFFFF;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--cream-light);
    color: var(--charcoal);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.6;
}

a {
    color: inherit;
}

.site-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 20;
    padding: 24px 6%;
    color: var(--white);
}

.nav-wrap {
    max-width: 1400px;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.brand {
    font-family: Georgia, serif;
    font-size: 27px;
    font-weight: 700;
    letter-spacing: .04em;
    text-decoration: none;
}

.site-nav {
    display: flex;
    gap: 28px;
    align-items: center;
}

.site-nav a {
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
}

.hero {
    min-height: 92vh;
    display: flex;
    align-items: center;
    position: relative;
    color: var(--white);
    background:
        linear-gradient(90deg, rgba(18,40,29,.90), rgba(18,40,29,.42)),
        linear-gradient(180deg, #45614b, #243e2e);
    padding: 140px 6% 90px;
}

.hero-inner {
    width: 100%;
    max-width: 1400px;
    margin: auto;
}

.hero-content {
    max-width: 820px;
}

.eyebrow {
    text-transform: uppercase;
    letter-spacing: .18em;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 20px;
}

.hero h1 {
    margin: 0;
    max-width: 850px;
    font-family: Georgia, serif;
    font-size: clamp(48px, 7vw, 96px);
    line-height: .98;
    font-weight: 500;
}

.hero p {
    max-width: 650px;
    margin: 30px 0;
    font-size: 20px;
}

.buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.button {
    display: inline-block;
    padding: 14px 24px;
    border-radius: 3px;
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
}

.button-primary {
    background: var(--cream);
    color: var(--green-dark);
}

.button-secondary {
    border: 1px solid rgba(255,255,255,.65);
    color: var(--white);
}

.section {
    padding: 100px 6%;
}

.container {
    max-width: 1200px;
    margin: auto;
}

.intro {
    text-align: center;
    background: var(--cream);
}

.intro h2,
.section-title {
    font-family: Georgia, serif;
    color: var(--green-dark);
    font-size: clamp(36px, 5vw, 58px);
    line-height: 1.1;
    margin: 0 0 25px;
    font-weight: 500;
}

.intro p {
    max-width: 800px;
    margin: auto;
    font-size: 19px;
}

.pillars {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: #d9d5ca;
}

.pillar {
    background: var(--cream-light);
    padding: 70px 8%;
}

.pillar-number {
    color: var(--tan);
    font-size: 13px;
    letter-spacing: .15em;
    font-weight: 700;
}

.pillar h3 {
    font-family: Georgia, serif;
    color: var(--green-dark);
    font-size: 30px;
    margin: 14px 0;
}

.respect {
    background: var(--green-dark);
    color: var(--cream);
}

.respect .section-title {
    color: var(--cream);
    max-width: 800px;
}

.respect p {
    max-width: 750px;
    font-size: 19px;
}

.quote {
    margin-top: 45px;
    padding-left: 25px;
    border-left: 2px solid var(--tan);
    font-family: Georgia, serif;
    font-size: 27px;
    max-width: 760px;
}

.cta {
    text-align: center;
    background: var(--cream);
}

.site-footer {
    background: #12251b;
    color: rgba(255,255,255,.75);
    padding: 55px 6%;
}

.footer-inner {
    max-width: 1200px;
    margin: auto;
}

.footer-brand {
    color: var(--white);
    font-family: Georgia, serif;
    font-size: 25px;
}

@media (max-width: 800px) {
    .site-nav {
        display: none;
    }

    .hero {
        min-height: 820px;
    }

    .pillars {
        grid-template-columns: 1fr;
    }

    .section {
        padding: 75px 7%;
    }
}

/* PureFarmFresh hero photography */
.hero {
    background:
        linear-gradient(
            90deg,
            rgba(18, 48, 34, 0.38) 0%,
            rgba(18, 48, 34, 0.10) 48%,
            rgba(18, 48, 34, 0.02) 100%
        ),
        url('https://purefarmfresh.com/wp-content/uploads/2026/09/hero-3.png');

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

/* PureFarmFresh philosophy introduction */
.intro {
    position: relative;
    padding-top: 120px;
    padding-bottom: 120px;
}

.intro .container {
    max-width: 1050px;
}

.intro .eyebrow {
    color: #8B704C;
    margin-bottom: 25px;
}

.intro h2 {
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
}

.intro p {
    max-width: 760px;
    line-height: 1.85;
    color: #485149;
}

.intro::after {
    content: "";
    display: block;
    width: 70px;
    height: 1px;
    background: #B89B72;
    margin: 50px auto 0;
}

@media (max-width: 800px) {
    .intro {
        padding-top: 85px;
        padding-bottom: 85px;
    }
}

/* PureFarmFresh three principles */
.pillars {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    background: #F8F5ED;
    border-top: 1px solid rgba(41,73,54,.12);
    border-bottom: 1px solid rgba(41,73,54,.12);
}

.pillar {
    position: relative;
    min-height: 390px;
    padding: 75px 9% 70px;
    background: #F8F5ED;
    transition: background .3s ease, transform .3s ease;
}

.pillar + .pillar {
    border-left: 1px solid rgba(41,73,54,.15);
}

.pillar-number {
    display: block;
    margin-bottom: 38px;
    color: #A1845D;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .22em;
}

.pillar h3 {
    margin: 0 0 22px;
    color: #193326;
    font-family: Georgia, serif;
    font-size: clamp(30px, 2.6vw, 43px);
    font-weight: 500;
    line-height: 1.08;
}

.pillar p {
    max-width: 390px;
    margin: 0;
    color: #525A53;
    font-size: 17px;
    line-height: 1.8;
}

.pillar::after {
    content: "Explore  →";
    position: absolute;
    left: 9%;
    bottom: 42px;
    color: #294936;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .10em;
    text-transform: uppercase;
    opacity: 0;
    transform: translateY(5px);
    transition: opacity .3s ease, transform .3s ease;
}

.pillar:hover {
    background: #F1ECDF;
}

.pillar:hover::after {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 800px) {
    .pillars {
        grid-template-columns: 1fr;
    }

    .pillar {
        min-height: auto;
        padding: 60px 7% 85px;
    }

    .pillar + .pillar {
        border-left: 0;
        border-top: 1px solid rgba(41,73,54,.15);
    }

    .pillar::after {
        left: 7%;
        opacity: 1;
        bottom: 35px;
        transform: none;
    }
}

/* Respect the whole animal */
.respect {
    position: relative;
    overflow: hidden;
    padding-top: 125px;
    padding-bottom: 130px;
    background:
        radial-gradient(circle at 85% 25%, rgba(125,146,120,.15), transparent 34%),
        #193326;
}

.respect .container {
    position: relative;
    max-width: 1200px;
}

.respect .eyebrow {
    margin-bottom: 30px;
    color: #C8AD82;
}

.respect .section-title {
    max-width: 950px;
    margin-bottom: 38px;
    color: #F6F2E8;
    font-size: clamp(45px, 5.5vw, 76px);
    line-height: 1.06;
}

.respect p {
    max-width: 720px;
    margin: 0;
    color: rgba(246,242,232,.82);
    font-size: 18px;
    line-height: 1.9;
}

.respect .quote {
    position: relative;
    max-width: 850px;
    margin-top: 70px;
    padding: 32px 0 32px 38px;
    border-left: 2px solid #B89B72;
    color: #F6F2E8;
    font-family: Georgia, serif;
    font-size: clamp(26px, 3vw, 38px);
    font-style: italic;
    line-height: 1.35;
}

.respect::after {
    content: "RESPECT";
    position: absolute;
    right: -25px;
    bottom: -70px;
    color: rgba(255,255,255,.025);
    font-family: Georgia, serif;
    font-size: clamp(120px, 18vw, 300px);
    line-height: 1;
    pointer-events: none;
}

@media (max-width: 800px) {
    .respect {
        padding-top: 85px;
        padding-bottom: 90px;
    }

    .respect .quote {
        margin-top: 50px;
        padding-left: 25px;
    }

    .respect::after {
        display: none;
    }
}

/* Find local beef CTA */
.cta {
    position: relative;
    padding-top: 125px;
    padding-bottom: 130px;
    background: #F6F2E8;
    text-align: center;
}

.cta .container {
    max-width: 950px;
}

.cta .eyebrow {
    color: #927650;
    margin-bottom: 25px;
}

.cta .section-title {
    margin-bottom: 25px;
    color: #193326;
    font-size: clamp(45px, 5.5vw, 72px);
}

.cta p {
    max-width: 680px;
    margin: 0 auto 42px;
    color: #525A53;
    font-size: 19px;
    line-height: 1.8;
}

/* Future directory search preview */
.cta::after {
    content: "Farms • Farmers • Local Beef • Independent Processors";
    display: block;
    max-width: 760px;
    margin: 55px auto 0;
    padding-top: 30px;
    border-top: 1px solid rgba(41,73,54,.16);
    color: #7A807A;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

@media (max-width: 800px) {
    .cta {
        padding-top: 85px;
        padding-bottom: 90px;
    }

    .cta::after {
        margin-left: 7%;
        margin-right: 7%;
        line-height: 2;
    }
}

/* Find local beef CTA */
.cta {
    position: relative;
    padding-top: 125px;
    padding-bottom: 130px;
    background: #F6F2E8;
    text-align: center;
}

.cta .container {
    max-width: 950px;
}

.cta .eyebrow {
    color: #927650;
    margin-bottom: 25px;
}

.cta .section-title {
    margin-bottom: 25px;
    color: #193326;
    font-size: clamp(45px, 5.5vw, 72px);
}

.cta p {
    max-width: 680px;
    margin: 0 auto 42px;
    color: #525A53;
    font-size: 19px;
    line-height: 1.8;
}

/* Future directory search preview */
.cta::after {
    content: "Farms • Farmers • Local Beef • Independent Processors";
    display: block;
    max-width: 760px;
    margin: 55px auto 0;
    padding-top: 30px;
    border-top: 1px solid rgba(41,73,54,.16);
    color: #7A807A;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

@media (max-width: 800px) {
    .cta {
        padding-top: 85px;
        padding-bottom: 90px;
    }

    .cta::after {
        margin-left: 7%;
        margin-right: 7%;
        line-height: 2;
    }
}

/* =========================================================
   PUREFARMFRESH FARM PROFILES
   ========================================================= */

.farm-profile {
    background: #F8F5ED;
}

.farm-container {
    width: min(1120px, 88%);
    margin: 0 auto;
}

/* Farm hero */
.farm-hero {
    padding: 135px 6% 75px;
    background:
        radial-gradient(circle at 80% 20%, rgba(125,146,120,.20), transparent 35%),
        #193326;
    color: #F6F2E8;
}

.farm-hero-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.farm-hero .eyebrow {
    color: #C8AD82;
    margin-bottom: 16px;
}

.farm-hero h1 {
    max-width: 950px;
    margin: 0;
    font-family: Georgia, serif;
    font-size: clamp(50px, 7vw, 88px);
    font-weight: 500;
    line-height: 1.02;
}

.farm-location {
    margin-top: 18px;
    font-size: 20px;
    color: rgba(246,242,232,.85);
}

.farm-trust-line {
    margin-top: 36px;
    padding-top: 20px;
    border-top: 1px solid rgba(246,242,232,.20);
    color: rgba(246,242,232,.65);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .10em;
    text-transform: uppercase;
}

/* General profile sections */
.farm-section {
    padding: 100px 0;
}

.farm-section + .farm-section {
    border-top: 1px solid rgba(41,73,54,.12);
}

.farm-section-label {
    margin-bottom: 20px;
    color: #927650;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.farm-section h2 {
    max-width: 800px;
    margin: 0 0 40px;
    color: #193326;
    font-family: Georgia, serif;
    font-size: clamp(38px, 5vw, 60px);
    font-weight: 500;
    line-height: 1.08;
}

.farm-copy {
    max-width: 800px;
    color: #4F5851;
    font-size: 19px;
    line-height: 1.9;
}

/* Raising practices */
.farm-practices {
    background: #F1ECDF;
}

.farm-practice-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    margin-top: 45px;
    background: rgba(41,73,54,.13);
}

.farm-detail {
    padding: 35px;
    background: #F8F5ED;
}

.farm-detail span {
    display: block;
    margin-bottom: 12px;
    color: #927650;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.farm-detail p {
    margin: 0;
    color: #354239;
    font-size: 17px;
    line-height: 1.7;
}

.farm-badge {
    display: inline-block;
    margin-top: 35px;
    padding: 12px 18px;
    border: 1px solid rgba(41,73,54,.25);
    color: #294936;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
}


/* Farm Story + Image */
.farm-story-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(380px, .9fr);
    gap: 70px;
    align-items: center;
}

.farm-story .farm-copy {
    max-width: 650px;
}

.farm-story-image {
    overflow: hidden;
    border-radius: 18px;
    box-shadow: 0 14px 38px rgba(25,51,38,.12);
}

.farm-story-image img {
    display: block;
    width: 100%;
    height: 390px;
    object-fit: cover;
}

@media (max-width: 850px) {
    .farm-story-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .farm-story-image img {
        height: auto;
        max-height: 430px;
    }
}

/* Products */
.farm-products {
    background: #FBF9F4;
}

.product-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.product-tags span {
    padding: 12px 18px;
    background: #E8E0D0;
    color: #294936;
    font-size: 14px;
    font-weight: 700;
}

.farm-pricing {
    max-width: 750px;
    margin-top: 32px;
    padding: 28px 30px;
    background: #F1ECDF;
    border-left: 3px solid #B89B72;
}

.farm-pricing-label {
    margin-bottom: 8px;
    color: #927650;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.farm-pricing-price {
    color: #294936;
    font-family: Georgia, serif;
    font-size: 30px;
    line-height: 1.2;
}

.farm-pricing-method {
    margin-top: 5px;
    color: #526057;
    font-size: 14px;
    font-weight: 700;
}

.farm-pricing p {
    margin: 14px 0 0;
    color: #626A63;
    font-size: 14px;
    line-height: 1.65;
}

.buying-notes {
    max-width: 750px;
    margin-top: 45px;
    padding: 30px;
    border-left: 2px solid #B89B72;
    background: #F6F2E8;
    color: #4F5851;
    line-height: 1.8;
}

/* Contact */
.farm-contact {
    background: #294936;
    color: #F6F2E8;
}

.farm-contact .farm-section-label {
    color: #C8AD82;
}

.farm-contact h2 {
    color: #F6F2E8;
}

.farm-contact p {
    font-size: 18px;
}

.processor-line {
    color: rgba(246,242,232,.70);
}

.farm-contact-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 35px;
}

.farm-contact-links a {
    display: inline-block;
    padding: 14px 22px;
    border: 1px solid rgba(246,242,232,.55);
    color: #F6F2E8;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    transition: .25s ease;
}

.farm-contact-links a:hover {
    background: #F6F2E8;
    color: #193326;
}

/* Mobile farm profiles */
@media (max-width: 800px) {

    .farm-hero {
        padding: 110px 7% 60px;
    }

    .farm-section {
        padding: 75px 0;
    }

    .farm-container {
        width: 86%;
    }

    .farm-practice-grid {
        grid-template-columns: 1fr;
    }

    .farm-detail {
        padding: 28px;
    }

    .farm-contact-links {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* =========================================================
   PUREFARMFRESH FARM DIRECTORY
   ========================================================= */

.farm-directory {
    background: #F8F5ED;
}

.directory-container {
    width: min(1280px, 88%);
    margin: 0 auto;
}

.directory-hero {
    padding: 190px 0 105px;
    background:
        radial-gradient(circle at 80% 20%, rgba(125,146,120,.18), transparent 35%),
        #193326;
    color: #F6F2E8;
}

.directory-hero .eyebrow {
    color: #C8AD82;
}

.directory-hero h1 {
    margin: 18px 0 25px;
    font-family: Georgia, serif;
    font-size: clamp(55px, 7vw, 92px);
    font-weight: 500;
    line-height: 1;
}

.directory-hero p {
    max-width: 720px;
    margin: 0;
    color: rgba(246,242,232,.80);
    font-size: 19px;
    line-height: 1.8;
}

.directory-intro {
    padding: 100px 0 120px;
}

.directory-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 30px;
    margin-bottom: 55px;
}

.directory-label {
    margin-bottom: 12px;
    color: #927650;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.directory-heading h2 {
    margin: 0;
    color: #193326;
    font-family: Georgia, serif;
    font-size: clamp(38px, 5vw, 60px);
    font-weight: 500;
}

.directory-count {
    padding-bottom: 8px;
    color: #788078;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
}

.farm-directory-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.farm-card {
    overflow: hidden;
    background: #FFF;
    border: 1px solid rgba(41,73,54,.12);
    transition: transform .25s ease, box-shadow .25s ease;
}

.farm-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(25,51,38,.09);
}

.farm-card-image {
    display: block;
    height: 260px;
    overflow: hidden;
    background: #294936;
}

.farm-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.farm-card:hover .farm-card-image img {
    transform: scale(1.025);
}

.farm-image-placeholder {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at 70% 20%, rgba(125,146,120,.35), transparent 35%),
        #294936;
}

.farm-image-placeholder span {
    color: rgba(246,242,232,.75);
    font-family: Georgia, serif;
    font-size: 22px;
    letter-spacing: .08em;
}

.farm-card-content {
    position: relative;
    padding: 30px;
}

.farm-card-logo {
    width: 64px;
    height: 64px;
    margin: -62px 0 18px;
    padding: 4px;
    position: relative;
    z-index: 2;
    overflow: hidden;
    border: 3px solid #fff;
    border-radius: 14px;
    background: #F6F2E8;
    box-shadow: 0 5px 16px rgba(25,51,38,.14);
}

.farm-card-logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 9px;
}

.farm-card-location {
    margin-bottom: 10px;
    color: #927650;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.farm-card h3 {
    margin: 0 0 18px;
    font-family: Georgia, serif;
    font-size: 28px;
    font-weight: 500;
    line-height: 1.15;
}

.farm-card h3 a {
    color: #193326;
    text-decoration: none;
}

.farm-card-badge {
    display: inline-block;
    margin-bottom: 18px;
    color: #294936;
    font-size: 12px;
    font-weight: 700;
}

.farm-card-products {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 4px 0 25px;
}

.farm-card-products span {
    padding: 6px 9px;
    background: #F1ECDF;
    color: #596159;
    font-size: 11px;
    font-weight: 700;
}

.farm-card-link {
    color: #294936;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.directory-pagination {
    margin-top: 65px;
}

.directory-empty {
    padding: 65px;
    background: #F1ECDF;
    text-align: center;
}

.directory-empty h3 {
    margin-top: 0;
    color: #193326;
    font-family: Georgia, serif;
    font-size: 32px;
}

@media (max-width: 1000px) {
    .farm-directory-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 650px) {
    .directory-hero {
        padding: 145px 0 80px;
    }

    .directory-intro {
        padding: 75px 0 90px;
    }

    .directory-heading {
        display: block;
    }

    .directory-count {
        margin-top: 20px;
    }

    .farm-directory-grid {
        grid-template-columns: 1fr;
    }

    .farm-card-image {
        height: 230px;
    }
}

/* =========================================================
   PUREFARMFRESH DIRECTORY FILTERS
   ========================================================= */

.beef-filter-section {
    padding: 70px 0 0;
    background: #F8F5ED;
}

.beef-filter-form {
    padding: 42px;
    background: #F1ECDF;
    border: 1px solid rgba(41,73,54,.12);
}

.filter-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 32px;
}

.filter-heading h2 {
    margin: 5px 0 0;
    color: #193326;
    font-family: Georgia, serif;
    font-size: 32px;
    font-weight: 500;
}

.clear-filters {
    color: #294936;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .10em;
    text-decoration: none;
    text-transform: uppercase;
}

.filter-location {
    margin-bottom: 30px;
}

.filter-location > label,
.filter-group-title {
    display: block;
    margin-bottom: 10px;
    color: #596159;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.filter-location-row {
    display: flex;
    max-width: 760px;
}

.filter-location-row input {
    flex: 1;
    min-width: 0;
    padding: 15px 17px;
    border: 1px solid rgba(41,73,54,.22);
    border-right: 0;
    background: #FFF;
    color: #193326;
    font: inherit;
}

.filter-location-row input:focus {
    outline: 1px solid #294936;
}

.filter-location-row button,
.filter-submit-mobile button {
    padding: 15px 25px;
    border: 1px solid #294936;
    background: #294936;
    color: #FFF;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
}

.filter-groups {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 45px;
    padding-top: 28px;
    border-top: 1px solid rgba(41,73,54,.12);
}

.filter-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.filter-group-title {
    flex-basis: 100%;
}

.filter-option {
    position: relative;
    cursor: pointer;
}

.filter-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.filter-option span {
    display: block;
    padding: 9px 13px;
    border: 1px solid rgba(41,73,54,.18);
    background: #F8F5ED;
    color: #4F5851;
    font-size: 12px;
    font-weight: 600;
    transition: .2s ease;
}

.filter-option:hover span {
    border-color: #294936;
}

.filter-option input:checked + span {
    border-color: #294936;
    background: #294936;
    color: #FFF;
}

.filter-submit-mobile {
    display: none;
}

@media (max-width: 800px) {

    .beef-filter-section {
        padding-top: 45px;
    }

    .beef-filter-form {
        padding: 28px 22px;
    }

    .filter-heading {
        display: block;
    }

    .clear-filters {
        display: inline-block;
        margin-top: 15px;
    }

    .filter-location-row {
        display: block;
    }

    .filter-location-row input {
        width: 100%;
        border-right: 1px solid rgba(41,73,54,.22);
        box-sizing: border-box;
    }

    .filter-location-row button {
        width: 100%;
        margin-top: 8px;
    }

    .filter-groups {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .filter-submit-mobile {
        display: block;
        margin-top: 30px;
    }

    .filter-submit-mobile button {
        width: 100%;
    }
}


/* =========================================================
   PUREFARMFRESH PROCESSOR PROFILE
   ========================================================= */

.processor-profile {
    background: #F8F5ED;
    color: #193326;
}

.processor-container {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}

.processor-hero {
    background: #193326;
    color: #F8F5ED;
    padding: 115px 0 95px;
}

.processor-eyebrow,
.processor-label {
    color: #C8AD82;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.processor-hero h1 {
    color: #F8F5ED;
    font-family: Georgia, serif;
    font-size: clamp(48px, 6vw, 82px);
    font-weight: 400;
    line-height: 1.05;
    margin: 22px 0 18px;
    max-width: 900px;
}

.processor-location {
    color: #C8AD82;
    font-size: 17px;
    margin: 0 0 25px;
}

.processor-trust {
    color: #F8F5ED;
    font-size: 18px;
    line-height: 1.7;
    max-width: 680px;
    margin: 0;
}

.processor-content {
    padding: 90px 0 110px;
}

.processor-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(280px, 0.8fr);
    gap: 90px;
    align-items: start;
}

.processor-section {
    padding-bottom: 55px;
    margin-bottom: 55px;
    border-bottom: 1px solid rgba(25, 51, 38, 0.15);
}

.processor-section:last-child {
    border-bottom: 0;
}

.processor-section h2 {
    font-family: Georgia, serif;
    font-size: clamp(34px, 4vw, 52px);
    font-weight: 400;
    line-height: 1.1;
    margin: 14px 0 25px;
    color: #193326;
}

.processor-copy,
.processor-section p {
    font-size: 17px;
    line-height: 1.8;
}

.processor-services {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 25px;
}

.processor-service {
    background: #fff;
    border: 1px solid rgba(25, 51, 38, 0.18);
    padding: 11px 16px;
    font-size: 13px;
    font-weight: 600;
}

.processor-contact-card {
    background: #EFE8D8;
    padding: 38px;
}

.processor-contact-card h3 {
    font-family: Georgia, serif;
    font-size: 31px;
    font-weight: 400;
    margin: 12px 0 30px;
}

.processor-contact-card p {
    line-height: 1.6;
    margin: 0 0 22px;
}

.processor-contact-card a {
    color: #193326;
}

.processor-website {
    display: inline-block;
    background: #294936;
    color: #fff !important;
    text-decoration: none;
    padding: 13px 20px;
    font-weight: 700;
    font-size: 13px;
}

.processor-note {
    margin-top: 24px;
    border: 1px solid rgba(25, 51, 38, 0.15);
    padding: 28px;
    font-size: 14px;
    line-height: 1.6;
}

.processor-note p {
    margin: 8px 0 0;
}

@media (max-width: 800px) {

    .processor-container {
        width: min(100% - 32px, 1180px);
    }

    .processor-hero {
        padding: 80px 0 65px;
    }

    .processor-content {
        padding: 60px 0 80px;
    }

    .processor-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .processor-contact-card {
        padding: 28px;
    }
}


/* =========================================================
   PUREFARMFRESH PROCESSOR DIRECTORY
   ========================================================= */

.processor-directory {
    background: #F8F5ED;
    color: #193326;
}

.processor-directory-container {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}


/* HERO */

.processor-directory-hero {
    background: #193326;
    color: #F8F5ED;
    padding: 105px 0 85px;
}

.processor-directory-eyebrow {
    color: #C8AD82;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.processor-directory-hero h1 {
    font-family: Georgia, serif;
    font-size: clamp(52px, 7vw, 84px);
    font-weight: 400;
    line-height: 1;
    color: #F8F5ED;
    margin: 20px 0 24px;
}

.processor-directory-hero p {
    max-width: 650px;
    margin: 0;
    font-size: 18px;
    line-height: 1.7;
}


/* FILTER PANEL */

.processor-filter-section {
    background: #EFE8D8;
    padding: 45px 24px;
}

.processor-filter-form {
    max-width: 1180px;
    margin: 0 auto;
}

.processor-filter-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 30px;
    margin-bottom: 25px;
}

.processor-filter-heading span,
.processor-results-heading span,
.processor-filter-title {
    display: block;
    color: #927650;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.7px;
    text-transform: uppercase;
}

.processor-filter-heading h2 {
    font-family: Georgia, serif;
    font-size: 30px;
    font-weight: 400;
    color: #193326;
    margin: 7px 0 0;
}

.processor-clear-filters {
    color: #193326;
    font-size: 13px;
    font-weight: 700;
}

.processor-location-row {
    display: grid;
    grid-template-columns: 1fr 165px;
    margin-bottom: 28px;
}

.processor-location-row input {
    min-width: 0;
    border: 1px solid rgba(25, 51, 38, 0.18);
    background: #fff;
    color: #193326;
    padding: 15px 18px;
    font-size: 15px;
    outline: none;
}

.processor-location-row input:focus {
    border-color: #294936;
}

.processor-location-row button {
    border: 0;
    background: #294936;
    color: #fff;
    padding: 15px 20px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.processor-filter-groups {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 50px;
}

.processor-filter-title {
    margin-bottom: 13px;
}

.processor-filter-option {
    display: inline-flex;
    align-items: center;
    margin: 0 7px 8px 0;
    cursor: pointer;
}

.processor-filter-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.processor-filter-option span {
    display: inline-block;
    background: #F8F5ED;
    border: 1px solid rgba(25, 51, 38, 0.16);
    padding: 9px 13px;
    color: #193326;
    font-size: 12px;
    font-weight: 600;
    transition: 0.15s ease;
}

.processor-filter-option input:checked + span {
    background: #294936;
    border-color: #294936;
    color: #fff;
}

.processor-filter-option:hover span {
    border-color: #294936;
}


/* RESULTS */

.processor-directory-results {
    padding: 75px 0 110px;
}

.processor-results-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 35px;
}

.processor-results-heading h2 {
    font-family: Georgia, serif;
    font-size: clamp(38px, 5vw, 54px);
    font-weight: 400;
    line-height: 1.1;
    color: #193326;
    margin: 10px 0 0;
}

.processor-count {
    color: #927650;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
}


/* CARDS */

.processor-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.processor-card {
    background: #fff;
    border: 1px solid rgba(25, 51, 38, 0.12);
}

.processor-card-image {
    display: block;
    height: 220px;
    overflow: hidden;
    text-decoration: none;
}

.processor-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.processor-placeholder {
    height: 100%;
    background: #294936;
    color: #F8F5ED;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.processor-placeholder span {
    font-family: Georgia, serif;
    font-size: 28px;
    letter-spacing: 2px;
}

.processor-placeholder small {
    color: #C8AD82;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-top: 8px;
}

.processor-card-body {
    padding: 27px;
}

.processor-card-location {
    color: #927650;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.3px;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.processor-card h3 {
    font-family: Georgia, serif;
    font-size: 27px;
    font-weight: 400;
    line-height: 1.15;
    margin: 0 0 20px;
}

.processor-card h3 a {
    color: #193326;
    text-decoration: none;
}

.processor-card-services {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 24px;
}

.processor-card-services span {
    background: #F3EFE5;
    color: #193326;
    padding: 7px 9px;
    font-size: 10px;
    font-weight: 700;
}

.processor-view-link {
    display: inline-block;
    color: #193326;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid #C8AD82;
    padding-bottom: 3px;
}


/* EMPTY RESULTS */

.processor-empty {
    border-top: 1px solid rgba(25, 51, 38, 0.15);
    padding: 50px 0;
}

.processor-empty h3 {
    font-family: Georgia, serif;
    font-size: 32px;
    font-weight: 400;
    margin: 0 0 12px;
}

.processor-empty p {
    margin-bottom: 20px;
}

.processor-empty a {
    color: #193326;
    font-weight: 700;
}


/* MOBILE */

@media (max-width: 900px) {

    .processor-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .processor-filter-groups {
        grid-template-columns: 1fr;
        gap: 25px;
    }
}

@media (max-width: 650px) {

    .processor-directory-container {
        width: min(100% - 32px, 1180px);
    }

    .processor-directory-hero {
        padding: 75px 0 60px;
    }

    .processor-filter-section {
        padding: 35px 16px;
    }

    .processor-filter-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .processor-location-row {
        grid-template-columns: 1fr;
    }

    .processor-location-row button {
        width: 100%;
    }

    .processor-results-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .processor-card-grid {
        grid-template-columns: 1fr;
    }

    .processor-directory-results {
        padding: 55px 0 80px;
    }
}


/* =========================================================
   PUREFARMFRESH PROCESSOR DIRECTORY
   ========================================================= */

.processor-directory {
    background: #F8F5ED;
    color: #193326;
}

.processor-directory-container {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}


/* HERO */

.processor-directory-hero {
    background: #193326;
    color: #F8F5ED;
    padding: 105px 0 85px;
}

.processor-directory-eyebrow {
    color: #C8AD82;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.processor-directory-hero h1 {
    font-family: Georgia, serif;
    font-size: clamp(52px, 7vw, 84px);
    font-weight: 400;
    line-height: 1;
    color: #F8F5ED;
    margin: 20px 0 24px;
}

.processor-directory-hero p {
    max-width: 650px;
    margin: 0;
    font-size: 18px;
    line-height: 1.7;
}


/* FILTER PANEL */

.processor-filter-section {
    background: #EFE8D8;
    padding: 45px 24px;
}

.processor-filter-form {
    max-width: 1180px;
    margin: 0 auto;
}

.processor-filter-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 30px;
    margin-bottom: 25px;
}

.processor-filter-heading span,
.processor-results-heading span,
.processor-filter-title {
    display: block;
    color: #927650;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.7px;
    text-transform: uppercase;
}

.processor-filter-heading h2 {
    font-family: Georgia, serif;
    font-size: 30px;
    font-weight: 400;
    color: #193326;
    margin: 7px 0 0;
}

.processor-clear-filters {
    color: #193326;
    font-size: 13px;
    font-weight: 700;
}

.processor-location-row {
    display: grid;
    grid-template-columns: 1fr 165px;
    margin-bottom: 28px;
}

.processor-location-row input {
    min-width: 0;
    border: 1px solid rgba(25, 51, 38, 0.18);
    background: #fff;
    color: #193326;
    padding: 15px 18px;
    font-size: 15px;
    outline: none;
}

.processor-location-row input:focus {
    border-color: #294936;
}

.processor-location-row button {
    border: 0;
    background: #294936;
    color: #fff;
    padding: 15px 20px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.processor-filter-groups {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 50px;
}

.processor-filter-title {
    margin-bottom: 13px;
}

.processor-filter-option {
    display: inline-flex;
    align-items: center;
    margin: 0 7px 8px 0;
    cursor: pointer;
}

.processor-filter-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.processor-filter-option span {
    display: inline-block;
    background: #F8F5ED;
    border: 1px solid rgba(25, 51, 38, 0.16);
    padding: 9px 13px;
    color: #193326;
    font-size: 12px;
    font-weight: 600;
    transition: 0.15s ease;
}

.processor-filter-option input:checked + span {
    background: #294936;
    border-color: #294936;
    color: #fff;
}

.processor-filter-option:hover span {
    border-color: #294936;
}


/* RESULTS */

.processor-directory-results {
    padding: 75px 0 110px;
}

.processor-results-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 35px;
}

.processor-results-heading h2 {
    font-family: Georgia, serif;
    font-size: clamp(38px, 5vw, 54px);
    font-weight: 400;
    line-height: 1.1;
    color: #193326;
    margin: 10px 0 0;
}

.processor-count {
    color: #927650;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
}


/* CARDS */

.processor-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.processor-card {
    background: #fff;
    border: 1px solid rgba(25, 51, 38, 0.12);
}

.processor-card-image {
    display: block;
    height: 220px;
    overflow: hidden;
    text-decoration: none;
}

.processor-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.processor-placeholder {
    height: 100%;
    background: #294936;
    color: #F8F5ED;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.processor-placeholder span {
    font-family: Georgia, serif;
    font-size: 28px;
    letter-spacing: 2px;
}

.processor-placeholder small {
    color: #C8AD82;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-top: 8px;
}

.processor-card-body {
    padding: 27px;
}

.processor-card-location {
    color: #927650;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.3px;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.processor-card h3 {
    font-family: Georgia, serif;
    font-size: 27px;
    font-weight: 400;
    line-height: 1.15;
    margin: 0 0 20px;
}

.processor-card h3 a {
    color: #193326;
    text-decoration: none;
}

.processor-card-services {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 24px;
}

.processor-card-services span {
    background: #F3EFE5;
    color: #193326;
    padding: 7px 9px;
    font-size: 10px;
    font-weight: 700;
}

.processor-view-link {
    display: inline-block;
    color: #193326;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid #C8AD82;
    padding-bottom: 3px;
}


/* EMPTY RESULTS */

.processor-empty {
    border-top: 1px solid rgba(25, 51, 38, 0.15);
    padding: 50px 0;
}

.processor-empty h3 {
    font-family: Georgia, serif;
    font-size: 32px;
    font-weight: 400;
    margin: 0 0 12px;
}

.processor-empty p {
    margin-bottom: 20px;
}

.processor-empty a {
    color: #193326;
    font-weight: 700;
}


/* MOBILE */

@media (max-width: 900px) {

    .processor-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .processor-filter-groups {
        grid-template-columns: 1fr;
        gap: 25px;
    }
}

@media (max-width: 650px) {

    .processor-directory-container {
        width: min(100% - 32px, 1180px);
    }

    .processor-directory-hero {
        padding: 75px 0 60px;
    }

    .processor-filter-section {
        padding: 35px 16px;
    }

    .processor-filter-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .processor-location-row {
        grid-template-columns: 1fr;
    }

    .processor-location-row button {
        width: 100%;
    }

    .processor-results-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .processor-card-grid {
        grid-template-columns: 1fr;
    }

    .processor-directory-results {
        padding: 55px 0 80px;
    }
}


/* =========================================================
   PUREFARMFRESH ANIMAL RESCUE PROFILE
   ========================================================= */

.rescue-profile {
    background: #F8F5ED;
    color: #193326;
}

.rescue-container {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}


/* HERO */

.rescue-hero {
    background: #294936;
    color: #F8F5ED;
    padding: 110px 0 90px;
}

.rescue-eyebrow,
.rescue-label {
    color: #C8AD82;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.rescue-hero h1 {
    color: #F8F5ED;
    font-family: Georgia, serif;
    font-size: clamp(50px, 7vw, 84px);
    font-weight: 400;
    line-height: 1.04;
    max-width: 900px;
    margin: 20px 0;
}

.rescue-location {
    color: #C8AD82;
    font-weight: 600;
    margin-bottom: 25px;
}

.rescue-intro {
    max-width: 620px;
    font-size: 19px;
    line-height: 1.7;
}


/* CONTENT */

.rescue-content {
    padding: 90px 0 110px;
}

.rescue-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(300px, .8fr);
    gap: 90px;
    align-items: start;
}

.rescue-section {
    padding-bottom: 55px;
    margin-bottom: 55px;
    border-bottom: 1px solid rgba(25,51,38,.14);
}

.rescue-section h2 {
    font-family: Georgia, serif;
    font-size: clamp(36px, 4vw, 52px);
    font-weight: 400;
    line-height: 1.1;
    margin: 14px 0 25px;
}

.rescue-story {
    font-size: 17px;
    line-height: 1.85;
}


/* ANIMALS */

.rescue-animal-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.rescue-animal-tags span {
    background: #EFE8D8;
    border: 1px solid rgba(25,51,38,.12);
    padding: 10px 15px;
    font-size: 13px;
    font-weight: 700;
}


/* PHILOSOPHY */

.rescue-philosophy {
    background: #EFE8D8;
    padding: 45px;
}

.rescue-philosophy blockquote {
    font-family: Georgia, serif;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.25;
    color: #193326;
    margin: 20px 0 25px;
}

.rescue-philosophy p {
    font-size: 15px;
    line-height: 1.75;
}


/* SIDEBAR */

.rescue-photo {
    margin-bottom: 22px;
}

.rescue-photo img {
    width: 100%;
    height: auto;
    display: block;
}

.rescue-support-card {
    background: #193326;
    color: #F8F5ED;
    padding: 38px;
}

.rescue-support-card h3 {
    color: #F8F5ED;
    font-family: Georgia, serif;
    font-size: 32px;
    font-weight: 400;
    margin: 12px 0 20px;
}

.rescue-support-card p {
    color: rgba(248,245,237,.85);
    font-size: 14px;
    line-height: 1.7;
}

.rescue-donate-button {
    display: block;
    background: #C8AD82;
    color: #193326 !important;
    text-align: center;
    text-decoration: none;
    font-weight: 700;
    font-size: 13px;
    padding: 15px 18px;
    margin-top: 25px;
}

.rescue-website-link {
    display: inline-block;
    color: #F8F5ED !important;
    margin-top: 20px;
    font-size: 13px;
    font-weight: 700;
}

.rescue-contact {
    border: 1px solid rgba(25,51,38,.15);
    padding: 30px;
    margin-top: 22px;
}

.rescue-contact p {
    font-size: 14px;
    line-height: 1.6;
    margin: 18px 0 0;
}

.rescue-contact a {
    color: #193326;
}


/* MOBILE */

@media (max-width: 800px) {

    .rescue-container {
        width: min(100% - 32px, 1180px);
    }

    .rescue-hero {
        padding: 75px 0 60px;
    }

    .rescue-content {
        padding: 60px 0 80px;
    }

    .rescue-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .rescue-philosophy {
        padding: 30px;
    }

    .rescue-support-card {
        padding: 30px;
    }
}


/* =========================================================
   PUREFARMFRESH ANIMAL RESCUE DIRECTORY
   ========================================================= */

.rescue-directory {
    background: #F8F5ED;
    color: #193326;
}

.rescue-directory-container {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}


/* Hero */

.rescue-directory-hero {
    background: #294936;
    color: #fff;
    padding: 88px 0 92px;
}

.rescue-directory-eyebrow {
    color: #C8AD82;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.2px;
    margin-bottom: 18px;
}

.rescue-directory-hero h1 {
    margin: 0 0 22px;
    max-width: 760px;
    color: #fff;
    font-family: Georgia, serif;
    font-size: clamp(48px, 6vw, 78px);
    line-height: .98;
    font-weight: 400;
    letter-spacing: -2px;
}

.rescue-directory-hero p {
    max-width: 700px;
    margin: 0;
    color: rgba(255,255,255,.82);
    font-size: 18px;
    line-height: 1.7;
}


/* Filter area */

.rescue-filter-section {
    background: #F8F5ED;
    padding: 58px 24px 20px;
}

.rescue-filter-form {
    width: min(1180px, 100%);
    margin: 0 auto;
    padding: 38px 40px 40px;
    background: #EFE7D8;
    border: 1px solid rgba(25,51,38,.08);
}

.rescue-filter-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 30px;
    margin-bottom: 28px;
}

.rescue-filter-heading span,
.rescue-results-heading span {
    display: block;
    margin-bottom: 8px;
    color: #927650;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
}

.rescue-filter-heading h2,
.rescue-results-heading h2 {
    margin: 0;
    color: #193326;
    font-family: Georgia, serif;
    font-size: 32px;
    line-height: 1.15;
    font-weight: 400;
}

.rescue-clear-filters {
    color: #294936;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid rgba(41,73,54,.35);
}

.rescue-clear-filters:hover {
    color: #927650;
}


/* Location search */

.rescue-location-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    margin-bottom: 30px;
}

.rescue-location-row input {
    width: 100%;
    min-height: 52px;
    padding: 0 18px;
    border: 1px solid rgba(25,51,38,.18);
    border-radius: 0;
    outline: none;
    background: #fff;
    color: #193326;
    font-size: 15px;
}

.rescue-location-row input:focus {
    border-color: #294936;
}

.rescue-location-row button {
    min-height: 52px;
    padding: 0 28px;
    border: 0;
    background: #294936;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.rescue-location-row button:hover {
    background: #193326;
}


/* Animal filters */

.rescue-filter-title {
    margin-bottom: 13px;
    color: #193326;
    font-size: 13px;
    font-weight: 700;
}

.rescue-filter-options {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.rescue-filter-option {
    position: relative;
    cursor: pointer;
}

.rescue-filter-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.rescue-filter-option span {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 15px;
    background: rgba(255,255,255,.65);
    border: 1px solid rgba(25,51,38,.14);
    color: #294936;
    font-size: 13px;
    transition: .18s ease;
}

.rescue-filter-option:hover span {
    background: #fff;
    border-color: #294936;
}

.rescue-filter-option input:checked + span {
    background: #294936;
    border-color: #294936;
    color: #fff;
}


/* Results */

.rescue-directory-results {
    padding: 55px 0 100px;
}

.rescue-results-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 30px;
    margin-bottom: 32px;
}

.rescue-count {
    color: #927650;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
}


/* Cards */

.rescue-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px;
}

.rescue-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(25,51,38,.09);
    box-shadow: 0 8px 28px rgba(25,51,38,.04);
    transition: transform .2s ease, box-shadow .2s ease;
}

.rescue-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 34px rgba(25,51,38,.09);
}

.rescue-card-image {
    display: block;
    height: 225px;
    overflow: hidden;
    background: #294936;
}

.rescue-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.rescue-card:hover .rescue-card-image img {
    transform: scale(1.025);
}

.rescue-placeholder {
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background:
        linear-gradient(
            135deg,
            #193326,
            #294936
        );
    color: #fff;
}

.rescue-placeholder span {
    font-family: Georgia, serif;
    font-size: 25px;
    letter-spacing: 2px;
}

.rescue-placeholder small {
    margin-top: 7px;
    color: #C8AD82;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.rescue-card-body {
    padding: 25px 25px 27px;
}

.rescue-card-location {
    margin-bottom: 8px;
    color: #927650;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.3px;
    text-transform: uppercase;
}

.rescue-card h3 {
    margin: 0 0 18px;
    font-family: Georgia, serif;
    font-size: 25px;
    line-height: 1.2;
    font-weight: 400;
}

.rescue-card h3 a {
    color: #193326;
    text-decoration: none;
}

.rescue-card h3 a:hover {
    color: #927650;
}

.rescue-card-animals {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-height: 29px;
    margin-bottom: 22px;
}

.rescue-card-animals span {
    padding: 6px 9px;
    background: #F6F2E8;
    color: #294936;
    font-size: 11px;
    font-weight: 600;
}


/* Card buttons */

.rescue-card-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 18px;
    border-top: 1px solid rgba(25,51,38,.09);
}

.rescue-view-link {
    color: #294936;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.rescue-view-link:hover {
    color: #927650;
}

.rescue-direct-link {
    padding: 9px 13px;
    background: #C8AD82;
    color: #193326;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
}

.rescue-direct-link:hover {
    background: #294936;
    color: #fff;
}


/* Empty state */

.rescue-empty {
    padding: 65px 30px;
    background: #EFE7D8;
    text-align: center;
}

.rescue-empty h3 {
    margin: 0 0 10px;
    color: #193326;
    font-family: Georgia, serif;
    font-size: 30px;
    font-weight: 400;
}

.rescue-empty p {
    margin: 0 0 20px;
    color: #59665f;
}

.rescue-empty a {
    color: #294936;
    font-weight: 700;
}


/* Pagination */

.rescue-directory-results .nav-links {
    display: flex;
    justify-content: center;
    gap: 7px;
    margin-top: 45px;
}

.rescue-directory-results .page-numbers {
    display: inline-flex;
    min-width: 40px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 8px;
    border: 1px solid rgba(25,51,38,.15);
    color: #294936;
    text-decoration: none;
}

.rescue-directory-results .page-numbers.current {
    background: #294936;
    border-color: #294936;
    color: #fff;
}


/* Tablet */

@media (max-width: 950px) {

    .rescue-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* Mobile */

@media (max-width: 700px) {

    .rescue-directory-container {
        width: min(100% - 32px, 1180px);
    }

    .rescue-directory-hero {
        padding: 65px 0 70px;
    }

    .rescue-directory-hero h1 {
        font-size: 48px;
        letter-spacing: -1px;
    }

    .rescue-directory-hero p {
        font-size: 16px;
    }

    .rescue-filter-section {
        padding: 30px 16px 10px;
    }

    .rescue-filter-form {
        padding: 28px 22px;
    }

    .rescue-filter-heading,
    .rescue-results-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .rescue-location-row {
        grid-template-columns: 1fr;
    }

    .rescue-location-row button {
        width: 100%;
    }

    .rescue-card-grid {
        grid-template-columns: 1fr;
    }

    .rescue-directory-results {
        padding: 40px 0 70px;
    }

    .rescue-card-image {
        height: 220px;
    }

}


/* =========================================================
   PUREFARMFRESH HOMEPAGE — RESPECT IN ACTION
   ========================================================= */

.home-rescue {
    padding: 105px 0;
    background: #F8F5ED;
    color: #193326;
}

.home-rescue-grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 80px;
    align-items: center;
}

.home-rescue-message {
    max-width: 680px;
}

.home-rescue-message .section-title {
    max-width: 650px;
    margin-bottom: 28px;
    font-family: Georgia, serif;
    font-size: clamp(44px, 5vw, 68px);
    line-height: 1.02;
    font-weight: 400;
    letter-spacing: -1.5px;
}

.home-rescue-message p {
    max-width: 610px;
    margin: 0 0 17px;
    color: #59665f;
    font-size: 17px;
    line-height: 1.75;
}

.home-rescue-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 18px;
    min-height: 52px;
    padding: 0 25px;
    background: #294936;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.home-rescue-button:hover {
    background: #193326;
    color: #fff;
}

.home-rescue-principle {
    padding: 48px;
    background: #294936;
    color: #fff;
}

.home-rescue-principle-label {
    margin-bottom: 22px;
    color: #C8AD82;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
}

.home-rescue-principle blockquote {
    margin: 0 0 28px;
    padding: 0;
    border: 0;
    color: #fff;
    font-family: Georgia, serif;
    font-size: 30px;
    line-height: 1.3;
    font-weight: 400;
}

.home-rescue-principle p {
    margin: 0;
    color: rgba(255,255,255,.78);
    font-size: 15px;
    line-height: 1.75;
}

.home-rescue-direct {
    margin-top: 30px;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,.16);
    color: #C8AD82;
    font-size: 12px;
    line-height: 1.6;
    font-weight: 700;
}

@media (max-width: 850px) {

    .home-rescue {
        padding: 70px 0;
    }

    .home-rescue-grid {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .home-rescue-principle {
        padding: 36px;
    }

}

@media (max-width: 600px) {

    .home-rescue-message .section-title {
        font-size: 42px;
    }

    .home-rescue-principle {
        padding: 30px 25px;
    }

    .home-rescue-principle blockquote {
        font-size: 26px;
    }

}


/* PUREFARMFRESH HOMEPAGE BRAND MARK */

.home-brand-logo {
    padding: 42px 0 24px;
    background: #F8F5ED;
    text-align: center;
}

.home-brand-logo img {
    display: block;
    width: min(620px, 90%);
    height: auto;
    margin: 0 auto;
}

@media (max-width: 600px) {
    .home-brand-logo {
        padding: 30px 0 15px;
    }

    .home-brand-logo img {
        width: min(440px, 94%);
    }
}

/* PUREFARMFRESH HOMEPAGE LOGO SIZE ADJUSTMENT */

.home-brand-logo {
    padding: 20px 0 16px !important;
}

.home-brand-logo img {
    width: min(390px, 75%) !important;
    height: auto !important;
    margin: 0 auto !important;
}

@media (max-width: 600px) {
    .home-brand-logo {
        padding: 16px 0 12px !important;
    }

    .home-brand-logo img {
        width: min(320px, 82%) !important;
    }
}

/* PUREFARMFRESH HOMEPAGE LOGO SIZE ADJUSTMENT */

.home-brand-logo {
    padding: 20px 0 16px !important;
}

.home-brand-logo img {
    width: min(390px, 75%) !important;
    height: auto !important;
    margin: 0 auto !important;
}

@media (max-width: 600px) {
    .home-brand-logo {
        padding: 16px 0 12px !important;
    }

    .home-brand-logo img {
        width: min(320px, 82%) !important;
    }
}

/* PUREFARMFRESH HOMEPAGE LOGO SIZE ADJUSTMENT */

.home-brand-logo {
    padding: 20px 0 16px !important;
}

.home-brand-logo img {
    width: min(390px, 75%) !important;
    height: auto !important;
    margin: 0 auto !important;
}

@media (max-width: 600px) {
    .home-brand-logo {
        padding: 16px 0 12px !important;
    }

    .home-brand-logo img {
        width: min(320px, 82%) !important;
    }
}


/* =========================================================
   PUREFARMFRESH CONNECTED SITE HEADER
   ========================================================= */

.purefarmfresh-site-header {
    position: relative;
    z-index: 1000;
    width: 100%;
    background: #F8F5ED;
    border-bottom: 1px solid rgba(25,51,38,.12);
}

.purefarmfresh-header-inner {
    width: min(1500px, calc(100% - 64px));
    min-height: 100px;
    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 40px;
}


/* Logo */

.purefarmfresh-header-brand {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    text-decoration: none;
}

.purefarmfresh-header-brand img {
    display: block;

    width: 215px;
    height: 76px;

    object-fit: contain;
    object-position: center;

    margin: 0;
}


/* Navigation */

.purefarmfresh-navigation {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: clamp(22px, 2.5vw, 42px);
}

.purefarmfresh-navigation a {
    position: relative;

    padding: 38px 0 35px;

    color: #193326;

    font-size: 14px;
    font-weight: 700;
    line-height: 1;

    text-decoration: none;

    white-space: nowrap;
}

.purefarmfresh-navigation a::after {
    content: "";

    position: absolute;
    left: 0;
    right: 100%;
    bottom: 27px;

    height: 2px;

    background: #C8AD82;

    transition: right .2s ease;
}

.purefarmfresh-navigation a:hover {
    color: #927650;
}

.purefarmfresh-navigation a:hover::after {
    right: 0;
}


/* Mobile button */

.purefarmfresh-menu-toggle {
    display: none;

    width: 46px;
    height: 46px;

    padding: 11px;

    border: 1px solid rgba(25,51,38,.18);

    background: transparent;

    cursor: pointer;
}

.purefarmfresh-menu-toggle > span:not(.screen-reader-text) {
    display: block;

    width: 100%;
    height: 2px;

    margin: 5px 0;

    background: #193326;

    transition: .2s ease;
}


/* Tablet */

@media (max-width: 1000px) {

    .purefarmfresh-header-inner {
        width: min(100% - 40px, 1500px);
        min-height: 88px;
    }

    .purefarmfresh-header-brand img {
        width: 185px;
        height: 65px;
    }

    .purefarmfresh-navigation {
        gap: 20px;
    }

    .purefarmfresh-navigation a {
        font-size: 13px;
    }

}


/* Mobile */

@media (max-width: 800px) {

    .purefarmfresh-site-header {
        position: relative;
    }

    .purefarmfresh-header-inner {
        position: relative;

        width: calc(100% - 32px);
        min-height: 82px;

        gap: 20px;
    }

    .purefarmfresh-header-brand img {
        width: 170px;
        height: 60px;
    }

    .purefarmfresh-menu-toggle {
        display: block;
        flex: 0 0 auto;
    }

    .purefarmfresh-navigation {
        display: none;

        position: absolute;

        top: 82px;
        left: -16px;
        right: -16px;

        padding: 12px 22px 24px;

        background: #F8F5ED;

        border-top: 1px solid rgba(25,51,38,.10);
        border-bottom: 1px solid rgba(25,51,38,.12);

        box-shadow: 0 12px 25px rgba(25,51,38,.08);
    }

    .purefarmfresh-navigation.is-open {
        display: block;
    }

    .purefarmfresh-navigation a {
        display: block;

        padding: 16px 4px;

        border-bottom: 1px solid rgba(25,51,38,.08);

        color: #193326;

        font-family: Georgia, serif;
        font-size: 19px;
        font-weight: 400;
    }

    .purefarmfresh-navigation a:last-child {
        border-bottom: 0;
    }

    .purefarmfresh-navigation a::after {
        display: none;
    }

}


/* Small phones */

@media (max-width: 420px) {

    .purefarmfresh-header-brand img {
        width: 145px;
        height: 54px;
    }

}


/* =========================================================
   PUREFARMFRESH HEADER FINAL ADJUSTMENTS
   ========================================================= */

.purefarmfresh-header-inner {
    min-height: 112px;
}

.purefarmfresh-header-brand img {
    width: 235px;
    height: 88px;
    object-fit: contain;
}

.purefarmfresh-listing-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 46px;
    padding: 0 20px;

    background: #C8AD82;
    color: #193326 !important;

    font-size: 13px;
    font-weight: 700;
    line-height: 1;

    text-decoration: none;
    white-space: nowrap;

    transition: background .2s ease, color .2s ease;
}

.purefarmfresh-listing-button:hover {
    background: #294936;
    color: #fff !important;
}


@media (max-width: 1100px) {

    .purefarmfresh-header-inner {
        gap: 24px;
    }

    .purefarmfresh-header-brand img {
        width: 205px;
        height: 78px;
    }

    .purefarmfresh-navigation {
        gap: 18px;
    }

    .purefarmfresh-listing-button {
        padding: 0 15px;
    }

}


@media (max-width: 800px) {

    .purefarmfresh-header-inner {
        min-height: 82px;
    }

    .purefarmfresh-header-brand img {
        width: 170px;
        height: 64px;
    }

    .purefarmfresh-listing-button {
        display: none;
    }

}


/* PUREFARMFRESH ADD YOUR LISTING HEADER CTA */

.purefarmfresh-site-header .purefarmfresh-listing-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    min-height: 46px;
    padding: 0 23px !important;

    background: #C8AD82 !important;
    border: 1px solid #C8AD82 !important;
    border-radius: 2px;

    color: #193326 !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    text-decoration: none !important;
    white-space: nowrap;

    transition: all .2s ease;
}

.purefarmfresh-site-header .purefarmfresh-listing-button:hover {
    background: #294936 !important;
    border-color: #294936 !important;
    color: #fff !important;
}

@media (max-width: 800px) {
    .purefarmfresh-site-header .purefarmfresh-listing-button {
        display: none !important;
    }
}


/* =========================================================
   PUREFARMFRESH ADD YOUR LISTING
   ========================================================= */

.listing-choice-page {
    background: #F8F5ED;
    color: #193326;
}

.listing-choice-container {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}


/* Hero */

.listing-choice-hero {
    padding: 90px 0 92px;
    background: #294936;
    color: #fff;
}

.listing-choice-eyebrow {
    margin-bottom: 15px;
    color: #C8AD82;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.2px;
}

.listing-choice-hero h1 {
    margin: 0 0 23px;
    color: #fff;
    font-family: Georgia, serif;
    font-size: clamp(52px, 6vw, 78px);
    line-height: 1;
    font-weight: 400;
}

.listing-choice-hero p {
    max-width: 700px;
    margin: 0;
    color: rgba(255,255,255,.8);
    font-size: 18px;
    line-height: 1.7;
}

.listing-free-note {
    display: inline-block;
    margin-top: 27px;
    padding: 10px 15px;
    border: 1px solid rgba(200,173,130,.65);
    color: #C8AD82;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}


/* Selection */

.listing-choice-section {
    padding: 85px 0 100px;
}

.listing-choice-intro {
    max-width: 680px;
    margin-bottom: 42px;
}

.listing-choice-intro h2 {
    margin: 0 0 13px;
    font-family: Georgia, serif;
    font-size: 42px;
    line-height: 1.1;
    font-weight: 400;
}

.listing-choice-intro p {
    margin: 0;
    color: #667168;
    font-size: 16px;
}


.listing-choice-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.listing-choice-card {
    position: relative;
    display: flex;
    flex-direction: column;

    min-height: 510px;
    padding: 35px 32px;

    background: #fff;
    border: 1px solid rgba(25,51,38,.1);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.listing-choice-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 35px rgba(25,51,38,.08);
}

.listing-choice-number {
    position: absolute;
    top: 29px;
    right: 29px;

    color: rgba(25,51,38,.17);

    font-family: Georgia, serif;
    font-size: 30px;
}

.listing-choice-type {
    margin-bottom: 15px;
    color: #927650;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.listing-choice-card h3 {
    margin: 0 0 18px;

    font-family: Georgia, serif;
    font-size: 32px;
    line-height: 1.1;
    font-weight: 400;
}

.listing-choice-card > p {
    margin: 0 0 22px;

    color: #667168;
    font-size: 15px;
    line-height: 1.7;
}

.listing-choice-card ul {
    margin: 0 0 30px;
    padding: 20px 0 0 18px;

    border-top: 1px solid rgba(25,51,38,.09);

    color: #294936;

    font-size: 13px;
    line-height: 1.9;
}

.listing-choice-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 48px;
    margin-top: auto;
    padding: 0 19px;

    background: #294936;
    color: #fff !important;

    font-size: 13px;
    font-weight: 700;

    text-decoration: none !important;
}

.listing-choice-button:hover {
    background: #C8AD82;
    color: #193326 !important;
}


/* Rescue card */

.listing-choice-rescue {
    background: #294936;
    color: #fff;
}

.listing-choice-rescue .listing-choice-number {
    color: rgba(255,255,255,.15);
}

.listing-choice-rescue h3 {
    color: #fff;
}

.listing-choice-rescue > p {
    color: rgba(255,255,255,.72);
}

.listing-choice-rescue ul {
    border-color: rgba(255,255,255,.13);
    color: rgba(255,255,255,.82);
}

.listing-choice-rescue .listing-choice-button {
    background: #C8AD82;
    color: #193326 !important;
}

.listing-choice-rescue .listing-choice-button:hover {
    background: #fff;
}


/* Principle */

.listing-choice-principle {
    padding: 80px 0;
    background: #EFE7D8;
}

.listing-principle-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
}

.listing-principle-grid h2 {
    max-width: 540px;
    margin: 0;

    font-family: Georgia, serif;
    font-size: 38px;
    line-height: 1.2;
    font-weight: 400;
}

.listing-principle-grid p {
    margin: 0 0 17px;

    color: #59665f;
    font-size: 16px;
    line-height: 1.75;
}


/* Responsive */

@media (max-width: 900px) {

    .listing-choice-grid {
        grid-template-columns: 1fr;
    }

    .listing-choice-card {
        min-height: 0;
    }

    .listing-principle-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

}

@media (max-width: 600px) {

    .listing-choice-container {
        width: calc(100% - 32px);
    }

    .listing-choice-hero {
        padding: 65px 0;
    }

    .listing-choice-section {
        padding: 60px 0 70px;
    }

    .listing-choice-card {
        padding: 30px 25px;
    }

}


/* PUREFARMFRESH HEADER CTA — GOLD PILL */

.purefarmfresh-site-header .purefarmfresh-listing-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 46px !important;
    padding: 0 25px !important;

    background: #D6A63A !important;
    border: 1px solid #D6A63A !important;
    border-radius: 999px !important;

    color: #193326 !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    text-decoration: none !important;
    white-space: nowrap !important;

    box-shadow: 0 3px 10px rgba(146,118,80,.15);

    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.purefarmfresh-site-header .purefarmfresh-listing-button:hover {
    background: #E2B84F !important;
    border-color: #E2B84F !important;
    color: #193326 !important;

    transform: translateY(-1px);

    box-shadow: 0 5px 14px rgba(146,118,80,.22);
}

/* =========================================================
   PUREFARMFRESH — FARM LOCATION / MAP
   ========================================================= */

.farm-map-section {
    background: #fff;
}

.farm-map-section .farm-section-label {
    color: #927650;
}

.farm-map-section h2 {
    margin-bottom: 22px;
}

.farm-map-section > p {
    max-width: 760px;
    color: #526057;
    font-size: 18px;
    line-height: 1.7;
}

.farm-map-section iframe {
    display: block;
    width: 100%;
    height: 420px;
    margin-top: 32px;
    border: 0;
    border-radius: 18px;
    box-shadow: 0 12px 35px rgba(25, 51, 38, .10);
}

.farm-map-section .farm-map-note {
    margin-top: 14px;
    color: #788078;
    font-size: 13px;
    font-style: italic;
}

@media (max-width: 800px) {
    .farm-map-section iframe {
        height: 320px;
        border-radius: 12px;
    }
}



/* Farm Buying Details Final */
.farm-buying-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    max-width: 1000px;
    margin-top: 32px;
}

.farm-buying-card {
    padding: 28px 30px;
    background: #F1ECDF;
    border-left: 3px solid #B89B72;
}

.farm-buying-details .farm-pricing {
    max-width: none;
    margin-top: 0;
}

.farm-processor-name {
    color: #294936;
    font-family: Georgia, serif;
    font-size: 24px;
    line-height: 1.25;
}

.farm-buying-card p {
    margin: 14px 0 0;
    color: #626A63;
    font-size: 14px;
    line-height: 1.65;
}

.farm-ordering,
.farm-fulfillment {
    grid-column: 1 / -1;
}

.farm-fulfillment {
    margin-top: 4px;
}

.farm-fulfillment-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}

.farm-fulfillment-options span {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border: 1px solid rgba(41, 73, 54, .18);
    border-radius: 999px;
    background: #F6F2E8;
    color: #294936;
    font-size: 14px;
    font-weight: 700;
}

@media (max-width: 800px) {
    .farm-buying-details {
        grid-template-columns: 1fr;
    }

    .farm-ordering,
    .farm-fulfillment {
        grid-column: auto;
    }
}


/* Processor logo badge */
.processor-card-image {
    position: relative;
}

.processor-logo-badge {
    position: absolute;
    left: 16px;
    bottom: 14px;
    width: 52px;
    height: 52px;
    padding: 6px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

.processor-logo-badge img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 50%;
}

/* Processor Grid / List / Map controls */
.processor-view-switcher {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin: 0 0 24px;
}

.processor-view-button {
    appearance: none;
    border: 1px solid rgba(25, 51, 38, 0.2);
    background: #fff;
    color: #294936;
    padding: 9px 15px;
    border-radius: 6px;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.processor-view-button:hover,
.processor-view-button.active {
    background: #294936;
    color: #fff;
    border-color: #294936;
}

/* Processor list view */
.processor-card-grid.processor-list-view {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

.processor-list-view .processor-card {
    display: grid;
    grid-template-columns: 260px 1fr;
    overflow: hidden;
}

.processor-list-view .processor-card-image {
    height: 100%;
    min-height: 190px;
}

@media (max-width: 700px) {
    .processor-view-switcher {
        justify-content: flex-start;
    }

    .processor-list-view .processor-card {
        grid-template-columns: 1fr;
    }

    .processor-list-view .processor-card-image {
        height: 220px;
    }
}

/* Alberta processor map */
.processor-map {
    width: 100%;
    height: 620px;
    margin-bottom: 32px;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(25, 51, 38, 0.15);
    background: #f4f4f1;
}

.processor-map[hidden] {
    display: none;
}

@media (max-width: 700px) {
    .processor-map {
        height: 500px;
    }
}

/* Processor directory list view */
.processor-list-view {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
}

.processor-list-view .processor-card {
    display: grid;
    grid-template-columns: 220px 1fr;
    min-height: 220px;
}

.processor-list-view .processor-card-image {
    height: 100%;
    min-height: 220px;
}

.processor-list-view .processor-card-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 28px 32px;
}

.processor-list-view .processor-card-services {
    margin-top: 12px;
}

.processor-list-view .processor-view-link {
    margin-top: 18px;
}

@media (max-width: 700px) {

    .processor-list-view .processor-card {
        grid-template-columns: 140px 1fr;
        min-height: 160px;
    }

    .processor-list-view .processor-card-image {
        min-height: 160px;
    }

    .processor-list-view .processor-card-body {
        padding: 18px;
    }
}

/* PureFarmFresh processor map markers */
.purefarmfresh-map-marker {
    background: transparent;
    border: 0;
}

.purefarmfresh-map-marker span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #94C347;
    color: #ffffff;
    border: 3px solid #ffffff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
    font-size: 14px;
    font-weight: 700;
}

.purefarmfresh-map-popup {
    min-width: 190px;
    line-height: 1.5;
}

.purefarmfresh-map-popup strong {
    font-size: 15px;
}

.purefarmfresh-map-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 10px;
    max-height: 220px;
    overflow-y: auto;
}

.purefarmfresh-map-list a {
    display: block;
    padding: 5px 0;
    border-top: 1px solid #eeeeee;
    text-decoration: none;
}

.purefarmfresh-map-list a:hover {
    text-decoration: underline;
}


/* Processor profile image sizing */
.processor-profile-image {
    max-width: 620px;
    margin: 0 auto 40px;
    border-radius: 14px;
    overflow: hidden;
}

.processor-profile-image img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 420px;
    object-fit: cover;
}

@media (max-width: 700px) {
    .processor-profile-image {
        max-width: 100%;
        margin-bottom: 30px;
    }

    .processor-profile-image img {
        max-height: 300px;
    }
}


/* Individual processor profile map */
.processor-single-map {
    width: 100%;
    height: 360px;
    margin-top: 20px;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(25, 51, 38, 0.15);
    background: #f4f4f1;
}

.processor-map-disclaimer {
    margin-top: 10px;
    font-size: 13px;
    line-height: 1.5;
    opacity: 0.75;
}

@media (max-width: 700px) {
    .processor-single-map {
        height: 280px;
    }
}




/* ---------------------------------------------------------
   Processor inquiry form
--------------------------------------------------------- */

.pb-processor-inquiry {
    max-width: 100%;
    margin: 72px 0 20px;
    padding-top: 55px;
    border-top: 1px solid rgba(25, 51, 38, 0.15);
}

.pb-processor-inquiry .processor-label {
    margin-bottom: 12px;
}

.pb-processor-inquiry h2 {
    margin: 0 0 12px;
}

.pb-processor-inquiry-intro {
    max-width: 720px;
    margin-bottom: 32px;
    color: #52645a;
}

.pb-processor-inquiry form {
    max-width: 900px;
}

.pb-processor-inquiry fieldset {
    margin: 0 0 28px;
    padding: 0;
    border: 0;
}

.pb-processor-inquiry legend {
    display: block;
    width: 100%;
    margin-bottom: 12px;
    padding: 0;
    font-weight: 600;
    color: #193326;
}

.pb-processor-inquiry .pb-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 28px;
}

.pb-processor-inquiry .pb-field {
    margin-bottom: 22px;
}

.pb-processor-inquiry .pb-field label {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #193326;
}

.pb-processor-inquiry input[type="text"],
.pb-processor-inquiry input[type="email"],
.pb-processor-inquiry input[type="tel"],
.pb-processor-inquiry select,
.pb-processor-inquiry textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 13px 15px;
    border: 1px solid #d8d5cb;
    border-radius: 7px;
    background: #fffdf8;
    color: #193326;
    font: inherit;
}

.pb-processor-inquiry textarea {
    min-height: 130px;
    resize: vertical;
}

.pb-processor-inquiry input:focus,
.pb-processor-inquiry select:focus,
.pb-processor-inquiry textarea:focus {
    outline: none;
    border-color: #94C347;
    box-shadow: 0 0 0 2px rgba(148, 195, 71, 0.12);
}

.pb-processor-inquiry .pb-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.pb-processor-inquiry .pb-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 52px;
    box-sizing: border-box;
    padding: 12px 14px;
    border: 1px solid #dedbd2;
    border-radius: 9px;
    background: transparent;
    cursor: pointer;
}

.pb-processor-inquiry .pb-checkbox:hover {
    border-color: #94C347;
}

.pb-processor-inquiry .pb-checkbox input {
    flex: 0 0 auto;
    margin: 0;
}

.pb-processor-inquiry .pb-checkbox span {
    font-size: 14px;
    line-height: 1.35;
    font-weight: 600;
    color: #193326;
}

.pb-processor-inquiry .pb-inquiry-privacy {
    max-width: 760px;
    margin: 24px 0;
    padding: 18px 20px;
    border-left: 3px solid #94C347;
    background: rgba(148, 195, 71, 0.07);
    color: #52645a;
    font-size: 13px;
    line-height: 1.6;
}

.pb-processor-inquiry .pb-inquiry-privacy strong {
    color: #193326;
}

.pb-processor-inquiry .pb-inquiry-privacy p {
    margin: 5px 0 0;
}

.pb-processor-inquiry .pb-submit-button {
    display: inline-block;
    padding: 13px 25px;
    border: 0;
    border-radius: 6px;
    background: #193f2f;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.pb-processor-inquiry .pb-submit-button:hover {
    background: #285640;
}

@media (max-width: 800px) {

    .pb-processor-inquiry .pb-checkbox-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {

    .pb-processor-inquiry {
        margin-top: 50px;
        padding-top: 40px;
    }

    .pb-processor-inquiry .pb-form-grid,
    .pb-processor-inquiry .pb-checkbox-grid {
        grid-template-columns: 1fr;
    }
}



/* ---------------------------------------------------------
   Processor inquiry form
--------------------------------------------------------- */

.pb-processor-inquiry {
    max-width: 100%;
    margin: 72px 0 20px;
    padding-top: 55px;
    border-top: 1px solid rgba(25, 51, 38, 0.15);
}

.pb-processor-inquiry .processor-label {
    margin-bottom: 12px;
}

.pb-processor-inquiry h2 {
    margin: 0 0 12px;
}

.pb-processor-inquiry-intro {
    max-width: 720px;
    margin-bottom: 32px;
    color: #52645a;
}

.pb-processor-inquiry form {
    max-width: 900px;
}

.pb-processor-inquiry fieldset {
    margin: 0 0 28px;
    padding: 0;
    border: 0;
}

.pb-processor-inquiry legend {
    display: block;
    width: 100%;
    margin-bottom: 12px;
    padding: 0;
    font-weight: 600;
    color: #193326;
}

.pb-processor-inquiry .pb-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 28px;
}

.pb-processor-inquiry .pb-field {
    margin-bottom: 22px;
}

.pb-processor-inquiry .pb-field label {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #193326;
}

.pb-processor-inquiry input[type="text"],
.pb-processor-inquiry input[type="email"],
.pb-processor-inquiry input[type="tel"],
.pb-processor-inquiry select,
.pb-processor-inquiry textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 13px 15px;
    border: 1px solid #d8d5cb;
    border-radius: 7px;
    background: #fffdf8;
    color: #193326;
    font: inherit;
}

.pb-processor-inquiry textarea {
    min-height: 130px;
    resize: vertical;
}

.pb-processor-inquiry input:focus,
.pb-processor-inquiry select:focus,
.pb-processor-inquiry textarea:focus {
    outline: none;
    border-color: #94C347;
    box-shadow: 0 0 0 2px rgba(148, 195, 71, 0.12);
}

.pb-processor-inquiry .pb-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.pb-processor-inquiry .pb-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 52px;
    box-sizing: border-box;
    padding: 12px 14px;
    border: 1px solid #dedbd2;
    border-radius: 9px;
    background: transparent;
    cursor: pointer;
}

.pb-processor-inquiry .pb-checkbox:hover {
    border-color: #94C347;
}

.pb-processor-inquiry .pb-checkbox input {
    flex: 0 0 auto;
    margin: 0;
}

.pb-processor-inquiry .pb-checkbox span {
    font-size: 14px;
    line-height: 1.35;
    font-weight: 600;
    color: #193326;
}

.pb-processor-inquiry .pb-inquiry-privacy {
    max-width: 760px;
    margin: 24px 0;
    padding: 18px 20px;
    border-left: 3px solid #94C347;
    background: rgba(148, 195, 71, 0.07);
    color: #52645a;
    font-size: 13px;
    line-height: 1.6;
}

.pb-processor-inquiry .pb-inquiry-privacy strong {
    color: #193326;
}

.pb-processor-inquiry .pb-inquiry-privacy p {
    margin: 5px 0 0;
}

.pb-processor-inquiry .pb-submit-button {
    display: inline-block;
    padding: 13px 25px;
    border: 0;
    border-radius: 6px;
    background: #193f2f;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.pb-processor-inquiry .pb-submit-button:hover {
    background: #285640;
}

@media (max-width: 800px) {

    .pb-processor-inquiry .pb-checkbox-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {

    .pb-processor-inquiry {
        margin-top: 50px;
        padding-top: 40px;
    }

    .pb-processor-inquiry .pb-form-grid,
    .pb-processor-inquiry .pb-checkbox-grid {
        grid-template-columns: 1fr;
    }
}


/* Narrow processor inquiry section */
.pb-processor-inquiry {
    width: min(100%, 850px);
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
}

.pb-processor-inquiry form {
    width: 100%;
    max-width: 850px;
}



/* ---------------------------------------------------------
   Processor at a glance
--------------------------------------------------------- */

.processor-at-a-glance {
    max-width: 1100px;
    margin: 0 auto 42px;
    padding: 28px 30px 24px;
    border: 1px solid rgba(25, 51, 38, 0.12);
    border-radius: 12px;
    background: #f7f8f3;
}

.processor-glance-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin-top: 18px;
    overflow: hidden;
    border-radius: 8px;
    background: rgba(25, 51, 38, 0.10);
}

.processor-glance-item {
    min-height: 82px;
    padding: 17px 18px;
    background: #fff;
}

.processor-glance-item span {
    display: block;
    margin-bottom: 7px;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #718078;
}

.processor-glance-item strong {
    display: block;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 600;
    color: #193326;
}

.processor-government-source {
    margin: 17px 0 0;
    font-size: 12px;
    line-height: 1.5;
    color: #65736c;
}

.processor-government-source a {
    color: #193f2f;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

@media (max-width: 900px) {

    .processor-glance-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {

    .processor-at-a-glance {
        padding: 22px 18px 20px;
    }

    .processor-glance-grid {
        grid-template-columns: 1fr;
    }
}



/* Make processor government source clearly visible */
.processor-government-source {
    margin-top: 20px !important;
    padding: 14px 16px;
    border-left: 3px solid #94C347;
    background: #ffffff;
    border-radius: 4px;
    font-size: 13px !important;
    line-height: 1.55;
    color: #52645a !important;
}

.processor-government-source::before {
    content: "Government information";
    display: block;
    margin-bottom: 4px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #193326;
}

.processor-government-source a {
    color: #193f2f !important;
    font-weight: 700;
}


/* Consolidated processor information panel */
.processor-information {
    padding-bottom: 28px;
}

.processor-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 20px 0 16px;
}

.processor-info-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 15px 16px;
    background: #f7f8f3;
    border: 1px solid rgba(25, 51, 38, 0.10);
    border-radius: 8px;
}

.processor-info-icon {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #5f8f2d;
    background: rgba(148, 195, 71, 0.14);
    border-radius: 50%;
}

.processor-info-item strong {
    display: block;
    margin-bottom: 3px;
    font-size: 12px;
    line-height: 1.3;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #66736c;
}

.processor-info-item div > span {
    display: block;
    font-size: 15px;
    line-height: 1.4;
    color: #193326;
}

.processor-services-compact {
    margin-top: 14px;
}

.processor-services-pending {
    margin: 0;
    padding: 11px 14px;
    background: #fafafa;
    border-radius: 6px;
    font-size: 13px;
    color: #69756e;
}

.processor-information .processor-government-source {
    margin-top: 15px !important;
    padding: 11px 14px;
}

@media (max-width: 650px) {
    .processor-info-grid {
        grid-template-columns: 1fr;
    }
}


/* Compact processor profile spacing */
.processor-profile .processor-content {
    padding-top: 55px;
    padding-bottom: 65px;
}

.processor-profile .processor-section {
    padding-bottom: 30px;
    margin-bottom: 30px;
}

.processor-profile .processor-information {
    padding-bottom: 26px;
    margin-bottom: 28px;
}

.processor-profile .processor-location-map-section {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 0;
}

.processor-profile .processor-location-map-section h2 {
    margin-bottom: 16px;
}

.processor-profile .processor-single-map {
    margin-top: 12px;
}

.processor-profile .processor-map-disclaimer {
    margin-bottom: 0;
}

.processor-profile + .pb-processor-inquiry,
.pb-processor-inquiry {
    margin-top: 30px;
    padding-top: 32px;
}

.pb-processor-inquiry-intro {
    margin-bottom: 22px;
}

@media (max-width: 700px) {
    .processor-profile .processor-content {
        padding-top: 35px;
        padding-bottom: 45px;
    }

    .processor-profile .processor-section {
        padding-bottom: 24px;
        margin-bottom: 24px;
    }

    .pb-processor-inquiry {
        margin-top: 22px;
        padding-top: 25px;
    }
}


/* Processor sidebar location map */
.processor-sidebar-map {
    margin-top: 24px;
    padding: 22px;
    border: 1px solid rgba(25, 51, 38, 0.15);
    background: #f7f8f3;
}

.processor-sidebar-map .processor-label {
    margin-bottom: 12px;
}

.processor-sidebar-map .processor-single-map {
    height: 230px;
    margin-top: 0;
    border-radius: 8px;
}

.processor-sidebar-map .processor-map-disclaimer {
    margin: 10px 0 0;
    font-size: 12px;
    line-height: 1.45;
}

@media (max-width: 700px) {
    .processor-sidebar-map .processor-single-map {
        height: 250px;
    }
}


/* Processor animals processed */
.processor-animals {
    margin: 16px 0;
    padding: 15px 16px;
    border: 1px solid rgba(25, 51, 38, 0.10);
    border-radius: 8px;
    background: #f7f8f3;
}

.processor-animals-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.processor-animals-heading .processor-info-icon {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
}

.processor-animals-heading strong {
    font-size: 12px;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #52645a;
}

.processor-animal-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.processor-animal-list span {
    padding: 7px 11px;
    border-radius: 20px;
    background: rgba(148, 195, 71, 0.16);
    color: #193326;
    font-size: 13px;
    font-weight: 600;
}

/*
|--------------------------------------------------------------------------
| PureFarmFresh Unified Directory Map
|--------------------------------------------------------------------------
*/

.pb-directory-map-wrap {
    max-width: 1400px;
    margin: 45px auto;
    padding: 0 24px;
}

.pb-directory-map-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 30px;
    margin-bottom: 22px;
}

.pb-directory-map-label {
    display: block;
    margin-bottom: 7px;
    color: #65746b;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
}

.pb-directory-map-header h2 {
    margin: 0;
    color: #193326;
    font-family: Georgia, serif;
    font-size: clamp(26px, 3vw, 38px);
    line-height: 1.15;
}

.pb-directory-map-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.pb-map-filter {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border: 1px solid #d8d5cb;
    border-radius: 7px;
    background: #ffffff;
    color: #52645a;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: .15s ease;
}

.pb-map-filter:hover {
    border-color: #aeb8b0;
}

.pb-map-filter:not(.is-active) {
    opacity: .42;
    background: #f3f3f0;
}

.pb-map-dot {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    flex: 0 0 11px;
}

.pb-map-dot-farm {
    background: #94C347;
}

.pb-map-dot-processor {
    background: #2474b5;
}

.pb-map-dot-rescue {
    background: #d9822b;
}

.pb-directory-map {
    width: 100%;
    height: 650px;
    border: 1px solid rgba(25, 51, 38, .16);
    border-radius: 10px;
    overflow: hidden;
    background: #eef0e8;
    box-shadow: 0 10px 35px rgba(25, 51, 38, .08);
}

.pb-directory-map-popup {
    min-width: 170px;
    color: #193326;
    line-height: 1.5;
}

.pb-directory-map-popup strong {
    font-family: Georgia, serif;
    font-size: 15px;
}

.pb-directory-map-popup a {
    display: inline-block;
    margin-top: 7px;
    color: #527d18;
    font-weight: 700;
    text-decoration: none;
}

.pb-directory-map-popup a:hover {
    text-decoration: underline;
}

.pb-directory-map-note {
    margin: 12px 2px 0;
    color: #6b756f;
    font-size: 12px;
    line-height: 1.5;
}

@media (max-width: 850px) {

    .pb-directory-map-header {
        display: block;
    }

    .pb-directory-map-filters {
        margin-top: 18px;
    }

    .pb-directory-map {
        height: 520px;
    }
}

@media (max-width: 600px) {

    .pb-directory-map-wrap {
        margin: 30px auto;
        padding: 0 15px;
    }

    .pb-directory-map-filters {
        display: grid;
        grid-template-columns: 1fr;
    }

    .pb-map-filter {
        justify-content: flex-start;
    }

    .pb-directory-map {
        height: 460px;
        border-radius: 7px;
    }
}

/* Unified directory numbered map markers */

.pb-directory-marker-wrap {
    background: transparent !important;
    border: 0 !important;
}

.pb-directory-marker {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 3px solid #ffffff;
    border-radius: 50%;
    box-sizing: border-box;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    box-shadow: 0 2px 7px rgba(0, 0, 0, .25);
}

.pb-directory-marker:hover {
    transform: scale(1.08);
}

.pb-directory-map-list {
    margin-top: 9px;
    max-height: 220px;
    overflow-y: auto;
}

.pb-directory-map-listing {
    padding: 5px 0;
    border-bottom: 1px solid #e8e8e3;
}

.pb-directory-map-listing:last-child {
    border-bottom: 0;
}

.pb-directory-map-listing a {
    margin: 0;
}

/*
|--------------------------------------------------------------------------
| Unified Directory Search Bar
|--------------------------------------------------------------------------
*/

.pb-directory-search-bar {
    display: grid;
    grid-template-columns: minmax(240px, 2fr) repeat(3, minmax(140px, 1fr)) auto;
    align-items: end;
    gap: 10px;
    margin: 0 0 16px;
    padding: 16px;
    background: #ffffff;
    border: 1px solid #dedbd2;
    border-radius: 9px;
    box-shadow: 0 4px 18px rgba(25, 51, 38, .06);
}

.pb-directory-search-field {
    min-width: 0;
}

.pb-directory-search-field label {
    display: block;
    margin: 0 0 6px;
    color: #52645a;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.pb-directory-search-field input,
.pb-directory-search-field select {
    width: 100%;
    height: 44px;
    margin: 0;
    padding: 0 12px;
    border: 1px solid #d5d3ca;
    border-radius: 6px;
    background: #ffffff;
    color: #193326;
    font: inherit;
    font-size: 14px;
    box-sizing: border-box;
}

.pb-directory-search-field input:focus,
.pb-directory-search-field select:focus {
    outline: none;
    border-color: #94C347;
    box-shadow: 0 0 0 2px rgba(148, 195, 71, .15);
}

.pb-directory-search-button {
    height: 44px;
    padding: 0 24px;
    border: 0;
    border-radius: 6px;
    background: #193326;
    color: #ffffff;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: .15s ease;
}

.pb-directory-search-button:hover {
    background: #2b503c;
}

@media (max-width: 1050px) {

    .pb-directory-search-bar {
        grid-template-columns: repeat(2, 1fr);
    }

    .pb-directory-location {
        grid-column: 1 / -1;
    }

    .pb-directory-search-button {
        width: 100%;
    }
}

@media (max-width: 600px) {

    .pb-directory-search-bar {
        grid-template-columns: 1fr;
        padding: 13px;
    }

    .pb-directory-location {
        grid-column: auto;
    }
}

/* =========================================================
   PUREFARMFRESH PREMIUM DIRECTORY NAVIGATION
   ========================================================= */

.purefarmfresh-nav-dropdown {
    position: relative;
    display: flex;
    align-items: center;
}

.purefarmfresh-dropdown-toggle {
    appearance: none;
    border: 0;
    background: transparent;
    color: #193326;
    padding: 38px 0 35px;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    white-space: nowrap;
}

.purefarmfresh-dropdown-toggle:hover,
.purefarmfresh-nav-dropdown.is-open .purefarmfresh-dropdown-toggle {
    color: #927650;
}

.purefarmfresh-nav-arrow {
    display: inline-block;
    margin-left: 6px;
    font-size: 15px;
    transition: transform .2s ease;
}

.purefarmfresh-nav-dropdown.is-open .purefarmfresh-nav-arrow {
    transform: rotate(180deg);
}

.purefarmfresh-dropdown-menu {
    display: none;
    position: absolute;
    top: calc(100% - 18px);
    left: 50%;
    width: 390px;
    padding: 25px;
    transform: translateX(-50%);
    background: #fff;
    border: 1px solid rgba(25,51,38,.10);
    border-radius: 12px;
    box-shadow: 0 18px 45px rgba(25,51,38,.14);
    z-index: 2000;
}

.purefarmfresh-nav-dropdown.is-open .purefarmfresh-dropdown-menu {
    display: block;
}

.purefarmfresh-dropdown-heading {
    margin: 0 0 10px;
    color: #927650;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.purefarmfresh-dropdown-menu > a,
.purefarmfresh-animal-links a {
    padding: 10px 8px;
    color: #193326;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
}

.purefarmfresh-dropdown-menu > a {
    display: flex;
    align-items: center;
    gap: 10px;
}

.purefarmfresh-dropdown-menu a::after {
    display: none !important;
}

.purefarmfresh-dropdown-menu a:hover {
    color: #927650;
    background: #F8F5ED;
    border-radius: 6px;
}

.purefarmfresh-dropdown-divider {
    height: 1px;
    margin: 15px 0 18px;
    background: rgba(25,51,38,.10);
}

.purefarmfresh-animal-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3px 8px;
}

.purefarmfresh-animal-links a {
    display: block;
}

.purefarmfresh-dropdown-menu .purefarmfresh-dropdown-map {
    display: block;
    margin-top: 17px;
    padding: 14px 12px;
    background: #294936;
    border-radius: 7px;
    color: #fff;
    text-align: center;
    font-weight: 700;
}

.purefarmfresh-dropdown-menu .purefarmfresh-dropdown-map:hover {
    background: #193326;
    color: #fff;
}


/* Mobile navigation */

@media (max-width: 800px) {

    .purefarmfresh-nav-dropdown {
        display: block;
        width: 100%;
    }

    .purefarmfresh-dropdown-toggle {
        display: flex;
        width: 100%;
        align-items: center;
        justify-content: space-between;
        padding: 16px 4px;
        border-bottom: 1px solid rgba(25,51,38,.08);
        color: #193326;
        font-family: Georgia, serif;
        font-size: 19px;
        font-weight: 400;
        text-align: left;
    }

    .purefarmfresh-dropdown-menu {
        position: static;
        width: 100%;
        padding: 15px 10px 18px;
        transform: none;
        background: #F1ECDF;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .purefarmfresh-dropdown-menu > a,
    .purefarmfresh-animal-links a {
        padding: 11px 9px;
        border-bottom: 0;
        font-family: inherit;
        font-size: 14px;
        font-weight: 600;
    }

    .purefarmfresh-animal-links {
        grid-template-columns: 1fr 1fr;
    }

    .purefarmfresh-dropdown-menu .purefarmfresh-dropdown-map {
        margin-top: 14px;
        color: #fff;
    }

}


/* =========================================================
   PUREFARMFRESH DIRECTORY — ANIMAL FILTER
   ========================================================= */

.animal-filter {
    margin-bottom: 30px;
    padding-bottom: 28px;
    border-bottom: 1px solid rgba(41,73,54,.12);
}

.animal-filter-options {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.animal-filter-option {
    position: relative;
    cursor: pointer;
}

.animal-filter-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.animal-filter-option span {
    display: flex;
    align-items: center;
    min-height: 42px;
    padding: 9px 15px;
    border: 1px solid rgba(41,73,54,.18);
    border-radius: 999px;
    background: #F8F5ED;
    color: #39483F;
    font-size: 13px;
    font-weight: 600;
    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease,
        transform .2s ease;
}

.animal-filter-option:hover span {
    border-color: #294936;
    transform: translateY(-1px);
}

.animal-filter-option input:checked + span {
    border-color: #294936;
    background: #294936;
    color: #FFF;
}

@media (max-width: 800px) {

    .animal-filter-options {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .animal-filter-option span {
        justify-content: center;
        padding: 10px 8px;
        text-align: center;
    }

}

@media (max-width: 420px) {

    .animal-filter-options {
        grid-template-columns: 1fr;
    }

}


/*
|--------------------------------------------------------------------------
| Animal Directory Hero Images
|--------------------------------------------------------------------------
*/

.directory-hero-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
    align-items: center;
    gap: 70px;
}

.directory-hero-content {
    min-width: 0;
}

.directory-hero-animal {
    overflow: hidden;
    height: 390px;
    border-radius: 18px;
    box-shadow: 0 22px 55px rgba(0, 0, 0, .24);
}

.directory-hero-animal img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 900px) {
    .directory-hero-layout {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .directory-hero-animal {
        height: min(55vw, 390px);
    }
}

@media (max-width: 600px) {
    .directory-hero-animal {
        height: 260px;
        border-radius: 12px;
    }
}


/*
|--------------------------------------------------------------------------
| Directory Shortcut Navigation
|--------------------------------------------------------------------------
*/

.directory-shortcuts {
    background: #fff;
    border-bottom: 1px solid #e4e1d8;
    box-shadow: 0 5px 18px rgba(25, 51, 38, .06);
}

.directory-shortcuts-inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.directory-shortcut {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 66px;
    padding: 12px 20px;
    color: #193326;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    border-right: 1px solid #e4e1d8;
    transition: background .15s ease, color .15s ease;
}

.directory-shortcut:last-child {
    border-right: 0;
}

.directory-shortcut span {
    color: #927650;
    font-size: 20px;
    line-height: 1;
}

.directory-shortcut:hover {
    background: #f6f3eb;
    color: #193326;
}

#search-farms,
#directory-map,
#farm-listings {
    scroll-margin-top: 100px;
}

@media (max-width: 650px) {
    .directory-shortcut {
        min-height: 60px;
        padding: 10px 6px;
        gap: 5px;
        font-size: 12px;
        text-align: center;
    }

    .directory-shortcut span {
        font-size: 17px;
    }
}


/* ==========================================================
   PUREFARMFRESH ANIMAL DIRECTORY HERO — BLENDED
   ========================================================== */

.directory-hero:has(.directory-hero-animal) {
    position: relative;
    overflow: hidden;
    min-height: 470px;
    padding: 0;
    background: #143c2d;
}

.directory-hero:has(.directory-hero-animal) .directory-container {
    width: 100%;
    max-width: none;
}

.directory-hero-layout {
    position: relative;
    display: block;
    min-height: 470px;
}

.directory-hero-content {
    position: relative;
    z-index: 3;
    width: min(1280px, 88%);
    min-height: 470px;
    margin: 0 auto;
    padding: 115px 52% 80px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.directory-hero-animal {
    position: absolute;
    z-index: 1;
    inset: 0;
    width: 100%;
    height: 100% !important;
    border-radius: 0;
    box-shadow: none;
}

.directory-hero-animal img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center right;
}

.directory-hero:has(.directory-hero-animal)::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(
            90deg,
            #143c2d 0%,
            #143c2d 24%,
            rgba(20, 60, 45, .97) 35%,
            rgba(20, 60, 45, .82) 46%,
            rgba(20, 60, 45, .38) 60%,
            rgba(20, 60, 45, .08) 76%,
            transparent 100%
        );
}

.directory-hero:has(.directory-hero-animal) h1 {
    margin: 14px 0 22px;
    font-size: clamp(52px, 6vw, 82px);
    line-height: .98;
}

.directory-hero:has(.directory-hero-animal) p {
    max-width: 650px;
    font-size: 18px;
    line-height: 1.7;
}


/* ==========================================================
   GOLD DIRECTORY SHORTCUT BAR
   ========================================================== */

.directory-shortcuts {
    position: relative;
    z-index: 5;
    background: #fbf8f0;
    border-top: 2px solid #c99a2e;
    border-bottom: 2px solid #c99a2e;
    box-shadow: none;
}

.directory-shortcuts-inner {
    width: min(1400px, 100%);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.directory-shortcut {
    min-height: 92px;
    padding: 18px 30px;
    gap: 16px;
    color: #173d2e;
    border-right: 1px solid rgba(201, 154, 46, .35);
    font-size: 17px;
    font-weight: 700;
}

.directory-shortcut:last-child {
    border-right: 0;
}

.directory-shortcut span {
    color: #c99a2e;
    font-size: 30px;
}

.directory-shortcut:hover {
    background: #f4ead2;
    color: #173d2e;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 900px) {

    .directory-hero:has(.directory-hero-animal),
    .directory-hero-layout {
        min-height: 440px;
    }

    .directory-hero-content {
        min-height: 440px;
        padding: 90px 38% 65px 0;
    }

    .directory-hero:has(.directory-hero-animal)::after {
        background:
            linear-gradient(
                90deg,
                #143c2d 0%,
                rgba(20, 60, 45, .96) 38%,
                rgba(20, 60, 45, .60) 66%,
                rgba(20, 60, 45, .20) 100%
            );
    }
}

@media (max-width: 700px) {

    .directory-hero:has(.directory-hero-animal),
    .directory-hero-layout {
        min-height: 500px;
    }

    .directory-hero-content {
        width: 88%;
        min-height: 500px;
        padding: 70px 0 210px;
        justify-content: flex-start;
    }

    .directory-hero-animal img {
        object-position: 65% center;
    }

    .directory-hero:has(.directory-hero-animal)::after {
        background:
            linear-gradient(
                180deg,
                #143c2d 0%,
                rgba(20, 60, 45, .98) 42%,
                rgba(20, 60, 45, .70) 65%,
                rgba(20, 60, 45, .12) 100%
            );
    }

    .directory-hero:has(.directory-hero-animal) h1 {
        font-size: clamp(44px, 13vw, 62px);
    }

    .directory-shortcuts-inner {
        grid-template-columns: 1fr;
    }

    .directory-shortcut {
        min-height: 66px;
        justify-content: flex-start;
        padding: 12px 7%;
        border-right: 0;
        border-bottom: 1px solid rgba(201, 154, 46, .25);
    }

    .directory-shortcut:last-child {
        border-bottom: 0;
    }

    .directory-shortcut span {
        width: 30px;
        font-size: 23px;
        text-align: center;
    }
}


/* ==========================================================
   PUREFARMFRESH ANIMAL DIRECTORY — COMPACT HERO FINAL OVERRIDES
   ========================================================== */

.directory-hero:has(.directory-hero-animal) {
    min-height: 405px;
    margin: 24px 1.5% 0;
    border-radius: 15px;
}

.directory-hero:has(.directory-hero-animal) .directory-hero-layout {
    min-height: 405px;
}

.directory-hero:has(.directory-hero-animal) .directory-hero-content {
    width: min(1380px, 88%);
    min-height: 405px;
    padding: 70px 55% 60px 0;
}

.directory-hero:has(.directory-hero-animal) h1 {
    margin: 12px 0 20px;
    font-size: clamp(48px, 5vw, 72px);
    line-height: 1;
    white-space: nowrap;
}

.directory-hero:has(.directory-hero-animal) p {
    max-width: 610px;
    font-size: 17px;
    line-height: 1.65;
}

.directory-hero:has(.directory-hero-animal) .directory-hero-animal img {
    object-position: 72% center;
}

.directory-hero:has(.directory-hero-animal)::after {
    background:
        linear-gradient(
            90deg,
            #143c2d 0%,
            #143c2d 22%,
            rgba(20,60,45,.97) 31%,
            rgba(20,60,45,.88) 40%,
            rgba(20,60,45,.58) 51%,
            rgba(20,60,45,.20) 65%,
            rgba(20,60,45,.02) 78%,
            transparent 100%
        );
}


/* SHORTCUTS — MAP FIRST */

.directory-shortcuts {
    margin: 18px 1.5% 0;
    border: 1px solid #c99a2e;
    border-radius: 14px;
    overflow: hidden;
}

.directory-shortcuts-inner {
    width: 100%;
    max-width: none;
}

.directory-shortcut {
    min-height: 84px;
    color: #173d2e;
}

.directory-shortcut span {
    color: #c99a2e;
    font-size: 32px;
}


/* MOBILE */

@media (max-width: 900px) {

    .directory-hero:has(.directory-hero-animal),
    .directory-hero:has(.directory-hero-animal) .directory-hero-layout {
        min-height: 390px;
    }

    .directory-hero:has(.directory-hero-animal) .directory-hero-content {
        min-height: 390px;
        padding: 60px 38% 55px 0;
    }

    .directory-hero:has(.directory-hero-animal) h1 {
        white-space: normal;
    }
}

@media (max-width: 700px) {

    .directory-hero:has(.directory-hero-animal) {
        margin: 12px 12px 0;
        min-height: 470px;
    }

    .directory-hero:has(.directory-hero-animal) .directory-hero-layout {
        min-height: 470px;
    }

    .directory-hero:has(.directory-hero-animal) .directory-hero-content {
        width: 88%;
        min-height: 470px;
        padding: 55px 0 210px;
    }

    .directory-shortcuts {
        margin: 12px 12px 0;
    }
}


/* Directory shortcuts — white blocks with gold accents */
.directory-shortcuts {
    background: #ffffff;
    border: 1px solid #d7b56d;
    box-shadow: 0 8px 24px rgba(25, 51, 38, .07);
}

.directory-shortcut {
    background: #ffffff;
    color: #193326;
    border-right: 1px solid #e7dfcf;
}

.directory-shortcut span {
    color: #b88a2b;
}

.directory-shortcut:hover {
    background: #fbf7ed;
    color: #193326;
}


/* Tighten animal map below shortcut navigation */
.directory-shortcuts + #directory-map + .pb-directory-map-wrap {
    margin-top: 30px;
    margin-bottom: 35px;
}

#directory-map {
    scroll-margin-top: 100px;
}


/* Animal map heading + location count */
.pb-directory-map-header h2 {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 14px;
}

.pb-directory-map-count {
    display: inline-flex;
    align-items: center;
    padding: 6px 11px;
    border-radius: 999px;
    background: #f5ead0;
    color: #9b731f;
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .04em;
    white-space: nowrap;
}


/* ==========================================================
   DIRECTORY TOOLS — SEARCH + MAP SIDE BY SIDE
   ========================================================== */

.directory-tools {
    width: min(1400px, 94%);
    margin: 42px auto 60px;
    display: grid;
    grid-template-columns: minmax(330px, 390px) minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

.directory-search-column .beef-filter-section {
    margin: 0;
    padding: 0;
    background: transparent;
}

.directory-search-column .directory-container {
    width: 100%;
}

.directory-search-column .beef-filter-form {
    margin: 0;
    padding: 28px;
    background: #ffffff;
    border: 1px solid #ddd8ca;
    border-radius: 14px;
    box-shadow: 0 8px 28px rgba(25, 51, 38, .06);
}

.directory-search-column .filter-heading {
    margin-bottom: 25px;
}

.directory-search-column .filter-heading h2 {
    font-size: 28px;
}

.directory-search-column .animal-filter-options {
    grid-template-columns: 1fr;
}

.directory-search-column .filter-groups {
    display: block;
}

.directory-search-column .filter-group {
    margin-top: 25px;
}

.directory-map-column {
    min-width: 0;
}

.directory-map-column .pb-directory-map-wrap {
    max-width: none;
    margin: 0;
    padding: 0;
}

.directory-map-column .pb-directory-map-header {
    margin-bottom: 18px;
}

.directory-map-column .pb-directory-map-header h2 {
    font-size: clamp(26px, 3vw, 38px);
}

.directory-map-column .pb-directory-map {
    width: 100%;
    min-height: 560px;
    border-radius: 14px;
    overflow: hidden;
}

.directory-map-column .pb-directory-search-bar {
    grid-template-columns: minmax(0, 1fr) auto;
}

.directory-map-column .pb-directory-search-bar
.pb-directory-search-field:not(.pb-directory-location) {
    display: none;
}

.directory-map-column .pb-directory-search-button {
    min-width: 110px;
}


/* Remove duplicate outer spacing now that map is in the column */

.directory-tools .pb-directory-map-wrap {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 1000px) {

    .directory-tools {
        grid-template-columns: 1fr;
    }

    .directory-search-column .beef-filter-form {
        padding: 30px;
    }

    .directory-map-column .pb-directory-map {
        min-height: 500px;
    }
}

@media (max-width: 700px) {

    .directory-tools {
        width: 92%;
        margin: 28px auto 45px;
        gap: 22px;
    }

    .directory-search-column .beef-filter-form {
        padding: 22px;
    }

    .directory-map-column .pb-directory-map {
        min-height: 420px;
    }

    .directory-map-column .pb-directory-search-bar {
        grid-template-columns: 1fr;
    }

    .directory-map-column .pb-directory-search-button {
        width: 100%;
    }
}


/* ==========================================================
   MAP SEARCH — LOCATION + DISTANCE ABOVE MAP
   ========================================================== */

.directory-map-column .pb-directory-search-bar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 155px 110px !important;
    gap: 10px !important;
    align-items: end !important;
}

.directory-map-column .pb-directory-search-field {
    display: block !important;
}

.directory-map-column .pb-directory-search-field.pb-directory-location {
    display: block !important;
}

/* Hide duplicate Animal and Service selectors from map search */
.directory-map-column .pb-directory-search-bar
.pb-directory-search-field:nth-child(3),
.directory-map-column .pb-directory-search-bar
.pb-directory-search-field:nth-child(4) {
    display: none !important;
}

/* Distance is the second field */
.directory-map-column .pb-directory-search-bar
.pb-directory-search-field:nth-child(2) {
    display: block !important;
}

.directory-map-column .pb-directory-search-button {
    display: block !important;
    width: 100%;
    min-width: 0;
}


/* ==========================================================
   MAP SEARCH LABELS
   ========================================================== */

.directory-map-column .pb-directory-search-field label {
    display: block;
    margin-bottom: 7px;
    color: #526057;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.directory-map-column .pb-directory-search-field input,
.directory-map-column .pb-directory-search-field select {
    width: 100%;
    height: 44px;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 700px) {

    .directory-map-column .pb-directory-search-bar {
        grid-template-columns: 1fr !important;
    }

    .directory-map-column .pb-directory-search-bar
    .pb-directory-search-field:nth-child(2) {
        display: block !important;
    }

    .directory-map-column .pb-directory-search-button {
        width: 100%;
    }
}


/* ==========================================================
   PUREFARMFRESH MAP SEARCH
   LOCATION + DISTANCE + SEARCH
   ========================================================== */

.pb-directory-search-bar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 170px 120px !important;
    gap: 10px !important;
    align-items: end !important;
}

.pb-directory-search-field {
    display: block !important;
}

.pb-directory-search-field label {
    display: block !important;
    margin-bottom: 7px !important;
}

.pb-directory-search-field input,
.pb-directory-search-field select {
    width: 100% !important;
    height: 44px !important;
    box-sizing: border-box;
}

.pb-directory-distance {
    display: block !important;
}

.pb-directory-search-button {
    width: 100% !important;
    height: 44px !important;
}

@media (max-width: 700px) {
    .pb-directory-search-bar {
        grid-template-columns: 1fr !important;
    }
}


/* ==========================================================
   PUREFARMFRESH MAIN FARM DIRECTORY — HERO
   ========================================================== */

/* Keep the main directory hero compact and polished */
.directory-hero {
    min-height: 405px;
}

.directory-hero-layout {
    min-height: 405px;
}

/* Main "farms & ranches" page */
.directory-hero:not(:has(.directory-hero-animal)) {
    min-height: 405px;
    padding: 0;
    margin: 24px 1.5% 0;
    border-radius: 15px;
    overflow: hidden;
}

.directory-hero:not(:has(.directory-hero-animal)) .directory-hero-layout {
    min-height: 405px;
}

.directory-hero:not(:has(.directory-hero-animal)) .directory-hero-content {
    min-height: 405px;
    padding: 70px 52% 60px 0;
}

/* Stop long generic heading from breaking awkwardly */
.directory-hero:not(:has(.directory-hero-animal)) h1 {
    max-width: 720px;
    margin: 12px 0 20px;
    font-size: clamp(48px, 5vw, 72px);
    line-height: 1;
}

/* Main directory description */
.directory-hero:not(:has(.directory-hero-animal)) p {
    max-width: 610px;
    font-size: 17px;
    line-height: 1.65;
}


/* ==========================================================
   ANIMAL HERO IMAGE — SHOW MORE OF THE IMAGE
   ========================================================== */

.directory-hero:has(.directory-hero-animal) .directory-hero-animal {
    overflow: hidden;
}

.directory-hero:has(.directory-hero-animal) .directory-hero-animal img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

/* Slightly more breathing room for the animal */
.directory-hero:has(.directory-hero-animal) {
    overflow: hidden;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 900px) {

    .directory-hero:not(:has(.directory-hero-animal)),
    .directory-hero:not(:has(.directory-hero-animal)) .directory-hero-layout,
    .directory-hero:not(:has(.directory-hero-animal)) .directory-hero-content {
        min-height: 390px;
    }

    .directory-hero:not(:has(.directory-hero-animal)) .directory-hero-content {
        padding: 65px 40% 55px 0;
    }

}

@media (max-width: 700px) {

    .directory-hero:not(:has(.directory-hero-animal)),
    .directory-hero:not(:has(.directory-hero-animal)) .directory-hero-layout {
        min-height: 440px;
    }

    .directory-hero:not(:has(.directory-hero-animal)) .directory-hero-content {
        min-height: 440px;
        padding: 65px 0 150px;
    }

    .directory-hero:not(:has(.directory-hero-animal)) h1 {
        font-size: clamp(44px, 13vw, 62px);
    }

}


/* ==========================================================
   FINAL DIRECTORY HERO IMAGE TUNING
   ========================================================== */

.directory-hero:has(.directory-hero-animal) .directory-hero-animal img {
    object-fit: cover;
    object-position: center center;
}

/* Keep the animal from becoming oversized on wide screens */
@media (min-width: 1200px) {
    .directory-hero:has(.directory-hero-animal) .directory-hero-animal img {
        object-position: 68% center;
    }
}

/* Main directory hero: no animal image, clean centered composition */
.directory-hero:not(:has(.directory-hero-animal)) .directory-hero-content {
    width: min(1280px, 88%);
    margin: 0 auto;
}

/* Don't let "Find local farms & ranches." become a narrow column */
.directory-hero:not(:has(.directory-hero-animal)) h1 {
    max-width: 850px;
    white-space: normal;
}

/* ==========================================================
   DIRECTORY CONTENT — POLISHED FARM PAGE
   ========================================================== */

#farm-listings {
    padding-top: 75px;
}

#farm-listings .directory-heading {
    margin-bottom: 38px;
}

#farm-listings .directory-heading h2 {
    max-width: 900px;
}

#farm-listings .directory-count {
    background: #f3e8cf;
    color: #8c6725;
    padding: 7px 13px;
    border-radius: 999px;
}

/* ==========================================================
   MOBILE HERO IMAGE
   ========================================================== */

@media (max-width: 700px) {

    .directory-hero:has(.directory-hero-animal) {
        min-height: 440px;
    }

    .directory-hero:has(.directory-hero-animal) .directory-hero-animal img {
        object-position: 68% center;
    }

    .directory-hero:not(:has(.directory-hero-animal)) h1 {
        max-width: 100%;
    }

}


/* ==========================================================
   PROCESSOR DIRECTORY
   FARMS & RANCHES VISUAL SYSTEM
   ========================================================== */

.processor-directory-hero {
    overflow: hidden;
}

.processor-directory-hero .directory-hero-layout {
    min-height: 405px;
}

.processor-hero-image {
    height: 100%;
    overflow: hidden;
}

.processor-hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* Keep the processor page on the same editorial palette */
.processor-directory {
    background: #f8f5ed;
}

.processor-directory .processor-filter-section {
    background: #f8f5ed;
}

/* Processor shortcut navigation */
.processor-directory .directory-shortcuts {
    background: #ffffff;
    border-top: 1px solid #d7b56d;
    border-bottom: 1px solid #d7b56d;
}

.processor-directory .directory-shortcut {
    background: #ffffff;
    color: #193326;
}

.processor-directory .directory-shortcut span {
    color: #b88a2b;
}

.processor-directory .directory-shortcut:hover {
    background: #fbf7ed;
}

/* Prevent hero imagery from being cropped awkwardly */
.processor-directory-hero .directory-hero-animal {
    overflow: hidden;
}

.processor-directory-hero .directory-hero-animal img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

@media (max-width: 800px) {
    .processor-directory-hero .directory-hero-layout {
        min-height: 360px;
    }

    .processor-directory-hero .directory-hero-animal {
        min-height: 220px;
    }
}


/* ==========================================================
   PUREFARMFRESH PROCESSOR DIRECTORY
   TWO-COLUMN SEARCH + MAP
   MATCH FARMS & RANCHES
   ========================================================== */

.processor-directory {
    background: #f8f5ed;
}

/* ----------------------------------------------------------
   SECTION 1
   ---------------------------------------------------------- */

.processor-directory-search {
    background: #f8f5ed;
    padding: 42px 0 55px;
}

.processor-directory-layout {
    display: grid;
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

/* ----------------------------------------------------------
   LEFT FILTER PANEL
   ---------------------------------------------------------- */

.processor-filter-section {
    background: #ffffff;
    border: 1px solid #ded8ca;
    border-radius: 15px;
    padding: 30px;
    box-shadow: 0 8px 25px rgba(25, 51, 38, .05);
}

.processor-filter-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 32px;
}

.processor-filter-heading span,
.processor-filter-heading > div > span {
    color: #a87524;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.processor-filter-heading h2 {
    margin: 12px 0 0;
    color: #123d2d;
    font-family: Georgia, serif;
    font-size: 30px;
    line-height: 1.2;
}

.processor-clear-filters {
    color: #173d2e;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    text-decoration: none;
}

/* Filter groups */

.processor-filter-groups {
    display: block;
}

.processor-filter-group {
    margin-top: 28px;
    padding-top: 26px;
    border-top: 1px solid #e7e0d3;
}

.processor-filter-group:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.processor-filter-title {
    margin-bottom: 14px;
    color: #526057;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.processor-filter-option {
    display: inline-flex;
    align-items: center;
    margin: 0 6px 8px 0;
    cursor: pointer;
}

.processor-filter-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.processor-filter-option span {
    display: block;
    padding: 11px 13px;
    border: 1px solid #d8d4ca;
    background: #faf8f2;
    color: #173d2e;
    font-size: 12px;
    font-weight: 600;
    transition: .18s ease;
}

.processor-filter-option input:checked + span {
    background: #214d3a;
    border-color: #214d3a;
    color: #ffffff;
}

.processor-filter-option:hover span {
    border-color: #b88a2b;
}

/* ----------------------------------------------------------
   RIGHT MAP COLUMN
   ---------------------------------------------------------- */

.processor-map-column {
    min-width: 0;
}

.processor-map-heading {
    margin: 0 0 18px;
}

.processor-results-label {
    display: block;
    margin-bottom: 8px;
    color: #a87524;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.processor-map-heading h2 {
    margin: 0;
    color: #123d2d;
    font-family: Georgia, serif;
    font-size: clamp(38px, 4vw, 54px);
    line-height: 1.05;
}

.processor-location-count {
    display: inline-block;
    vertical-align: middle;
    margin-left: 8px;
    padding: 6px 11px;
    border-radius: 30px;
    background: #f3e7c8;
    color: #9a6c1c;
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}

/* Location + distance + search */

.processor-map-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 150px 115px;
    gap: 10px;
    align-items: end;
    margin-bottom: 16px;
    padding: 16px;
    background: #ffffff;
    border: 1px solid #ded8ca;
    border-radius: 12px;
}

.processor-map-search-field label,
.processor-map-distance label {
    display: block;
    margin-bottom: 7px;
    color: #526057;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.processor-map-search input,
.processor-map-distance select {
    width: 100%;
    height: 44px;
    box-sizing: border-box;
    padding: 0 13px;
    border: 1px solid #d8d4ca;
    border-radius: 6px;
    background: #ffffff;
    color: #173d2e;
}

.processor-map-search-button {
    width: 100%;
    height: 44px;
    border: 0;
    border-radius: 6px;
    background: #173d2e;
    color: #ffffff;
    font-weight: 700;
    cursor: pointer;
}

.processor-map-search-button:hover {
    background: #214d3a;
}

/* Map */

.processor-map-visible {
    display: block !important;
    width: 100%;
    height: 560px;
    min-height: 560px;
    overflow: hidden;
    border: 1px solid #ccd2c8;
    border-radius: 15px;
    background: #eef1eb;
}

/* ----------------------------------------------------------
   SECTION 2 — LISTINGS
   ---------------------------------------------------------- */

.processor-directory-results {
    padding: 35px 0 80px;
    background: #f8f5ed;
}

.processor-results-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 22px;
}

.processor-results-heading h2 {
    margin: 0;
    color: #123d2d;
    font-family: Georgia, serif;
    font-size: clamp(40px, 4vw, 58px);
    line-height: 1;
}

.processor-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.processor-card {
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #ded8ca;
    border-radius: 14px;
    box-shadow: 0 8px 22px rgba(25, 51, 38, .05);
}

.processor-card-image {
    display: block;
    position: relative;
    height: 230px;
    overflow: hidden;
}

.processor-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.processor-card-body {
    padding: 20px;
}

.processor-card-location {
    margin-bottom: 7px;
    color: #a87524;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.processor-card h3 {
    margin: 0 0 14px;
    font-family: Georgia, serif;
    font-size: 25px;
    line-height: 1.15;
}

.processor-card h3 a {
    color: #173d2e;
    text-decoration: none;
}

.processor-card-services {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.processor-card-services span {
    padding: 6px 8px;
    background: #f5f1e8;
    color: #526057;
    font-size: 10px;
    font-weight: 600;
}

.processor-view-link {
    display: inline-block;
    margin-top: 18px;
    color: #173d2e;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

/* ----------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------- */

@media (max-width: 1000px) {

    .processor-directory-layout {
        grid-template-columns: 1fr;
    }

    .processor-filter-section {
        width: auto;
    }

    .processor-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {

    .processor-directory-search {
        padding: 28px 0 40px;
    }

    .processor-filter-section {
        padding: 24px;
    }

    .processor-map-search {
        grid-template-columns: 1fr;
    }

    .processor-map-visible {
        height: 430px;
        min-height: 430px;
    }

    .processor-card-grid {
        grid-template-columns: 1fr;
    }

    .processor-map-heading h2,
    .processor-results-heading h2 {
        font-size: 38px;
    }
}


/* ==========================================================
   PUREFARMFRESH PROCESSOR DIRECTORY
   TWO-COLUMN SEARCH + MAP
   MATCH FARMS & RANCHES
   ========================================================== */

.processor-directory {
    background: #f8f5ed;
}

/* ----------------------------------------------------------
   SECTION 1
   ---------------------------------------------------------- */

.processor-directory-search {
    background: #f8f5ed;
    padding: 42px 0 55px;
}

.processor-directory-layout {
    display: grid;
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

/* ----------------------------------------------------------
   LEFT FILTER PANEL
   ---------------------------------------------------------- */

.processor-filter-section {
    background: #ffffff;
    border: 1px solid #ded8ca;
    border-radius: 15px;
    padding: 30px;
    box-shadow: 0 8px 25px rgba(25, 51, 38, .05);
}

.processor-filter-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 32px;
}

.processor-filter-heading span,
.processor-filter-heading > div > span {
    color: #a87524;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.processor-filter-heading h2 {
    margin: 12px 0 0;
    color: #123d2d;
    font-family: Georgia, serif;
    font-size: 30px;
    line-height: 1.2;
}

.processor-clear-filters {
    color: #173d2e;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    text-decoration: none;
}

/* Filter groups */

.processor-filter-groups {
    display: block;
}

.processor-filter-group {
    margin-top: 28px;
    padding-top: 26px;
    border-top: 1px solid #e7e0d3;
}

.processor-filter-group:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.processor-filter-title {
    margin-bottom: 14px;
    color: #526057;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.processor-filter-option {
    display: inline-flex;
    align-items: center;
    margin: 0 6px 8px 0;
    cursor: pointer;
}

.processor-filter-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.processor-filter-option span {
    display: block;
    padding: 11px 13px;
    border: 1px solid #d8d4ca;
    background: #faf8f2;
    color: #173d2e;
    font-size: 12px;
    font-weight: 600;
    transition: .18s ease;
}

.processor-filter-option input:checked + span {
    background: #214d3a;
    border-color: #214d3a;
    color: #ffffff;
}

.processor-filter-option:hover span {
    border-color: #b88a2b;
}

/* ----------------------------------------------------------
   RIGHT MAP COLUMN
   ---------------------------------------------------------- */

.processor-map-column {
    min-width: 0;
}

.processor-map-heading {
    margin: 0 0 18px;
}

.processor-results-label {
    display: block;
    margin-bottom: 8px;
    color: #a87524;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.processor-map-heading h2 {
    margin: 0;
    color: #123d2d;
    font-family: Georgia, serif;
    font-size: clamp(38px, 4vw, 54px);
    line-height: 1.05;
}

.processor-location-count {
    display: inline-block;
    vertical-align: middle;
    margin-left: 8px;
    padding: 6px 11px;
    border-radius: 30px;
    background: #f3e7c8;
    color: #9a6c1c;
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}

/* Location + distance + search */

.processor-map-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 150px 115px;
    gap: 10px;
    align-items: end;
    margin-bottom: 16px;
    padding: 16px;
    background: #ffffff;
    border: 1px solid #ded8ca;
    border-radius: 12px;
}

.processor-map-search-field label,
.processor-map-distance label {
    display: block;
    margin-bottom: 7px;
    color: #526057;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.processor-map-search input,
.processor-map-distance select {
    width: 100%;
    height: 44px;
    box-sizing: border-box;
    padding: 0 13px;
    border: 1px solid #d8d4ca;
    border-radius: 6px;
    background: #ffffff;
    color: #173d2e;
}

.processor-map-search-button {
    width: 100%;
    height: 44px;
    border: 0;
    border-radius: 6px;
    background: #173d2e;
    color: #ffffff;
    font-weight: 700;
    cursor: pointer;
}

.processor-map-search-button:hover {
    background: #214d3a;
}

/* Map */

.processor-map-visible {
    display: block !important;
    width: 100%;
    height: 560px;
    min-height: 560px;
    overflow: hidden;
    border: 1px solid #ccd2c8;
    border-radius: 15px;
    background: #eef1eb;
}

/* ----------------------------------------------------------
   SECTION 2 — LISTINGS
   ---------------------------------------------------------- */

.processor-directory-results {
    padding: 35px 0 80px;
    background: #f8f5ed;
}

.processor-results-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 22px;
}

.processor-results-heading h2 {
    margin: 0;
    color: #123d2d;
    font-family: Georgia, serif;
    font-size: clamp(40px, 4vw, 58px);
    line-height: 1;
}

.processor-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.processor-card {
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #ded8ca;
    border-radius: 14px;
    box-shadow: 0 8px 22px rgba(25, 51, 38, .05);
}

.processor-card-image {
    display: block;
    position: relative;
    height: 230px;
    overflow: hidden;
}

.processor-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.processor-card-body {
    padding: 20px;
}

.processor-card-location {
    margin-bottom: 7px;
    color: #a87524;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.processor-card h3 {
    margin: 0 0 14px;
    font-family: Georgia, serif;
    font-size: 25px;
    line-height: 1.15;
}

.processor-card h3 a {
    color: #173d2e;
    text-decoration: none;
}

.processor-card-services {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.processor-card-services span {
    padding: 6px 8px;
    background: #f5f1e8;
    color: #526057;
    font-size: 10px;
    font-weight: 600;
}

.processor-view-link {
    display: inline-block;
    margin-top: 18px;
    color: #173d2e;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

/* ----------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------- */

@media (max-width: 1000px) {

    .processor-directory-layout {
        grid-template-columns: 1fr;
    }

    .processor-filter-section {
        width: auto;
    }

    .processor-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {

    .processor-directory-search {
        padding: 28px 0 40px;
    }

    .processor-filter-section {
        padding: 24px;
    }

    .processor-map-search {
        grid-template-columns: 1fr;
    }

    .processor-map-visible {
        height: 430px;
        min-height: 430px;
    }

    .processor-card-grid {
        grid-template-columns: 1fr;
    }

    .processor-map-heading h2,
    .processor-results-heading h2 {
        font-size: 38px;
    }
}


/* ==========================================================
   PROCESSOR FILTER ACTION
   ========================================================== */

.processor-filter-apply {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid #e7e0d3;
}

.processor-apply-button {
    width: 100%;
    min-height: 46px;
    border: 0;
    border-radius: 6px;
    background: #214d3a;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.processor-apply-button:hover {
    background: #173d2e;
}

/* =========================================================
   PUREFARMFRESH PRIMARY DIRECTORY TABS — OUTLINED
   ========================================================= */

@media (min-width: 801px) {

    .purefarmfresh-navigation {
        gap: 18px;
    }

    .purefarmfresh-nav-feature {
        margin: 0 -2px;
    }

    .purefarmfresh-nav-feature .purefarmfresh-dropdown-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;

        min-height: 46px;
        padding: 0 17px;

        background: #F8F5ED;
        border: 1px solid #294936;
        border-radius: 4px;

        color: #294936;

        font-size: 13px;
        font-weight: 800;
        letter-spacing: .45px;
        text-transform: uppercase;

        transition:
            background .18s ease,
            color .18s ease,
            border-color .18s ease;
    }

    .purefarmfresh-nav-feature .purefarmfresh-nav-arrow {
        margin-left: 2px;
        color: #B88A2A;
        font-size: 14px;
        font-weight: 800;
    }

    .purefarmfresh-nav-feature .purefarmfresh-dropdown-toggle:hover,
    .purefarmfresh-nav-feature.is-open .purefarmfresh-dropdown-toggle {
        background: #294936;
        border-color: #294936;
        color: #fff;
    }

    .purefarmfresh-nav-feature .purefarmfresh-dropdown-toggle:hover .purefarmfresh-nav-arrow,
    .purefarmfresh-nav-feature.is-open .purefarmfresh-nav-arrow {
        color: #D6A63A;
    }

    .purefarmfresh-nav-feature .purefarmfresh-dropdown-menu {
        top: calc(100% + 8px);
        background: #fff;
        border: 1px solid #294936;
        border-radius: 5px;
        box-shadow: 0 16px 38px rgba(25,51,38,.14);
    }

    .purefarmfresh-nav-farms .purefarmfresh-dropdown-menu {
        width: 390px;
    }

    .purefarmfresh-nav-processors .purefarmfresh-dropdown-menu {
        width: 290px;
    }

    .purefarmfresh-nav-feature .purefarmfresh-dropdown-heading {
        color: #927650;
    }

    .purefarmfresh-nav-feature .purefarmfresh-dropdown-menu > a,
    .purefarmfresh-nav-feature .purefarmfresh-animal-links a {
        color: #193326;
    }

    .purefarmfresh-nav-feature .purefarmfresh-dropdown-menu a:hover {
        background: #F1ECDF;
        color: #193326;
        border-radius: 3px;
    }

    .purefarmfresh-nav-feature .purefarmfresh-dropdown-all {
        font-weight: 800 !important;
    }

    .purefarmfresh-nav-feature .purefarmfresh-dropdown-divider {
        background: rgba(41,73,54,.15);
    }
}


/* Animal Rescues directory dropdown */
@media (min-width: 801px) {
    .purefarmfresh-nav-rescues .purefarmfresh-dropdown-menu {
        width: 290px;
    }
}

/* =========================================================
   Rescue Contribution Form
   ========================================================= */

.rescue-donation-form {
    max-width: 760px;
    margin: 55px auto 70px;
    padding: 42px 48px;
    background: #F1ECDF;
    border: 1px solid rgba(41,73,54,.18);
    border-radius: 8px;
    box-shadow: 0 14px 35px rgba(25,51,38,.08);
}

.rescue-donation-form .rescue-label {
    margin-bottom: 12px;
    color: #B88A2A;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.rescue-donation-form h2 {
    margin: 0 0 12px;
    color: #193326;
    font-size: 32px;
    line-height: 1.2;
}

.rescue-donation-form > p {
    margin: 0 0 28px;
    color: #425548;
    font-size: 16px;
    line-height: 1.7;
}

.rescue-donation-form form p {
    margin: 0 0 20px;
}

.rescue-donation-form label {
    display: block;
    color: #294936;
    font-size: 14px;
    font-weight: 700;
}

.rescue-donation-form input[type="text"],
.rescue-donation-form input[type="email"],
.rescue-donation-form input[type="number"] {
    box-sizing: border-box;
    width: 100%;
    margin-top: 7px;
    padding: 13px 14px;
    background: #fff;
    border: 1px solid #B8B5A9;
    border-radius: 4px;
    color: #193326;
    font: inherit;
}

.rescue-donation-form input:focus {
    outline: 2px solid rgba(184,138,42,.28);
    border-color: #B88A2A;
}

.rescue-donation-form button {
    display: inline-block;
    padding: 14px 24px;
    background: #294936;
    border: 0;
    border-radius: 4px;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    transition: background .18s ease;
}

.rescue-donation-form button:hover {
    background: #193326;
}

.rescue-donation-form .rescue-donation-note {
    margin: 22px 0 0;
    padding-top: 18px;
    border-top: 1px solid rgba(41,73,54,.15);
    color: #6B716B;
    font-size: 13px;
    line-height: 1.55;
}

@media (max-width: 700px) {
    .rescue-donation-form {
        margin: 35px 18px 50px;
        padding: 30px 24px;
    }

    .rescue-donation-form h2 {
        font-size: 26px;
    }
}

/* =========================================================
   Rescue profile spacing + map
   ========================================================= */

.rescue-profile .rescue-hero {
    padding-top: 32px;
    padding-bottom: 35px;
}

.rescue-profile .rescue-container {
    gap: 28px;
}

.rescue-profile .rescue-contact {
    margin-bottom: 14px;
}

.rescue-profile .rescue-contact p {
    margin: 0 0 10px;
}

.rescue-map {
    margin-top: 14px;
    width: 100%;
    overflow: hidden;
    border-radius: 6px;
    border: 1px solid rgba(41,73,54,.16);
}

.rescue-map iframe {
    display: block;
    width: 100%;
    height: 230px;
    border: 0;
}

.rescue-profile .rescue-support-card {
    margin-bottom: 18px;
}

@media (max-width: 700px) {
    .rescue-map iframe {
        height: 200px;
    }
}

.rescue-charity-status {
    padding-top: 10px;
    border-top: 1px solid rgba(41,73,54,.10);
    color: #425548;
    font-size: 13px;
}

.rescue-charity-status strong {
    color: #294936;
}

.rescue-charity-status span {
    color: #6B716B;
    font-size: 12px;
}

/* =========================================================
   PUREFARMFRESH LISTING OWNERSHIP / CLAIM
   ========================================================= */

.pb-listing-owner-section {
    padding: 64px 24px;
    background: #f7f4ec;
}

.pb-listing-owner-inner {
    max-width: 1120px;
    margin: 0 auto;
}

.pb-listing-accuracy {
    background: #fff;
    border: 1px solid #ded8ca;
    border-radius: 18px 18px 0 0;
    padding: 34px 38px 28px;
}

.pb-listing-accuracy strong {
    display: block;
    margin-bottom: 10px;
    color: #123b2b;
    font-family: Georgia, serif;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.25;
}

.pb-listing-accuracy p {
    max-width: 800px;
    margin: 0;
    color: #4c514b;
    font-size: 16px;
    line-height: 1.7;
}

.pb-claim-listing {
    background: #fff;
    border: 1px solid #ded8ca;
    border-top: 0;
    border-radius: 0 0 18px 18px;
    padding: 0 38px 34px;
}

.pb-claim-details {
    border-top: 1px solid #e6e0d4;
    padding-top: 24px;
}

.pb-claim-details summary {
    display: inline-block;
    cursor: pointer;
    background: #173f2e;
    color: #fff;
    padding: 14px 24px;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 700;
    list-style: none;
}

.pb-claim-details summary::-webkit-details-marker {
    display: none;
}

.pb-claim-details summary:hover {
    opacity: .92;
}

.pb-claim-content {
    max-width: 720px;
    padding-top: 28px;
}

.pb-claim-content > p:first-child {
    color: #4c514b;
    line-height: 1.65;
}

.pb-claim-content label {
    color: #173f2e;
    font-size: 14px;
    font-weight: 700;
}

.pb-claim-content input,
.pb-claim-content textarea {
    box-sizing: border-box;
    width: 100%;
    margin-top: 8px;
    padding: 13px 14px;
    border: 1px solid #d7d1c5;
    border-radius: 4px;
    background: #fbfaf6;
    font: inherit;
}

.pb-claim-content textarea {
    resize: vertical;
}

.pb-claim-content button {
    border: 0;
    border-radius: 4px;
    background: #173f2e;
    color: #fff;
    padding: 15px 24px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 700;
}

.pb-claim-status {
    border-top: 1px solid #e6e0d4;
    padding-top: 24px;
    color: #4c514b;
}

.pb-claim-verified strong {
    color: #173f2e;
}

@media (max-width: 700px) {

    .pb-listing-owner-section {
        padding: 40px 18px;
    }

    .pb-listing-accuracy {
        padding: 26px 24px 22px;
    }

    .pb-claim-listing {
        padding: 0 24px 26px;
    }

    .pb-listing-accuracy strong {
        font-size: 22px;
    }
}


/* ==========================================================
   PUREFARMFRESH OWNER DASHBOARD
   ========================================================== */

.pb-owner-dashboard,
.pb-owner-editor {
    max-width: 960px;
    margin: 60px auto;
    padding: 42px;
    background: #fff;
    border: 1px solid #ded8ca;
    border-radius: 18px;
}

.pb-owner-dashboard h2,
.pb-owner-editor h2 {
    margin-top: 0;
    color: #173f2e;
    font-family: Georgia, serif;
    font-size: 34px;
    font-weight: 400;
    line-height: 1.2;
}

.pb-owner-dashboard > p,
.pb-owner-editor > p {
    color: #555b55;
    font-size: 16px;
    line-height: 1.7;
}

.pb-owner-listings {
    display: grid;
    gap: 20px;
    margin-top: 32px;
}

.pb-owner-listing-card {
    padding: 28px;
    background: #f7f4ec;
    border: 1px solid #e1dbcf;
    border-radius: 12px;
}

.pb-owner-listing-card h3 {
    margin: 7px 0 18px;
    color: #173f2e;
    font-family: Georgia, serif;
    font-size: 25px;
    font-weight: 400;
}

.pb-owner-listing-type {
    display: inline-block;
    color: #6b716b;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.pb-owner-button {
    display: inline-block;
    border: 0;
    border-radius: 4px;
    background: #173f2e;
    color: #fff !important;
    padding: 13px 22px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}

.pb-owner-button:hover {
    opacity: .92;
}

.pb-owner-view-link {
    display: inline-block;
    margin-left: 18px;
    color: #173f2e;
    font-weight: 700;
}

.pb-owner-editor form {
    margin-top: 32px;
}

.pb-owner-editor form > p {
    margin: 0 0 22px;
}

.pb-owner-editor label {
    color: #173f2e;
    font-size: 14px;
    line-height: 1.5;
}

.pb-owner-editor input[type="text"],
.pb-owner-editor input[type="email"],
.pb-owner-editor input[type="url"],
.pb-owner-editor input[type="tel"],
.pb-owner-editor textarea,
.pb-owner-editor select {
    box-sizing: border-box;
    width: 100%;
    margin-top: 8px;
    padding: 13px 14px;
    border: 1px solid #d7d1c5;
    border-radius: 5px;
    background: #fbfaf6;
    color: #333;
    font: inherit;
}

.pb-owner-editor input:focus,
.pb-owner-editor textarea:focus,
.pb-owner-editor select:focus {
    outline: 2px solid #b8c7bc;
    border-color: #173f2e;
}

.pb-owner-editor textarea {
    min-height: 120px;
    resize: vertical;
}

.pb-owner-editor fieldset {
    margin: 28px 0;
    padding: 24px;
    border: 1px solid #ded8ca;
    border-radius: 10px;
    background: #f7f4ec;
}

.pb-owner-editor legend {
    padding: 0 8px;
    color: #173f2e;
    font-family: Georgia, serif;
    font-size: 19px;
}

.pb-owner-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: 31%;
    min-width: 210px;
    margin: 7px 1% 7px 0;
    color: #454a45 !important;
    font-weight: 400;
}

.pb-owner-check input[type="checkbox"] {
    width: auto;
    margin: 0;
}

@media (max-width: 700px) {

    .pb-owner-dashboard,
    .pb-owner-editor {
        margin: 30px 16px;
        padding: 26px 22px;
    }

    .pb-owner-dashboard h2,
    .pb-owner-editor h2 {
        font-size: 28px;
    }

    .pb-owner-check {
        width: 100%;
        min-width: 0;
    }

    .pb-owner-view-link {
        display: block;
        margin: 16px 0 0;
    }
}


/* PureFarmFresh farm profile two-column connect layout */

.pb-listing-owner-compact {
    padding: 20px 24px 0;
}

.pb-listing-owner-compact .pb-listing-owner-inner {
    max-width: 1180px;
    margin: 0 auto;
    padding: 13px 20px;
    border-radius: 8px;
}

.pb-listing-owner-compact .pb-listing-accuracy {
    display: flex;
    align-items: center;
    gap: 18px;
}

.pb-listing-owner-compact .pb-listing-accuracy strong {
    font-size: 15px;
    white-space: nowrap;
}

.pb-listing-owner-compact .pb-listing-accuracy p {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    opacity: .78;
}

.pb-listing-owner-compact .pb-claim-listing:empty {
    display: none;
}

.farm-connect-section {
    padding: 28px 24px 70px;
}

.farm-connect-grid {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 24px;
    align-items: stretch;
}

.farm-connect-card {
    border: 1px solid #ded8c9;
    border-radius: 16px;
    background: #fff;
    padding: 30px;
    overflow: hidden;
}

.farm-location-card {
    display: flex;
    flex-direction: column;
}

.farm-location-card .farm-map {
    margin-top: 20px;
    flex: 1;
    min-height: 360px;
    border-radius: 10px;
    overflow: hidden;
}

.farm-location-card .farm-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 360px;
}

.farm-location-card .farm-map-privacy {
    margin: 14px 0 0;
}

.farm-inquiry-card .farm-inquiry-heading {
    margin-bottom: 22px;
}

.farm-inquiry-card .farm-inquiry-heading h2 {
    margin-top: 8px;
}

.farm-inquiry-card .farm-inquiry-inner,
.farm-inquiry-card .farm-inquiry-form {
    width: 100%;
    max-width: none;
}

@media (max-width: 850px) {
    .farm-connect-grid {
        grid-template-columns: 1fr;
    }

    .pb-listing-owner-compact .pb-listing-accuracy {
        display: block;
    }

    .pb-listing-owner-compact .pb-listing-accuracy strong {
        white-space: normal;
    }

    .pb-listing-owner-compact .pb-listing-accuracy p {
        margin-top: 6px;
    }

    .farm-connect-card {
        padding: 22px;
    }
}


/* Compact farm profile spacing */
.single-pb_farm .farm-hero {
    padding-top: 42px;
    padding-bottom: 42px;
}

.single-pb_farm .farm-hero h1 {
    margin-top: 14px;
    margin-bottom: 14px;
}

.single-pb_farm .farm-story-section {
    padding-top: 55px;
    padding-bottom: 55px;
}

.single-pb_farm .farm-story-grid {
    align-items: center;
}

.single-pb_farm .farm-story-image img {
    max-height: 390px;
    object-fit: cover;
}

.single-pb_farm .farm-practices-section {
    padding-top: 45px;
    padding-bottom: 45px;
}

.single-pb_farm .farm-buying-section {
    padding-top: 55px;
    padding-bottom: 55px;
}

.single-pb_farm .farm-section + .farm-section {
    margin-top: 0;
}

@media (max-width: 850px) {
    .single-pb_farm .farm-hero {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .single-pb_farm .farm-story-section,
    .single-pb_farm .farm-practices-section,
    .single-pb_farm .farm-buying-section {
        padding-top: 38px;
        padding-bottom: 38px;
    }

    .single-pb_farm .farm-story-image img {
        max-height: 320px;
    }
}

/* PureFarmFresh farm profile tighter vertical rhythm */
.single-pb_farm .farm-hero {
    padding: 70px 6% 48px;
}

.single-pb_farm .farm-trust-line {
    margin-top: 24px;
    padding-top: 16px;
}

.single-pb_farm .farm-section {
    padding: 58px 0;
}

.single-pb_farm .farm-section-label {
    margin-bottom: 12px;
}

.single-pb_farm .farm-section h2 {
    margin-bottom: 24px;
}

.single-pb_farm .farm-story-grid {
    gap: 45px;
}

.single-pb_farm .farm-practice-grid {
    margin-top: 28px;
}

.single-pb_farm .farm-detail {
    padding: 25px 30px;
}

.single-pb_farm .farm-buying-details {
    margin-top: 24px;
}

@media (max-width: 800px) {
    .single-pb_farm .farm-hero {
        padding: 55px 7% 38px;
    }

    .single-pb_farm .farm-section {
        padding: 42px 0;
    }
}

/* Farm profile final compact spacing */
body .farm-profile .farm-hero {
    padding: 60px 6% 42px !important;
}

body .farm-profile .farm-section {
    padding: 48px 0 !important;
}

body .farm-profile .farm-section h2 {
    margin-bottom: 22px !important;
}

body .farm-profile .farm-practice-grid {
    margin-top: 24px !important;
}

body .farm-profile .farm-story-grid {
    gap: 42px !important;
}

body .farm-profile .farm-detail {
    padding: 24px 28px !important;
}

body .farm-profile .farm-buying-details {
    margin-top: 22px !important;
}

@media (max-width: 800px) {
    body .farm-profile .farm-hero {
        padding: 45px 7% 34px !important;
    }

    body .farm-profile .farm-section {
        padding: 36px 0 !important;
    }
}

/* Farm story inquiry button */
.farm-story-inquiry-button {
    display: inline-block;
    margin-top: 24px;
    padding: 13px 24px;
    background: #173c2d;
    color: #fff !important;
    border-radius: 5px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none !important;
    transition: background .2s ease, transform .2s ease;
}

.farm-story-inquiry-button:hover {
    background: #285440;
    transform: translateY(-1px);
}

html {
    scroll-behavior: smooth;
}

#contact-this-farm {
    scroll-margin-top: 30px;
}

/* PureFarmFresh direct inquiry CTA */
.farm-story-inquiry-button {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 24px;
    padding: 12px 21px;
    border-radius: 5px;
    background: #173c2d;
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
}

.farm-story-inquiry-button:hover {
    background: #285440;
}

.farm-button-icon {
    color: #c9dca9;
    font-size: 17px;
    line-height: 1;
}

html {
    scroll-behavior: smooth;
}

#contact-this-farm {
    scroll-margin-top: 30px;
}

/* Farm bottom layout: map then inquiry */
.farm-connect-grid {
    display: block !important;
    max-width: 1180px;
    margin: 0 auto;
}

.farm-location-card {
    margin-bottom: 28px;
}

.farm-inquiry-card {
    width: 100%;
    max-width: none;
}

.farm-inquiry-card .farm-inquiry-inner,
.farm-inquiry-card .farm-inquiry-form {
    width: 100%;
    max-width: none;
}

/* Green visual accents */
.farm-location-card .farm-section-label::before {
    content: "●";
    color: #6f9b43;
    margin-right: 8px;
    font-size: 10px;
}

.farm-inquiry-heading .eyebrow::before {
    content: "✉";
    color: #6f9b43;
    margin-right: 8px;
}


/* Final farm inquiry position */
#contact-this-farm {
    display: block !important;
    width: 100% !important;
    max-width: 1180px !important;
    margin: 28px auto 0 !important;
    scroll-margin-top: 35px;
}

#contact-this-farm .farm-inquiry-inner,
#contact-this-farm .farm-inquiry-form,
#contact-this-farm form {
    width: 100% !important;
    max-width: none !important;
}

/* Make inquiry form visually distinct */
#contact-this-farm {
    border-top: 4px solid #173c2d;
}

/* Button always links directly to form */
.farm-story-inquiry-button {
    cursor: pointer;
}


/* =========================================================
   PUREFARMFRESH LEARN
========================================================= */

.pb-learn {
    --pb-green: #173f2b;
    --pb-green-dark: #102f21;
    --pb-gold: #dca62b;
    --pb-cream: #f7f3e9;
    --pb-soft: #eee8da;
    --pb-text: #18231d;
    --pb-muted: #657069;

    color: var(--pb-text);
    background: #fff;
    font-family: Arial, Helvetica, sans-serif;
}


/* HERO
--------------------------------------------------------- */

.pb-learn-hero {
    padding: 90px max(6vw, 30px) 85px;
    background:
        linear-gradient(
            120deg,
            #f8f4e9 0%,
            #f8f4e9 65%,
            #eee7d7 100%
        );
    border-bottom: 1px solid #e1dacb;
}

.pb-learn-eyebrow {
    margin-bottom: 18px;
    color: var(--pb-gold);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2.2px;
    text-transform: uppercase;
}

.pb-learn-hero h1 {
    max-width: 850px;
    margin: 0 0 22px;
    color: var(--pb-green-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 5vw, 70px);
    line-height: 1.04;
    letter-spacing: -1.5px;
}

.pb-learn-intro {
    max-width: 760px;
    margin: 0;
    color: #4d5b53;
    font-size: 20px;
    line-height: 1.7;
}

.pb-learn-principle {
    max-width: 760px;
    margin: 30px 0 0;
    padding-left: 20px;
    border-left: 4px solid var(--pb-gold);
    color: var(--pb-green);
    font-size: 18px;
    line-height: 1.6;
}

.pb-learn-notice {
    max-width: 800px;
    margin-top: 28px;
    padding: 18px 22px;
    background: rgba(255,255,255,.65);
    border-left: 4px solid var(--pb-gold);
    color: #536057;
    font-size: 14px;
    line-height: 1.6;
}


/* MAIN LEARN AUDIENCE CARDS
--------------------------------------------------------- */

.pb-learn-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    max-width: 1400px;
    margin: 0 auto;
    padding: 70px 40px;
    gap: 22px;
}

.pb-learn-card {
    position: relative;
    display: flex;
    min-height: 330px;
    padding: 34px 30px;
    flex-direction: column;
    text-decoration: none !important;
    background: #fff;
    border: 1px solid #ded8ca;
    border-radius: 8px;
    box-shadow: 0 7px 25px rgba(25,48,35,.06);
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.pb-learn-card:hover {
    transform: translateY(-5px);
    border-color: var(--pb-gold);
    box-shadow: 0 15px 35px rgba(25,48,35,.12);
}

.pb-learn-number {
    display: block;
    margin-bottom: 40px;
    color: var(--pb-gold);
    font-family: Georgia, serif;
    font-size: 18px;
    font-weight: bold;
}

.pb-learn-card h2 {
    margin: 0 0 18px;
    color: var(--pb-green-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    line-height: 1.15;
}

.pb-learn-card p {
    margin: 0 0 30px;
    color: var(--pb-muted);
    font-size: 16px;
    line-height: 1.65;
}

.pb-learn-link {
    margin-top: auto;
    color: var(--pb-green);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .2px;
}


/* TOPIC SECTIONS
--------------------------------------------------------- */

.pb-topic-section,
.pb-learn-start {
    max-width: 1280px;
    margin: 0 auto;
    padding: 65px 40px;
}

.pb-topic-section + .pb-topic-section {
    border-top: 1px solid #e7e2d7;
}

.pb-topic-section h2,
.pb-learn-start h2 {
    max-width: 800px;
    margin: 0 0 35px;
    color: var(--pb-green-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.15;
}


/* TOPIC GRID
--------------------------------------------------------- */

.pb-topic-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 12px 28px;
}

.pb-topic-list > div {
    position: relative;
    padding: 18px 20px 18px 46px;
    background: var(--pb-cream);
    border: 1px solid #e7e0d1;
    border-radius: 5px;
    color: #26352d;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
}

.pb-topic-list > div:before {
    position: absolute;
    left: 19px;
    top: 17px;
    content: "→";
    color: var(--pb-gold);
    font-weight: bold;
}


/* START SECTION ON MAIN LEARN PAGE
--------------------------------------------------------- */

.pb-learn-start {
    max-width: none;
    padding-left: max(6vw, 40px);
    padding-right: max(6vw, 40px);
    background: var(--pb-green);
}

.pb-learn-start .pb-learn-eyebrow {
    color: #e5b542;
}

.pb-learn-start h2 {
    color: #fff;
}

.pb-learn-start .pb-topic-list {
    max-width: 1200px;
}

.pb-learn-start .pb-topic-list > div {
    background: rgba(255,255,255,.07);
    border-color: rgba(255,255,255,.14);
    color: #fff;
}

.pb-learn-start .pb-topic-list > div:before {
    color: #e5b542;
}


/* LEARN FOOTER STATEMENT
--------------------------------------------------------- */

.pb-learn-footer {
    padding: 85px 30px;
    text-align: center;
    background: #f7f3e9;
}

.pb-learn-footer h2 {
    margin: 0 0 20px;
    color: var(--pb-green-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 4vw, 52px);
}

.pb-learn-footer p {
    max-width: 760px;
    margin: 0 auto 25px;
    color: #59655e;
    font-size: 18px;
    line-height: 1.7;
}

.pb-learn-footer strong {
    color: var(--pb-gold);
    font-size: 16px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}


/* REMOVE COMMON WORDPRESS PAGE SPACING
   ONLY FOR OUR LEARN PAGES
--------------------------------------------------------- */

body.page-id-833 main,
body.page-id-834 main,
body.page-id-835 main,
body.page-id-836 main,
body.page-id-837 main {
    max-width: none;
}

body.page-id-833 .entry-content,
body.page-id-834 .entry-content,
body.page-id-835 .entry-content,
body.page-id-836 .entry-content,
body.page-id-837 .entry-content {
    margin: 0;
    padding: 0;
    max-width: none;
}


/* TABLET
--------------------------------------------------------- */

@media (max-width: 1050px) {

    .pb-learn-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* MOBILE
--------------------------------------------------------- */

@media (max-width: 650px) {

    .pb-learn-hero {
        padding: 60px 22px 55px;
    }

    .pb-learn-hero h1 {
        font-size: 42px;
    }

    .pb-learn-intro {
        font-size: 17px;
    }

    .pb-learn-grid {
        grid-template-columns: 1fr;
        padding: 40px 20px;
    }

    .pb-learn-card {
        min-height: 260px;
    }

    .pb-topic-section,
    .pb-learn-start {
        padding: 48px 22px;
    }

    .pb-topic-list {
        grid-template-columns: 1fr;
    }

    .pb-learn-footer {
        padding: 60px 22px;
    }

}


/* =========================================================
   PUREFARMFRESH LEARN - CARD FIX + ICONS
========================================================= */

/* Kill theme-generated spacing/layout interference */
.pb-learn-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
    max-width: 1380px !important;
    margin: 0 auto !important;
    padding: 48px 35px 55px !important;
    align-items: stretch !important;
}

.pb-learn-grid > * {
    margin: 0 !important;
}


/* CARDS */

.pb-learn-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 300px !important;
    margin: 0 !important;
    padding: 30px 28px 27px !important;
    box-sizing: border-box !important;

    background: #fff !important;
    border: 1px solid #ded7c8 !important;
    border-radius: 10px !important;

    color: #183426 !important;
    text-decoration: none !important;

    box-shadow: 0 8px 24px rgba(23,63,43,.055) !important;
}


/* LARGE VISUAL ICON */

.pb-learn-card:before {
    display: block;
    margin: 2px 0 25px;
    font-size: 38px;
    line-height: 1;
}

/* Consumer */
.pb-learn-card:nth-child(1):before {
    content: "🥩";
}

/* Farmers */
.pb-learn-card:nth-child(2):before {
    content: "🐄";
}

/* Processors */
.pb-learn-card:nth-child(3):before {
    content: "⚙️";
}

/* Rules */
.pb-learn-card:nth-child(4):before {
    content: "📋";
}


/* NUMBER */

.pb-learn-number {
    order: -1;
    display: block !important;
    margin: 0 0 16px !important;
    color: #d89b14 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 1.5px;
}


/* TITLES */

.pb-learn-card h2 {
    margin: 0 0 13px !important;
    color: #103c29 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 27px !important;
    line-height: 1.12 !important;
}


/* DESCRIPTION */

.pb-learn-card p {
    margin: 0 0 22px !important;
    color: #59675f !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}


/* LINK */

.pb-learn-link {
    display: block !important;
    margin-top: auto !important;
    padding-top: 10px;
    color: #173f2b !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}


/* HOVER */

.pb-learn-card:hover {
    transform: translateY(-4px) !important;
    border-color: #dca62b !important;
    box-shadow: 0 15px 35px rgba(23,63,43,.12) !important;
}


/* REDUCE GAP BELOW HERO */

.pb-learn-hero {
    padding-bottom: 60px !important;
}


/* MAIN TOPIC SECTION CLOSER TO CARDS */

.pb-learn-start {
    margin-top: 0 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {

    .pb-learn-grid {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        padding: 35px 25px 45px !important;
    }

    .pb-learn-card {
        min-height: 275px !important;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 620px) {

    .pb-learn-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        padding: 25px 18px 35px !important;
    }

    .pb-learn-card {
        min-height: 0 !important;
        padding: 25px 23px !important;
    }

    .pb-learn-card:before {
        font-size: 32px;
        margin-bottom: 20px;
    }
}


/* =========================================================
   PUREFARMFRESH LEARN - APPROVED LANDING DESIGN
========================================================= */

.pb-learn-home {
    background: #faf8f2;
}


/* HERO + CARDS */

.pb-learn-overview {
    display: grid !important;
    grid-template-columns: 340px minmax(0,1fr) !important;
    gap: 55px !important;
    max-width: 1500px !important;
    margin: 0 auto !important;
    padding: 65px 45px 55px !important;
    box-sizing: border-box;
}


/* LEFT INTRO */

.pb-learn-overview-intro {
    padding-top: 10px;
}

.pb-learn-overview-intro .pb-learn-eyebrow {
    margin-bottom: 22px;
}

.pb-learn-overview-intro h1 {
    margin: 0 0 24px !important;
    color: #16452f !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 48px !important;
    line-height: 1.08 !important;
    letter-spacing: -1px;
}

.pb-learn-overview-intro > p {
    margin: 0 0 22px;
    color: #4f5b54;
    font-size: 15px;
    line-height: 1.75;
}

.pb-learn-overview-intro .pb-learn-principle {
    margin-top: 26px !important;
    padding: 0 !important;
    border: 0 !important;
    color: #173f2b !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}


/* FOUR CARDS */

.pb-learn-overview .pb-learn-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pb-learn-overview .pb-learn-card {
    min-height: 455px !important;
    padding: 29px 24px 25px !important;
    background: #fffdf8 !important;
    border: 1px solid #ddd5c5 !important;
    border-radius: 7px !important;
    box-shadow: 0 4px 16px rgba(26,54,39,.035) !important;
}


/* REMOVE OLD EMOJI GENERATED CONTENT */

.pb-learn-overview .pb-learn-card:before {
    display: none !important;
}


/* GREEN / EARTH-TONE ICONS */

.pb-learn-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 55px;
    height: 55px;
    margin: 0 0 25px;
    color: #174b34;
    background: #eef1e7;
    border-radius: 50%;
    font-family: Georgia, serif;
    font-size: 31px;
    font-weight: bold;
    line-height: 1;
}

.pb-learn-card:nth-child(2) .pb-learn-icon {
    background: #f1eadc;
    color: #725c34;
}

.pb-learn-card:nth-child(3) .pb-learn-icon {
    background: #e7eee9;
}

.pb-learn-card:nth-child(4) .pb-learn-icon {
    background: #f1eadc;
    color: #725c34;
}


.pb-learn-overview .pb-learn-number {
    order: initial !important;
    margin: 0 0 22px !important;
    color: #d59a16 !important;
    font-size: 13px !important;
}

.pb-learn-overview .pb-learn-card h2 {
    margin-bottom: 18px !important;
    color: #123f2a !important;
    font-size: 25px !important;
}

.pb-learn-overview .pb-learn-card p {
    color: #58645d !important;
    font-size: 14px !important;
    line-height: 1.72 !important;
}

.pb-learn-overview .pb-learn-link {
    color: #12452e !important;
}


/* =========================================================
   DARK GREEN QUICK-LEARN BAND
========================================================= */

.pb-learn-home .pb-learn-start {
    max-width: none !important;
    margin: 0 !important;
    padding: 43px 55px 50px !important;
    text-align: center;
    background: #0e4935 !important;
}

.pb-learn-home .pb-learn-start h2 {
    max-width: none;
    margin: 5px 0 36px !important;
    color: #fff !important;
    font-size: 34px !important;
}

.pb-learn-home .pb-learn-start .pb-learn-eyebrow {
    margin: 0;
    color: #e1ab29;
}


.pb-learn-quick {
    display: grid;
    grid-template-columns: repeat(8,1fr);
    max-width: 1450px;
    margin: 0 auto;
}

.pb-learn-quick > div {
    min-height: 125px;
    padding: 12px 15px;
    border-right: 1px solid rgba(220,166,43,.35);
    box-sizing: border-box;
}

.pb-learn-quick > div:last-child {
    border-right: 0;
}

.pb-learn-quick span {
    display: block;
    min-height: 43px;
    margin-bottom: 10px;
    color: #ddb04a;
    font-family: Georgia, serif;
    font-size: 31px;
    line-height: 1;
}

.pb-learn-quick strong {
    display: block;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
}


/* TABLET */

@media (max-width: 1200px) {

    .pb-learn-overview {
        grid-template-columns: 280px 1fr !important;
        gap: 30px !important;
        padding-left: 30px !important;
        padding-right: 30px !important;
    }

    .pb-learn-overview .pb-learn-grid {
        grid-template-columns: repeat(2,1fr) !important;
    }

    .pb-learn-overview .pb-learn-card {
        min-height: 340px !important;
    }

    .pb-learn-quick {
        grid-template-columns: repeat(4,1fr);
    }

    .pb-learn-quick > div:nth-child(4) {
        border-right: 0;
    }
}


/* MOBILE */

@media (max-width: 750px) {

    .pb-learn-overview {
        display: block !important;
        padding: 45px 20px 35px !important;
    }

    .pb-learn-overview-intro {
        margin-bottom: 38px;
    }

    .pb-learn-overview-intro h1 {
        font-size: 40px !important;
    }

    .pb-learn-overview .pb-learn-grid {
        grid-template-columns: 1fr !important;
    }

    .pb-learn-overview .pb-learn-card {
        min-height: 0 !important;
    }

    .pb-learn-quick {
        grid-template-columns: repeat(2,1fr);
    }

    .pb-learn-quick > div {
        border-right: 0;
        border-bottom: 1px solid rgba(220,166,43,.25);
    }

}


/* =========================================================
   PUREFARMFRESH LEARN - FINAL LAYOUT REPAIR
   Override earlier Learn grid rules
========================================================= */


/* ---------------------------------------------------------
   OVERVIEW
--------------------------------------------------------- */

.pb-learn-overview {
    display: flex !important;
    align-items: stretch !important;
    gap: 38px !important;

    width: 100% !important;
    max-width: 1500px !important;

    margin: 0 auto !important;
    padding: 55px 40px !important;

    box-sizing: border-box !important;
}


/* LEFT INTRO */

.pb-learn-overview-intro {
    flex: 0 0 330px !important;
    width: 330px !important;
    padding: 8px 0 0 !important;
    margin: 0 !important;
}


/* ---------------------------------------------------------
   CARD HOLDER
   FLEXBOX INSTEAD OF GRID
--------------------------------------------------------- */

.pb-learn-overview .pb-learn-grid {
    display: flex !important;
    flex: 1 1 auto !important;
    align-items: stretch !important;

    width: auto !important;
    max-width: none !important;

    gap: 14px !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ONLY THE FOUR ACTUAL LINKS */

.pb-learn-overview .pb-learn-grid > a.pb-learn-card {
    display: flex !important;
    flex: 1 1 0 !important;
    flex-direction: column !important;

    width: 0 !important;
    min-width: 0 !important;
    min-height: 410px !important;

    margin: 0 !important;
    padding: 27px 23px !important;

    box-sizing: border-box !important;

    background: #fffdf8 !important;

    border: 1px solid #ddd5c5 !important;
    border-radius: 7px !important;

    box-shadow:
        0 5px 18px rgba(26,54,39,.045) !important;

    text-decoration: none !important;
}


/* REMOVE ALL OLD GENERATED CARD ICONS */

.pb-learn-overview .pb-learn-card:before,
.pb-learn-overview .pb-learn-card:after {
    display: none !important;
    content: none !important;
}


/* ---------------------------------------------------------
   FARM / BEEF ICONS
--------------------------------------------------------- */

.pb-learn-icon {
    display: block !important;

    width: auto !important;
    height: auto !important;

    margin: 0 0 20px !important;

    background: none !important;
    border-radius: 0 !important;

    color: #174b34 !important;

    font-family:
        "Segoe UI Emoji",
        "Apple Color Emoji",
        sans-serif !important;

    font-size: 34px !important;
    line-height: 1 !important;

    filter: sepia(.35) saturate(.8);
}


/* ---------------------------------------------------------
   CARD TYPOGRAPHY
--------------------------------------------------------- */

.pb-learn-overview .pb-learn-number {
    display: block !important;
    order: initial !important;

    margin: 0 0 18px !important;

    color: #d89b16 !important;

    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 1.5px !important;
}


.pb-learn-overview .pb-learn-card h2 {
    margin: 0 0 15px !important;

    color: #123f2a !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 25px !important;
    line-height: 1.13 !important;
}


.pb-learn-overview .pb-learn-card p {
    margin: 0 0 22px !important;

    color: #59655e !important;

    font-size: 14px !important;
    line-height: 1.65 !important;
}


.pb-learn-overview .pb-learn-link {
    display: block !important;

    margin-top: auto !important;
    padding-top: 12px !important;

    color: #12452e !important;

    font-size: 13px !important;
    font-weight: 800 !important;
}


/* ---------------------------------------------------------
   GREEN QUICK LEARN SECTION
--------------------------------------------------------- */

.pb-learn-home .pb-learn-start {
    padding: 38px 45px 42px !important;
}


.pb-learn-home .pb-learn-start h2 {
    margin: 4px 0 30px !important;
}


.pb-learn-quick {
    display: flex !important;

    width: 100% !important;
    max-width: 1450px !important;

    margin: 0 auto !important;
}


.pb-learn-quick > div {
    flex: 1 1 0 !important;

    min-width: 0 !important;
    min-height: 118px !important;

    padding: 10px 14px !important;

    border-right:
        1px solid rgba(220,166,43,.32) !important;
}


.pb-learn-quick > div:last-child {
    border-right: 0 !important;
}


/* remove purple/default emoji backgrounds */

.pb-learn-quick span {
    display: block !important;

    min-height: 38px !important;

    margin: 0 0 11px !important;

    background: none !important;

    color: #dfac32 !important;

    font-family:
        "Segoe UI Emoji",
        "Apple Color Emoji",
        sans-serif !important;

    font-size: 27px !important;
    line-height: 1 !important;

    filter: sepia(.65) saturate(.75);
}


/* ---------------------------------------------------------
   RESPONSIVE
--------------------------------------------------------- */

@media (max-width: 1200px) {

    .pb-learn-overview {
        display: block !important;
    }

    .pb-learn-overview-intro {
        width: auto !important;
        max-width: 700px !important;
        margin-bottom: 35px !important;
    }

    .pb-learn-overview .pb-learn-grid {
        display: grid !important;
        grid-template-columns: repeat(2,1fr) !important;
    }

    .pb-learn-overview .pb-learn-grid > a.pb-learn-card {
        width: auto !important;
        min-height: 300px !important;
    }

    .pb-learn-quick {
        display: grid !important;
        grid-template-columns: repeat(4,1fr) !important;
    }

}


@media (max-width: 650px) {

    .pb-learn-overview {
        padding: 38px 20px !important;
    }

    .pb-learn-overview .pb-learn-grid {
        grid-template-columns: 1fr !important;
    }

    .pb-learn-overview .pb-learn-grid > a.pb-learn-card {
        min-height: 0 !important;
    }

    .pb-learn-quick {
        grid-template-columns: repeat(2,1fr) !important;
    }

}



/* =========================================================
   PUREFARMFRESH LEARN V2
   Approved layout
========================================================= */

.pbl-home {
    --green: #0f4935;
    --green-dark: #0b3d2c;
    --gold: #d99c18;
    --cream: #faf8f1;
    --border: #ded5c3;
    --text: #4e5c54;

    width: 100%;
    background: var(--cream);
    color: var(--text);
}


/* =========================================================
   TOP
========================================================= */

.pbl-top {
    display: flex;
    align-items: stretch;
    gap: 34px;

    width: 100%;
    max-width: 1520px;

    margin: 0 auto;
    padding: 55px 42px 48px;

    box-sizing: border-box;
}


/* INTRO */

.pbl-intro {
    flex: 0 0 360px;
    width: 360px;

    padding: 5px 5px 0 0;

    box-sizing: border-box;
}

.pbl-kicker {
    margin-bottom: 25px;

    color: var(--gold);

    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.pbl-intro h1 {
    margin: 0 0 28px !important;

    color: var(--green) !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 50px !important;
    font-weight: 700 !important;
    line-height: 1.06 !important;
    letter-spacing: -1px !important;
}

.pbl-intro p {
    margin: 0 !important;

    max-width: 340px;

    color: #495950 !important;

    font-size: 15px !important;
    line-height: 1.75 !important;
}

.pbl-belief {
    margin-top: 28px;

    color: var(--green-dark);

    font-size: 15px;
    font-weight: 800;
    line-height: 1.65;
}


/* =========================================================
   FOUR CARDS
========================================================= */

.pbl-cards {
    display: flex !important;
    flex: 1 1 0;
    gap: 16px;

    min-width: 0;
}


/*
 Critical:
 each .pbl-card gets exactly one quarter of the available width.
*/

.pbl-cards > .pbl-card {
    display: flex !important;
    flex: 1 1 0 !important;
    flex-direction: column !important;

    width: auto !important;
    min-width: 0 !important;
    min-height: 440px;

    margin: 0 !important;
    padding: 28px 25px 25px !important;

    box-sizing: border-box !important;

    background: #fffdf8 !important;

    border: 1px solid var(--border) !important;
    border-radius: 7px !important;

    box-shadow:
        0 5px 18px rgba(20,58,40,.035) !important;

    color: inherit !important;
    text-decoration: none !important;

    overflow: hidden;
}


/* kill theme pseudo-elements */

.pbl-card:before,
.pbl-card:after {
    display: none !important;
    content: none !important;
}


/* ICON */

.pbl-icon {
    display: block;

    height: 48px;

    margin: 0 0 17px;

    background: transparent !important;

    font-family:
        "Segoe UI Emoji",
        "Apple Color Emoji",
        sans-serif;

    font-size: 36px;
    line-height: 48px;

    /*
       Pull bright emoji colours toward the
       earthy PureFarmFresh palette.
    */
    filter:
        sepia(.45)
        saturate(.72)
        brightness(.88);
}


/* NUMBER */

.pbl-number {
    margin: 0 0 22px;

    color: var(--gold);

    font-family: Georgia, serif;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1.5px;
}


/* CARD TITLE */

.pbl-card h2 {
    margin: 0 0 18px !important;

    color: var(--green-dark) !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 27px !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
}


/* CARD COPY */

.pbl-card p {
    margin: 0 0 24px !important;

    color: #56635b !important;

    font-size: 14px !important;
    line-height: 1.7 !important;
}


/* CARD LINK */

.pbl-more {
    margin-top: auto;
    padding-top: 12px;

    color: var(--green-dark);

    font-size: 13px;
    font-weight: 800;
    line-height: 1.4;
}


/* HOVER */

.pbl-card:hover {
    transform: translateY(-3px);

    border-color: #cba84f !important;

    box-shadow:
        0 12px 28px rgba(20,58,40,.09) !important;
}


/* =========================================================
   GREEN LEARN STRIP
========================================================= */

.pbl-start {
    width: 100%;

    padding: 38px 45px 44px;

    box-sizing: border-box;

    text-align: center;

    background: var(--green-dark);
}


.pbl-start-kicker {
    margin-bottom: 7px;

    color: #e2a721;

    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
}


.pbl-start h2 {
    margin: 0 0 35px !important;

    color: #fff !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 35px !important;
    line-height: 1.15 !important;
}


/* TOPICS */

.pbl-topics {
    display: flex;

    width: 100%;
    max-width: 1460px;

    margin: 0 auto;
}


.pbl-topic {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    justify-content: flex-start;

    min-width: 0;
    min-height: 130px;

    padding: 8px 14px;

    box-sizing: border-box;

    border-right:
        1px solid rgba(218,163,35,.38);

    color: #fff;

    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
}


.pbl-topic:last-child {
    border-right: 0;
}


/* EARTH-TONE ICONS */

.pbl-topic-icon {
    height: 43px;

    margin-bottom: 12px;

    color: #d9ad45;

    font-family:
        "Segoe UI Emoji",
        "Apple Color Emoji",
        sans-serif;

    font-size: 30px;
    line-height: 40px;

    filter:
        sepia(.65)
        saturate(.75)
        brightness(.92);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1150px) {

    .pbl-top {
        display: block;
    }

    .pbl-intro {
        width: 100%;
        max-width: 700px;

        margin-bottom: 38px;
    }

    .pbl-cards {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .pbl-cards > .pbl-card {
        min-height: 330px;
    }

    .pbl-topics {
        display: grid;
        grid-template-columns: repeat(4,1fr);
    }

    .pbl-topic {
        border-bottom:
            1px solid rgba(218,163,35,.25);
    }

    .pbl-topic:nth-child(4) {
        border-right: 0;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 650px) {

    .pbl-top {
        padding: 38px 18px 30px;
    }

    .pbl-intro h1 {
        font-size: 40px !important;
    }

    .pbl-cards {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .pbl-cards > .pbl-card {
        min-height: 0;
        padding: 24px !important;
    }

    .pbl-start {
        padding: 35px 18px;
    }

    .pbl-start h2 {
        font-size: 29px !important;
    }

    .pbl-topics {
        grid-template-columns: repeat(2,1fr);
    }

    .pbl-topic {
        border-right: 0;
    }

}


/* =========================================================
   PUREFARMFRESH LEARN - KNOWLEDGE LIBRARY
========================================================= */

.pbl-section-page {
    background: #faf8f1;
    min-height: 70vh;
}

.pbl-section-hero {
    padding: 65px max(6vw,30px) 55px;
    background: #f5f0e5;
    border-bottom: 1px solid #e0d8c8;
}

.pbl-section-hero h1 {
    max-width: 900px;
    margin: 0 0 18px !important;
    color: #0f4935 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(42px,5vw,64px) !important;
    line-height: 1.05 !important;
}

.pbl-section-hero p {
    max-width: 720px;
    margin: 0 !important;
    color: #56635b;
    font-size: 18px;
    line-height: 1.7;
}


/* ARTICLE LIBRARY */

.pbl-library {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 18px;

    max-width: 1450px;
    margin: 0 auto;
    padding: 55px 35px 65px;
}

.pbl-library-card {
    display: flex;
    flex-direction: column;

    min-height: 285px;
    padding: 27px;

    box-sizing: border-box;

    background: #fffdf8;
    border: 1px solid #ddd5c5;
    border-radius: 7px;

    color: inherit !important;
    text-decoration: none !important;

    transition: .2s ease;
}

.pbl-library-card:hover {
    transform: translateY(-3px);
    border-color: #d1a23c;
    box-shadow: 0 10px 25px rgba(20,58,40,.08);
}

.pbl-library-type {
    margin-bottom: 24px;

    color: #d99c18;

    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.pbl-library-card h2 {
    margin: 0 0 15px !important;

    color: #0b3d2c !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 24px !important;
    line-height: 1.18 !important;
}

.pbl-library-card p {
    margin: 0 0 20px !important;

    color: #5a665f !important;

    font-size: 14px !important;
    line-height: 1.65 !important;
}

.pbl-library-card span {
    margin-top: auto;

    color: #0f4935;

    font-size: 13px;
    font-weight: 800;
}


/* SECTION END */

.pbl-section-note {
    padding: 60px 30px;

    text-align: center;

    background: #0b3d2c;
}

.pbl-section-note h2 {
    margin: 0 0 14px !important;

    color: #fff !important;

    font-family: Georgia, serif !important;
    font-size: 36px !important;
}

.pbl-section-note p {
    max-width: 700px;
    margin: 0 auto !important;

    color: rgba(255,255,255,.82);

    font-size: 16px;
    line-height: 1.7;
}


/* =========================================================
   ARTICLE
========================================================= */

.pbl-article {
    max-width: 850px;

    margin: 0 auto;
    padding: 65px 30px 90px;

    color: #435149;

    font-size: 17px;
    line-height: 1.8;
}

.pbl-article-lead {
    margin: 0 0 45px !important;

    color: #203b2e;

    font-family: Georgia, serif;
    font-size: 23px !important;
    line-height: 1.55 !important;
}

.pbl-article h2 {
    margin: 48px 0 15px !important;

    color: #0b3d2c !important;

    font-family: Georgia, serif !important;
    font-size: 30px !important;
}

.pbl-article p {
    margin: 0 0 20px !important;
}

.pbl-article li {
    margin-bottom: 8px;
}

.pbl-fact {
    margin: 35px 0;
    padding: 23px 25px;

    background: #f3eee2;

    border-left: 4px solid #d99c18;

    color: #263b30;

    line-height: 1.7;
}


@media (max-width:1050px) {

    .pbl-library {
        grid-template-columns: repeat(2,1fr);
    }

}

@media (max-width:600px) {

    .pbl-library {
        grid-template-columns: 1fr;
        padding: 30px 18px 45px;
    }

    .pbl-library-card {
        min-height: 0;
    }

    .pbl-article {
        padding: 45px 22px 65px;
    }

}



/* =========================================================
   PUREFARMFRESH CONSUMER KNOWLEDGE CENTRE
========================================================= */

.pbc-home {
    --green:#0b3d2c;
    --green2:#174b36;
    --gold:#d9a127;
    --cream:#faf8f1;
    --cream2:#f4efe4;
    --border:#ded6c6;
    --text:#536158;

    width:100%;
    background:var(--cream);
}


/* HERO */

.pbc-hero {
    padding:70px max(6vw,35px) 65px;
    background:var(--cream2);
    border-bottom:1px solid var(--border);
}

.pbc-kicker {
    margin-bottom:22px;
    color:var(--gold);
    font-size:12px;
    font-weight:800;
    letter-spacing:2px;
}

.pbc-hero h1 {
    margin:0 0 25px !important;
    color:var(--green) !important;
    font-family:Georgia,serif !important;
    font-size:clamp(48px,6vw,76px) !important;
    line-height:1.02 !important;
}

.pbc-hero > p {
    max-width:720px;
    margin:0 !important;
    color:#4e5d54;
    font-size:17px;
    line-height:1.75;
}

.pbc-principle {
    margin-top:30px;
    padding-left:18px;
    border-left:3px solid var(--gold);
    color:var(--green);
    font-size:15px;
    line-height:1.6;
}

.pbc-principle strong {
    display:block;
}


/* SECTIONS */

.pbc-section {
    max-width:1450px;
    margin:0 auto;
    padding:65px 35px;
    border-bottom:1px solid #e5ded0;
}

.pbc-section-head {
    display:grid;
    grid-template-columns:75px minmax(0,650px);
    gap:18px;
    align-items:start;
    margin-bottom:32px;
}

.pbc-section-number {
    color:var(--gold);
    font-family:Georgia,serif;
    font-size:18px;
    font-weight:700;
}

.pbc-section-head h2 {
    margin:0 0 10px !important;
    color:var(--green) !important;
    font-family:Georgia,serif !important;
    font-size:38px !important;
    line-height:1.1 !important;
}

.pbc-section-head p {
    margin:0 !important;
    color:#617067;
    font-size:15px;
    line-height:1.65;
}


/* SIX ARTICLE CARDS */

.pbc-grid {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}

.pbc-card {
    display:flex !important;
    flex-direction:column !important;

    min-height:245px;

    margin:0 !important;
    padding:25px !important;

    box-sizing:border-box;

    background:#fffdf8 !important;
    border:1px solid var(--border) !important;
    border-radius:6px;

    color:inherit !important;
    text-decoration:none !important;

    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.pbc-card:before,
.pbc-card:after {
    display:none !important;
    content:none !important;
}

.pbc-card:hover {
    transform:translateY(-3px);
    border-color:#cba64e !important;
    box-shadow:0 10px 25px rgba(15,61,44,.07);
}

.pbc-card-top {
    margin-bottom:20px;
    color:var(--gold);
    font-size:10px;
    font-weight:800;
    letter-spacing:1.7px;
}

.pbc-card h3 {
    margin:0 0 13px !important;
    color:var(--green) !important;
    font-family:Georgia,serif !important;
    font-size:23px !important;
    line-height:1.2 !important;
}

.pbc-card p {
    margin:0 0 22px !important;
    color:#5c6961 !important;
    font-size:13px !important;
    line-height:1.65 !important;
}

.pbc-read {
    margin-top:auto;
    padding-top:10px;
    color:var(--green);
    font-size:12px;
    font-weight:800;
}

.pbc-read span {
    margin-left:4px;
    color:var(--gold);
}


/* FOOTER */

.pbc-footer {
    padding:60px 35px;
    background:var(--green);
}

.pbc-footer-inner {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;

    max-width:1250px;
    margin:0 auto;
}

.pbc-footer-kicker {
    margin-bottom:10px;
    color:var(--gold);
    font-size:11px;
    font-weight:800;
    letter-spacing:2px;
}

.pbc-footer h2 {
    margin:0 !important;
    color:white !important;
    font-family:Georgia,serif !important;
    font-size:38px !important;
    line-height:1.1 !important;
}

.pbc-footer p {
    margin:0 !important;
    color:rgba(255,255,255,.82) !important;
    font-size:15px;
    line-height:1.75;
}


/* REFERENCES */

.pbl-references {
    margin-top:60px;
    padding:28px 30px;

    background:#f5f0e5;
    border-top:3px solid #d9a127;
}

.pbl-references h2 {
    margin:0 0 10px !important;
    font-size:23px !important;
}

.pbl-references > p {
    margin-bottom:15px !important;
    font-size:14px !important;
}

.pbl-references ul {
    margin:0;
    padding-left:20px;
}

.pbl-references li {
    margin:7px 0;
}

.pbl-references a {
    color:#0b3d2c;
    font-weight:700;
}


/* RESPONSIVE */

@media(max-width:1000px) {

    .pbc-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

}

@media(max-width:650px) {

    .pbc-hero {
        padding:45px 22px;
    }

    .pbc-section {
        padding:45px 18px;
    }

    .pbc-section-head {
        grid-template-columns:1fr;
        gap:7px;
    }

    .pbc-grid {
        grid-template-columns:1fr;
    }

    .pbc-card {
        min-height:0;
    }

    .pbc-footer-inner {
        grid-template-columns:1fr;
        gap:25px;
    }

}



/* =========================================================
   PUREFARMFRESH CONSUMER CARD LAYOUT FIX
   Force clean equal 3-column article grid
========================================================= */

.pbc-section .pbc-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-rows: 1fr !important;
    gap: 18px !important;

    width: 100% !important;
    height: auto !important;

    align-items: stretch !important;
}


/* Kill theme positioning / masonry rules */

.pbc-section .pbc-grid > .pbc-card {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    transform: none !important;

    float: none !important;
    clear: none !important;

    width: auto !important;
    max-width: none !important;

    height: auto !important;
    min-height: 235px !important;

    margin: 0 !important;
    padding: 26px !important;

    box-sizing: border-box !important;

    display: flex !important;
    flex-direction: column !important;
}


/* Keep hover but don't allow theme transforms */

.pbc-section .pbc-grid > .pbc-card:hover {
    transform: translateY(-3px) !important;
}


/* Card typography */

.pbc-card-top {
    margin: 0 0 18px !important;
}

.pbc-card h3 {
    margin: 0 0 12px !important;
}

.pbc-card p {
    margin: 0 0 20px !important;
}

.pbc-card .pbc-read {
    margin-top: auto !important;
}


/* Tablet */

@media (max-width: 1000px) {

    .pbc-section .pbc-grid {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }

}


/* Mobile */

@media (max-width: 650px) {

    .pbc-section .pbc-grid {
        grid-template-columns: 1fr !important;
    }

    .pbc-section .pbc-grid > .pbc-card {
        min-height: 190px !important;
    }

}



/* =========================================================
   PUREFARMFRESH CONSUMER CARD LAYOUT FIX
   Force clean equal 3-column article grid
========================================================= */

.pbc-section .pbc-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-rows: 1fr !important;
    gap: 18px !important;

    width: 100% !important;
    height: auto !important;

    align-items: stretch !important;
}


/* Kill theme positioning / masonry rules */

.pbc-section .pbc-grid > .pbc-card {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    transform: none !important;

    float: none !important;
    clear: none !important;

    width: auto !important;
    max-width: none !important;

    height: auto !important;
    min-height: 235px !important;

    margin: 0 !important;
    padding: 26px !important;

    box-sizing: border-box !important;

    display: flex !important;
    flex-direction: column !important;
}


/* Keep hover but don't allow theme transforms */

.pbc-section .pbc-grid > .pbc-card:hover {
    transform: translateY(-3px) !important;
}


/* Card typography */

.pbc-card-top {
    margin: 0 0 18px !important;
}

.pbc-card h3 {
    margin: 0 0 12px !important;
}

.pbc-card p {
    margin: 0 0 20px !important;
}

.pbc-card .pbc-read {
    margin-top: auto !important;
}


/* Tablet */

@media (max-width: 1000px) {

    .pbc-section .pbc-grid {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }

}


/* Mobile */

@media (max-width: 650px) {

    .pbc-section .pbc-grid {
        grid-template-columns: 1fr !important;
    }

    .pbc-section .pbc-grid > .pbc-card {
        min-height: 190px !important;
    }

}



/* =========================================================
   PUREFARMFRESH CONSUMER COMPACT CARD DESIGN
========================================================= */

.pbc-section .pbc-grid {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    grid-auto-rows:1fr !important;
    gap:22px !important;
}

.pbc-section .pbc-grid .pbc-card {
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;

    width:auto !important;
    height:auto !important;
    min-height:330px !important;

    margin:0 !important;
    padding:30px 30px 27px !important;

    background:#fffdf9 !important;
    border:1px solid #ded5c3 !important;
    border-radius:5px !important;

    transform:none !important;
    float:none !important;

    box-shadow:none !important;
}

.pbc-section .pbc-grid .pbc-card:hover {
    transform:translateY(-3px) !important;
    border-color:#d9a127 !important;
    box-shadow:0 9px 25px rgba(11,61,44,.07) !important;
}


/* ICONS */

.pbc-icon {
    display:flex;
    align-items:center;
    justify-content:center;

    width:48px;
    height:48px;

    margin:2px 0 17px;

    font-family:Georgia,serif;
    font-size:34px;
    font-weight:700;
    line-height:1;

    background:transparent;
}

.pbc-icon-green {
    color:#0b3d2c !important;
}

.pbc-icon-brown {
    color:#8a623d !important;
}

.pbc-icon-gold {
    color:#d9a127 !important;
}


/*
Native emoji sometimes ignore CSS color.
Force the visual symbols toward PureFarmFresh's earthy palette.
*/

.pbc-icon-green {
    filter:grayscale(1) sepia(1) hue-rotate(80deg) saturate(3);
}

.pbc-icon-brown {
    filter:grayscale(1) sepia(1) saturate(2);
}

.pbc-icon-gold {
    filter:grayscale(1) sepia(1) saturate(5);
}


/* CARD CONTENT */

.pbc-card-top {
    margin-bottom:12px !important;
}

.pbc-card h3 {
    margin:0 0 12px !important;
    font-size:25px !important;
    line-height:1.15 !important;
}

.pbc-card p {
    margin:0 0 20px !important;
    font-size:14px !important;
    line-height:1.65 !important;
}

.pbc-read {
    margin-top:auto !important;
}


/* TRUST STRIP */

.pbc-trust {
    display:flex;
    align-items:center;
    gap:22px;

    max-width:1380px;

    margin:20px auto 65px;
    padding:22px 30px;

    background:#f3ede0;
    border:1px solid #e4dac5;
    border-radius:6px;

    color:#526057;
}

.pbc-trust-icon {
    color:#d9a127;
    font-size:27px;
}

.pbc-trust strong {
    margin-right:10px;
    color:#0b3d2c;
    font-family:Georgia,serif;
    font-size:19px;
}

.pbc-trust span {
    font-size:14px;
}


@media(max-width:1000px) {

    .pbc-section .pbc-grid {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

}


@media(max-width:650px) {

    .pbc-section .pbc-grid {
        grid-template-columns:1fr !important;
    }

    .pbc-section .pbc-grid .pbc-card {
        min-height:275px !important;
    }

    .pbc-trust {
        margin:15px 18px 45px;
    }

    .pbc-trust span {
        display:block;
        margin-top:5px;
    }

}



/* =========================================================
   PUREFARMFRESH CONSUMERS — FINAL CARD GRID
========================================================= */

.pbc-section {
    max-width: 1450px !important;
    margin: 0 auto !important;
    padding: 58px 35px !important;
}


/* SECTION HEADING */

.pbc-section-head {
    display: grid !important;
    grid-template-columns: 65px minmax(0, 760px) !important;
    gap: 18px !important;
    margin-bottom: 34px !important;
}

.pbc-section-number {
    color: #D49A18 !important;
    font-family: Georgia, serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
}

.pbc-section-head h2 {
    margin: 0 0 9px !important;
    color: #0B4938 !important;
    font-family: Georgia, serif !important;
    font-size: 39px !important;
    line-height: 1.08 !important;
}

.pbc-section-head p {
    margin: 0 !important;
    max-width: 760px !important;
    color: #526158 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}


/* FORCE TRUE GRID */

.pbc-section .pbc-grid {
    display: grid !important;

    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;

    grid-auto-flow: row !important;
    grid-auto-rows: 1fr !important;

    column-gap: 24px !important;
    row-gap: 24px !important;

    width: 100% !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    align-items: stretch !important;
}


/* CARDS */

.pbc-section .pbc-grid > .pbc-card {
    position: relative !important;

    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;

    float: none !important;
    clear: none !important;

    transform: none !important;

    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    max-width: none !important;

    height: auto !important;
    min-height: 320px !important;

    box-sizing: border-box !important;

    margin: 0 !important;
    padding: 29px 30px 27px !important;

    background: #FFFDF9 !important;

    border: 1px solid #DED5C3 !important;
    border-radius: 5px !important;

    text-decoration: none !important;

    box-shadow: none !important;

    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease !important;
}


.pbc-section .pbc-grid > .pbc-card:hover {
    transform: translateY(-3px) !important;
    border-color: #D49A18 !important;
    box-shadow: 0 9px 24px rgba(11,73,56,.07) !important;
}


/* LEARN */

.pbc-card-top {
    margin: 0 0 17px !important;

    color: #D49A18 !important;

    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 1.7px !important;
}


/* SMALLER EARTH-TONE ICONS */

.pbc-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: auto !important;
    height: 34px !important;

    margin: 0 0 16px !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    filter: none !important;
}

.pbc-icon-green {
    color: #0B4938 !important;
}

.pbc-icon-brown {
    color: #8B623C !important;
}

.pbc-icon-gold {
    color: #D49A18 !important;
}


/* TITLES */

.pbc-card h3 {
    margin: 0 0 13px !important;

    color: #0B4938 !important;

    font-family: Georgia, serif !important;
    font-size: 25px !important;
    line-height: 1.16 !important;
}


/* DESCRIPTION */

.pbc-card p {
    margin: 0 0 22px !important;

    color: #505D55 !important;

    font-size: 14px !important;
    line-height: 1.65 !important;
}


/* READ LINK */

.pbc-read {
    margin-top: auto !important;
    padding-top: 12px !important;

    color: #0B4938 !important;

    font-size: 13px !important;
    font-weight: 800 !important;
}

.pbc-read span {
    margin-left: 5px !important;
    color: #D49A18 !important;
}


/* TRANSPARENCY STRIP */

.pbc-trust {
    display: flex !important;
    align-items: center !important;
    gap: 22px !important;

    max-width: 1380px !important;

    margin: 10px auto 60px !important;
    padding: 21px 29px !important;

    box-sizing: border-box !important;

    background: #F3EDE0 !important;

    border: 1px solid #E4DAC5 !important;
    border-radius: 5px !important;
}

.pbc-trust-icon {
    flex: 0 0 auto !important;

    color: #D49A18 !important;

    font-size: 24px !important;
    line-height: 1 !important;
}

.pbc-trust-copy strong {
    margin-right: 10px !important;

    color: #0B4938 !important;

    font-family: Georgia, serif !important;
    font-size: 18px !important;
}

.pbc-trust-copy span {
    color: #59655E !important;
    font-size: 14px !important;
}


/* TABLET */

@media (max-width: 1000px) {

    .pbc-section .pbc-grid {
        grid-template-columns:
            repeat(2, minmax(0,1fr)) !important;
    }

}


/* MOBILE */

@media (max-width: 650px) {

    .pbc-section {
        padding: 42px 19px !important;
    }

    .pbc-section-head {
        grid-template-columns: 1fr !important;
        gap: 5px !important;
    }

    .pbc-section-head h2 {
        font-size: 32px !important;
    }

    .pbc-section .pbc-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .pbc-section .pbc-grid > .pbc-card {
        min-height: 270px !important;
    }

    .pbc-trust {
        margin: 5px 19px 45px !important;
    }

    .pbc-trust-copy span {
        display: block !important;
        margin-top: 4px !important;
    }

}


/* =========================================================
   PUREFARMFRESH CONSUMER GRID — HARD RESET
   Theme-proof explicit placement
========================================================= */

.pbc-home .pbc-section .pbc-grid {
    display:grid !important;
    grid-template-columns:repeat(3, 1fr) !important;
    grid-template-rows:auto auto !important;
    gap:22px !important;
    height:auto !important;
}

/* completely reset every card */
.pbc-home .pbc-section .pbc-grid > a.pbc-card {
    position:relative !important;
    inset:auto !important;

    display:flex !important;
    flex-direction:column !important;

    float:none !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;

    height:320px !important;
    min-height:320px !important;
    max-height:320px !important;

    margin:0 !important;
    padding:28px 30px !important;

    transform:none !important;

    grid-column:auto !important;
    grid-row:auto !important;

    box-sizing:border-box !important;
}

/* explicitly place six cards */

.pbc-home .pbc-grid > a.pbc-card:nth-of-type(1) {
    grid-column:1 !important;
    grid-row:1 !important;
}

.pbc-home .pbc-grid > a.pbc-card:nth-of-type(2) {
    grid-column:2 !important;
    grid-row:1 !important;
}

.pbc-home .pbc-grid > a.pbc-card:nth-of-type(3) {
    grid-column:3 !important;
    grid-row:1 !important;
}

.pbc-home .pbc-grid > a.pbc-card:nth-of-type(4) {
    grid-column:1 !important;
    grid-row:2 !important;
}

.pbc-home .pbc-grid > a.pbc-card:nth-of-type(5) {
    grid-column:2 !important;
    grid-row:2 !important;
}

.pbc-home .pbc-grid > a.pbc-card:nth-of-type(6) {
    grid-column:3 !important;
    grid-row:2 !important;
}


/* compact icons */

.pbc-home .pbc-icon {
    height:30px !important;
    margin:0 0 14px !important;
    font-size:24px !important;
}


/* tablet */

@media(max-width:1000px) {

    .pbc-home .pbc-section .pbc-grid {
        grid-template-columns:repeat(2,1fr) !important;
        grid-template-rows:auto !important;
    }

    .pbc-home .pbc-grid > a.pbc-card {
        grid-column:auto !important;
        grid-row:auto !important;
    }

}


/* mobile */

@media(max-width:650px) {

    .pbc-home .pbc-section .pbc-grid {
        grid-template-columns:1fr !important;
    }

    .pbc-home .pbc-grid > a.pbc-card {
        height:auto !important;
        min-height:260px !important;
        max-height:none !important;
    }

}


/* =========================================================
   PUREFARMFRESH CONSUMER — REMOVE SECTION WHITE SPACE
========================================================= */

/* Let the grid calculate its own height */
.pbc-home .pbc-section .pbc-grid {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;

    grid-template-rows:none !important;
    grid-auto-rows:auto !important;
    grid-auto-flow:row !important;

    height:auto !important;
    min-height:0 !important;
    max-height:none !important;

    align-content:start !important;

    gap:22px !important;

    margin:0 !important;
    padding:0 !important;
}


/* Cards remain compact and equal */
.pbc-home .pbc-section .pbc-grid > a.pbc-card {
    height:300px !important;
    min-height:300px !important;
    max-height:300px !important;

    margin:0 !important;
}


/* Remove excessive space around each section */
.pbc-home .pbc-section {
    height:auto !important;
    min-height:0 !important;

    margin:0 auto !important;
    padding-top:52px !important;
    padding-bottom:52px !important;
}


/* Keep heading close to cards */
.pbc-home .pbc-section-head {
    margin-bottom:28px !important;
}


/* Explicit desktop positions */
@media(min-width:1001px) {

    .pbc-home .pbc-grid > a.pbc-card:nth-of-type(1) {
        grid-column:1 !important;
        grid-row:1 !important;
    }

    .pbc-home .pbc-grid > a.pbc-card:nth-of-type(2) {
        grid-column:2 !important;
        grid-row:1 !important;
    }

    .pbc-home .pbc-grid > a.pbc-card:nth-of-type(3) {
        grid-column:3 !important;
        grid-row:1 !important;
    }

    .pbc-home .pbc-grid > a.pbc-card:nth-of-type(4) {
        grid-column:1 !important;
        grid-row:2 !important;
    }

    .pbc-home .pbc-grid > a.pbc-card:nth-of-type(5) {
        grid-column:2 !important;
        grid-row:2 !important;
    }

    .pbc-home .pbc-grid > a.pbc-card:nth-of-type(6) {
        grid-column:3 !important;
        grid-row:2 !important;
    }

}


/* Tablet */
@media(max-width:1000px) {

    .pbc-home .pbc-section .pbc-grid {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .pbc-home .pbc-grid > a.pbc-card {
        grid-column:auto !important;
        grid-row:auto !important;
    }

}


/* Mobile */
@media(max-width:650px) {

    .pbc-home .pbc-section .pbc-grid {
        grid-template-columns:1fr !important;
    }

    .pbc-home .pbc-section .pbc-grid > a.pbc-card {
        height:auto !important;
        min-height:250px !important;
        max-height:none !important;
    }

    .pbc-home .pbc-section {
        padding-top:38px !important;
        padding-bottom:38px !important;
    }

}



/* =========================================================
   PUREFARMFRESH CONSUMER GRID FINAL RESET
   Six cards only. No ghost rows.
========================================================= */

.pbc-home .pbc-section .pbc-grid {
    display:grid !important;

    grid-template-columns:
        repeat(3,minmax(0,1fr)) !important;

    /* IMPORTANT: completely remove previous row definitions */
    grid-template-rows:unset !important;
    grid-auto-rows:unset !important;
    grid-auto-flow:row !important;

    gap:22px !important;

    width:100% !important;

    height:auto !important;
    min-height:0 !important;
    max-height:none !important;

    margin:0 !important;
    padding:0 !important;

    align-items:stretch !important;
    align-content:start !important;
}


/* Remove ALL explicit placement from cards */

.pbc-home .pbc-section .pbc-grid > a.pbc-card,
.pbc-home .pbc-section .pbc-grid > a.pbc-card:nth-child(n),
.pbc-home .pbc-section .pbc-grid > a.pbc-card:nth-of-type(n) {

    grid-column:auto !important;
    grid-row:auto !important;

    position:relative !important;

    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;

    inset:auto !important;

    float:none !important;
    clear:none !important;

    transform:none !important;

    width:100% !important;
    max-width:none !important;

    height:300px !important;
    min-height:300px !important;
    max-height:300px !important;

    margin:0 !important;

    box-sizing:border-box !important;
}


/* Normal section spacing */

.pbc-home .pbc-section {
    display:block !important;

    height:auto !important;
    min-height:0 !important;
    max-height:none !important;

    padding-top:48px !important;
    padding-bottom:48px !important;
}


/* Heading to cards */

.pbc-home .pbc-section-head {
    margin-bottom:28px !important;
}


/* Tablet */

@media(max-width:1000px) {

    .pbc-home .pbc-section .pbc-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;
    }

}


/* Mobile */

@media(max-width:650px) {

    .pbc-home .pbc-section .pbc-grid {
        grid-template-columns:1fr !important;
    }

    .pbc-home .pbc-section .pbc-grid > a.pbc-card {
        height:auto !important;
        min-height:250px !important;
        max-height:none !important;
    }

}


/* =========================================================
   PUREFARMFRESH CONSUMER CARD WRAPPER - FINAL
========================================================= */

.pbc-home .pbc-grid {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    grid-template-rows:auto !important;
    grid-auto-rows:auto !important;
    grid-auto-flow:row !important;

    gap:22px !important;

    width:100% !important;
    height:auto !important;
    min-height:0 !important;

    margin:0 !important;
    padding:0 !important;
}


/* NEW DIV CARD */

.pbc-home .pbc-grid > div.pbc-card {
    position:static !important;

    display:block !important;

    grid-column:auto !important;
    grid-row:auto !important;

    float:none !important;

    width:auto !important;
    min-width:0 !important;

    height:300px !important;
    min-height:300px !important;
    max-height:300px !important;

    margin:0 !important;
    padding:0 !important;

    background:#fffdf9 !important;

    border:1px solid #ded5c3 !important;
    border-radius:5px !important;

    box-sizing:border-box !important;

    transform:none !important;
}


/* LINK FILLS CARD */

.pbc-home .pbc-card-link {
    position:static !important;

    display:flex !important;
    flex-direction:column !important;

    width:100% !important;
    height:100% !important;

    margin:0 !important;
    padding:27px 30px !important;

    box-sizing:border-box !important;

    text-decoration:none !important;
    color:inherit !important;

    transform:none !important;
}


.pbc-home .pbc-card:hover {
    border-color:#d49a18 !important;
    box-shadow:0 9px 24px rgba(11,73,56,.07) !important;
}


/* CONTENT */

.pbc-home .pbc-card-top {
    margin:0 0 14px !important;
}

.pbc-home .pbc-icon {
    display:block !important;

    width:auto !important;
    height:27px !important;

    margin:0 0 13px !important;

    font-size:22px !important;
    line-height:1 !important;
}

.pbc-home .pbc-card h3 {
    margin:0 0 12px !important;
}

.pbc-home .pbc-card p {
    margin:0 0 18px !important;
}

.pbc-home .pbc-read {
    margin-top:auto !important;
}


/* SECTION SPACING */

.pbc-home .pbc-section {
    height:auto !important;
    min-height:0 !important;

    padding-top:48px !important;
    padding-bottom:48px !important;
}


/* TABLET */

@media(max-width:1000px) {

    .pbc-home .pbc-grid {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

}


/* MOBILE */

@media(max-width:650px) {

    .pbc-home .pbc-grid {
        grid-template-columns:1fr !important;
    }

    .pbc-home .pbc-grid > div.pbc-card {
        height:auto !important;
        min-height:250px !important;
        max-height:none !important;
    }

}



/* ==========================================================
   PUREFARMFRESH CONSUMERS V3
   ISOLATED FLEX LAYOUT
========================================================== */

.pbconsumer {
    width:100%;
    background:#FAF8F1;
}


/* HERO */

.pbconsumer-hero {
    padding:65px max(5vw,40px);
    background:#F5F1E7;
    border-bottom:1px solid #DED5C3;
}

.pbconsumer-kicker {
    margin-bottom:18px;
    color:#D49A18;
    font-size:11px;
    font-weight:800;
    letter-spacing:2px;
}

.pbconsumer-hero h1 {
    margin:0 0 20px !important;
    color:#0B4938 !important;
    font-family:Georgia,serif !important;
    font-size:58px !important;
    line-height:1.05 !important;
}

.pbconsumer-hero > p {
    max-width:700px;
    margin:0 !important;
    color:#536158;
    font-size:16px;
    line-height:1.7;
}

.pbconsumer-principle {
    margin-top:25px;
    padding-left:16px;
    border-left:3px solid #D49A18;
    color:#0B4938;
    line-height:1.55;
}

.pbconsumer-principle strong {
    display:block;
}


/* SECTION */

.pbconsumer-section {
    max-width:1450px;
    margin:0 auto;
    padding:50px 35px !important;
    box-sizing:border-box;
    border-bottom:1px solid #E2DACB;
}


/* HEADING */

.pbconsumer-heading {
    display:flex;
    gap:28px;
    align-items:flex-start;
    margin:0 0 30px;
}

.pbconsumer-number {
    flex:0 0 55px;
    padding-top:4px;
    color:#D49A18;
    font-family:Georgia,serif;
    font-size:16px;
    font-weight:700;
}

.pbconsumer-heading-copy h2 {
    margin:0 0 8px !important;
    color:#0B4938 !important;
    font-family:Georgia,serif !important;
    font-size:38px !important;
    line-height:1.08 !important;
}

.pbconsumer-heading-copy p {
    margin:0 !important;
    color:#536158;
    font-size:15px;
}


/* FLEXBOX, NOT GRID */

.pbconsumer-cards {
    display:flex !important;
    flex-wrap:wrap !important;

    width:100% !important;
    height:auto !important;

    margin:0 !important;
    padding:0 !important;

    gap:20px !important;
}


/* EXACTLY 3 ACROSS */

.pbconsumer-item {
    position:static !important;

    display:block !important;

    flex:0 0 calc((100% - 40px) / 3) !important;

    width:calc((100% - 40px) / 3) !important;
    max-width:calc((100% - 40px) / 3) !important;

    height:285px !important;
    min-height:285px !important;

    margin:0 !important;
    padding:0 !important;

    box-sizing:border-box !important;

    background:#FFFDF9;

    border:1px solid #DED5C3;
    border-radius:5px;

    float:none !important;
    transform:none !important;
}


/* LINK */

.pbconsumer-item > a {
    display:flex !important;
    flex-direction:column !important;

    width:100% !important;
    height:100% !important;

    margin:0 !important;
    padding:25px 27px !important;

    box-sizing:border-box !important;

    color:inherit !important;
    text-decoration:none !important;
}

.pbconsumer-item:hover {
    border-color:#D49A18;
    box-shadow:0 8px 22px rgba(11,73,56,.07);
}


/* CONTENT */

.pbconsumer-label {
    margin:0 0 12px;
    color:#D49A18;
    font-size:10px;
    font-weight:800;
    letter-spacing:1.6px;
}

.pbconsumer-symbol {
    height:25px;
    margin:0 0 12px;

    font-family:Georgia,serif;
    font-size:21px;
    font-weight:700;
    line-height:1;
}

.pbconsumer-symbol.green {
    color:#0B4938;
}

.pbconsumer-symbol.brown {
    color:#8B623C;
}

.pbconsumer-symbol.gold {
    color:#D49A18;
}

.pbconsumer-item h3 {
    margin:0 0 10px !important;

    color:#0B4938 !important;

    font-family:Georgia,serif !important;
    font-size:23px !important;
    line-height:1.15 !important;
}

.pbconsumer-item p {
    margin:0 0 15px !important;

    color:#505D55 !important;

    font-size:13px !important;
    line-height:1.55 !important;
}

.pbconsumer-more {
    margin-top:auto;

    color:#0B4938;

    font-size:12px;
    font-weight:800;
}

.pbconsumer-more span {
    margin-left:5px;
    color:#D49A18;
}


/* TRANSPARENCY MESSAGE */

.pbconsumer-message {
    display:flex;
    align-items:center;
    gap:18px;

    max-width:1380px;

    margin:35px auto 55px;
    padding:20px 26px;

    box-sizing:border-box;

    background:#F2ECDF;
    border:1px solid #E1D6C2;
}

.pbconsumer-message-symbol {
    color:#D49A18;
    font-size:22px;
}

.pbconsumer-message strong {
    margin-right:8px;

    color:#0B4938;

    font-family:Georgia,serif;
    font-size:18px;
}

.pbconsumer-message span {
    color:#59655E;
    font-size:14px;
}


/* BOTTOM */

.pbconsumer-bottom {
    display:flex;
    justify-content:space-between;
    gap:70px;
    align-items:center;

    padding:55px max(5vw,40px);

    background:#0B4938;
}

.pbconsumer-bottom > div,
.pbconsumer-bottom > p {
    flex:1;
}

.pbconsumer-bottom small {
    color:#D49A18;
    font-weight:800;
    letter-spacing:2px;
}

.pbconsumer-bottom h2 {
    margin:8px 0 0 !important;

    color:#FFF !important;

    font-family:Georgia,serif !important;
    font-size:36px !important;
    line-height:1.12 !important;
}

.pbconsumer-bottom p {
    margin:0 !important;

    color:rgba(255,255,255,.82) !important;

    font-size:14px;
    line-height:1.7;
}


/* TABLET */

@media(max-width:950px) {

    .pbconsumer-item {
        flex-basis:calc((100% - 20px) / 2) !important;
        width:calc((100% - 20px) / 2) !important;
        max-width:calc((100% - 20px) / 2) !important;
    }

}


/* MOBILE */

@media(max-width:620px) {

    .pbconsumer-hero {
        padding:42px 20px;
    }

    .pbconsumer-hero h1 {
        font-size:40px !important;
    }

    .pbconsumer-section {
        padding:40px 20px !important;
    }

    .pbconsumer-heading {
        display:block;
    }

    .pbconsumer-number {
        margin-bottom:7px;
    }

    .pbconsumer-heading-copy h2 {
        font-size:31px !important;
    }

    .pbconsumer-item {
        flex-basis:100% !important;
        width:100% !important;
        max-width:100% !important;

        height:auto !important;
        min-height:245px !important;
    }

    .pbconsumer-bottom {
        display:block;
        padding:45px 22px;
    }

    .pbconsumer-bottom p {
        margin-top:25px !important;
    }

}


/* =========================================================
   PUREFARMFRESH ABOUT
========================================================= */

.pbabout {
    background:#FAF8F1;
    color:#4E5A53;
}

/* HERO */

.pbabout-hero {
    padding:70px max(6vw,50px) 65px;
    background:#F5F1E7;
    border-bottom:1px solid #DED5C3;
}

.pbabout-kicker,
.pbabout-label {
    color:#D49A18;
    font-size:11px;
    font-weight:800;
    letter-spacing:2px;
}

.pbabout-hero h1 {
    max-width:850px;
    margin:16px 0 24px !important;
    color:#0B4938 !important;
    font-family:Georgia,serif !important;
    font-size:58px !important;
    line-height:1.05 !important;
}

.pbabout-intro {
    max-width:760px;
    margin:0 !important;
    font-size:17px !important;
    line-height:1.75 !important;
}

.pbabout-principle {
    max-width:650px;
    margin-top:30px;
    padding:15px 20px;
    border-left:3px solid #D49A18;
    background:rgba(255,255,255,.45);
    color:#0B4938;
    font-size:16px;
}

.pbabout-principle strong {
    margin-right:5px;
}


/* CONTENT SECTIONS */

.pbabout-section {
    display:grid;
    grid-template-columns:80px minmax(0,850px);
    gap:35px;

    padding:55px max(6vw,50px);
    border-bottom:1px solid #E1D9CA;
}

.pbabout-alt {
    background:#F4F0E6;
}

.pbabout-number {
    padding-top:5px;
    color:#D49A18;
    font-family:Georgia,serif;
    font-size:17px;
    font-weight:700;
}

.pbabout-copy {
    width:100%;
}

.pbabout-copy h2 {
    margin:10px 0 22px !important;
    color:#0B4938 !important;
    font-family:Georgia,serif !important;
    font-size:36px !important;
    line-height:1.12 !important;
}

.pbabout-copy p {
    margin:0 0 17px !important;
    font-size:15px !important;
    line-height:1.75 !important;
}


/* CALLOUT */

.pbabout-callout {
    margin:28px 0;
    padding:23px 26px;

    background:#FFFDF8;
    border:1px solid #DDD3C0;
    border-left:4px solid #D49A18;
    border-radius:4px;
}

.pbabout-callout strong {
    display:block;
    margin-bottom:7px;

    color:#0B4938;
    font-family:Georgia,serif;
    font-size:20px;
}

.pbabout-callout p {
    margin:0 !important;
}


/* CLOSING */

.pbabout-closing {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;

    padding:65px max(6vw,50px);

    background:#0B4938;
}

.pbabout-closing h2 {
    margin:12px 0 0 !important;

    color:#FFF !important;
    font-family:Georgia,serif !important;
    font-size:40px !important;
    line-height:1.12 !important;
}

.pbabout-closing p {
    color:rgba(255,255,255,.82) !important;
    font-size:15px !important;
    line-height:1.7 !important;
}

.pbabout-closing strong {
    color:#FFF;
    font-family:Georgia,serif;
    font-size:18px;
}


/* MOBILE */

@media(max-width:700px) {

    .pbabout-hero {
        padding:45px 22px;
    }

    .pbabout-hero h1 {
        font-size:40px !important;
    }

    .pbabout-section {
        display:block;
        padding:42px 22px;
    }

    .pbabout-number {
        margin-bottom:12px;
    }

    .pbabout-copy h2 {
        font-size:30px !important;
    }

    .pbabout-closing {
        display:block;
        padding:48px 22px;
    }

    .pbabout-closing > div + div {
        margin-top:30px;
    }

}


/* =========================================================
   PUREFARMFRESH ABOUT V2 - COMPACT EDITORIAL GRID
========================================================= */

/* HERO - reserve right side for photography */

.pbabout-hero {
    position:relative;
    min-height:520px;
    box-sizing:border-box;
    padding:62px calc(50% + 35px) 55px max(5vw,50px);
    overflow:hidden;
}

.pbabout-hero:after {
    content:"";
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    width:50%;

    background:
        linear-gradient(135deg,#E8E1D2,#D6CCB7);

    border-left:1px solid #DED5C3;
}

.pbabout-hero > * {
    position:relative;
    z-index:2;
}

.pbabout-hero h1 {
    max-width:650px;
    font-size:52px !important;
}

.pbabout-intro {
    max-width:610px;
    font-size:15px !important;
    line-height:1.65 !important;
}

.pbabout-principle {
    max-width:560px;
}


/* ABOUT SECTIONS - TWO ACROSS */

.pbabout {
    display:flex;
    flex-wrap:wrap;
}

.pbabout-hero,
.pbabout-closing {
    flex:0 0 100%;
    width:100%;
}

.pbabout-section {
    flex:0 0 50%;
    width:50%;
    box-sizing:border-box;

    display:grid;
    grid-template-columns:45px minmax(0,1fr);
    gap:22px;

    padding:38px max(3vw,35px);

    background:#FAF8F1;
    border-bottom:1px solid #DED5C3;
}

.pbabout-section:nth-of-type(even) {
    border-left:1px solid #DED5C3;
}

.pbabout-alt {
    background:#FAF8F1;
}

.pbabout-number {
    font-size:15px;
}

.pbabout-copy h2 {
    margin:8px 0 16px !important;
    font-size:29px !important;
    line-height:1.1 !important;
}

.pbabout-copy p {
    margin:0 0 11px !important;
    font-size:13.5px !important;
    line-height:1.58 !important;
}


/* SMALLER CALLOUTS */

.pbabout-callout {
    margin:18px 0;
    padding:16px 18px;
}

.pbabout-callout strong {
    margin-bottom:5px;
    font-size:16px;
}

.pbabout-callout p {
    margin:0 !important;
    font-size:12.5px !important;
}


/* INFORMATION / PRIVACY CARDS */

.pbabout-trust-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin:18px 0;
}

.pbabout-trust {
    padding:14px;
    background:#FFFDF8;
    border:1px solid #E1D8C7;
    border-radius:4px;
}

.pbabout-trust strong {
    display:block;
    margin-bottom:5px;
    color:#0B4938;
    font-size:13px;
}

.pbabout-trust p {
    margin:0 !important;
    font-size:11.5px !important;
    line-height:1.5 !important;
}


/* SECTION 09 GETS FULL WIDTH */

.pbabout-section:nth-of-type(9) {
    flex:0 0 100%;
    width:100%;

    grid-template-columns:45px minmax(0,1100px);

    padding-left:max(5vw,50px);
    padding-right:max(5vw,50px);

    background:#F4F0E6;
    border-left:0;
}


/* DARK CLOSING */

.pbabout-closing {
    padding:48px max(5vw,50px);
}

.pbabout-closing h2 {
    font-size:34px !important;
}


/* TABLET */

@media(max-width:950px) {

    .pbabout-hero {
        min-height:0;
        padding:50px 45% 48px 30px;
    }

    .pbabout-hero:after {
        width:42%;
    }

    .pbabout-hero h1 {
        font-size:42px !important;
    }

    .pbabout-section {
        padding:32px 25px;
    }

}


/* MOBILE */

@media(max-width:700px) {

    .pbabout {
        display:block;
    }

    .pbabout-hero {
        padding:40px 22px 250px;
    }

    .pbabout-hero:after {
        top:auto;
        left:0;
        right:0;
        bottom:0;
        width:100%;
        height:220px;
        border-left:0;
        border-top:1px solid #DED5C3;
    }

    .pbabout-hero h1 {
        font-size:38px !important;
    }

    .pbabout-section,
    .pbabout-section:nth-of-type(9) {
        width:100%;
        display:block;
        padding:35px 22px;
        border-left:0;
    }

    .pbabout-number {
        margin-bottom:10px;
    }

    .pbabout-copy h2 {
        font-size:27px !important;
    }

    .pbabout-trust-grid {
        grid-template-columns:1fr;
    }

    .pbabout-closing {
        padding:42px 22px;
    }

}


/* =========================================================
   PUREFARMFRESH ABOUT FINAL
========================================================= */

.pbabout-final {
    display:block;
    background:#faf8f1;
    color:#34463f;
}

/* HERO */

.pbabout-final .pbabout-hero {
    min-height:500px;
    padding:0;
    position:relative;
    display:flex;
    align-items:center;
    background:
        linear-gradient(
            90deg,
            rgba(250,248,241,.98) 0%,
            rgba(250,248,241,.96) 30%,
            rgba(250,248,241,.72) 48%,
            rgba(250,248,241,.18) 72%,
            rgba(250,248,241,.04) 100%
        ),
        linear-gradient(135deg,#ede5d4,#d5c9b1);
}

.pbabout-final .pbabout-hero-inner {
    width:100%;
    max-width:1440px;
    margin:auto;
    padding:55px 5%;
    box-sizing:border-box;
    position:relative;
    z-index:2;
}

.pbabout-final .pbabout-hero h1 {
    max-width:650px;
    margin:12px 0 18px !important;
    font-family:Georgia,serif !important;
    color:#084c3a !important;
    font-size:54px !important;
    line-height:1.02 !important;
}

.pbabout-hero-line {
    width:48px;
    height:2px;
    background:#d69a13;
    margin:20px 0;
}

.pbabout-final .pbabout-intro {
    max-width:520px;
    font-size:15px !important;
    line-height:1.6 !important;
}

.pbabout-final .pbabout-principle {
    display:flex;
    align-items:center;
    gap:15px;
    max-width:440px;
    margin-top:22px;
    padding:15px 18px;
    background:rgba(255,253,248,.9);
    border:1px solid #e2d8c5;
    border-left:3px solid #d69a13;
    border-radius:4px;
}

.pbabout-principle-icon {
    color:#d69a13;
    font-size:30px;
}

.pbabout-principle span {
    display:block;
}

/* 3 COLUMN CONTENT */

.pbabout-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    max-width:1440px;
    margin:auto;
}

.pbabout-card {
    display:grid;
    grid-template-columns:48px 1fr;
    gap:14px;
    padding:34px 28px 36px;
    box-sizing:border-box;
    border-right:1px solid #e1d8c7;
    border-bottom:1px solid #e1d8c7;
    background:#faf8f1;
}

.pbabout-card:nth-child(3n) {
    border-right:0;
}

.pbabout-number {
    color:#d69200;
    font-family:Georgia,serif;
    font-size:17px;
    font-weight:bold;
}

.pbabout-label {
    color:#d69200;
    font-size:10px;
    font-weight:800;
    letter-spacing:1.7px;
}

.pbabout-card h2 {
    margin:8px 0 15px !important;
    color:#084c3a !important;
    font-family:Georgia,serif !important;
    font-size:26px !important;
    line-height:1.08 !important;
}

.pbabout-card p {
    margin:0 0 10px !important;
    font-size:13px !important;
    line-height:1.52 !important;
}

.pbabout-mini {
    margin-top:15px;
    padding:13px 15px;
    border:1px solid #e0d4bd;
    border-radius:4px;
    background:#fffdf8;
}

.pbabout-mini strong {
    color:#084c3a;
}

.pbabout-mini p {
    margin:5px 0 0 !important;
    font-size:11.5px !important;
}

/* PRIVACY CHECKS */

.pbabout-checks {
    list-style:none;
    padding:0 !important;
    margin:15px 0 0 !important;
}

.pbabout-checks li {
    position:relative;
    padding:0 0 8px 23px;
    font-size:12.5px;
    line-height:1.4;
}

.pbabout-checks li:before {
    content:"✓";
    position:absolute;
    left:0;
    top:0;
    width:15px;
    height:15px;
    border:1px solid #d69a13;
    border-radius:50%;
    color:#084c3a;
    font-size:10px;
    font-weight:bold;
    text-align:center;
    line-height:14px;
}

/* BOTTOM CTA */

.pbabout-final .pbabout-closing {
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:45px;
    align-items:center;
    padding:40px max(5vw,40px);
    background:#084c3a;
}

.pbabout-final .pbabout-closing h2 {
    margin:8px 0 0 !important;
    color:#fff !important;
    font-family:Georgia,serif !important;
    font-size:31px !important;
    line-height:1.08 !important;
}

.pbabout-closing-copy p {
    color:rgba(255,255,255,.82) !important;
    font-size:13px !important;
    line-height:1.5 !important;
}

.pbabout-closing-copy strong {
    color:#e4ad28;
    font-family:Georgia,serif;
}

.pbabout-actions {
    display:flex;
    flex-direction:column;
    gap:7px;
}

.pbabout-action {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:10px 14px;
    border:1px solid #d5a029;
    border-radius:3px;
    color:#fff !important;
    text-decoration:none !important;
    text-transform:uppercase;
    font-size:11px;
    font-weight:700;
    letter-spacing:.4px;
}

.pbabout-action b {
    color:#d5a029;
    font-size:17px;
}

.pbabout-action:hover {
    background:rgba(255,255,255,.08);
}

/* TABLET */

@media(max-width:1000px) {

    .pbabout-grid {
        grid-template-columns:repeat(2,1fr);
    }

    .pbabout-card:nth-child(3n) {
        border-right:1px solid #e1d8c7;
    }

    .pbabout-card:nth-child(2n) {
        border-right:0;
    }

    .pbabout-final .pbabout-closing {
        grid-template-columns:1fr 1fr;
    }

    .pbabout-actions {
        grid-column:1 / -1;
    }
}

/* MOBILE */

@media(max-width:700px) {

    .pbabout-final .pbabout-hero {
        min-height:auto;
    }

    .pbabout-final .pbabout-hero-inner {
        padding:42px 22px;
    }

    .pbabout-final .pbabout-hero h1 {
        font-size:39px !important;
    }

    .pbabout-grid {
        display:block;
    }

    .pbabout-card {
        grid-template-columns:35px 1fr;
        padding:30px 22px;
        border-right:0 !important;
    }

    .pbabout-card h2 {
        font-size:25px !important;
    }

    .pbabout-final .pbabout-closing {
        display:block;
        padding:38px 22px;
    }

    .pbabout-closing-copy,
    .pbabout-actions {
        margin-top:25px;
    }
}


/* =========================================================
   PUREFARMFRESH FARMERS & RANCHERS LEARN
========================================================= */

.pbfarmers .pbconsumer-hero {
    background:
        linear-gradient(
            90deg,
            rgba(247,244,235,.99) 0%,
            rgba(247,244,235,.97) 60%,
            rgba(247,244,235,.88) 100%
        );
}

.pbfarmers-message-principle {
    padding:20px 22px;
    background:#fffdf8;
    border-left:3px solid #d59a16;
}

.pbfarmers-message-principle strong {
    display:block;
    margin-bottom:5px;
    color:#084c3a;
    font-family:Georgia,serif;
    font-size:18px;
}

.pbfarmers-message-principle span {
    font-size:13px;
    line-height:1.5;
}

.pbfarmers-actions {
    display:flex;
    flex-direction:column;
    gap:9px;
    min-width:260px;
}

.pbfarmers-action {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:13px 16px;
    background:#084c3a;
    color:#fff !important;
    text-decoration:none !important;
    text-transform:uppercase;
    font-size:11px;
    font-weight:700;
    letter-spacing:.5px;
}

.pbfarmers-action span {
    color:#dca51e;
    font-size:17px;
}

.pbfarmers-action:hover {
    background:#0b5b46;
}

.pbfarmers-action-secondary {
    background:transparent;
    color:#084c3a !important;
    border:1px solid #084c3a;
}

@media(max-width:700px) {

    .pbfarmers-actions {
        width:100%;
        margin-top:20px;
    }

}


/* ==========================================================

/* ==========================================================
   PUREFARMFRESH LEARN LANDING
========================================================== */

.pblearn-main {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 58px 28px 80px;
    box-sizing: border-box;
}

.pblearn-main * {
    box-sizing: border-box;
}

/* HERO */

.pblearn-hero {
    margin: 0 0 70px;
}

.pblearn-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    gap: 48px;
    align-items: center;
}

.pblearn-kicker {
    margin-bottom: 14px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.7px;
    text-transform: uppercase;
    color: #73853b;
}

.pblearn-hero-copy h1 {
    margin: 0 0 22px;
    max-width: 680px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(46px, 5vw, 70px);
    line-height: 1.04;
    font-weight: 500;
    color: #17372d;
}

.pblearn-hero-copy p {
    max-width: 680px;
    margin: 0 0 14px;
    font-size: 17px;
    line-height: 1.72;
    color: #5f6964;
}

.pblearn-hero-copy .pblearn-intro {
    font-size: 19px;
    color: #394b44;
}

/* PRINCIPLE */

.pblearn-principle {
    width: 100%;
    margin: 0;
    padding: 34px;
    border: 1px solid #ded9c8;
    border-radius: 16px;
    background: #f4f0e4;
}

.pblearn-principle > span {
    display: block;
    margin-bottom: 18px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #9b7b34;
}

.pblearn-principle > strong {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    line-height: 1.35;
    font-weight: 500;
    color: #17372d;
}

.pblearn-principle > p {
    margin: 18px 0 0;
    padding-top: 18px;
    border-top: 1px solid #d8d1bc;
    font-size: 14px;
    color: #69716c;
}

/* LIBRARY */

.pblearn-library {
    width: 100%;
}

.pblearn-library-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #deddd6;
}

.pblearn-library-heading h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
    line-height: 1.2;
    font-weight: 500;
    color: #17372d;
}

.pblearn-total {
    flex: 0 0 auto;
    text-align: right;
}

.pblearn-total strong {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 36px;
    line-height: 1;
    font-weight: 500;
    color: #17372d;
}

.pblearn-total span {
    display: block;
    margin-top: 5px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.2px;
    color: #777f7a;
}

/* CARDS */

.pblearn-main .pblearn-cards {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-flow: row;
    gap: 20px;
    margin: 0;
    padding: 0;
}

.pblearn-main .pblearn-card {
    position: static;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    max-width: none;
    min-height: 330px;
    margin: 0;
    padding: 28px;
    grid-column: auto;
    grid-row: auto;
    border: 1px solid #dddcd3;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 3px 14px rgba(24, 52, 43, .05);
    color: #24342e;
    text-decoration: none;
    transform: none;
}

.pblearn-main .pblearn-card:hover {
    transform: translateY(-3px);
    border-color: #aebb78;
    box-shadow: 0 9px 25px rgba(24, 52, 43, .10);
}

.pblearn-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 26px;
}

.pblearn-card-number {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.3px;
    color: #9b7b34;
}

.pblearn-card-icon {
    font-size: 25px;
    line-height: 1;
    color: #73853b;
}

.pblearn-card-label {
    margin-bottom: 10px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.25px;
    text-transform: uppercase;
    color: #66716c;
}

.pblearn-card h3 {
    margin: 0 0 12px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 500;
    color: #17372d;
}

.pblearn-card p {
    flex: 1 1 auto;
    margin: 0;
    font-size: 15px;
    line-height: 1.65;
    color: #66706b;
}

.pblearn-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-top: 28px;
    padding-top: 18px;
    border-top: 1px solid #eceae3;
}

.pblearn-card-footer span {
    font-size: 12px;
    color: #68716c;
}

.pblearn-card-footer strong {
    font-size: 13px;
    color: #526b27;
}

/* GOOD PLACE TO START */

.pblearn-start {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
    gap: 48px;
    align-items: center;
    width: 100%;
    margin-top: 58px;
    padding: 42px;
    border-radius: 16px;
    background: #17372d;
}

.pblearn-start .pblearn-kicker {
    color: #c8a45a;
}

.pblearn-start h2 {
    margin: 0 0 12px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 31px;
    line-height: 1.2;
    font-weight: 500;
    color: #fff;
}

.pblearn-start p {
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: rgba(255,255,255,.80);
}

.pblearn-start-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.pblearn-start-links a {
    display: block;
    padding: 13px 15px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 8px;
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
}

.pblearn-start-links a:hover {
    background: rgba(255,255,255,.08);
}

/* PHILOSOPHY */

.pblearn-philosophy {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 24px;
    width: 100%;
    max-width: 900px;
    margin: 52px auto 0;
    padding: 34px 0;
}

.pblearn-philosophy-mark {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 72px;
    line-height: .8;
    color: #c8a45a;
}

.pblearn-philosophy h2 {
    margin: 0 0 12px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    line-height: 1.25;
    font-weight: 500;
    color: #17372d;
}

.pblearn-philosophy p {
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: #66706b;
}

/* TABLET */

@media (max-width: 900px) {

    .pblearn-hero-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .pblearn-main .pblearn-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pblearn-start {
        grid-template-columns: 1fr;
        gap: 28px;
    }
}

/* MOBILE */

@media (max-width: 620px) {

    .pblearn-main {
        padding: 38px 18px 55px;
    }

    .pblearn-hero {
        margin-bottom: 50px;
    }

    .pblearn-hero-copy h1 {
        font-size: 40px;
    }

    .pblearn-library-heading {
        display: block;
    }

    .pblearn-total {
        margin-top: 18px;
        text-align: left;
    }

    .pblearn-main .pblearn-cards {
        grid-template-columns: 1fr;
    }

    .pblearn-main .pblearn-card {
        min-height: 0;
    }

    .pblearn-start {
        padding: 30px 24px;
    }

    .pblearn-philosophy {
        grid-template-columns: 45px minmax(0, 1fr);
    }

    .pblearn-philosophy-mark {
        font-size: 55px;
    }
}


/* PUREFARMFRESH LEARN ICON CIRCLES */
.pblearn-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #f4f0e4;
}

.pblearn-card-icon svg {
    width: 26px;
    height: 26px;
}

.pblearn-icon-wheat { color: #17372d; }
.pblearn-icon-barn { color: #9b7b34; }
.pblearn-icon-knife { color: #73853b; }
.pblearn-icon-scale { color: #17372d; }
.pblearn-icon-heart { color: #9b7b34; }

/* PUREFARMFRESH LEARN TYPOGRAPHY REFINEMENT */
.pblearn-main .pblearn-card h3 {
    font-weight: 600;
    letter-spacing: -0.01em;
}

.pblearn-main .pblearn-card p {
    line-height: 1.75;
    color: #57615c;
}

.pblearn-card-footer span {
    font-weight: 700;
    font-size: 11px;
    color: #8a6d2f;
    background: #f4e9d2;
    padding: 5px 12px;
    border-radius: 999px;
    letter-spacing: 0.3px;
}

.pblearn-card-footer strong {
    font-weight: 700;
    font-size: 13px;
    color: #526b27;
}

/* PUREFARMFRESH CONSUMER PAGE ICON CIRCLES - match /learn/ page */
.pbconsumer-symbol {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: 0 0 14px;
    border-radius: 50%;
    background: #f4f0e4;
    font-family: Georgia, serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
}

.pbconsumer-symbol.green {
    background: #e7efe4;
}

.pbconsumer-symbol.brown {
    background: #f1e9dd;
}

.pbconsumer-symbol.gold {
    background: #f8eed7;
}

/* PUREFARMFRESH CONSUMER PAGE - Read article pill */
.pbconsumer-more {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    width: auto;
    gap: 6px;
    padding: 7px 14px;
    border-radius: 999px;
    background: #c8a45a;
    color: #17372d !important;
}

.pbconsumer-more span {
    color: #17372d !important;
}

/* PUREFARMFRESH CONSUMER PAGE - body text refinement */
.pbconsumer-item p {
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: #57615c !important;
}

/* PUREFARMFRESH LEARN ARTICLE - title, sidebar TOC, prev/next nav */
.pblearn-article-kicker {
    max-width: 900px;
    margin: 0 auto 10px;
    padding: 0 24px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #9b7b34;
}

.pblearn-article-title {
    max-width: 900px;
    margin: 0 auto 40px;
    padding: 0 24px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.15;
    font-weight: 500;
    color: #17372d;
}

.pblearn-article-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 260px;
    gap: 60px;
    align-items: start;
}

.pblearn-article-body {
    max-width: 700px;
}

.pblearn-article-toc {
    position: sticky;
    top: 24px;
    padding: 20px;
    border: 1px solid #ded9c8;
    border-radius: 12px;
    background: #f4f0e4;
}

.pblearn-toc-label {
    margin-bottom: 12px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #9b7b34;
}

#pblearn-toc-nav {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#pblearn-toc-nav a {
    font-size: 13px;
    line-height: 1.4;
    color: #394b44;
    text-decoration: none;
}

#pblearn-toc-nav a:hover {
    color: #17372d;
    text-decoration: underline;
}

.pblearn-article-nav {
    max-width: 1100px;
    margin: 60px auto 0;
    padding: 30px 24px;
    border-top: 1px solid #deddd6;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.pblearn-nav-prev,
.pblearn-nav-next {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 18px 20px;
    border: 1px solid #dddcd3;
    border-radius: 12px;
    text-decoration: none;
    transition: border-color 0.2s;
}

.pblearn-nav-prev:hover,
.pblearn-nav-next:hover {
    border-color: #aebb78;
}

.pblearn-nav-next {
    text-align: right;
    grid-column: 2;
}

.pblearn-nav-label {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #9b7b34;
}

.pblearn-nav-title {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    color: #17372d;
}

.pblearn-nav-next-category {
    background: #17372d;
    border-color: #17372d;
}

.pblearn-nav-next-category .pblearn-nav-label {
    color: #c8a45a;
}

.pblearn-nav-next-category .pblearn-nav-title {
    color: #fff;
}

@media (max-width: 900px) {
    .pblearn-article-wrap {
        grid-template-columns: 1fr;
    }
    .pblearn-article-toc {
        position: static;
        order: -1;
    }
    .pblearn-article-nav {
        grid-template-columns: 1fr;
    }
    .pblearn-nav-next {
        grid-column: 1;
        text-align: left;
    }
}

/* ==========================================================
   PUREFARMFRESH LEARN ARTICLE FOOTER
========================================================== */

.pbl-related {
    max-width: 920px;
    margin: 58px auto 0;
    padding-top: 38px;
    border-top: 1px solid #deddd6;
}

.pbl-related-label {
    margin-bottom: 8px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    color: #73853b;
}

.pbl-related > h2 {
    margin: 0 0 24px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 500;
    color: #17372d;
}

.pbl-related-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.pbl-related-links > a {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 145px;
    padding: 22px;
    border: 1px solid #dddcd3;
    border-radius: 12px;
    background: #fff;
    color: #24342e;
    text-decoration: none;
    box-shadow: 0 3px 12px rgba(24,52,43,.04);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.pbl-related-links > a:hover {
    transform: translateY(-2px);
    border-color: #aebb78;
    box-shadow: 0 7px 20px rgba(24,52,43,.08);
}

.pbl-related-links > a > span {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
    line-height: 1.35;
    color: #17372d;
}

.pbl-related-links > a > strong {
    display: block;
    margin-top: 20px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .3px;
    color: #60772f;
}

.pbl-back {
    margin: 24px 0 0;
}

.pbl-back a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 0;
    font-size: 13px;
    font-weight: 700;
    color: #65736c;
    text-decoration: none;
}

.pbl-back a:hover {
    color: #17372d;
}

/* REFERENCES */

.pbl-references {
    max-width: 920px;
    margin: 52px auto 0;
    padding: 26px 30px;
    border: 1px solid #e0ded5;
    border-radius: 12px;
    background: #f5f3ec;
}

.pbl-references h2 {
    margin: 0 0 14px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    font-weight: 500;
    color: #17372d;
}

.pbl-references ul {
    margin: 0;
    padding-left: 20px;
}

.pbl-references li {
    margin: 6px 0;
}

.pbl-references a {
    color: #526b27;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.pbl-reviewed {
    margin: 18px 0 0 !important;
    padding-top: 14px;
    border-top: 1px solid #dedbd0;
    font-size: 12px !important;
    color: #7a817d !important;
}

/* RESPONSIVE */

@media (max-width: 760px) {

    .pbl-related-links {
        grid-template-columns: 1fr;
    }

    .pbl-related-links > a {
        min-height: 0;
    }

    .pbl-references {
        padding: 22px;
    }
}


/* ==========================================================
   PUREFARMFRESH LEARN ARTICLE POLISH
   2026-09-03
========================================================== */

/* ARTICLE TITLE / TOP SPACING */

.pbl-article h1,
.pbl-page h1,
.single-page h1 {
    line-height: 1.08;
}

/* Keep Learn article content comfortably readable */

.pbl-content {
    font-family: Georgia, "Times New Roman", serif;
    color: #17372d;
}

.pbl-content > p:first-of-type {
    max-width: 720px;
    margin-top: 20px;
    margin-bottom: 42px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    line-height: 1.62;
    color: #17372d;
}

/* ==========================================================
   ON THIS PAGE
========================================================== */

.pbl-toc,
.pbl-sidebar,
.pbl-on-this-page {
    padding: 25px 26px 26px;
    border: 1px solid #ded8c7;
    border-radius: 13px;
    background: #f4f0e4;
}

.pbl-toc strong,
.pbl-toc-title,
.pbl-sidebar-title,
.pbl-on-this-page > strong {
    display: block;
    margin-bottom: 13px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: #a36e13;
}

.pbl-toc a,
.pbl-sidebar a,
.pbl-on-this-page a {
    display: block;
    padding: 5px 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 400;
    color: #17372d;
    text-decoration: none;
}

.pbl-toc a:hover,
.pbl-sidebar a:hover,
.pbl-on-this-page a:hover {
    color: #71852e;
}

/* ==========================================================
   RELATED READING
========================================================== */

.pbl-related {
    max-width: 100%;
    margin: 58px 0 0;
    padding-top: 36px;
    border-top: 1px solid #deddd6;
}

.pbl-related-label {
    margin-bottom: 12px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.7px;
    color: #71852e;
}

.pbl-related > h2 {
    margin: 0 0 24px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 31px;
    line-height: 1.2;
    font-weight: 500;
    color: #17372d;
}

.pbl-related-links {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
    width: 100%;
}

.pbl-related-links > a {
    display: flex !important;
    flex-direction: column;
    justify-content: space-between;
    width: auto !important;
    min-width: 0 !important;
    min-height: 150px;
    margin: 0 !important;
    padding: 22px 23px;
    border: 1px solid #ddd9cd;
    border-radius: 12px;
    background: #fff;
    text-decoration: none;
}

.pbl-related-links > a > span {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
    line-height: 1.35;
    color: #17372d;
}

.pbl-related-links > a > strong {
    margin-top: 24px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #17372d;
}

/* ==========================================================
   BACK TO LEARNING PILL
========================================================== */

.pbl-back {
    margin: 26px 0 0 !important;
}

.pbl-back a {
    display: inline-flex !important;
    align-items: center;
    width: auto !important;
    padding: 10px 17px !important;
    border: 1px solid #cfcbbb;
    border-radius: 999px;
    background: #f4f0e4;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    line-height: 1;
    font-weight: 700;
    color: #17372d;
    text-decoration: none;
    transition: background .18s ease, border-color .18s ease;
}

.pbl-back a:hover {
    background: #ebe5d5;
    border-color: #aeb692;
    color: #17372d;
}

/* ==========================================================
   ARTICLE HEADINGS
========================================================== */

.pbl-content h2 {
    margin-top: 46px;
    margin-bottom: 16px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 29px;
    line-height: 1.25;
    font-weight: 600;
    color: #064b3b;
}

.pbl-content p {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    line-height: 1.75;
}

/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width: 900px) {

    .pbl-related-links {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 650px) {

    .pbl-related-links {
        grid-template-columns: 1fr !important;
    }

    .pbl-content > p:first-of-type {
        font-size: 19px;
        line-height: 1.55;
    }

    .pbl-toc,
    .pbl-sidebar,
    .pbl-on-this-page {
        padding: 21px;
    }
}


/* PureFarmFresh Learn gold back pill */
.pbl-back a {
    background: #dca62b !important;
    border: 1px solid #c6921e !important;
    color: #17372d !important;
    padding: 11px 18px !important;
    border-radius: 999px !important;
    font-weight: 800 !important;
}

.pbl-back a:hover {
    background: #c99520 !important;
    border-color: #b78318 !important;
    color: #17372d !important;
}


/* ==========================================================
   PUREFARMFRESH LEARN ARTICLE FINAL LAYOUT
========================================================== */

/* Overall article width */
.pblearn-article-wrap {
    max-width: 1120px !important;
    grid-template-columns: minmax(0, 720px) 300px !important;
    gap: 56px !important;
}

/* Align title with reading column */
.pblearn-article-title,
.pblearn-article-kicker {
    max-width: 1120px !important;
    box-sizing: border-box;
}

.pblearn-article-title {
    margin-bottom: 26px !important;
}

/* Remove old nested width/padding constraint */
.pblearn-article-body {
    max-width: none !important;
    min-width: 0;
}

.pblearn-article-body .pbl-article {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Lead paragraph */
.pbl-article-lead {
    max-width: 690px;
    margin: 0 0 42px !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 21px !important;
    line-height: 1.58 !important;
    color: #294238 !important;
}

/* Article typography */
.pbl-article h2 {
    margin: 44px 0 14px !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 29px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    color: #0b4a39 !important;
}

.pbl-article p {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    line-height: 1.78;
}

/* ON THIS PAGE */
.pblearn-article-toc {
    position: sticky;
    top: 24px;
    padding: 27px 28px 29px !important;
    border: 1px solid #ddd5bf !important;
    border-radius: 14px !important;
    background: #f4f0e4 !important;
}

.pblearn-toc-label {
    margin-bottom: 17px !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 1.5px !important;
    color: #a36e13 !important;
}

#pblearn-toc-nav {
    gap: 0 !important;
}

#pblearn-toc-nav a {
    display: block;
    padding: 7px 0;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    color: #17372d !important;
    text-decoration: none !important;
}

#pblearn-toc-nav a:hover {
    color: #71852e !important;
}

/* FULL WIDTH RELATED READING */
.pbl-related {
    width: calc(100% - 48px) !important;
    max-width: 1072px !important;
    box-sizing: border-box;
    margin: 58px auto 0 !important;
    padding-top: 35px !important;
}

.pbl-related-links {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

.pbl-related-links > a {
    min-height: 135px !important;
    padding: 22px 24px !important;
}

/* Full width back pill position */
.pbl-related + .pbl-back {
    width: calc(100% - 48px);
    max-width: 1072px;
    box-sizing: border-box;
    margin: 24px auto 0 !important;
}

.pbl-related + .pbl-back a {
    background: #dca62b !important;
    border: 1px solid #c6921e !important;
    color: #17372d !important;
    padding: 11px 19px !important;
    border-radius: 999px !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 800 !important;
}

/* Previous / Next */
.pblearn-article-nav {
    margin-top: 38px !important;
}

/* Tablet */
@media (max-width: 900px) {

    .pblearn-article-wrap {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }

    .pblearn-article-toc {
        position: static !important;
        order: -1;
    }

    .pbl-related-links {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Mobile */
@media (max-width: 650px) {

    .pbl-related-links {
        grid-template-columns: 1fr !important;
    }

    .pbl-article-lead {
        font-size: 19px !important;
    }
}


/* ==========================================================
   PUREFARMFRESH LEARN ARTICLE - FINAL EDITORIAL DESIGN
   ========================================================== */

/* ---------- PAGE HEADER ---------- */

.pblearn-article-kicker,
.pblearn-article-title {
    width: calc(100% - 48px);
    max-width: 1072px !important;
    box-sizing: border-box;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.pblearn-article-kicker {
    margin: 0 auto 12px !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 1.6px !important;
    text-transform: uppercase;
    color: #a36e13 !important;
}

.pblearn-article-title {
    margin: 0 auto 28px !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(38px, 4vw, 52px) !important;
    line-height: 1.08 !important;
    font-weight: 500 !important;
    letter-spacing: -.5px;
    color: #073f33 !important;
}


/* ---------- MAIN ARTICLE GRID ---------- */

.pblearn-article-wrap {
    width: calc(100% - 48px);
    max-width: 1072px !important;
    box-sizing: border-box;
    margin: 0 auto !important;
    padding: 0 !important;

    display: grid !important;
    grid-template-columns: minmax(0, 720px) 300px !important;
    gap: 52px !important;
    align-items: start;
}

.pblearn-article-body {
    max-width: none !important;
    min-width: 0;
}

.pblearn-article-body .pbl-article {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* ---------- LEAD ---------- */

.pbl-article-lead {
    max-width: 700px !important;
    margin: 0 0 38px !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 20px !important;
    line-height: 1.62 !important;
    font-weight: 400 !important;

    color: #294238 !important;
}


/* ---------- ARTICLE BODY ---------- */

.pbl-article h2 {
    margin: 38px 0 11px !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 28px !important;
    line-height: 1.22 !important;
    font-weight: 600 !important;

    color: #06483a !important;
}

.pbl-article p {
    margin: 0 0 18px !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 16.5px !important;
    line-height: 1.72 !important;

    color: #30483e;
}

.pbl-fact {
    margin: 30px 0 !important;
    padding: 20px 23px !important;
    border-left: 4px solid #dca62b !important;
    background: #f4f0e4 !important;
}


/* ---------- ON THIS PAGE ---------- */

.pblearn-article-toc {
    position: sticky !important;
    top: 24px !important;

    padding: 27px 28px 28px !important;

    border: 1px solid #ddd5bf !important;
    border-radius: 13px !important;

    background: #f4f0e4 !important;
    box-shadow: none !important;
}

.pblearn-toc-label {
    margin: 0 0 17px !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    line-height: 1.2;
    font-weight: 800 !important;

    letter-spacing: 1.6px !important;
    text-transform: uppercase;

    color: #a36e13 !important;
}

#pblearn-toc-nav {
    display: flex !important;
    flex-direction: column;
    gap: 0 !important;
}

#pblearn-toc-nav a {
    display: block !important;

    padding: 7px 0 !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 15.5px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;

    color: #17372d !important;
    text-decoration: none !important;
}

#pblearn-toc-nav a:hover {
    color: #73852e !important;
}

/* Separate references from main article topics */
#pblearn-toc-nav a:nth-last-child(2) {
    margin-top: 10px !important;
    padding-top: 18px !important;
    border-top: 1px solid #d9d0ba;
}


/* ---------- REFERENCES ---------- */

.pbl-references {
    margin: 45px 0 0 !important;
    padding: 23px 25px !important;

    border: 1px solid #dfd8c7 !important;
    border-radius: 10px !important;

    background: #f6f3eb !important;
}

.pbl-references h2 {
    margin: 0 0 12px !important;
    font-size: 21px !important;
}

.pbl-references ul {
    margin: 0;
    padding-left: 19px;
}

.pbl-references a {
    color: #536d2d !important;
}

.pbl-reviewed {
    margin-top: 16px !important;
    padding-top: 13px;
    border-top: 1px solid #ddd7c8;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
}


/* ==========================================================
   RELATED READING
   ========================================================== */

.pbl-related {
    width: calc(100% - 48px) !important;
    max-width: 1072px !important;
    box-sizing: border-box;

    margin: 52px auto 0 !important;
    padding: 27px 0 0 !important;

    border-top: 1px solid #d9d7ce !important;
}

.pbl-related-label {
    margin: 0 0 7px !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    font-weight: 800 !important;

    letter-spacing: 1.5px !important;
    text-transform: uppercase;

    color: #71852e !important;
}

.pbl-related > h2 {
    margin: 0 0 16px !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 29px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;

    color: #17372d !important;
}

.pbl-related-links {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;

    width: 100% !important;
}

.pbl-related-links > a {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;

    width: auto !important;
    min-width: 0 !important;
    min-height: 96px !important;

    margin: 0 !important;
    padding: 19px 21px !important;

    border: 1px solid #ddd9cd !important;
    border-radius: 8px !important;

    background: #fff !important;
    box-shadow: 0 2px 7px rgba(23,55,45,.025) !important;

    text-decoration: none !important;

    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.pbl-related-links > a:hover {
    transform: translateY(-2px);
    border-color: #c7b77e !important;
    box-shadow: 0 5px 15px rgba(23,55,45,.07) !important;
}

.pbl-related-links > a > span {
    display: block;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 17px !important;
    line-height: 1.3 !important;
    font-weight: 400;

    color: #17372d !important;
}

.pbl-related-links > a > strong {
    display: block;

    margin-top: 17px !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    line-height: 1.2;
    font-weight: 800 !important;

    letter-spacing: 1.1px;
    text-transform: uppercase;

    color: #b47b12 !important;
}


/* ---------- BACK BUTTON ---------- */

.pbl-related + .pbl-back {
    width: calc(100% - 48px) !important;
    max-width: 1072px !important;
    box-sizing: border-box;

    margin: 15px auto 0 !important;
}

.pbl-related + .pbl-back a {
    display: inline-flex !important;
    align-items: center;

    padding: 11px 19px !important;

    border: 1px solid #c6921e !important;
    border-radius: 999px !important;

    background: #dca62b !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 800 !important;

    color: #17372d !important;
    text-decoration: none !important;
}

.pbl-related + .pbl-back a:hover {
    background: #c99520 !important;
}


/* ==========================================================
   PREVIOUS / NEXT
   ========================================================== */

.pblearn-article-nav {
    width: calc(100% - 48px);
    max-width: 1072px !important;
    box-sizing: border-box;

    margin: 36px auto 0 !important;
    padding: 24px 0 60px !important;

    border-top: 1px solid #d9d7ce !important;

    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
}

.pblearn-nav-prev,
.pblearn-nav-next {
    min-height: 72px;

    padding: 16px 20px !important;

    border: 1px solid #ddd9cd !important;
    border-radius: 0 !important;

    background: #fff;

    box-shadow: none !important;
}

.pblearn-nav-prev {
    border-radius: 9px 0 0 9px !important;
}

.pblearn-nav-next {
    border-radius: 0 9px 9px 0 !important;
    text-align: right;
}

.pblearn-nav-label {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;

    letter-spacing: 1px;
    text-transform: uppercase;

    color: #a36e13 !important;
}

.pblearn-nav-title {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 16px !important;
    line-height: 1.3;

    color: #17372d !important;
}

.pblearn-nav-prev:hover,
.pblearn-nav-next:hover {
    border-color: #b8aa76 !important;
    background: #faf8f2;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 900px) {

    .pblearn-article-wrap {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    .pblearn-article-toc {
        position: static !important;
        order: -1;
    }

    .pbl-related-links {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 650px) {

    .pblearn-article-kicker,
    .pblearn-article-title,
    .pblearn-article-wrap,
    .pbl-related,
    .pbl-related + .pbl-back,
    .pblearn-article-nav {
        width: calc(100% - 36px) !important;
    }

    .pblearn-article-title {
        font-size: 36px !important;
    }

    .pbl-article-lead {
        font-size: 18.5px !important;
    }

    .pbl-related-links {
        grid-template-columns: 1fr !important;
    }

    .pblearn-article-nav {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .pblearn-nav-prev,
    .pblearn-nav-next {
        border-radius: 9px !important;
        text-align: left !important;
    }
}


/* ==========================================================
   PUREFARMFRESH LEARN FINAL SPACING + NAV CLEANUP
========================================================== */

/* More breathing room below site header */
.pblearn-article-kicker {
    margin-top: 34px !important;
}

/* Comfortable space between category and title */
.pblearn-article-title {
    margin-top: 14px !important;
    margin-bottom: 30px !important;
}

/* Remove redundant Back to Learning button */
.pbl-back {
    display: none !important;
}

/* Related reading stays compact */
.pbl-related {
    margin-top: 50px !important;
}

.pbl-related-links {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

.pbl-related-links > a {
    min-height: 92px !important;
    padding: 18px 21px !important;
}

/* Previous / Next now follows Related Reading directly */
.pblearn-article-nav {
    margin-top: 22px !important;
    padding-top: 22px !important;
}

/* First article has no previous article.
   Keep next card on the right without an awkward visible empty card. */
.pblearn-article-nav > span:first-child {
    visibility: hidden;
}

/* Mobile */
@media (max-width: 650px) {

    .pblearn-article-kicker {
        margin-top: 25px !important;
    }

    .pbl-related-links {
        grid-template-columns: 1fr !important;
    }

    .pblearn-article-nav > span:first-child {
        display: none;
    }
}


/* ==========================================================
   PUREFARMFRESH LEARN - RELATED READING FINAL FIX
========================================================== */

.pbl-related {
    width: calc(100% - 48px) !important;
    max-width: 1072px !important;
    margin: 48px auto 0 !important;
    padding: 28px 0 0 !important;
    border-top: 1px solid #d9d7ce !important;
}

.pbl-related-label {
    margin: 0 0 7px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase;
    color: #71852e !important;
}

.pbl-related > h2 {
    margin: 0 0 20px !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 30px !important;
    font-weight: 500 !important;
    color: #17372d !important;
}

/* FORCE THREE ACROSS */

.pbl-related .pbl-related-links {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 18px !important;
    width: 100% !important;
}

.pbl-related .pbl-related-links > a {
    display: flex !important;
    flex: 1 1 0 !important;
    flex-direction: column !important;
    justify-content: space-between !important;

    width: 0 !important;
    min-width: 0 !important;
    min-height: 105px !important;

    margin: 0 !important;
    padding: 20px 22px !important;

    border: 1px solid #ddd9cd !important;
    border-radius: 9px !important;

    background: #fff !important;
    box-sizing: border-box !important;

    text-decoration: none !important;
}

.pbl-related .pbl-related-links > a > span {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 17px !important;
    line-height: 1.3 !important;
    color: #17372d !important;
}

.pbl-related .pbl-related-links > a > strong {
    margin-top: 20px !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    font-weight: 800 !important;

    letter-spacing: 1px !important;
    text-transform: uppercase;

    color: #b47b12 !important;
}

/* No redundant back button */

.pbl-back {
    display: none !important;
}

/* PREVIOUS / NEXT */

.pblearn-article-nav {
    width: calc(100% - 48px) !important;
    max-width: 1072px !important;

    margin: 28px auto 0 !important;
    padding: 22px 0 55px !important;

    border-top: 1px solid #d9d7ce !important;

    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
}

.pblearn-nav-prev,
.pblearn-nav-next {
    min-height: 72px !important;
    box-sizing: border-box !important;

    padding: 16px 20px !important;

    background: #fff !important;
    border: 1px solid #ddd9cd !important;
}

.pblearn-nav-prev {
    border-radius: 9px 0 0 9px !important;
}

.pblearn-nav-next {
    border-radius: 0 9px 9px 0 !important;
    text-align: right !important;
}

/* First article has no previous */
.pblearn-article-nav > span:first-child {
    border: 0 !important;
}

/* MOBILE */

@media (max-width: 700px) {

    .pbl-related .pbl-related-links {
        flex-direction: column !important;
    }

    .pbl-related .pbl-related-links > a {
        width: 100% !important;
        min-height: 90px !important;
    }

    .pblearn-article-nav {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .pblearn-article-nav > span:first-child {
        display: none !important;
    }

    .pblearn-nav-prev,
    .pblearn-nav-next {
        border-radius: 9px !important;
        text-align: left !important;
    }
}


/* Highlight Learn Previous / Next buttons */
.pblearn-nav-prev,
.pblearn-nav-next {
    background: #dca62b !important;
    border-color: #c6921e !important;
    color: #17372d !important;
}

.pblearn-nav-prev .pblearn-nav-label,
.pblearn-nav-next .pblearn-nav-label,
.pblearn-nav-prev .pblearn-nav-title,
.pblearn-nav-next .pblearn-nav-title {
    color: #17372d !important;
}

.pblearn-nav-prev:hover,
.pblearn-nav-next:hover {
    background: #c99520 !important;
    border-color: #b78318 !important;
    transform: translateY(-2px);
}


/* Learn Previous / Next - separated gold cards */

.pblearn-article-nav {
    gap: 28px !important;
}

.pblearn-nav-prev,
.pblearn-nav-next {
    background: #dca62b !important;
    border: 1px solid #c6921e !important;
    border-radius: 10px !important;
    padding: 18px 22px !important;
    color: #fff !important;
}

.pblearn-nav-prev .pblearn-nav-label,
.pblearn-nav-next .pblearn-nav-label,
.pblearn-nav-prev .pblearn-nav-title,
.pblearn-nav-next .pblearn-nav-title {
    color: #fff !important;
}

.pblearn-nav-prev .pblearn-nav-title,
.pblearn-nav-next .pblearn-nav-title {
    font-size: 17px !important;
}

.pblearn-nav-prev:hover,
.pblearn-nav-next:hover {
    background: #c99520 !important;
    border-color: #b78318 !important;
    transform: translateY(-2px);
}

/* Mobile */
@media (max-width: 650px) {
    .pblearn-article-nav {
        gap: 12px !important;
    }
}


/* Learn Previous / Next - dark text on gold */

.pblearn-nav-prev,
.pblearn-nav-next,
.pblearn-nav-prev .pblearn-nav-label,
.pblearn-nav-next .pblearn-nav-label,
.pblearn-nav-prev .pblearn-nav-title,
.pblearn-nav-next .pblearn-nav-title {
    color: #17372d !important;
}


/* ==========================================================
   LEARN ARTICLE TOP NEXT NAVIGATION
========================================================== */

.pblearn-article-topline {
    width: calc(100% - 48px);
    max-width: 1072px;
    margin: 32px auto 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.pblearn-article-topline .pblearn-article-kicker {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pblearn-top-next {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding: 9px 15px;

    border: 1px solid #d5c79f;
    border-radius: 999px;

    background: #f4f0e4;

    text-decoration: none;
    transition: background .18s ease, border-color .18s ease;
}

.pblearn-top-next span {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #a36e13;
}

.pblearn-top-next strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 13px;
    font-weight: 500;
    color: #17372d;
}

.pblearn-top-next:hover {
    background: #eadfac;
    border-color: #c6921e;
}

/* Title now follows topline */
.pblearn-article-title {
    margin-top: 0 !important;
}

/* Mobile: keep it simple */
@media (max-width: 650px) {

    .pblearn-article-topline {
        width: calc(100% - 36px);
        margin-top: 24px;
        align-items: flex-start;
    }

    .pblearn-top-next strong {
        display: none;
    }

    .pblearn-top-next {
        padding: 9px 13px;
    }
}


/* Learn top Next Article - final position */

.pblearn-article-topline {
    margin-top: 48px !important;
    margin-bottom: 12px !important;
    align-items: center !important;
}

.pblearn-top-next {
    position: relative;
    top: 8px;

    padding: 10px 16px !important;
    background: #f4f0e4 !important;
    border: 1px solid #d6c28c !important;
    border-radius: 999px !important;
}

.pblearn-top-next:hover {
    background: #dca62b !important;
    border-color: #c6921e !important;
}

.pblearn-top-next:hover span,
.pblearn-top-next:hover strong {
    color: #17372d !important;
}


/* FARM PROFILE CONTEXTUAL LEARNING */

.farm-learn-section {
    padding: 64px 24px 70px;
    background: #f4f0e4;
    border-top: 1px solid #ded8c7;
}

.farm-learn-inner {
    max-width: 1180px;
    margin: 0 auto;
}

.farm-learn-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 40px;
    margin-bottom: 28px;
}

.farm-learn-heading h2 {
    margin: 8px 0 10px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 36px;
    line-height: 1.15;
    font-weight: 500;
    color: #17372d;
}

.farm-learn-heading p {
    max-width: 650px;
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    color: #4a554f;
}

.farm-learn-all {
    flex-shrink: 0;
    display: inline-flex;
    padding: 11px 18px;
    background: #dca62b;
    border: 1px solid #c6921e;
    border-radius: 999px;
    color: #17372d !important;
    font-weight: 800;
    text-decoration: none !important;
}

.farm-learn-all:hover {
    background: #c99520;
}

.farm-learn-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.farm-learn-card {
    display: flex;
    flex-direction: column;
    min-height: 155px;
    padding: 24px;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #ddd9cd;
    border-radius: 10px;
    text-decoration: none !important;
}

.farm-learn-card > span {
    margin-bottom: 15px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.3px;
    color: #a36e13;
}

.farm-learn-card h3 {
    margin: 0 0 20px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 500;
    color: #17372d;
}

.farm-learn-card strong {
    margin-top: auto;
    font-size: 13px;
    color: #17372d;
}

.farm-learn-card:hover {
    border-color: #c6921e;
    transform: translateY(-2px);
}

@media (max-width: 800px) {
    .farm-learn-heading {
        flex-direction: column;
        align-items: flex-start;
    }

    .farm-learn-cards {
        grid-template-columns: 1fr;
    }

    .farm-learn-card {
        min-height: 0;
    }
}


/* CONSUMER SPECIES LEARNING HUB */

.pbconsumer-species-hub {
    max-width: 1180px;
    margin: 0 auto 64px;
    padding: 10px 0 10px;
}

.pbconsumer-species-intro {
    max-width: 760px;
    margin-bottom: 28px;
}

.pbconsumer-species-intro small {
    display: block;
    margin-bottom: 9px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.5px;
    color: #a36e13;
}

.pbconsumer-species-intro h2 {
    margin: 0 0 12px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 38px;
    line-height: 1.15;
    font-weight: 500;
    color: #17372d;
}

.pbconsumer-species-intro p {
    margin: 0;
    max-width: 680px;
    font-size: 16px;
    line-height: 1.65;
    color: #4a554f;
}

.pbconsumer-species-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.pbconsumer-species-card {
    display: flex;
    flex-direction: column;
    min-height: 230px;
    padding: 30px;
    box-sizing: border-box;
    background: #f4f0e4;
    border: 1px solid #ddd4bd;
    border-radius: 12px;
    text-decoration: none !important;
    transition: transform .18s ease, border-color .18s ease;
}

.pbconsumer-species-card:hover {
    transform: translateY(-2px);
    border-color: #c6921e;
}

.pbconsumer-species-type {
    margin-bottom: 15px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.5px;
    color: #a36e13;
}

.pbconsumer-species-card h3 {
    margin: 0 0 12px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    line-height: 1.2;
    font-weight: 500;
    color: #17372d;
}

.pbconsumer-species-card p {
    margin: 0 0 22px;
    max-width: 470px;
    font-size: 15px;
    line-height: 1.6;
    color: #4a554f;
}

.pbconsumer-species-card strong {
    margin-top: auto;
    margin-bottom: 7px;
    font-size: 10px;
    letter-spacing: 1.2px;
    color: #a36e13;
}

.pbconsumer-species-card span {
    font-size: 14px;
    font-weight: 800;
    color: #17372d;
}

@media (max-width: 700px) {
    .pbconsumer-species-cards {
        grid-template-columns: 1fr;
    }

    .pbconsumer-species-card {
        min-height: 0;
    }
}


/* FIX CONSUMER SPECIES HUB */

.pbconsumer-species-hub {
    padding-top: 42px;
}

.pbconsumer-species-cards {
    display: flex !important;
    gap: 22px;
    align-items: stretch;
}

.pbconsumer-species-card {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 1 1 0;
    flex-direction: column;
    min-width: 0;
    min-height: 250px;
}

.pbconsumer-species-card * {
    visibility: visible !important;
    opacity: 1 !important;
}

.pbconsumer-species-card:first-child,
.pbconsumer-species-card:first-child * {
    color: inherit;
}

.pbconsumer-species-card:first-child .pbconsumer-species-type,
.pbconsumer-species-card:first-child strong {
    color: #a36e13 !important;
}

.pbconsumer-species-card:first-child h3,
.pbconsumer-species-card:first-child span {
    color: #17372d !important;
}

.pbconsumer-species-card:first-child p {
    color: #4a554f !important;
}

@media (max-width: 700px) {
    .pbconsumer-species-cards {
        flex-direction: column;
    }
}


/* FINAL CONSUMER MEAT SELECTOR LAYOUT */

.pbconsumer .pbconsumer-species-hub {
    max-width: 1180px !important;
    margin: 0 auto 60px !important;
    padding: 44px 20px 0 !important;
}

.pbconsumer .pbconsumer-species-cards {
    display: flex !important;
    flex-direction: row !important;
    gap: 24px !important;
    width: 100% !important;
    align-items: stretch !important;
}

.pbconsumer .pbconsumer-species-card {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 50% !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 270px !important;

    padding: 30px !important;
    margin: 0 !important;

    background: #f4f0e4 !important;
    border: 1px solid #ddd4bd !important;
    border-radius: 12px !important;

    box-sizing: border-box !important;
    text-decoration: none !important;
}

.pbconsumer .pbconsumer-species-card > * {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.pbconsumer .pbconsumer-species-card p {
    max-width: 500px !important;
}

.pbconsumer .pbconsumer-species-card strong {
    margin-top: auto !important;
    padding-top: 20px !important;
}

.pbconsumer .pbconsumer-species-card span {
    margin-top: 5px !important;
}

@media (max-width: 700px) {

    .pbconsumer .pbconsumer-species-cards {
        flex-direction: column !important;
    }

    .pbconsumer .pbconsumer-species-card {
        width: 100% !important;
        flex-basis: auto !important;
        min-height: 0 !important;
    }
}


/* CLEAN MEAT LEARNING SELECTOR */

.pbconsumer-species-hub {
    max-width: 1180px !important;
    margin: 0 auto 65px !important;
    padding: 45px 20px 0 !important;
}

.pbconsumer-meat-cards {
    display: flex !important;
    gap: 24px !important;
    width: 100% !important;
}

.pbconsumer-meat-card {
    flex: 1 1 0 !important;
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    min-height: 255px !important;
    padding: 32px !important;
    box-sizing: border-box !important;
    background: #f4f0e4 !important;
    border: 1px solid #ddd4bd !important;
    border-radius: 12px !important;
}

.pbconsumer-meat-label {
    margin-bottom: 16px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 1.6px !important;
    color: #a36e13 !important;
}

.pbconsumer-meat-card h2 {
    margin: 0 0 14px !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 29px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
    color: #17372d !important;
}

.pbconsumer-meat-card p {
    max-width: 470px !important;
    margin: 0 0 25px !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
    color: #4a554f !important;
}

.pbconsumer-meat-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    margin-top: auto !important;
    padding-top: 20px !important;
    border-top: 1px solid #ddd4bd !important;
}

.pbconsumer-meat-footer span {
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 1.3px !important;
    color: #a36e13 !important;
}

.pbconsumer-meat-footer a {
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #17372d !important;
    text-decoration: none !important;
}

.pbconsumer-meat-footer a:hover {
    color: #a36e13 !important;
}

@media (max-width: 700px) {
    .pbconsumer-meat-cards {
        flex-direction: column !important;
    }

    .pbconsumer-meat-card {
        min-height: 0 !important;
    }
}


/* CONSUMER MEAT HUB - 2 COLUMN CATEGORY CARDS */

.pbconsumer .pbconsumer-meat-cards {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 24px !important;
}

.pbconsumer .pbconsumer-meat-card {
    flex: 0 0 calc(50% - 12px) !important;
    min-height: 320px !important;
    padding: 36px !important;
}

.pbconsumer-meat-icon {
    width: 54px;
    height: 54px;
    margin-bottom: 22px;
    color: #17372d;
}

.pbconsumer-meat-icon svg {
    display: block;
    width: 100%;
    height: 100%;
    stroke: currentColor;
}

.pbconsumer .pbconsumer-meat-card h2 {
    font-size: 31px !important;
}

@media (max-width: 700px) {
    .pbconsumer .pbconsumer-meat-card {
        flex: 0 0 100% !important;
        min-height: 0 !important;
    }
}


/* =========================================================
   PUREFARMFRESH ABOUT ACCORDION
   ========================================================= */

.pbabout-accordion {
    max-width: 1180px;
    margin: 0 auto;
    padding: 70px 30px 90px;
}

.pbabout-accordion-intro {
    max-width: 760px;
    margin-bottom: 38px;
}

.pbabout-accordion-intro small {
    display: block;
    margin-bottom: 10px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    color: #b97800;
}

.pbabout-accordion-intro h2 {
    margin: 0 0 12px;
    font-family: Georgia, serif;
    font-size: 38px;
    line-height: 1.1;
    color: #07513f;
}

.pbabout-accordion-intro p {
    margin: 0;
    max-width: 680px;
    font-size: 17px;
    line-height: 1.7;
}

.pbabout-accordion details {
    border-top: 1px solid #d9cfb8;
}

.pbabout-accordion details:last-of-type {
    border-bottom: 1px solid #d9cfb8;
}

.pbabout-accordion summary {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 25px 8px;
    cursor: pointer;
    list-style: none;
    color: #07513f;
}

.pbabout-accordion summary::-webkit-details-marker {
    display: none;
}

.pbabout-accordion-number {
    flex: 0 0 42px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1px;
    color: #c98a00;
}

.pbabout-accordion-title {
    flex: 1;
    font-family: Georgia, serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
}

.pbabout-accordion-plus {
    flex: 0 0 30px;
    text-align: center;
    font-size: 28px;
    font-weight: 300;
    color: #b97800;
    transition: transform .2s ease;
}

.pbabout-accordion details[open] .pbabout-accordion-plus {
    transform: rotate(45deg);
}

.pbabout-accordion-body {
    max-width: 820px;
    padding: 0 8px 30px 74px;
    font-size: 16px;
    line-height: 1.75;
}

.pbabout-accordion-body p {
    margin: 0 0 14px;
}

.pbabout-accordion-body p:last-child {
    margin-bottom: 0;
}

.pbabout-accordion summary:hover .pbabout-accordion-title {
    color: #b97800;
}

@media (max-width: 700px) {

    .pbabout-accordion {
        padding: 45px 22px 65px;
    }

    .pbabout-accordion-intro h2 {
        font-size: 31px;
    }

    .pbabout-accordion summary {
        gap: 12px;
        padding: 21px 0;
    }

    .pbabout-accordion-number {
        flex-basis: 32px;
    }

    .pbabout-accordion-title {
        font-size: 20px;
    }

    .pbabout-accordion-body {
        padding: 0 0 25px 44px;
    }
}

/* =========================================================
   ANIMAL RESCUE BOTTOM CONTENT ALIGNMENT
   ========================================================= */

body.page-id-1084 .pbrescues > section:not(.pbconsumer-hero):not(.pbconsumer-section),
body.page-id-1084 .pbrescues > div:not(.pbconsumer-message):not(.pbconsumer-bottom) {
    width: 100% !important;
    max-width: 1380px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: max(5vw, 40px) !important;
    padding-right: max(5vw, 40px) !important;
    box-sizing: border-box !important;
}

/* Catch the rescue editorial/footer blocks */
body.page-id-1084 .pbrescues .pbrescues-story,
body.page-id-1084 .pbrescues .pbrescues-note,
body.page-id-1084 .pbrescues .pbrescues-support,
body.page-id-1084 .pbrescues .pbrescues-footer {
    width: 100% !important;
    max-width: 1380px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: max(5vw, 40px) !important;
    padding-right: max(5vw, 40px) !important;
    box-sizing: border-box !important;
}

@media(max-width:620px) {

    body.page-id-1084 .pbrescues > section:not(.pbconsumer-hero):not(.pbconsumer-section),
    body.page-id-1084 .pbrescues > div:not(.pbconsumer-message):not(.pbconsumer-bottom),
    body.page-id-1084 .pbrescues .pbrescues-story,
    body.page-id-1084 .pbrescues .pbrescues-note,
    body.page-id-1084 .pbrescues .pbrescues-support,
    body.page-id-1084 .pbrescues .pbrescues-footer {
        padding-left:20px !important;
        padding-right:20px !important;
    }
}


/* Animal Rescue Learn bottom panel full width */
body.page-id-1084 .pbconsumer-bottom {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}


/* Animal Rescue Learn bottom panel full width */
body.page-id-1084 .pbconsumer-bottom {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}



/* =========================================================
   PUREFARMFRESH SITE FOOTER
   ========================================================= */

.purefarmfresh-footer {
    background:#0B4938;
    color:#fff;
}

.purefarmfresh-footer-main {
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr 1fr;
    gap:70px;

    max-width:1380px;
    margin:0 auto;
    padding:70px max(5vw,40px) 60px;

    box-sizing:border-box;
}

.purefarmfresh-footer-logo {
    display:inline-block;
    margin-bottom:25px;
}

.purefarmfresh-footer-logo img {
    display:block;
    width:190px;
    max-width:100%;
    height:auto;
}

.purefarmfresh-footer-motto {
    margin:0 0 25px !important;

    color:#fff !important;

    font-family:Georgia,serif;
    font-size:22px;
    line-height:1.4;
}

.purefarmfresh-footer-powered {
    margin:0 !important;

    color:rgba(255,255,255,.68) !important;

    font-size:13px;
    line-height:1.5;
}

.purefarmfresh-footer-powered strong {
    color:#D8A438;
    font-weight:700;
}

.purefarmfresh-footer-heading {
    margin-bottom:22px;

    color:#D8A438;

    font-size:11px;
    font-weight:800;
    letter-spacing:1.8px;
}

.purefarmfresh-footer-column {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}

.purefarmfresh-footer-column a {
    display:inline-block;
    margin-bottom:13px;

    color:rgba(255,255,255,.82);
    text-decoration:none;

    font-size:14px;
    line-height:1.45;

    transition:color .15s ease;
}

.purefarmfresh-footer-column a:hover {
    color:#D8A438;
}

.purefarmfresh-footer-bottom {
    display:flex;
    justify-content:space-between;
    gap:30px;

    max-width:1380px;
    margin:0 auto;
    padding:22px max(5vw,40px);

    box-sizing:border-box;

    border-top:1px solid rgba(255,255,255,.12);

    color:rgba(255,255,255,.55);

    font-size:12px;
    line-height:1.5;
}


@media(max-width:950px) {

    .purefarmfresh-footer-main {
        grid-template-columns:1.4fr 1fr 1fr;
        gap:50px;
    }

    .purefarmfresh-footer-brand {
        grid-column:1 / -1;
    }

}


@media(max-width:650px) {

    .purefarmfresh-footer-main {
        grid-template-columns:1fr 1fr;
        gap:40px 25px;
        padding:50px 22px;
    }

    .purefarmfresh-footer-brand {
        grid-column:1 / -1;
    }

    .purefarmfresh-footer-logo img {
        width:165px;
    }

    .purefarmfresh-footer-motto {
        font-size:20px;
    }

    .purefarmfresh-footer-bottom {
        display:block;
        padding:20px 22px;
    }

    .purefarmfresh-footer-bottom span {
        display:block;
        margin-bottom:7px;
    }

}


/* Footer logo visibility and spacing */
.purefarmfresh-footer-main {
    padding-top:58px !important;
}

.purefarmfresh-footer-logo {
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    padding:14px 18px !important;
    margin-bottom:24px !important;
    background:#f7f3e8;
    border-radius:6px;
}

.purefarmfresh-footer-logo img {
    width:170px !important;
    height:auto !important;
}

.purefarmfresh-footer-motto {
    margin-top:0 !important;
}


/* =========================================================
   RESCUE CLOSING LEARN CTA
   Full-width green band above footer
   ========================================================= */

body.page-id-1084 .pbconsumer-bottom {
    position:relative !important;

    width:100vw !important;
    max-width:none !important;

    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;

    padding:64px max(calc((100vw - 1180px) / 2), 6vw) !important;

    box-sizing:border-box !important;
    border-radius:0 !important;
}

/* Keep the two sides balanced */
body.page-id-1084 .pbconsumer-bottom > div:first-child {
    max-width:600px !important;
}

body.page-id-1084 .pbrescues-bottom-links {
    min-width:280px !important;
}

@media(max-width:700px) {

    body.page-id-1084 .pbconsumer-bottom {
        padding:45px 22px !important;
    }

}


/* =========================================================
   RESCUE CLOSING LEARN CTA
   Full-width green band above footer
   ========================================================= */

body.page-id-1084 .pbconsumer-bottom {
    position:relative !important;

    width:100vw !important;
    max-width:none !important;

    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;

    padding:64px max(calc((100vw - 1180px) / 2), 6vw) !important;

    box-sizing:border-box !important;
    border-radius:0 !important;
}

/* Keep the two sides balanced */
body.page-id-1084 .pbconsumer-bottom > div:first-child {
    max-width:600px !important;
}

body.page-id-1084 .pbrescues-bottom-links {
    min-width:280px !important;
}

@media(max-width:700px) {

    body.page-id-1084 .pbconsumer-bottom {
        padding:45px 22px !important;
    }

}


/* HEADER MAP BUTTON */
.purefarmfresh-navigation a.purefarmfresh-map-button {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    min-height:46px !important;
    padding:0 22px !important;

    background:#D3A64A !important;
    border:1px solid #B98725 !important;
    border-radius:4px !important;

    color:#17372D !important;
    font-weight:800 !important;
    text-decoration:none !important;

    transition:
        background .15s ease,
        transform .15s ease !important;
}

.purefarmfresh-navigation a.purefarmfresh-map-button:hover {
    background:#E0B75E !important;
    color:#17372D !important;
    transform:translateY(-1px);
}


/* =========================================================
   PUREFARMFRESH HOMEPAGE VALUES
   ========================================================= */

.pb-home-values {
    padding:90px 0 95px;
    background:#f7f8f3;
}

.pb-home-values-intro {
    max-width:720px;
    margin:0 0 48px;
    color:#555;
    font-size:18px;
    line-height:1.7;
}

.pb-home-value-grid {
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:22px;
}

.pb-home-value {
    padding:34px 30px 32px;
    background:#fff;
    border:1px solid #e1e5da;
    border-radius:7px;
    box-sizing:border-box;
}

.pb-home-value-icon {
    width:54px;
    height:54px;
    margin-bottom:22px;
    color:#94C347;
}

.pb-home-value-icon svg {
    width:54px;
    height:54px;
    display:block;
}

.pb-home-value h3 {
    margin:0 0 10px;
    color:#21483A;
    font-size:21px;
}

.pb-home-value p {
    margin:0;
    color:#555;
    font-size:15px;
    line-height:1.65;
}


/* Homepage CTA buttons */
.pb-home-values .button,
.section.cta .button {
    text-decoration:none;
}


@media(max-width:950px) {

    .pb-home-value-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

}


@media(max-width:620px) {

    .pb-home-values {
        padding:60px 20px 65px;
    }

    .pb-home-value-grid {
        grid-template-columns:1fr;
        gap:16px;
    }

    .pb-home-value {
        padding:28px 24px;
    }

}


/* =========================================================
   HOMEPAGE CLOSING CTA - STRONGER CONTRAST
   ========================================================= */

.section.cta {
    background:#E9E4D5 !important;
}

.section.cta .eyebrow {
    color:#A87300 !important;
}

.section.cta .section-title {
    color:#0B4F3F !important;
}

.section.cta p {
    color:#24483D !important;
}

/* Primary CTA */
.section.cta .button-primary {
    background:#0B4F3F !important;
    border:1px solid #0B4F3F !important;
    color:#FFFFFF !important;
}

.section.cta .button-primary:hover {
    background:#063D30 !important;
    border-color:#063D30 !important;
    color:#FFFFFF !important;
}

/* Secondary CTA */
.section.cta .button-secondary {
    background:#D3A43A !important;
    border:1px solid #B98725 !important;
    color:#123D32 !important;
}

.section.cta .button-secondary:hover {
    background:#E0B653 !important;
    border-color:#C28E20 !important;
    color:#123D32 !important;
}


/* =========================================================
   HOMEPAGE PILLAR ICONS
   ========================================================= */

.pillar-icon {
    width:58px;
    height:58px;
    margin-bottom:22px;
    color:#0B4F3F;
}

.pillar-icon svg {
    width:58px;
    height:58px;
    display:block;
}

.pillar-number {
    color:#B78319 !important;
}

@media(max-width:620px) {

    .pillar-icon {
        width:50px;
        height:50px;
        margin-bottom:18px;
    }

    .pillar-icon svg {
        width:50px;
        height:50px;
    }

}


/* =========================================================
   PUREFARMFRESH COMMUNITY SUPPORT
   ========================================================= */

.pb-home-support {
    padding:78px 0;
    background:#0B4F3F;
    color:#fff;
}

.pb-home-support-inner {
    max-width:1180px;
    margin:0 auto;
    padding:0 40px;
    display:grid;
    grid-template-columns:70px minmax(0,1fr) 230px;
    gap:30px;
    align-items:center;
    box-sizing:border-box;
}

.pb-home-support-icon {
    width:58px;
    height:58px;
    color:#D3A43A;
}

.pb-home-support-icon svg {
    width:58px;
    height:58px;
    display:block;
}

.pb-home-support .eyebrow {
    color:#D3A43A !important;
    margin-bottom:14px;
}

.pb-home-support h2 {
    margin:0 0 18px;
    color:#fff !important;
    font-size:36px;
    line-height:1.12;
}

.pb-home-support-copy p {
    max-width:760px;
    margin:0 0 12px;
    color:rgba(255,255,255,.86);
    font-size:16px;
    line-height:1.7;
}

.pb-home-support-action {
    text-align:left;
}

.pb-home-support-note {
    display:flex;
    flex-direction:column;
    margin-bottom:20px;
    color:#fff;
    line-height:1.5;
}

.pb-home-support-note strong {
    color:#D3A43A;
}

.pb-home-support-note span {
    color:rgba(255,255,255,.75);
    font-size:14px;
}

.pb-home-support .button-primary {
    display:inline-block;
    background:#D3A43A !important;
    border:1px solid #D3A43A !important;
    color:#123D32 !important;
    text-decoration:none;
}

.pb-home-support .button-primary:hover {
    background:#E0B653 !important;
    border-color:#E0B653 !important;
}


@media(max-width:850px) {

    .pb-home-support-inner {
        grid-template-columns:60px 1fr;
    }

    .pb-home-support-action {
        grid-column:2;
    }

}


@media(max-width:620px) {

    .pb-home-support {
        padding:60px 20px;
    }

    .pb-home-support-inner {
        padding:0;
        grid-template-columns:1fr;
        gap:18px;
    }

    .pb-home-support-action {
        grid-column:auto;
    }

    .pb-home-support h2 {
        font-size:30px;
    }

}


/* =========================================================
   SUPPORT PUREFARMFRESH
   ========================================================= */

.pbsupport {
    background:#F7F4EA;
    color:#17372D;
}

.pbsupport-inner {
    width:min(1180px,90%);
    margin:0 auto;
}

.pbsupport-hero {
    padding:100px 0 90px;
    background:#F7F4EA;
}

.pbsupport-kicker,
.pbsupport-heading > span {
    display:block;
    margin-bottom:16px;
    color:#A8751B;
    font-size:12px;
    font-weight:800;
    letter-spacing:2px;
}

.pbsupport-hero h1 {
    max-width:800px;
    margin:0 0 25px;
    color:#17372D;
    font-size:clamp(48px,6vw,78px);
    line-height:1;
}

.pbsupport-lead {
    max-width:780px;
    font-size:19px;
    line-height:1.7;
}

.pbsupport-principle {
    display:inline-block;
    margin-top:28px;
    padding:12px 18px;
    border:1px solid #D5C9A8;
    color:#17372D;
    font-weight:700;
}

.pbsupport-section {
    padding:85px 0;
    background:#fff;
}

.pbsupport-heading {
    margin-bottom:42px;
}

.pbsupport-heading h2,
.pbsupport-contribute h2,
.pbsupport-certificate h2 {
    margin:0;
    color:#17372D;
    font-size:clamp(32px,4vw,48px);
}

.pbsupport-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-top:1px solid #DDD8CA;
    border-left:1px solid #DDD8CA;
}

.pbsupport-card {
    min-height:260px;
    padding:32px 27px;
    border-right:1px solid #DDD8CA;
    border-bottom:1px solid #DDD8CA;
}

.pbsupport-icon {
    margin-bottom:38px;
    color:#B78319;
    font-size:13px;
    font-weight:800;
    letter-spacing:2px;
}

.pbsupport-card h3 {
    margin:0 0 13px;
    color:#17372D;
    font-size:23px;
}

.pbsupport-card p {
    margin:0;
    line-height:1.7;
}

.pbsupport-contribute {
    padding:85px 0;
    background:#E9E4D5;
}

.pbsupport-contribute-grid {
    display:grid;
    grid-template-columns:1.4fr .8fr;
    gap:80px;
    align-items:center;
}

.pbsupport-contribute p {
    max-width:680px;
    line-height:1.75;
}

.pbsupport-give {
    padding:32px;
    background:#17372D;
    color:#fff;
}

.pbsupport-give h3 {
    margin-top:0;
    color:#fff;
    font-size:25px;
}

.pbsupport-give p {
    color:rgba(255,255,255,.82);
}

.pbsupport-coming {
    margin-top:22px;
    padding:15px 18px;
    background:#D3A43A;
    color:#17372D;
    font-weight:800;
    text-align:center;
}

.pbsupport-certificate {
    padding:85px 0;
    background:#fff;
}

.pbsupport-certificate-box {
    display:grid;
    grid-template-columns:130px 1fr;
    gap:40px;
    align-items:center;
    padding:45px;
    border:1px solid #D6C9A6;
}

.pbsupport-seal {
    display:flex;
    width:105px;
    height:105px;
    align-items:center;
    justify-content:center;
    border:2px solid #D3A43A;
    border-radius:50%;
    color:#17372D;
    font-family:Georgia,serif;
    font-size:30px;
    font-weight:700;
}

.pbsupport-certificate p {
    max-width:720px;
    line-height:1.7;
}

.pbsupport-certificate small {
    display:block;
    max-width:760px;
    color:#666;
    line-height:1.6;
}

.pbsupport-close {
    padding:85px 0;
    background:#17372D;
    color:#fff;
    text-align:center;
}

.pbsupport-close h2 {
    margin:0 0 20px;
    color:#fff;
    font-size:clamp(35px,5vw,58px);
    line-height:1.1;
}

.pbsupport-close p {
    color:#D3A43A;
    font-weight:700;
}

@media(max-width:900px) {
    .pbsupport-grid {
        grid-template-columns:repeat(2,1fr);
    }

    .pbsupport-contribute-grid {
        grid-template-columns:1fr;
        gap:35px;
    }
}

@media(max-width:620px) {
    .pbsupport-hero {
        padding:70px 0 60px;
    }

    .pbsupport-grid {
        grid-template-columns:1fr;
    }

    .pbsupport-certificate-box {
        grid-template-columns:1fr;
        padding:30px;
    }
}


/* =========================================================
   PUREFARMFRESH SPLIT HERO IMAGE
   About page
   ========================================================= */

.pbabout-hero {
    position: relative;
    overflow: hidden;
    padding-right: calc(50% + 55px);
    min-height: 520px;
}

.pbabout-hero::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background-image: url('/wp-content/uploads/2026/09/farms.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.pbabout-hero > * {
    position: relative;
    z-index: 2;
}

@media (max-width: 850px) {
    .pbabout-hero {
        padding-right: 24px;
        padding-bottom: 330px;
        min-height: 0;
    }

    .pbabout-hero::after {
        top: auto;
        bottom: 0;
        width: 100%;
        height: 290px;
    }
}

/* =========================================================
   PUREFARMFRESH SPLIT HERO IMAGE
   About page
   ========================================================= */

.pbabout-hero {
    position: relative;
    overflow: hidden;
    padding-right: calc(50% + 55px);
    min-height: 520px;
}

.pbabout-hero::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background-image: url('/wp-content/uploads/2026/09/farms.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.pbabout-hero > * {
    position: relative;
    z-index: 2;
}

@media (max-width: 850px) {
    .pbabout-hero {
        padding-right: 24px;
        padding-bottom: 330px;
        min-height: 0;
    }

    .pbabout-hero::after {
        top: auto;
        bottom: 0;
        width: 100%;
        height: 290px;
    }
}

/* Farmers Learn bottom CTA */
.pbfarmers .pbconsumer-bottom {
    background: #6B4F35 !important;
    color: #fffaf0 !important;
}

.pbfarmers .pbconsumer-bottom h2,
.pbfarmers .pbconsumer-bottom p {
    color: #fffaf0 !important;
}


/* Farmers Learn CTA buttons */
.pbfarmers .pbfarmers-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.pbfarmers .pbfarmers-action {
    background: #F5EBDD !important;
    border: 1px solid #F5EBDD !important;
    color: #174F43 !important;
    padding: 20px 22px !important;
    min-height: 62px !important;
}

.pbfarmers .pbfarmers-action:hover {
    background: #D1A94B !important;
    border-color: #D1A94B !important;
    color: #123F36 !important;
}

.pbfarmers .pbfarmers-action-secondary {
    background: transparent !important;
    border: 1px solid rgba(255,255,255,.65) !important;
    color: #FFF8ED !important;
}

.pbfarmers .pbfarmers-action-secondary:hover {
    background: rgba(255,255,255,.10) !important;
    color: #ffffff !important;
}

.pbfarmers .pbfarmers-action span {
    color: #D1A94B !important;
}

.pbfarmers .pbfarmers-action:hover span {
    color: #174F43 !important;
}

.pbfarmers .pbfarmers-action-secondary:hover span {
    color: #D1A94B !important;
}

/* =========================================================
   PROCESSORS LEARN BOTTOM CTA
   Match Farmers brown CTA
   ========================================================= */

.pbprocessors .pbconsumer-bottom {
    background: #6B4F35 !important;
    color: #FFF8ED !important;
    padding: 54px 4% !important;
    border: 0 !important;
}

.pbprocessors .pbconsumer-bottom h2,
.pbprocessors .pbconsumer-bottom p {
    color: #FFF8ED !important;
}

.pbprocessors .pbconsumer-bottom .pbconsumer-label {
    color: #D1A94B !important;
}

.pbprocessors .pbconsumer-bottom a {
    background: #F5EBDD !important;
    border: 1px solid #F5EBDD !important;
    color: #174F43 !important;
    text-decoration: none !important;
    padding: 20px 22px !important;
    min-height: 62px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    font-weight: 700 !important;
}

.pbprocessors .pbconsumer-bottom a:hover {
    background: #D1A94B !important;
    border-color: #D1A94B !important;
    color: #174F43 !important;
}

.pbprocessors .pbconsumer-bottom a + a {
    margin-top: 12px !important;
    background: transparent !important;
    border-color: rgba(255,255,255,.65) !important;
    color: #FFF8ED !important;
}

.pbprocessors .pbconsumer-bottom a + a:hover {
    background: rgba(255,255,255,.10) !important;
    color: #FFFFFF !important;
}


/* =========================================================
   PROCESSORS LEARN CTA - FINAL
   ========================================================= */

/* Restore Keep Learning section */
.pbprocessors .pbconsumer-bottom {
    background: #F7F3EA !important;
    color: #174F43 !important;
    padding: 54px 4% !important;
    border-top: 1px solid #DED8C9 !important;
}

.pbprocessors .pbconsumer-bottom h2 {
    color: #174F43 !important;
}

.pbprocessors .pbconsumer-bottom p {
    color: #3F4A45 !important;
}

.pbprocessors .pbconsumer-bottom .pbconsumer-label {
    color: #C89218 !important;
}

.pbprocessors .pbconsumer-bottom a,
.pbprocessors .pbconsumer-bottom a + a {
    background: transparent !important;
    border: 0 !important;
    color: #174F43 !important;
    padding: 12px 0 !important;
    min-height: 0 !important;
    text-decoration: none !important;
}

.pbprocessors .pbconsumer-bottom a:hover,
.pbprocessors .pbconsumer-bottom a + a:hover {
    background: transparent !important;
    color: #C89218 !important;
}


/* Processor listing CTA */
.pbprocessors .pbprocessors-message {
    background: #6B4F35 !important;
    color: #FFF8ED !important;
    padding: 54px 4% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, 1fr) !important;
    gap: 70px !important;
    align-items: center !important;
    border: 0 !important;
}

.pbprocessors .pbprocessors-message h2 {
    color: #FFF8ED !important;
    margin-top: 12px !important;
}

.pbprocessors .pbprocessors-message p {
    color: #FFF8ED !important;
}

.pbprocessors .pbprocessors-message .pbconsumer-label {
    color: #D1A94B !important;
}

.pbprocessors .pbprocessors-message-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.pbprocessors .pbprocessors-button {
    background: #F5EBDD !important;
    border: 1px solid #F5EBDD !important;
    color: #174F43 !important;
    padding: 20px 22px !important;
    min-height: 62px !important;
    display: flex !important;
    align-items: center !important;
    text-decoration: none !important;
    font-weight: 700 !important;
}

.pbprocessors .pbprocessors-button:hover {
    background: #D1A94B !important;
    border-color: #D1A94B !important;
    color: #174F43 !important;
}

.pbprocessors .pbprocessors-button-secondary {
    background: transparent !important;
    border-color: rgba(255,255,255,.65) !important;
    color: #FFF8ED !important;
}

.pbprocessors .pbprocessors-button-secondary:hover {
    background: rgba(255,255,255,.10) !important;
    border-color: #FFF8ED !important;
    color: #FFFFFF !important;
}

@media (max-width: 850px) {
    .pbprocessors .pbprocessors-message {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
        padding: 42px 24px !important;
    }
}


/* =========================================================
   RULES & REGULATIONS LEARN BOTTOM
   ========================================================= */

.pbrules .pbconsumer-message,
.pbrules .pbrules-message {
    background: #6B4F35 !important;
    color: #FFF8ED !important;
    padding: 54px 4% !important;
    border: 0 !important;
}

.pbrules .pbconsumer-message h2,
.pbrules .pbrules-message h2 {
    color: #FFF8ED !important;
    margin-top: 12px !important;
}

.pbrules .pbconsumer-message p,
.pbrules .pbrules-message p {
    color: #FFF8ED !important;
    max-width: 1100px !important;
}

.pbrules .pbconsumer-message .pbconsumer-label,
.pbrules .pbrules-message .pbconsumer-label {
    color: #D1A94B !important;
}


/* =========================================================
   RULES & REGULATIONS LEARN BOTTOM
   ========================================================= */

.pbrules .pbconsumer-message,
.pbrules .pbrules-message {
    background: #6B4F35 !important;
    color: #FFF8ED !important;
    padding: 54px 4% !important;
    border: 0 !important;
}

.pbrules .pbconsumer-message h2,
.pbrules .pbrules-message h2 {
    color: #FFF8ED !important;
    margin-top: 12px !important;
}

.pbrules .pbconsumer-message p,
.pbrules .pbrules-message p {
    color: #FFF8ED !important;
    max-width: 1100px !important;
}

.pbrules .pbconsumer-message .pbconsumer-label,
.pbrules .pbrules-message .pbconsumer-label {
    color: #D1A94B !important;
}


/* =========================================================
   RULES & REGULATIONS - VERIFY AT THE SOURCE
   ========================================================= */

.pbrules-source {
    background: #6B4F35 !important;
    color: #FFF8ED !important;
    padding: 54px 4% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, 1fr) !important;
    gap: 70px !important;
    align-items: center !important;
    border: 0 !important;
}

.pbrules-source h2 {
    color: #FFF8ED !important;
    margin-top: 12px !important;
}

.pbrules-source p {
    color: #FFF8ED !important;
}

.pbrules-source .pbconsumer-label {
    color: #D1A94B !important;
}

.pbrules-source-links {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.pbrules-source-links a {
    background: #F5EBDD !important;
    border: 1px solid #F5EBDD !important;
    color: #174F43 !important;
    padding: 17px 20px !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.pbrules-source-links a span {
    color: #6B4F35 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

.pbrules-source-links a:hover {
    background: #D1A94B !important;
    border-color: #D1A94B !important;
}

@media (max-width: 850px) {
    .pbrules-source {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
        padding: 42px 24px !important;
    }
}


/* Rules educational information notice */
.pbrules-notice {
    max-width: 1050px;
    margin-top: 28px;
    padding: 20px 24px;
    background: #F1E8D8;
    border-left: 4px solid #C89218;
    color: #34453F;
}

.pbrules-notice > :first-child {
    display: block;
    margin: 0 0 8px !important;
    color: #174F43 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
}

.pbrules-notice p {
    margin: 0 !important;
    line-height: 1.65 !important;
    color: #46534E !important;
}


/* Bolder PureFarmFresh principle icons */
.pb-home-principles svg,
.pb-principles svg,
.pb-value-icon svg {
    width: 58px !important;
    height: 58px !important;
    stroke-width: 2.8 !important;
}


/* Homepage philosophy icons - larger and bolder */
#philosophy .pillar-icon svg,
.pillars .pillar-icon svg,
.pillar .pillar-icon svg {
    width: 64px !important;
    height: 64px !important;
    stroke-width: 3.5 !important;
}

.pillar .pillar-icon {
    width: 72px !important;
    height: 72px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
}


/* =========================================================
   SUPPORT PUREFARMFRESH - IMPACT OPTIONS
   ========================================================= */

.pbsupport-impact-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-top: 34px;
}

.pbsupport-impact-card {
    background: #FAF7EF;
    border: 1px solid #D8CFBD;
    padding: 30px;
}

.pbsupport-impact-number {
    color: #C89218;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
    margin-bottom: 22px;
}

.pbsupport-impact-card h3 {
    color: #174F43;
    margin: 0 0 16px;
}

.pbsupport-impact-card p {
    color: #46534E;
    line-height: 1.65;
}

.pbsupport-impact-card-platform {
    background: #174F43;
    border-color: #174F43;
}

.pbsupport-impact-card-platform h3,
.pbsupport-impact-card-platform p {
    color: #FFF8ED;
}

.pbsupport-impact-link {
    display: inline-block;
    margin-top: 12px;
    color: #174F43;
    font-weight: 800;
    text-decoration: none;
}

.pbsupport-impact-link:hover {
    color: #C89218;
}

.pbsupport-impact-note {
    margin: 24px 0 0;
    font-size: 13px;
    color: #65706B;
}


/* Community Supporter certificate preview */

.pbsupport-certificate-preview {
    width: 240px;
    min-width: 240px;
    aspect-ratio: 1.35 / 1;
    background: #F7F0DF;
    border: 1px solid #C89218;
    padding: 9px;
}

.pbsupport-preview-inner {
    height: 100%;
    border: 2px solid #174F43;
    padding: 15px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.pbsupport-preview-brand {
    color: #174F43;
    font-family: Georgia, serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .06em;
}

.pbsupport-preview-rule {
    width: 46px;
    border-top: 2px solid #C89218;
    margin: 9px 0;
}

.pbsupport-preview-small {
    color: #A66D08;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .18em;
}

.pbsupport-preview-title {
    color: #174F43;
    font-family: Georgia, serif;
    font-size: 20px;
    font-weight: 700;
    margin-top: 2px;
}

.pbsupport-preview-cow {
    width: 40px;
    height: 40px;
    color: #174F43;
    margin: 5px 0;
}

.pbsupport-preview-cow svg {
    width: 100%;
    height: 100%;
}

.pbsupport-preview-footer {
    color: #6B4F35;
    font-size: 8px;
}

@media (max-width: 900px) {
    .pbsupport-impact-grid {
        grid-template-columns: 1fr;
    }

    .pbsupport-certificate-preview {
        width: 210px;
        min-width: 210px;
    }
}


/* =========================================================
   SUPPORT PUREFARMFRESH - THREE PATHS V2
   ========================================================= */

.pbsupport-impact-card {
    position: relative;
    padding: 34px 30px !important;
}

.pbsupport-impact-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 26px;
}

.pbsupport-impact-icon {
    width: 58px;
    height: 58px;
    color: #174F43;
}

.pbsupport-impact-icon svg {
    width: 100%;
    height: 100%;
}

.pbsupport-impact-number {
    margin: 0 !important;
    padding-top: 4px;
}

.pbsupport-impact-card h3 {
    font-family: Georgia, serif;
    font-size: 25px;
    line-height: 1.15;
    margin-bottom: 18px;
}

.pbsupport-highlight {
    margin: 22px 0;
    padding: 16px 18px;
    background: #EFE5D2;
    border-left: 4px solid #C89218;
    color: #174F43;
}

.pbsupport-highlight strong,
.pbsupport-highlight span {
    display: block;
}

.pbsupport-highlight span {
    margin-top: 4px;
}

.pbsupport-small {
    font-size: 14px;
}

.pbsupport-receipt {
    margin: 22px 0;
    padding: 15px 17px;
    background: #F1E8D8;
    border-left: 4px solid #C89218;
    color: #46534E;
    font-size: 14px;
    line-height: 1.55;
}

.pbsupport-impact-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid #D8CFBD;
}

.pbsupport-impact-card-platform .pbsupport-impact-icon {
    color: #D1A94B;
}

.pbsupport-impact-card-platform .pbsupport-impact-number {
    color: #D1A94B;
}

.pbsupport-separate {
    margin: 22px 0;
    padding: 16px 18px;
    border: 1px solid rgba(255,255,255,.35);
    color: #FFF8ED;
    font-size: 14px;
    line-height: 1.55;
}

.pbsupport-separate strong {
    display: block;
    color: #D1A94B;
    margin-bottom: 3px;
}

.pbsupport-impact-card-platform .pbsupport-coming {
    margin-top: 22px;
    text-align: center;
    padding: 17px 20px;
}

.pbsupport-impact-note {
    max-width: 1050px;
    line-height: 1.6;
}


/* =========================================================
   PUREFARMFRESH SUPPORTER CERTIFICATE FINAL LAYOUT
   ========================================================= */

.pbsupport-supporter {
    display: grid !important;
    grid-template-columns: 250px minmax(0, 1fr) !important;
    gap: 50px !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 55px 45px !important;
    box-sizing: border-box !important;
}

.pbsupport-supporter-copy {
    width: 100% !important;
    min-width: 0 !important;
}

.pbsupport-supporter-copy h2 {
    font-family: Georgia, serif !important;
    font-size: 38px !important;
    line-height: 1.08 !important;
    color: #123F36 !important;
    margin: 12px 0 20px !important;
}

/* Certificate outer frame */

.pbsupport-certificate-preview {
    display: block !important;
    position: relative !important;
    float: none !important;
    width: 100% !important;
    max-width: 820px !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 9px !important;
    box-sizing: border-box !important;
    background: #123F36 !important;
    border: 2px solid #C89218 !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.16) !important;
}

/* Certificate paper */

.pbsupport-cert-frame {
    display: block !important;
    position: relative !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    padding: 38px 48px 28px !important;
    text-align: center !important;
    background: #FFF9EC !important;
    border: 3px double #C89218 !important;
    color: #243D35 !important;
}

.pbsupport-cert-frame * {
    box-sizing: border-box !important;
    float: none !important;
}

.pbsupport-cert-frame:before {
    content: "" !important;
    position: absolute !important;
    inset: 11px !important;
    border: 1px solid rgba(200,146,24,.45) !important;
    pointer-events: none !important;
}

/* Decorative corners */

.pbsupport-cert-corner {
    position: absolute !important;
    display: block !important;
    width: auto !important;
    color: #C89218 !important;
    font-family: Georgia, serif !important;
    font-size: 25px !important;
    line-height: 1 !important;
}

.cert-tl { top: 17px !important; left: 20px !important; }
.cert-tr { top: 17px !important; right: 20px !important; left: auto !important; }
.cert-bl { bottom: 17px !important; left: 20px !important; top: auto !important; }
.cert-br { bottom: 17px !important; right: 20px !important; left: auto !important; top: auto !important; }

/* Brand */

.pbsupport-cert-brand {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
    color: #123F36 !important;
    font-family: Georgia, serif !important;
    font-size: 25px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: 2px !important;
    text-align: center !important;
}

.pbsupport-cert-brand span {
    display: block !important;
    margin: 6px 0 0 !important;
    color: #87651D !important;
    font-family: Arial, sans-serif !important;
    font-size: 7px !important;
    line-height: 1.4 !important;
    letter-spacing: 1.5px !important;
    text-align: center !important;
}

.pbsupport-cert-stars {
    display: block !important;
    margin: 10px 0 5px !important;
    color: #C89218 !important;
    font-size: 13px !important;
    text-align: center !important;
}

/* Certificate title */

.pbsupport-cert-heading {
    display: flex !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    margin: 0 !important;
    color: #123F36 !important;
    font-family: Georgia, serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 1.5px !important;
    text-align: center !important;
}

.pbsupport-cert-heading:before,
.pbsupport-cert-heading:after {
    content: "" !important;
    display: block !important;
    flex: 0 0 50px !important;
    height: 1px !important;
    background: #C89218 !important;
}

.pbsupport-cert-number {
    display: block !important;
    width: 100% !important;
    margin: 7px 0 0 !important;
    color: #746C5D !important;
    font-size: 10px !important;
    text-align: center !important;
}

.pbsupport-cert-recognizes {
    display: block !important;
    width: 100% !important;
    margin: 16px 0 0 !important;
    font-family: Georgia, serif !important;
    font-size: 13px !important;
    text-align: center !important;
}

.pbsupport-cert-name {
    display: block !important;
    width: 100% !important;
    margin: 5px 0 10px !important;
    color: #B27A0D !important;
    font-family: Georgia, serif !important;
    font-size: 34px !important;
    font-style: italic !important;
    line-height: 1.15 !important;
    text-align: center !important;
}

.pbsupport-cert-description {
    display: block !important;
    width: 100% !important;
    max-width: 620px !important;
    margin: 0 auto !important;
    color: #3E463F !important;
    font-family: Georgia, serif !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    text-align: center !important;
}

/* Contribution amount */

.pbsupport-cert-value {
    display: block !important;
    width: 350px !important;
    max-width: 75% !important;
    margin: 18px auto 6px !important;
    padding: 9px 20px !important;
    background: #123F36 !important;
    border: 2px solid #C89218 !important;
    color: #FFF8E8 !important;
    font-family: Georgia, serif !important;
    font-size: 25px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

.pbsupport-cert-type {
    display: block !important;
    width: 100% !important;
    color: #123F36 !important;
    font-family: Georgia, serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-align: center !important;
}

.pbsupport-cert-subtext {
    display: block !important;
    width: 100% !important;
    margin: 8px 0 0 !important;
    font-family: Georgia, serif !important;
    font-size: 11px !important;
    text-align: center !important;
}

.pbsupport-cert-date {
    display: block !important;
    width: 100% !important;
    margin: 5px 0 0 !important;
    color: #6D665B !important;
    font-size: 9px !important;
    text-align: center !important;
}

/* Seal + thank you */

.pbsupport-cert-bottom {
    display: flex !important;
    width: 100% !important;
    max-width: 650px !important;
    margin: 18px auto 14px !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
}

.pbsupport-cert-seal {
    display: flex !important;
    flex: 0 0 78px !important;
    width: 78px !important;
    height: 78px !important;
    padding: 4px !important;
    border-radius: 50% !important;
    background: #C89218 !important;
}

.pbsupport-cert-seal-inner {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid #FFF0C8 !important;
    border-radius: 50% !important;
    color: #FFF8E8 !important;
}

.pbsupport-cert-seal-inner strong {
    font-family: Georgia, serif !important;
    font-size: 9px !important;
    letter-spacing: .7px !important;
}

.pbsupport-cert-seal-inner small {
    font-size: 7px !important;
    letter-spacing: 1px !important;
}

.pbsupport-cert-thanks {
    display: block !important;
    width: auto !important;
    text-align: right !important;
    color: #123F36 !important;
}

.pbsupport-cert-thanks span {
    display: block !important;
    padding-bottom: 3px !important;
    border-bottom: 1px solid #C89218 !important;
    font-family: Georgia, serif !important;
    font-size: 24px !important;
    font-style: italic !important;
}

.pbsupport-cert-thanks small {
    display: block !important;
    margin-top: 4px !important;
    font-family: Georgia, serif !important;
    font-size: 7px !important;
    font-weight: 700 !important;
    letter-spacing: .8px !important;
}

/* Footer */

.pbsupport-cert-footer {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding-top: 12px !important;
    border-top: 1px solid #D7C9AA !important;
    text-align: center !important;
    font-size: 9px !important;
    line-height: 1.4 !important;
}

.pbsupport-cert-footer span {
    margin-left: 10px !important;
}

.pbsupport-cert-footer small {
    display: block !important;
    max-width: 600px !important;
    margin: 7px auto 0 !important;
    color: #766F62 !important;
    font-size: 8px !important;
    line-height: 1.4 !important;
}

/* Compact full width disclosure */

.pbsupport-impact-note {
    display: block !important;
    width: 100% !important;
    max-width: 1180px !important;
    margin: 22px auto 0 !important;
    padding: 13px 20px !important;
    box-sizing: border-box !important;
    background: #EEE7D8 !important;
    border-left: 4px solid #C89218 !important;
    color: #46534E !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

.pbsupport-impact-note strong {
    display: inline !important;
    color: #123F36 !important;
}

/* Mobile */

@media (max-width: 850px) {

    .pbsupport-supporter {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        padding: 35px 20px !important;
    }

    .pbsupport-certificate-preview {
        max-width: 100% !important;
    }

    .pbsupport-cert-frame {
        padding: 35px 25px 25px !important;
    }
}

@media (max-width: 520px) {

    .pbsupport-cert-heading {
        font-size: 16px !important;
        letter-spacing: .5px !important;
    }

    .pbsupport-cert-heading:before,
    .pbsupport-cert-heading:after {
        flex-basis: 20px !important;
    }

    .pbsupport-cert-name {
        font-size: 27px !important;
    }

    .pbsupport-cert-value {
        max-width: 90% !important;
        font-size: 21px !important;
    }

    .pbsupport-cert-seal {
        flex-basis: 62px !important;
        width: 62px !important;
        height: 62px !important;
    }

    .pbsupport-cert-thanks span {
        font-size: 19px !important;
    }
}


/* =========================================================
   COMPACT CERTIFICATE PREVIEW
   ========================================================= */

.pbsupport-supporter {
    grid-template-columns: 300px 520px !important;
    justify-content: center !important;
    gap: 55px !important;
    align-items: center !important;
    padding: 45px 35px !important;
}

.pbsupport-certificate-preview {
    width: 520px !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 6px !important;
}

.pbsupport-cert-frame {
    width: 100% !important;
    height: 335px !important;
    min-height: 335px !important;
    max-height: 335px !important;
    padding: 22px 34px 18px !important;
    overflow: hidden !important;
}

/* Scale certificate typography */

.pbsupport-cert-brand {
    font-size: 18px !important;
}

.pbsupport-cert-brand span {
    font-size: 5px !important;
    margin-top: 3px !important;
}

.pbsupport-cert-stars {
    margin: 5px 0 3px !important;
    font-size: 9px !important;
}

.pbsupport-cert-heading {
    font-size: 15px !important;
    letter-spacing: 1px !important;
}

.pbsupport-cert-heading:before,
.pbsupport-cert-heading:after {
    flex-basis: 30px !important;
}

.pbsupport-cert-number {
    margin-top: 4px !important;
    font-size: 7px !important;
}

.pbsupport-cert-recognizes {
    margin-top: 8px !important;
    font-size: 9px !important;
}

.pbsupport-cert-name {
    margin: 2px 0 5px !important;
    font-size: 23px !important;
}

.pbsupport-cert-description {
    max-width: 430px !important;
    font-size: 9px !important;
    line-height: 1.4 !important;
}

.pbsupport-cert-value {
    width: 245px !important;
    margin: 9px auto 3px !important;
    padding: 5px 12px !important;
    font-size: 17px !important;
}

.pbsupport-cert-type {
    font-size: 10px !important;
}

.pbsupport-cert-subtext {
    margin-top: 4px !important;
    font-size: 7px !important;
}

.pbsupport-cert-date {
    margin-top: 3px !important;
    font-size: 6px !important;
}

.pbsupport-cert-bottom {
    max-width: 440px !important;
    margin: 8px auto 5px !important;
}

.pbsupport-cert-seal {
    flex-basis: 46px !important;
    width: 46px !important;
    height: 46px !important;
    padding: 3px !important;
}

.pbsupport-cert-seal-inner strong {
    font-size: 5px !important;
}

.pbsupport-cert-seal-inner small {
    font-size: 4px !important;
}

.pbsupport-cert-thanks span {
    font-size: 15px !important;
}

.pbsupport-cert-thanks small {
    font-size: 5px !important;
}

.pbsupport-cert-footer {
    padding-top: 5px !important;
    font-size: 6px !important;
}

.pbsupport-cert-footer small {
    margin-top: 3px !important;
    font-size: 5px !important;
}

.pbsupport-cert-corner {
    font-size: 16px !important;
}

.cert-tl { top: 10px !important; left: 12px !important; }
.cert-tr { top: 10px !important; right: 12px !important; }
.cert-bl { bottom: 10px !important; left: 12px !important; }
.cert-br { bottom: 10px !important; right: 12px !important; }

@media (max-width: 900px) {

    .pbsupport-supporter {
        grid-template-columns: 1fr !important;
        max-width: 600px !important;
    }

    .pbsupport-certificate-preview {
        width: 520px !important;
        margin: 0 auto !important;
    }
}


/* =========================================================
   PUREFARMFRESH IMPACT CERTIFICATE
   ========================================================= */

.pbimpact-section {
    max-width: 1180px;
    margin: 0 auto;
    padding: 55px 45px 65px;
    box-sizing: border-box;
}

.pbimpact-intro {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 70px;
    align-items: end;
    margin-bottom: 30px;
}

.pbimpact-intro h2 {
    margin: 9px 0 0;
    color: #123F36;
    font-family: Georgia, serif;
    font-size: 38px;
    line-height: 1.08;
}

.pbimpact-intro p {
    max-width: 570px;
    margin: 0;
    color: #46534E;
    font-size: 15px;
    line-height: 1.7;
}

/* Landscape certificate */

.pbimpact-certificate {
    width: 760px;
    max-width: 100%;
    margin: 0 auto;
    padding: 8px;
    box-sizing: border-box;
    background: #123F36;
    border: 2px solid #B98416;
    box-shadow: 0 14px 35px rgba(18,63,54,.18);
}

.pbimpact-border {
    position: relative;
    min-height: 455px;
    padding: 34px 55px 26px;
    box-sizing: border-box;
    overflow: hidden;
    text-align: center;
    color: #283B35;
    background:
        radial-gradient(circle at center, rgba(200,146,24,.08), transparent 52%),
        #FFF9EC;
    border: 3px double #C89218;
}

.pbimpact-border:before {
    content: "";
    position: absolute;
    inset: 10px;
    border: 1px solid rgba(200,146,24,.5);
    pointer-events: none;
}

.pbimpact-corner {
    position: absolute;
    color: #C89218;
    font-size: 14px;
}

.pbimpact-tl { top: 17px; left: 19px; }
.pbimpact-tr { top: 17px; right: 19px; }
.pbimpact-bl { bottom: 17px; left: 19px; }
.pbimpact-br { bottom: 17px; right: 19px; }

.pbimpact-brand {
    color: #123F36;
    font-family: Georgia, serif;
    font-size: 27px;
    font-weight: 700;
    letter-spacing: 3px;
}

.pbimpact-brand span {
    display: block;
    margin-top: 4px;
    color: #7B5A18;
    font-family: Arial, sans-serif;
    font-size: 7px;
    letter-spacing: 1.8px;
}

.pbimpact-powered {
    margin-top: 4px;
    color: #6C6A5E;
    font-size: 7px;
}

.pbimpact-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    max-width: 310px;
    margin: 10px auto 7px;
    color: #C89218;
}

.pbimpact-divider span {
    height: 1px;
    flex: 1;
    background: #C89218;
}

.pbimpact-divider b {
    font-size: 8px;
}

.pbimpact-title {
    color: #123F36;
    font-family: Georgia, serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 2.5px;
}

.pbimpact-number {
    margin-top: 4px;
    color: #746C5D;
    font-size: 9px;
    letter-spacing: .6px;
}

.pbimpact-recognizes {
    margin-top: 12px;
    font-family: Georgia, serif;
    font-size: 11px;
}

.pbimpact-name {
    margin-top: 2px;
    color: #B27A0D;
    font-family: Georgia, serif;
    font-size: 34px;
    font-style: italic;
    line-height: 1.15;
}

.pbimpact-story {
    max-width: 580px;
    margin: 7px auto 0;
    font-family: Georgia, serif;
    font-size: 12px;
    line-height: 1.5;
}

.pbimpact-amount {
    width: 300px;
    max-width: 75%;
    margin: 14px auto 4px;
    padding: 7px 15px;
    box-sizing: border-box;
    background: #123F36;
    border: 2px solid #C89218;
    color: #FFF8E8;
    font-family: Georgia, serif;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 1px;
}

.pbimpact-type {
    color: #123F36;
    font-family: Georgia, serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .8px;
}

.pbimpact-detail {
    margin-top: 6px;
    font-family: Georgia, serif;
    font-size: 9px;
}

.pbimpact-date {
    margin-top: 4px;
    color: #6C665A;
    font-size: 8px;
}

.pbimpact-bottom {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    max-width: 600px;
    margin: 13px auto 8px;
}

.pbimpact-seal {
    display: flex;
    width: 58px;
    height: 58px;
    padding: 4px;
    box-sizing: border-box;
    border-radius: 50%;
    background: #C89218;
    box-shadow: 0 3px 7px rgba(0,0,0,.15);
}

.pbimpact-seal > div {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid #FFF1C8;
    border-radius: 50%;
    color: #FFF8E8;
}

.pbimpact-seal span {
    font-size: 7px;
}

.pbimpact-seal strong {
    font-family: Georgia, serif;
    font-size: 7px;
    letter-spacing: .5px;
}

.pbimpact-seal small {
    font-size: 5px;
    letter-spacing: 1px;
}

.pbimpact-thanks {
    color: #123F36;
    text-align: right;
}

.pbimpact-thanks span {
    display: block;
    padding-bottom: 2px;
    border-bottom: 1px solid #C89218;
    font-family: Georgia, serif;
    font-size: 21px;
    font-style: italic;
}

.pbimpact-thanks small {
    display: block;
    margin-top: 3px;
    font-family: Georgia, serif;
    font-size: 6px;
    font-weight: 700;
    letter-spacing: 1px;
}

.pbimpact-footer {
    padding-top: 8px;
    border-top: 1px solid #D7C9AA;
    font-size: 7px;
}

.pbimpact-footer strong {
    color: #123F36;
}

.pbimpact-footer > span {
    margin-left: 10px;
}

.pbimpact-footer small {
    display: block;
    max-width: 570px;
    margin: 5px auto 0;
    color: #746F64;
    font-size: 6px;
    line-height: 1.4;
}

@media (max-width: 750px) {

    .pbimpact-section {
        padding: 40px 20px;
    }

    .pbimpact-intro {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .pbimpact-border {
        min-height: 0;
        padding: 30px 25px 24px;
    }

    .pbimpact-title {
        font-size: 18px;
    }

    .pbimpact-name {
        font-size: 28px;
    }
}


/* =========================================================
   SUPPORT PAGE - SAMPLE IMPACT CERTIFICATE
   ========================================================= */

.pbsupport-impact-preview {
    width: 100%;
    max-width: 1180px;
    margin: 48px auto;
    padding: 0 24px;
    box-sizing: border-box;
    text-align: center;
}

.pbsupport-preview-label {
    display: inline-block;
    margin-bottom: 14px;
    padding: 7px 14px;
    border-radius: 999px;
    background: #173f30;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
}

.pbsupport-real-certificate {
    box-sizing: border-box;
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
    padding: 52px 60px 44px;
    border: 2px solid #6f8f62;
    border-radius: 16px;
    background: #fff;
    color: #24372e;
    text-align: center;
    box-shadow: 0 8px 28px rgba(25,55,40,.08);
}

.pbsupport-cert-logo {
    display: block;
    width: auto;
    max-width: 210px;
    max-height: 100px;
    margin: 0 auto 26px;
}

.pbsupport-cert-goldline {
    width: 54px;
    height: 3px;
    margin: 0 auto 24px;
    background: #c8a45a;
}

.pbsupport-real-certificate h2 {
    margin: 0 0 8px;
    color: #173f30;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 32px;
    line-height: 1.2;
}

.pbsupport-cert-id {
    margin-bottom: 34px;
    color: #748078;
    font-size: 13px;
    letter-spacing: .08em;
}

.pbsupport-cert-recognizes {
    margin-bottom: 8px;
    color: #6b746f;
    font-size: 13px;
    letter-spacing: .10em;
}

.pbsupport-real-certificate h3 {
    margin: 0 0 30px;
    color: #173f30;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
}

.pbsupport-cert-story {
    max-width: 650px;
    margin: 0 auto 28px;
    color: #3d4d45;
    font-size: 17px;
    line-height: 1.75;
}

.pbsupport-cert-amount {
    max-width: 430px;
    margin: 0 auto 28px;
    padding: 24px 20px;
    border-radius: 12px;
    background: #f7f4e9;
}

.pbsupport-cert-amount strong {
    display: block;
    color: #173f30;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 38px;
}

.pbsupport-cert-amount span {
    display: block;
    margin-top: 8px;
    color: #8a6b2d;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
}

.pbsupport-cert-note {
    margin: 0 0 18px;
}

.pbsupport-cert-date {
    color: #78817c;
    font-size: 13px;
}

.pbsupport-cert-divider {
    margin: 34px 0 26px;
    border-top: 1px solid #d9dfda;
}

.pbsupport-cert-brand {
    line-height: 1.6;
}

.pbsupport-cert-brand span {
    color: #6f7873;
    font-size: 13px;
}

.pbsupport-cert-disclaimer {
    max-width: 620px;
    margin: 18px auto 0;
    color: #858c88;
    font-size: 11px;
    line-height: 1.6;
}

.pbsupport-preview-explain {
    max-width: 760px;
    margin: 20px auto 0;
    color: #59665f;
    font-size: 14px;
    line-height: 1.7;
}

@media (max-width: 700px) {
    .pbsupport-real-certificate {
        padding: 38px 22px 34px;
    }

    .pbsupport-real-certificate h2 {
        font-size: 27px;
    }

    .pbsupport-real-certificate h3 {
        font-size: 26px;
    }

    .pbsupport-cert-amount strong {
        font-size: 32px;
    }
}


/* =========================================================
   SUPPORT PAGE IMPACT CERTIFICATE - FINAL WIDTH FIX
   ========================================================= */

.pbsupport-impact-preview {
    display: block !important;
    width: 100% !important;
    max-width: 1180px !important;
    margin: 50px auto !important;
    padding: 0 30px !important;
    box-sizing: border-box !important;
    float: none !important;
    clear: both !important;
    grid-column: 1 / -1 !important;
}

.pbsupport-impact-preview > * {
    float: none !important;
}

.pbsupport-real-certificate {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 820px !important;
    margin: 0 auto !important;
    padding: 52px 60px 44px !important;
    box-sizing: border-box !important;
    float: none !important;
    flex: none !important;
    grid-column: 1 / -1 !important;
}

.pbsupport-real-certificate h2,
.pbsupport-real-certificate h3,
.pbsupport-real-certificate p,
.pbsupport-real-certificate div {
    max-width: none;
}

.pbsupport-cert-story {
    max-width: 650px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.pbsupport-cert-amount {
    width: auto !important;
    max-width: 430px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.pbsupport-cert-disclaimer {
    max-width: 620px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (max-width: 700px) {

    .pbsupport-impact-preview {
        padding: 0 15px !important;
    }

    .pbsupport-real-certificate {
        width: 100% !important;
        padding: 38px 22px 34px !important;
    }
}


/* =========================================================
   SUPPORT PAGE - COMPACT IMPACT CERTIFICATE ROW
   ========================================================= */

.pbsupport-impact-preview {
    width: 100% !important;
    max-width: 1050px !important;
    margin: 45px auto !important;
    padding: 0 25px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 480px) minmax(260px, 1fr) !important;
    gap: 55px !important;
    align-items: center !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

/* Sample badge sits above certificate */
.pbsupport-preview-label {
    grid-column: 1 !important;
    justify-self: center !important;
    margin: 0 0 -35px !important;
    position: relative !important;
    z-index: 3 !important;
}

/* Certificate */
.pbsupport-real-certificate {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 480px !important;
    margin: 0 !important;
    padding: 30px 34px 28px !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

/* Scale certificate typography */
.pbsupport-real-certificate h2 {
    font-size: 23px !important;
    margin-bottom: 5px !important;
}

.pbsupport-real-certificate h3 {
    font-size: 23px !important;
    margin-bottom: 18px !important;
}

.pbsupport-cert-goldline {
    width: 42px !important;
    margin-bottom: 15px !important;
}

.pbsupport-cert-id {
    font-size: 10px !important;
    margin-bottom: 20px !important;
}

.pbsupport-cert-recognizes {
    font-size: 9px !important;
    margin-bottom: 5px !important;
}

.pbsupport-cert-story {
    font-size: 13px !important;
    line-height: 1.55 !important;
    margin-bottom: 18px !important;
}

.pbsupport-cert-amount {
    max-width: 290px !important;
    padding: 15px 14px !important;
    margin-bottom: 17px !important;
}

.pbsupport-cert-amount strong {
    font-size: 27px !important;
}

.pbsupport-cert-amount span {
    font-size: 9px !important;
    margin-top: 5px !important;
}

.pbsupport-cert-note {
    font-size: 11px !important;
    margin-bottom: 10px !important;
}

.pbsupport-cert-date {
    font-size: 9px !important;
}

.pbsupport-cert-divider {
    margin: 20px 0 15px !important;
}

.pbsupport-cert-brand {
    margin: 0 0 10px !important;
    font-size: 12px !important;
}

.pbsupport-cert-brand span {
    font-size: 10px !important;
}

.pbsupport-cert-disclaimer {
    font-size: 8px !important;
    line-height: 1.45 !important;
    margin-top: 10px !important;
}

/* Right-side explanation */
.pbsupport-preview-explain {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    max-width: 400px !important;
    margin: 0 !important;
    color: #3d4d45 !important;
    font-size: 17px !important;
    line-height: 1.7 !important;
    text-align: left !important;
}

.pbsupport-preview-explain::before {
    content: "YOUR IMPACT MATTERS";
    display: block;
    margin-bottom: 12px;
    color: #b4862c;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .14em;
}

.pbsupport-preview-explain::after {
    content: "Whether support comes from a producer after a sale, a contribution through PureFarmFresh, or a verified donation made directly to a rescue, every contribution counts.";
    display: block;
    margin-top: 16px;
    color: #173f30;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    line-height: 1.45;
    font-weight: 600;
}

/* Mobile */
@media (max-width: 800px) {

    .pbsupport-impact-preview {
        display: block !important;
        max-width: 540px !important;
        padding: 0 18px !important;
    }

    .pbsupport-preview-label {
        display: table !important;
        margin: 0 auto 12px !important;
    }

    .pbsupport-real-certificate {
        max-width: 480px !important;
        margin: 0 auto !important;
    }

    .pbsupport-preview-explain {
        max-width: 480px !important;
        margin: 28px auto 0 !important;
        text-align: center !important;
    }
}


/* =========================================================
   SUPPORT PAGE - OUR COMMITMENT FULL WIDTH ROW
   ========================================================= */

/* Close out any inherited narrow/grid behaviour */
.pbsupport-close {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 50px !important;
    align-items: center !important;

    width: calc(100% - 48px) !important;
    max-width: 1180px !important;
    min-width: 0 !important;

    margin: 45px auto 60px !important;
    padding: 48px 52px !important;

    box-sizing: border-box !important;
    float: none !important;
    clear: both !important;
    position: relative !important;

    background: #173f30 !important;
    border-radius: 14px !important;
    overflow: hidden !important;

    color: #fff !important;
}

/* Make every text wrapper use the available width */
.pbsupport-close > div,
.pbsupport-close-copy {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Kicker */
.pbsupport-close .pbsupport-kicker,
.pbsupport-close .pbconsumer-label {
    margin: 0 0 12px !important;
    color: #d39a28 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: .14em !important;
}

/* Main heading */
.pbsupport-close h2 {
    width: 100% !important;
    max-width: 850px !important;
    margin: 0 0 12px !important;

    color: #fff !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(30px, 3.3vw, 46px) !important;
    line-height: 1.12 !important;
    font-weight: 600 !important;

    white-space: normal !important;
    overflow: visible !important;
    word-break: normal !important;
}

/* Supporting text */
.pbsupport-close p {
    max-width: 800px !important;
    margin: 0 !important;
    color: rgba(255,255,255,.86) !important;
    font-size: 17px !important;
    line-height: 1.6 !important;
}

/* Any button/action area goes on the right */
.pbsupport-close-actions {
    width: auto !important;
    min-width: max-content !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-self: end !important;
}

/* Buttons inside commitment row */
.pbsupport-close a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 12px 25px !important;
    border: 1px solid rgba(255,255,255,.85) !important;
    border-radius: 999px !important;
    color: #fff !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

/* Mobile */
@media (max-width: 800px) {

    .pbsupport-close {
        display: block !important;
        width: calc(100% - 30px) !important;
        margin: 35px auto 45px !important;
        padding: 36px 28px !important;
    }

    .pbsupport-close h2 {
        font-size: 31px !important;
    }

    .pbsupport-close-actions {
        margin-top: 24px !important;
    }
}


/* =========================================================
   SUPPORT PAGE - OUR COMMITMENT FULL WIDTH ROW
   ========================================================= */

/* Close out any inherited narrow/grid behaviour */
.pbsupport-close {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 50px !important;
    align-items: center !important;

    width: calc(100% - 48px) !important;
    max-width: 1180px !important;
    min-width: 0 !important;

    margin: 45px auto 60px !important;
    padding: 48px 52px !important;

    box-sizing: border-box !important;
    float: none !important;
    clear: both !important;
    position: relative !important;

    background: #173f30 !important;
    border-radius: 14px !important;
    overflow: hidden !important;

    color: #fff !important;
}

/* Make every text wrapper use the available width */
.pbsupport-close > div,
.pbsupport-close-copy {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Kicker */
.pbsupport-close .pbsupport-kicker,
.pbsupport-close .pbconsumer-label {
    margin: 0 0 12px !important;
    color: #d39a28 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: .14em !important;
}

/* Main heading */
.pbsupport-close h2 {
    width: 100% !important;
    max-width: 850px !important;
    margin: 0 0 12px !important;

    color: #fff !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(30px, 3.3vw, 46px) !important;
    line-height: 1.12 !important;
    font-weight: 600 !important;

    white-space: normal !important;
    overflow: visible !important;
    word-break: normal !important;
}

/* Supporting text */
.pbsupport-close p {
    max-width: 800px !important;
    margin: 0 !important;
    color: rgba(255,255,255,.86) !important;
    font-size: 17px !important;
    line-height: 1.6 !important;
}

/* Any button/action area goes on the right */
.pbsupport-close-actions {
    width: auto !important;
    min-width: max-content !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-self: end !important;
}

/* Buttons inside commitment row */
.pbsupport-close a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 12px 25px !important;
    border: 1px solid rgba(255,255,255,.85) !important;
    border-radius: 999px !important;
    color: #fff !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

/* Mobile */
@media (max-width: 800px) {

    .pbsupport-close {
        display: block !important;
        width: calc(100% - 30px) !important;
        margin: 35px auto 45px !important;
        padding: 36px 28px !important;
    }

    .pbsupport-close h2 {
        font-size: 31px !important;
    }

    .pbsupport-close-actions {
        margin-top: 24px !important;
    }
}

/* =========================================================
   SUPPORT PAGE - OUR COMMITMENT FULL WIDTH ROW (corrected)
   ========================================================= */
.pbsupport-close {
    display: block !important;
    width: calc(100% - 48px) !important;
    max-width: 1180px !important;
    min-width: 0 !important;
    margin: 45px auto 60px !important;
    padding: 48px 52px !important;
    box-sizing: border-box !important;
    float: none !important;
    clear: both !important;
    position: relative !important;
    background: #173f30 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    color: #fff !important;
}
.pbsupport-close .pbsupport-inner {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
.pbsupport-close .pbsupport-kicker {
    margin: 0 0 12px !important;
    color: #d39a28 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: .14em !important;
}
.pbsupport-close h2 {
    width: 100% !important;
    max-width: 850px !important;
    margin: 0 0 12px !important;
    color: #fff !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(30px, 3.3vw, 46px) !important;
    line-height: 1.12 !important;
    font-weight: 600 !important;
    white-space: normal !important;
    overflow: visible !important;
    word-break: normal !important;
}
.pbsupport-close p {
    max-width: 800px !important;
    margin: 0 !important;
    color: rgba(255,255,255,.86) !important;
    font-size: 17px !important;
    line-height: 1.6 !important;
}
@media (max-width: 800px) {
    .pbsupport-close {
        width: calc(100% - 30px) !important;
        margin: 35px auto 45px !important;
        padding: 36px 28px !important;
    }
    .pbsupport-close h2 {
        font-size: 31px !important;
    }
}

/* Fix: .pbsupport-close is nested inside the 2-column
   .pbsupport-certificate-box grid; force it to span full row */
.pbsupport-certificate-box .pbsupport-close {
    grid-column: 1 / -1 !important;
}

/* Fix: pbconsumer-bottom - full width + brown so it doesn't
   blend into the green footer below it */
.pbconsumer-bottom {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    background: #6B4423 !important;
    box-sizing: border-box !important;
}

/* =========================================================
   RESCUE CLOSING LEARN CTA - split into two shorter boxes
   ========================================================= */
body.page-id-1084 .pbconsumer-bottom {
    display: grid !important;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr) !important;
    gap: 28px !important;
    align-items: stretch !important;
}

body.page-id-1084 .pbconsumer-bottom > div:first-child {
    max-width: none !important;
    background: rgba(255,255,255,.08) !important;
    border-radius: 14px !important;
    padding: 36px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

body.page-id-1084 .pbrescues-bottom-links {
    min-width: 0 !important;
    background: rgba(255,255,255,.08) !important;
    border-radius: 14px !important;
    padding: 30px !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 18px 24px !important;
    align-content: center !important;
}

body.page-id-1084 .pbrescues-bottom-links a {
    margin: 0 !important;
}

@media (max-width: 800px) {
    body.page-id-1084 .pbconsumer-bottom {
        grid-template-columns: 1fr !important;
    }
    body.page-id-1084 .pbrescues-bottom-links {
        grid-template-columns: 1fr 1fr !important;
    }
}

/* =========================================================
   ANIMAL RESCUES PAGE - style contributions + help sections
   as two distinct side-by-side cards instead of plain text
   ========================================================= */
body.page-id-1084 .pbrescues-two-col {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
    width: min(1180px, 90%) !important;
    margin: 50px auto !important;
    align-items: stretch !important;
}

body.page-id-1084 .pbrescues-contributions,
body.page-id-1084 .pbrescues-help {
    background: #F7F4EA !important;
    border: 1px solid #D6C9A6 !important;
    border-radius: 14px !important;
    padding: 40px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
}

body.page-id-1084 .pbrescues-contributions .pbconsumer-label,
body.page-id-1084 .pbrescues-help .pbconsumer-label {
    color: #B4862C !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    margin-bottom: 10px !important;
}

body.page-id-1084 .pbrescues-contributions h2,
body.page-id-1084 .pbrescues-help h2 {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 26px !important;
    line-height: 1.2 !important;
    margin: 0 0 16px !important;
    color: #17372D !important;
}

body.page-id-1084 .pbrescues-contributions p,
body.page-id-1084 .pbrescues-help p {
    font-size: 15px !important;
    line-height: 1.6 !important;
    margin: 0 0 14px !important;
    color: #3D4D45 !important;
}

body.page-id-1084 .pbrescues-help {
    justify-content: space-between !important;
}

body.page-id-1084 .pbrescues-button {
    align-self: flex-start !important;
    margin-top: 20px !important;
}

@media (max-width: 900px) {
    body.page-id-1084 .pbrescues-two-col {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   ANIMAL RESCUES PAGE - side-by-side compressed cards
   ========================================================= */
body.page-id-1084 .pbrescues-two-col {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
    width: min(1180px, 90%) !important;
    margin: 45px auto !important;
    align-items: stretch !important;
}

body.page-id-1084 .pbrescues-contributions,
body.page-id-1084 .pbrescues-help {
    background: #F7F4EA !important;
    border: 1px solid #D6C9A6 !important;
    border-radius: 14px !important;
    padding: 28px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
}

body.page-id-1084 .pbrescues-contributions .pbconsumer-label,
body.page-id-1084 .pbrescues-help .pbconsumer-label {
    color: #B4862C !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    margin-bottom: 8px !important;
}

body.page-id-1084 .pbrescues-contributions h2,
body.page-id-1084 .pbrescues-help h2 {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 21px !important;
    line-height: 1.2 !important;
    margin: 0 0 12px !important;
    color: #17372D !important;
}

body.page-id-1084 .pbrescues-contributions p,
body.page-id-1084 .pbrescues-help p {
    font-size: 13.5px !important;
    line-height: 1.5 !important;
    margin: 0 0 10px !important;
    color: #3D4D45 !important;
}

body.page-id-1084 .pbrescues-help {
    justify-content: space-between !important;
}

body.page-id-1084 .pbrescues-button {
    align-self: flex-start !important;
    margin-top: 14px !important;
}

@media (max-width: 900px) {
    body.page-id-1084 .pbrescues-two-col {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   ANIMAL RESCUES PAGE - align tweak + quote block styling
   ========================================================= */
body.page-id-1084 .pbrescues-two-col {
    align-items: start !important;
}

body.page-id-1084 .pbrescues-truth-quote {
    background: #F7F4EA !important;
    border-left: 4px solid #B4862C !important;
    border-radius: 8px !important;
    padding: 20px 26px !important;
    margin: 30px auto !important;
    width: min(1180px, 90%) !important;
    box-sizing: border-box !important;
}

body.page-id-1084 .pbrescues-truth-quote strong,
body.page-id-1084 .pbrescues-truth-quote span {
    display: block !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #17372D !important;
}

/* PureFarmFresh homepage mission */
.pb-home-mission {
    padding: 70px 24px;
    background: #f6f1e7;
}

.pb-home-mission-inner {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.pb-home-mission h2 {
    margin: 12px 0 22px;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.08;
}

.pb-home-mission-lead {
    max-width: 820px;
    margin: 0 auto 18px;
    font-size: 21px;
    line-height: 1.6;
    font-weight: 600;
}

.pb-home-mission-inner > p:not(.pb-home-mission-lead) {
    max-width: 780px;
    margin: 0 auto;
    font-size: 17px;
    line-height: 1.7;
}

.pb-home-mission-tagline {
    margin-top: 30px;
    padding-top: 25px;
    border-top: 1px solid rgba(0,0,0,.12);
    font-family: Georgia, serif;
    font-size: 21px;
    font-weight: 700;
}

@media (max-width: 700px) {
    .pb-home-mission {
        padding: 50px 20px;
    }

    .pb-home-mission-lead {
        font-size: 19px;
    }

    .pb-home-mission-tagline {
        font-size: 18px;
    }
}


/* =========================================================
   PUREFARMFRESH FAST BUILD
   ========================================================= */

.pff-fast-hero {
    min-height: 650px;
    display: flex;
    align-items: center;
    background-position: center;
    background-size: cover;
}

.pff-fast-hero-copy {
    max-width: 720px;
    padding: 110px 0;
    color: #fff;
}

.pff-fast-hero .eyebrow {
    color: #d6b36a;
    margin-bottom: 20px;
}

.pff-fast-hero h1 {
    max-width: 680px;
    margin: 0 0 24px;
    color: #fff;
    font-family: Georgia, serif;
    font-size: clamp(48px, 6vw, 82px);
    line-height: .98;
    font-weight: 400;
}

.pff-fast-hero p {
    max-width: 620px;
    margin: 0;
    color: rgba(255,255,255,.92);
    font-size: 20px;
    line-height: 1.7;
}

.pff-fast-actions {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-top: 36px;
}

.pff-fast-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 28px;
    background: #2f6547;
    color: #fff !important;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.pff-fast-text-link {
    color: #fff !important;
    text-decoration: none;
    font-weight: 700;
}

.pff-fast-intro,
.pff-fast-explore,
.pff-fast-care,
.pff-fast-final {
    padding: 90px 0;
}

.pff-fast-intro {
    background: #f7f3e9;
}

.pff-fast-intro-grid,
.pff-fast-care-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 80px;
}

.pff-fast-intro h2,
.pff-fast-explore h2,
.pff-fast-feature h2,
.pff-fast-care h2,
.pff-fast-final h2 {
    margin: 10px 0 0;
    color: #173d2b;
    font-family: Georgia, serif;
    font-weight: 400;
    line-height: 1.08;
    font-size: clamp(36px, 4vw, 58px);
}

.pff-fast-intro-copy {
    font-size: 18px;
    line-height: 1.8;
    color: #35463c;
}

.pff-fast-explore {
    background: #fdfcf8;
}

.pff-fast-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 45px;
}

.pff-fast-section-heading a {
    color: #2f6547;
    font-weight: 700;
    text-decoration: none;
}

.pff-fast-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    border-top: 1px solid rgba(23,61,43,.15);
    border-left: 1px solid rgba(23,61,43,.15);
}

.pff-fast-card {
    position: relative;
    min-height: 330px;
    padding: 36px;
    border-right: 1px solid rgba(23,61,43,.15);
    border-bottom: 1px solid rgba(23,61,43,.15);
    color: #35463c;
    text-decoration: none;
    background: #fff;
    transition: transform .2s ease, background .2s ease;
}

.pff-fast-card:hover {
    background: #f7f3e9;
    transform: translateY(-3px);
}

.pff-fast-number {
    color: #b78942;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
}

.pff-fast-word {
    margin-top: 45px;
    color: #2f6547;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
}

.pff-fast-card h3 {
    margin: 10px 0 15px;
    color: #173d2b;
    font-family: Georgia, serif;
    font-size: 29px;
    font-weight: 400;
}

.pff-fast-card p {
    margin: 0 0 28px;
    line-height: 1.7;
}

.pff-fast-card span {
    position: absolute;
    left: 36px;
    bottom: 32px;
    color: #2f6547;
    font-weight: 700;
}

.pff-fast-feature {
    padding: 100px 0;
    background: #173d2b;
    color: #fff;
}

.pff-fast-feature-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 100px;
    align-items: center;
}

.pff-fast-feature .directory-label,
.pff-fast-feature h2 {
    color: #fff;
}

.pff-fast-feature p {
    max-width: 650px;
    color: rgba(255,255,255,.82);
    font-size: 18px;
    line-height: 1.8;
}

.pff-fast-feature blockquote {
    margin: 0;
    padding-left: 40px;
    border-left: 1px solid rgba(255,255,255,.3);
    font-family: Georgia, serif;
    font-size: 38px;
    line-height: 1.25;
}

.pff-fast-button-light {
    margin-top: 20px;
    background: #f7f3e9;
    color: #173d2b !important;
}

.pff-fast-care {
    background: #eef3eb;
}

.pff-fast-care p {
    max-width: 720px;
    font-size: 18px;
    line-height: 1.8;
}

.pff-fast-care a {
    color: #2f6547;
    font-weight: 700;
    text-decoration: none;
}

.pff-fast-final {
    text-align: center;
    background: #f7f3e9;
}

.pff-fast-final p {
    margin: 22px auto 30px;
    max-width: 650px;
    font-size: 18px;
    line-height: 1.7;
}

@media (max-width: 900px) {

    .pff-fast-hero {
        min-height: 560px;
    }

    .pff-fast-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .pff-fast-intro-grid,
    .pff-fast-care-grid,
    .pff-fast-feature-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

}

@media (max-width: 620px) {

    .pff-fast-hero-copy {
        padding: 75px 0;
    }

    .pff-fast-grid {
        grid-template-columns: 1fr;
    }

    .pff-fast-actions,
    .pff-fast-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .pff-fast-intro,
    .pff-fast-explore,
    .pff-fast-care,
    .pff-fast-final {
        padding: 65px 0;
    }

}


/* =========================================================
   PUREFARMFRESH NAVIGATION
   ========================================================= */

.site-header {
    position: relative;
    z-index: 1000;
    background: #fff;
    border-bottom: 1px solid rgba(23,61,43,.12);
}

.header-inner {
    width: min(1420px, calc(100% - 60px));
    min-height: 88px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
}

.site-logo {
    flex: 0 0 auto;
    color: #173d2b;
    text-decoration: none;
}

.site-logo-main {
    display: block;
    font-family: Georgia, serif;
    font-size: 23px;
    line-height: 1;
    letter-spacing: .035em;
}

.site-logo-sub {
    display: block;
    margin-top: 5px;
    color: #b78942;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .28em;
}

.main-navigation {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(14px, 1.6vw, 28px);
}

.main-navigation a {
    color: #173d2b;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

.main-navigation a:hover {
    color: #a9752f;
}

.main-navigation .nav-learn {
    padding: 11px 17px;
    border: 1px solid rgba(23,61,43,.28);
}

.mobile-menu-toggle {
    display: none;
    width: 42px;
    height: 42px;
    padding: 9px;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.mobile-menu-toggle > span:not(.screen-reader-text) {
    display: block;
    height: 2px;
    margin: 5px 0;
    background: #173d2b;
}

@media (max-width: 1120px) {

    .mobile-menu-toggle {
        display: block;
    }

    .main-navigation {
        display: none;
        position: absolute;
        top: 88px;
        left: 0;
        right: 0;
        padding: 25px 30px 30px;
        background: #fff;
        border-top: 1px solid rgba(23,61,43,.12);
        box-shadow: 0 12px 25px rgba(0,0,0,.08);
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
    }

    .main-navigation.is-open {
        display: flex;
    }

    .main-navigation a {
        width: 100%;
        padding: 13px 0;
        border-bottom: 1px solid rgba(23,61,43,.09);
    }

    .main-navigation .nav-learn {
        margin-top: 12px;
        width: auto;
        padding: 11px 17px;
        border: 1px solid rgba(23,61,43,.28);
    }

}

@media (max-width: 600px) {

    .header-inner {
        width: calc(100% - 34px);
        min-height: 76px;
    }

    .main-navigation {
        top: 76px;
    }

}


/* =========================================================
   PUREFARMFRESH FOOTER
   ========================================================= */

.pff-footer {
    padding: 80px 0 25px;
    background: #173d2b;
    color: rgba(255,255,255,.78);
}

.pff-footer-top {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 65px;
}

.pff-footer-brand a {
    text-decoration: none;
}

.pff-footer-logo {
    display: block;
    color: #fff;
    font-family: Georgia, serif;
    font-size: 25px;
    letter-spacing: .03em;
}

.pff-footer-alberta {
    display: block;
    margin-top: 6px;
    color: #d6b36a;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .3em;
}

.pff-footer-brand p {
    max-width: 430px;
    margin: 24px 0;
    line-height: 1.75;
}

.pff-footer-brand strong {
    color: #fff;
    font-family: Georgia, serif;
    font-size: 19px;
    font-weight: 400;
}

.pff-footer-heading {
    margin-bottom: 18px;
    color: #d6b36a;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .13em;
}

.pff-footer-column a {
    display: block;
    margin: 0 0 12px;
    color: rgba(255,255,255,.82);
    text-decoration: none;
}

.pff-footer-column a:hover {
    color: #fff;
}

.pff-footer-small {
    font-size: 13px;
}

.pff-footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    margin-top: 65px;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,.15);
    font-size: 12px;
}


/* =========================================================
   PUREFARMFRESH LEARN
   ========================================================= */

.pff-learn-hero {
    padding: 120px 0;
    background: #173d2b;
    color: #fff;
}

.pff-learn-hero .eyebrow {
    color: #d6b36a;
}

.pff-learn-hero h1 {
    max-width: 800px;
    margin: 15px 0 25px;
    color: #fff;
    font-family: Georgia, serif;
    font-size: clamp(48px, 6vw, 78px);
    line-height: 1;
    font-weight: 400;
}

.pff-learn-hero p {
    max-width: 700px;
    margin: 0;
    color: rgba(255,255,255,.85);
    font-size: 19px;
    line-height: 1.75;
}

.pff-learn-grid-section {
    padding: 95px 0;
    background: #fdfcf8;
}

.pff-learn-grid-section > .directory-container > h2 {
    margin: 12px 0 45px;
    color: #173d2b;
    font-family: Georgia, serif;
    font-size: clamp(36px,4vw,56px);
    font-weight: 400;
}

.pff-learn-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    border-top: 1px solid rgba(23,61,43,.14);
    border-left: 1px solid rgba(23,61,43,.14);
}

.pff-learn-grid > a {
    min-height: 270px;
    padding: 34px;
    border-right: 1px solid rgba(23,61,43,.14);
    border-bottom: 1px solid rgba(23,61,43,.14);
    color: #35463c;
    text-decoration: none;
}

.pff-learn-grid > a:hover {
    background: #f7f3e9;
}

.pff-learn-grid span {
    color: #b78942;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
}

.pff-learn-grid h3 {
    margin: 35px 0 12px;
    color: #173d2b;
    font-family: Georgia, serif;
    font-size: 27px;
    font-weight: 400;
}

.pff-learn-grid p {
    line-height: 1.7;
}

.pff-learn-principle {
    padding: 95px 0;
    text-align: center;
    background: #eef3eb;
}

.pff-learn-principle h2 {
    margin: 12px 0 20px;
    color: #173d2b;
    font-family: Georgia, serif;
    font-size: clamp(38px,4vw,58px);
    font-weight: 400;
}

.pff-learn-principle p {
    max-width: 700px;
    margin: auto;
    font-size: 18px;
    line-height: 1.8;
}


/* Empty directories should still look intentional */

.directory-empty {
    padding: 70px 40px;
    text-align: center;
    background: #f7f3e9;
    border: 1px solid rgba(23,61,43,.12);
}

.directory-empty h3 {
    margin: 0 0 12px;
    color: #173d2b;
    font-family: Georgia, serif;
    font-size: 30px;
    font-weight: 400;
}

.directory-map-placeholder {
    min-height: 420px;
    padding: 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #eef3eb;
}


@media (max-width: 900px) {

    .pff-footer-top {
        grid-template-columns: 1fr 1fr;
    }

    .pff-learn-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

}

@media (max-width: 600px) {

    .pff-footer-top,
    .pff-learn-grid {
        grid-template-columns: 1fr;
    }

    .pff-footer-bottom {
        flex-direction: column;
    }

}


/* =========================================================
   HOMEPAGE VISUAL POLISH
   ========================================================= */

/* Slightly tighter introduction */

.pff-fast-intro {
    padding: 72px 0;
}

.pff-fast-intro-grid {
    align-items: center;
}

.pff-fast-intro h2 {
    max-width: 520px;
}


/* Explore cards: keep them clean, but give them more character */

.pff-fast-explore {
    padding: 82px 0 95px;
}

.pff-fast-card {
    min-height: 315px;
    overflow: hidden;
}

.pff-fast-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 4px;
    background: #b78942;
    transition: width .25s ease;
}

.pff-fast-card:hover::before {
    width: 100%;
}

.pff-fast-card:hover {
    transform: none;
}


/* Food / farming section gets photography */

.pff-fast-feature {
    position: relative;
    padding: 105px 0;
    background:
        linear-gradient(
            90deg,
            rgba(18,55,38,.97) 0%,
            rgba(18,55,38,.92) 48%,
            rgba(18,55,38,.58) 72%,
            rgba(18,55,38,.30) 100%
        ),
        url('https://purefarmfresh.com/wp-content/uploads/2026/09/ca45b83d-5945-49bc-85ae-76222bf8d8db.png')
        center / cover no-repeat;
}

.pff-fast-feature-grid {
    min-height: 330px;
}

.pff-fast-feature-grid > div:first-child {
    max-width: 680px;
}

.pff-fast-feature blockquote {
    max-width: 420px;
    color: #fff;
    text-shadow: 0 2px 18px rgba(0,0,0,.18);
}


/* CARE becomes a proper image/story section */

.pff-fast-care {
    position: relative;
    min-height: 520px;
    padding: 0;
    background:
        linear-gradient(
            90deg,
            rgba(247,243,233,.98) 0%,
            rgba(247,243,233,.95) 45%,
            rgba(247,243,233,.55) 65%,
            rgba(247,243,233,.08) 100%
        ),
        url('https://purefarmfresh.com/wp-content/uploads/2026/09/30839853-44b8-4c78-9f96-5421faf5b63c.png')
        right center / cover no-repeat;
}

.pff-fast-care-grid {
    min-height: 520px;
    align-items: center;
    grid-template-columns: 150px minmax(0, 650px);
}

.pff-fast-care-grid > div:last-child {
    padding: 80px 0;
}

.pff-fast-care h2 {
    font-size: clamp(42px, 4.2vw, 62px);
}

.pff-fast-care p {
    max-width: 600px;
}


/* Final CTA tighter and more intentional */

.pff-fast-final {
    padding: 78px 0 85px;
}

.pff-fast-final h2 {
    font-size: clamp(42px, 4.5vw, 62px);
}


/* Footer slightly less tall */

.pff-footer {
    padding-top: 65px;
}

.pff-footer-bottom {
    margin-top: 50px;
}


/* Small visual marker used throughout */

.directory-label::before {
    content: "";
    display: inline-block;
    width: 22px;
    height: 1px;
    margin-right: 9px;
    vertical-align: middle;
    background: #b78942;
}


/* Responsive */

@media (max-width: 900px) {

    .pff-fast-feature {
        background-position: 60% center;
    }

    .pff-fast-care {
        background:
            linear-gradient(
                rgba(247,243,233,.92),
                rgba(247,243,233,.92)
            ),
            url('https://purefarmfresh.com/wp-content/uploads/2026/09/30839853-44b8-4c78-9f96-5421faf5b63c.png')
            center / cover no-repeat;
    }

    .pff-fast-care-grid {
        grid-template-columns: 1fr;
        min-height: auto;
        padding: 70px 0;
        gap: 15px;
    }

    .pff-fast-care-grid > div:last-child {
        padding: 0;
    }

}

@media (max-width: 620px) {

    .pff-fast-intro,
    .pff-fast-explore {
        padding: 60px 0;
    }

    .pff-fast-feature {
        padding: 75px 0;
    }

}

/* Homepage rhythm: one strong image section at a time */

.pff-fast-feature {
    background: #173d2b !important;
}

.pff-fast-feature-grid {
    min-height: 300px;
}

.pff-fast-feature blockquote {
    text-shadow: none;
}

/* Give CARE a little separation and prominence */

.pff-fast-care {
    border-top: 8px solid #f7f3e9;
}


/* =========================================================
   EXPLORE CARDS - LARGER / STRONGER / GOLD CTA
   ========================================================= */

.pff-fast-explore .directory-container {
    width: min(1460px, calc(100% - 70px));
}

.pff-fast-section-heading h2 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(48px, 4.6vw, 68px);
    line-height: 1.02;
    letter-spacing: -.025em;
}

.pff-fast-card {
    min-height: 365px;
    padding: 42px 36px 38px;
}

.pff-fast-number {
    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .14em;
}

.pff-fast-word {
    margin-top: 48px;
    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .15em;
}

.pff-fast-card h3 {
    margin: 13px 0 18px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(30px, 2.15vw, 38px);
    line-height: 1.08;
    letter-spacing: -.02em;
    font-weight: 400;
}

.pff-fast-card p {
    max-width: 390px;
    margin: 0 0 70px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.65;
    color: #425249;
}

.pff-fast-card > span:last-child {
    position: absolute;
    left: 36px;
    bottom: 34px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 40px;
    padding: 0 18px;

    background: #b78942;
    color: #fff;

    border-radius: 999px;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;

    transition:
        background .2s ease,
        transform .2s ease;
}

.pff-fast-card:hover > span:last-child {
    background: #895b20;
    transform: translateX(3px);
}

.pff-fast-card:hover h3 {
    color: #2f6547;
}

.pff-fast-card::before {
    height: 5px;
    background: #b78942;
}


/* Larger visual category markers without images */

.pff-fast-word::before {
    display: block;
    margin-bottom: 18px;

    color: #b78942;

    font-family: Georgia, serif;
    font-size: 42px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
}

.pff-fast-card:nth-child(1) .pff-fast-word::before {
    content: "⌁";
    font-size: 55px;
}

.pff-fast-card:nth-child(2) .pff-fast-word::before {
    content: "✦";
}

.pff-fast-card:nth-child(3) .pff-fast-word::before {
    content: "♡";
    font-size: 48px;
}

.pff-fast-card:nth-child(4) .pff-fast-word::before {
    content: "+";
    font-size: 55px;
}

.pff-fast-card:nth-child(5) .pff-fast-word::before {
    content: "◇";
    font-size: 50px;
}

.pff-fast-card:nth-child(6) .pff-fast-word::before {
    content: "↗";
    font-size: 48px;
}


@media (max-width: 900px) {

    .pff-fast-explore .directory-container {
        width: min(100% - 40px, 1460px);
    }

    .pff-fast-card {
        min-height: 350px;
    }

}

@media (max-width: 620px) {

    .pff-fast-card {
        min-height: 330px;
        padding: 34px 28px;
    }

    .pff-fast-card > span:last-child {
        left: 28px;
        bottom: 28px;
    }

}

/* =========================================================
   EXPLORE CARDS - FARM / FOOD / COMMUNITY ICONS
   Pure CSS line icons
   ========================================================= */

.pff-fast-word::before {
    content: none !important;
}

.pff-fast-word {
    position: relative;
    padding-top: 72px;
}

/* common icon */
.pff-fast-word::after {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 52px;
    height: 52px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}


/* 01 FARMS & GROWERS - wheat */

.pff-fast-card:nth-child(1) .pff-fast-word::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none' stroke='%23b78942' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M31 56V16'/%3E%3Cpath d='M31 24c-8-2-11-7-11-13 8 1 11 6 11 13Z'/%3E%3Cpath d='M31 32c-9-1-14-6-15-12 9 0 14 5 15 12Z'/%3E%3Cpath d='M31 41c-9 0-15-4-17-10 9-1 15 3 17 10Z'/%3E%3Cpath d='M32 24c8-2 11-7 11-13-8 1-11 6-11 13Z'/%3E%3Cpath d='M32 32c9-1 14-6 15-12-9 0-14 5-15 12Z'/%3E%3Cpath d='M32 41c9 0 15-4 17-10-9-1-15 3-17 10Z'/%3E%3C/svg%3E");
}


/* 02 LOCAL FOOD - basket of produce */

.pff-fast-card:nth-child(2) .pff-fast-word::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none' stroke='%23b78942' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 29h38l-5 25H18l-5-25Z'/%3E%3Cpath d='M21 29c1-10 5-17 11-21 6 4 10 11 11 21'/%3E%3Cpath d='M25 39v8M32 39v8M39 39v8'/%3E%3Cpath d='M11 29h42'/%3E%3C/svg%3E");
}


/* 03 ANIMAL WELFARE - cow */

.pff-fast-card:nth-child(3) .pff-fast-word::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none' stroke='%23b78942' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 24c-5-1-9-5-10-10 7 0 11 3 13 8'/%3E%3Cpath d='M46 24c5-1 9-5 10-10-7 0-11 3-13 8'/%3E%3Cpath d='M18 23c2-6 7-9 14-9s12 3 14 9v17c0 9-6 15-14 15S18 49 18 40V23Z'/%3E%3Cpath d='M24 32h1M39 32h1'/%3E%3Cpath d='M25 43c2 3 12 3 14 0'/%3E%3Cpath d='M28 42v4M36 42v4'/%3E%3C/svg%3E");
}


/* 04 HEALTH & LIVING - leaf */

.pff-fast-card:nth-child(4) .pff-fast-word::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none' stroke='%23b78942' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M52 10C29 11 15 22 14 40c0 8 5 13 12 13 18-1 27-17 26-43Z'/%3E%3Cpath d='M14 54c8-15 18-25 32-34'/%3E%3Cpath d='M27 39c0-6-1-10-3-14M34 32c5 0 9 1 13 3'/%3E%3C/svg%3E");
}


/* 05 LOCAL BUSINESS - Alberta storefront */

.pff-fast-card:nth-child(5) .pff-fast-word::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none' stroke='%23b78942' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 27h40v29H12V27Z'/%3E%3Cpath d='M9 27l5-15h36l5 15'/%3E%3Cpath d='M9 27c0 5 8 5 8 0 0 5 8 5 8 0 0 5 8 5 8 0 0 5 8 5 8 0 0 5 8 5 8 0 0 5 8 5 8 0'/%3E%3Cpath d='M22 56V41h20v15'/%3E%3C/svg%3E");
}


/* 06 BUSINESS SERVICES - barn + gear */

.pff-fast-card:nth-child(6) .pff-fast-word::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none' stroke='%23b78942' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 29 32 10l24 19'/%3E%3Cpath d='M13 26v30h38V26'/%3E%3Cpath d='M24 56V38h16v18'/%3E%3Ccircle cx='48' cy='18' r='7'/%3E%3Cpath d='M48 8v3M48 25v3M38 18h3M55 18h3M41 11l2 2M53 23l2 2M55 11l-2 2M43 23l-2 2'/%3E%3C/svg%3E");
}


/* make icons prominent */

.pff-fast-word::after {
    width: 58px;
    height: 58px;
}


/* =========================================================
   PUREFARMFRESH HEADER V2
   ========================================================= */

.site-header {
    background: #fff;
    border-bottom: 1px solid rgba(23,61,43,.12);
}

.header-inner {
    width: min(1500px, calc(100% - 64px));
    min-height: 104px;
    gap: 38px;
}


/* REAL LOGO */

.pff-logo {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

.pff-logo img {
    display: block;
    width: auto;
    height: 82px;
    max-width: 285px;
    object-fit: contain;
}


/* NAVIGATION */

.main-navigation {
    margin-left: auto;
    gap: 26px;
}

.main-navigation > a {
    position: relative;
    padding: 42px 0 39px;

    color: #173d2b;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .035em;

    text-decoration: none;
    white-space: nowrap;

    transition: color .2s ease;
}

.main-navigation > a:not(.pff-list-business)::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 31px;

    width: 0;
    height: 2px;

    background: #b78942;

    transition: width .2s ease;
}

.main-navigation > a:not(.pff-list-business):hover {
    color: #a9752f;
}

.main-navigation > a:not(.pff-list-business):hover::after {
    width: 100%;
}


/* LIST YOUR BUSINESS */

.main-navigation .pff-list-business {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 46px;

    margin-left: 4px;
    padding: 0 21px;

    background: #b78942;
    color: #fff;

    border: 1px solid #b78942;

    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;

    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.main-navigation .pff-list-business:hover {
    background: #895b20;
    border-color: #895b20;
    color: #fff;
    transform: translateY(-1px);
}


/* MOBILE */

@media (max-width: 1280px) {

    .main-navigation {
        gap: 17px;
    }

    .main-navigation > a {
        font-size: 11px;
    }

    .pff-logo img {
        height: 74px;
        max-width: 250px;
    }

}


@media (max-width: 1120px) {

    .header-inner {
        min-height: 88px;
    }

    .pff-logo img {
        height: 70px;
        max-width: 235px;
    }

    .main-navigation {
        top: 88px;
        gap: 0;
    }

    .main-navigation > a {
        padding: 15px 0;
        font-size: 13px;
    }

    .main-navigation > a:not(.pff-list-business)::after {
        display: none;
    }

    .main-navigation .pff-list-business {
        width: 100%;
        margin: 18px 0 0;
        min-height: 48px;
        padding: 0 20px;
    }

}


@media (max-width: 600px) {

    .header-inner {
        width: calc(100% - 30px);
        min-height: 78px;
    }

    .pff-logo img {
        height: 62px;
        max-width: 205px;
    }

    .main-navigation {
        top: 78px;
    }

}

/* =========================================================
   PUREFARMFRESH HEADER
   Based on PureBeef navigation structure
   ========================================================= */

.pff-purebeef-header {
    background: #f8f5ed;
    border-bottom: 1px solid #dedbd2;
}

.pff-purebeef-header .header-inner {
    width: calc(100% - 42px);
    max-width: 1600px;
    min-height: 106px;
    margin: 0 auto;

    display: flex;
    align-items: center;

    gap: 38px;
}


/* LOGO */

.pff-purebeef-header .pff-logo {
    width: 205px;
    flex: 0 0 205px;

    display: flex;
    align-items: center;
}

.pff-purebeef-header .pff-logo img {
    display: block;

    width: 190px;
    height: 88px;

    object-fit: contain;
}


/* NAV */

.pff-button-navigation {
    flex: 1;

    display: flex;
    align-items: center;

    gap: 14px;

    margin-left: 40px;
}


/* BUTTON STYLE */

.pff-nav-item {
    position: relative;
}

.pff-nav-button,
.pff-map-button {
    height: 47px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 18px;

    border: 1px solid #173d2b;
    border-radius: 4px;

    background: transparent;

    color: #173d2b;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .045em;

    text-decoration: none;

    cursor: pointer;

    transition:
        background .2s ease,
        color .2s ease,
        border-color .2s ease;
}

.pff-nav-button span {
    margin-left: 10px;

    color: #b78942;

    font-size: 14px;
}

.pff-nav-button:hover {
    background: #173d2b;
    color: #fff;
}

.pff-map-button {
    background: #c69339;
    border-color: #a87827;
    color: #173d2b;
}

.pff-map-button:hover {
    background: #173d2b;
    border-color: #173d2b;
    color: #fff;
}


/* DROPDOWNS */

.pff-dropdown {
    position: absolute;

    top: calc(100% + 8px);
    left: 0;

    z-index: 9999;

    min-width: 220px;

    padding: 8px;

    background: #fff;

    border: 1px solid #dedbd2;

    box-shadow: 0 14px 30px rgba(18,48,34,.12);

    opacity: 0;
    visibility: hidden;

    transform: translateY(6px);

    transition:
        opacity .18s ease,
        transform .18s ease,
        visibility .18s ease;
}

.pff-has-dropdown:hover .pff-dropdown,
.pff-has-dropdown:focus-within .pff-dropdown {
    opacity: 1;
    visibility: visible;

    transform: translateY(0);
}

.pff-dropdown a {
    display: block;

    padding: 12px 14px;

    color: #173d2b;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 700;

    text-decoration: none;
}

.pff-dropdown a:hover {
    background: #f6f1e5;
    color: #a9752f;
}


/* LIST YOUR BUSINESS */

.pff-button-navigation .pff-list-business {
    margin-left: auto;

    min-width: 158px;
    height: 47px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 22px;

    border: 0;
    border-radius: 999px;

    background: #d6a536;

    color: #173d2b;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .035em;

    text-decoration: none;

    box-shadow: 0 5px 12px rgba(100,72,20,.12);

    transition:
        background .2s ease,
        transform .2s ease;
}

.pff-button-navigation .pff-list-business:hover {
    background: #c6932e;
    color: #173d2b;

    transform: translateY(-1px);
}


/* TABLET */

@media (max-width: 1250px) {

    .pff-purebeef-header .header-inner {
        gap: 20px;
    }

    .pff-purebeef-header .pff-logo {
        width: 175px;
        flex-basis: 175px;
    }

    .pff-purebeef-header .pff-logo img {
        width: 165px;
    }

    .pff-button-navigation {
        margin-left: 10px;
        gap: 8px;
    }

    .pff-nav-button,
    .pff-map-button {
        padding: 0 12px;
        font-size: 11px;
    }

}


/* MOBILE */

@media (max-width: 1050px) {

    .pff-purebeef-header .header-inner {
        min-height: 88px;
    }

    .pff-purebeef-header .pff-logo img {
        width: 160px;
        height: 72px;
    }

    .pff-button-navigation {
        position: absolute;

        top: 88px;
        left: 0;
        right: 0;

        z-index: 9998;

        display: none;

        margin: 0;
        padding: 20px;

        background: #f8f5ed;

        border-top: 1px solid #dedbd2;
        border-bottom: 1px solid #dedbd2;
    }

    .pff-button-navigation.is-open {
        display: block;
    }

    .pff-nav-item {
        width: 100%;
        margin-bottom: 9px;
    }

    .pff-nav-button,
    .pff-map-button {
        width: 100%;

        justify-content: space-between;

        margin-bottom: 9px;
    }

    .pff-dropdown {
        position: static;

        display: none;

        min-width: 0;

        margin: -4px 0 10px;

        box-shadow: none;

        opacity: 1;
        visibility: visible;

        transform: none;
    }

    .pff-has-dropdown:focus-within .pff-dropdown {
        display: block;
    }

    .pff-button-navigation .pff-list-business {
        width: 100%;
        margin: 10px 0 0;
    }

}

/* =========================================================
   PFF MEGA MENU - PUREBEEF STYLE
   ========================================================= */

.pff-purebeef-header {
    background: #f8f5ed;
}

.pff-purebeef-header .header-inner {
    width: calc(100% - 44px);
    max-width: 1640px;
    min-height: 106px;
    margin: auto;

    display: flex;
    align-items: center;
}

.pff-purebeef-header .pff-logo {
    width: 190px;
    flex: 0 0 190px;
}

.pff-purebeef-header .pff-logo img {
    width: 190px;
    height: 82px;
    object-fit: contain;
    display: block;
}


/* NAV */

.pff-mega-navigation {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 14px;
    margin-left: 90px;
}

.pff-nav-item {
    position: relative;
}

.pff-nav-button,
.pff-map-button {
    height: 47px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 18px;

    border: 1px solid #173d2b;
    border-radius: 4px;

    background: transparent;
    color: #173d2b;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .045em;

    text-decoration: none;
    cursor: pointer;
}

.pff-nav-button span {
    margin-left: 9px;
    color: #b78942;
}

.pff-nav-item:hover > .pff-nav-button,
.pff-nav-item:focus-within > .pff-nav-button {
    background: #214d37;
    color: #fff;
}

.pff-nav-item:hover > .pff-nav-button span {
    color: #d9a63c;
}


/* MAP */

.pff-map-button {
    background: #c99538;
    border-color: #a87524;
    color: #173d2b;
    text-transform: none;
}

.pff-map-button:hover {
    background: #214d37;
    color: #fff;
}


/* GOLD CTA */

.pff-mega-navigation .pff-list-business {
    margin-left: auto;

    min-width: 180px;
    height: 47px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 24px;

    background: #dca932;
    color: #173d2b;

    border-radius: 999px;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;

    text-decoration: none;

    box-shadow: 0 5px 12px rgba(100,72,20,.12);
}


/* MEGA PANEL */

.pff-mega-menu {
    position: absolute;

    top: calc(100% + 8px);
    left: 0;

    z-index: 99999;

    width: 390px;

    padding: 27px 26px 28px;

    background: #fff;

    border: 1px solid #173d2b;
    border-radius: 4px;

    box-shadow: 0 15px 35px rgba(20,50,36,.13);

    opacity: 0;
    visibility: hidden;

    transform: translateY(6px);

    transition:
        opacity .16s ease,
        visibility .16s ease,
        transform .16s ease;
}

.pff-has-dropdown:hover .pff-mega-menu,
.pff-has-dropdown:focus-within .pff-mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}


/* CONTENT */

.pff-menu-eyebrow {
    margin-bottom: 14px;

    color: #a8752e;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
}

.pff-menu-all {
    display: block;

    color: #173d2b;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    font-weight: 800;

    text-decoration: none;
}

.pff-menu-divider {
    height: 1px;
    margin: 24px 0;

    background: #dce1dd;
}


/* GRID */

.pff-menu-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 25px;
}

.pff-menu-grid a,
.pff-menu-list a,
.pff-menu-actions a {
    color: #173d2b;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 700;

    text-decoration: none;
}

.pff-menu-grid a {
    display: flex;
    gap: 7px;
    align-items: center;
}

.pff-menu-list {
    display: grid;
    gap: 17px;
}

.pff-menu-actions {
    display: grid;
    gap: 18px;
}

.pff-menu-grid a:hover,
.pff-menu-list a:hover,
.pff-menu-actions a:hover,
.pff-menu-all:hover {
    color: #b27b2d;
}


/* TABLET */

@media (max-width: 1280px) {

    .pff-mega-navigation {
        margin-left: 35px;
        gap: 8px;
    }

    .pff-nav-button,
    .pff-map-button {
        padding: 0 12px;
        font-size: 11px;
    }

    .pff-purebeef-header .pff-logo,
    .pff-purebeef-header .pff-logo img {
        width: 170px;
    }

}


/* MOBILE */

@media (max-width: 1050px) {

    .pff-purebeef-header .header-inner {
        min-height: 88px;
    }

    .pff-mega-navigation {
        position: absolute;

        top: 88px;
        left: 0;
        right: 0;

        z-index: 99999;

        display: none;

        margin: 0;
        padding: 20px;

        background: #f8f5ed;
    }

    .pff-mega-navigation.is-open {
        display: block;
    }

    .pff-nav-item {
        width: 100%;
        margin-bottom: 9px;
    }

    .pff-nav-button,
    .pff-map-button {
        width: 100%;
        justify-content: space-between;
        margin-bottom: 8px;
    }

    .pff-mega-menu {
        position: static;

        display: none;

        width: 100%;

        margin: -3px 0 12px;

        opacity: 1;
        visibility: visible;
        transform: none;

        box-shadow: none;
    }

    .pff-has-dropdown:focus-within .pff-mega-menu {
        display: block;
    }

    .pff-mega-navigation .pff-list-business {
        width: 100%;
        margin: 12px 0 0;
    }

}

/* =========================================================
   PUREFARMFRESH FINAL HEADER
   ========================================================= */

.pff-final-header {
    position: relative;
    z-index: 10000;

    background: #f8f5ed;
    border-bottom: 1px solid rgba(23,61,43,.12);
}

.pff-header-inner {
    width: calc(100% - 44px);
    max-width: 1640px;
    min-height: 106px;

    margin: 0 auto;

    display: flex;
    align-items: center;

    gap: 34px;
}


/* =========================================================
   LOGO
   white pixels visually disappear into header until
   transparent PNG is uploaded
   ========================================================= */

.pff-header-logo {
    width: 225px;
    flex: 0 0 225px;

    display: flex;
    align-items: center;

    text-decoration: none;
}

.pff-header-logo img {
    display: block;

    width: 215px;
    height: 90px;

    object-fit: contain;

    mix-blend-mode: multiply;
}


/* =========================================================
   NAVIGATION
   ========================================================= */

.pff-final-navigation {
    flex: 1;

    display: flex;
    align-items: center;

    gap: 14px;

    margin-left: 35px;
}

.pff-nav-item {
    position: relative;
}


/* MAIN BUTTONS */

.pff-nav-button {
    height: 49px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 22px;

    background: transparent;

    border: 1px solid #214d37;
    border-radius: 4px;

    color: #173d2b;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .045em;

    white-space: nowrap;

    cursor: pointer;

    transition:
        background .18s ease,
        color .18s ease,
        border-color .18s ease;
}

.pff-chevron {
    margin-left: 11px;

    color: #b9822d;

    font-size: 15px;
    line-height: 1;
}

.pff-nav-item:hover > .pff-nav-button,
.pff-nav-item:focus-within > .pff-nav-button {
    background: #214d37;
    border-color: #214d37;
    color: #fff;
}

.pff-nav-item:hover .pff-chevron,
.pff-nav-item:focus-within .pff-chevron {
    color: #e0ad43;
}


/* =========================================================
   MAP BUTTON
   ========================================================= */

.pff-map-button {
    height: 49px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 9px;

    padding: 0 19px;

    background: #d3a039;

    border: 1px solid #b37f27;
    border-radius: 4px;

    color: #173d2b;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .055em;

    text-decoration: none;

    transition:
        background .18s ease,
        transform .18s ease;
}

.pff-map-button svg {
    width: 21px;
    height: 21px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pff-map-button:hover {
    background: #e0ad43;
    color: #173d2b;

    transform: translateY(-1px);
}


/* =========================================================
   LIST BUSINESS CTA
   ========================================================= */

.pff-final-navigation .pff-list-business {
    margin-left: auto;

    min-width: 190px;
    height: 49px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 27px;

    background: #dca932;

    border-radius: 999px;

    color: #173d2b;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .06em;

    text-decoration: none;

    box-shadow:
        0 5px 12px rgba(94,67,18,.12),
        0 1px 1px rgba(94,67,18,.08);

    transition:
        background .18s ease,
        transform .18s ease,
        box-shadow .18s ease;
}

.pff-final-navigation .pff-list-business:hover {
    background: #e4b442;
    color: #173d2b;

    transform: translateY(-1px);

    box-shadow:
        0 8px 18px rgba(94,67,18,.16),
        0 1px 1px rgba(94,67,18,.08);
}


/* =========================================================
   PUREBEEF STYLE DROPDOWNS
   ========================================================= */

.pff-mega-menu {
    position: absolute;

    top: calc(100% + 9px);
    left: 0;

    z-index: 100000;

    width: 390px;

    padding: 28px 26px 29px;

    background: #fff;

    border: 1px solid #214d37;
    border-radius: 4px;

    box-shadow: 0 16px 34px rgba(18,49,34,.14);

    opacity: 0;
    visibility: hidden;

    transform: translateY(6px);

    transition:
        opacity .16s ease,
        visibility .16s ease,
        transform .16s ease;
}


/* invisible bridge prevents menu disappearing */

.pff-mega-menu::before {
    content: "";

    position: absolute;

    left: 0;
    top: -10px;

    width: 100%;
    height: 10px;
}


.pff-has-dropdown:hover > .pff-mega-menu,
.pff-has-dropdown:focus-within > .pff-mega-menu {
    opacity: 1;
    visibility: visible;

    transform: translateY(0);
}


/* MENU TYPOGRAPHY */

.pff-menu-eyebrow {
    margin-bottom: 14px;

    color: #a8752e;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .17em;
}

.pff-menu-all {
    display: block;

    color: #173d2b;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    font-weight: 800;

    text-decoration: none;
}

.pff-menu-divider {
    height: 1px;

    margin: 24px 0;

    background: #dbe0dc;
}


/* MENU GRID */

.pff-menu-grid {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 20px 22px;
}

.pff-menu-grid a {
    display: flex;
    align-items: center;

    gap: 7px;
}


/* MENU LIST */

.pff-menu-list,
.pff-menu-actions {
    display: grid;

    gap: 18px;
}


/* MENU LINKS */

.pff-menu-grid a,
.pff-menu-list a,
.pff-menu-actions a {
    color: #173d2b;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 700;

    text-decoration: none;

    transition: color .15s ease;
}

.pff-menu-grid a:hover,
.pff-menu-list a:hover,
.pff-menu-actions a:hover,
.pff-menu-all:hover {
    color: #b27b2d;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1380px) {

    .pff-header-inner {
        gap: 20px;
    }

    .pff-header-logo {
        width: 190px;
        flex-basis: 190px;
    }

    .pff-header-logo img {
        width: 185px;
    }

    .pff-final-navigation {
        margin-left: 10px;
        gap: 9px;
    }

    .pff-nav-button {
        padding: 0 15px;
        font-size: 11px;
    }

    .pff-final-navigation .pff-list-business {
        min-width: 165px;
        padding: 0 18px;
    }

}


@media (max-width: 1120px) {

    .pff-header-inner {
        min-height: 88px;
    }

    .pff-header-logo img {
        width: 165px;
        height: 72px;
    }

    .pff-final-navigation {
        position: absolute;

        top: 88px;
        left: 0;
        right: 0;

        z-index: 100000;

        display: none;

        margin: 0;
        padding: 20px;

        background: #f8f5ed;

        border-top: 1px solid #ddd9cf;
        border-bottom: 1px solid #ddd9cf;
    }

    .pff-final-navigation.is-open {
        display: block;
    }

    .pff-nav-item {
        width: 100%;

        margin-bottom: 9px;
    }

    .pff-nav-button,
    .pff-map-button {
        width: 100%;

        justify-content: space-between;

        margin-bottom: 9px;
    }

    .pff-mega-menu {
        position: static;

        display: none;

        width: 100%;

        margin: -3px 0 12px;

        opacity: 1;
        visibility: visible;

        transform: none;

        box-shadow: none;
    }

    .pff-has-dropdown:focus-within > .pff-mega-menu {
        display: block;
    }

    .pff-final-navigation .pff-list-business {
        width: 100%;

        margin: 12px 0 0;
    }

}


@media (max-width: 600px) {

    .pff-header-inner {
        width: calc(100% - 30px);
        min-height: 80px;
    }

    .pff-header-logo {
        width: 155px;
        flex-basis: 155px;
    }

    .pff-header-logo img {
        width: 150px;
        height: 66px;
    }

    .pff-final-navigation {
        top: 80px;
    }

    .pff-menu-grid {
        grid-template-columns: 1fr;
    }

}

/* =========================================================
   HEADER MAP BUTTON - FINAL
   ========================================================= */

.pff-final-navigation .pff-map-button {
    width: auto !important;
    min-width: 108px !important;
    height: 49px !important;

    padding: 0 20px !important;

    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 10px !important;

    background: #d5a13b !important;
    border: 1px solid #b67f26 !important;
    border-radius: 4px !important;

    color: #173d2b !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .06em !important;

    text-decoration: none !important;
    white-space: nowrap !important;

    box-sizing: border-box !important;
}

.pff-final-navigation .pff-map-button svg {
    display: block !important;

    width: 22px !important;
    height: 22px !important;

    flex: 0 0 22px !important;

    fill: none !important;
    stroke: #173d2b !important;
    stroke-width: 1.9 !important;
}

.pff-final-navigation .pff-map-button span {
    display: inline-block !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #173d2b !important;
}

.pff-final-navigation .pff-map-button:hover {
    background: #e0ad43 !important;
    border-color: #b67f26 !important;
    color: #173d2b !important;
}


/* =========================================================
   BUSINESS SERVICES FEATURE INSIDE LOCAL BUSINESS MENU
   ========================================================= */

.pff-business-services-feature {
    display: block;

    margin-top: 22px;
    padding-top: 21px;

    border-top: 1px solid #dbe0dc;

    text-decoration: none;
}

.pff-business-services-feature strong {
    display: block;

    margin-bottom: 6px;

    color: #173d2b;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: 800;
}

.pff-business-services-feature span {
    display: block;

    max-width: 300px;

    color: #68746d;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.55;
}

.pff-business-services-feature:hover strong {
    color: #b27b2d;
}


/* Keep CTA pushed to far right */

.pff-final-navigation .pff-list-business {
    margin-left: auto !important;
}


/* Mobile map */

@media (max-width: 1120px) {

    .pff-final-navigation .pff-map-button {
        width: 100% !important;
        justify-content: center !important;
    }

}

/* =========================================================
   PFF DESTINATION DIRECTORIES
   SAME SYSTEM FOR EVERY DIRECTORY
   ========================================================= */


/* HERO IMAGE */

.pff-destination-hero .directory-hero-layout {
    align-items: center;
}

.pff-destination-hero .pff-destination-image {
    display: flex;
    align-items: center;
    justify-content: center;
}

.pff-destination-hero .pff-destination-image img {
    width: 100%;
    max-width: 560px;
    height: 330px;

    display: block;

    object-fit: cover;

    border-radius: 2px;

    box-shadow: 0 14px 34px rgba(11,38,26,.18);
}


/* SHORTCUT ICONS */

.pff-directory .directory-shortcut span {
    color: #c5963d;

    font-size: 25px;
    line-height: 1;
}


/* SEARCH INPUTS */

.pff-directory .filter-group input[type="search"],
.pff-directory .filter-group select {
    width: 100%;

    min-height: 48px;

    padding: 0 14px;

    background: #fff;

    border: 1px solid #d7ddd8;
    border-radius: 2px;

    color: #173d2b;

    font-size: 14px;
}


/* CATEGORY PILLS */

.pff-directory .animal-filter-options {
    display: flex;
    flex-wrap: wrap;

    gap: 8px;
}

.pff-directory .animal-filter-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.pff-directory .animal-filter-option span {
    display: inline-flex;
    align-items: center;

    min-height: 38px;

    padding: 0 14px;

    border: 1px solid #ccd5cf;
    border-radius: 999px;

    background: #fff;

    color: #173d2b;

    font-size: 12px;
    font-weight: 700;

    cursor: pointer;

    transition:
        background .18s ease,
        color .18s ease,
        border-color .18s ease;
}

.pff-directory .animal-filter-option input:checked + span {
    background: #173d2b;
    border-color: #173d2b;

    color: #fff;
}

.pff-directory .animal-filter-option span:hover {
    border-color: #b78942;
}


/* MAP */

.pff-directory-map-shell {
    min-height: 100%;

    padding: 64px;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #e8eee9 0%,
            #f7f4eb 100%
        );

    border-left: 1px solid #d8ded9;
}

.pff-map-icon {
    width: 54px;
    height: 54px;

    margin-bottom: 22px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #d3a039;

    border-radius: 50%;
}

.pff-map-icon svg {
    width: 27px;
    height: 27px;

    fill: none;

    stroke: #173d2b;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pff-directory-map-shell h3 {
    margin: 10px 0 12px;

    color: #173d2b;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
    font-weight: 400;
}

.pff-directory-map-shell p {
    max-width: 420px;

    margin: 0;

    color: #58675f;

    font-size: 14px;
    line-height: 1.7;
}


/* EMPTY DIRECTORY */

.pff-empty-list-button {
    display: inline-flex;

    margin-top: 22px;

    min-height: 44px;

    padding: 0 21px;

    align-items: center;
    justify-content: center;

    background: #d5a13b;

    border-radius: 999px;

    color: #173d2b;

    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;

    text-decoration: none;
}

.pff-empty-list-button:hover {
    background: #173d2b;

    color: #fff;
}


/* MOBILE */

@media (max-width: 900px) {

    .pff-destination-hero .pff-destination-image img {
        height: 280px;
    }

    .pff-directory-map-shell {
        min-height: 340px;

        padding: 45px 30px;

        border-left: 0;
        border-top: 1px solid #d8ded9;
    }

}


@media (max-width: 600px) {

    .pff-destination-hero .pff-destination-image img {
        height: 230px;
    }

    .pff-directory-map-shell {
        min-height: 300px;

        padding: 38px 24px;
    }

}

/* =========================================================
   DESTINATION HERO
   MATCH PUREBEEF TYPOGRAPHY + IMAGE TREATMENT
   ========================================================= */

/* Restore PureBeef-style hero typography */

.pff-directory .directory-hero-content h1 {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(42px, 4.4vw, 70px) !important;
    line-height: 1.02 !important;
    font-weight: 800 !important;
    letter-spacing: -0.045em !important;
}

.pff-directory .directory-hero-content p {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    font-weight: 400 !important;
}

.pff-directory .directory-hero-content .eyebrow {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
}


/* PureBeef-style image
   No card, no rounded photograph, no shadow */

.pff-destination-hero .pff-destination-image {
    align-self: stretch !important;

    display: flex !important;
    align-items: stretch !important;
    justify-content: stretch !important;

    overflow: hidden !important;
}

.pff-destination-hero .pff-destination-image img {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 405px !important;

    display: block !important;

    object-fit: cover !important;
    object-position: center !important;

    border-radius: 0 !important;
    box-shadow: none !important;
}


/* Keep image integrated into green hero */

.pff-destination-hero .directory-hero-layout {
    align-items: stretch !important;
}


/* Slight dark-green blend at image edge */

.pff-destination-hero .pff-destination-image {
    position: relative !important;
}

.pff-destination-hero .pff-destination-image::before {
    content: "" !important;

    position: absolute !important;
    z-index: 2 !important;

    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    width: 110px !important;

    pointer-events: none !important;

    background: linear-gradient(
        90deg,
        #123f2f 0%,
        rgba(18,63,47,.72) 30%,
        rgba(18,63,47,0) 100%
    ) !important;
}


/* Mobile */

@media (max-width: 900px) {

    .pff-directory .directory-hero-content h1 {
        font-size: clamp(40px, 8vw, 58px) !important;
    }

    .pff-destination-hero .pff-destination-image img {
        min-height: 300px !important;
    }

    .pff-destination-hero .pff-destination-image::before {
        width: 60px !important;
    }

}

@media (max-width: 600px) {

    .pff-directory .directory-hero-content h1 {
        font-size: 40px !important;
    }

    .pff-destination-hero .pff-destination-image img {
        min-height: 240px !important;
    }

}

/* =========================================================
   PFF DIRECTORY FINAL
   FOLLOW PUREBEEF DIRECTORY SYSTEM
   ========================================================= */


/* HERO */

.pff-directory .directory-hero {
    overflow: hidden !important;
}

.pff-directory .directory-hero-layout {
    min-height: 405px !important;
    align-items: stretch !important;
}


/* TYPOGRAPHY: let PureBeef typography lead */

.pff-directory .directory-hero-content h1 {
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
}

.pff-directory .directory-hero-content p {
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
}

.pff-directory .directory-hero-content .eyebrow {
    font-family: inherit !important;
}


/* IMAGE: same structural treatment as PureBeef */

.pff-directory .directory-hero-animal {
    position: relative !important;

    align-self: stretch !important;

    display: flex !important;
    align-items: stretch !important;

    overflow: hidden !important;

    border-radius: 0 !important;
}

.pff-directory .directory-hero-animal img {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 405px !important;

    object-fit: cover !important;
    object-position: center !important;

    border-radius: 0 !important;
    box-shadow: none !important;
}


/* remove our exaggerated gradient */

.pff-directory .directory-hero-animal::before {
    display: none !important;
}


/* FILTERS EXACTLY IN THE PUREBEEF FAMILY */

.pff-directory .animal-filter {
    margin-top: 32px !important;
}

.pff-directory .animal-filter-options {
    display: flex !important;
    flex-wrap: wrap !important;

    gap: 10px !important;

    margin-top: 14px !important;
}

.pff-directory .animal-filter-option {
    position: relative !important;

    margin: 0 !important;
}

.pff-directory .animal-filter-option input {
    position: absolute !important;

    opacity: 0 !important;
}

.pff-directory .animal-filter-option span {
    min-height: 42px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 17px !important;

    background: #fff !important;

    border: 1px solid #d3d9d5 !important;
    border-radius: 3px !important;

    color: #173d2b !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;

    cursor: pointer !important;
}

.pff-directory .animal-filter-option input:checked + span {
    background: #173d2b !important;
    border-color: #173d2b !important;

    color: #fff !important;
}

.pff-directory .animal-filter-option:hover span {
    border-color: #c5963d !important;
}


/* SEARCH / MAP AREA */

.pff-directory .directory-tools {
    align-items: stretch !important;
}

.pff-directory .directory-search-column,
.pff-directory .directory-map-column {
    min-height: 430px !important;
}


/* MOBILE */

@media (max-width: 900px) {

    .pff-directory .directory-hero-layout {
        min-height: 0 !important;
    }

    .pff-directory .directory-hero-animal img {
        min-height: 280px !important;
    }

}


/* =========================================================
   DESTINATION HERO FIX
   RESTORE PUREBEEF VISUAL PROPORTIONS
   ========================================================= */

.pff-directory .directory-hero {
    background: #123f2f !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.pff-directory .directory-hero-layout {
    width: calc(100% - 64px) !important;
    max-width: 1600px !important;
    min-height: 405px !important;

    margin: 0 auto !important;

    display: grid !important;
    grid-template-columns: minmax(480px, 42%) minmax(0, 58%) !important;

    align-items: stretch !important;

    padding: 0 !important;
}


/* LEFT CONTENT */

.pff-directory .directory-hero-content {
    position: relative !important;
    z-index: 3 !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;

    padding: 65px 50px 65px 0 !important;

    background: #123f2f !important;
}

.pff-directory .directory-hero-content .eyebrow {
    margin: 0 0 30px !important;

    color: #d4a13b !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
}

.pff-directory .directory-hero-content h1 {
    max-width: 650px !important;

    margin: 0 0 24px !important;

    color: #f7f3e8 !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(48px, 4.3vw, 70px) !important;
    line-height: 1.02 !important;
    font-weight: 400 !important;
    letter-spacing: -.035em !important;
}

.pff-directory .directory-hero-content p {
    max-width: 500px !important;

    margin: 0 !important;

    color: #f7f3e8 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
    font-weight: 400 !important;
}


/* RIGHT IMAGE */

.pff-directory .directory-hero-animal,
.pff-directory .pff-destination-image {
    position: relative !important;

    width: 100% !important;
    height: 405px !important;
    min-height: 405px !important;

    display: block !important;

    align-self: stretch !important;

    overflow: hidden !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;
}

.pff-directory .directory-hero-animal img,
.pff-directory .pff-destination-image img {
    position: absolute !important;

    inset: 0 !important;

    width: 100% !important;
    max-width: none !important;

    height: 100% !important;
    min-height: 0 !important;

    margin: 0 !important;

    display: block !important;

    object-fit: cover !important;
    object-position: center !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;
}


/* SAME SUBTLE PUREBEEF TRANSITION INTO PHOTO */

.pff-directory .directory-hero-animal::before,
.pff-directory .pff-destination-image::before {
    content: "" !important;

    display: block !important;

    position: absolute !important;
    z-index: 2 !important;

    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    width: 110px !important;

    background: linear-gradient(
        90deg,
        #123f2f 0%,
        rgba(18,63,47,.72) 35%,
        rgba(18,63,47,0) 100%
    ) !important;

    pointer-events: none !important;
}


/* SHORTCUT BAR MUST SIT DIRECTLY UNDER HERO */

.pff-directory .directory-shortcuts {
    position: relative !important;
    z-index: 5 !important;

    margin: 0 !important;
}


/* TABLET */

@media (max-width: 1000px) {

    .pff-directory .directory-hero-layout {
        width: 100% !important;

        grid-template-columns: 1fr !important;
    }

    .pff-directory .directory-hero-content {
        padding: 55px 35px !important;
    }

    .pff-directory .directory-hero-animal,
    .pff-directory .pff-destination-image {
        height: 320px !important;
        min-height: 320px !important;
    }

    .pff-directory .directory-hero-animal::before,
    .pff-directory .pff-destination-image::before {
        display: none !important;
    }

}


/* PHONE */

@media (max-width: 600px) {

    .pff-directory .directory-hero-content {
        padding: 45px 24px !important;
    }

    .pff-directory .directory-hero-content h1 {
        font-size: 42px !important;
    }

    .pff-directory .directory-hero-content p {
        font-size: 14px !important;
    }

    .pff-directory .directory-hero-animal,
    .pff-directory .pff-destination-image {
        height: 245px !important;
        min-height: 245px !important;
    }

}

/* =========================================================
   ANIMAL WELFARE
   WHO DO YOU WANT TO HELP?
   ========================================================= */

.pff-directory-animal-welfare .animal-filter {
    margin: 28px 0 30px !important;
}

.pff-directory-animal-welfare .animal-filter-options {
    display: flex !important;
    flex-wrap: wrap !important;

    gap: 9px !important;

    margin-top: 14px !important;
}

.pff-directory-animal-welfare .animal-filter-option span {
    min-height: 43px !important;

    padding: 0 16px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #fff !important;

    border: 1px solid #d5d9d5 !important;
    border-radius: 3px !important;

    color: #173d2b !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;

    white-space: nowrap !important;
}

.pff-directory-animal-welfare
.animal-filter-option input:checked + span {
    background: #173d2b !important;
    border-color: #173d2b !important;

    color: #fff !important;
}


/* =========================================================
   PUREBEEF PATHWAY
   ========================================================= */

.pff-purebeef-pathway {
    margin: 4px 0 32px !important;
    padding: 20px 21px !important;

    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) auto !important;
    align-items: center !important;

    gap: 15px !important;

    background: #f7f3e8 !important;

    border: 1px solid #ded8c9 !important;
    border-left: 3px solid #c89537 !important;
    border-radius: 3px !important;
}

.pff-purebeef-pathway-icon {
    width: 42px !important;
    height: 42px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #173d2b !important;

    border-radius: 50% !important;

    font-size: 20px !important;
}

.pff-purebeef-pathway-copy strong {
    display: block !important;

    margin: 0 0 4px !important;

    color: #173d2b !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}

.pff-purebeef-pathway-copy p {
    margin: 0 !important;

    color: #657068 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
}

.pff-purebeef-pathway-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 40px !important;

    padding: 0 16px !important;

    background: #d5a13b !important;

    border-radius: 999px !important;

    color: #173d2b !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;

    text-decoration: none !important;
    white-space: nowrap !important;
}

.pff-purebeef-pathway-link:hover {
    background: #173d2b !important;
    color: #fff !important;
}


@media (max-width: 700px) {

    .pff-purebeef-pathway {
        grid-template-columns: 42px 1fr !important;
    }

    .pff-purebeef-pathway-link {
        grid-column: 1 / -1 !important;

        width: 100% !important;
    }

}

/* =========================================================
   ANIMAL WELFARE FINAL SELECTOR
   ========================================================= */

.pff-directory-animal-welfare .pff-help-filter {
    margin: 28px 0 26px !important;
}

.pff-directory-animal-welfare .pff-help-filter .filter-group-title {
    margin-bottom: 14px !important;

    color: #173d2b !important;

    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
}

.pff-directory-animal-welfare .animal-filter-options {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
}

.pff-directory-animal-welfare .animal-filter-option span {
    min-height: 43px !important;

    padding: 0 15px !important;

    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;

    background: #fff !important;

    border: 1px solid #d4dad5 !important;
    border-radius: 3px !important;

    color: #173d2b !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;

    white-space: nowrap !important;
}

.pff-directory-animal-welfare
.animal-filter-option input:checked + span {
    background: #173d2b !important;
    border-color: #173d2b !important;
    color: #fff !important;
}

.pff-animal-icon {
    font-size: 15px !important;
    font-weight: 400 !important;
}


/* =========================================================
   PUREBEEF NETWORK PATHWAY
   ========================================================= */

.pff-purebeef-pathway {
    margin: 5px 0 30px !important;
    padding: 18px 19px !important;

    display: grid !important;
    grid-template-columns: 42px minmax(0,1fr) auto !important;
    align-items: center !important;

    gap: 14px !important;

    background: #f8f5ed !important;

    border: 1px solid #ded8ca !important;
    border-left: 3px solid #c9973d !important;
    border-radius: 3px !important;
}

.pff-purebeef-mark {
    width: 42px !important;
    height: 42px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #173d2b !important;
    border-radius: 50% !important;

    color: #d9a43d !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.pff-purebeef-copy strong {
    display: block !important;

    margin-bottom: 4px !important;

    color: #173d2b !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
}

.pff-purebeef-copy p {
    margin: 0 !important;

    color: #657068 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
}

.pff-purebeef-link {
    min-height: 39px !important;

    padding: 0 15px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #d6a23a !important;

    border-radius: 999px !important;

    color: #173d2b !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;

    text-decoration: none !important;
    white-space: nowrap !important;
}

.pff-purebeef-link:hover {
    background: #173d2b !important;
    color: #fff !important;
}


@media (max-width: 720px) {

    .pff-purebeef-pathway {
        grid-template-columns: 42px 1fr !important;
    }

    .pff-purebeef-link {
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }

}

/* =========================================================
   FIX PUREBEEF CALLOUT IN DIRECTORY FILTER
   ========================================================= */

.pff-directory-animal-welfare .pff-purebeef-pathway {
    display: block !important;

    width: 100% !important;

    margin: 26px 0 0 !important;
    padding: 22px !important;

    background: #f8f5ed !important;

    border: 1px solid #ded8ca !important;
    border-left: 3px solid #c9973d !important;
    border-radius: 3px !important;

    box-sizing: border-box !important;
}

.pff-directory-animal-welfare .pff-purebeef-mark {
    display: none !important;
}

.pff-directory-animal-welfare .pff-purebeef-copy {
    width: 100% !important;
}

.pff-directory-animal-welfare .pff-purebeef-copy strong {
    display: block !important;

    margin: 0 0 8px !important;

    color: #173d2b !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 17px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
}

.pff-directory-animal-welfare .pff-purebeef-copy p {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 17px !important;

    color: #5e6b63 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
}

.pff-directory-animal-welfare .pff-purebeef-link {
    width: auto !important;
    min-height: 39px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 17px !important;
    margin: 0 !important;

    background: #d6a23a !important;

    border-radius: 999px !important;

    color: #173d2b !important;

    font-size: 10px !important;
    font-weight: 800 !important;

    white-space: nowrap !important;
}

/* =========================================================
   FARMS & GROWERS DIRECTORY
   ========================================================= */

.pff-directory-food-farms .pff-farm-filter {
    margin: 28px 0 26px !important;
}

.pff-directory-food-farms .pff-farm-filter .filter-group-title {
    margin-bottom: 14px !important;

    color: #173d2b !important;

    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
}

.pff-directory-food-farms .animal-filter-options {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
}

.pff-directory-food-farms .animal-filter-option span {
    min-height: 43px !important;

    padding: 0 15px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #fff !important;

    border: 1px solid #d4dad5 !important;
    border-radius: 3px !important;

    color: #173d2b !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;

    white-space: nowrap !important;
}

.pff-directory-food-farms
.animal-filter-option input:checked + span {
    background: #173d2b !important;
    border-color: #173d2b !important;
    color: #fff !important;
}


/* PureBeef handoff on Farms & Growers */

.pff-directory-food-farms .pff-purebeef-pathway {
    display: block !important;

    width: 100% !important;

    margin: 26px 0 0 !important;
    padding: 22px !important;

    background: #f8f5ed !important;

    border: 1px solid #ded8ca !important;
    border-left: 3px solid #c9973d !important;
    border-radius: 3px !important;

    box-sizing: border-box !important;
}

.pff-directory-food-farms .pff-purebeef-copy {
    width: 100% !important;
}

.pff-directory-food-farms .pff-purebeef-copy strong {
    display: block !important;

    margin: 0 0 8px !important;

    color: #173d2b !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 17px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
}

.pff-directory-food-farms .pff-purebeef-copy p {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 17px !important;

    color: #5e6b63 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
}

.pff-directory-food-farms .pff-purebeef-link {
    width: auto !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 39px !important;

    padding: 0 17px !important;
    margin: 0 !important;

    background: #d6a23a !important;

    border-radius: 999px !important;

    color: #173d2b !important;

    font-size: 10px !important;
    font-weight: 800 !important;

    text-decoration: none !important;
    white-space: nowrap !important;
}

/* =========================================================
   LOCAL FOOD DIRECTORY
   ========================================================= */

.pff-directory-local-food .pff-local-food-filter {
    margin: 28px 0 26px !important;
}

.pff-directory-local-food .pff-local-food-filter .filter-group-title {
    margin-bottom: 14px !important;
    color: #173d2b !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
}

.pff-directory-local-food .animal-filter-options {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
}

.pff-directory-local-food .animal-filter-option span {
    min-height: 43px !important;
    padding: 0 15px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #fff !important;

    border: 1px solid #d4dad5 !important;
    border-radius: 3px !important;

    color: #173d2b !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;

    white-space: nowrap !important;
}

.pff-directory-local-food
.animal-filter-option input:checked + span {
    background: #173d2b !important;
    border-color: #173d2b !important;
    color: #fff !important;
}


/* PureBeef handoff */

.pff-directory-local-food .pff-purebeef-pathway {
    display: block !important;
    width: 100% !important;

    margin: 26px 0 0 !important;
    padding: 22px !important;

    background: #f8f5ed !important;

    border: 1px solid #ded8ca !important;
    border-left: 3px solid #c9973d !important;
    border-radius: 3px !important;

    box-sizing: border-box !important;
}

.pff-directory-local-food .pff-purebeef-copy {
    width: 100% !important;
}

.pff-directory-local-food .pff-purebeef-copy strong {
    display: block !important;

    margin: 0 0 8px !important;

    color: #173d2b !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 17px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
}

.pff-directory-local-food .pff-purebeef-copy p {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 17px !important;

    color: #5e6b63 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
}

.pff-directory-local-food .pff-purebeef-link {
    width: auto !important;
    min-height: 39px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 17px !important;
    margin: 0 !important;

    background: #d6a23a !important;
    border-radius: 999px !important;

    color: #173d2b !important;

    font-size: 10px !important;
    font-weight: 800 !important;

    text-decoration: none !important;
    white-space: nowrap !important;
}

/* =========================================================
   GROW YOUR BUSINESS
   ========================================================= */

.pff-directory-local-business .pff-grow-label {
    margin: 0 0 9px !important;

    color: #b47b20 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;

    letter-spacing: .13em !important;
    text-transform: uppercase !important;
}

.pff-directory-local-business .pff-business-services-copy strong {
    font-size: 19px !important;
    line-height: 1.3 !important;
}

.pff-directory-local-business .pff-business-services-link {
    padding-left: 19px !important;
    padding-right: 19px !important;
}

/* =========================================================
   LOCAL BUSINESS FINAL
   ========================================================= */

.pff-directory-local-business .pff-local-business-filter {
    margin: 28px 0 26px !important;
}

.pff-directory-local-business .animal-filter-options {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
}

.pff-directory-local-business .animal-filter-option span {
    min-height: 43px !important;
    padding: 0 15px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #fff !important;
    border: 1px solid #d4dad5 !important;
    border-radius: 3px !important;

    color: #173d2b !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;

    white-space: nowrap !important;
}

.pff-directory-local-business
.animal-filter-option input:checked + span {
    background: #173d2b !important;
    border-color: #173d2b !important;
    color: #fff !important;
}


/* Grow Your Business */

.pff-directory-local-business .pff-business-services-pathway {
    display: block !important;
    width: 100% !important;

    margin: 26px 0 0 !important;
    padding: 22px !important;

    background: #f8f5ed !important;

    border: 1px solid #ded8ca !important;
    border-left: 3px solid #c9973d !important;
    border-radius: 3px !important;

    box-sizing: border-box !important;
}

.pff-directory-local-business .pff-grow-label {
    margin: 0 0 9px !important;

    color: #b47b20 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;

    letter-spacing: .13em !important;
    text-transform: uppercase !important;
}

.pff-directory-local-business .pff-business-services-copy strong {
    display: block !important;

    margin: 0 0 8px !important;

    color: #173d2b !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 19px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
}

.pff-directory-local-business .pff-business-services-copy p {
    margin: 0 0 17px !important;

    color: #5e6b63 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
}

.pff-directory-local-business .pff-business-services-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 39px !important;

    padding: 0 19px !important;

    background: #d6a23a !important;
    border-radius: 999px !important;

    color: #173d2b !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;

    text-decoration: none !important;
    white-space: nowrap !important;
}

.pff-directory-local-business .pff-business-services-link:hover {
    background: #173d2b !important;
    color: #fff !important;
}

/* =========================================================
   BUSINESS SERVICES DIRECTORY
   ========================================================= */

.pff-directory-business-services .pff-business-services-filter {
    margin: 28px 0 26px !important;
}

.pff-directory-business-services
.pff-business-services-filter .filter-group-title {
    margin-bottom: 14px !important;

    color: #173d2b !important;

    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
}

.pff-directory-business-services .animal-filter-options {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
}

.pff-directory-business-services .animal-filter-option span {
    min-height: 43px !important;

    padding: 0 15px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #fff !important;

    border: 1px solid #d4dad5 !important;
    border-radius: 3px !important;

    color: #173d2b !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;

    white-space: nowrap !important;
}

.pff-directory-business-services
.animal-filter-option input:checked + span {
    background: #173d2b !important;
    border-color: #173d2b !important;
    color: #fff !important;
}


/* =========================================================
   PUREFARMFRESH BUSINESS SERVICES
   ========================================================= */

.pff-services-page {
    background: #f8f5ed;
    color: #173d2b;
}

.pff-services-container {
    width: calc(100% - 80px);
    max-width: 1500px;
    margin: 0 auto;
}


/* HERO */

.pff-services-hero {
    background: #123f2f;
    overflow: hidden;
}

.pff-services-hero-inner {
    min-height: 430px;

    display: grid;
    grid-template-columns: 47% 53%;
}

.pff-services-hero-copy {
    padding: 70px 55px;

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.pff-services-eyebrow,
.pff-services-section-label {
    margin-bottom: 18px;

    color: #d5a13b;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 800;

    letter-spacing: .13em;
    text-transform: uppercase;
}

.pff-services-hero h1 {
    max-width: 720px;

    margin: 0 0 22px;

    color: #f8f4e8;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(48px, 4.5vw, 70px);
    font-weight: 400;
    line-height: 1.04;
}

.pff-services-hero p {
    max-width: 650px;

    margin: 0;

    color: #f2efe6;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    line-height: 1.7;
}

.pff-services-hero-image {
    position: relative;
    min-height: 430px;
}

.pff-services-hero-image img {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.pff-services-hero-image:before {
    content: "";

    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            #123f2f 0%,
            rgba(18,63,47,.55) 8%,
            transparent 28%
        );

    pointer-events: none;
}

.pff-services-hero-actions {
    margin-top: 30px;

    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 22px;
}

.pff-services-button {
    min-height: 45px;

    padding: 0 22px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: #d5a13b;
    border-radius: 999px;

    color: #173d2b;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 800;

    letter-spacing: .04em;
    text-transform: uppercase;
    text-decoration: none;
}

.pff-services-text-link {
    color: #f8f4e8;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 700;

    text-decoration: none;
}


/* INTRO */

.pff-services-intro {
    padding: 85px 0;
    background: #fff;
}

.pff-services-intro-grid,
.pff-services-why-grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;

    gap: 90px;
    align-items: start;
}

.pff-services-intro h2,
.pff-services-heading h2,
.pff-services-why h2,
.pff-services-cta h2 {
    margin: 0;

    color: #173d2b;

    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;

    line-height: 1.12;
}

.pff-services-intro h2 {
    max-width: 520px;
    font-size: clamp(35px, 3vw, 50px);
}

.pff-services-intro-copy {
    max-width: 720px;
}

.pff-services-intro-copy p,
.pff-services-why-copy p {
    margin: 0 0 18px;

    color: #58665e;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    line-height: 1.8;
}


/* SERVICES */

.pff-services-grid-section {
    padding: 90px 0 100px;
}

.pff-services-heading {
    max-width: 760px;
    margin-bottom: 45px;
}

.pff-services-heading h2 {
    font-size: clamp(38px, 3.3vw, 54px);
}

.pff-services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 18px;
}

.pff-service-card {
    min-height: 290px;

    padding: 32px;

    display: flex;
    flex-direction: column;

    background: #fff;

    border: 1px solid #dedbd1;
    border-radius: 4px;
}

.pff-service-number {
    margin-bottom: 30px;

    color: #c48c2e;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 800;

    letter-spacing: .12em;
}

.pff-service-card h3 {
    margin: 0 0 13px;

    color: #173d2b;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    font-weight: 400;
    line-height: 1.2;
}

.pff-service-card p {
    margin: 0 0 25px;

    color: #637068;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    line-height: 1.7;
}

.pff-service-card a {
    margin-top: auto;

    color: #173d2b;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 800;

    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .04em;
}


/* WHY */

.pff-services-why {
    padding: 90px 0;

    background: #173d2b;
}

.pff-services-why h2 {
    color: #f8f4e8;
    font-size: clamp(38px, 3.3vw, 54px);
}

.pff-services-why-copy p {
    color: #e6e8e2;
}


/* CTA */

.pff-services-cta {
    padding: 85px 0;

    background: #efe9dc;
}

.pff-services-cta-inner {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;

    gap: 80px;
    align-items: center;
}

.pff-services-cta h2 {
    margin-bottom: 15px;
    font-size: clamp(38px, 3.2vw, 52px);
}

.pff-services-cta p {
    max-width: 700px;

    margin: 0;

    color: #5e6b63;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.75;
}

.pff-services-cta-action {
    max-width: 320px;

    display: flex;
    flex-direction: column;
    align-items: flex-start;

    gap: 12px;
}

.pff-services-cta-action span {
    color: #68736c;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    line-height: 1.5;
}


/* RESPONSIVE */

@media (max-width: 1000px) {

    .pff-services-hero-inner {
        grid-template-columns: 1fr;
    }

    .pff-services-hero-copy {
        padding: 55px 32px;
    }

    .pff-services-hero-image {
        min-height: 330px;
    }

    .pff-services-intro-grid,
    .pff-services-why-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .pff-services-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .pff-services-cta-inner {
        grid-template-columns: 1fr;
        gap: 35px;
    }

}


@media (max-width: 650px) {

    .pff-services-container {
        width: calc(100% - 36px);
    }

    .pff-services-hero-copy {
        padding: 45px 20px;
    }

    .pff-services-hero h1 {
        font-size: 42px;
    }

    .pff-services-grid {
        grid-template-columns: 1fr;
    }

    .pff-services-intro,
    .pff-services-grid-section,
    .pff-services-why,
    .pff-services-cta {
        padding-top: 60px;
        padding-bottom: 60px;
    }

}


/* =========================================================
   BUSINESS SERVICES ICONS
   ========================================================= */

.pff-service-top {
    margin-bottom: 25px;

    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.pff-service-top .pff-service-number {
    margin: 5px 0 0 !important;
}

.pff-service-icon {
    width: 62px;
    height: 62px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #f4efe3;
    border-radius: 50%;
}

.pff-service-icon svg {
    width: 37px;
    height: 37px;

    fill: none;
    stroke: #174633;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================================
   BUSINESS INQUIRY
   ========================================================= */

.pff-business-inquiry {
    padding: 90px 0;

    background: #f8f5ed;
}

.pff-inquiry-shell {
    display: grid;
    grid-template-columns: .85fr 1.15fr;

    background: #fff;

    border: 1px solid #dedbd1;
    border-radius: 5px;

    overflow: hidden;
}

.pff-inquiry-intro {
    padding: 55px 50px;
}

.pff-inquiry-intro h2 {
    margin: 0 0 18px;

    color: #173d2b;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(40px, 3.5vw, 58px);
    font-weight: 400;
    line-height: 1.05;
}

.pff-inquiry-lead {
    max-width: 520px;

    margin: 0;

    color: #5e6b63;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.75;
}

.pff-inquiry-benefits {
    margin-top: 48px;

    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 20px;
}

.pff-mini-icon {
    width: 43px;
    height: 43px;

    margin-bottom: 11px;

    display: flex;
    align-items: center;
    justify-content: center;
}

.pff-mini-icon svg {
    width: 38px;
    height: 38px;

    fill: none;
    stroke: #c28a28;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pff-inquiry-benefit span {
    color: #173d2b;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    line-height: 1.45;
}


/* FORM */

.pff-inquiry-form-wrap {
    padding: 48px;

    background: #f4f0e6;
}

.pff-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 18px;
}

.pff-form-full {
    grid-column: 1 / -1;
}

.pff-form-field label {
    display: block;

    margin-bottom: 7px;

    color: #173d2b;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 700;
}

.pff-form-field label span {
    color: #b67c22;
}

.pff-form-field input,
.pff-form-field select,
.pff-form-field textarea {
    width: 100%;

    padding: 13px 14px;

    background: #fff;

    border: 1px solid #d3d6d1;
    border-radius: 2px;

    box-sizing: border-box;

    color: #173d2b;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
}

.pff-form-field input,
.pff-form-field select {
    min-height: 46px;
}

.pff-form-field textarea {
    resize: vertical;
    min-height: 125px;
}

.pff-form-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.pff-inquiry-submit {
    min-height: 44px;

    padding: 0 22px;

    border: 0;
    border-radius: 999px;

    background: #d5a13b;

    color: #173d2b;

    cursor: pointer;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 800;

    letter-spacing: .05em;
    text-transform: uppercase;
}

.pff-inquiry-submit:hover {
    background: #173d2b;
    color: #fff;
}



.pff-lock {
    color: #c38a28;
    font-size: 12px;
}

.pff-inquiry-success {
    margin-bottom: 20px;
    padding: 14px 16px;

    background: #e8f0e9;

    border-left: 3px solid #173d2b;

    color: #173d2b;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
}


/* =========================================================
   BUSINESS BELIEF STRIP
   ========================================================= */

.pff-services-belief {
    padding: 0 0 80px;

    background: #f8f5ed;
}

.pff-services-belief-inner {
    padding: 28px 36px;

    display: grid;
    grid-template-columns: 70px 1fr auto;
    align-items: center;

    gap: 28px;

    background: #e8eee8;

    border-radius: 4px;
}

.pff-belief-mark {
    width: 58px;
    height: 58px;
}

.pff-belief-mark svg {
    width: 100%;
    height: 100%;

    fill: none;
    stroke: #173d2b;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pff-belief-copy {
    color: #173d2b;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    line-height: 1.25;
}

.pff-belief-side {
    color: #68736c;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
}

.pff-belief-side strong {
    color: #173d2b;
}


/* RESPONSIVE */

@media (max-width: 900px) {

    .pff-inquiry-shell {
        grid-template-columns: 1fr;
    }

    .pff-inquiry-benefits {
        max-width: 550px;
    }

    .pff-services-belief-inner {
        grid-template-columns: 58px 1fr;
    }

    .pff-belief-side {
        grid-column: 2;
    }

}


@media (max-width: 600px) {

    .pff-business-inquiry {
        padding: 60px 0;
    }

    .pff-inquiry-intro,
    .pff-inquiry-form-wrap {
        padding: 35px 24px;
    }

    .pff-form-grid {
        grid-template-columns: 1fr;
    }

    .pff-form-full {
        grid-column: auto;
    }

    .pff-inquiry-benefits {
        grid-template-columns: 1fr;
    }

    .pff-services-belief-inner {
        grid-template-columns: 1fr;
    }

    .pff-belief-side {
        grid-column: auto;
    }

}


/* =========================================================
   HEALTH & LIVING DIRECTORY
   ========================================================= */

.pff-directory-health .pff-health-filter {
    margin: 28px 0 26px !important;
}

.pff-directory-health
.pff-health-filter .filter-group-title {
    margin-bottom: 14px !important;

    color: #173d2b !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

.pff-directory-health .animal-filter-options {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
}

.pff-directory-health .animal-filter-option span {
    min-height: 43px !important;

    padding: 0 15px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #fff !important;

    border: 1px solid #d4dad5 !important;
    border-radius: 3px !important;

    color: #173d2b !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;

    white-space: nowrap !important;
}

.pff-directory-health
.animal-filter-option input:checked + span {
    background: #173d2b !important;
    border-color: #173d2b !important;
    color: #fff !important;
}


/* =========================================================
   HEALTH & LIVING DIRECTORY
   ========================================================= */

.pff-directory-health .pff-health-filter {
    margin: 28px 0 26px !important;
}

.pff-directory-health
.pff-health-filter .filter-group-title {
    margin-bottom: 14px !important;

    color: #173d2b !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

.pff-directory-health .animal-filter-options {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
}

.pff-directory-health .animal-filter-option span {
    min-height: 43px !important;

    padding: 0 15px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #fff !important;

    border: 1px solid #d4dad5 !important;
    border-radius: 3px !important;

    color: #173d2b !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;

    white-space: nowrap !important;
}

.pff-directory-health
.animal-filter-option input:checked + span {
    background: #173d2b !important;
    border-color: #173d2b !important;
    color: #fff !important;
}


/* =========================================================
   ROOT METABOLIC PATHWAY
   HEALTH & LIVING
   ========================================================= */

.pff-directory-health .pff-root-metabolic-pathway {
    width: 100% !important;

    margin: 26px 0 0 !important;
    padding: 22px !important;

    background: #f8f5ed !important;

    border: 1px solid #ded8ca !important;
    border-left: 3px solid #c9973d !important;
    border-radius: 3px !important;

    box-sizing: border-box !important;
}

.pff-directory-health .pff-root-metabolic-label {
    margin: 0 0 9px !important;

    color: #c48725 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;

    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.pff-directory-health .pff-root-metabolic-pathway h3 {
    margin: 0 0 9px !important;

    color: #173d2b !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

.pff-directory-health .pff-root-metabolic-pathway p {
    width: 100% !important;

    margin: 0 0 17px !important;

    color: #5e6b63 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
}

.pff-directory-health .pff-root-metabolic-actions {
    display: flex !important;
    flex-wrap: wrap !important;

    gap: 8px !important;
}

.pff-directory-health .pff-root-metabolic-primary,
.pff-directory-health .pff-root-metabolic-secondary {
    min-height: 39px !important;

    padding: 0 16px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 999px !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 9px !important;
    font-weight: 800 !important;

    letter-spacing: .035em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

.pff-directory-health .pff-root-metabolic-primary {
    background: #d6a23a !important;
    border: 1px solid #d6a23a !important;

    color: #173d2b !important;
}

.pff-directory-health .pff-root-metabolic-secondary {
    background: transparent !important;
    border: 1px solid #bfc7c0 !important;

    color: #173d2b !important;
}

.pff-directory-health .pff-root-metabolic-primary:hover,
.pff-directory-health .pff-root-metabolic-secondary:hover {
    background: #173d2b !important;
    border-color: #173d2b !important;

    color: #fff !important;
}


@media (max-width: 600px) {

    .pff-directory-health .pff-root-metabolic-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .pff-directory-health .pff-root-metabolic-primary,
    .pff-directory-health .pff-root-metabolic-secondary {
        width: 100% !important;
        box-sizing: border-box !important;
    }

}


/* =========================================================
   PUREFARMFRESH DIRECTORY MAP
   FIT INSIDE DESTINATION PAGE
   ========================================================= */

.page-template-page-pff-directory .directory-map-column {
    min-width: 0 !important;
}


/* Remove the old full-width PureBeef presentation */

.page-template-page-pff-directory .pb-directory-map-wrap {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 26px !important;

    background: #eef1e9 !important;

    border: 1px solid #d9ddd4 !important;
    border-radius: 4px !important;

    box-sizing: border-box !important;
}


/* Header */

.page-template-page-pff-directory .pb-directory-map-header {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 20px !important;

    margin: 0 0 18px !important;
}

.page-template-page-pff-directory .pb-directory-map-label {
    display: block !important;

    margin: 0 0 7px !important;

    color: #a66f24 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;

    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}

.page-template-page-pff-directory .pb-directory-map-header h2 {
    margin: 0 !important;

    color: #123e2c !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 25px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}

.page-template-page-pff-directory .pb-directory-map-count {
    display: inline-flex !important;
    align-items: center !important;

    margin-left: 8px !important;
    padding: 5px 9px !important;

    background: #f5e8c7 !important;

    border-radius: 999px !important;

    color: #805817 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;

    vertical-align: middle !important;
}


/* Map type filters */

.page-template-page-pff-directory .pb-directory-map-filters {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;

    gap: 7px !important;
}

.page-template-page-pff-directory .pb-map-filter {
    min-height: 34px !important;

    padding: 0 11px !important;

    display: inline-flex !important;
    align-items: center !important;

    background: #fff !important;

    border: 1px solid #d1d8d1 !important;
    border-radius: 3px !important;

    color: #173d2b !important;

    font-size: 10px !important;
    font-weight: 700 !important;
}


/* Search bar */

.page-template-page-pff-directory .pb-directory-search-bar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 120px 100px !important;
    gap: 9px !important;
    align-items: end !important;

    margin: 0 0 16px !important;
    padding: 14px !important;

    background: #fff !important;

    border: 1px solid #d9ddd4 !important;
    border-radius: 4px !important;
}

.page-template-page-pff-directory .pb-directory-search-field {
    min-width: 0 !important;
}

.page-template-page-pff-directory .pb-directory-search-field label {
    display: block !important;

    margin: 0 0 6px !important;

    color: #173d2b !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 9px !important;
    font-weight: 800 !important;

    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.page-template-page-pff-directory .pb-directory-search-field input,
.page-template-page-pff-directory .pb-directory-search-field select {
    width: 100% !important;
    height: 42px !important;

    margin: 0 !important;
    padding: 0 11px !important;

    background: #fff !important;

    border: 1px solid #cfd6cf !important;
    border-radius: 3px !important;

    box-sizing: border-box !important;

    color: #31463a !important;
    font-size: 12px !important;
}

.page-template-page-pff-directory .pb-directory-search-button {
    width: 100% !important;
    height: 42px !important;

    margin: 0 !important;
    padding: 0 14px !important;

    background: #173d2b !important;

    border: 1px solid #173d2b !important;
    border-radius: 3px !important;

    color: #fff !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}


/* Actual Leaflet map */

.page-template-page-pff-directory #purefarmfresh-directory-map {
    width: 100% !important;
    height: 520px !important;
    min-height: 520px !important;

    border: 1px solid #d1d8d1 !important;
    border-radius: 4px !important;

    overflow: hidden !important;
}


/* Map note */

.page-template-page-pff-directory .pb-directory-map-note {
    max-width: 700px !important;

    margin: 10px 0 0 !important;

    color: #66736b !important;

    font-size: 10px !important;
    line-height: 1.5 !important;
}


/* Marker colour for future PureFarmFresh listings */

.page-template-page-pff-directory .pb-map-dot-business {
    width: 9px !important;
    height: 9px !important;

    display: inline-block !important;

    margin-right: 6px !important;

    background: #d6a23a !important;

    border-radius: 50% !important;
}


/* Responsive */

@media (max-width: 900px) {

    .page-template-page-pff-directory .pb-directory-map-wrap {
        padding: 20px !important;
    }

    .page-template-page-pff-directory .pb-directory-map-header {
        display: block !important;
    }

    .page-template-page-pff-directory .pb-directory-map-filters {
        justify-content: flex-start !important;

        margin-top: 14px !important;
    }

    .page-template-page-pff-directory .pb-directory-search-bar {
        grid-template-columns: 1fr !important;
    }

    .page-template-page-pff-directory #purefarmfresh-directory-map {
        height: 440px !important;
        min-height: 440px !important;
    }

}


/* =========================================================
   DIRECTORY MAP COLUMN FIX
   Keep map beside search sidebar
   ========================================================= */

.page-template-page-pff-directory .directory-tools {
    display: grid !important;
    grid-template-columns: 390px minmax(0, 1fr) !important;
    gap: 28px !important;
    align-items: start !important;
}

.page-template-page-pff-directory .directory-tools > * {
    min-width: 0 !important;
}

.page-template-page-pff-directory .directory-map-column {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
}

.page-template-page-pff-directory .directory-map-column .pb-directory-map-wrap {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    box-sizing: border-box !important;
}

.page-template-page-pff-directory .directory-map-column #purefarmfresh-directory-map {
    width: 100% !important;
    max-width: 100% !important;
    height: 520px !important;
    min-height: 520px !important;

    box-sizing: border-box !important;
}


/* Keep map search controls inside available width */

.page-template-page-pff-directory .directory-map-column .pb-directory-search-bar {
    width: 100% !important;
    max-width: 100% !important;

    grid-template-columns:
        minmax(0, 1fr)
        115px
        95px !important;

    box-sizing: border-box !important;
}


/* Tablet / mobile */

@media (max-width: 1000px) {

    .page-template-page-pff-directory .directory-tools {
        grid-template-columns: 1fr !important;
    }

    .page-template-page-pff-directory .directory-map-column #purefarmfresh-directory-map {
        height: 460px !important;
        min-height: 460px !important;
    }

}


/* =========================================================
   PUREBEEF PROCESSOR PATHWAY
   Farms & Growers + Local Food
   ========================================================= */

.page-template-page-pff-directory .pff-processor-pathway {
    width: 100% !important;

    margin: 14px 0 0 !important;
    padding: 22px 23px !important;

    background: #f8f5ed !important;

    border: 1px solid #ddd7c9 !important;
    border-left: 3px solid #d6a23a !important;
    border-radius: 2px !important;

    box-sizing: border-box !important;
}

.page-template-page-pff-directory
.pff-processor-pathway-label {
    margin: 0 0 8px !important;

    color: #a66f24 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 9px !important;
    font-weight: 800 !important;

    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.page-template-page-pff-directory
.pff-processor-pathway h3 {
    margin: 0 0 9px !important;

    color: #173d2b !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

.page-template-page-pff-directory
.pff-processor-pathway p {
    margin: 0 0 16px !important;

    color: #58675e !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    line-height: 1.55 !important;
}

.page-template-page-pff-directory
.pff-processor-pathway-button {
    min-height: 39px !important;

    padding: 0 17px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #dba62f !important;

    border: 1px solid #dba62f !important;
    border-radius: 999px !important;

    color: #173d2b !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 9px !important;
    font-weight: 800 !important;

    letter-spacing: .035em !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

.page-template-page-pff-directory
.pff-processor-pathway-button:hover {
    background: #173d2b !important;
    border-color: #173d2b !important;
    color: #fff !important;
}



/* =========================================================
   PUREBEEF PROCESSOR PATHWAY
   Farms & Growers + Local Food
   ========================================================= */

.page-template-page-pff-directory .pff-processor-pathway {
    width: 100% !important;

    margin: 14px 0 0 !important;
    padding: 22px 23px !important;

    background: #f8f5ed !important;

    border: 1px solid #ddd7c9 !important;
    border-left: 3px solid #d6a23a !important;
    border-radius: 2px !important;

    box-sizing: border-box !important;
}

.page-template-page-pff-directory
.pff-processor-pathway-label {
    margin: 0 0 8px !important;

    color: #a66f24 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 9px !important;
    font-weight: 800 !important;

    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.page-template-page-pff-directory
.pff-processor-pathway h3 {
    margin: 0 0 9px !important;

    color: #173d2b !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

.page-template-page-pff-directory
.pff-processor-pathway p {
    margin: 0 0 16px !important;

    color: #58675e !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    line-height: 1.55 !important;
}

.page-template-page-pff-directory
.pff-processor-pathway-button {
    min-height: 39px !important;

    padding: 0 17px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #dba62f !important;

    border: 1px solid #dba62f !important;
    border-radius: 999px !important;

    color: #173d2b !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 9px !important;
    font-weight: 800 !important;

    letter-spacing: .035em !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

.page-template-page-pff-directory
.pff-processor-pathway-button:hover {
    background: #173d2b !important;
    border-color: #173d2b !important;
    color: #fff !important;
}


/* =========================================================
   PUREFARMFRESH DIRECTORY SECTION NAVIGATION
   ========================================================= */

.pff-section-nav {
    background: #fff;
    border-top: 1px solid #e4dcc9;
    border-bottom: 1px solid #d8c79e;
}

.pff-section-nav .directory-shortcuts-inner {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    max-width: 1440px;
    margin: 0 auto;
    padding: 0;
}

.pff-section-nav .pff-section-link {
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px 15px;
    border-right: 1px solid #e5dfd2;
    color: #073c30;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
}

.pff-section-nav .pff-section-link:first-child {
    border-left: 1px solid #e5dfd2;
}

.pff-section-nav .pff-section-link:hover {
    background: #f8f5ed;
    color: #073c30;
}

.pff-section-nav .pff-section-link.is-active {
    background: #123f32;
    color: #fff;
}

.pff-section-nav .pff-section-link.is-active::before {
    content: "";
    width: 6px;
    height: 6px;
    margin-right: 9px;
    border-radius: 50%;
    background: #dfa629;
}

@media (max-width: 900px) {
    .pff-section-nav .directory-shortcuts-inner {
        grid-template-columns: repeat(2, 1fr);
    }

    .pff-section-nav .pff-section-link {
        min-height: 62px;
        font-size: 14px;
        border-bottom: 1px solid #e5dfd2;
    }
}

@media (max-width: 520px) {
    .pff-section-nav .directory-shortcuts-inner {
        grid-template-columns: 1fr;
    }

    .pff-section-nav .pff-section-link {
        min-height: 52px;
    }
}


/* =========================================================
   PUREFARMFRESH DIRECTORY UTILITY NAVIGATION
   ========================================================= */

.pff-directory-utility-nav {
    background: #fbfaf6;
    border-bottom: 1px solid #e2d7bd;
}

.pff-directory-utility-inner {
    max-width: 1440px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    padding: 0;
}

.pff-directory-utility-link {
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 10px 18px;
    border-right: 1px solid #e5dfd2;
    color: #123f32;
    text-decoration: none;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 14px;
    font-weight: 700;
    transition: background-color .18s ease;
}

.pff-directory-utility-link:first-child {
    border-left: 1px solid #e5dfd2;
}

.pff-directory-utility-link:hover {
    background: #f3eee2;
    color: #123f32;
}

.pff-utility-icon {
    color: #c89120;
    font-family: Arial, sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
}

@media (max-width: 700px) {

    .pff-directory-utility-inner {
        grid-template-columns: 1fr;
    }

    .pff-directory-utility-link {
        min-height: 46px;
        border-left: 0;
        border-right: 0;
        border-bottom: 1px solid #e5dfd2;
    }

}


/* =========================================================
   BROWSE LISTINGS CTA
   ========================================================= */

.pff-browse-listings-wrap {
    display: flex;
    justify-content: flex-end;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 0 22px;
}

.pff-browse-listings-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 11px 24px;
    border-radius: 999px;
    background: #dfa629;
    color: #073c30;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: 0 3px 8px rgba(0,0,0,.08);
}

.pff-browse-listings-pill:hover {
    background: #c9911f;
    color: #073c30;
}

@media (max-width: 700px) {
    .pff-browse-listings-wrap {
        justify-content: center;
        padding-bottom: 18px;
    }
}


/* Browse Listings position inside map column */

.pff-map-top-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: 0 0 10px;
}

.pff-map-top-actions .pff-browse-listings-pill {
    min-height: 38px;
    padding: 9px 20px;
}

@media (max-width: 700px) {
    .pff-map-top-actions {
        justify-content: flex-start;
    }
}


/* =========================================================
   DIRECTORY SIDEBAR SEARCH
   ========================================================= */

.pff-sidebar-keyword {
    margin: 24px 0 26px;
}

.pff-sidebar-keyword .filter-group-title {
    margin-bottom: 8px;
}

.pff-sidebar-keyword input[type="search"] {
    width: 100%;
    height: 46px;
    padding: 0 14px;
    border: 1px solid #d5d8d1;
    background: #fff;
    font-size: 13px;
    box-sizing: border-box;
}

.pff-sidebar-search-button {
    width: 100%;
    min-height: 42px;
    margin-top: 8px;
    padding: 10px 18px;
    border: 0;
    border-radius: 4px;
    background: #123f32;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    cursor: pointer;
}

.pff-sidebar-search-button:hover {
    background: #0b3026;
}

/* Browse Listings inside directory map header */

.pb-directory-map-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.pff-map-header-browse {
    flex: 0 0 auto;
    margin-left: auto;
}

@media (max-width: 700px) {
    .pb-directory-map-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .pff-map-header-browse {
        margin-left: 0;
    }
}


/* =========================================================
   DIRECTORY MAP BOTTOM ALIGNMENT
   Align map panel with sidebar
   ========================================================= */

.directory-map-column .pb-directory-map {
    height: 455px !important;
    min-height: 455px !important;
}

@media (max-width: 900px) {
    .directory-map-column .pb-directory-map {
        height: 440px !important;
        min-height: 440px !important;
    }
}

@media (max-width: 600px) {
    .directory-map-column .pb-directory-map {
        height: 380px !important;
        min-height: 380px !important;
    }
}


/* =========================================================
   DYNAMIC DIRECTORY MAP HEIGHT
   Desktop map panel follows sidebar height
   ========================================================= */

@media (min-width: 901px) {

    .directory-map-column .pb-directory-map-wrap {
        box-sizing: border-box;
    }

    .directory-map-column .pb-directory-map {
        height: auto !important;
        min-height: 300px !important;
    }

}


/* =========================================================
   DIRECTORY MAP
   Dynamic sidebar matching with sensible minimum height
   ========================================================= */

@media (min-width: 901px) {

    .directory-map-column .pb-directory-map {
        min-height: 560px !important;
    }

}


/* =========================================================
   PUREFARMFRESH HEALTHCARE PROFILE
   ========================================================= */

.pff-health-profile {
    background: #f7f5ee;
    color: #263d32;
}

.pff-health-container {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}


/* HERO */

.pff-health-hero {
    position: relative;
    overflow: hidden;
    padding: 48px 0 42px;
    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(218, 169, 57, .16),
            transparent 30%
        ),
        linear-gradient(
            125deg,
            #143d30 0%,
            #1e5540 100%
        );
    color: #fff;
}

.pff-health-back {
    display: inline-block;
    margin-bottom: 28px;
    color: #e4bd59 !important;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.pff-health-back:hover {
    color: #fff !important;
}

.pff-health-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 55px;
    align-items: center;
}

.pff-health-eyebrow,
.pff-health-section-label {
    margin: 0 0 11px;
    color: #b88928;
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.pff-health-hero .pff-health-eyebrow {
    color: #e4bd59;
}

.pff-health-hero h1 {
    max-width: 760px;
    margin: 0 !important;
    color: #fff !important;
    font-family: Georgia, serif;
    font-size: clamp(38px, 4.5vw, 58px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -.8px;
}

.pff-health-location {
    margin: 17px 0 0;
    color: #fff;
    font-family: Arial, sans-serif;
    font-size: 19px;
    font-weight: 700;
}

.pff-health-type {
    margin: 7px 0 0;
    color: rgba(255,255,255,.72);
    font-family: Arial, sans-serif;
    font-size: 14px;
}


/* VERIFIED HERO CARD */

.pff-health-verified {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 22px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 15px;
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(5px);
}

.pff-health-check {
    display: flex;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #dda82f;
    color: #143d30;
    font-family: Arial, sans-serif;
    font-size: 18px;
    font-weight: 900;
}

.pff-health-verified strong {
    display: block;
    margin: 1px 0 5px;
    color: #fff;
    font-family: Arial, sans-serif;
    font-size: 15px;
}

.pff-health-verified div > span {
    display: block;
    color: rgba(255,255,255,.7);
    font-family: Arial, sans-serif;
    font-size: 13px;
    line-height: 1.45;
}


/* SERVICE BADGES */

.pff-health-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 31px;
}

.pff-health-badges span {
    display: inline-block;
    padding: 8px 13px;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 999px;
    background: rgba(255,255,255,.09);
    color: #fff;
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 700;
}


/* MAIN BODY */

.pff-health-body {
    padding: 62px 0 90px;
}

.pff-health-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 55px;
    align-items: start;
}

.pff-health-main {
    min-width: 0;
}

.pff-health-section {
    margin: 0 0 58px;
}

.pff-health-section h2 {
    margin: 0 0 15px !important;
    color: #183f31 !important;
    font-family: Georgia, serif;
    font-size: clamp(27px, 3vw, 36px);
    font-weight: 600;
    line-height: 1.18;
}

.pff-health-intro {
    max-width: 760px;
    margin: 0;
    color: #586960;
    font-family: Arial, sans-serif;
    font-size: 16px;
    line-height: 1.7;
}


/* FACILITY FACTS */

.pff-health-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 13px;
    margin-top: 27px;
}

.pff-health-facts > div {
    padding: 19px;
    border: 1px solid #dedbcf;
    border-radius: 12px;
    background: #fff;
}

.pff-health-facts span {
    display: block;
    margin-bottom: 7px;
    color: #7c887f;
    font-family: Arial, sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .8px;
    text-transform: uppercase;
}

.pff-health-facts strong {
    display: block;
    color: #263d32;
    font-family: Arial, sans-serif;
    font-size: 14px;
    line-height: 1.45;
}


/* HEALTH SERVICES */

.pff-health-service-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 12px;
    margin-top: 27px;
}

.pff-health-service-card {
    display: flex;
    gap: 12px;
    align-items: center;
    min-height: 72px;
    padding: 17px 18px;
    border: 1px solid #dedbcf;
    border-radius: 12px;
    background: #fff;
}

.pff-health-service-check {
    display: flex;
    width: 29px;
    height: 29px;
    flex: 0 0 29px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #edf2e8;
    color: #1d5740;
    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 900;
}

.pff-health-service-card strong {
    color: #294438;
    font-family: Arial, sans-serif;
    font-size: 14px;
}


/* ACCESS */

.pff-health-access-note {
    margin-top: 24px;
    padding: 22px 24px;
    border-left: 4px solid #d5a02b;
    border-radius: 0 12px 12px 0;
    background: #fff;
}

.pff-health-access-note strong {
    color: #193f32;
    font-family: Arial, sans-serif;
    font-size: 15px;
}

.pff-health-access-note p {
    margin: 7px 0 0;
    color: #64736b;
    font-family: Arial, sans-serif;
    font-size: 14px;
    line-height: 1.65;
}


/* ADDRESS */

.pff-health-address-card {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 23px;
    border: 1px solid #dedbcf;
    border-radius: 13px;
    background: #fff;
    color: #65736b;
    font-family: Arial, sans-serif;
    font-size: 14px;
    line-height: 1.45;
}

.pff-health-address-card strong {
    margin-bottom: 3px;
    color: #193f32;
    font-size: 16px;
}


/* SIDEBAR */

.pff-health-sidebar {
    position: sticky;
    top: 105px;
}

.pff-health-source-card {
    padding: 25px;
    border: 1px solid #dedbcf;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(29,55,42,.06);
}

.pff-health-source-card h3 {
    margin: 0 0 18px !important;
    color: #183f31 !important;
    font-family: Georgia, serif;
    font-size: 24px;
    font-weight: 600;
}

.pff-health-source-row {
    padding: 12px 0;
    border-bottom: 1px solid #ece9df;
}

.pff-health-source-row span {
    display: block;
    margin-bottom: 4px;
    color: #818b85;
    font-family: Arial, sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .6px;
    text-transform: uppercase;
}

.pff-health-source-row strong {
    display: block;
    color: #34483e;
    font-family: Arial, sans-serif;
    font-size: 13px;
    line-height: 1.45;
}

.pff-health-source-button {
    display: block;
    margin-top: 20px;
    padding: 13px 17px;
    border-radius: 999px;
    background: #173f32;
    color: #fff !important;
    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 800;
    text-align: center;
    text-decoration: none !important;
}

.pff-health-source-button:hover {
    background: #265a46;
}


/* DISCLAIMER */

.pff-health-disclaimer {
    margin-top: 17px;
    padding: 22px;
    border-radius: 14px;
    background: #eee8d8;
}

.pff-health-disclaimer strong {
    color: #183f31;
    font-family: Georgia, serif;
    font-size: 17px;
}

.pff-health-disclaimer p {
    margin: 9px 0 0;
    color: #68736c;
    font-family: Arial, sans-serif;
    font-size: 12px;
    line-height: 1.6;
}


/* RESPONSIVE */

@media (max-width: 900px) {

    .pff-health-hero-grid,
    .pff-health-layout {
        grid-template-columns: 1fr;
    }

    .pff-health-verified {
        max-width: 420px;
    }

    .pff-health-sidebar {
        position: static;
    }

    .pff-health-facts {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {

    .pff-health-container {
        width: calc(100% - 28px);
    }

    .pff-health-hero {
        padding: 34px 0 35px;
    }

    .pff-health-hero h1 {
        font-size: 36px;
    }

    .pff-health-body {
        padding: 42px 0 65px;
    }

    .pff-health-service-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   HEALTHCARE FACILITY PROFILE MAP
   ========================================================= */

.pff-health-facility-map {
    width: 100%;
    height: 330px;
    margin-top: 14px;
    overflow: hidden;
    border: 1px solid #dedbcf;
    border-radius: 14px;
    background: #e8ece7;
    box-shadow: 0 6px 22px rgba(29,55,42,.06);
}

.pff-health-facility-map .leaflet-popup-content {
    color: #43544b;
    font-family: Arial, sans-serif;
    font-size: 13px;
    line-height: 1.5;
}

.pff-health-facility-map .leaflet-popup-content strong {
    color: #173f32;
    font-size: 14px;
}

@media (max-width: 640px) {
    .pff-health-facility-map {
        height: 280px;
    }
}


/* =========================================================
   HEALTHCARE PROFILE FEATURE IMAGE
   ========================================================= */

.pff-health-profile-image {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto 32px;
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid #e0dccf;
    background: #f7f3e8;
    box-shadow: 0 8px 28px rgba(29,55,42,.07);
}

.pff-health-profile-image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 1;
    object-fit: cover;
}

@media (max-width: 700px) {
    .pff-health-profile-image {
        margin-bottom: 24px;
        border-radius: 12px;
    }
}

/* Smaller healthcare default image */
.pff-health-profile-image {
    max-width: 760px;
    margin: 32px auto;
}

.pff-health-profile-image img {
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 1;
    object-fit: cover;
}

@media (max-width: 800px) {
    .pff-health-profile-image {
        max-width: calc(100% - 32px);
        margin: 24px auto;
    }
}

/* Healthcare directory default card image */
.farm-card-image .pff-healthcare-card-default {
    display: block;
    width: 100%;
    height: 260px;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 700px) {
    .farm-card-image .pff-healthcare-card-default {
        height: 220px;
    }
}

/* =========================================================
   DIRECTORY MAP
   Match map panel to directory sidebar height on desktop
   ========================================================= */

@media (min-width: 901px) {

    .directory-search-layout {
        align-items: stretch;
    }

    .directory-map-column {
        display: flex;
        flex-direction: column;
    }

    .directory-map-column .pb-directory-map-wrap {
        flex: 1;
        display: flex;
        flex-direction: column;
        height: 100%;
    }

    .directory-map-column .pb-directory-map {
        flex: 1;
        height: auto !important;
        min-height: 0 !important;
    }

}


/* =========================================================
   PUREFARMFRESH PUBLIC LISTING FORM
   ========================================================= */

.listing-choice-form-section {
    background: #f7f4ec;
    padding: 78px 0 90px;
}

.listing-choice-form-section .listing-choice-container {
    max-width: 1260px;
}


/* Form introduction */

.listing-choice-form-section .listing-choice-intro {
    max-width: 820px;
    margin-bottom: 44px;
}

.listing-choice-form-section .listing-choice-intro h2 {
    margin: 8px 0 12px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 4vw, 54px);
    line-height: 1.08;
    font-weight: 400;
    color: #244f39;
}

.listing-choice-form-section .listing-choice-intro p {
    max-width: 720px;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 18px;
    line-height: 1.7;
    color: #4f5d53;
}


/* Main form */

.pff-public-listing-form {
    background: #ffffff;
    border: 1px solid #ded9cc;
    border-radius: 4px;
    padding: 48px 52px 54px;
    box-shadow: 0 12px 35px rgba(31, 65, 47, 0.06);
}


/* Sections */

.pff-form-section {
    padding: 0 0 42px;
    margin: 0 0 42px;
    border-bottom: 1px solid #e5e0d5;
}

.pff-form-section:last-of-type {
    margin-bottom: 28px;
}

.pff-form-section .listing-choice-eyebrow {
    display: block;
    margin: 0 0 24px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.16em;
    color: #a9782e;
}


/* Grid */

.pff-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px 30px;
}

.pff-form-field {
    min-width: 0;
}

.pff-form-wide {
    grid-column: 1 / -1;
}


/* Labels */

.pff-form-field label {
    display: block;
    margin: 0 0 9px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 700;
    color: #173f2c;
}


/* Inputs */

.pff-public-listing-form input[type="text"],
.pff-public-listing-form input[type="email"],
.pff-public-listing-form input[type="url"],
.pff-public-listing-form select,
.pff-public-listing-form textarea {
    display: block;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #cfcbbf;
    border-radius: 3px;
    background: #fff;
    color: #26372e;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 17px;
    line-height: 1.5;
    transition:
        border-color 0.18s ease,
        box-shadow 0.18s ease;
}

.pff-public-listing-form input[type="text"],
.pff-public-listing-form input[type="email"],
.pff-public-listing-form input[type="url"],
.pff-public-listing-form select {
    min-height: 56px;
    padding: 13px 16px;
}

.pff-public-listing-form textarea {
    min-height: 145px;
    padding: 15px 16px;
    resize: vertical;
}

.pff-public-listing-form input:focus,
.pff-public-listing-form select:focus,
.pff-public-listing-form textarea:focus {
    outline: none;
    border-color: #2b6245;
    box-shadow: 0 0 0 3px rgba(43, 98, 69, 0.10);
}


/* Helper text */

.pff-form-field small {
    display: block;
    margin-top: 8px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.55;
    color: #68746c;
}


/* Checkboxes */

.pff-form-checks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 18px;
}

.pff-form-checks label {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    min-height: 54px;
    box-sizing: border-box;
    padding: 15px 17px;
    border: 1px solid #ded9cc;
    border-radius: 3px;
    background: #faf9f5;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.45;
    font-weight: 600;
    color: #294636;
    cursor: pointer;
}

.pff-form-checks input[type="checkbox"] {
    width: 19px;
    height: 19px;
    margin: 2px 0 0;
    flex: 0 0 auto;
    accent-color: #28583f;
}


/* Submit */

.pff-form-submit {
    padding-top: 8px;
}

.pff-form-submit .listing-choice-button {
    width: auto;
    min-width: 300px;
    min-height: 58px;
    padding: 17px 28px;
    border: 0;
    border-radius: 3px;
    background: #28583f;
    color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 700;
    cursor: pointer;
}

.pff-form-submit .listing-choice-button:hover {
    background: #1e4632;
}

.pff-form-submit p {
    max-width: 660px;
    margin: 16px 0 0;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: #68746c;
}


/* Success */

.pff-submission-success {
    max-width: 760px;
    background: #ffffff;
    border: 1px solid #ded9cc;
    padding: 48px;
}

.pff-submission-success h2 {
    margin: 8px 0 14px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 42px;
    line-height: 1.1;
    font-weight: 400;
    color: #244f39;
}

.pff-submission-success p {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 18px;
    line-height: 1.65;
    color: #4f5d53;
}


/* Mobile */

@media (max-width: 760px) {

    .listing-choice-form-section {
        padding: 55px 0 65px;
    }

    .listing-choice-form-section .listing-choice-intro h2 {
        font-size: 38px;
    }

    .pff-public-listing-form {
        padding: 30px 22px 36px;
    }

    .pff-form-grid,
    .pff-form-checks {
        grid-template-columns: 1fr;
    }

    .pff-form-wide {
        grid-column: auto;
    }

    .pff-form-field label {
        font-size: 16px;
    }

    .pff-public-listing-form input[type="text"],
    .pff-public-listing-form input[type="email"],
    .pff-public-listing-form input[type="url"],
    .pff-public-listing-form select,
    .pff-public-listing-form textarea {
        font-size: 16px;
    }

    .pff-form-submit .listing-choice-button {
        width: 100%;
        min-width: 0;
    }

}


/* PureFarmFresh directory card fallback */
.pff-card-placeholder {
    min-height: 190px !important;
    height: 190px !important;
    background:
        radial-gradient(
            circle at 80% 15%,
            rgba(201, 160, 70, .13),
            transparent 30%
        ),
        linear-gradient(
            145deg,
            #f3f0e6 0%,
            #e8eee4 100%
        ) !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 24px;
    color: #173f31 !important;
    text-align: center;
    text-decoration: none !important;
}

.pff-card-placeholder-icon {
    width: 58px;
    height: 58px;
    border: 1px solid rgba(23, 63, 49, .25);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: Georgia, serif;
    font-size: 28px;
    line-height: 1;
    color: #173f31;
    background: rgba(255,255,255,.42);
}

.pff-card-placeholder-label {
    margin-top: 4px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
    line-height: 1.4;
    color: #173f31;
}

.pff-card-placeholder-brand {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .16em;
    color: #a46c18;
}

.farm-card > a:first-child {
    text-decoration: none;
}


/* Remove legacy placeholder height/background beneath new fallback */
.farm-card-image-placeholder.pff-card-placeholder {
    min-height: 190px !important;
    height: 190px !important;
    padding: 24px !important;
    margin: 0 !important;
    border: 0 !important;
}

.farm-card > a:first-child {
    display: block;
    height: auto !important;
    min-height: 0 !important;
    background: transparent !important;
    line-height: normal !important;
}

.farm-card > a:first-child:has(.pff-card-placeholder) {
    height: 190px !important;
    min-height: 190px !important;
    overflow: hidden;
}



/* =========================================================
   PUREFARMFRESH HOMEPAGE V3
   2026-09-06
   ========================================================= */

.pff-home {
    background: #fff;
    color: #26382f;
}


/* HERO */

.pff-fast-hero {
    min-height: 610px;
    display: flex;
    align-items: center;
    background-position: center;
    background-size: cover;
}

.pff-fast-hero-copy {
    max-width: 720px;
    padding: 90px 0;
}

.pff-fast-hero .eyebrow {
    margin-bottom: 20px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
    color: #f1d59b;
}

.pff-fast-hero h1 {
    max-width: 680px;
    margin: 0 0 24px;
    font-size: clamp(50px, 5vw, 74px);
    line-height: .98;
    letter-spacing: -.035em;
}

.pff-fast-hero p {
    max-width: 650px;
    font-size: 20px;
    line-height: 1.6;
}


/* INTRO */

.pff-fast-intro {
    padding: 78px 0;
    background: #fbfaf6;
}

.pff-fast-intro-grid {
    gap: 80px;
}

.pff-fast-intro h2 {
    max-width: 540px;
    font-size: clamp(38px, 3.8vw, 54px);
    line-height: 1.06;
}

.pff-fast-intro-copy {
    max-width: 680px;
    font-size: 17px;
    line-height: 1.75;
}

.pff-home-principle {
    display: block;
    margin-top: 25px;
    padding-left: 20px;
    border-left: 3px solid #b78942;
    color: #173d2b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    font-weight: 400;
}


/* EXPLORE */

.pff-fast-explore {
    padding: 84px 0 100px;
    background: #fff;
}

.pff-fast-section-heading h2 {
    font-size: clamp(38px, 3.8vw, 54px);
}

.pff-fast-grid {
    gap: 20px;
}

.pff-fast-card {
    min-height: 345px;
    padding: 34px 32px 32px;
    border: 1px solid #e5e7df;
    border-radius: 8px;
    background: #fbfcf8;
    box-shadow: 0 7px 28px rgba(23,61,43,.055);
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.pff-fast-card:hover {
    transform: translateY(-3px);
    border-color: rgba(183,137,66,.45);
    box-shadow: 0 14px 34px rgba(23,61,43,.10);
}

.pff-fast-card::before {
    height: 4px;
    border-radius: 8px 8px 0 0;
}

.pff-fast-word {
    margin-top: 30px;
    padding-top: 68px;
}

.pff-fast-word::after {
    top: 5px;
    width: 54px;
    height: 54px;
}

.pff-fast-card h3 {
    margin: 11px 0 14px;
    font-size: clamp(27px, 2vw, 34px);
}

.pff-fast-card p {
    margin-bottom: 64px;
    font-size: 15.5px;
    line-height: 1.6;
}

.pff-fast-card > span:last-child {
    left: 32px;
    bottom: 28px;
    min-height: 36px;
    padding: 0 16px;
    font-size: 11px;
}


/* CARD 03 = HEALTH */

.pff-fast-card:nth-child(3) .pff-fast-word::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none' stroke='%23b78942' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M52 10C29 11 15 22 14 40c0 8 5 13 12 13 18-1 27-17 26-43Z'/%3E%3Cpath d='M14 54c8-15 18-25 32-34'/%3E%3Cpath d='M27 39c0-6-1-10-3-14M34 32c5 0 9 1 13 3'/%3E%3C/svg%3E");
}


/* CARD 04 = ANIMAL WELFARE */

.pff-fast-card:nth-child(4) .pff-fast-word::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none' stroke='%23b78942' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 24c-5-1-9-5-10-10 7 0 11 3 13 8'/%3E%3Cpath d='M46 24c5-1 9-5 10-10-7 0-11 3-13 8'/%3E%3Cpath d='M18 23c2-6 7-9 14-9s12 3 14 9v17c0 9-6 15-14 15S18 49 18 40V23Z'/%3E%3Cpath d='M24 32h1M39 32h1'/%3E%3Cpath d='M25 43c2 3 12 3 14 0'/%3E%3Cpath d='M28 42v4M36 42v4'/%3E%3C/svg%3E");
}


/* HEALTH STORY */

.pff-home-health {
    position: relative;
    overflow: hidden;
    padding: 95px 0;
    background:
        radial-gradient(
            circle at 82% 30%,
            rgba(183,137,66,.13),
            transparent 28%
        ),
        #eef4ed;
}

.pff-home-health-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
    gap: 90px;
    align-items: center;
}

.pff-home-health-copy {
    max-width: 700px;
}

.pff-home-health h2 {
    max-width: 650px;
    margin: 14px 0 24px;
    color: #173d2b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(40px, 4vw, 56px);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -.025em;
}

.pff-home-health p {
    max-width: 660px;
    margin: 0 0 18px;
    color: #425249;
    font-size: 17px;
    line-height: 1.75;
}

.pff-home-health .pff-fast-button {
    margin-top: 15px;
}

.pff-home-health-message {
    position: relative;
    padding: 58px 54px;
    border: 1px solid rgba(23,61,43,.12);
    border-radius: 12px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 18px 55px rgba(23,61,43,.08);
}

.pff-home-health-message::before {
    content: "";
    position: absolute;
    width: 72px;
    height: 4px;
    left: 54px;
    top: 38px;
    background: #b78942;
}

.pff-home-health-message span,
.pff-home-health-message strong {
    display: block;
    color: #173d2b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 3.2vw, 48px);
    font-weight: 400;
    line-height: 1.22;
}

.pff-home-health-message strong {
    color: #b78942;
}


/* FOOD / COMMUNITY */

.pff-fast-feature {
    padding: 88px 0;
    background: #173d2b !important;
}

.pff-fast-feature h2 {
    font-size: clamp(40px, 4vw, 56px);
}

.pff-fast-feature-grid {
    min-height: 270px;
}


/* ANIMAL WELFARE */

.pff-fast-care {
    min-height: 470px;
}

.pff-fast-care-grid {
    min-height: 470px;
}

.pff-fast-care h2 {
    font-size: clamp(40px, 4vw, 56px);
}


/* FINAL */

.pff-fast-final {
    padding: 72px 0 78px;
}

.pff-fast-final h2 {
    font-size: clamp(40px, 4vw, 56px);
}


/* TABLET */

@media (max-width: 900px) {

    .pff-fast-hero {
        min-height: 540px;
    }

    .pff-fast-intro-grid,
    .pff-home-health-grid {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .pff-home-health {
        padding: 75px 0;
    }

    .pff-home-health-message {
        max-width: 620px;
    }

}


/* MOBILE */

@media (max-width: 620px) {

    .pff-fast-hero {
        min-height: 500px;
    }

    .pff-fast-hero-copy {
        padding: 65px 0;
    }

    .pff-fast-hero h1 {
        font-size: 46px;
    }

    .pff-fast-hero p {
        font-size: 17px;
    }

    .pff-fast-intro,
    .pff-fast-explore,
    .pff-home-health {
        padding: 58px 0;
    }

    .pff-fast-card {
        min-height: 320px;
        padding: 30px 26px;
    }

    .pff-fast-card > span:last-child {
        left: 26px;
        bottom: 25px;
    }

    .pff-home-health-message {
        padding: 50px 32px 34px;
    }

    .pff-home-health-message::before {
        left: 32px;
        top: 30px;
    }

    .pff-home-health-message span,
    .pff-home-health-message strong {
        font-size: 34px;
    }

}


/* =========================================================
   HOME HEALTH PATHWAYS + SECTION JOIN
   ========================================================= */

.pff-health-pathways {
    padding: 36px 42px;
}

.pff-health-pathways::before {
    display: none;
}

.pff-health-pathway {
    padding: 20px 0;
    border-bottom: 1px solid rgba(23,61,43,.12);
}

.pff-health-pathway:first-child {
    padding-top: 0;
}

.pff-health-pathway:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.pff-health-pathway span {
    display: block;
    margin-bottom: 5px;
    color: #b78942;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .14em;
}

.pff-home-health .pff-health-pathway p {
    margin: 0;
    color: #173d2b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    line-height: 1.35;
}


/* Remove old cream separator above Animal Welfare */

.pff-fast-feature {
    margin-bottom: 0 !important;
}

.pff-fast-care,
.pff-fast-feature + .pff-fast-care {
    margin-top: 0 !important;
    border-top: 0 !important;
}


@media (max-width: 620px) {

    .pff-health-pathways {
        padding: 28px;
    }

    .pff-home-health .pff-health-pathway p {
        font-size: 19px;
    }

}


/* =========================================================
   HOMEPAGE BUSINESS GROWTH + GIVE BACK
   ========================================================= */

.pff-home-giveback {
    padding: 90px 0 95px;
    background: #f7f3e9;
}

.pff-giveback-grid {
    display: grid;
    grid-template-columns: minmax(320px,.85fr) minmax(0,1.15fr);
    gap: 100px;
    align-items: start;
}

.pff-giveback-heading h2 {
    max-width: 570px;
    margin: 14px 0 0;
    color: #173d2b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(40px,4vw,56px);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -.025em;
}

.pff-giveback-copy {
    max-width: 720px;
}

.pff-giveback-copy p {
    margin: 0 0 17px;
    color: #425249;
    font-size: 17px;
    line-height: 1.72;
}

.pff-giveback-copy .pff-giveback-lead {
    color: #173d2b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    line-height: 1.5;
}

.pff-giveback-copy > strong {
    display: block;
    margin-top: 26px;
    color: #173d2b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-weight: 400;
    line-height: 1.5;
}

.pff-giveback-flow {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    margin-top: 65px;
    border-top: 1px solid rgba(23,61,43,.16);
}

.pff-giveback-flow > div {
    min-height: 185px;
    padding: 28px 28px 20px 0;
    border-right: 1px solid rgba(23,61,43,.16);
}

.pff-giveback-flow > div:not(:first-child) {
    padding-left: 28px;
}

.pff-giveback-flow > div:last-child {
    border-right: 0;
}

.pff-giveback-flow span {
    display: block;
    margin-bottom: 18px;
    color: #b78942;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
}

.pff-giveback-flow strong {
    display: block;
    margin-bottom: 10px;
    color: #173d2b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.2;
}

.pff-giveback-flow p {
    max-width: 250px;
    margin: 0;
    color: #59665f;
    font-size: 14px;
    line-height: 1.55;
}


@media (max-width: 900px) {

    .pff-giveback-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .pff-giveback-flow {
        grid-template-columns: repeat(2,1fr);
    }

    .pff-giveback-flow > div:nth-child(2) {
        border-right: 0;
    }

}


@media (max-width: 620px) {

    .pff-home-giveback {
        padding: 60px 0;
    }

    .pff-giveback-flow {
        grid-template-columns: 1fr;
        margin-top: 45px;
    }

    .pff-giveback-flow > div,
    .pff-giveback-flow > div:not(:first-child) {
        min-height: 0;
        padding: 24px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(23,61,43,.14);
    }

    .pff-giveback-flow > div:last-child {
        border-bottom: 0;
    }

}


/* =========================================================
   GIVE BACK STORY - VISUAL EMPHASIS
   ========================================================= */

/* Stronger closing statement above steps */

.pff-giveback-copy > strong {
    position: relative;
    display: inline-block;
    padding-bottom: 12px;
    color: #173d2b;
    font-size: 20px;
}

.pff-giveback-copy > strong::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 74px;
    height: 3px;
    background: #b78942;
}


/* Four pathway columns */

.pff-giveback-flow > div {
    position: relative;
    padding-top: 100px;
    transition: background .2s ease;
}

.pff-giveback-flow > div:hover {
    background: rgba(255,255,255,.38);
}


/* Shared icon */

.pff-giveback-flow > div::before {
    content: "";
    position: absolute;
    top: 27px;
    left: 0;
    width: 48px;
    height: 48px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.pff-giveback-flow > div:not(:first-child)::before {
    left: 28px;
}


/* 01 Discover Local - location / home */

.pff-giveback-flow > div:nth-child(1)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23b78942' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 30 32 14l20 16'/%3E%3Cpath d='M18 27v23h28V27'/%3E%3Cpath d='M27 50V37h10v13'/%3E%3C/svg%3E");
}


/* 02 Grow Business - rising plant */

.pff-giveback-flow > div:nth-child(2)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23b78942' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 53V24'/%3E%3Cpath d='M32 34c-8 0-14-5-15-13 9-1 15 4 15 13Z'/%3E%3Cpath d='M32 27c1-8 7-13 16-12 0 8-6 13-16 12Z'/%3E%3Cpath d='M18 53h28'/%3E%3C/svg%3E");
}


/* 03 Build Future - generations / sunrise */

.pff-giveback-flow > div:nth-child(3)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23b78942' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 48h44'/%3E%3Cpath d='M18 48a14 14 0 0 1 28 0'/%3E%3Cpath d='M32 13v8M15 21l6 6M49 21l-6 6M9 36h8M47 36h8'/%3E%3C/svg%3E");
}


/* 04 Give Back - heart */

.pff-giveback-flow > div:nth-child(4)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23b78942' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 52S11 40 11 24c0-7 5-12 12-12 4 0 8 2 9 6 2-4 5-6 10-6 7 0 11 5 11 12 0 16-21 28-21 28Z'/%3E%3Cpath d='M23 31h18M32 22v18'/%3E%3C/svg%3E");
}


/* Numbers become small labels */

.pff-giveback-flow span {
    margin-bottom: 10px;
    font-size: 11px;
}


/* Stronger headings */

.pff-giveback-flow strong {
    font-size: 25px;
    line-height: 1.15;
}


/* Easier reading */

.pff-giveback-flow p {
    max-width: 260px;
    font-size: 15px;
    line-height: 1.6;
}


/* Give Back gets a little extra emphasis */

.pff-giveback-flow > div:nth-child(4) strong {
    color: #9a6c2d;
}


/* MOBILE */

@media (max-width: 620px) {

    .pff-giveback-flow > div,
    .pff-giveback-flow > div:not(:first-child) {
        padding-top: 88px;
    }

    .pff-giveback-flow > div::before,
    .pff-giveback-flow > div:not(:first-child)::before {
        top: 23px;
        left: 0;
    }

}


/* =========================================================
   HOMEPAGE TYPOGRAPHY STANDARD
   Serif headings + consistent premium body typography
   ========================================================= */

/* BODY COPY */

.pff-home p,
.pff-home li {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.7;
}


/* MAIN HEADINGS */

.pff-home h1,
.pff-home h2,
.pff-home h3 {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
}


/* SECTION LABELS / EYEBROWS */

.pff-home .eyebrow,
.pff-home .directory-label,
.pff-home .pff-fast-word,
.pff-home .pff-giveback-flow span,
.pff-home .pff-health-pathway span {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 800;
    letter-spacing: .14em;
}


/* INTRO */

.pff-fast-intro-copy,
.pff-fast-intro-copy p {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 17px;
    line-height: 1.7;
}


/* Intentional editorial statement */

.pff-home-principle {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    line-height: 1.5;
}


/* DIRECTORY CARDS */

.pff-fast-card h3 {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
}

.pff-fast-card p {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.65;
}


/* HEALTH */

.pff-home-health-copy p {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 17px;
    line-height: 1.7;
}

.pff-home-health .pff-health-pathway p {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    line-height: 1.4;
}


/* BUSINESS GROWTH / GIVE BACK */

.pff-giveback-copy p {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 17px;
    line-height: 1.7;
}

.pff-giveback-copy .pff-giveback-lead {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    line-height: 1.5;
}

.pff-giveback-copy > strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    line-height: 1.5;
}

.pff-giveback-flow strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    font-weight: 400;
    line-height: 1.2;
}

.pff-giveback-flow p {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.65;
}


/* FEATURE + ANIMAL WELFARE */

.pff-fast-feature p,
.pff-fast-care p,
.pff-fast-final p {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 17px;
    line-height: 1.7;
}


/* BUTTONS */

.pff-home .pff-fast-button,
.pff-home .pff-fast-card > span:last-child {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 700;
    letter-spacing: .06em;
}


/* MOBILE */

@media (max-width: 620px) {

    .pff-home p,
    .pff-home li,
    .pff-fast-intro-copy,
    .pff-fast-intro-copy p,
    .pff-home-health-copy p,
    .pff-giveback-copy p,
    .pff-fast-feature p,
    .pff-fast-care p,
    .pff-fast-final p {
        font-size: 16px;
        line-height: 1.65;
    }

    .pff-fast-card p,
    .pff-giveback-flow p {
        font-size: 15.5px;
        line-height: 1.6;
    }

}


/* =========================================================
   FOOTER TYPOGRAPHY STANDARD
   ========================================================= */

.pff-footer,
.pff-footer p,
.pff-footer li,
.pff-footer a {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.65;
}

.pff-footer h2,
.pff-footer h3,
.pff-footer h4,
.pff-footer .footer-title {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    line-height: 1.25;
}

.pff-footer h3,
.pff-footer h4,
.pff-footer .footer-title {
    font-size: 20px;
}

.pff-footer a {
    font-weight: 400;
}

.pff-footer a:hover {
    color: #d1a65c;
}

.pff-footer .footer-bottom,
.pff-footer .footer-bottom p,
.pff-footer .footer-bottom a {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.6;
}


/* Also catch older footer markup if it does not use .pff-footer */

.site-footer,
.site-footer p,
.site-footer li,
.site-footer a {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.65;
}

.site-footer h2,
.site-footer h3,
.site-footer h4 {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    line-height: 1.25;
}

.site-footer h3,
.site-footer h4 {
    font-size: 20px;
}

.site-footer .site-info,
.site-footer .site-info p,
.site-footer .site-info a {
    font-size: 14px;
}


@media (max-width: 620px) {

    .pff-footer,
    .pff-footer p,
    .pff-footer li,
    .pff-footer a,
    .site-footer,
    .site-footer p,
    .site-footer li,
    .site-footer a {
        font-size: 15.5px;
    }

}


/* =========================================================
   FOOTER TRANSPARENT LOGO
   ========================================================= */

.pff-footer-brand > a {
    display: inline-block;
    width: min(100%, 310px);
    margin-bottom: 22px;
}

.pff-footer-logo-image {
    display: block;
    width: 100%;
    max-width: 310px;
    height: auto;
    object-fit: contain;
}

@media (max-width: 620px) {

    .pff-footer-brand > a {
        width: min(100%, 270px);
    }

    .pff-footer-logo-image {
        max-width: 270px;
    }

}


/* =========================================================
   HEALTH PATHWAYS V2
   More visual, warmer, clearer
   ========================================================= */

.pff-health-pathways {
    padding: 22px 36px;
    overflow: hidden;
    background:
        linear-gradient(145deg, rgba(255,255,255,.96), rgba(250,248,239,.94));
}


/* Each option */

.pff-health-pathway {
    position: relative;
    min-height: 92px;
    padding: 20px 10px 20px 76px;
    border-bottom: 1px solid rgba(23,61,43,.12);
    transition:
        transform .2s ease,
        background .2s ease;
}

.pff-health-pathway:first-child {
    padding-top: 20px;
}

.pff-health-pathway:last-child {
    padding-bottom: 20px;
    border-bottom: 0;
}

.pff-health-pathway:hover {
    transform: translateX(4px);
}


/* Icon circles */

.pff-health-pathway::before {
    content: "";
    position: absolute;
    left: 4px;
    top: 50%;
    width: 48px;
    height: 48px;
    transform: translateY(-50%);
    border-radius: 50%;
    background-color: #eef4ed;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 27px 27px;
}


/* EAT WELL - leaf */

.pff-health-pathway:nth-child(1)::before {
    background-color: #e4efe2;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%232f6f4f' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M52 10C29 11 15 22 14 40c0 8 5 13 12 13 18-1 27-17 26-43Z'/%3E%3Cpath d='M14 54c8-15 18-25 32-34'/%3E%3C/svg%3E");
}


/* FEEL WELL - sun */

.pff-health-pathway:nth-child(2)::before {
    background-color: #f7edda;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23b78942' stroke-width='2.6' stroke-linecap='round'%3E%3Ccircle cx='32' cy='32' r='10'/%3E%3Cpath d='M32 8v8M32 48v8M8 32h8M48 32h8M15 15l6 6M43 43l6 6M49 15l-6 6M21 43l-6 6'/%3E%3C/svg%3E");
}


/* FIND CARE - medical cross */

.pff-health-pathway:nth-child(3)::before {
    background-color: #e5efec;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23173d2b' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='32' cy='32' r='22'/%3E%3Cpath d='M32 21v22M21 32h22'/%3E%3C/svg%3E");
}


/* Small category labels */

.pff-health-pathway span {
    display: block;
    margin: 0 0 5px !important;
    color: #b78942 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .14em !important;
}


/* Main pathway descriptions */

.pff-home-health .pff-health-pathway p {
    margin: 0 !important;
    color: #173d2b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    font-weight: 400;
    line-height: 1.35;
}


/* Individual subtle accents */

.pff-health-pathway:nth-child(1) span {
    color: #4f7d5d !important;
}

.pff-health-pathway:nth-child(2) span {
    color: #b78942 !important;
}

.pff-health-pathway:nth-child(3) span {
    color: #376958 !important;
}


/* MOBILE */

@media (max-width: 620px) {

    .pff-health-pathways {
        padding: 14px 22px;
    }

    .pff-health-pathway,
    .pff-health-pathway:first-child,
    .pff-health-pathway:last-child {
        min-height: 86px;
        padding: 18px 0 18px 64px;
    }

    .pff-health-pathway::before {
        left: 0;
        width: 42px;
        height: 42px;
        background-size: 23px 23px;
    }

    .pff-home-health .pff-health-pathway p {
        font-size: 18px;
    }

}


/* =========================================================
   PUREFARMFRESH BUSINESS INQUIRY
   ========================================================= */

.pff-business-inquiry {
    margin-top: 52px;
    padding: 38px;
    background: #f7f5ed;
    border: 1px solid rgba(30, 75, 55, 0.14);
    border-radius: 18px;
}

.pff-business-inquiry-label {
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.12em;
    color: #55715f;
}

.pff-business-inquiry h2 {
    margin: 0 0 10px;
    font-size: clamp(26px, 3vw, 36px);
    line-height: 1.15;
}

.pff-business-inquiry-intro {
    max-width: 680px;
    margin: 0 0 28px;
    font-size: 17px;
    line-height: 1.65;
    color: #4d574f;
}

.pff-business-inquiry-form {
    margin: 0;
}

.pff-inquiry-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.pff-business-inquiry-form label {
    display: block;
    margin-bottom: 7px;
    font-size: 14px;
    font-weight: 700;
    color: #263c30;
}

.pff-business-inquiry-form input,
.pff-business-inquiry-form select,
.pff-business-inquiry-form textarea {
    box-sizing: border-box;
    width: 100%;
    padding: 13px 14px;
    background: #fff;
    border: 1px solid #cdd5cf;
    border-radius: 8px;
    font: inherit;
    color: #26332b;
}

.pff-business-inquiry-form input:focus,
.pff-business-inquiry-form select:focus,
.pff-business-inquiry-form textarea:focus {
    outline: 2px solid rgba(55, 105, 75, 0.22);
    border-color: #557b62;
}

.pff-inquiry-message {
    margin-top: 20px;
}

.pff-business-inquiry-form textarea {
    min-height: 140px;
    resize: vertical;
}

.pff-business-inquiry-form button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 22px;
    padding: 14px 25px;
    border: 0;
    border-radius: 8px;
    background: #244d36;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
}

.pff-business-inquiry-form button:hover {
    opacity: 0.92;
}

.pff-inquiry-privacy {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid rgba(30, 75, 55, 0.14);
    color: #59635c;
    font-size: 14px;
    line-height: 1.6;
}

.pff-inquiry-privacy strong {
    display: block;
    margin-bottom: 4px;
    color: #31473a;
}

.pff-inquiry-privacy p {
    margin: 0;
}

.pff-inquiry-success,
.pff-inquiry-error {
    margin: 0 0 24px;
    padding: 15px 18px;
    border-radius: 8px;
}

.pff-inquiry-success {
    background: #e9f3eb;
    color: #244d36;
}

.pff-inquiry-success strong,
.pff-inquiry-success span {
    display: block;
}

.pff-inquiry-error {
    background: #f8ece8;
    color: #74392d;
}

.pff-inquiry-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

@media (max-width: 700px) {

    .pff-business-inquiry {
        margin-top: 36px;
        padding: 25px 20px;
    }

    .pff-inquiry-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .pff-business-inquiry-form button {
        width: 100%;
    }
}


/* =========================================================
   PUREFARMFRESH BUSINESS PROFILE
   ========================================================= */

.pff-business-profile {
    background: #fff;
    color: #26332b;
}

.pff-business-profile .pff-profile-container {
    width: min(1120px, calc(100% - 40px));
    margin: 0 auto;
}

.pff-business-hero {
    padding: 58px 0 46px;
    background: #f6f4eb;
    border-bottom: 1px solid rgba(36, 77, 54, 0.10);
}

.pff-profile-eyebrow {
    margin: 0 0 14px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
    color: #637566;
}

.pff-business-type {
    display: inline-flex;
    margin-bottom: 14px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #e5eee6;
    color: #31533c;
    font-size: 13px;
    font-weight: 800;
}

.pff-business-hero h1 {
    max-width: 850px;
    margin: 0;
    font-size: clamp(38px, 5vw, 64px);
    line-height: 1.04;
    letter-spacing: -.025em;
}

.pff-business-location {
    margin: 15px 0 0;
    font-size: 18px;
    color: #566259;
}

.pff-business-verified {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    font-size: 14px;
    font-weight: 700;
    color: #3c6548;
}

.pff-business-verified span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #dcebdd;
}

.pff-business-featured-image {
    margin-top: 42px;
}

.pff-business-featured-image img {
    display: block;
    width: 100%;
    max-height: 520px;
    object-fit: cover;
    border-radius: 16px;
}

.pff-business-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 42px;
}

.pff-business-detail-card {
    padding: 25px;
    border: 1px solid #dde3de;
    border-radius: 14px;
    background: #fff;
}

.pff-business-detail-card > span {
    display: block;
    margin-bottom: 9px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .1em;
    color: #617567;
}

.pff-business-detail-card p {
    margin: 0;
    font-size: 16px;
    line-height: 1.65;
    color: #47544b;
}

.pff-business-website {
    margin-top: 28px;
}

.pff-business-website a {
    display: inline-flex;
    padding: 12px 18px;
    border-radius: 8px;
    background: #244d36;
    color: #fff;
    font-weight: 800;
    text-decoration: none;
}

.pff-business-source {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: 30px;
    padding: 15px 18px;
    border-radius: 10px;
    background: #f5f6f2;
    color: #657068;
    font-size: 13px;
}

.pff-business-source strong {
    color: #3d4d42;
}

.pff-business-source span {
    margin-left: auto;
}

@media (max-width: 700px) {

    .pff-business-profile .pff-profile-container {
        width: min(100% - 28px, 1120px);
    }

    .pff-business-hero {
        padding: 40px 0 34px;
    }

    .pff-business-hero h1 {
        font-size: 38px;
    }

    .pff-business-details {
        grid-template-columns: 1fr;
    }

    .pff-business-source span {
        width: 100%;
        margin-left: 0;
    }
}


/* =========================================================
   BUSINESS INQUIRY PRIVACY FIX
   ========================================================= */

.pff-business-inquiry .pff-inquiry-privacy {
    display: block !important;
    width: 100% !important;
    max-width: 760px;
    margin-top: 25px;
    padding-top: 18px;
    border-top: 1px solid rgba(30, 75, 55, 0.14);
}

.pff-business-inquiry .pff-inquiry-privacy strong {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 0 5px !important;
    color: #31473a;
    font-size: 14px;
    line-height: 1.5;
}

.pff-business-inquiry .pff-inquiry-privacy p {
    display: block !important;
    width: 100% !important;
    max-width: 720px;
    margin: 0 !important;
    color: #59635c;
    font-size: 14px;
    line-height: 1.65;
}

.pff-business-inquiry-form textarea {
    min-height: 125px;
}


/* =========================================================
   PFF BUSINESS PROFILE V2
   PureBeef profile structure adapted for PureFarmFresh
   ========================================================= */

.single-pff_business .pff-business-profile {
    background: #f8f7f1;
    color: #33443a;
}

.single-pff_business .pff-profile-container {
    width: min(1120px, 88%);
    margin-left: auto;
    margin-right: auto;
}


/* HERO */

.single-pff_business .pff-business-hero {
    padding: 60px 6% 42px;
    background:
        radial-gradient(
            circle at 82% 18%,
            rgba(132, 166, 92, .18),
            transparent 36%
        ),
        #f2f0e5;
}

.single-pff_business .pff-business-hero .pff-profile-container {
    width: min(1200px, 100%);
}

.single-pff_business .pff-profile-eyebrow {
    margin-bottom: 13px;
    color: #7b8955;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.single-pff_business .pff-business-type {
    display: inline-block;
    margin: 0 0 14px;
    padding: 7px 13px;
    border-radius: 999px;
    background: #e2ead6;
    color: #34512f;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .03em;
}

.single-pff_business .pff-business-hero h1 {
    max-width: 950px;
    margin: 0;
    color: #20392c;
    font-family: Georgia, serif;
    font-size: clamp(44px, 6vw, 72px);
    font-weight: 500;
    line-height: 1.03;
}

.single-pff_business .pff-business-location {
    margin-top: 17px;
    color: #5d685f;
    font-size: 19px;
}

.single-pff_business .pff-business-verified {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 23px;
    padding-top: 16px;
    border-top: 1px solid rgba(50, 80, 58, .15);
    color: #55703f;
    font-size: 13px;
    font-weight: 700;
}


/* MAIN BUSINESS INFORMATION */

.single-pff_business .pff-business-profile > .pff-profile-container {
    padding-top: 48px;
    padding-bottom: 28px;
}

.single-pff_business .pff-business-featured-image {
    margin: 0 0 42px;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 12px 34px rgba(32, 57, 44, .10);
}

.single-pff_business .pff-business-featured-image img {
    display: block;
    width: 100%;
    max-height: 470px;
    object-fit: cover;
}

.single-pff_business .pff-business-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin: 0 0 30px;
    background: rgba(49, 76, 55, .13);
    border: 1px solid rgba(49, 76, 55, .10);
}

.single-pff_business .pff-business-detail-card {
    padding: 27px 30px;
    background: #fff;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.single-pff_business .pff-business-detail-card h2,
.single-pff_business .pff-business-detail-card h3 {
    margin: 0 0 10px;
    color: #71834e;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    line-height: 1.3;
    text-transform: uppercase;
}

.single-pff_business .pff-business-detail-card p {
    margin: 0;
    color: #3e4b43;
    font-size: 16px;
    line-height: 1.7;
}

.single-pff_business .pff-business-website {
    margin: 26px 0;
}

.single-pff_business .pff-business-website a {
    display: inline-flex;
    align-items: center;
    padding: 12px 21px;
    border-radius: 5px;
    background: #315c3c;
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
}

.single-pff_business .pff-business-website a:hover {
    background: #244b31;
}


/* SOURCE / VERIFICATION */

.single-pff_business .pff-business-source {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin: 28px 0 0;
    padding: 16px 20px;
    border: 1px solid #dddccf;
    border-radius: 8px;
    background: #f4f3eb;
    color: #687269;
    font-size: 13px;
    line-height: 1.5;
}

.single-pff_business .pff-business-source a {
    color: #315c3c;
    font-weight: 700;
}


/* LOCATION + MAP
   Same bottom-flow concept as PureBeef
*/

.single-pff_business .pff-business-connect-section {
    width: min(1180px, 100%);
    margin: 28px auto 0;
}

.single-pff_business .pff-business-connect-card {
    width: 100%;
    padding: 30px;
    overflow: hidden;
    border: 1px solid #deddd1;
    border-radius: 16px;
    background: #fff;
}

.single-pff_business .pff-business-section-label {
    margin-bottom: 10px;
    color: #71834e;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.single-pff_business .pff-business-section-label::before {
    content: "●";
    margin-right: 8px;
    color: #78a64e;
    font-size: 10px;
}

.single-pff_business .pff-business-location-title {
    margin: 0 0 20px;
    color: #20392c;
    font-family: Georgia, serif;
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 500;
    line-height: 1.1;
}

.single-pff_business .pff-business-map {
    width: 100%;
    height: 390px;
    min-height: 390px;
    margin-top: 18px;
    overflow: hidden;
    border-radius: 10px;
    background: #e8eadf;
}


/* INQUIRY
   Full width below map, matching final PureBeef flow
*/

.single-pff_business .pff-business-inquiry {
    display: block !important;
    width: min(1180px, 100%) !important;
    max-width: none !important;
    margin: 28px auto 0 !important;
    padding: 30px !important;
    border: 1px solid #deddd1 !important;
    border-top: 4px solid #315c3c !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.single-pff_business .pff-business-inquiry-label {
    margin: 0 0 9px !important;
    color: #71834e !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .17em !important;
    text-transform: uppercase;
}

.single-pff_business .pff-business-inquiry-label::before {
    content: "✉";
    margin-right: 8px;
    color: #78a64e;
}

.single-pff_business .pff-business-inquiry h2 {
    max-width: 760px;
    margin: 0 0 10px !important;
    color: #20392c !important;
    font-family: Georgia, serif !important;
    font-size: clamp(28px, 3vw, 40px) !important;
    font-weight: 500 !important;
    line-height: 1.12 !important;
}

.single-pff_business .pff-business-inquiry-intro {
    max-width: 700px;
    margin: 0 0 24px !important;
    color: #687269;
    font-size: 16px;
    line-height: 1.65;
}

.single-pff_business .pff-business-inquiry-form {
    width: 100%;
    max-width: none;
}

.single-pff_business .pff-inquiry-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 22px;
}

.single-pff_business .pff-business-inquiry-form label {
    display: block;
    margin-bottom: 7px;
    color: #39483e;
    font-size: 13px;
    font-weight: 700;
}

.single-pff_business .pff-business-inquiry-form input,
.single-pff_business .pff-business-inquiry-form select,
.single-pff_business .pff-business-inquiry-form textarea {
    box-sizing: border-box;
    width: 100%;
    border: 1px solid #ccd1c9;
    border-radius: 6px;
    background: #fff;
    color: #2f3d34;
    font: inherit;
}

.single-pff_business .pff-business-inquiry-form input,
.single-pff_business .pff-business-inquiry-form select {
    min-height: 46px;
    padding: 9px 12px;
}

.single-pff_business .pff-inquiry-message {
    margin-top: 18px;
}

.single-pff_business .pff-business-inquiry-form textarea {
    min-height: 125px !important;
    padding: 12px;
    resize: vertical;
}

.single-pff_business .pff-business-inquiry-form button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 18px;
    padding: 13px 24px;
    border: 0;
    border-radius: 5px;
    background: #315c3c;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

.single-pff_business .pff-business-inquiry-form button:hover {
    background: #244b31;
}


/* PRIVACY */

.single-pff_business .pff-business-inquiry .pff-inquiry-privacy {
    display: block !important;
    width: 100% !important;
    max-width: 760px !important;
    margin: 22px 0 0 !important;
    padding: 16px 18px !important;
    border: 0 !important;
    border-left: 3px solid #b6c69a !important;
    border-radius: 0 !important;
    background: #f6f7f1 !important;
    color: #657068 !important;
}

.single-pff_business .pff-business-inquiry .pff-inquiry-privacy strong {
    display: block !important;
    width: auto !important;
    margin: 0 0 5px !important;
    color: #405044 !important;
    font-size: 13px !important;
}

.single-pff_business .pff-business-inquiry .pff-inquiry-privacy p {
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    color: #687269 !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
}


/* MOBILE */

@media (max-width: 800px) {

    .single-pff_business .pff-business-hero {
        padding: 45px 7% 34px;
    }

    .single-pff_business .pff-business-hero h1 {
        font-size: clamp(38px, 11vw, 54px);
    }

    .single-pff_business .pff-business-profile > .pff-profile-container {
        width: 90%;
        padding-top: 34px;
    }

    .single-pff_business .pff-business-details,
    .single-pff_business .pff-inquiry-grid {
        grid-template-columns: 1fr;
    }

    .single-pff_business .pff-business-connect-card,
    .single-pff_business .pff-business-inquiry {
        padding: 22px !important;
    }

    .single-pff_business .pff-business-map {
        height: 310px;
        min-height: 310px;
    }

    .single-pff_business .pff-business-source {
        display: block;
    }

    .single-pff_business .pff-business-source span {
        display: block;
    }

    .single-pff_business .pff-business-source span + span {
        margin-top: 6px;
    }
}



/* =========================================================
   PFF BUSINESS PROFILE V2.2
   Business story + flexible facts
   ========================================================= */

.single-pff_business .pff-business-story {
    padding: 8px 0 34px;
}


/* Main narrative */

.single-pff_business .pff-business-story-main {
    max-width: 860px;
    padding: 10px 0 38px;
}

.single-pff_business .pff-business-story-main h2 {
    max-width: 800px;
    margin: 0 0 20px;
    color: #20392c;
    font-family: Georgia, serif;
    font-size: clamp(34px, 4vw, 50px);
    font-weight: 500;
    line-height: 1.08;
}

.single-pff_business .pff-business-story-copy {
    max-width: 760px;
    color: #4d5a51;
    font-size: 18px;
    line-height: 1.8;
}

.single-pff_business .pff-business-story-copy p {
    margin: 0 0 16px;
}


/* Contact CTA */

.single-pff_business .pff-business-story-button {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 22px;
    padding: 12px 21px;
    border-radius: 5px;
    background: #315c3c;
    color: #fff !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
    transition: background .2s ease, transform .2s ease;
}

.single-pff_business .pff-business-story-button span {
    color: #c8dca9;
    font-size: 16px;
}

.single-pff_business .pff-business-story-button:hover {
    background: #244b31;
    transform: translateY(-1px);
}


/* Supporting business facts */

.single-pff_business .pff-business-facts {
    display: grid;
    grid-template-columns:
        repeat(auto-fit, minmax(240px, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid rgba(49, 76, 55, .13);
    border-radius: 10px;
    background: rgba(49, 76, 55, .13);
}

.single-pff_business .pff-business-fact {
    min-height: 125px;
    padding: 25px 28px;
    background: #fff;
}

.single-pff_business .pff-business-fact span {
    display: block;
    margin-bottom: 11px;
    color: #71834e;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.single-pff_business .pff-business-fact p {
    margin: 0;
    color: #39483f;
    font-size: 16px;
    line-height: 1.65;
}


/* Give source bar breathing room after story */

.single-pff_business .pff-business-story
    + .pff-business-website {
    margin-top: 0;
}

.single-pff_business .pff-business-story
    ~ .pff-business-source {
    margin-top: 0;
}


/* Smooth jump to contact */

html {
    scroll-behavior: smooth;
}

#contact-this-business {
    scroll-margin-top: 35px;
}


/* Mobile */

@media (max-width: 800px) {

    .single-pff_business .pff-business-story {
        padding-bottom: 25px;
    }

    .single-pff_business .pff-business-story-main {
        padding-bottom: 28px;
    }

    .single-pff_business .pff-business-story-main h2 {
        font-size: clamp(30px, 9vw, 42px);
    }

    .single-pff_business .pff-business-story-copy {
        font-size: 17px;
        line-height: 1.7;
    }

    .single-pff_business .pff-business-facts {
        grid-template-columns: 1fr;
    }

    .single-pff_business .pff-business-fact {
        min-height: 0;
        padding: 22px;
    }
}



/* =========================================================
   PFF BUSINESS PROFILE V2.3
   Dark hero + modern PureFarmFresh typography
   ========================================================= */


/* DARK GREEN HERO */

body.single-pff_business .pff-business-hero {
    padding: 58px 6% 46px !important;
    background:
        radial-gradient(
            circle at 82% 18%,
            rgba(154, 184, 105, .20),
            transparent 36%
        ),
        #173c2d !important;
    color: #fff !important;
}

body.single-pff_business .pff-business-hero .pff-profile-container {
    width: min(1120px, 88%) !important;
    margin: 0 auto !important;
}


/* eyebrow */

body.single-pff_business .pff-profile-eyebrow {
    margin-bottom: 13px !important;
    color: #c7d89c !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .18em !important;
}


/* category */

body.single-pff_business .pff-business-type {
    margin-bottom: 17px !important;
    padding: 7px 13px !important;
    background: rgba(255,255,255,.10) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    color: #f2f5e9 !important;
    font-family: Arial, Helvetica, sans-serif !important;
}


/* BUSINESS NAME */

body.single-pff_business .pff-business-hero h1 {
    max-width: 960px !important;
    margin: 0 !important;
    color: #fff !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: clamp(42px, 5.4vw, 70px) !important;
    font-weight: 600 !important;
    letter-spacing: -.035em !important;
    line-height: 1.02 !important;
}


/* location */

body.single-pff_business .pff-business-location {
    margin-top: 17px !important;
    color: rgba(255,255,255,.82) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 17px !important;
}


/* verification line */

body.single-pff_business .pff-business-verified {
    display: flex !important;
    width: fit-content !important;
    margin-top: 27px !important;
    padding-top: 17px !important;
    padding-right: 30px !important;
    border-top: 1px solid rgba(255,255,255,.20) !important;
    color: rgba(255,255,255,.72) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

body.single-pff_business .pff-business-verified::first-letter {
    color: #c8dda0;
}


/* =========================================================
   STORY
   ========================================================= */

body.single-pff_business .pff-business-profile
    > .pff-profile-container {
    padding-top: 48px !important;
}

body.single-pff_business .pff-business-story {
    padding: 0 0 32px !important;
}


/* label */

body.single-pff_business .pff-business-section-label {
    margin-bottom: 12px !important;
    color: #71834e !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .17em !important;
    text-transform: uppercase !important;
}


/* story title */

body.single-pff_business .pff-business-story-main h2 {
    max-width: 800px !important;
    margin: 0 0 18px !important;

    color: #20392c !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: clamp(30px, 3.5vw, 44px) !important;
    font-weight: 600 !important;
    letter-spacing: -.025em !important;
    line-height: 1.08 !important;
}


/* story copy */

body.single-pff_business .pff-business-story-copy {
    max-width: 800px !important;
    color: #46544b !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 18px !important;
    line-height: 1.7 !important;
}


/* FACTS */

body.single-pff_business .pff-business-facts {
    grid-template-columns:
        repeat(auto-fit, minmax(260px, 1fr)) !important;
    gap: 16px !important;

    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

body.single-pff_business .pff-business-fact {
    min-height: 0 !important;
    padding: 22px 24px !important;

    border: 1px solid #dfe2d9 !important;
    border-radius: 10px !important;
    background: #fff !important;
}

body.single-pff_business .pff-business-fact span {
    color: #71834e !important;
    font-family: Arial, Helvetica, sans-serif !important;
}

body.single-pff_business .pff-business-fact p {
    color: #39483f !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
}


/* =========================================================
   MAP TYPOGRAPHY
   ========================================================= */

body.single-pff_business .pff-business-location-title {
    color: #20392c !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: clamp(28px, 3vw, 38px) !important;
    font-weight: 600 !important;
    letter-spacing: -.025em !important;
}


/* =========================================================
   INQUIRY TYPOGRAPHY
   ========================================================= */

body.single-pff_business .pff-business-inquiry h2 {
    color: #20392c !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: clamp(28px, 3vw, 38px) !important;
    font-weight: 600 !important;
    letter-spacing: -.025em !important;
}


/* MOBILE */

@media (max-width: 800px) {

    body.single-pff_business .pff-business-hero {
        padding: 42px 7% 34px !important;
    }

    body.single-pff_business .pff-business-hero h1 {
        font-size: clamp(38px, 11vw, 52px) !important;
    }

    body.single-pff_business .pff-business-profile
        > .pff-profile-container {
        padding-top: 34px !important;
    }

    body.single-pff_business .pff-business-facts {
        grid-template-columns: 1fr !important;
    }
}



/* =========================================================
   PFF LEARN LIBRARY V1
   ========================================================= */

.pff-library-hero {
    background: #173c2d;
    color: #fff;
    padding: 68px 24px 64px;
}

.pff-library-hero-inner,
.pff-library-inner {
    width: min(1160px, 100%);
    margin: 0 auto;
}

.pff-library-back {
    display: inline-block;
    margin-bottom: 36px;
    color: rgba(255,255,255,.72);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

.pff-library-back:hover {
    color: #fff;
}

.pff-library-eyebrow {
    margin-bottom: 14px;
    color: #cbdc9b;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .15em;
}

.pff-library-hero h1 {
    max-width: 820px;
    margin: 0 0 18px;
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(42px, 5.5vw, 66px);
    line-height: 1.04;
    font-weight: 600;
    letter-spacing: -.035em;
}

.pff-library-hero p {
    max-width: 760px;
    margin: 0;
    color: rgba(255,255,255,.82);
    font-size: 18px;
    line-height: 1.65;
}

.pff-library-count {
    display: inline-block;
    margin-top: 27px;
    padding: 8px 14px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    color: rgba(255,255,255,.9);
    font-size: 13px;
    font-weight: 700;
}

.pff-library-content {
    background: #f7f6f1;
    padding: 58px 24px 80px;
}

.pff-library-list {
    overflow: hidden;
    border: 1px solid #dedfd8;
    border-radius: 18px;
    background: #fff;
}

.pff-library-card {
    display: grid;
    grid-template-columns: 58px minmax(0,1fr) 36px;
    gap: 20px;
    align-items: center;
    padding: 25px 28px;
    border-bottom: 1px solid #e7e7e1;
    color: #173c2d;
    text-decoration: none;
}

.pff-library-card:last-child {
    border-bottom: 0;
}

.pff-library-card:hover {
    background: #f1f5eb;
}

.pff-library-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #edf2e4;
    color: #577036;
    font-size: 13px;
    font-weight: 800;
}

.pff-library-card-content {
    display: block;
    min-width: 0;
}

.pff-library-card-title {
    display: block;
    margin-bottom: 7px;
    color: #173c2d;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 700;
}

.pff-library-card-excerpt {
    display: block;
    max-width: 820px;
    color: #66706a;
    font-size: 15px;
    line-height: 1.55;
}

.pff-library-arrow {
    color: #71834a;
    font-size: 23px;
    transition: transform .18s ease;
}

.pff-library-card:hover
.pff-library-arrow {
    transform: translateX(4px);
}

.pff-library-principle {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    margin-top: 38px;
    padding: 27px 4px;
    border-top: 1px solid #d9ddd2;
}

.pff-library-principle span {
    color: #74806e;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
}

.pff-library-principle strong {
    color: #173c2d;
    font-size: 18px;
    font-weight: 600;
}

.pff-library-empty {
    padding: 45px;
    border: 1px solid #dedfd8;
    border-radius: 18px;
    background: #fff;
}

@media (max-width: 700px) {

    .pff-library-hero {
        padding: 46px 20px 44px;
    }

    .pff-library-back {
        margin-bottom: 28px;
    }

    .pff-library-hero h1 {
        font-size: 40px;
    }

    .pff-library-hero p {
        font-size: 17px;
    }

    .pff-library-content {
        padding: 34px 16px 54px;
    }

    .pff-library-card {
        grid-template-columns:
            42px minmax(0,1fr);

        gap: 15px;
        padding: 21px 17px;
    }

    .pff-library-number {
        width: 40px;
        height: 40px;
    }

    .pff-library-card-title {
        font-size: 18px;
    }

    .pff-library-card-excerpt {
        font-size: 14px;
    }

    .pff-library-arrow {
        display: none;
    }

    .pff-library-principle {
        display: block;
    }

    .pff-library-principle span,
    .pff-library-principle strong {
        display: block;
    }

    .pff-library-principle strong {
        margin-top: 9px;
    }
}


/* =========================================================
   PUREFARMFRESH LEARN ARTICLE V1
   FINAL PRESENTATION LAYER
   ========================================================= */

/* ---------- ARTICLE TOP ---------- */

.pblearn-article-topline {
    width: min(1160px, calc(100% - 48px)) !important;
    margin: 46px auto 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
}

.pblearn-article-kicker {
    margin: 0 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
    color: #60764f !important;
}

.pblearn-top-next {
    font-family: Arial, Helvetica, sans-serif !important;
}


/* ---------- TITLE ---------- */

.pblearn-article-title {
    width: min(1160px, calc(100% - 48px)) !important;
    max-width: 1160px !important;
    margin: 0 auto 42px !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(42px, 5.2vw, 66px) !important;
    line-height: 1.04 !important;
    font-weight: 600 !important;
    letter-spacing: -.035em !important;

    color: #173c2d !important;
}


/* ---------- MAIN READING LAYOUT ---------- */

.pblearn-article-wrap {
    width: min(1160px, calc(100% - 48px)) !important;
    max-width: 1160px !important;
    margin: 0 auto !important;

    display: grid !important;
    grid-template-columns: minmax(0, 760px) 260px !important;
    justify-content: space-between !important;
    gap: 72px !important;
    align-items: start !important;
}


/* ---------- ARTICLE BODY ---------- */

.pblearn-article-body,
.pblearn-article-body .pbl-article {
    font-family: Arial, Helvetica, sans-serif !important;
    color: #3f4944 !important;
}

.pblearn-article-body {
    min-width: 0 !important;
    font-size: 17px !important;
    line-height: 1.76 !important;
}

.pblearn-article-body p {
    margin: 0 0 24px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 17px !important;
    line-height: 1.76 !important;
    color: #3f4944 !important;
}

.pblearn-article-body .pbl-intro {
    margin: 0 0 38px !important;
    padding: 0 0 30px !important;

    border-bottom: 1px solid #dde2d8 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 20px !important;
    line-height: 1.65 !important;
    font-weight: 400 !important;

    color: #53615a !important;
}


/* ---------- HEADINGS ---------- */

.pblearn-article-body h2 {
    margin: 52px 0 18px !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 29px !important;
    line-height: 1.18 !important;
    font-weight: 700 !important;
    letter-spacing: -.018em !important;

    color: #234c39 !important;
}

.pblearn-article-body h3 {
    margin: 36px 0 14px !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 22px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;

    color: #315440 !important;
}


/* ---------- LISTS ---------- */

.pblearn-article-body ul,
.pblearn-article-body ol {
    margin: 0 0 26px !important;
    padding-left: 25px !important;
}

.pblearn-article-body li {
    margin-bottom: 9px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 17px !important;
    line-height: 1.65 !important;
}


/* ---------- BODY LINKS ---------- */

.pblearn-article-body a {
    color: #356b50 !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 3px !important;
}

.pblearn-article-body a:hover {
    color: #173c2d !important;
}


/* ---------- TABLE OF CONTENTS ---------- */

.pblearn-article-toc {
    position: sticky !important;
    top: 110px !important;

    margin: 0 !important;
    padding: 24px 22px !important;

    background: #f7f6f1 !important;
    border: 1px solid #dfe2d9 !important;
    border-radius: 14px !important;

    box-shadow: none !important;

    font-family: Arial, Helvetica, sans-serif !important;
}

.pblearn-article-toc strong,
.pblearn-article-toc h2,
.pblearn-article-toc h3 {
    font-family: Arial, Helvetica, sans-serif !important;
    color: #173c2d !important;
}

.pblearn-article-toc strong {
    display: block !important;
    margin-bottom: 14px !important;

    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.pblearn-article-toc ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.pblearn-article-toc li {
    margin: 0 !important;
    padding: 0 !important;
}

.pblearn-article-toc a {
    display: block !important;
    padding: 8px 0 !important;

    border-bottom: 1px solid #e2e4dd !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;

    color: #55635b !important;
    text-decoration: none !important;
}

.pblearn-article-toc li:last-child a {
    border-bottom: 0 !important;
}

.pblearn-article-toc a:hover {
    color: #173c2d !important;
}


/* ---------- SOURCES ---------- */

.pbl-references {
    margin: 54px 0 0 !important;
    padding: 30px 32px !important;

    background: #f3f5ee !important;
    border: 1px solid #d9dfd2 !important;
    border-radius: 14px !important;

    font-family: Arial, Helvetica, sans-serif !important;
}

.pbl-references h2 {
    margin: 0 0 14px !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;

    color: #173c2d !important;
}

.pbl-references p,
.pbl-references li {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

.pbl-references ul {
    margin: 15px 0 18px !important;
    padding-left: 20px !important;
}

.pbl-references a {
    color: #356b50 !important;
}


/* ---------- RELATED CONTENT ---------- */

.pbl-related {
    width: min(1160px, calc(100% - 48px)) !important;
    max-width: 1160px !important;
    margin: 68px auto 0 !important;

    font-family: Arial, Helvetica, sans-serif !important;
}

.pbl-related-label {
    font-family: Arial, Helvetica, sans-serif !important;
    color: #6c7c70 !important;
}

.pbl-related > h2 {
    font-family: Arial, Helvetica, sans-serif !important;
    color: #173c2d !important;
}

.pbl-related-links > a,
.pbl-related-links > a > span,
.pbl-related-links > a > strong {
    font-family: Arial, Helvetica, sans-serif !important;
}


/* ---------- BACK + PREVIOUS/NEXT ---------- */

.pbl-back,
.pblearn-article-nav {
    width: min(1160px, calc(100% - 48px)) !important;
    max-width: 1160px !important;
    margin-left: auto !important;
    margin-right: auto !important;

    font-family: Arial, Helvetica, sans-serif !important;
}

.pbl-back a,
.pblearn-article-nav a {
    font-family: Arial, Helvetica, sans-serif !important;
}


/* ---------- MOBILE ---------- */

@media (max-width: 850px) {

    .pblearn-article-topline,
    .pblearn-article-title,
    .pblearn-article-wrap,
    .pbl-related,
    .pbl-back,
    .pblearn-article-nav {
        width: calc(100% - 36px) !important;
    }

    .pblearn-article-topline {
        margin-top: 30px !important;
    }

    .pblearn-article-title {
        margin-bottom: 30px !important;
        font-size: clamp(36px, 10vw, 50px) !important;
    }

    .pblearn-article-wrap {
        display: block !important;
    }

    .pblearn-article-toc {
        position: static !important;
        margin: 0 0 38px !important;
    }

    .pblearn-article-body {
        font-size: 16px !important;
    }

    .pblearn-article-body p,
    .pblearn-article-body li {
        font-size: 16px !important;
    }

    .pblearn-article-body .pbl-intro {
        font-size: 18px !important;
    }

    .pblearn-article-body h2 {
        margin-top: 42px !important;
        font-size: 26px !important;
    }

    .pbl-references {
        padding: 24px 22px !important;
    }
}

@media (max-width: 560px) {

    .pblearn-article-topline {
        display: block !important;
    }

    .pblearn-top-next {
        margin-top: 14px !important;
    }

    .pblearn-article-title {
        font-size: 36px !important;
        line-height: 1.08 !important;
    }
}


/* =========================================================
   END PUREFARMFRESH LEARN ARTICLE V1
   ========================================================= */


/* =========================================================
   PUREFARMFRESH LEARN ARTICLE V1.1
   READING REFINEMENT
   ========================================================= */

.pblearn-article-body .pbl-intro {
    max-width: 720px !important;
    margin-bottom: 34px !important;
    padding-bottom: 30px !important;
}

.pblearn-article-body .pbl-intro + p {
    margin-top: 0 !important;
}

.pblearn-article-body .pbl-intro + h2 {
    margin-top: 36px !important;
}

.pblearn-article-body > p:first-of-type:not(.pbl-intro) {
    margin-top: 0 !important;
}


/* =========================================================
   END PUREFARMFRESH LEARN ARTICLE V1.1
   ========================================================= */

/* ==========================================================
   PFF CLEAN BUSINESS PROFILE
   PureBeef-inspired editorial presentation
   ========================================================== */

.pff-business-profile {
    background: #f8f6ef;
}

.pff-business-profile .pff-profile-container {
    max-width: 1180px;
    margin: 0 auto;
    padding-left: 28px;
    padding-right: 28px;
}

/* Story */

.pff-business-story {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
    gap: 56px;
    padding: 58px 0;
    align-items: start;
    border: 0;
}

.pff-business-story-main {
    max-width: 700px;
}

.pff-business-section-label {
    margin-bottom: 14px;
    color: #9a6c32;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.pff-business-story h2 {
    margin: 0 0 22px;
    color: #153f34;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.06;
    letter-spacing: -.035em;
}

.pff-business-story-copy {
    color: #304a42;
    font-size: 18px;
    line-height: 1.75;
}

/* PureBeef style facts, not giant cards */

.pff-business-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-self: stretch;
    border-top: 1px solid #ddd8ca;
    border-left: 1px solid #ddd8ca;
}

.pff-business-fact {
    min-height: 112px;
    padding: 24px 26px;
    background: rgba(255,255,255,.48);
    border-right: 1px solid #ddd8ca;
    border-bottom: 1px solid #ddd8ca;
}

.pff-business-fact span {
    display: block;
    margin-bottom: 10px;
    color: #9a6c32;
    font-size: 11px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.pff-business-fact p {
    margin: 0;
    color: #173f35;
    font-size: 16px;
    line-height: 1.55;
}

/* Website */

.pff-business-website {
    margin: 4px 0 44px;
}

.pff-business-website a {
    display: inline-flex;
    padding: 14px 20px;
    background: #174c3d;
    color: #fff !important;
    border-radius: 5px;
    text-decoration: none;
    font-weight: 700;
}

/* Source */

.pff-business-source {
    margin: 0 0 48px;
    padding: 18px 0;
    border-top: 1px solid #ddd8ca;
    border-bottom: 1px solid #ddd8ca;
    color: #51665f;
    font-size: 14px;
}

.pff-business-source strong {
    color: #173f35;
}

.pff-business-source span {
    margin-left: 20px;
}

/* Location and map */

.pff-business-connect-section {
    padding: 10px 0 58px;
}

.pff-business-connect-card {
    background: transparent;
    border: 0;
    box-shadow: none;
}

.pff-business-location-title {
    margin: 0 0 24px;
    color: #153f34;
    font-size: clamp(30px, 3vw, 44px);
}

.pff-business-map {
    width: 100%;
    height: 460px !important;
    min-height: 460px;
    border-radius: 16px;
    overflow: hidden;
    background: #e6e8df;
}

/* Inquiry */

.pff-business-inquiry {
    margin-top: 10px;
}

/* Mobile */

@media (max-width: 820px) {

    .pff-business-story {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 42px 0;
    }

    .pff-business-facts {
        grid-template-columns: 1fr;
    }

    .pff-business-map {
        height: 340px !important;
        min-height: 340px;
    }

    .pff-business-source span {
        display: block;
        margin: 6px 0 0;
    }
}


/* ==========================================================
   PFF BUSINESS PROFILE - INQUIRY
   ========================================================== */

.single-pff_business .pff-business-inquiry {
    max-width: 1064px;
    margin: 54px auto 72px;
    padding: 48px 52px;
    background: #173f32;
    border-radius: 18px;
    color: #fff;
}

.single-pff_business .pff-business-inquiry-label {
    margin: 0 0 10px;
    color: #d4c57c;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.single-pff_business .pff-business-inquiry h2 {
    margin: 0 0 12px;
    color: #fff;
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.08;
}

.single-pff_business .pff-business-inquiry-intro {
    max-width: 700px;
    margin: 0 0 30px;
    color: rgba(255,255,255,.82);
    font-size: 17px;
    line-height: 1.65;
}

.single-pff_business .pff-business-inquiry-form {
    margin-top: 28px;
}

.single-pff_business .pff-inquiry-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 20px;
}

.single-pff_business .pff-business-inquiry-form label {
    display: block;
    margin-bottom: 7px;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}

.single-pff_business .pff-business-inquiry-form input,
.single-pff_business .pff-business-inquiry-form textarea {
    box-sizing: border-box;
    width: 100%;
    padding: 13px 15px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 9px;
    background: #fff;
    color: #173f32;
    font: inherit;
}

.single-pff_business .pff-business-inquiry-form input:focus,
.single-pff_business .pff-business-inquiry-form textarea:focus {
    outline: none;
    border-color: #d4c57c;
    box-shadow: 0 0 0 3px rgba(212,197,124,.18);
}

.single-pff_business .pff-business-inquiry-form textarea {
    min-height: 150px;
    resize: vertical;
}

.single-pff_business .pff-business-inquiry-form button,
.single-pff_business .pff-business-inquiry-form input[type="submit"] {
    width: auto;
    margin-top: 10px;
    padding: 14px 24px;
    border: 0;
    border-radius: 8px;
    background: #f4f0df;
    color: #173f32;
    font-weight: 800;
    cursor: pointer;
}

.single-pff_business .pff-inquiry-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

@media (max-width: 720px) {
    .single-pff_business .pff-business-inquiry {
        margin: 36px 18px 50px;
        padding: 34px 24px;
    }

    .single-pff_business .pff-inquiry-grid {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================
   PFF BUSINESS INQUIRY - FINAL LAYOUT OVERRIDE
   ========================================================== */

body.single-pff_business section.pff-business-inquiry {
    box-sizing: border-box !important;
    display: block !important;
    width: calc(100% - 40px) !important;
    max-width: 1064px !important;
    margin: 48px auto 72px !important;
    padding: 42px 48px !important;
    background: #ffffff !important;
    border: 1px solid #d9d9cc !important;
    border-top: 4px solid #356247 !important;
    border-radius: 16px !important;
    color: #173f32 !important;
}

body.single-pff_business .pff-business-inquiry-label {
    display: block !important;
    margin: 0 0 10px !important;
    color: #6f7737 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}

body.single-pff_business .pff-business-inquiry h2 {
    display: block !important;
    margin: 0 0 10px !important;
    color: #123d32 !important;
    font-size: clamp(28px, 3vw, 38px) !important;
    line-height: 1.15 !important;
}

body.single-pff_business .pff-business-inquiry-intro {
    display: block !important;
    max-width: 720px !important;
    margin: 0 0 28px !important;
    color: #53615a !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
}

body.single-pff_business form.pff-business-inquiry-form {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-pff_business .pff-inquiry-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px 24px !important;
    width: 100% !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
}

body.single-pff_business .pff-inquiry-grid > div,
body.single-pff_business .pff-inquiry-message {
    display: block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    transform: none !important;
}

body.single-pff_business .pff-business-inquiry-form label {
    display: block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 0 7px !important;
    color: #173f32 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body.single-pff_business .pff-business-inquiry-form input:not([type="hidden"]),
body.single-pff_business .pff-business-inquiry-form select,
body.single-pff_business .pff-business-inquiry-form textarea {
    box-sizing: border-box !important;
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    border: 1px solid #cdd2ca !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #173f32 !important;
    font: inherit !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

body.single-pff_business .pff-business-inquiry-form select {
    cursor: pointer !important;
}

body.single-pff_business .pff-inquiry-message {
    margin-top: 4px !important;
}

body.single-pff_business .pff-business-inquiry-form textarea {
    min-height: 140px !important;
    resize: vertical !important;
}

body.single-pff_business .pff-business-inquiry-form input:focus,
body.single-pff_business .pff-business-inquiry-form select:focus,
body.single-pff_business .pff-business-inquiry-form textarea:focus {
    outline: none !important;
    border-color: #668151 !important;
    box-shadow: 0 0 0 3px rgba(102,129,81,.12) !important;
}

/* Keep only the anti-spam field hidden */
body.single-pff_business .pff-inquiry-honeypot {
    display: none !important;
}

body.single-pff_business .pff-business-inquiry-form button,
body.single-pff_business .pff-business-inquiry-form input[type="submit"] {
    display: inline-block !important;
    width: auto !important;
    min-height: 46px !important;
    margin: 20px 0 0 !important;
    padding: 13px 24px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #173f32 !important;
    color: #fff !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}

body.single-pff_business .pff-inquiry-privacy {
    box-sizing: border-box !important;
    display: block !important;
    max-width: 760px !important;
    margin: 22px 0 0 !important;
    padding: 15px 18px !important;
    background: #f5f6f1 !important;
    border-left: 3px solid #a8bd83 !important;
    color: #405048 !important;
}

@media (max-width: 720px) {

    body.single-pff_business section.pff-business-inquiry {
        width: calc(100% - 28px) !important;
        margin: 34px auto 50px !important;
        padding: 30px 22px !important;
    }

    body.single-pff_business .pff-inquiry-grid {
        grid-template-columns: 1fr !important;
    }
}


/* ==========================================================
   PFF BUSINESS INQUIRY - FINAL LAYOUT OVERRIDE
   ========================================================== */

body.single-pff_business section.pff-business-inquiry {
    box-sizing: border-box !important;
    display: block !important;
    width: calc(100% - 40px) !important;
    max-width: 1064px !important;
    margin: 48px auto 72px !important;
    padding: 42px 48px !important;
    background: #ffffff !important;
    border: 1px solid #d9d9cc !important;
    border-top: 4px solid #356247 !important;
    border-radius: 16px !important;
    color: #173f32 !important;
}

body.single-pff_business .pff-business-inquiry-label {
    display: block !important;
    margin: 0 0 10px !important;
    color: #6f7737 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}

body.single-pff_business .pff-business-inquiry h2 {
    display: block !important;
    margin: 0 0 10px !important;
    color: #123d32 !important;
    font-size: clamp(28px, 3vw, 38px) !important;
    line-height: 1.15 !important;
}

body.single-pff_business .pff-business-inquiry-intro {
    display: block !important;
    max-width: 720px !important;
    margin: 0 0 28px !important;
    color: #53615a !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
}

body.single-pff_business form.pff-business-inquiry-form {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-pff_business .pff-inquiry-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px 24px !important;
    width: 100% !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
}

body.single-pff_business .pff-inquiry-grid > div,
body.single-pff_business .pff-inquiry-message {
    display: block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    transform: none !important;
}

body.single-pff_business .pff-business-inquiry-form label {
    display: block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 0 7px !important;
    color: #173f32 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body.single-pff_business .pff-business-inquiry-form input:not([type="hidden"]),
body.single-pff_business .pff-business-inquiry-form select,
body.single-pff_business .pff-business-inquiry-form textarea {
    box-sizing: border-box !important;
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    border: 1px solid #cdd2ca !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #173f32 !important;
    font: inherit !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

body.single-pff_business .pff-business-inquiry-form select {
    cursor: pointer !important;
}

body.single-pff_business .pff-inquiry-message {
    margin-top: 4px !important;
}

body.single-pff_business .pff-business-inquiry-form textarea {
    min-height: 140px !important;
    resize: vertical !important;
}

body.single-pff_business .pff-business-inquiry-form input:focus,
body.single-pff_business .pff-business-inquiry-form select:focus,
body.single-pff_business .pff-business-inquiry-form textarea:focus {
    outline: none !important;
    border-color: #668151 !important;
    box-shadow: 0 0 0 3px rgba(102,129,81,.12) !important;
}

/* Keep only the anti-spam field hidden */
body.single-pff_business .pff-inquiry-honeypot {
    display: none !important;
}

body.single-pff_business .pff-business-inquiry-form button,
body.single-pff_business .pff-business-inquiry-form input[type="submit"] {
    display: inline-block !important;
    width: auto !important;
    min-height: 46px !important;
    margin: 20px 0 0 !important;
    padding: 13px 24px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #173f32 !important;
    color: #fff !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}

body.single-pff_business .pff-inquiry-privacy {
    box-sizing: border-box !important;
    display: block !important;
    max-width: 760px !important;
    margin: 22px 0 0 !important;
    padding: 15px 18px !important;
    background: #f5f6f1 !important;
    border-left: 3px solid #a8bd83 !important;
    color: #405048 !important;
}

@media (max-width: 720px) {

    body.single-pff_business section.pff-business-inquiry {
        width: calc(100% - 28px) !important;
        margin: 34px auto 50px !important;
        padding: 30px 22px !important;
    }

    body.single-pff_business .pff-inquiry-grid {
        grid-template-columns: 1fr !important;
    }
}


/* =========================================================
   PureFarmFresh category SVG icons
   ========================================================= */

.pff-card-placeholder-icon .pff-category-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
}

.pff-card-placeholder-icon .pff-category-icon svg {
    display: block;
    width: 34px;
    height: 34px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================================
   PureFarmFresh Directory View Switch
   ========================================================= */

.pff-directory-view-switch {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    margin: 24px 0 10px;
}

.pff-view-button {
    appearance: none;
    border: 1px solid #d8d2c5;
    background: #fff;
    padding: 9px 18px;
    border-radius: 999px;
    cursor: pointer;
    font: inherit;
    font-weight: 600;
    line-height: 1.2;
}

.pff-view-button:hover {
    border-color: #b4975a;
}

.pff-view-button.is-active {
    background: #b4975a;
    border-color: #b4975a;
    color: #fff;
}

/* Cards remain the normal/default layout. */
.pff-directory-view-cards .farm-directory-grid {
    display: grid;
}

/* Compact scanning layout. */
.pff-directory-view-list .farm-directory-grid {
    display: block;
}

.pff-directory-view-list .farm-card {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    margin-bottom: 14px;
    overflow: hidden;
}

.pff-directory-view-list .farm-card-image {
    height: 100%;
    min-height: 130px;
}

.pff-directory-view-list .farm-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Map view focuses attention on the existing full-result map. */
body.pff-map-view-active #directory-map {
    width: 100%;
}

body.pff-map-view-active #directory-listings {
    display: none;
}

@media (max-width: 700px) {
    .pff-directory-view-switch {
        justify-content: stretch;
    }

    .pff-view-button {
        flex: 1 1 0;
        padding-left: 10px;
        padding-right: 10px;
    }

    .pff-directory-view-list .farm-card {
        grid-template-columns: 95px minmax(0, 1fr);
    }
}


/* =========================================================
   Directory Search / Clear Filters
   ========================================================= */

.pff-sidebar-search-button,
.pff-clear-filters {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
}

.pff-clear-filters {
    margin-top: 10px;
    padding: 11px 16px;
    border: 1px solid #d8d2c5;
    border-radius: 6px;
    background: #fff;
    text-align: center;
    text-decoration: none;
    font-weight: 600;
    line-height: 1.2;
}

.pff-clear-filters:hover {
    border-color: #b4975a;
}

/* =========================================================
   Clear Filters - full separate row
   ========================================================= */

.pff-sidebar-keyword {
    width: 100%;
}

.pff-sidebar-keyword input[type="search"] {
    width: 100%;
    box-sizing: border-box;
}

.pff-sidebar-search-button {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    margin-top: 8px;
}

.pff-clear-filters {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;

    clear: both;
    margin: 12px 0 0;
    padding: 11px 16px;

    border: 1px solid #c8a45a;
    border-radius: 5px;
    background: transparent;

    color: #6f541b;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}

.pff-clear-filters:hover,
.pff-clear-filters:focus {
    background: #f7f3e8;
    border-color: #a98436;
    color: #4f3a10;
    text-decoration: none;
}


/* =========================================================
   Clear Filters - full separate row
   ========================================================= */

.pff-sidebar-keyword {
    width: 100%;
}

.pff-sidebar-keyword input[type="search"] {
    width: 100%;
    box-sizing: border-box;
}

.pff-sidebar-search-button {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    margin-top: 8px;
}

.pff-clear-filters {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;

    clear: both;
    margin: 12px 0 0;
    padding: 11px 16px;

    border: 1px solid #c8a45a;
    border-radius: 5px;
    background: transparent;

    color: #6f541b;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}

.pff-clear-filters:hover,
.pff-clear-filters:focus {
    background: #f7f3e8;
    border-color: #a98436;
    color: #4f3a10;
    text-decoration: none;
}


/* Clear Filters final layout */
.pff-sidebar-keyword {
    display: block !important;
    width: 100% !important;
}

.pff-sidebar-keyword .pff-sidebar-search-button,
.pff-sidebar-keyword .pff-clear-filters {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    box-sizing: border-box !important;
    align-items: center;
    justify-content: center;
}

.pff-sidebar-keyword .pff-clear-filters {
    margin: 10px 0 0 !important;
    padding: 11px 14px !important;
    min-height: 42px;

    border: 1px solid #c8a45a !important;
    border-radius: 5px !important;
    background: #fff !important;

    color: #6b511b !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .08em;
    text-decoration: none !important;
    text-transform: uppercase;
}

.pff-sidebar-keyword .pff-clear-filters:hover {
    background: #f7f3e8 !important;
}

/* PFF GLOBAL LOCAL MAP 20260911 */

.pff-global-directory {
    background: #f8f7f2;
}

.pff-global-directory .pff-global-directory-hero {
    padding: 52px 0 22px;
    text-align: center;
}

.pff-global-directory .pff-global-directory-hero .eyebrow {
    margin-bottom: 10px;
    color: #a47d25;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.pff-global-directory .pff-global-directory-hero h1 {
    max-width: 820px;
    margin: 0 auto 14px;
    color: #173f32;
    font-size: clamp(32px, 4vw, 50px);
    line-height: 1.08;
}

.pff-global-directory .pff-global-directory-hero p {
    max-width: 700px;
    margin: 0 auto;
    color: #5f665f;
    font-size: 17px;
    line-height: 1.6;
}

.pff-global-directory .pff-global-directory-map {
    padding: 8px 0 60px;
}

/* Hide old four checkbox filters */
.pff-global-directory .pb-directory-map-filters,
.pff-global-directory .pb-map-filters,
.pff-global-directory .pb-directory-filter-row {
    display: none !important;
}

/* Six new category buttons */
.pff-global-directory .pff-global-map-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 9px;
    margin: 18px auto 24px;
}

.pff-global-directory .pff-global-map-filter {
    appearance: none;
    padding: 10px 17px;
    border: 1px solid #d9cfb7;
    border-radius: 999px;
    background: #fff;
    color: #173f32;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.pff-global-directory .pff-global-map-filter:hover {
    border-color: #c8a45a;
    background: #faf7ef;
}

.pff-global-directory .pff-global-map-filter.is-active {
    border-color: #173f32;
    background: #173f32;
    color: #fff;
}

/* Location / radius search */
.pff-global-directory .pb-directory-search-bar {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) 150px auto;
    gap: 10px;
    align-items: end;
    margin: 0 0 20px;
    padding: 18px;
    border: 1px solid #e5dfd0;
    border-radius: 10px;
    background: #fff;
}

.pff-global-directory .pb-directory-search-field label {
    display: block;
    margin-bottom: 6px;
    color: #173f32;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.pff-global-directory #pb-map-location,
.pff-global-directory #pb-map-distance {
    width: 100%;
    height: 46px;
    box-sizing: border-box;
    border: 1px solid #d9d7cf;
    border-radius: 6px;
    background: #fff;
    font: inherit;
}

.pff-global-directory #pb-map-location {
    padding: 0 14px;
}

.pff-global-directory #pb-map-distance {
    padding: 0 10px;
}

.pff-global-directory #pb-map-search {
    min-height: 46px;
    padding: 0 26px;
    border: 0;
    border-radius: 6px;
    background: #173f32;
    color: #fff;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    cursor: pointer;
}

.pff-global-directory #pb-map-search:hover {
    background: #225845;
}

@media (max-width: 700px) {
    .pff-global-directory .pff-global-directory-hero {
        padding: 34px 0 18px;
    }

    .pff-global-directory .pff-global-map-menu {
        justify-content: flex-start;
        gap: 7px;
    }

    .pff-global-directory .pb-directory-search-bar {
        grid-template-columns: 1fr;
        padding: 14px;
    }

    .pff-global-directory #pb-map-search {
        width: 100%;
    }
}


/* =========================================================
   PFF ACTIVE FAMILY SIDEBAR
   The category page shows one relevant taxonomy family only.
   Keep its complete taxonomy tree permanently visible.
   ========================================================= */

.pff-directory-active-family-only
.pff-directory-accordion-section {
    display: block;
}

.pff-directory-active-family-only
.pff-directory-panel {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

.pff-directory-active-family-only
.pff-live-taxonomy-level {
    display: block !important;
}

.pff-directory-active-family-only
.pff-live-taxonomy-depth-1 {
    padding-left: 16px;
}

.pff-directory-active-family-only
.pff-live-taxonomy-depth-2 {
    padding-left: 16px;
}

.pff-directory-active-family-only
.pff-taxonomy-depth-1 span,
.pff-directory-active-family-only
.pff-taxonomy-depth-2 span {
    font-size: 0.94em;
}


/* =========================================================
   PFF ACTIVE DIRECTORY SIDEBAR TREE
   ========================================================= */

.pff-directory-active-family-only {
    width: 100%;
}

.pff-directory-active-family-only
.pff-directory-accordion-section {
    width: 100%;
}

.pff-directory-active-family-only
.pff-directory-parent {
    width: 100%;
    margin: 0 0 12px;
}

.pff-directory-active-family-only
.pff-directory-parent-link {
    box-sizing: border-box;
    width: 100%;
    min-height: 54px;
    display: flex;
    align-items: center;
    padding: 0 16px;
}

.pff-directory-active-family-only
.pff-directory-panel,
.pff-directory-active-family-only
.animal-filter-options {
    width: 100%;
    box-sizing: border-box;
}

.pff-directory-active-family-only
.pff-taxonomy-row-wrap {
    width: 100%;
    margin: 0 0 6px;
}

.pff-directory-active-family-only
.pff-taxonomy-row {
    width: 100%;
    min-height: 43px;
    display: flex;
    align-items: stretch;
    position: relative;
    border: 1px solid #d8ddd6;
    border-radius: 4px;
    background: #fff;
    box-sizing: border-box;
}

.pff-directory-active-family-only
.pff-taxonomy-row:hover {
    background: #f3f6f1;
}

.pff-directory-active-family-only
.pff-taxonomy-row .animal-filter-option {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 11px 42px 11px 14px;
    border: 0 !important;
    background: transparent !important;
    box-sizing: border-box;
}

.pff-directory-active-family-only
.pff-taxonomy-row .animal-filter-option span {
    display: block;
    line-height: 1.35;
}

.pff-directory-active-family-only
.pff-taxonomy-chevron {
    position: absolute;
    right: 0;
    top: 0;
    width: 42px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-left: 1px solid #d8ddd6;
    color: #0f4b3a;
    font-size: 17px;
    font-weight: 700;
    pointer-events: auto;
}

.pff-directory-active-family-only
.pff-taxonomy-row-wrap.has-children > .pff-taxonomy-row {
    font-weight: 700;
}

.pff-directory-active-family-only
.pff-taxonomy-children {
    margin: 5px 0 8px 14px;
    padding-left: 10px;
    border-left: 3px solid #0f4b3a;
}

.pff-directory-active-family-only
.pff-taxonomy-children
.pff-taxonomy-row {
    min-height: 40px;
}

.pff-directory-active-family-only
.pff-taxonomy-children
.pff-taxonomy-row .animal-filter-option {
    padding-top: 9px;
    padding-bottom: 9px;
}

.pff-directory-active-family-only
.pff-taxonomy-row-wrap.is-selected > .pff-taxonomy-row {
    background: #0f4b3a;
    border-color: #0f4b3a;
    color: #fff;
}

.pff-directory-active-family-only
.pff-taxonomy-row-wrap.is-selected
> .pff-taxonomy-row
.pff-taxonomy-chevron {
    color: #fff;
    border-left-color: rgba(255,255,255,.25);
}

/* Full-width "All..." option */
.pff-directory-active-family-only
.pff-hierarchical-filter
> .animal-filter-option {
    box-sizing: border-box;
    width: 100%;
    min-height: 43px;
    display: flex;
    align-items: center;
    margin: 0 0 8px;
    padding: 11px 14px;
    border: 1px solid #d8ddd6;
    border-radius: 4px;
    background: #fff;
}

/* Remove old narrow nested layout */
.pff-directory-active-family-only
.pff-live-taxonomy-level {
    width: 100%;
    padding-left: 0 !important;
    box-sizing: border-box;
}


/* =========================================================
   PFF DIRECTORY SIDEBAR TREE V2
   Cleaner hierarchy + collapsible submenus
   ========================================================= */

.pff-directory-active-family-only
.pff-directory-panel {
    background: #f7f8f4;
    padding: 10px;
    border-radius: 0 0 6px 6px;
}

.pff-directory-active-family-only
.pff-taxonomy-row-wrap {
    margin: 0;
}

.pff-directory-active-family-only
.pff-taxonomy-row {
    min-height: 44px;
    border: 0;
    border-bottom: 1px solid #e0e4dc;
    border-radius: 0;
    background: transparent;
}

.pff-directory-active-family-only
.pff-taxonomy-row:hover {
    background: #eef2eb;
}

.pff-directory-active-family-only
.pff-taxonomy-row-wrap.has-children
> .pff-taxonomy-row {
    margin-top: 5px;
    background: #e8eee5;
    border: 1px solid #d4ddd1;
    border-radius: 4px;
    font-weight: 700;
}

.pff-directory-active-family-only
.pff-taxonomy-row-wrap.has-children
> .pff-taxonomy-row:hover {
    background: #dfe8dc;
}

.pff-directory-active-family-only
.pff-taxonomy-row .animal-filter-option {
    padding: 11px 48px 11px 12px;
    text-align: left;
}

.pff-directory-active-family-only
.pff-taxonomy-chevron {
    appearance: none;
    -webkit-appearance: none;
    position: absolute;
    right: 0;
    top: 0;
    width: 44px;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-left: 1px solid #ccd7c8;
    background: transparent;
    color: #0f4b3a;
    cursor: pointer;
}

.pff-directory-active-family-only
.pff-taxonomy-chevron span {
    display: block;
    font-size: 18px;
    line-height: 1;
    transition: transform .18s ease;
}

.pff-directory-active-family-only
.pff-taxonomy-row-wrap.is-expanded
> .pff-taxonomy-row
> .pff-taxonomy-chevron span {
    transform: rotate(180deg);
}

.pff-directory-active-family-only
.pff-taxonomy-children {
    margin: 0 0 5px 14px;
    padding: 4px 0 4px 10px;
    border-left: 2px solid #174f3d;
}

.pff-directory-active-family-only
.pff-taxonomy-children[hidden] {
    display: none !important;
}

.pff-directory-active-family-only
.pff-taxonomy-children
.pff-taxonomy-row {
    background: transparent;
}

.pff-directory-active-family-only
.pff-taxonomy-children
.pff-taxonomy-row:hover {
    background: #eef2eb;
}

.pff-directory-active-family-only
.pff-taxonomy-row-wrap.is-selected
> .pff-taxonomy-row {
    background: #174f3d;
    border-color: #174f3d;
    color: #fff;
}

.pff-directory-active-family-only
.pff-taxonomy-row-wrap.is-selected
> .pff-taxonomy-row
.pff-taxonomy-chevron {
    color: #fff;
    border-left-color: rgba(255,255,255,.25);
}

/* "All..." behaves like a clean first menu row */
.pff-directory-active-family-only
.pff-hierarchical-filter
> .animal-filter-option {
    min-height: 44px;
    margin: 0 0 5px;
    padding: 11px 12px;
    border: 0;
    border-bottom: 1px solid #dce2d9;
    border-radius: 0;
    background: transparent;
    text-align: left;
}


/* =========================================================
   PFF MOBILE NAVIGATION V2
   Right aligned + collapsible submenus
   ========================================================= */

@media (max-width: 1120px) {

    .main-navigation.is-open {
        display: flex;
        align-items: stretch;
        text-align: right;
    }

    .main-navigation .pff-nav-item {
        width: 100%;
        text-align: right;
    }

    .main-navigation .pff-nav-button {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 9px;
        text-align: right;
        cursor: pointer;
    }

    /*
     * Desktop mega menus must become normal mobile
     * accordion panels.
     */
    .main-navigation .pff-mega-menu {
        display: none !important;
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        transform: none !important;
        box-shadow: none !important;
        margin: 0 !important;
        padding: 8px 0 14px !important;
        text-align: right;
    }

    .main-navigation
    .pff-nav-item.is-open
    > .pff-mega-menu {
        display: block !important;
    }

    .main-navigation .pff-mega-menu a {
        display: block;
        width: 100%;
        text-align: right;
        padding: 10px 0;
    }

    .main-navigation .pff-menu-grid {
        display: block !important;
        width: 100%;
    }

    .main-navigation .pff-menu-eyebrow,
    .main-navigation .pff-menu-all {
        text-align: right;
    }

    .main-navigation .pff-chevron {
        transition: transform .18s ease;
    }

    .main-navigation
    .pff-nav-item.is-open
    > .pff-nav-button
    .pff-chevron {
        transform: rotate(180deg);
    }
}


/* =========================================================
   PFF MOBILE NAVIGATION V2
   Right aligned + collapsible submenus
   ========================================================= */

@media (max-width: 1120px) {

    .main-navigation.is-open {
        display: flex;
        align-items: stretch;
        text-align: right;
    }

    .main-navigation .pff-nav-item {
        width: 100%;
        text-align: right;
    }

    .main-navigation .pff-nav-button {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 9px;
        text-align: right;
        cursor: pointer;
    }

    /*
     * Desktop mega menus must become normal mobile
     * accordion panels.
     */
    .main-navigation .pff-mega-menu {
        display: none !important;
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        transform: none !important;
        box-shadow: none !important;
        margin: 0 !important;
        padding: 8px 0 14px !important;
        text-align: right;
    }

    .main-navigation
    .pff-nav-item.is-open
    > .pff-mega-menu {
        display: block !important;
    }

    .main-navigation .pff-mega-menu a {
        display: block;
        width: 100%;
        text-align: right;
        padding: 10px 0;
    }

    .main-navigation .pff-menu-grid {
        display: block !important;
        width: 100%;
    }

    .main-navigation .pff-menu-eyebrow,
    .main-navigation .pff-menu-all {
        text-align: right;
    }

    .main-navigation .pff-chevron {
        transition: transform .18s ease;
    }

    .main-navigation
    .pff-nav-item.is-open
    > .pff-nav-button
    .pff-chevron {
        transform: rotate(180deg);
    }
}


/* =========================================================
   PFF MOBILE SUBMENU ALIGNMENT
   Main category stays right, submenu content aligns left
   ========================================================= */

@media (max-width: 1120px) {

    .main-navigation .pff-mega-menu {
        text-align: left !important;
    }

    .main-navigation .pff-mega-menu a {
        text-align: left !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
    }

    .main-navigation .pff-menu-eyebrow,
    .main-navigation .pff-menu-all {
        text-align: left !important;
    }

    .main-navigation .pff-menu-eyebrow {
        padding-left: 22px !important;
        padding-right: 22px !important;
    }

    .main-navigation .pff-menu-grid {
        text-align: left !important;
    }

    .main-navigation .pff-menu-actions {
        text-align: left !important;
    }
}


/* =========================================================
   PFF MOBILE HEADER - HAMBURGER TO FAR RIGHT
   ========================================================= */

@media (max-width: 1120px) {

    .mobile-menu-toggle {
        margin-left: auto !important;
        margin-right: 0 !important;
        flex: 0 0 auto;
    }

}


/* =========================================================
   CATEGORY DIRECTORY RESULTS
   Listings beneath map in existing right column
   ========================================================= */

.page-template-page-pff-directory .directory-map-column .pff-directory-view-switch {
    margin-top: 30px;
}

.page-template-page-pff-directory .directory-map-column #directory-listings {
    padding: 34px 0 80px;
}

.page-template-page-pff-directory .directory-map-column #directory-listings > .directory-container {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.page-template-page-pff-directory .directory-map-column #directory-listings .farm-directory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

@media (min-width: 1001px) {

    .page-template-page-pff-directory .directory-map-column {
        display: block !important;
    }

    .page-template-page-pff-directory .directory-map-column .pb-directory-map-wrap {
        display: block !important;
        height: auto !important;
    }

    .page-template-page-pff-directory .directory-map-column .pb-directory-map {
        flex: none !important;
        height: 500px !important;
        min-height: 500px !important;
    }
}

@media (max-width: 650px) {

    .page-template-page-pff-directory .directory-map-column #directory-listings .farm-directory-grid {
        grid-template-columns: 1fr;
    }
}



/* =========================================================
   CATEGORY DIRECTORY RIGHT COLUMN
   Map above listings, sidebar remains left
   ========================================================= */

.page-template-page-pff-directory
.directory-map-column > .directory-container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.page-template-page-pff-directory
.directory-map-column .pff-directory-view-switch {
    margin-top: 30px !important;
}

.page-template-page-pff-directory
.directory-map-column #directory-listings {
    width: 100% !important;
    padding: 30px 0 70px !important;
}

.page-template-page-pff-directory
.directory-map-column #directory-listings > .directory-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.page-template-page-pff-directory
.directory-map-column #directory-listings .farm-directory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
}


/* Map should have its own height now that listings
   are inside the same right-hand column. */

@media (min-width: 1001px) {

    .page-template-page-pff-directory .directory-map-column {
        display: block !important;
    }

    .page-template-page-pff-directory
    .directory-map-column .pb-directory-map-wrap {
        display: block !important;
        height: auto !important;
    }

    .page-template-page-pff-directory
    .directory-map-column .pb-directory-map {
        display: block !important;
        flex: none !important;
        height: 500px !important;
        min-height: 500px !important;
    }
}


@media (max-width: 650px) {

    .page-template-page-pff-directory
    .directory-map-column
    #directory-listings
    .farm-directory-grid {
        grid-template-columns: 1fr !important;
    }
}



/* =========================================================
   COMPACT DIRECTORY CARDS + ENHANCED LIST VIEW
   ========================================================= */

/* Extra information belongs to List view only. */
.page-template-page-pff-directory .pff-list-only {
    display: none;
}


/* ---------------------------------------------------------
   CARDS VIEW - SMALLER / TIGHTER
   --------------------------------------------------------- */

.page-template-page-pff-directory
.pff-directory-view-cards .farm-card-image {
    height: 150px !important;
    min-height: 150px !important;
}

.page-template-page-pff-directory
.pff-directory-view-cards .farm-card-content {
    padding: 22px 24px 24px !important;
}

.page-template-page-pff-directory
.pff-directory-view-cards .farm-card-content h3 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
    font-size: 25px !important;
    line-height: 1.08 !important;
}

.page-template-page-pff-directory
.pff-directory-view-cards .farm-card-content p {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    line-height: 1.45 !important;
}

.page-template-page-pff-directory
.pff-directory-view-cards .farm-card-location {
    margin-top: 8px !important;
    margin-bottom: 0 !important;
}


/* ---------------------------------------------------------
   LIST VIEW - INFORMATION RICH
   --------------------------------------------------------- */

.page-template-page-pff-directory
.pff-directory-view-list .farm-card {
    position: relative;
    display: grid !important;
    grid-template-columns: 145px minmax(0, 1fr) !important;
    min-height: 175px;
    margin-bottom: 14px !important;
    border: 1px solid #dedbd2;
    background: #fff;
}

.page-template-page-pff-directory
.pff-directory-view-list .farm-card-image {
    height: 100% !important;
    min-height: 175px !important;
}

.page-template-page-pff-directory
.pff-directory-view-list .farm-card-content {
    position: relative;
    padding: 18px 170px 18px 24px !important;
}

.page-template-page-pff-directory
.pff-directory-view-list .farm-card-content h3 {
    margin: 6px 0 5px !important;
    font-size: 24px !important;
    line-height: 1.1 !important;
}

.page-template-page-pff-directory
.pff-directory-view-list .farm-card-content > p {
    margin: 0 0 10px !important;
    font-size: 15px;
    line-height: 1.4;
}

.page-template-page-pff-directory
.pff-directory-view-list .farm-card-link {
    display: none !important;
}

.page-template-page-pff-directory
.pff-directory-view-list .pff-list-only {
    display: block;
}


/* Contact information */

.page-template-page-pff-directory .pff-list-contact {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 18px;
    margin-top: 9px;
    font-size: 13px;
    line-height: 1.35;
}

.page-template-page-pff-directory .pff-list-contact-item {
    color: #425049;
    text-decoration: none;
}

.page-template-page-pff-directory
a.pff-list-contact-item:hover {
    color: #0f513f;
    text-decoration: underline;
}


/* Category tags */

.page-template-page-pff-directory .pff-list-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 10px;
}

.page-template-page-pff-directory .pff-list-tags span {
    padding: 4px 8px;
    border: 1px solid #d9e0da;
    border-radius: 4px;
    background: #f2f6f2;
    color: #314a3e;
    font-size: 11px;
    line-height: 1.1;
}


/* List actions */

.page-template-page-pff-directory .pff-list-actions {
    position: absolute;
    top: 20px;
    right: 18px;
    display: flex;
    width: 130px;
    flex-direction: column;
    gap: 8px;
}

.page-template-page-pff-directory
.pff-list-inquiry-button,
.page-template-page-pff-directory
.pff-list-profile-button {
    display: flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border-radius: 22px;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.page-template-page-pff-directory
.pff-list-inquiry-button {
    border: 1px solid #b4975a;
    background: #b4975a;
    color: #fff;
}

.page-template-page-pff-directory
.pff-list-profile-button {
    border: 1px solid #d8d2c5;
    background: #fff;
    color: #173d31;
}


/* Responsive list */

@media (max-width: 760px) {

    .page-template-page-pff-directory
    .pff-directory-view-list .farm-card {
        grid-template-columns: 100px minmax(0, 1fr) !important;
    }

    .page-template-page-pff-directory
    .pff-directory-view-list .farm-card-content {
        padding: 18px !important;
    }

    .page-template-page-pff-directory
    .pff-list-actions {
        position: static;
        width: auto;
        flex-direction: row;
        margin-top: 14px;
    }

    .page-template-page-pff-directory
    .pff-list-inquiry-button,
    .page-template-page-pff-directory
    .pff-list-profile-button {
        flex: 1;
    }
}



/* =========================================================
   DIRECTORY RESULTS COLUMN STRUCTURAL FIX
   Map, view controls and listings are siblings
   ========================================================= */

.page-template-page-pff-directory
.pff-directory-results-column {
    width: 100%;
    min-width: 0;
}

.page-template-page-pff-directory
.pff-directory-results-column > .directory-map-column {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.page-template-page-pff-directory
.pff-directory-results-column > .directory-container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.page-template-page-pff-directory
.pff-directory-results-column #directory-listings {
    width: 100% !important;
    padding: 30px 0 70px !important;
}

.page-template-page-pff-directory
.pff-directory-results-column
#directory-listings > .directory-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.page-template-page-pff-directory
.pff-directory-results-column
#directory-listings .farm-directory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

@media (min-width: 1001px) {

    .page-template-page-pff-directory
    .pff-directory-results-column
    .directory-map-column {
        display: block !important;
    }

    .page-template-page-pff-directory
    .pff-directory-results-column
    .directory-map-column .pb-directory-map-wrap {
        display: block !important;
        height: auto !important;
    }

    .page-template-page-pff-directory
    .pff-directory-results-column
    .directory-map-column .pb-directory-map {
        display: block !important;
        flex: none !important;
        height: 500px !important;
        min-height: 500px !important;
    }
}

@media (max-width: 650px) {

    .page-template-page-pff-directory
    .pff-directory-results-column
    #directory-listings .farm-directory-grid {
        grid-template-columns: 1fr !important;
    }
}


/* ==========================================================
   DIRECTORY LIST ACTIONS + STATUS BADGES
   ========================================================== */

.page-template-page-pff-directory
.pff-directory-view-list
.pff-list-actions {
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 9px;
    width: 132px;
}

.page-template-page-pff-directory
.pff-directory-view-list
.pff-list-actions a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 9px 16px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .04em;
    text-decoration: none !important;
    text-align: center;
    transition: transform .15s ease, box-shadow .15s ease;
}

.page-template-page-pff-directory
.pff-directory-view-list
.pff-list-inquire {
    background: #C8A45A;
    border: 1px solid #C8A45A;
    color: #173E32 !important;
}

.page-template-page-pff-directory
.pff-directory-view-list
.pff-list-profile {
    background: #fff;
    border: 1px solid #173E32;
    color: #173E32 !important;
}

.page-template-page-pff-directory
.pff-directory-view-list
.pff-list-actions a:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,0,.08);
}

.page-template-page-pff-directory
.pff-directory-view-list
.pff-list-statuses {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 8px 0 10px;
}

.page-template-page-pff-directory
.pff-directory-view-list
.pff-list-status {
    display: inline-flex;
    align-items: center;
    width: auto;
    padding: 5px 9px;
    border: 1px solid #b8c9bd;
    border-radius: 5px;
    background: #f3f7f3;
    color: #173E32;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .04em;
}

.page-template-page-pff-directory
.pff-directory-view-list
.pff-status-accepting::before {
    content: "✓";
    margin-right: 5px;
}

.page-template-page-pff-directory
.pff-directory-view-list
.pff-status-referral::before {
    content: "✓";
    margin-right: 5px;
}

@media (max-width: 760px) {

    .page-template-page-pff-directory
    .pff-directory-view-list
    .pff-list-actions {
        position: static;
        width: auto;
        transform: none;
        flex-direction: row;
        flex-wrap: wrap;
        margin-top: 14px;
    }

    .page-template-page-pff-directory
    .pff-directory-view-list
    .pff-list-actions a {
        min-width: 125px;
    }
}


/* ==========================================================
   DIRECTORY CATEGORY HEADING SCALE
   Long category names should not overpower the directory.
   ========================================================== */

.page-template-page-pff-directory
.directory-hero h1 {
    font-size: clamp(42px, 4.5vw, 68px) !important;
    line-height: 1.08 !important;
    max-width: 900px;
}

@media (max-width: 760px) {
    .page-template-page-pff-directory
    .directory-hero h1 {
        font-size: clamp(34px, 9vw, 48px) !important;
        line-height: 1.08 !important;
    }
}


/* ==========================================================
   HEALTH DIRECTORY - LEARN & DISCOVER
   ========================================================== */

.page-template-page-pff-directory
.pff-health-learn-discover {
    margin-top: 28px;
    padding: 24px 22px 22px;
    background: #f6f3e9;
    border: 1px solid #e2dcc9;
    border-radius: 10px;
}

.page-template-page-pff-directory
.pff-learning-eyebrow {
    margin-bottom: 8px;
    color: #8b6d2e;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
}

.page-template-page-pff-directory
.pff-health-learn-discover h3 {
    margin: 0 0 8px;
    color: #173e32;
    font-family: Georgia, serif;
    font-size: 23px;
    line-height: 1.15;
}

.page-template-page-pff-directory
.pff-learning-intro {
    margin: 0 0 17px;
    color: #5d665f;
    font-size: 13px;
    line-height: 1.55;
}

.page-template-page-pff-directory
.pff-learning-links {
    border-top: 1px solid #ddd5bf;
}

.page-template-page-pff-directory
.pff-learning-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 0;
    border-bottom: 1px solid #ddd5bf;
    color: #173e32;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.35;
    text-decoration: none !important;
}

.page-template-page-pff-directory
.pff-learning-links a:hover {
    color: #8b6d2e;
}

.page-template-page-pff-directory
.pff-learning-arrow {
    flex: 0 0 auto;
    font-size: 17px;
}

.page-template-page-pff-directory
.pff-learning-all {
    display: inline-block;
    margin-top: 17px;
    color: #173e32;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .02em;
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* ==========================================================
   HEALTH LEARN & DISCOVER - FULL LIBRARY
   ========================================================== */

.page-template-page-pff-directory
.pff-learning-expand {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 17px;
    padding: 12px 0;
    border: 0;
    border-bottom: 1px solid #ddd5bf;
    background: transparent;
    color: #173e32;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
}

.page-template-page-pff-directory
.pff-learning-expand span {
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
}

.page-template-page-pff-directory
.pff-health-guide-library {
    padding-top: 6px;
}

.page-template-page-pff-directory
.pff-health-guide-library[hidden] {
    display: none !important;
}

.page-template-page-pff-directory
.pff-guide-group {
    padding: 16px 0 4px;
    border-bottom: 1px solid #ddd5bf;
}

.page-template-page-pff-directory
.pff-guide-group h4 {
    margin: 0 0 8px;
    color: #8b6d2e;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.35;
    text-transform: uppercase;
}

.page-template-page-pff-directory
.pff-guide-group a {
    display: block;
    padding: 6px 0;
    color: #173e32;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none !important;
}

.page-template-page-pff-directory
.pff-guide-group a:hover {
    color: #8b6d2e;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}


/* ==========================================================
   HEALTH LEARNING LIBRARY - OPEN SECTION DESIGN
   ========================================================== */

.page-template-page-pff-directory
.pff-health-guide-library {
    display: block !important;
    padding-top: 16px;
}

.page-template-page-pff-directory
.pff-learning-expand {
    display: none !important;
}

/* Individual learning sections */

.page-template-page-pff-directory
.pff-guide-group {
    margin: 0 0 13px;
    padding: 0 0 10px;
    border: 0;
}

/* Section heading */

.page-template-page-pff-directory
.pff-guide-group h4 {
    position: relative;
    margin: 0 0 5px;
    padding: 12px 13px 11px 16px;
    border: 1px solid #e3ddca;
    border-radius: 7px;
    background:
        linear-gradient(
            90deg,
            #f2efe2 0%,
            #f8f6ed 100%
        );
    color: #80601f;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: .09em;
    text-transform: uppercase;
}

/* Small green accent on each section */

.page-template-page-pff-directory
.pff-guide-group h4::before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    bottom: 9px;
    width: 3px;
    border-radius: 3px;
    background: #466d5b;
}

/* Guide links */

.page-template-page-pff-directory
.pff-guide-group a {
    position: relative;
    display: block;
    padding: 8px 24px 8px 2px;
    border-bottom: 1px solid #ded8c6;
    color: #173e32;
    font-size: 12.5px;
    font-weight: 650;
    line-height: 1.35;
    text-decoration: none !important;
}

/* Arrow like the contextual resources above */

.page-template-page-pff-directory
.pff-guide-group a::after {
    content: "→";
    position: absolute;
    right: 3px;
    top: 7px;
    color: #315c4c;
    font-size: 15px;
    font-weight: 400;
}

.page-template-page-pff-directory
.pff-guide-group a:hover {
    color: #8b6d2e;
    text-decoration: none !important;
}

.page-template-page-pff-directory
.pff-guide-group a:hover::after {
    transform: translateX(2px);
}

/* Give Learn & Discover a little more definition */

.page-template-page-pff-directory
.pff-health-learn-discover {
    padding: 25px 22px 23px;
    background:
        linear-gradient(
            180deg,
            #f8f6ed 0%,
            #f4f1e6 100%
        );
    border: 1px solid #ddd6c1;
    box-shadow: 0 5px 18px rgba(23,62,50,.045);
}

/* Main Learn label */

.page-template-page-pff-directory
.pff-learning-eyebrow {
    color: #9a6b22;
    letter-spacing: .16em;
}

/* Bottom Health link */

.page-template-page-pff-directory
.pff-learning-all {
    display: block;
    margin-top: 8px;
    padding-top: 14px;
    border-top: 1px solid #d8d1bd;
}


/* ==========================================================
   HEALTH LEARNING SIDEBAR - LIGHTER DESIGN
   ========================================================== */

.page-template-page-pff-directory
.pff-health-learn-discover {
    background: #ffffff !important;
    border: 1px solid #e3e6df !important;
    box-shadow: 0 4px 16px rgba(23,62,50,.035) !important;
}

/* Clean white space between sections */

.page-template-page-pff-directory
.pff-health-guide-library {
    background: #ffffff !important;
}

/* Section headers get only a whisper of warmth */

.page-template-page-pff-directory
.pff-guide-group h4 {
    background: #faf9f4 !important;
    border-color: #e4e2d8 !important;
}

/* Softer separators */

.page-template-page-pff-directory
.pff-guide-group a {
    border-bottom-color: #e5e8e2 !important;
}

/* Contextual articles at the top */

.page-template-page-pff-directory
.pff-learning-links {
    border-top-color: #e3e6df !important;
}

.page-template-page-pff-directory
.pff-learning-links a {
    border-bottom-color: #e3e6df !important;
}

/* Bottom divider */

.page-template-page-pff-directory
.pff-learning-all {
    border-top-color: #e3e6df !important;
}


/* ==========================================================
   HEALTH LEARNING - STRONGER GREEN MAJOR HEADERS
   ========================================================== */

.page-template-page-pff-directory
.pff-guide-group h4 {
    background: #edf3ee !important;
    border-color: #d3dfd6 !important;
    color: #234f3d !important;
}

.page-template-page-pff-directory
.pff-guide-group h4::before {
    background: #35634f !important;
    width: 4px;
}


/* ==========================================================
   HEALTH LEARNING - DARK GREEN MAJOR HEADERS
   ========================================================== */

.page-template-page-pff-directory
.pff-guide-group h4 {
    background: #173e32 !important;
    border-color: #173e32 !important;
    color: #ffffff !important;
    padding: 12px 14px !important;
    border-radius: 7px !important;
}

.page-template-page-pff-directory
.pff-guide-group h4::before {
    display: none !important;
}


/* ==========================================================
   UNIVERSAL DIRECTORY SIDEBAR SEARCH
   ========================================================== */

.page-template-page-pff-directory
.pff-sidebar-keyword {
    margin: 18px 0 22px;
    padding: 18px;
    background: #f5f8f6;
    border: 1px solid #dce5df;
    border-radius: 8px;
}

.page-template-page-pff-directory
.pff-sidebar-keyword .filter-group-title {
    margin: 0 0 9px;
    color: #173e32;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.page-template-page-pff-directory
.pff-sidebar-keyword input[type="search"] {
    display: block;
    width: 100%;
    height: 44px;
    margin: 0 0 9px;
    padding: 0 13px;
    background: #ffffff;
    border: 1px solid #ccd8d1;
    border-radius: 6px;
    color: #173e32;
    font-size: 14px;
    outline: none;
    box-sizing: border-box;
}

.page-template-page-pff-directory
.pff-sidebar-keyword input[type="search"]:focus {
    border-color: #35634f;
    box-shadow: 0 0 0 2px rgba(53,99,79,.10);
}

.page-template-page-pff-directory
.pff-sidebar-search-button {
    width: 100%;
    min-height: 42px;
    padding: 10px 15px;
    border: 0;
    border-radius: 6px;
    background: #173e32;
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.page-template-page-pff-directory
.pff-sidebar-search-button:hover {
    background: #285846;
}


/* ==========================================================
   DIRECTORY SIDEBAR SEARCH - FINAL VISIBLE STYLE
   ========================================================== */

.directory-tools .pff-sidebar-keyword {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 16px 0 22px !important;
    padding: 16px !important;
    background: #f5f8f6 !important;
    border: 1px solid #dce5df !important;
    border-radius: 8px !important;
}

.directory-tools .pff-sidebar-keyword .filter-group-title {
    display: block !important;
    margin: 0 0 9px !important;
    color: #173e32 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.directory-tools .pff-sidebar-keyword input[type="search"] {
    display: block !important;
    width: 100% !important;
    height: 44px !important;
    box-sizing: border-box !important;
    margin: 0 0 9px !important;
    padding: 0 13px !important;
    background: #fff !important;
    border: 1px solid #ccd8d1 !important;
    border-radius: 6px !important;
    color: #173e32 !important;
    font-size: 14px !important;
}

.directory-tools .pff-sidebar-keyword input[type="search"]:focus {
    border-color: #35634f !important;
    box-shadow: 0 0 0 2px rgba(53,99,79,.10) !important;
    outline: none !important;
}

.directory-tools .pff-sidebar-keyword .pff-sidebar-search-button {
    display: flex !important;
    width: 100% !important;
    min-height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 10px 15px !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: #173e32 !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}

.directory-tools .pff-sidebar-keyword .pff-sidebar-search-button:hover {
    background: #285846 !important;
}



/**************************************************************
 * FARMS SIDEBAR - PUREBEEF + PROCESSING
 **************************************************************/

.pff-purebeef-sidebar {
    box-sizing: border-box;
    width: 100%;
    margin: 26px 0;
    padding: 0;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #d9e1dc;
    border-radius: 8px;
    box-shadow: 0 3px 14px rgba(23,62,50,.05);
}

.pff-purebeef-sidebar-item {
    padding: 20px 21px;
}

.pff-purebeef-kicker {
    margin: 0 0 8px;
    color: #9a6b08;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: .12em;
}

.pff-purebeef-sidebar h3 {
    margin: 0 0 9px;
    color: #173e32;
    font-family: Georgia, serif;
    font-size: 20px;
    line-height: 1.18;
}

.pff-purebeef-sidebar p {
    margin: 0 0 13px;
    color: #53615b;
    font-size: 13px;
    line-height: 1.55;
}

.pff-purebeef-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
    padding: 11px 13px;
    background: #173e32;
    border-radius: 5px;
    color: #ffffff !important;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
    text-decoration: none !important;
}

.pff-purebeef-link:hover {
    background: #285846;
    color: #ffffff !important;
}

.pff-purebeef-link span {
    flex: 0 0 auto;
    font-size: 17px;
}

.pff-purebeef-sidebar-divider {
    height: 1px;
    margin: 0 21px;
    background: #e2e8e4;
}

.pff-purebeef-powered {
    padding: 10px 18px;
    background: #f4f7f5;
    border-top: 1px solid #e2e8e4;
    color: #6d7974;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    letter-spacing: .03em;
}



/**************************************************************
 * PUREBEEF SIDEBAR - HIGH CONTRAST CALLOUT
 **************************************************************/

.pff-purebeef-sidebar {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    margin: 30px 0 !important;
    padding: 0 !important;
    overflow: hidden;
    background: #202521 !important;
    border: 0 !important;
    border-radius: 9px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.16) !important;
}

/* Gold accent across top */
.pff-purebeef-sidebar::before {
    content: "";
    display: block;
    width: 100%;
    height: 5px;
    background: #c8a45a;
}

.pff-purebeef-sidebar-item {
    padding: 22px 21px !important;
    background: transparent !important;
}

.pff-purebeef-kicker {
    margin: 0 0 8px !important;
    color: #e1c475 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
}

.pff-purebeef-sidebar h3 {
    margin: 0 0 10px !important;
    color: #ffffff !important;
    font-family: Georgia, serif !important;
    font-size: 21px !important;
    line-height: 1.2 !important;
}

.pff-purebeef-sidebar p {
    margin: 0 0 15px !important;
    color: #e1e5e2 !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

/* Strong cream/gold action button */
.pff-purebeef-sidebar .pff-purebeef-link {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;

    width: 100% !important;
    box-sizing: border-box !important;

    padding: 12px 14px !important;

    background: #c8a45a !important;
    border: 1px solid #d6ba78 !important;
    border-radius: 5px !important;

    color: #18241f !important;

    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;

    text-decoration: none !important;

    transition:
        background .15s ease,
        transform .15s ease !important;
}

.pff-purebeef-sidebar .pff-purebeef-link:hover {
    background: #ddc27e !important;
    color: #18241f !important;
    transform: translateY(-1px);
}

.pff-purebeef-sidebar .pff-purebeef-link span {
    color: #18241f !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

/* Separator between beef and processing */
.pff-purebeef-sidebar-divider {
    height: 1px !important;
    margin: 0 21px !important;
    background: rgba(255,255,255,.18) !important;
}

/* Powered by footer */
.pff-purebeef-powered {
    padding: 11px 18px !important;
    background: rgba(0,0,0,.18) !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;

    color: #c9d0cc !important;

    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    text-align: center !important;
    letter-spacing: .04em !important;
}



/* ==========================================================
   PUREBEEF SIDEBAR - SOFT DISTINCTIVE CALLOUT
   ========================================================== */

.pff-purebeef-sidebar {
    margin: 26px 0 !important;
    background: #f1f5f2 !important;
    border: 1px solid #d3ded7 !important;
    border-left: 4px solid #c8a45a !important;
    border-radius: 7px !important;
    box-shadow: none !important;
}

/* remove heavy top stripe */
.pff-purebeef-sidebar::before {
    display: none !important;
}

.pff-purebeef-sidebar-item {
    padding: 19px 18px !important;
    background: transparent !important;
}

.pff-purebeef-kicker {
    margin: 0 0 7px !important;
    color: #98752e !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .11em !important;
}

.pff-purebeef-sidebar h3 {
    margin: 0 0 8px !important;
    color: #173e32 !important;
    font-family: Georgia, serif !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
}

.pff-purebeef-sidebar p {
    margin: 0 0 12px !important;
    color: #53615b !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

.pff-purebeef-sidebar .pff-purebeef-link {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    width: 100% !important;
    box-sizing: border-box !important;

    padding: 10px 12px !important;

    background: #ffffff !important;
    border: 1px solid #b8c9bf !important;
    border-radius: 5px !important;

    color: #173e32 !important;

    font-size: 12px !important;
    font-weight: 800 !important;
    text-decoration: none !important;

    transform: none !important;
}

.pff-purebeef-sidebar .pff-purebeef-link:hover {
    background: #173e32 !important;
    border-color: #173e32 !important;
    color: #ffffff !important;
    transform: none !important;
}

.pff-purebeef-sidebar .pff-purebeef-link span {
    color: inherit !important;
    font-size: 16px !important;
}

.pff-purebeef-sidebar-divider {
    height: 1px !important;
    margin: 0 18px !important;
    background: #d5dfd9 !important;
}

.pff-purebeef-powered {
    padding: 9px 15px !important;
    background: #e8efeb !important;
    border-top: 1px solid #d5dfd9 !important;
    color: #66746d !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    text-align: center !important;
}


/* =========================================================
   DIRECTORY TAXONOMY - ONLY ACTUAL SELECTED BUTTON IS GREEN
   ========================================================= */

.pff-directory-active-family-only
.pff-taxonomy-row-wrap.is-selected
> .pff-taxonomy-row {
    background: transparent !important;
    border-color: #e0e4dc !important;
    color: inherit !important;
}

/* Keep the actual checked filter visibly selected */
.pff-directory-active-family-only
.pff-taxonomy-row-wrap.is-selected
> .pff-taxonomy-row
.animal-filter-option input:checked + span {
    background: #174f3d !important;
    border-color: #174f3d !important;
    color: #fff !important;
}

/* Chevron stays green rather than inheriting false row selection */
.pff-directory-active-family-only
.pff-taxonomy-row-wrap.is-selected
> .pff-taxonomy-row
.pff-taxonomy-chevron {
    color: #fff !important;
    background: #0f4b3a !important;
    border-left-color: #d4ddd1 !important;
}



/* ==========================================================
   PUREFARMFRESH LISTING CLAIM
   Discreet ownership/update control
   ========================================================== */

.single-pff_business .pff-profile-claim-control {
    clear: both;
    max-width: 1180px;
    margin: 28px auto 12px;
    padding: 14px 0;
    border-top: 1px solid rgba(31, 75, 61, 0.14);
    font-size: 13px;
    line-height: 1.5;
}

.single-pff_business .pff-claim-listing {
    margin: 0;
}

.single-pff_business .pff-claim-details {
    margin: 0;
}

.single-pff_business .pff-claim-details > summary {
    display: inline-block;
    cursor: pointer;
    color: #68756e;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.01em;
    list-style: none;
}

.single-pff_business .pff-claim-details > summary::-webkit-details-marker {
    display: none;
}

.single-pff_business .pff-claim-details > summary strong {
    color: #244f3d;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
}

.single-pff_business .pff-claim-details > summary:hover,
.single-pff_business .pff-claim-details > summary:focus {
    color: #244f3d;
}

.single-pff_business .pff-claim-content {
    max-width: 560px;
    margin-top: 14px;
    padding: 20px;
    background: #f7f8f5;
    border: 1px solid rgba(31, 75, 61, 0.12);
    border-radius: 8px;
}

.single-pff_business .pff-claim-content p {
    margin: 0 0 14px;
}

.single-pff_business .pff-claim-content label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #30483d;
}

.single-pff_business .pff-claim-content input,
.single-pff_business .pff-claim-content textarea {
    box-sizing: border-box;
    width: 100%;
    margin-top: 5px;
    padding: 10px 12px;
    border: 1px solid #cfd7d2;
    border-radius: 5px;
    background: #fff;
    font: inherit;
}

.single-pff_business .pff-claim-content button {
    padding: 10px 16px;
    border: 0;
    border-radius: 5px;
    background: #244f3d;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.single-pff_business .pff-claim-status {
    color: #68756e;
    font-size: 13px;
}

@media (max-width: 760px) {
    .single-pff_business .pff-profile-claim-control {
        margin-top: 20px;
    }

    .single-pff_business .pff-claim-content {
        padding: 16px;
    }
}


/* PFF CLAIM PANEL 20260912 */

.single-pff_business .pff-profile-claim-control {
    max-width: 1180px;
    margin: 30px auto;
    padding: 0;
    border-top: 0;
}

.single-pff_business .pff-claim-details {
    border: 1px solid #c9d6c8;
    border-radius: 10px;
    background: #f3f6ee;
    overflow: hidden;
}

.single-pff_business .pff-claim-details > summary {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
    padding: 20px 24px;
    color: #173f32;
}

.single-pff_business .pff-claim-summary-copy {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.single-pff_business .pff-claim-summary-copy > strong {
    color: #173f32;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0;
}

.single-pff_business .pff-claim-summary-copy > span {
    color: #5f6f67;
    font-size: 13px;
}

.single-pff_business .pff-claim-summary-button {
    flex: 0 0 auto;
    padding: 10px 16px;
    border-radius: 6px;
    background: #174f3e;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .06em;
}

.single-pff_business .pff-claim-details[open] > summary {
    border-bottom: 1px solid #d8dfd5;
}

.single-pff_business .pff-claim-content {
    margin: 0;
    padding: 22px 24px 24px;
    max-width: none;
    border: 0;
    border-radius: 0;
    background: #fff;
}

@media (max-width: 760px) {
    .single-pff_business .pff-claim-details > summary {
        align-items: flex-start;
        flex-direction: column;
        padding: 18px;
    }

    .single-pff_business .pff-claim-summary-button {
        align-self: flex-start;
    }
}

/* PFF HOMEPAGE IMAGE HERO 20260912 */
.pff-home-hero-image {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: #eef3ea;
}

.pff-home-hero-image img {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
}

@media (max-width: 768px) {
    .pff-home-hero-image img {
        width: 100%;
        height: auto;
    }
}

/* ==========================================================
   PUREFARMFRESH HOMEPAGE 20260913
   ========================================================== */

body.home .pff-home-new {
    width: 100%;
    margin: 0;
    padding: 0;
}

body.home .pff-home-hero {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    overflow: hidden;
    line-height: 0;
}

body.home .pff-home-hero img {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    margin: 0;
}

@media (max-width: 768px) {
    body.home .pff-home-hero {
        width: 100vw;
    }

    body.home .pff-home-hero img {
        width: 100%;
        height: auto;
    }
}

/* ==========================================================
   PUREFARMFRESH HOMEPAGE 20260913
   ========================================================== */

body.home .pff-home-new {
    width: 100%;
    margin: 0;
    padding: 0;
}

body.home .pff-home-hero {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    overflow: hidden;
    line-height: 0;
}

body.home .pff-home-hero img {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    margin: 0;
}

@media (max-width: 768px) {
    body.home .pff-home-hero {
        width: 100vw;
    }

    body.home .pff-home-hero img {
        width: 100%;
        height: auto;
    }
}

/* PFF HOMEPAGE DIRECTORY PATHWAYS 20260913 */

.pff-home-pathways {
    padding: 72px 24px 82px;
    background: #f7f8f3;
}

.pff-home-inner {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
}

.pff-home-section-heading {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.pff-home-eyebrow {
    display: block;
    margin-bottom: 10px;
    color: #708b3a;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}

.pff-home-section-heading h1 {
    margin: 0 0 14px;
    color: #24462f;
    font-size: clamp(36px, 5vw, 58px);
    line-height: 1.05;
}

.pff-home-section-heading p {
    margin: 0;
    color: #5d675f;
    font-size: 18px;
    line-height: 1.7;
}

.pff-home-pathway-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 18px;
}

.pff-home-pathway {
    grid-column: span 2;
    display: flex;
    flex-direction: column;
    min-height: 270px;
    padding: 30px;
    background: #fff;
    border: 1px solid #e2e8dd;
    border-radius: 12px;
    color: #3f4941;
    text-decoration: none;
    box-shadow: 0 5px 18px rgba(35, 70, 47, 0.05);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.pff-home-pathway:nth-child(4) {
    grid-column: 2 / span 2;
}

.pff-home-pathway:nth-child(5) {
    grid-column: 4 / span 2;
}

.pff-home-pathway:hover {
    transform: translateY(-4px);
    border-color: #a9bd7c;
    box-shadow: 0 12px 28px rgba(35, 70, 47, 0.10);
}

.pff-home-pathway-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    margin-bottom: 22px;
    background: #eef3e4;
    border-radius: 50%;
    color: #476a35;
    font-size: 27px;
}

.pff-home-pathway h2 {
    margin: 0 0 10px;
    color: #24462f;
    font-size: 23px;
    line-height: 1.25;
}

.pff-home-pathway p {
    margin: 0 0 22px;
    color: #667068;
    font-size: 15px;
    line-height: 1.65;
}

.pff-home-pathway-link {
    margin-top: auto;
    color: #698a38;
    font-size: 14px;
    font-weight: 700;
}

@media (max-width: 900px) {
    .pff-home-pathway-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .pff-home-pathway,
    .pff-home-pathway:nth-child(4),
    .pff-home-pathway:nth-child(5) {
        grid-column: auto;
    }
}

@media (max-width: 600px) {
    .pff-home-pathways {
        padding: 50px 18px 58px;
    }

    .pff-home-pathway-grid {
        grid-template-columns: 1fr;
    }

    .pff-home-pathway {
        min-height: 0;
        padding: 24px;
    }

    .pff-home-section-heading p {
        font-size: 16px;
    }
}

/* ==========================================================
   PFF HOMEPAGE DISCOVERY 20260913
   ========================================================== */

.pff-discovery {
    padding: 82px 5vw 88px;
    background: #f8f5ed;
}

.pff-discovery-inner {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
}

.pff-discovery-head {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: end;
    margin-bottom: 46px;
}

.pff-kicker {
    display: block;
    margin-bottom: 16px;
    color: #a9782d;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}

.pff-discovery-head h2 {
    margin: 0;
    color: #153f2c;
    font-family: Georgia, serif;
    font-size: clamp(42px, 5vw, 68px);
    font-weight: 400;
    line-height: 1.05;
}

.pff-discovery-head > p {
    max-width: 620px;
    margin: 0 0 7px;
    color: #47554c;
    font-size: 17px;
    line-height: 1.75;
}

.pff-discovery-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    border-top: 1px solid #d8d9cf;
    border-bottom: 1px solid #d8d9cf;
}

.pff-discovery-card {
    display: flex;
    flex-direction: column;
    min-height: 390px;
    padding: 34px 30px 32px;
    color: #173f2d;
    text-decoration: none;
    border-right: 1px solid #d8d9cf;
    transition: background .2s ease, transform .2s ease;
}

.pff-discovery-card:last-child {
    border-right: 0;
}

.pff-discovery-card:hover {
    background: #fffdf8;
    transform: translateY(-3px);
}

.pff-card-number {
    margin-bottom: 35px;
    color: #bc8530;
    font-family: Georgia, serif;
    font-size: 14px;
}

.pff-card-icon {
    margin-bottom: 16px;
    color: #bc8530;
    font-size: 31px;
    line-height: 1;
}

.pff-card-label {
    margin-bottom: 10px;
    color: #276144;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.7px;
}

.pff-discovery-card h3 {
    margin: 0 0 14px;
    color: #153f2c;
    font-family: Georgia, serif;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.2;
}

.pff-discovery-card p {
    margin: 0 0 25px;
    color: #59635c;
    font-size: 15px;
    line-height: 1.65;
}

.pff-discovery-card strong {
    margin-top: auto;
    color: #276144;
    font-size: 14px;
}

@media (max-width: 1100px) {
    .pff-discovery-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .pff-discovery-card {
        border-bottom: 1px solid #d8d9cf;
    }
}

@media (max-width: 700px) {
    .pff-discovery {
        padding: 55px 20px 60px;
    }

    .pff-discovery-head {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 35px;
    }

    .pff-discovery-grid {
        grid-template-columns: 1fr;
    }

    .pff-discovery-card {
        min-height: 0;
        padding: 28px 20px;
        border-right: 0;
    }

    .pff-card-number {
        margin-bottom: 20px;
    }
}

/* ==========================================================
   PFF DISCOVERY POLISH 20260913
   ========================================================== */

.pff-discovery {
    padding: 76px 4.2vw 86px;
    background: #faf8f1;
}

.pff-discovery-inner {
    max-width: 1540px;
    margin: 0 auto;
}

/* Heading */

.pff-discovery-head {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 80px;
    align-items: end;
    margin-bottom: 48px;
}

.pff-kicker {
    position: relative;
    display: inline-block;
    margin: 0 0 20px 46px;
    color: #a97120;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2.2px;
}

.pff-kicker::before {
    content: "";
    position: absolute;
    width: 30px;
    height: 1px;
    left: -46px;
    top: 50%;
    background: #c58a2b;
}

.pff-discovery-head h2 {
    margin: 0;
    color: #123f2d;
    font-family: Georgia, serif;
    font-size: clamp(46px, 5vw, 72px);
    font-weight: 400;
    line-height: .98;
    letter-spacing: -1.5px;
}

.pff-discovery-head > p {
    max-width: 650px;
    margin: 0 0 9px;
    color: #40534a;
    font-size: 17px;
    line-height: 1.75;
}

/* Five columns */

.pff-discovery-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border-top: 1px solid #d8d8ce;
    border-bottom: 1px solid #d8d8ce;
}

.pff-discovery-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 500px;
    padding: 30px 30px 28px;
    color: #123f2d;
    text-decoration: none !important;
    border-right: 1px solid #d8d8ce;
    background: transparent;
    transform: none;
    transition: background .2s ease;
}

.pff-discovery-card:last-child {
    border-right: 0;
}

.pff-discovery-card:hover {
    background: rgba(255,255,255,.48);
    transform: none;
}

/* Numbers */

.pff-card-number {
    display: block;
    margin: 0 0 24px;
    color: #b87918;
    font-family: Arial, sans-serif;
    font-size: 13px;
    line-height: 1;
}

/* Soft icon circles */

.pff-card-icon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 74px;
    height: 74px;
    margin: 0 0 22px;
    overflow: hidden;
    border-radius: 50%;
    background: #eef0e6;
    color: transparent;
    font-size: 0;
}

/* common icon drawing */

.pff-card-icon::before,
.pff-card-icon::after {
    content: "";
    position: absolute;
    box-sizing: border-box;
}

/* 01 Farms - sprout */

.pff-discovery-card:nth-child(1) .pff-card-icon::before {
    width: 2px;
    height: 31px;
    left: 36px;
    top: 28px;
    background: #246043;
}

.pff-discovery-card:nth-child(1) .pff-card-icon::after {
    width: 32px;
    height: 25px;
    left: 21px;
    top: 18px;
    border-left: 3px solid #246043;
    border-right: 3px solid #246043;
    border-radius: 90% 10% 90% 10%;
    transform: rotate(45deg);
}

/* 02 Local food - basket */

.pff-discovery-card:nth-child(2) .pff-card-icon::before {
    width: 38px;
    height: 27px;
    left: 18px;
    top: 31px;
    border: 2px solid #246043;
    border-radius: 3px 3px 9px 9px;
    background:
        linear-gradient(90deg,
            transparent 31%,
            #c28a2c 32%,
            #c28a2c 36%,
            transparent 37%,
            transparent 63%,
            #c28a2c 64%,
            #c28a2c 68%,
            transparent 69%);
}

.pff-discovery-card:nth-child(2) .pff-card-icon::after {
    width: 26px;
    height: 22px;
    left: 24px;
    top: 20px;
    border: 2px solid #246043;
    border-bottom: 0;
    border-radius: 18px 18px 0 0;
}

/* 03 Health - heart */

.pff-discovery-card:nth-child(3) .pff-card-icon::before {
    width: 30px;
    height: 30px;
    left: 22px;
    top: 20px;
    border-left: 3px solid #246043;
    border-bottom: 3px solid #246043;
    transform: rotate(-45deg);
    border-radius: 0 0 0 7px;
}

.pff-discovery-card:nth-child(3) .pff-card-icon::after {
    width: 22px;
    height: 10px;
    left: 27px;
    top: 34px;
    border-top: 2px solid #c28a2c;
    transform: rotate(-8deg);
}

/* 04 Animal welfare - paw */

.pff-discovery-card:nth-child(4) .pff-card-icon::before {
    width: 28px;
    height: 24px;
    left: 23px;
    top: 34px;
    border: 3px solid #246043;
    border-radius: 50% 50% 45% 45%;
}

.pff-discovery-card:nth-child(4) .pff-card-icon::after {
    width: 10px;
    height: 13px;
    left: 20px;
    top: 18px;
    border: 2px solid #246043;
    border-radius: 50%;
    box-shadow:
        14px -5px 0 -2px #eef0e6,
        14px -5px 0 0 #246043,
        28px 0 0 -2px #eef0e6,
        28px 0 0 0 #246043;
}

/* 05 Local business - storefront */

.pff-discovery-card:nth-child(5) .pff-card-icon::before {
    width: 38px;
    height: 31px;
    left: 18px;
    top: 29px;
    border: 2px solid #246043;
    border-radius: 2px;
}

.pff-discovery-card:nth-child(5) .pff-card-icon::after {
    width: 44px;
    height: 15px;
    left: 15px;
    top: 20px;
    border: 2px solid #246043;
    border-radius: 4px 4px 8px 8px;
    background:
        repeating-linear-gradient(
            90deg,
            transparent 0,
            transparent 7px,
            #c28a2c 8px,
            #c28a2c 10px
        );
}

/* Labels */

.pff-card-label {
    display: block;
    margin-bottom: 10px;
    color: #174d37;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2.2px;
}

.pff-discovery-card h3 {
    margin: 0 0 17px;
    color: #123f2d;
    font-family: Georgia, serif;
    font-size: clamp(24px, 1.7vw, 31px);
    font-weight: 400;
    line-height: 1.15;
}

.pff-discovery-card p {
    margin: 0 0 28px;
    color: #59645d;
    font-size: 15px;
    line-height: 1.65;
}

/* Gold Explore pills */

.pff-discovery-card strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    min-height: 50px;
    margin-top: auto;
    padding: 0 25px;
    border-radius: 999px;
    background: #e2aa32;
    color: #123f2d;
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .7px;
    text-transform: uppercase;
    box-shadow: 0 7px 15px rgba(166,115,24,.16);
    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.pff-discovery-card:hover strong {
    background: #edb63c;
    transform: translateY(-2px);
    box-shadow: 0 9px 18px rgba(166,115,24,.22);
}

/* Tablet */

@media (max-width: 1100px) {

    .pff-discovery-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .pff-discovery-card {
        min-height: 390px;
        border-bottom: 1px solid #d8d8ce;
    }

    .pff-discovery-card:nth-child(even) {
        border-right: 0;
    }

    .pff-discovery-card:last-child {
        border-right: 1px solid #d8d8ce;
    }
}

/* Mobile */

@media (max-width: 700px) {

    .pff-discovery {
        padding: 52px 20px 60px;
    }

    .pff-discovery-head {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 34px;
    }

    .pff-discovery-head h2 {
        font-size: 45px;
    }

    .pff-discovery-grid {
        grid-template-columns: 1fr;
    }

    .pff-discovery-card,
    .pff-discovery-card:last-child {
        min-height: 0;
        padding: 28px 20px 30px;
        border-right: 0;
    }

    .pff-card-icon {
        width: 70px;
        height: 70px;
    }

    .pff-discovery-card strong {
        margin-top: 8px;
    }
}


/* ==========================================================
   PFF HOMEPAGE MOTION 20260913
   ========================================================== */

/*
 * Motion is enabled only after JavaScript loads.
 * This prevents content being invisible if JS is unavailable.
 */

.pff-js .pff-discovery .pff-discovery-head {
    opacity: 0;
    transform: translateY(22px);
    transition:
        opacity .7s ease,
        transform .7s cubic-bezier(.2,.7,.3,1);
}

.pff-js .pff-discovery .pff-discovery-card {
    opacity: 0;
    transform: translateY(28px);
    transition:
        opacity .65s ease,
        transform .65s cubic-bezier(.2,.7,.3,1),
        background .2s ease;
}

.pff-js .pff-discovery.is-visible .pff-discovery-head {
    opacity: 1;
    transform: translateY(0);
}

.pff-js .pff-discovery.is-visible .pff-discovery-card {
    opacity: 1;
    transform: translateY(0);
}

/* stagger the cards */

.pff-js .pff-discovery.is-visible .pff-discovery-card:nth-child(1) {
    transition-delay: .08s;
}

.pff-js .pff-discovery.is-visible .pff-discovery-card:nth-child(2) {
    transition-delay: .16s;
}

.pff-js .pff-discovery.is-visible .pff-discovery-card:nth-child(3) {
    transition-delay: .24s;
}

.pff-js .pff-discovery.is-visible .pff-discovery-card:nth-child(4) {
    transition-delay: .32s;
}

.pff-js .pff-discovery.is-visible .pff-discovery-card:nth-child(5) {
    transition-delay: .40s;
}

/* icon interaction */

.pff-discovery-card .pff-card-icon {
    transition:
        transform .3s cubic-bezier(.2,.7,.3,1),
        box-shadow .3s ease;
}

.pff-discovery-card:hover .pff-card-icon {
    transform: translateY(-5px);
    box-shadow: 0 10px 24px rgba(24, 63, 45, .10);
}

/* title interaction */

.pff-discovery-card h3 {
    transition: transform .25s ease;
}

.pff-discovery-card:hover h3 {
    transform: translateX(3px);
}

/* gold pill interaction */

.pff-discovery-card strong {
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background .25s ease;
}

.pff-discovery-card:hover strong {
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(166, 115, 24, .22);
}

/* Accessibility */

@media (prefers-reduced-motion: reduce) {

    .pff-js .pff-discovery .pff-discovery-head,
    .pff-js .pff-discovery .pff-discovery-card,
    .pff-discovery-card .pff-card-icon,
    .pff-discovery-card h3,
    .pff-discovery-card strong {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        animation: none !important;
    }
}


/* ==========================================================
   PFF DISCOVERY CLEAN ICONS 20260913
   Simple recognizable line icons
   ========================================================== */

/* Reset previous hand-drawn icon pieces */

.pff-discovery-card .pff-card-icon::before {
    content: "";
    position: absolute;
    display: block;
    box-sizing: border-box;

    width: 38px !important;
    height: 38px !important;

    left: 50% !important;
    top: 50% !important;

    border: 0 !important;
    border-radius: 0 !important;

    background-color: #246043 !important;
    background-image: none !important;

    box-shadow: none !important;

    transform: translate(-50%, -50%) !important;

    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;

    -webkit-mask-position: center;
    mask-position: center;

    -webkit-mask-size: contain;
    mask-size: contain;
}

.pff-discovery-card .pff-card-icon::after {
    content: none !important;
    display: none !important;
}


/* 01 FARMS & GROWERS - sprouting plant */

.pff-discovery-card:nth-child(1) .pff-card-icon::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 42V19'/%3E%3Cpath d='M24 24C18 24 12 20 11 13c7-1 13 2 13 11Z'/%3E%3Cpath d='M24 19c1-7 6-11 13-11 0 7-5 12-13 11Z'/%3E%3Cpath d='M16 42h16'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 42V19'/%3E%3Cpath d='M24 24C18 24 12 20 11 13c7-1 13 2 13 11Z'/%3E%3Cpath d='M24 19c1-7 6-11 13-11 0 7-5 12-13 11Z'/%3E%3Cpath d='M16 42h16'/%3E%3C/g%3E%3C/svg%3E");
}


/* 02 LOCAL FOOD - market basket */

.pff-discovery-card:nth-child(2) .pff-card-icon::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 20h28l-3 20H13l-3-20Z'/%3E%3Cpath d='M17 20c1-7 4-11 7-11s6 4 7 11'/%3E%3Cpath d='M18 26v8M24 26v8M30 26v8'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 20h28l-3 20H13l-3-20Z'/%3E%3Cpath d='M17 20c1-7 4-11 7-11s6 4 7 11'/%3E%3Cpath d='M18 26v8M24 26v8M30 26v8'/%3E%3C/g%3E%3C/svg%3E");
}


/* 03 HEALTH & LIVING - heart with pulse */

.pff-discovery-card:nth-child(3) .pff-card-icon::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 40S8 31 8 18c0-6 4-10 10-10 3 0 5 2 6 5 1-3 3-5 6-5 6 0 10 4 10 10 0 13-16 22-16 22Z'/%3E%3Cpath d='M13 24h7l3-6 4 12 3-6h5'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 40S8 31 8 18c0-6 4-10 10-10 3 0 5 2 6 5 1-3 3-5 6-5 6 0 10 4 10 10 0 13-16 22-16 22Z'/%3E%3Cpath d='M13 24h7l3-6 4 12 3-6h5'/%3E%3C/g%3E%3C/svg%3E");
}


/* 04 ANIMAL WELFARE - paw */

.pff-discovery-card:nth-child(4) .pff-card-icon::before {
    width: 40px !important;
    height: 40px !important;

    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='%23000'%3E%3Cellipse cx='24' cy='32' rx='11' ry='9'/%3E%3Cellipse cx='12' cy='21' rx='4' ry='6'/%3E%3Cellipse cx='21' cy='14' rx='4' ry='6'/%3E%3Cellipse cx='36' cy='21' rx='4' ry='6'/%3E%3Cellipse cx='29' cy='14' rx='4' ry='6'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='%23000'%3E%3Cellipse cx='24' cy='32' rx='11' ry='9'/%3E%3Cellipse cx='12' cy='21' rx='4' ry='6'/%3E%3Cellipse cx='21' cy='14' rx='4' ry='6'/%3E%3Cellipse cx='36' cy='21' rx='4' ry='6'/%3E%3Cellipse cx='29' cy='14' rx='4' ry='6'/%3E%3C/g%3E%3C/svg%3E");
}


/* 05 LOCAL BUSINESS - simple storefront */

.pff-discovery-card:nth-child(5) .pff-card-icon::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h30l-3-9H12l-3 9Z'/%3E%3Cpath d='M10 18v22h28V18'/%3E%3Cpath d='M17 40V27h14v13'/%3E%3Cpath d='M9 18c0 4 6 4 6 0 0 4 6 4 6 0 0 4 6 4 6 0 0 4 6 4 6 0 0 4 6 4 6 0'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h30l-3-9H12l-3 9Z'/%3E%3Cpath d='M10 18v22h28V18'/%3E%3Cpath d='M17 40V27h14v13'/%3E%3Cpath d='M9 18c0 4 6 4 6 0 0 4 6 4 6 0 0 4 6 4 6 0 0 4 6 4 6 0 0 4 6 4 6 0'/%3E%3C/g%3E%3C/svg%3E");
}


/* Slightly smaller, softer circles */

.pff-discovery-card .pff-card-icon {
    width: 68px;
    height: 68px;
    background: #edf1e7;
    box-shadow: none;
}

.pff-discovery-card:hover .pff-card-icon {
    transform: translateY(-4px);
    background: #e8eee1;
    box-shadow: 0 8px 20px rgba(24, 63, 45, .08);
}



/* ==========================================================
   PFF BUSINESS GROWTH 20260913
   ========================================================== */

.pff-business-growth {
    padding: 100px 5vw 92px;
    background: #f4f0e6;
    color: #153f2c;
}

.pff-growth-inner {
    max-width: 1500px;
    margin: 0 auto;
}

.pff-growth-intro {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 110px;
    margin-bottom: 78px;
}

.pff-growth-kicker {
    position: relative;
    display: inline-block;
    margin: 0 0 22px 45px;
    color: #9b6c2b;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}

.pff-growth-kicker::before {
    content: "";
    position: absolute;
    left: -45px;
    top: 50%;
    width: 29px;
    height: 1px;
    background: #bd8430;
}

.pff-growth-title h2 {
    margin: 0;
    color: #153f2c;
    font-family: Georgia, serif;
    font-size: clamp(48px, 5vw, 72px);
    font-weight: 400;
    line-height: 1.03;
    letter-spacing: -1.5px;
}

.pff-growth-title h2 em {
    color: #a87226;
    font-style: normal;
}

.pff-growth-copy {
    max-width: 700px;
}

.pff-growth-copy p {
    margin: 0 0 20px;
    color: #425249;
    font-size: 17px;
    line-height: 1.75;
}

.pff-growth-copy .pff-growth-lead {
    margin-bottom: 24px;
    color: #153f2c;
    font-family: Georgia, serif;
    font-size: 25px;
    line-height: 1.4;
}

.pff-growth-statement {
    margin: 34px 0;
    padding-left: 20px;
    border-left: 3px solid #c38b34;
    color: #153f2c;
    font-family: Georgia, serif;
    font-size: 22px;
    line-height: 1.5;
}

.pff-growth-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
    margin-top: 34px;
}

.pff-growth-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 27px;
    border-radius: 999px;
    background: #e6ad32;
    color: #123f2d !important;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .8px;
    box-shadow: 0 8px 18px rgba(163,112,26,.18);
    transition: transform .25s ease, box-shadow .25s ease;
}

.pff-growth-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 11px 22px rgba(163,112,26,.25);
}

.pff-growth-secondary {
    color: #205b3e !important;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
}


/* FOUR STEPS */

.pff-growth-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid #d1d2c7;
    border-bottom: 1px solid #d1d2c7;
}

.pff-growth-step {
    min-height: 310px;
    padding: 32px 30px;
    border-right: 1px solid #d1d2c7;
}

.pff-growth-step:last-child {
    border-right: 0;
}

.pff-growth-number {
    display: block;
    margin-bottom: 25px;
    color: #b77c25;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
}

.pff-growth-step-icon {
    position: relative;
    display: block;
    width: 48px;
    height: 48px;
    margin-bottom: 20px;
}

.pff-growth-step-icon::before {
    content: "";
    position: absolute;
    inset: 4px;
    background: #b77c25;

    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;

    -webkit-mask-position: center;
    mask-position: center;

    -webkit-mask-size: contain;
    mask-size: contain;
}


/* SEARCH */

.pff-growth-search::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Ccircle cx='21' cy='21' r='12'/%3E%3Cpath d='m30 30 10 10'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Ccircle cx='21' cy='21' r='12'/%3E%3Cpath d='m30 30 10 10'/%3E%3C/g%3E%3C/svg%3E");
}


/* CONNECTION */

.pff-growth-connect::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.5'%3E%3Ccircle cx='13' cy='24' r='6'/%3E%3Ccircle cx='35' cy='13' r='6'/%3E%3Ccircle cx='35' cy='35' r='6'/%3E%3Cpath d='m18 21 11-6M18 27l11 6'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.5'%3E%3Ccircle cx='13' cy='24' r='6'/%3E%3Ccircle cx='35' cy='13' r='6'/%3E%3Ccircle cx='35' cy='35' r='6'/%3E%3Cpath d='m18 21 11-6M18 27l11 6'/%3E%3C/g%3E%3C/svg%3E");
}


/* GROWTH CHART */

.pff-growth-chart::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 38h32'/%3E%3Cpath d='M12 34V24h7v10M22 34V17h7v17M32 34V10h7v24'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 38h32'/%3E%3Cpath d='M12 34V24h7v10M22 34V17h7v17M32 34V10h7v24'/%3E%3C/g%3E%3C/svg%3E");
}


/* HEART */

.pff-growth-heart::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2.5' stroke-linejoin='round' d='M24 40S8 31 8 18c0-6 4-10 10-10 3 0 5 2 6 5 1-3 3-5 6-5 6 0 10 4 10 10 0 13-16 22-16 22Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2.5' stroke-linejoin='round' d='M24 40S8 31 8 18c0-6 4-10 10-10 3 0 5 2 6 5 1-3 3-5 6-5 6 0 10 4 10 10 0 13-16 22-16 22Z'/%3E%3C/svg%3E");
}


.pff-growth-step h3 {
    margin: 0 0 12px;
    color: #153f2c;
    font-family: Georgia, serif;
    font-size: 25px;
    font-weight: 400;
}

.pff-growth-step p {
    margin: 0;
    color: #59645d;
    font-size: 15px;
    line-height: 1.65;
}


/* MOTION */

.pff-js .pff-business-growth .pff-growth-title,
.pff-js .pff-business-growth .pff-growth-copy,
.pff-js .pff-business-growth .pff-growth-step {
    opacity: 0;
    transform: translateY(28px);
}

.pff-js .pff-business-growth.is-visible .pff-growth-title,
.pff-js .pff-business-growth.is-visible .pff-growth-copy,
.pff-js .pff-business-growth.is-visible .pff-growth-step {
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity .7s ease,
        transform .7s cubic-bezier(.2,.7,.3,1);
}

.pff-js .pff-business-growth.is-visible .pff-growth-copy {
    transition-delay: .12s;
}

.pff-js .pff-business-growth.is-visible .pff-growth-step:nth-child(1) {
    transition-delay: .12s;
}

.pff-js .pff-business-growth.is-visible .pff-growth-step:nth-child(2) {
    transition-delay: .22s;
}

.pff-js .pff-business-growth.is-visible .pff-growth-step:nth-child(3) {
    transition-delay: .32s;
}

.pff-js .pff-business-growth.is-visible .pff-growth-step:nth-child(4) {
    transition-delay: .42s;
}


/* RESPONSIVE */

@media (max-width: 950px) {

    .pff-growth-intro {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .pff-growth-steps {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {

    .pff-business-growth {
        padding: 65px 20px;
    }

    .pff-growth-steps {
        grid-template-columns: 1fr;
    }

    .pff-growth-step {
        min-height: 0;
        border-right: 0;
        border-bottom: 1px solid #d1d2c7;
    }

    .pff-growth-step:last-child {
        border-bottom: 0;
    }

    .pff-growth-title h2 {
        font-size: 47px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .pff-js .pff-business-growth .pff-growth-title,
    .pff-js .pff-business-growth .pff-growth-copy,
    .pff-js .pff-business-growth .pff-growth-step {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}



/* ==========================================================
   PFF BUSINESS GROWTH JOURNEY 20260913
   ========================================================== */

.pff-growth-journey {
    position: relative;
    overflow: hidden;
    padding: 92px 5vw 82px;
    background: #153f2c;
    color: #f7f3e8;
}

.pff-growth-journey::after {
    content: "";
    position: absolute;
    width: 600px;
    height: 600px;
    right: -240px;
    top: -320px;
    border-radius: 50%;
    background: rgba(255,255,255,.025);
    pointer-events: none;
}

.pff-growth-journey-inner {
    position: relative;
    z-index: 1;
    max-width: 1500px;
    margin: 0 auto;
}


/* HEADER */

.pff-growth-journey-head {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 110px;
    align-items: end;
    margin-bottom: 80px;
}

.pff-growth-journey-kicker {
    position: relative;
    display: inline-block;
    margin: 0 0 22px 42px;
    color: #e7b248;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}

.pff-growth-journey-kicker::before {
    content: "";
    position: absolute;
    left: -42px;
    top: 50%;
    width: 28px;
    height: 1px;
    background: #e7b248;
}

.pff-growth-journey h2 {
    margin: 0;
    color: #fffdf7;
    font-family: Georgia, serif;
    font-size: clamp(46px, 5vw, 70px);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -1.3px;
}

.pff-growth-journey h2 em {
    color: #e7b248;
    font-style: normal;
}

.pff-growth-journey-copy {
    max-width: 600px;
    padding-bottom: 5px;
}

.pff-growth-journey-copy p {
    margin: 0 0 17px;
    color: rgba(255,255,255,.78);
    font-size: 17px;
    line-height: 1.7;
}

.pff-growth-journey-copy p:last-child {
    margin-bottom: 0;
    color: #fffdf7;
    font-family: Georgia, serif;
    font-size: 21px;
}


/* JOURNEY */

.pff-growth-track {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    padding-top: 22px;
}

.pff-growth-line {
    position: absolute;
    top: 31px;
    left: 0;
    right: 0;
    height: 1px;
    background: rgba(255,255,255,.17);
}

.pff-growth-line-fill {
    display: block;
    width: 100%;
    height: 2px;
    margin-top: -1px;
    background: #e7b248;
    transform-origin: left center;
}

.pff-growth-stage {
    position: relative;
    min-height: 230px;
    padding: 44px 42px 20px 0;
}

.pff-growth-stage:not(:last-child) {
    margin-right: 32px;
}

.pff-growth-dot {
    position: absolute;
    top: 2px;
    left: 0;
    width: 19px;
    height: 19px;
    border: 4px solid #153f2c;
    border-radius: 50%;
    background: #e7b248;
    box-shadow: 0 0 0 1px rgba(231,178,72,.7);
}

.pff-growth-stage-number {
    display: block;
    margin-bottom: 18px;
    color: #e7b248;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.4px;
}

.pff-growth-stage h3 {
    margin: 0 0 13px;
    color: #fffdf7;
    font-family: Georgia, serif;
    font-size: 27px;
    font-weight: 400;
}

.pff-growth-stage p {
    max-width: 285px;
    margin: 0;
    color: rgba(255,255,255,.68);
    font-size: 15px;
    line-height: 1.65;
}


/* FOOTER */

.pff-growth-journey-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    margin-top: 34px;
    padding-top: 34px;
    border-top: 1px solid rgba(255,255,255,.15);
}

.pff-growth-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 25px;
}

.pff-growth-list-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 29px;
    border-radius: 999px;
    background: #e7ad32;
    color: #123e2c !important;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .8px;
    box-shadow: 0 9px 22px rgba(0,0,0,.18);
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background .25s ease;
}

.pff-growth-list-button:hover {
    transform: translateY(-3px);
    background: #efb83d;
    box-shadow: 0 13px 27px rgba(0,0,0,.24);
}

.pff-growth-learn-link {
    color: #fffdf7 !important;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 700;
}

.pff-growth-proof {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px 20px;
}

.pff-growth-proof span {
    position: relative;
    color: rgba(255,255,255,.65);
    font-size: 12px;
    letter-spacing: .3px;
}

.pff-growth-proof span:not(:last-child)::after {
    content: "·";
    position: absolute;
    right: -13px;
    color: #e7b248;
}


/* ==========================================================
   SCROLL MOTION
   ========================================================== */

.pff-js .pff-growth-journey .pff-growth-journey-head {
    opacity: 0;
    transform: translateY(25px);
}

.pff-js .pff-growth-journey .pff-growth-line-fill {
    transform: scaleX(0);
}

.pff-js .pff-growth-journey .pff-growth-stage {
    opacity: 0;
    transform: translateY(25px);
}

.pff-js .pff-growth-journey .pff-growth-journey-footer {
    opacity: 0;
    transform: translateY(18px);
}

.pff-js .pff-growth-journey.is-visible .pff-growth-journey-head {
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity .7s ease,
        transform .7s cubic-bezier(.2,.7,.3,1);
}

.pff-js .pff-growth-journey.is-visible .pff-growth-line-fill {
    transform: scaleX(1);
    transition: transform 1.4s cubic-bezier(.2,.7,.3,1) .25s;
}

.pff-js .pff-growth-journey.is-visible .pff-growth-stage {
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity .6s ease,
        transform .6s cubic-bezier(.2,.7,.3,1);
}

.pff-js .pff-growth-journey.is-visible .pff-growth-stage:nth-of-type(1) {
    transition-delay: .35s;
}

.pff-js .pff-growth-journey.is-visible .pff-growth-stage:nth-of-type(2) {
    transition-delay: .52s;
}

.pff-js .pff-growth-journey.is-visible .pff-growth-stage:nth-of-type(3) {
    transition-delay: .69s;
}

.pff-js .pff-growth-journey.is-visible .pff-growth-stage:nth-of-type(4) {
    transition-delay: .86s;
}

.pff-js .pff-growth-journey.is-visible .pff-growth-journey-footer {
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity .65s ease 1s,
        transform .65s ease 1s;
}


/* MOBILE */

@media (max-width: 900px) {

    .pff-growth-journey-head {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .pff-growth-track {
        grid-template-columns: repeat(2, 1fr);
        gap: 35px;
    }

    .pff-growth-line {
        display: none;
    }

    .pff-growth-dot {
        position: relative;
        display: block;
        top: auto;
        margin-bottom: 18px;
    }

    .pff-growth-stage {
        padding-top: 0;
    }

    .pff-growth-journey-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .pff-growth-proof {
        justify-content: flex-start;
    }
}

@media (max-width: 600px) {

    .pff-growth-journey {
        padding: 68px 20px 62px;
    }

    .pff-growth-track {
        grid-template-columns: 1fr;
    }

    .pff-growth-stage {
        min-height: 0;
        padding-bottom: 28px;
        border-bottom: 1px solid rgba(255,255,255,.13);
    }

    .pff-growth-stage:not(:last-child) {
        margin-right: 0;
    }

    .pff-growth-journey h2 {
        font-size: 46px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .pff-js .pff-growth-journey .pff-growth-journey-head,
    .pff-js .pff-growth-journey .pff-growth-stage,
    .pff-js .pff-growth-journey .pff-growth-journey-footer {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .pff-js .pff-growth-journey .pff-growth-line-fill {
        transform: scaleX(1) !important;
        transition: none !important;
    }
}



/* ==========================================================
   PFF GROWTH REVENUE MODEL 20260913
   ========================================================== */

.pff-growth-model {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 60px;
    align-items: center;
    margin-top: 28px;
    padding: 28px 0;
    border-top: 1px solid rgba(255,255,255,.15);
}

.pff-growth-model strong {
    color: #e7b248;
    font-family: Georgia, serif;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.4;
}

.pff-growth-model p {
    max-width: 650px;
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 15px;
    line-height: 1.65;
}


/* Reveal after the four-stage journey */

.pff-js .pff-growth-journey .pff-growth-model {
    opacity: 0;
    transform: translateY(16px);
}

.pff-js .pff-growth-journey.is-visible .pff-growth-model {
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity .65s ease 1s,
        transform .65s ease 1s;
}


/* Final Grow stage gets one gentle emphasis */

.pff-js .pff-growth-journey.is-visible
.pff-growth-stage:last-child .pff-growth-dot {
    animation: pffGrowthArrival .7s ease 1.15s 1;
}

@keyframes pffGrowthArrival {
    0%   { transform: scale(1); }
    45%  { transform: scale(1.55); }
    100% { transform: scale(1); }
}


@media (max-width: 700px) {

    .pff-growth-model {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}


@media (prefers-reduced-motion: reduce) {

    .pff-js .pff-growth-journey .pff-growth-model {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .pff-js .pff-growth-journey.is-visible
    .pff-growth-stage:last-child .pff-growth-dot {
        animation: none !important;
    }
}



/* ==========================================================
   PFF WHAT MATTERS 20260913
   ========================================================== */

.pff-what-matters {
    padding: 105px 5vw 100px;
    background: #fbf9f2;
    color: #153f2c;
}

.pff-matters-inner {
    max-width: 1500px;
    margin: 0 auto;
}


/* INTRO */

.pff-matters-intro {
    max-width: 1050px;
    margin-bottom: 70px;
}

.pff-matters-kicker {
    position: relative;
    display: inline-block;
    margin: 0 0 24px 44px;
    color: #a97428;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2.1px;
}

.pff-matters-kicker::before {
    content: "";
    position: absolute;
    left: -44px;
    top: 50%;
    width: 29px;
    height: 1px;
    background: #c38a31;
}

.pff-matters-intro h2 {
    margin: 0;
    color: #153f2c;
    font-family: Georgia, serif;
    font-size: clamp(48px, 6vw, 78px);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -1.6px;
}

.pff-matters-intro h2 em {
    color: #a87327;
    font-style: normal;
}

.pff-matters-line {
    width: 100%;
    height: 1px;
    margin: 38px 0 30px;
    overflow: hidden;
    background: #deddd4;
}

.pff-matters-line span {
    display: block;
    width: 170px;
    height: 2px;
    background: #c38a31;
    transform-origin: left center;
}

.pff-matters-intro > p {
    max-width: 850px;
    margin: 0;
    color: #47564e;
    font-size: 18px;
    line-height: 1.75;
}


/* GRID */

.pff-matters-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid #dadbd1;
}

.pff-matter {
    position: relative;
    padding: 38px 34px 40px 0;
}

.pff-matter-family,
.pff-matter-health {
    margin-right: 34px;
    border-right: 1px solid #dadbd1;
}

.pff-matter-number {
    display: block;
    margin-bottom: 26px;
    color: #b47a26;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
}

.pff-matter-icon {
    position: relative;
    width: 58px;
    height: 58px;
    margin-bottom: 21px;
    border-radius: 50%;
    background: #edf0e6;
}

.pff-matter-icon::before {
    content: "";
    position: absolute;
    inset: 13px;
    background: #286044;

    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;

    -webkit-mask-position: center;
    mask-position: center;

    -webkit-mask-size: contain;
    mask-size: contain;
}


/* Family icon */

.pff-matter-family-icon::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round'%3E%3Ccircle cx='16' cy='14' r='6'/%3E%3Ccircle cx='32' cy='17' r='5'/%3E%3Cpath d='M5 40c1-10 5-15 11-15s10 5 11 15M25 40c1-8 3-12 7-12 5 0 8 4 9 12'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round'%3E%3Ccircle cx='16' cy='14' r='6'/%3E%3Ccircle cx='32' cy='17' r='5'/%3E%3Cpath d='M5 40c1-10 5-15 11-15s10 5 11 15M25 40c1-8 3-12 7-12 5 0 8 4 9 12'/%3E%3C/g%3E%3C/svg%3E");
}


/* Health icon */

.pff-matter-health-icon::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 40S8 31 8 18c0-6 4-10 10-10 3 0 5 2 6 5 1-3 3-5 6-5 6 0 10 4 10 10 0 13-16 22-16 22Z'/%3E%3Cpath d='M13 24h7l3-6 4 12 3-6h5'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 40S8 31 8 18c0-6 4-10 10-10 3 0 5 2 6 5 1-3 3-5 6-5 6 0 10 4 10 10 0 13-16 22-16 22Z'/%3E%3Cpath d='M13 24h7l3-6 4 12 3-6h5'/%3E%3C/g%3E%3C/svg%3E");
}


/* Seniors icon */

.pff-matter-seniors-icon::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='21' cy='12' r='6'/%3E%3Cpath d='M21 19v13M14 25h14M21 32l-7 10M21 32l7 10M34 18v24M34 25c5 0 7 3 7 7'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='21' cy='12' r='6'/%3E%3Cpath d='M21 19v13M14 25h14M21 32l-7 10M21 32l7 10M34 18v24M34 25c5 0 7 3 7 7'/%3E%3C/g%3E%3C/svg%3E");
}


.pff-matter-label {
    display: block;
    margin-bottom: 11px;
    color: #276044;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.pff-matter h3 {
    max-width: 390px;
    margin: 0 0 15px;
    color: #153f2c;
    font-family: Georgia, serif;
    font-size: 28px;
    font-weight: 400;
    line-height: 1.2;
}

.pff-matter p {
    max-width: 390px;
    margin: 0 0 22px;
    color: #59645d;
    font-size: 15px;
    line-height: 1.7;
}

.pff-matter a {
    color: #9e6d26 !important;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 800;
}


/* ==========================================================
   ANIMAL WELFARE - VISUAL ANCHOR
   ========================================================== */

.pff-matter-animals {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 70px;
    margin-top: 18px;
    padding: 55px 60px;
    border: 0;
    border-radius: 5px;
    background: #173f2d;
    color: #fff;
}

.pff-matter-animals .pff-matter-number {
    color: #e5ad3b;
}

.pff-matter-animals .pff-matter-icon {
    background: rgba(255,255,255,.08);
}

.pff-matter-animal-icon::before {
    background: #e5ad3b;

    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='%23000'%3E%3Cellipse cx='24' cy='32' rx='11' ry='9'/%3E%3Cellipse cx='12' cy='21' rx='4' ry='6'/%3E%3Cellipse cx='21' cy='14' rx='4' ry='6'/%3E%3Cellipse cx='36' cy='21' rx='4' ry='6'/%3E%3Cellipse cx='29' cy='14' rx='4' ry='6'/%3E%3C/g%3E%3C/svg%3E");

    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='%23000'%3E%3Cellipse cx='24' cy='32' rx='11' ry='9'/%3E%3Cellipse cx='12' cy='21' rx='4' ry='6'/%3E%3Cellipse cx='21' cy='14' rx='4' ry='6'/%3E%3Cellipse cx='36' cy='21' rx='4' ry='6'/%3E%3Cellipse cx='29' cy='14' rx='4' ry='6'/%3E%3C/g%3E%3C/svg%3E");
}

.pff-matter-animals .pff-matter-label {
    color: #e5ad3b;
}

.pff-matter-animals h3 {
    max-width: 720px;
    color: #fffdf7;
    font-size: clamp(34px, 4vw, 52px);
}

.pff-matter-animals p {
    max-width: 760px;
    color: rgba(255,255,255,.76);
    font-size: 16px;
}

.pff-matter-animals a {
    color: #e7b248 !important;
}

.pff-animal-principles {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.pff-animal-principles span {
    position: relative;
    padding: 17px 0 17px 27px;
    border-bottom: 1px solid rgba(255,255,255,.14);
    color: rgba(255,255,255,.84);
    font-family: Georgia, serif;
    font-size: 19px;
}

.pff-animal-principles span::before {
    content: "•";
    position: absolute;
    left: 3px;
    color: #e5ad3b;
}


/* ==========================================================
   SCROLL ANIMATION
   ========================================================== */

.pff-js .pff-what-matters .pff-matters-intro {
    opacity: 0;
    transform: translateY(28px);
}

.pff-js .pff-what-matters .pff-matters-line span {
    transform: scaleX(0);
}

.pff-js .pff-what-matters .pff-matter {
    opacity: 0;
    transform: translateY(30px);
}

.pff-js .pff-what-matters.is-visible .pff-matters-intro {
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity .75s ease,
        transform .75s cubic-bezier(.2,.7,.3,1);
}

.pff-js .pff-what-matters.is-visible .pff-matters-line span {
    transform: scaleX(1);
    transition: transform 1s ease .25s;
}

.pff-js .pff-what-matters.is-visible .pff-matter {
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity .65s ease,
        transform .65s cubic-bezier(.2,.7,.3,1);
}

.pff-js .pff-what-matters.is-visible .pff-matter:nth-child(1) {
    transition-delay: .18s;
}

.pff-js .pff-what-matters.is-visible .pff-matter:nth-child(2) {
    transition-delay: .30s;
}

.pff-js .pff-what-matters.is-visible .pff-matter:nth-child(3) {
    transition-delay: .42s;
}

.pff-js .pff-what-matters.is-visible .pff-matter:nth-child(4) {
    transition-delay: .54s;
}


/* RESPONSIVE */

@media (max-width: 900px) {

    .pff-matters-grid {
        grid-template-columns: 1fr 1fr;
    }

    .pff-matter-family,
    .pff-matter-health {
        margin-right: 0;
    }

    .pff-matter-health {
        border-right: 0;
    }

    .pff-matter-seniors {
        grid-column: 1 / -1;
    }

    .pff-matter-animals {
        grid-template-columns: 1fr;
        gap: 35px;
    }
}

@media (max-width: 600px) {

    .pff-what-matters {
        padding: 68px 20px;
    }

    .pff-matters-intro h2 {
        font-size: 46px;
    }

    .pff-matters-grid {
        grid-template-columns: 1fr;
    }

    .pff-matter,
    .pff-matter-family,
    .pff-matter-health {
        margin-right: 0;
        padding: 32px 0;
        border-right: 0;
        border-bottom: 1px solid #dadbd1;
    }

    .pff-matter-seniors {
        grid-column: auto;
    }

    .pff-matter-animals {
        grid-column: auto;
        margin-top: 20px;
        padding: 38px 28px;
        border-bottom: 0;
    }
}

@media (prefers-reduced-motion: reduce) {

    .pff-js .pff-what-matters .pff-matters-intro,
    .pff-js .pff-what-matters .pff-matter {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .pff-js .pff-what-matters .pff-matters-line span {
        transform: scaleX(1) !important;
        transition: none !important;
    }
}


/* ==========================================================
   PFF ANIMAL WELFARE + GIVING 20260913
   ========================================================== */

.pff-animal-giving {
    position: relative;
    overflow: hidden;
    padding: 105px 0;
    background: #173f2d;
    color: #fff;
}

.pff-animal-giving::after {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    right: -180px;
    top: -190px;
    border: 1px solid rgba(229,173,59,.14);
    border-radius: 50%;
    pointer-events: none;
}

.pff-animal-giving-inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 95px;
    align-items: center;
}

.pff-animal-giving-label {
    margin-bottom: 22px;
    color: #e5ad3b;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .18em;
}

.pff-animal-giving h2 {
    max-width: 820px;
    margin: 0;
    color: #fffdf7;
    font-family: Georgia, serif;
    font-size: clamp(44px, 5.2vw, 72px);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -.035em;
}

.pff-animal-giving h2 em {
    color: #e5ad3b;
    font-weight: 400;
}

.pff-animal-giving-rule {
    width: 100%;
    max-width: 720px;
    height: 1px;
    margin: 34px 0;
    background: rgba(255,255,255,.14);
    overflow: hidden;
}

.pff-animal-giving-rule span {
    display: block;
    width: 100%;
    height: 100%;
    background: #e5ad3b;
    transform-origin: left center;
}

.pff-animal-giving-main p {
    max-width: 720px;
    margin: 0 0 17px;
    color: rgba(255,255,255,.76);
    font-size: 16px;
    line-height: 1.75;
}

.pff-animal-giving-main .pff-animal-giving-lead {
    color: rgba(255,255,255,.9);
    font-size: 18px;
}

.pff-animal-giving-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
}

.pff-animal-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 0 25px;
    border: 1px solid transparent;
    border-radius: 999px;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .07em;
    transition:
        transform .22s ease,
        background .22s ease,
        border-color .22s ease;
}

.pff-animal-button-gold {
    background: #e5ad3b;
    color: #173f2d !important;
}

.pff-animal-button-light {
    border-color: rgba(255,255,255,.4);
    background: rgba(255,255,255,.06);
    color: #fff !important;
}

.pff-animal-button:hover {
    transform: translateY(-3px);
}

.pff-animal-button-light:hover {
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.65);
}

.pff-animal-giving-note {
    margin-top: 20px;
    color: rgba(255,255,255,.58);
    font-size: 13px;
    font-style: italic;
}

.pff-animal-giving-side {
    position: relative;
    padding: 35px 0;
}

.pff-animal-giving-paw {
    width: 76px;
    height: 76px;
    margin-bottom: 30px;
    border-radius: 50%;
    background: rgba(255,255,255,.07);
    position: relative;
}

.pff-animal-giving-paw::before {
    content: "";
    position: absolute;
    inset: 17px;
    background: #e5ad3b;
    -webkit-mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='%23000'%3E%3Cellipse cx='24' cy='32' rx='11' ry='9'/%3E%3Cellipse cx='12' cy='21' rx='4' ry='6'/%3E%3Cellipse cx='21' cy='14' rx='4' ry='6'/%3E%3Cellipse cx='36' cy='21' rx='4' ry='6'/%3E%3Cellipse cx='29' cy='14' rx='4' ry='6'/%3E%3C/g%3E%3C/svg%3E")
        center / contain no-repeat;
    mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='%23000'%3E%3Cellipse cx='24' cy='32' rx='11' ry='9'/%3E%3Cellipse cx='12' cy='21' rx='4' ry='6'/%3E%3Cellipse cx='21' cy='14' rx='4' ry='6'/%3E%3Cellipse cx='36' cy='21' rx='4' ry='6'/%3E%3Cellipse cx='29' cy='14' rx='4' ry='6'/%3E%3C/g%3E%3C/svg%3E")
        center / contain no-repeat;
}

.pff-animal-principle {
    display: grid;
    grid-template-columns: 42px 1fr;
    align-items: center;
    min-height: 58px;
    border-bottom: 1px solid rgba(255,255,255,.13);
}

.pff-animal-principle span {
    color: #e5ad3b;
    font-size: 11px;
    font-weight: 800;
}

.pff-animal-principle strong {
    color: rgba(255,255,255,.88);
    font-family: Georgia, serif;
    font-size: 19px;
    font-weight: 400;
}


/* Distinct scroll motion */

.pff-js .pff-animal-giving-main {
    opacity: 0;
    transform: translateX(-42px);
}

.pff-js .pff-animal-giving-side {
    opacity: 0;
    transform: translateX(42px);
}

.pff-js .pff-animal-giving-rule span {
    transform: scaleX(0);
}

.pff-js .pff-animal-giving .pff-animal-principle {
    opacity: 0;
    transform: translateX(18px);
}

.pff-js .pff-animal-giving.is-visible .pff-animal-giving-main,
.pff-js .pff-animal-giving.is-visible .pff-animal-giving-side {
    opacity: 1;
    transform: translateX(0);
    transition:
        opacity .8s ease,
        transform .9s cubic-bezier(.2,.7,.3,1);
}

.pff-js .pff-animal-giving.is-visible .pff-animal-giving-side {
    transition-delay: .18s;
}

.pff-js .pff-animal-giving.is-visible .pff-animal-giving-rule span {
    transform: scaleX(1);
    transition: transform 1.25s cubic-bezier(.2,.7,.3,1) .3s;
}

.pff-js .pff-animal-giving.is-visible .pff-animal-principle {
    opacity: 1;
    transform: translateX(0);
    transition:
        opacity .55s ease,
        transform .55s ease;
}

.pff-js .pff-animal-giving.is-visible .pff-animal-principle:nth-child(2) {
    transition-delay: .30s;
}

.pff-js .pff-animal-giving.is-visible .pff-animal-principle:nth-child(3) {
    transition-delay: .40s;
}

.pff-js .pff-animal-giving.is-visible .pff-animal-principle:nth-child(4) {
    transition-delay: .50s;
}

.pff-js .pff-animal-giving.is-visible .pff-animal-principle:nth-child(5) {
    transition-delay: .60s;
}

.pff-js .pff-animal-giving.is-visible .pff-animal-principle:nth-child(6) {
    transition-delay: .70s;
}

@media (max-width: 900px) {

    .pff-animal-giving {
        padding: 80px 0;
    }

    .pff-animal-giving-inner {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .pff-animal-giving-side {
        padding: 0;
    }
}

@media (max-width: 600px) {

    .pff-animal-giving {
        padding: 65px 0;
    }

    .pff-animal-giving h2 {
        font-size: 44px;
    }

    .pff-animal-giving-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .pff-animal-button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {

    .pff-js .pff-animal-giving-main,
    .pff-js .pff-animal-giving-side,
    .pff-js .pff-animal-giving .pff-animal-principle {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .pff-js .pff-animal-giving-rule span {
        transform: scaleX(1) !important;
        transition: none !important;
    }
}


/* ==========================================================
   PFF WORKING FARM ORIGIN 20260913
   ========================================================== */

.pff-farm-origin-lead {
    margin-bottom: 18px !important;
    color: #173f2d;
    font-family: Georgia, serif;
    font-size: clamp(22px, 2.4vw, 30px) !important;
    line-height: 1.25 !important;
}

.pff-farm-origin-lead strong {
    font-weight: 400;
}

.pff-farm-origin-statement {
    position: relative;
    margin-top: 32px;
    padding: 21px 26px 21px 31px;
    border-left: 4px solid #c99a36;
    background: #f6f1e4;
    color: #173f2d;
    font-family: Georgia, serif;
    font-size: clamp(21px, 2vw, 27px);
    line-height: 1.3;
}

.pff-farm-origin-statement strong {
    color: #9e6d26;
    font-weight: 400;
}

/* Small visual motion, distinct from card fade-ups */

.pff-js .pff-fast-intro .pff-farm-origin-lead,
.pff-js .pff-fast-intro .pff-farm-origin-statement {
    transition:
        transform .45s ease,
        box-shadow .45s ease;
}

.pff-fast-intro .pff-farm-origin-statement:hover {
    transform: translateX(5px);
    box-shadow: -8px 0 0 rgba(201,154,54,.08);
}

@media (max-width: 600px) {

    .pff-farm-origin-statement {
        padding: 18px 20px 18px 24px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .pff-fast-intro .pff-farm-origin-statement {
        transform: none !important;
        transition: none !important;
    }
}


/* ==========================================================
   PFF ANIMAL WELFARE COMPACT FULL WIDTH 20260913
   ========================================================== */

.pff-animal-giving {
    width: 100%;
    padding: 0;
    background: #173f2d;
    border-radius: 0;
}

.pff-animal-giving::after {
    display: none;
}

.pff-animal-compact {
    position: relative;
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    padding: 64px clamp(30px, 6vw, 95px);

    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) auto;
    gap: 34px;
    align-items: center;
}

.pff-animal-compact-mark {
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255,255,255,.07);
}

.pff-animal-compact-mark span {
    width: 30px;
    height: 30px;
    display: block;
    background: #e5ad3b;

    -webkit-mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='%23000'%3E%3Cellipse cx='24' cy='32' rx='11' ry='9'/%3E%3Cellipse cx='12' cy='21' rx='4' ry='6'/%3E%3Cellipse cx='21' cy='14' rx='4' ry='6'/%3E%3Cellipse cx='36' cy='21' rx='4' ry='6'/%3E%3Cellipse cx='29' cy='14' rx='4' ry='6'/%3E%3C/g%3E%3C/svg%3E")
        center / contain no-repeat;

    mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='%23000'%3E%3Cellipse cx='24' cy='32' rx='11' ry='9'/%3E%3Cellipse cx='12' cy='21' rx='4' ry='6'/%3E%3Cellipse cx='21' cy='14' rx='4' ry='6'/%3E%3Cellipse cx='36' cy='21' rx='4' ry='6'/%3E%3Cellipse cx='29' cy='14' rx='4' ry='6'/%3E%3C/g%3E%3C/svg%3E")
        center / contain no-repeat;
}

.pff-animal-compact-copy {
    max-width: 760px;
}

.pff-animal-compact .pff-animal-giving-label {
    margin: 0 0 10px;
}

.pff-animal-compact h2 {
    margin: 0;
    max-width: none;
    font-size: clamp(34px, 3.6vw, 54px);
    line-height: 1.04;
}

.pff-animal-compact h2 em {
    display: block;
}

.pff-animal-compact p {
    max-width: 680px;
    margin: 15px 0 0;
    color: rgba(255,255,255,.78);
    font-size: 16px;
    line-height: 1.6;
}

.pff-animal-compact-actions {
    min-width: 235px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: stretch;
}

.pff-animal-compact-actions .pff-animal-button {
    min-height: 46px;
    padding: 0 22px;
    white-space: nowrap;
}

.pff-animal-button-cream {
    background: #f7f3e8;
    color: #173f2d !important;
}

.pff-animal-support-link {
    display: block;
    padding: 8px 4px 0;
    color: #e5ad3b !important;
    text-align: center;
    text-decoration: none !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
}


/* Compact section gets horizontal motion, not another fade-up */

.pff-js .pff-animal-compact-mark {
    opacity: 0;
    transform: scale(.72);
}

.pff-js .pff-animal-compact-copy {
    opacity: 0;
    transform: translateX(-24px);
}

.pff-js .pff-animal-compact-actions {
    opacity: 0;
    transform: translateX(24px);
}

.pff-js .pff-animal-giving.is-visible .pff-animal-compact-mark {
    opacity: 1;
    transform: scale(1);
    transition:
        opacity .5s ease,
        transform .65s cubic-bezier(.2,.8,.3,1);
}

.pff-js .pff-animal-giving.is-visible .pff-animal-compact-copy {
    opacity: 1;
    transform: translateX(0);
    transition:
        opacity .65s ease .08s,
        transform .75s cubic-bezier(.2,.8,.3,1) .08s;
}

.pff-js .pff-animal-giving.is-visible .pff-animal-compact-actions {
    opacity: 1;
    transform: translateX(0);
    transition:
        opacity .65s ease .2s,
        transform .75s cubic-bezier(.2,.8,.3,1) .2s;
}


@media (max-width: 1000px) {

    .pff-animal-compact {
        grid-template-columns: 58px 1fr;
    }

    .pff-animal-compact-actions {
        grid-column: 2;
        min-width: 0;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
    }
}


@media (max-width: 650px) {

    .pff-animal-compact {
        padding: 52px 24px;
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .pff-animal-compact-mark {
        width: 50px;
        height: 50px;
    }

    .pff-animal-compact h2 em {
        display: inline;
    }

    .pff-animal-compact-actions {
        grid-column: 1;
        flex-direction: column;
        align-items: stretch;
        margin-top: 5px;
    }

    .pff-animal-support-link {
        padding-top: 10px;
    }
}


@media (prefers-reduced-motion: reduce) {

    .pff-js .pff-animal-compact-mark,
    .pff-js .pff-animal-compact-copy,
    .pff-js .pff-animal-compact-actions {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}


/* ==========================================================
   PFF ANIMAL WELFARE COMPACT FULL WIDTH 20260913
   ========================================================== */

.pff-animal-giving {
    width: 100%;
    padding: 0;
    background: #173f2d;
    border-radius: 0;
}

.pff-animal-giving::after {
    display: none;
}

.pff-animal-compact {
    position: relative;
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    padding: 64px clamp(30px, 6vw, 95px);

    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) auto;
    gap: 34px;
    align-items: center;
}

.pff-animal-compact-mark {
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255,255,255,.07);
}

.pff-animal-compact-mark span {
    width: 30px;
    height: 30px;
    display: block;
    background: #e5ad3b;

    -webkit-mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='%23000'%3E%3Cellipse cx='24' cy='32' rx='11' ry='9'/%3E%3Cellipse cx='12' cy='21' rx='4' ry='6'/%3E%3Cellipse cx='21' cy='14' rx='4' ry='6'/%3E%3Cellipse cx='36' cy='21' rx='4' ry='6'/%3E%3Cellipse cx='29' cy='14' rx='4' ry='6'/%3E%3C/g%3E%3C/svg%3E")
        center / contain no-repeat;

    mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='%23000'%3E%3Cellipse cx='24' cy='32' rx='11' ry='9'/%3E%3Cellipse cx='12' cy='21' rx='4' ry='6'/%3E%3Cellipse cx='21' cy='14' rx='4' ry='6'/%3E%3Cellipse cx='36' cy='21' rx='4' ry='6'/%3E%3Cellipse cx='29' cy='14' rx='4' ry='6'/%3E%3C/g%3E%3C/svg%3E")
        center / contain no-repeat;
}

.pff-animal-compact-copy {
    max-width: 760px;
}

.pff-animal-compact .pff-animal-giving-label {
    margin: 0 0 10px;
}

.pff-animal-compact h2 {
    margin: 0;
    max-width: none;
    font-size: clamp(34px, 3.6vw, 54px);
    line-height: 1.04;
}

.pff-animal-compact h2 em {
    display: block;
}

.pff-animal-compact p {
    max-width: 680px;
    margin: 15px 0 0;
    color: rgba(255,255,255,.78);
    font-size: 16px;
    line-height: 1.6;
}

.pff-animal-compact-actions {
    min-width: 235px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: stretch;
}

.pff-animal-compact-actions .pff-animal-button {
    min-height: 46px;
    padding: 0 22px;
    white-space: nowrap;
}

.pff-animal-button-cream {
    background: #f7f3e8;
    color: #173f2d !important;
}

.pff-animal-support-link {
    display: block;
    padding: 8px 4px 0;
    color: #e5ad3b !important;
    text-align: center;
    text-decoration: none !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
}


/* Compact section gets horizontal motion, not another fade-up */

.pff-js .pff-animal-compact-mark {
    opacity: 0;
    transform: scale(.72);
}

.pff-js .pff-animal-compact-copy {
    opacity: 0;
    transform: translateX(-24px);
}

.pff-js .pff-animal-compact-actions {
    opacity: 0;
    transform: translateX(24px);
}

.pff-js .pff-animal-giving.is-visible .pff-animal-compact-mark {
    opacity: 1;
    transform: scale(1);
    transition:
        opacity .5s ease,
        transform .65s cubic-bezier(.2,.8,.3,1);
}

.pff-js .pff-animal-giving.is-visible .pff-animal-compact-copy {
    opacity: 1;
    transform: translateX(0);
    transition:
        opacity .65s ease .08s,
        transform .75s cubic-bezier(.2,.8,.3,1) .08s;
}

.pff-js .pff-animal-giving.is-visible .pff-animal-compact-actions {
    opacity: 1;
    transform: translateX(0);
    transition:
        opacity .65s ease .2s,
        transform .75s cubic-bezier(.2,.8,.3,1) .2s;
}


@media (max-width: 1000px) {

    .pff-animal-compact {
        grid-template-columns: 58px 1fr;
    }

    .pff-animal-compact-actions {
        grid-column: 2;
        min-width: 0;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
    }
}


@media (max-width: 650px) {

    .pff-animal-compact {
        padding: 52px 24px;
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .pff-animal-compact-mark {
        width: 50px;
        height: 50px;
    }

    .pff-animal-compact h2 em {
        display: inline;
    }

    .pff-animal-compact-actions {
        grid-column: 1;
        flex-direction: column;
        align-items: stretch;
        margin-top: 5px;
    }

    .pff-animal-support-link {
        padding-top: 10px;
    }
}


@media (prefers-reduced-motion: reduce) {

    .pff-js .pff-animal-compact-mark,
    .pff-js .pff-animal-compact-copy,
    .pff-js .pff-animal-compact-actions {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}


/* ==========================================================
   PFF BUSINESS SERVICES 20260913
   ========================================================== */

.pff-business-growth-services {
    margin: 72px 0;
    padding: 76px 0;
    background: #f7f3e8;
}

.pff-business-growth-inner {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}

.pff-business-growth-intro {
    max-width: 820px;
    margin-bottom: 48px;
}

.pff-business-growth-eyebrow {
    margin-bottom: 14px;
    color: #a67c2d;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
}

.pff-business-growth-intro h2 {
    margin: 0;
    color: #173f2d;
    font-family: Georgia, serif;
    font-size: clamp(38px, 5vw, 64px);
    line-height: 1.02;
    font-weight: 400;
}

.pff-business-growth-intro h2 em {
    display: block;
    color: #a67c2d;
    font-weight: 400;
}

.pff-business-growth-intro p {
    max-width: 700px;
    margin: 22px 0 28px;
    color: #48534d;
    font-size: 17px;
    line-height: 1.7;
}

.pff-business-growth-primary {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 0 24px;
    border-radius: 999px;
    background: #173f2d;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
}

.pff-business-services-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid rgba(23,63,45,.18);
    border-left: 1px solid rgba(23,63,45,.18);
}

.pff-business-services-grid article {
    min-height: 235px;
    padding: 28px;
    border-right: 1px solid rgba(23,63,45,.18);
    border-bottom: 1px solid rgba(23,63,45,.18);
    background: rgba(255,255,255,.35);
}

.pff-business-services-grid article > span {
    display: block;
    margin-bottom: 35px;
    color: #a67c2d;
    font-size: 11px;
    font-weight: 800;
}

.pff-business-services-grid h3 {
    margin: 0 0 12px;
    color: #173f2d;
    font-family: Georgia, serif;
    font-size: 23px;
    line-height: 1.15;
}

.pff-business-services-grid p {
    margin: 0;
    color: #59635e;
    font-size: 14px;
    line-height: 1.6;
}

.pff-business-network-note {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 50px;
    align-items: center;
    margin-top: 36px;
    padding: 34px 38px;
    background: #173f2d;
    color: #fff;
}

.pff-business-network-note span {
    color: #d6aa4c;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em;
}

.pff-business-network-note h3 {
    margin: 8px 0 8px;
    color: #fff;
    font-family: Georgia, serif;
    font-size: 27px;
    font-weight: 400;
}

.pff-business-network-note p {
    max-width: 760px;
    margin: 0;
    color: rgba(255,255,255,.75);
    line-height: 1.6;
}

.pff-business-network-note > a {
    white-space: nowrap;
    color: #d6aa4c !important;
    text-decoration: none !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .07em;
}

#business-services,
#grow-your-business {
    scroll-margin-top: 130px;
}

@media (max-width: 1000px) {

    .pff-business-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 700px) {

    .pff-business-growth-services {
        margin: 50px 0;
        padding: 54px 0;
    }

    .pff-business-growth-inner {
        width: min(100% - 32px, 1180px);
    }

    .pff-business-services-grid {
        grid-template-columns: 1fr;
    }

    .pff-business-services-grid article {
        min-height: 0;
    }

    .pff-business-network-note {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 28px;
    }

}


/* ==========================================================
   PUREFARMFRESH BUSINESS SERVICES PAGE 20260913
   ========================================================== */

.pff-bs-page {
    background: #f8f6ef;
    color: #173f2d;
}

.pff-bs-wrap {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}

.pff-bs-eyebrow {
    margin-bottom: 18px;
    color: #b18331;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .17em;
}

.pff-bs-eyebrow-light {
    color: #d6aa4c;
}

.pff-bs-hero {
    padding: 105px 0 95px;
    border-bottom: 1px solid rgba(23,63,45,.14);
}

.pff-bs-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(300px, .7fr);
    gap: 100px;
    align-items: end;
}

.pff-bs-hero h1,
.pff-bs-intro h2,
.pff-bs-section-head h2,
.pff-bs-network h2,
.pff-bs-free h2,
.pff-bs-cta h2 {
    margin: 0;
    font-family: Georgia, serif;
    font-weight: 400;
    line-height: 1.02;
}

.pff-bs-hero h1 {
    max-width: 850px;
    font-size: clamp(52px, 7vw, 88px);
}

.pff-bs-hero h1 em,
.pff-bs-intro h2 em,
.pff-bs-network h2 em,
.pff-bs-cta h2 em {
    display: block;
    color: #b18331;
    font-weight: 400;
}

.pff-bs-hero-copy > p {
    max-width: 750px;
    margin: 28px 0 32px;
    color: #4c5851;
    font-size: 18px;
    line-height: 1.75;
}

.pff-bs-actions {
    display: flex;
    gap: 25px;
    align-items: center;
    flex-wrap: wrap;
}

.pff-bs-button {
    display: inline-flex;
    min-height: 52px;
    padding: 0 26px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    text-decoration: none !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .09em;
}

.pff-bs-button-primary {
    background: #173f2d;
    color: #fff !important;
}

.pff-bs-button-gold {
    background: #d6a23a;
    color: #173f2d !important;
}

.pff-bs-text-link {
    color: #173f2d !important;
    text-decoration: none !important;
    font-weight: 700;
}

.pff-bs-hero-side {
    padding: 30px 0 5px 30px;
    border-left: 1px solid rgba(23,63,45,.22);
}

.pff-bs-hero-side > span {
    display: block;
    margin-bottom: 14px;
    color: #b18331;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .15em;
}

.pff-bs-hero-side strong {
    display: block;
    font-family: Georgia, serif;
    font-size: 27px;
    line-height: 1.25;
    font-weight: 400;
}

.pff-bs-hero-side p {
    margin: 18px 0 0;
    color: #59635e;
    line-height: 1.7;
}

.pff-bs-intro {
    padding: 90px 0;
}

.pff-bs-intro-grid,
.pff-bs-network-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 100px;
}

.pff-bs-intro h2,
.pff-bs-network h2 {
    font-size: clamp(38px, 5vw, 60px);
}

.pff-bs-intro-copy {
    color: #4f5a54;
    font-size: 17px;
    line-height: 1.75;
}

.pff-bs-intro-copy p:first-child {
    margin-top: 0;
}

.pff-bs-services {
    padding: 90px 0;
    background: #fff;
}

.pff-bs-section-head {
    display: grid;
    grid-template-columns: 1fr .7fr;
    gap: 70px;
    align-items: end;
    margin-bottom: 48px;
}

.pff-bs-section-head h2 {
    font-size: clamp(40px, 5vw, 62px);
}

.pff-bs-section-head > p {
    max-width: 430px;
    margin: 0;
    color: #59635e;
    line-height: 1.7;
}

.pff-bs-service-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid #d9ddd8;
    border-left: 1px solid #d9ddd8;
}

.pff-bs-service-grid article {
    min-height: 255px;
    padding: 30px;
    border-right: 1px solid #d9ddd8;
    border-bottom: 1px solid #d9ddd8;
}

.pff-bs-service-grid article > span,
.pff-bs-process-grid article > span {
    display: block;
    margin-bottom: 42px;
    color: #b18331;
    font-size: 11px;
    font-weight: 800;
}

.pff-bs-service-grid h3,
.pff-bs-process-grid h3 {
    margin: 0 0 13px;
    font-family: Georgia, serif;
    font-size: 23px;
    line-height: 1.18;
    font-weight: 400;
}

.pff-bs-service-grid p,
.pff-bs-process-grid p {
    margin: 0;
    color: #5a645f;
    font-size: 14px;
    line-height: 1.65;
}

.pff-bs-network {
    padding: 95px 0;
    background: #173f2d;
    color: #fff;
}

.pff-bs-network h2 {
    color: #fff;
}

.pff-bs-network-copy {
    color: rgba(255,255,255,.76);
    font-size: 17px;
    line-height: 1.75;
}

.pff-bs-network-copy p:first-child {
    margin-top: 0;
}

.pff-bs-network-emphasis {
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.18);
    color: #fff;
}

.pff-bs-process {
    padding: 90px 0;
    background: #f8f6ef;
}

.pff-bs-process-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    background: rgba(23,63,45,.15);
}

.pff-bs-process-grid article {
    min-height: 235px;
    padding: 30px;
    background: #f8f6ef;
}

.pff-bs-free {
    padding: 58px 0;
    background: #e9e4d6;
}

.pff-bs-free-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 60px;
    align-items: center;
}

.pff-bs-free span {
    color: #9c742a;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
}

.pff-bs-free h2 {
    margin-top: 8px;
    font-size: 34px;
}

.pff-bs-free p {
    max-width: 720px;
    margin-bottom: 0;
    color: #536059;
    line-height: 1.65;
}

.pff-bs-free a {
    color: #173f2d !important;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 800;
}

.pff-bs-cta {
    padding: 105px 0;
    text-align: center;
    background: #f8f6ef;
}

.pff-bs-cta-inner {
    max-width: 850px;
}

.pff-bs-cta h2 {
    font-size: clamp(48px, 7vw, 76px);
}

.pff-bs-cta p {
    max-width: 620px;
    margin: 25px auto 30px;
    color: #59635e;
    font-size: 17px;
    line-height: 1.7;
}

#services,
#work-with-us {
    scroll-margin-top: 120px;
}

@media (max-width: 1000px) {

    .pff-bs-hero-grid,
    .pff-bs-intro-grid,
    .pff-bs-network-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .pff-bs-service-grid,
    .pff-bs-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pff-bs-hero-side {
        max-width: 650px;
    }

}

@media (max-width: 700px) {

    .pff-bs-wrap {
        width: min(100% - 32px, 1180px);
    }

    .pff-bs-hero {
        padding: 65px 0;
    }

    .pff-bs-hero h1 {
        font-size: clamp(44px, 14vw, 62px);
    }

    .pff-bs-intro,
    .pff-bs-services,
    .pff-bs-network,
    .pff-bs-process,
    .pff-bs-cta {
        padding: 65px 0;
    }

    .pff-bs-section-head {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .pff-bs-service-grid,
    .pff-bs-process-grid {
        grid-template-columns: 1fr;
    }

    .pff-bs-service-grid article,
    .pff-bs-process-grid article {
        min-height: 0;
    }

    .pff-bs-free-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }

}


/* ==========================================================
   PFF BUSINESS SERVICES FORM 20260913
   ========================================================== */

#business-services-inquiry {
    scroll-margin-top: 120px;
}

.pff-bs-inquiry-section {
    padding: 95px 0;
    background: #eee9dc;
}

.pff-bs-inquiry-grid {
    display: grid;
    grid-template-columns: .75fr 1.25fr;
    gap: 85px;
    align-items: start;
}

.pff-bs-inquiry-copy {
    position: sticky;
    top: 130px;
}

.pff-bs-inquiry-copy h2 {
    margin: 0;
    font-family: Georgia, serif;
    font-size: clamp(42px, 5vw, 62px);
    font-weight: 400;
    line-height: 1.03;
}

.pff-bs-inquiry-copy h2 em {
    display: block;
    color: #b18331;
    font-weight: 400;
}

.pff-bs-inquiry-copy > p {
    margin: 25px 0 0;
    color: #536059;
    font-size: 16px;
    line-height: 1.75;
}

.pff-bs-privacy-note {
    margin-top: 34px;
    padding: 22px 0 22px 22px;
    border-left: 3px solid #d6a23a;
}

.pff-bs-privacy-note strong,
.pff-bs-privacy-note span {
    display: block;
}

.pff-bs-privacy-note strong {
    margin-bottom: 7px;
    font-family: Georgia, serif;
    font-size: 18px;
    font-weight: 400;
}

.pff-bs-privacy-note span {
    color: #657069;
    font-size: 12px;
    line-height: 1.65;
}

.pff-bs-form-panel {
    padding: 38px;
    background: #fff;
    border: 1px solid rgba(23,63,45,.14);
}

.pff-bs-form {
    display: grid;
    gap: 23px;
}

.pff-bs-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.pff-bs-form > label,
.pff-bs-form-row > label {
    display: grid;
    gap: 8px;
}

.pff-bs-form label > span,
.pff-bs-interest legend {
    color: #173f2d;
    font-size: 12px;
    font-weight: 800;
}

.pff-bs-form input[type="text"],
.pff-bs-form input[type="email"],
.pff-bs-form input[type="tel"],
.pff-bs-form input[type="url"],
.pff-bs-form textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 14px 15px;
    border: 1px solid #ccd2cc;
    background: #fbfaf6;
    color: #173f2d;
    font: inherit;
    outline: none;
}

.pff-bs-form input:focus,
.pff-bs-form textarea:focus {
    border-color: #b18331;
    box-shadow: 0 0 0 2px rgba(177,131,49,.10);
}

.pff-bs-form textarea {
    min-height: 145px;
    resize: vertical;
    line-height: 1.55;
}

.pff-bs-interest {
    margin: 3px 0 0;
    padding: 24px 0 0;
    border: 0;
    border-top: 1px solid #e0e3df;
}

.pff-bs-interest > small {
    display: block;
    margin: 6px 0 17px;
    color: #747d77;
}

.pff-bs-interest-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
}

.pff-bs-interest-grid label {
    display: flex;
    gap: 9px;
    align-items: flex-start;
    padding: 12px;
    border: 1px solid #dde1dc;
    cursor: pointer;
}

.pff-bs-interest-grid label:hover {
    border-color: #b18331;
    background: #fbf7ed;
}

.pff-bs-interest-grid input {
    margin-top: 3px;
    accent-color: #173f2d;
}

.pff-bs-interest-grid span {
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.35;
}

.pff-bs-form-submit {
    display: flex;
    gap: 20px;
    align-items: center;
}

.pff-bs-form-submit button {
    min-height: 52px;
    padding: 0 28px;
    border: 0;
    border-radius: 999px;
    background: #173f2d;
    color: #fff;
    cursor: pointer;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
}

.pff-bs-form-submit small {
    max-width: 300px;
    color: #737b76;
    font-size: 11px;
    line-height: 1.5;
}

.pff-bs-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.pff-bs-form-success {
    padding: 40px;
    background: #173f2d;
    color: #fff;
}

.pff-bs-form-success > span {
    color: #d6aa4c;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
}

.pff-bs-form-success h3 {
    margin: 12px 0;
    color: #fff;
    font-family: Georgia, serif;
    font-size: 36px;
    font-weight: 400;
}

.pff-bs-form-success p {
    color: rgba(255,255,255,.8);
    line-height: 1.7;
}

.pff-bs-form-success small {
    display: block;
    margin-top: 22px;
    color: #d6aa4c;
}

.pff-bs-form-error {
    margin-bottom: 22px;
    padding: 15px 18px;
    border-left: 3px solid #b18331;
    background: #fbf4e5;
}

@media (max-width: 900px) {

    .pff-bs-inquiry-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .pff-bs-inquiry-copy {
        position: static;
    }

}

@media (max-width: 600px) {

    .pff-bs-inquiry-section {
        padding: 65px 0;
    }

    .pff-bs-form-panel {
        padding: 24px 18px;
    }

    .pff-bs-form-row,
    .pff-bs-interest-grid {
        grid-template-columns: 1fr;
    }

    .pff-bs-form-submit {
        flex-direction: column;
        align-items: stretch;
    }

}


/* ==========================================================
   PFF UNIVERSAL GROW MENU FEATURE 20260913
   ========================================================== */

.main-navigation .pff-mega-menu {
    box-sizing: border-box;
    max-width: calc(100vw - 32px);
}

.main-navigation .pff-mega-menu * {
    box-sizing: border-box;
}

.main-navigation .pff-grow-feature {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 22px;
    gap: 12px;
    align-items: center;

    width: 100%;
    max-width: 100%;

    margin: 12px 0 0;
    padding: 14px 15px;

    border: 1px solid rgba(183, 139, 54, .20);
    border-radius: 8px;

    background: #f6f1e5;

    color: #173f2d;
    text-decoration: none;

    overflow: hidden;
}

.main-navigation .pff-grow-feature-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    border: 1px solid rgba(23, 63, 45, .18);
    border-radius: 50%;

    font-size: 15px;
    line-height: 1;
}

.main-navigation .pff-grow-feature-copy {
    display: block;
    min-width: 0;
}

.main-navigation .pff-grow-feature-copy strong {
    display: block;

    margin: 0 0 3px;

    color: #173f2d;

    font-family: Georgia, serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.2;
}

.main-navigation .pff-grow-feature-copy small {
    display: block;

    color: #69726d;

    font-size: 10px;
    font-weight: 500;
    line-height: 1.35;

    white-space: normal;
    overflow-wrap: anywhere;
}

.main-navigation .pff-grow-feature-arrow {
    color: #b18331;

    font-size: 20px;
    line-height: 1;

    transition: transform .2s ease;
}

.main-navigation .pff-grow-feature:hover {
    border-color: rgba(183, 139, 54, .48);
    background: #fbf7ee;
}

.main-navigation .pff-grow-feature:hover
.pff-grow-feature-arrow {
    transform: translateX(3px);
}


/* Local Business menu symbols match normal menu treatment */

.main-navigation .pff-menu-grid > a > span {
    flex: 0 0 auto;
}


/* Mobile: keep feature fully contained */

@media (max-width: 900px) {

    .main-navigation .pff-grow-feature {
        grid-template-columns: 30px minmax(0, 1fr) 18px;

        width: 100%;
        margin: 10px 0 4px;
        padding: 12px;
    }

    .main-navigation .pff-grow-feature-icon {
        width: 30px;
        height: 30px;
    }

    .main-navigation .pff-grow-feature-copy strong {
        font-size: 14px;
    }

    .main-navigation .pff-grow-feature-copy small {
        font-size: 10px;
    }

}


/* PFF HOME HERO SEARCH 2026 */

.pff-home-search {
    width: 100%;
    max-width: 680px;
    margin: 28px 0 22px;
}

.pff-home-search-box {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 62px;
    padding: 6px 7px 6px 18px;
    background: #fffdf7;
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 5px;
    box-shadow: 0 10px 30px rgba(0,0,0,.18);
}

.pff-home-search-icon {
    flex: 0 0 auto;
    margin-right: 11px;
    font-size: 18px;
    line-height: 1;
    opacity: .72;
}

.pff-home-search input[type="search"] {
    flex: 1 1 auto;
    min-width: 0;
    height: 48px;
    margin: 0;
    padding: 0 12px 0 0;
    color: #163d2b;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    outline: none;
    font-size: 16px;
    font-family: inherit;
}

.pff-home-search input[type="search"]::placeholder {
    color: #657269;
    opacity: 1;
}

.pff-home-search input[type="search"]:focus {
    border: 0;
    box-shadow: none;
    outline: none;
}

.pff-home-search button {
    flex: 0 0 auto;
    min-width: 118px;
    height: 48px;
    margin: 0;
    padding: 0 25px;
    border: 1px solid #c38f21;
    border-radius: 4px;
    background: #d9a12b;
    color: #173d2b;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
    cursor: pointer;
    transition:
        background .2s ease,
        transform .2s ease;
}

.pff-home-search button:hover,
.pff-home-search button:focus {
    background: #e3ae3b;
    transform: translateY(-1px);
}

.pff-home-search-help {
    margin-top: 9px;
    color: rgba(255,255,255,.82);
    font-size: 13px;
    line-height: 1.45;
}

@media (max-width: 700px) {

    .pff-home-search {
        margin: 22px 0 20px;
    }

    .pff-home-search-box {
        min-height: 56px;
        padding: 5px 5px 5px 14px;
    }

    .pff-home-search-icon {
        margin-right: 8px;
        font-size: 16px;
    }

    .pff-home-search input[type="search"] {
        height: 44px;
        font-size: 15px;
    }

    .pff-home-search button {
        min-width: 94px;
        height: 44px;
        padding: 0 16px;
        font-size: 12px;
    }

    .pff-home-search-help {
        font-size: 12px;
    }
}

@media (max-width: 470px) {

    .pff-home-search-box {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 0;
        padding: 7px 8px 8px 14px;
    }

    .pff-home-search-icon {
        grid-column: 1;
        grid-row: 1;
        align-self: center;
    }

    .pff-home-search input[type="search"] {
        grid-column: 2;
        grid-row: 1;
        width: 100%;
    }

    .pff-home-search button {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
        margin-top: 5px;
    }

}


/* ==========================================================
   PFF SEARCH REFINEMENT 2026-09-14
   ========================================================== */


/* Gold secondary hero action */

.pff-fast-learn-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 28px !important;
    border: 1px solid #bd851d;
    border-radius: 2px;
    background: #d9a12b;
    color: #173f2d !important;
    text-decoration: none !important;
    font-weight: 800;
    line-height: 1;
    transition:
        transform .18s ease,
        background .18s ease;
}

.pff-fast-learn-button:hover,
.pff-fast-learn-button:focus {
    background: #e4ae39;
    color: #173f2d !important;
    transform: translateY(-1px);
}


/*
 * Global keyword searches are not Local Business browsing.
 *
 * Remove the category-specific left sidebar and allow
 * search results to use the whole results area.
 */

.directory-tools.pff-global-keyword-results {
    display: block !important;
}

.directory-tools.pff-global-keyword-results
.directory-search-column {
    display: none !important;
}

.directory-tools.pff-global-keyword-results
.directory-container,
.directory-tools.pff-global-keyword-results
.directory-results,
.directory-tools.pff-global-keyword-results
.directory-listings,
.directory-tools.pff-global-keyword-results
.farm-directory-grid {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
}


/*
 * If legacy map markup survives because it uses a different
 * wrapper, global keyword mode should still prioritise results.
 */

.pff-global-keyword-results #directory-map {
    display: none !important;
}


/* Slightly tighter hero now that search is the main action */

.pff-home-search {
    margin-bottom: 18px;
}

.pff-fast-actions {
    margin-top: 18px;
}


@media (max-width: 700px) {

    .pff-fast-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

    .pff-fast-learn-button {
        min-height: 48px;
        padding: 0 22px !important;
    }

}



/*
 * ==========================================================
 * PureFarmFresh Search Autocomplete
 * ==========================================================
 */

.pff-autocomplete {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
}

.pff-autocomplete > input[type="search"] {
    width: 100%;
}

.pff-autocomplete-dropdown {
    position: absolute;
    z-index: 9999;
    top: calc(100% + 6px);
    left: 0;
    width: min(520px, 92vw);
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(21, 58, 45, .16);
    box-shadow: 0 16px 36px rgba(21, 58, 45, .16);
    text-align: left;
}

.pff-autocomplete-dropdown[hidden] {
    display: none;
}

.pff-autocomplete-result {
    --pff-search-accent: #68766f;
    position: relative;
    display: block;
    padding: 12px 15px 11px 18px;
    border-bottom: 1px solid #eceee9;
    color: #153a2d;
    text-decoration: none;
}

.pff-autocomplete-result::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 4px;
    background: var(--pff-search-accent);
}

.pff-autocomplete-result:hover,
.pff-autocomplete-result.is-active {
    background: #f7f8f4;
    text-decoration: none;
}

.pff-autocomplete-family-farms {
    --pff-search-accent: #56724f;
}

.pff-autocomplete-family-food {
    --pff-search-accent: #b9893f;
}

.pff-autocomplete-family-business {
    --pff-search-accent: #176b68;
}

.pff-autocomplete-family-animals {
    --pff-search-accent: #7b9271;
}

.pff-autocomplete-family-health {
    --pff-search-accent: #477b7d;
}

.pff-autocomplete-title {
    display: block;
    color: #153a2d;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;
}

.pff-autocomplete-meta {
    display: block;
    margin-top: 4px;
    color: #69736d;
    font-size: 11px;
    line-height: 1.35;
}

.pff-autocomplete-all {
    display: block;
    padding: 12px 15px;
    background: #153a2d;
    color: #fff;
    font-size: 11px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-decoration: none;
}

.pff-autocomplete-all:hover {
    background: #214c3c;
    color: #fff;
    text-decoration: none;
}

.pff-autocomplete-empty {
    padding: 15px;
    color: #69736d;
    font-size: 13px;
}

@media (max-width: 620px) {
    .pff-autocomplete-dropdown {
        width: min(100%, 92vw);
    }
}



/*
 * ==========================================================
 * PureFarmFresh Learn V2
 * ==========================================================
 */

.pff-learn-v2 {
    background: #f7f6f0;
    color: #183c2f;
}

.pff-learn-v2-hero {
    padding: 64px 0;
    background: #f1efe5;
}

.pff-learn-v2-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    gap: 64px;
    align-items: center;
}

.pff-learn-v2-hero-copy {
    max-width: 650px;
}

.pff-learn-v2-hero-copy h1 {
    max-width: 620px;
    margin: 14px 0 20px;
    color: #173c2f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(44px, 5vw, 72px);
    line-height: .98;
    font-weight: 400;
    letter-spacing: -.035em;
}

.pff-learn-v2-hero-copy > p {
    max-width: 600px;
    margin: 0;
    color: #58665f;
    font-size: 17px;
    line-height: 1.75;
}

.pff-learn-v2-hero-link {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    margin-top: 28px;
    color: #173c2f;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-decoration: none;
    text-transform: uppercase;
}

.pff-learn-v2-hero-image {
    min-height: 390px;
}

.pff-learn-v2-image-placeholder {
    position: relative;
    display: flex;
    min-height: 390px;
    padding: 38px;
    overflow: hidden;
    flex-direction: column;
    justify-content: flex-end;
    background:
        linear-gradient(
            145deg,
            rgba(24,60,47,.10),
            rgba(24,60,47,.54)
        ),
        #9ea88f;
}

.pff-learn-v2-image-placeholder::before {
    content: "“";
    position: absolute;
    top: 10px;
    right: 28px;
    color: rgba(255,255,255,.18);
    font-family: Georgia, serif;
    font-size: 180px;
    line-height: 1;
}

.pff-learn-v2-image-placeholder span {
    margin-bottom: 12px;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
}

.pff-learn-v2-image-placeholder strong {
    position: relative;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.04;
    font-weight: 400;
}


/* Topics */

.pff-learn-v2-topics {
    padding: 72px 0 82px;
    background: #fff;
}

.pff-learn-v2-topics h2,
.pff-learn-v2-library h2,
.pff-learn-v2-principle h2 {
    margin: 10px 0 12px;
    color: #173c2f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 4vw, 48px);
    line-height: 1.08;
    font-weight: 400;
}

.pff-learn-v2-section-intro {
    max-width: 650px;
    margin: 0 0 34px;
    color: #68736d;
    line-height: 1.65;
}

.pff-learn-v2-topic-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.pff-learn-v2-topic {
    --learn-accent: #6f7f70;

    position: relative;
    display: flex;
    min-height: 245px;
    padding: 28px;
    border: 1px solid #e2e5df;
    border-top: 4px solid var(--learn-accent);
    flex-direction: column;
    background: #fbfbf8;
    color: #173c2f;
    text-decoration: none;
    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

.pff-learn-v2-topic:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(23,60,47,.09);
    text-decoration: none;
}

.pff-learn-topic-farming {
    --learn-accent: #56724f;
}

.pff-learn-topic-food {
    --learn-accent: #b9893f;
}

.pff-learn-topic-animals {
    --learn-accent: #7b9271;
}

.pff-learn-topic-health {
    --learn-accent: #477b7d;
}

.pff-learn-topic-stories {
    --learn-accent: #876e56;
}

.pff-learn-topic-business {
    --learn-accent: #176b68;
}

.pff-learn-v2-topic-number {
    color: var(--learn-accent);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em;
}

.pff-learn-v2-topic h3 {
    margin: 18px 0 10px;
    color: #173c2f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 26px;
    line-height: 1.1;
    font-weight: 400;
}

.pff-learn-v2-topic p {
    margin: 0;
    color: #68736d;
    font-size: 13px;
    line-height: 1.65;
}

.pff-learn-v2-topic-arrow {
    margin-top: auto;
    padding-top: 24px;
    color: #173c2f;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}


/* Library */

.pff-learn-v2-library {
    padding: 76px 0 90px;
}

.pff-learn-v2-library-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 64px;
    align-items: start;
}

.pff-learn-v2-article-list {
    margin-top: 30px;
    border-top: 1px solid #dfe3dc;
}

.pff-learn-v2-article {
    padding: 27px 0 29px;
    border-bottom: 1px solid #dfe3dc;
}

.pff-learn-v2-article-topic {
    --learn-accent: #6f7f70;
    color: var(--learn-accent);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;
    text-decoration: none;
    text-transform: uppercase;
}

.pff-learn-v2-article h3 {
    max-width: 720px;
    margin: 8px 0 9px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    line-height: 1.2;
    font-weight: 400;
}

.pff-learn-v2-article h3 a {
    color: #173c2f;
    text-decoration: none;
}

.pff-learn-v2-article h3 a:hover {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

.pff-learn-v2-article p {
    max-width: 720px;
    margin: 0 0 12px;
    color: #68736d;
    font-size: 13px;
    line-height: 1.65;
}

.pff-learn-v2-read {
    color: #173c2f;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-decoration: none;
    text-transform: uppercase;
}


/* Sidebar */

.pff-learn-v2-sidebar {
    position: sticky;
    top: 110px;
}

.pff-learn-v2-side-block {
    margin-bottom: 18px;
    padding: 24px;
    border: 1px solid #dfe3dc;
    background: #fff;
}

.pff-learn-search-row {
    display: flex;
    margin-top: 15px;
    border: 1px solid #cfd5cf;
    background: #fff;
}

.pff-learn-search-row input {
    min-width: 0;
    padding: 12px 13px;
    border: 0;
    flex: 1;
    background: transparent;
    color: #173c2f;
    outline: 0;
}

.pff-learn-search-row button {
    padding: 0 15px;
    border: 0;
    background: #cfa955;
    color: #173c2f;
    cursor: pointer;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.pff-learn-search-note {
    margin: 10px 0 0;
    color: #7a837e;
    font-size: 11px;
    line-height: 1.5;
}

.pff-learn-v2-latest-links,
.pff-learn-v2-topic-links {
    margin-top: 13px;
}

.pff-learn-v2-latest-links a,
.pff-learn-v2-topic-links a {
    display: flex;
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid #edf0eb;
    justify-content: space-between;
    color: #173c2f;
    font-size: 12px;
    line-height: 1.4;
    text-decoration: none;
}

.pff-learn-v2-latest-links a:last-child,
.pff-learn-v2-topic-links a:last-child {
    border-bottom: 0;
}

.pff-learn-v2-latest-links a:hover,
.pff-learn-v2-topic-links a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.pff-learn-v2-directory-card {
    padding: 28px 25px;
    background: #173c2f;
    color: #fff;
}

.pff-learn-v2-directory-card > span {
    color: #d6bc78;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .13em;
}

.pff-learn-v2-directory-card h3 {
    margin: 12px 0 10px;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    line-height: 1.12;
    font-weight: 400;
}

.pff-learn-v2-directory-card p {
    margin: 0 0 18px;
    color: rgba(255,255,255,.75);
    font-size: 12px;
    line-height: 1.6;
}

.pff-learn-v2-directory-card a {
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .07em;
    text-decoration: none;
    text-transform: uppercase;
}


/* Principle */

.pff-learn-v2-principle {
    padding: 68px 0 74px;
    background: #e9ecdf;
    text-align: center;
}

.pff-learn-v2-principle p {
    max-width: 650px;
    margin: 0 auto;
    color: #637069;
    line-height: 1.7;
}


/* Responsive */

@media (max-width: 1000px) {

    .pff-learn-v2-hero-grid {
        grid-template-columns: 1fr 1fr;
        gap: 36px;
    }

    .pff-learn-v2-topic-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pff-learn-v2-library-grid {
        grid-template-columns: minmax(0, 1fr) 280px;
        gap: 36px;
    }
}

@media (max-width: 760px) {

    .pff-learn-v2-hero {
        padding: 42px 0;
    }

    .pff-learn-v2-hero-grid,
    .pff-learn-v2-library-grid {
        grid-template-columns: 1fr;
    }

    .pff-learn-v2-hero-image,
    .pff-learn-v2-image-placeholder {
        min-height: 300px;
    }

    .pff-learn-v2-topic-grid {
        grid-template-columns: 1fr;
    }

    .pff-learn-v2-topic {
        min-height: 210px;
    }

    .pff-learn-v2-sidebar {
        position: static;
    }
}



/*
 * ==========================================================
 * PureFarmFresh Learn V2 Polish
 * Match PureFarmFresh article visual system
 * ==========================================================
 */


/* HERO */

.pff-learn-v2-hero {
    padding: 52px 0;
}

.pff-learn-v2-hero-grid {
    grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr);
    gap: 58px;
}

.pff-learn-v2-hero-copy h1 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(48px, 4.8vw, 68px);
    line-height: 1.03;
    letter-spacing: -.035em;
}

.pff-learn-v2-hero-copy > p {
    max-width: 590px;
    font-size: 16px;
    line-height: 1.7;
}

.pff-learn-v2-hero-button {
    display: inline-flex;
    min-height: 44px;
    margin-top: 28px;
    padding: 0 23px;
    border: 1px solid #c99524;
    border-radius: 24px;
    align-items: center;
    gap: 13px;
    background: #e0a82b;
    box-shadow: 0 5px 12px rgba(94,69,18,.12);
    color: #123f2f;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        transform .16s ease,
        box-shadow .16s ease,
        background .16s ease;
}

.pff-learn-v2-hero-button:hover {
    transform: translateY(-1px);
    background: #e6b23d;
    box-shadow: 0 7px 16px rgba(94,69,18,.16);
    color: #123f2f;
    text-decoration: none;
}


/* TOPICS */

.pff-learn-v2-topics {
    padding: 54px 0 64px;
}

.pff-learn-v2-topics h2 {
    font-size: clamp(36px, 3.6vw, 48px);
}

.pff-learn-v2-section-intro {
    margin-bottom: 26px;
}

.pff-learn-v2-topic-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
}

.pff-learn-v2-topic {
    min-height: 258px;
    padding: 21px 18px 19px;
    border-top-width: 3px;
    background: #fbfbf7;
}

.pff-learn-v2-topic-icon {
    display: flex;
    width: 32px;
    height: 32px;
    margin-bottom: 10px;
    align-items: center;
    justify-content: center;
    color: var(--learn-accent);
}

.pff-learn-v2-topic-icon svg {
    width: 30px;
    height: 30px;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pff-learn-topic-animals .pff-learn-v2-topic-icon svg {
    fill: currentColor;
    stroke-width: 1;
}

.pff-learn-v2-topic-number {
    font-size: 8px;
    letter-spacing: .12em;
}

.pff-learn-v2-topic h3 {
    margin: 8px 0 8px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    line-height: 1.05;
}

.pff-learn-v2-topic p {
    font-size: 12px;
    line-height: 1.45;
}

.pff-learn-v2-topic-arrow {
    padding-top: 15px;
    font-size: 9px;
}


/* ARTICLE LIBRARY */

.pff-learn-v2-library {
    padding: 58px 0 78px;
}

.pff-learn-v2-library-grid {
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 64px;
}

.pff-learn-v2-library h2 {
    margin-bottom: 7px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 38px;
}

.pff-learn-v2-article-list {
    margin-top: 20px;
}

.pff-learn-v2-article {
    padding: 23px 0 25px;
}

.pff-learn-v2-article-topic {
    font-size: 9px;
}

.pff-learn-v2-article h3 {
    margin: 7px 0 8px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    line-height: 1.18;
}

.pff-learn-v2-article p {
    max-width: 780px;
    font-size: 13px;
    line-height: 1.55;
}

.pff-learn-v2-read {
    font-size: 9px;
}


/* SIDEBAR */

.pff-learn-v2-sidebar {
    top: 105px;
}

.pff-learn-v2-side-block {
    padding: 22px 23px;
    border-color: #d9ddd6;
}

.pff-learn-v2-side-block .directory-label {
    color: #8a6942;
}

.pff-learn-search-row {
    height: 42px;
    margin-top: 14px;
}

.pff-learn-search-row input {
    padding: 0 12px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
}

.pff-learn-search-row button {
    display: flex;
    width: 44px;
    padding: 0;
    align-items: center;
    justify-content: center;
    background: #d7a43a;
}

.pff-learn-search-row button svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: #fff;
    stroke-width: 1.8;
    stroke-linecap: round;
}

.pff-learn-v2-latest-links a,
.pff-learn-v2-topic-links a {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 12px;
}

.pff-learn-v2-latest-links a span {
    color: #b88627;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 700;
}

.pff-learn-v2-topic-links a span {
    color: #47704e;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 700;
}


/* LOCAL SIDEBAR CTA */

.pff-learn-v2-directory-card {
    padding: 23px;
    border: 1px solid #d9ddd1;
    background: #f1f1e8;
    color: #173c2f;
}

.pff-learn-v2-local-label {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #173c2f !important;
}

.pff-learn-v2-local-label svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    fill: none;
    stroke: #173c2f;
    stroke-width: 1.8;
}

.pff-learn-v2-directory-card h3 {
    margin: 12px 0 8px;
    color: #173c2f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
}

.pff-learn-v2-directory-card p {
    color: #5e6c64;
    font-size: 12px;
}

.pff-learn-v2-directory-card > a {
    display: flex;
    min-height: 39px;
    padding: 0 16px;
    border: 1px solid #c99524;
    border-radius: 22px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #e0a82b;
    color: #123f2f;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .07em;
}

.pff-learn-v2-directory-card > a:hover {
    background: #e6b23d;
    color: #123f2f;
    text-decoration: none;
}


/* PRINCIPLE */

.pff-learn-v2-principle h2 {
    font-family: Georgia, "Times New Roman", serif;
}


/* RESPONSIVE */

@media (max-width: 1180px) {

    .pff-learn-v2-topic-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px;
    }

    .pff-learn-v2-topic {
        min-height: 230px;
    }
}

@media (max-width: 900px) {

    .pff-learn-v2-hero-grid {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }

    .pff-learn-v2-library-grid {
        grid-template-columns: minmax(0, 1fr) 280px;
        gap: 32px;
    }
}

@media (max-width: 760px) {

    .pff-learn-v2-hero-grid,
    .pff-learn-v2-library-grid {
        grid-template-columns: 1fr;
    }

    .pff-learn-v2-topic-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 520px) {

    .pff-learn-v2-topic-grid {
        grid-template-columns: 1fr;
    }
}



/* Learn hero photographic image */

.pff-learn-v2-hero-image {
    min-height: 390px;
    overflow: hidden;
    background: #e9e7dc;
}

.pff-learn-v2-hero-image img {
    display: block;
    width: 100%;
    height: 390px;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 760px) {

    .pff-learn-v2-hero-image {
        min-height: 280px;
    }

    .pff-learn-v2-hero-image img {
        height: 280px;
        object-position: 67% center;
    }
}



/*
 * ==========================================================
 * Learn Category Style Hero
 * Match PureFarmFresh directory category heroes
 * ==========================================================
 */

.pff-learn-v2-hero {
    padding: 0 !important;
    background: #123f2f !important;
}

.pff-learn-v2-hero .directory-container {
    width: 100% !important;
    max-width: 1510px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.pff-learn-v2-hero-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
    min-height: 405px !important;
    align-items: stretch !important;
}


/* LEFT SIDE */

.pff-learn-v2-hero-copy {
    display: flex;
    max-width: none !important;
    min-height: 405px;
    padding: 68px 70px 62px !important;
    flex-direction: column;
    justify-content: center;
    background: #123f2f;
}

.pff-learn-v2-hero-copy .eyebrow {
    margin: 0 0 25px !important;
    color: #dda82f !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.2;
    letter-spacing: .13em !important;
    text-transform: uppercase;
}

.pff-learn-v2-hero-copy h1 {
    max-width: 720px !important;
    margin: 0 0 25px !important;
    color: #f7f3e9 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(48px, 4.3vw, 67px) !important;
    line-height: .98 !important;
    font-weight: 400 !important;
    letter-spacing: -.035em !important;
}

.pff-learn-v2-hero-copy > p {
    max-width: 610px !important;
    margin: 0 !important;
    color: rgba(255,255,255,.92) !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px !important;
    line-height: 1.7 !important;
}


/*
 * Category heroes do not use a large CTA inside the hero.
 * Hide Explore Learn here because the Learn content starts
 * immediately below the hero.
 */

.pff-learn-v2-hero-button {
    display: none !important;
}


/* RIGHT IMAGE */

.pff-learn-v2-hero-image {
    position: relative;
    min-height: 405px !important;
    height: 405px !important;
    overflow: hidden;
    background: #123f2f;
}

.pff-learn-v2-hero-image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
}


/*
 * Soft blend at the join, matching the category visual language.
 */

.pff-learn-v2-hero-image::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: 0;
    width: 150px;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        #123f2f 0%,
        rgba(18,63,47,.82) 22%,
        rgba(18,63,47,.38) 55%,
        rgba(18,63,47,0) 100%
    );
}


/* MOBILE */

@media (max-width: 760px) {

    .pff-learn-v2-hero-grid {
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
    }

    .pff-learn-v2-hero-copy {
        min-height: 0;
        padding: 46px 25px 42px !important;
    }

    .pff-learn-v2-hero-copy h1 {
        font-size: 46px !important;
    }

    .pff-learn-v2-hero-image {
        min-height: 290px !important;
        height: 290px !important;
    }

    .pff-learn-v2-hero-image img {
        object-position: 68% center !important;
    }

    .pff-learn-v2-hero-image::before {
        top: 0;
        right: 0;
        bottom: auto;
        left: 0;
        width: 100%;
        height: 70px;
        background: linear-gradient(
            180deg,
            #123f2f 0%,
            rgba(18,63,47,.55) 45%,
            rgba(18,63,47,0) 100%
        );
    }
}



/*
 * ==========================================================
 * Learn Search And Gold Explore Final
 * ==========================================================
 */


/* Give the six topics more visual weight */

.pff-learn-v2-topic {
    min-height: 285px !important;
    padding: 24px 19px 20px !important;
}

.pff-learn-v2-topic-icon {
    width: 37px !important;
    height: 37px !important;
    margin-bottom: 11px !important;
}

.pff-learn-v2-topic-icon svg {
    width: 34px !important;
    height: 34px !important;
}

.pff-learn-v2-topic-number {
    font-size: 9px !important;
}

.pff-learn-v2-topic h3 {
    margin: 9px 0 9px !important;
    font-size: 23px !important;
    line-height: 1.08 !important;
}

.pff-learn-v2-topic p {
    font-size: 13px !important;
    line-height: 1.52 !important;
}


/* Gold Explore button */

.pff-learn-v2-topic-arrow {
    display: inline-flex !important;
    width: fit-content !important;
    min-height: 35px !important;
    margin-top: auto !important;
    padding: 0 15px !important;
    border: 1px solid #c79325 !important;
    border-radius: 19px !important;
    align-items: center !important;
    justify-content: center !important;
    background: #dfa82f !important;
    box-shadow: 0 3px 8px rgba(75,55,15,.09);
    color: #123f2f !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

.pff-learn-v2-topic:hover .pff-learn-v2-topic-arrow {
    background: #e7b43f !important;
}


/* Bigger article typography */

.pff-learn-v2-library h2 {
    font-size: 43px !important;
}

.pff-learn-v2-article h3 {
    font-size: 28px !important;
    line-height: 1.18 !important;
}

.pff-learn-v2-article p {
    font-size: 14px !important;
    line-height: 1.62 !important;
}


/* Learn autocomplete */

.pff-learn-search .pff-autocomplete {
    position: relative;
    display: flex;
    width: 100%;
}

.pff-learn-search .pff-autocomplete input {
    width: 100%;
}

.pff-learn-search .pff-autocomplete-dropdown {
    z-index: 10000;
    top: calc(100% + 5px);
    right: 0;
    left: 0;
    width: 100%;
    min-width: 330px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(18,63,47,.16);
}

.pff-learn-search .pff-autocomplete-result {
    padding: 11px 13px;
    border-left: 3px solid #c99b39;
}

.pff-learn-search .pff-autocomplete-title {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 13px;
    line-height: 1.3;
}

.pff-learn-search .pff-autocomplete-meta {
    margin-top: 4px;
    color: #8a6942;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.pff-learn-search .pff-autocomplete-all {
    background: #123f2f;
    color: #fff;
}


@media (max-width: 1180px) {

    .pff-learn-v2-topic {
        min-height: 260px !important;
    }
}


/* ==========================================================
   LOCAL BUSINESS - COMPACT BUSINESS SERVICES SIDEBAR CARD
   ========================================================== */

.pff-directory-local-business .pff-local-business-services-card {
    margin: 28px 0 24px !important;
    padding: 24px 22px 22px !important;
    background: #f7f3e8 !important;
    border: 1px solid rgba(23, 63, 45, .14) !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
}

.pff-directory-local-business .pff-local-business-services-eyebrow {
    margin: 0 0 12px !important;
    color: #a87416 !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
}

.pff-directory-local-business .pff-local-business-services-card h3 {
    margin: 0 0 10px !important;
    color: #173f2d !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 25px !important;
    line-height: 1.12 !important;
    font-weight: 700 !important;
}

.pff-directory-local-business .pff-local-business-services-card p {
    margin: 0 0 18px !important;
    color: #404840 !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

.pff-directory-local-business .pff-local-business-services-card a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 44px !important;
    padding: 11px 14px !important;
    margin: 0 !important;
    background: #173f2d !important;
    border: 1px solid #173f2d !important;
    border-radius: 5px !important;
    color: #fff !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    box-sizing: border-box !important;
}

.pff-directory-local-business .pff-local-business-services-card a:hover,
.pff-directory-local-business .pff-local-business-services-card a:focus {
    background: #0f3022 !important;
    border-color: #0f3022 !important;
    color: #fff !important;
}


/* ==========================================================
   MOBILE - HIDE LOCAL BUSINESS LEARN & DISCOVER SIDEBAR
   ========================================================== */

@media (max-width: 700px) {
    .pff-directory-local-business .pff-business-learn-discover {
        display: none !important;
    }
}


/* ==========================================================
   PUREFARMFRESH CATEGORY ICONS
   ========================================================== */

.pff-card-placeholder-icon .pff-category-svg {
    width: 46px;
    height: 46px;
    display: block;
    margin: 0 auto;
    color: #315f46;
    stroke-width: 1.45;
}


/* ==========================================================
   BUSINESS PROFILE SNAPSHOT
   ========================================================== */

.pff-business-snapshot {
    align-self: start;
}

.pff-business-snapshot-icon {
    width: 82px;
    height: 82px;
    margin: 0 0 24px auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(49, 95, 70, .22);
    border-radius: 50%;
    background: #f7f8f2;
    color: #315f46;
}

.pff-business-snapshot-icon .pff-category-svg {
    width: 42px;
    height: 42px;
    display: block;
}

.pff-business-snapshot .pff-business-fact {
    padding-top: 16px;
    margin-top: 16px;
    border-top: 1px solid rgba(23, 63, 45, .12);
}

.pff-business-snapshot .pff-business-fact:first-of-type {
    margin-top: 0;
}

.pff-business-category-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 9px;
}

.pff-business-category-tags > span {
    display: inline-flex;
    align-items: center;
    padding: 6px 9px;
    border: 1px solid rgba(23, 63, 45, .16);
    border-radius: 4px;
    background: #f7f8f2;
    color: #173f2d;
    font-size: 11px;
    line-height: 1.25;
}

@media (max-width: 700px) {

    .pff-business-snapshot-icon {
        width: 66px;
        height: 66px;
        margin: 0 0 20px;
    }

    .pff-business-snapshot-icon .pff-category-svg {
        width: 34px;
        height: 34px;
    }
}


/* ==========================================================
   BUSINESS PROFILE CATEGORY ICON - SVG VISIBILITY FIX
   ========================================================== */

.pff-business-snapshot-icon {
    color: #315f46 !important;
}

.pff-business-snapshot-icon svg.pff-category-svg {
    display: block !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    visibility: visible !important;
    opacity: 1 !important;

    fill: none !important;
    stroke: #315f46 !important;
    stroke-width: 1.6 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.pff-business-snapshot-icon svg.pff-category-svg * {
    visibility: visible !important;
    opacity: 1 !important;
    fill: none !important;
    stroke: #315f46 !important;
}

@media (max-width: 700px) {
    .pff-business-snapshot-icon svg.pff-category-svg {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        min-height: 34px !important;
    }
}


/* ==========================================================
   BUSINESS PROFILE - CATEGORY ICON IN ABOUT AREA
   ========================================================== */

.pff-business-story-main {
    position: relative;
    padding-right: 120px;
}

.pff-business-about-icon {
    position: absolute;
    top: 0;
    right: 0;

    width: 82px;
    height: 82px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(49, 95, 70, .22);
    border-radius: 50%;
    background: #f7f8f2;
    color: #315f46;
}

.pff-business-about-icon .pff-category-svg {
    display: block !important;
    width: 42px !important;
    height: 42px !important;
    fill: none !important;
    stroke: currentColor !important;
    visibility: visible !important;
    opacity: 1 !important;
}

@media (max-width: 700px) {

    .pff-business-story-main {
        padding-right: 0;
    }

    .pff-business-about-icon {
        position: static;
        width: 62px;
        height: 62px;
        margin: 0 0 20px;
    }

    .pff-business-about-icon .pff-category-svg {
        width: 32px !important;
        height: 32px !important;
    }
}


/* ==========================================================
   BUSINESS PROFILE - CATEGORY ICON IN HERO
   ========================================================== */

.pff-business-hero .pff-profile-container {
    position: relative;
    padding-right: 170px;
}

.pff-business-hero-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);

    width: 112px;
    height: 112px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,255,255,.30);
    border-radius: 50%;
    color: #fff;
    background: rgba(255,255,255,.05);
}

.pff-business-hero-icon svg.pff-category-svg {
    display: block !important;
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
    visibility: visible !important;
    opacity: 1 !important;
    fill: none !important;
    stroke: currentColor !important;
}

.pff-business-story-main {
    padding-right: 0;
}

.pff-business-about-icon {
    display: none !important;
}

@media (max-width: 700px) {

    .pff-business-hero .pff-profile-container {
        padding-right: 82px;
    }

    .pff-business-hero-icon {
        right: 0;
        width: 64px;
        height: 64px;
    }

    .pff-business-hero-icon svg.pff-category-svg {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        min-height: 32px !important;
    }
}


/* ==========================================================
   PROFILE HERO CATEGORY ICON - ACTUAL GENERATED MARKUP
   ========================================================== */

.pff-business-hero-icon .pff-category-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 64px !important;
    height: 64px !important;
    color: #fff !important;
}

.pff-business-hero-icon .pff-category-icon svg {
    display: block !important;
    width: 58px !important;
    height: 58px !important;
    max-width: none !important;
    max-height: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;

    fill: none !important;
    stroke: #fff !important;
    stroke-width: 2.2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.pff-business-hero-icon .pff-category-icon svg * {
    visibility: visible !important;
    opacity: 1 !important;
    fill: none !important;
    stroke: #fff !important;
}

@media (max-width: 700px) {

    .pff-business-hero-icon .pff-category-icon {
        width: 40px !important;
        height: 40px !important;
    }

    .pff-business-hero-icon .pff-category-icon svg {
        width: 38px !important;
        height: 38px !important;
    }
}


/* ==========================================================
   PFF PROFILE MOBILE WIDTH 20260915
   ========================================================== */
@media (max-width:700px) {

body.single-pff_business {
    overflow-x:hidden !important;
}

body.single-pff_business .pff-business-profile > .pff-profile-container {
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding-left:16px !important;
    padding-right:16px !important;
    box-sizing:border-box !important;
}

body.single-pff_business .pff-business-profile > .pff-profile-container > * {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
}

body.single-pff_business .pff-business-story,
body.single-pff_business .pff-business-story-main {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
}

body.single-pff_business .pff-business-story-main p,
body.single-pff_business .pff-business-story-main li,
body.single-pff_business .pff-business-story-main a {
    max-width:100% !important;
    overflow-wrap:anywhere !important;
}

body.single-pff_business .pff-business-map,
body.single-pff_business section.pff-business-inquiry,
body.single-pff_business form.pff-business-inquiry-form {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
}

body.single-pff_business .pff-inquiry-grid {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;
}

body.single-pff_business .pff-business-inquiry-form input:not([type="hidden"]),
body.single-pff_business .pff-business-inquiry-form select,
body.single-pff_business .pff-business-inquiry-form textarea {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
}

}

/* ==========================================================
   PFF HOMEPAGE MOBILE COMPACT 20260915
   ========================================================== */
@media (max-width:700px) {

/* Overall homepage headings */
body.home .pff-home h2 {
    font-size:32px !important;
    line-height:1.08 !important;
}

/* HERO */
body.home .pff-fast-hero {
    min-height:0 !important;
    padding-top:38px !important;
    padding-bottom:38px !important;
}

body.home .pff-fast-hero-copy h1 {
    margin-top:10px !important;
    margin-bottom:14px !important;
    font-size:40px !important;
    line-height:1.02 !important;
}

body.home .pff-fast-hero-copy > p {
    margin-bottom:16px !important;
    line-height:1.5 !important;
}

body.home .pff-home-search {
    margin-bottom:12px !important;
}

body.home .pff-home-search-help {
    margin-top:7px !important;
}

body.home .pff-fast-actions {
    margin-top:12px !important;
}

/* EXPLORE */
body.home .pff-discovery {
    padding-top:42px !important;
    padding-bottom:42px !important;
}

body.home .pff-discovery-head {
    margin-bottom:24px !important;
}

body.home .pff-discovery-head p {
    margin-top:10px !important;
}

body.home .pff-discovery-grid {
    gap:10px !important;
}

body.home .pff-discovery-card {
    min-height:0 !important;
    padding:18px 18px 17px !important;
}

body.home .pff-discovery-card p {
    margin-top:7px !important;
    margin-bottom:10px !important;
    line-height:1.45 !important;
}

/* FARM STORY */
body.home .pff-fast-intro {
    padding-top:40px !important;
    padding-bottom:40px !important;
}

body.home .pff-fast-intro-grid {
    gap:20px !important;
}

body.home .pff-fast-intro p {
    margin-top:8px !important;
    margin-bottom:8px !important;
    line-height:1.5 !important;
}

body.home .pff-farm-origin-statement {
    margin-top:16px !important;
    padding:16px 18px !important;
}

/* BUSINESS GROWTH */
body.home .pff-growth-journey {
    padding-top:42px !important;
    padding-bottom:42px !important;
}

body.home .pff-growth-journey-head {
    margin-bottom:24px !important;
}

body.home .pff-growth-journey-copy p {
    margin-bottom:8px !important;
    line-height:1.5 !important;
}

body.home .pff-growth-track {
    margin-top:24px !important;
    gap:0 !important;
}

body.home .pff-growth-stage {
    min-height:0 !important;
    padding-top:14px !important;
    padding-bottom:14px !important;
}

body.home .pff-growth-stage h3 {
    margin-top:5px !important;
    margin-bottom:5px !important;
}

body.home .pff-growth-stage p {
    margin:0 !important;
    line-height:1.45 !important;
}

body.home .pff-growth-model {
    margin-top:22px !important;
    padding:17px 18px !important;
}

body.home .pff-growth-model p {
    margin-top:5px !important;
    margin-bottom:0 !important;
}

body.home .pff-growth-journey-footer {
    margin-top:22px !important;
}

/* WHAT MATTERS */
body.home .pff-what-matters {
    padding-top:42px !important;
    padding-bottom:42px !important;
}

body.home .pff-matters-intro {
    margin-bottom:22px !important;
}

body.home .pff-matters-intro > p {
    margin-top:10px !important;
    line-height:1.5 !important;
}

body.home .pff-matters-grid {
    gap:10px !important;
}

body.home .pff-matter,
body.home .pff-matter-family,
body.home .pff-matter-health,
body.home .pff-matter-seniors,
body.home .pff-matter-animals {
    min-height:0 !important;
    padding:18px !important;
}

body.home .pff-matter h3 {
    margin-top:7px !important;
    margin-bottom:6px !important;
}

body.home .pff-matter p {
    margin-top:0 !important;
    margin-bottom:8px !important;
    line-height:1.45 !important;
}

/* HEALTH */
body.home .pff-home-health {
    padding-top:40px !important;
    padding-bottom:40px !important;
}

body.home .pff-home-health-grid {
    gap:20px !important;
}

body.home .pff-home-health-copy p {
    line-height:1.5 !important;
}

body.home .pff-home-health-message {
    padding:18px !important;
}

body.home .pff-health-pathway {
    padding-top:10px !important;
    padding-bottom:10px !important;
}

body.home .pff-home-health .pff-health-pathway p {
    line-height:1.4 !important;
}

/* FEATURE */
body.home .pff-fast-feature {
    padding-top:40px !important;
    padding-bottom:40px !important;
}

body.home .pff-fast-feature-grid {
    gap:20px !important;
}

/* ANIMAL GIVING */
body.home .pff-animal-giving {
    padding-top:34px !important;
    padding-bottom:34px !important;
}

body.home .pff-animal-compact {
    gap:16px !important;
}

body.home .pff-animal-compact-copy p {
    margin-top:6px !important;
    margin-bottom:8px !important;
    line-height:1.45 !important;
}

body.home .pff-animal-compact-actions {
    gap:8px !important;
}

/* FINAL CTA */
body.home .pff-fast-final {
    padding-top:38px !important;
    padding-bottom:38px !important;
}

body.home .pff-fast-final h2 {
    margin-top:8px !important;
    margin-bottom:12px !important;
}

body.home .pff-fast-final p {
    margin-bottom:16px !important;
    line-height:1.5 !important;
}

}

/* ==========================================================
   PFF MOBILE MENU COMPACT 20260915
   Desktop mega menus remain unchanged
   ========================================================== */
@media (max-width:1120px) {

    /* Make the open navigation itself tighter */
    .main-navigation.is-open {
        overflow-y:auto !important;
        overscroll-behavior:contain;
    }

    /* Main section buttons */
    .main-navigation .pff-nav-button {
        min-height:48px !important;
        padding-top:12px !important;
        padding-bottom:12px !important;
    }

    /* Remove desktop-only explanatory furniture */
    .main-navigation .pff-mega-menu .pff-menu-eyebrow,
    .main-navigation .pff-mega-menu .pff-menu-divider,
    .main-navigation .pff-mega-menu .pff-grow-feature,
    .main-navigation .pff-mega-menu .pff-menu-actions {
        display:none !important;
    }

    /* Compact dropdown panel */
    .main-navigation .pff-mega-menu {
        padding-top:8px !important;
        padding-bottom:10px !important;
    }

    /* Keep the useful "Explore..." destination */
    .main-navigation .pff-menu-all {
        display:block !important;
        margin:0 0 5px !important;
        padding:9px 12px !important;
        min-height:0 !important;
    }

    /* Category links become simple stacked choices */
    .main-navigation .pff-menu-grid,
    .main-navigation .pff-menu-list {
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:0 !important;
        margin:0 !important;
    }

    .main-navigation .pff-menu-grid > a,
    .main-navigation .pff-menu-list > a {
        min-height:0 !important;
        margin:0 !important;
        padding:9px 12px !important;
    }

    /*
     * Category mega menus:
     * keep only first two category shortcuts.
     * The main Explore link above still reaches the full section.
     */
    .main-navigation .pff-menu-grid > a:nth-child(n+3) {
        display:none !important;
    }

    /*
     * Learn:
     * keep Food & Farming, Real Food and Animal Care.
     * Explore Learn above reaches all Learn categories.
     */
    .main-navigation .pff-learn-menu .pff-menu-list > a:nth-child(n+4) {
        display:none !important;
    }

    /* Keep permanent MAP / LIST BUSINESS controls compact */
    .main-navigation .pff-map-button,
    .main-navigation .pff-list-business {
        min-height:46px !important;
    }
}


/* ==========================================================
   PFF HOMEPAGE MOBILE SHORT 20260915
   Keep mobile focused on discovery
   Desktop unchanged
   ========================================================== */
@media (max-width:700px) {

    /* ------------------------------------------
       HERO
       ------------------------------------------ */

    body.home .pff-fast-hero {
        padding-top:28px !important;
        padding-bottom:30px !important;
    }

    body.home .pff-fast-hero-copy h1 {
        font-size:36px !important;
        line-height:1.04 !important;
        margin-bottom:12px !important;
    }

    body.home .pff-fast-hero-copy > p {
        margin-bottom:14px !important;
    }


    /* ------------------------------------------
       EXPLORE
       Keep this as the main mobile discovery area
       ------------------------------------------ */

    body.home .pff-discovery {
        padding-top:30px !important;
        padding-bottom:30px !important;
    }

    body.home .pff-discovery-head {
        margin-bottom:18px !important;
    }

    body.home .pff-discovery-grid {
        gap:8px !important;
    }

    body.home .pff-discovery-card {
        padding:15px 16px !important;
    }


    /* ------------------------------------------
       FARM INTRO
       Keep the PureFarmFresh identity,
       but make it a short mobile statement
       ------------------------------------------ */

    body.home .pff-fast-intro {
        padding-top:30px !important;
        padding-bottom:30px !important;
    }

    body.home .pff-fast-intro-grid {
        gap:12px !important;
    }

    body.home .pff-farm-origin-statement {
        margin-top:12px !important;
        padding:14px 16px !important;
    }


    /* ------------------------------------------
       LONG-FORM HOMEPAGE CONTENT
       Available on desktop and destination pages.
       Not required on mobile landing page.
       ------------------------------------------ */

    body.home .pff-growth-journey,
    body.home .pff-what-matters,
    body.home .pff-home-health,
    body.home .pff-fast-feature,
    body.home .pff-animal-giving {
        display:none !important;
    }


    /* ------------------------------------------
       FINAL BUSINESS / DIRECTORY CTA
       ------------------------------------------ */

    body.home .pff-fast-final {
        display:block !important;
        padding-top:28px !important;
        padding-bottom:30px !important;
    }

    body.home .pff-fast-final h2 {
        font-size:28px !important;
        margin-bottom:10px !important;
    }

    body.home .pff-fast-final p {
        margin-bottom:14px !important;
    }

}

/* ==========================================================
   PFF EXPANDED FOOTER 20260915
   ========================================================== */

.pff-footer .pff-footer-top {
    grid-template-columns:
        minmax(260px, 1.6fr)
        repeat(4, minmax(130px, 1fr)) !important;
    gap:42px 34px !important;
}

.pff-footer .pff-footer-column {
    min-width:0;
}

.pff-footer .pff-footer-column a {
    display:block;
    margin-bottom:9px;
}

.pff-footer .pff-footer-heading {
    margin-bottom:15px;
}


/* Tablet */
@media (max-width:1000px) {

    .pff-footer .pff-footer-top {
        grid-template-columns:
            minmax(240px, 1.4fr)
            repeat(2, minmax(150px, 1fr)) !important;
        gap:36px 28px !important;
    }

}


/* Mobile */
@media (max-width:700px) {

    .pff-footer {
        padding-top:34px !important;
    }

    .pff-footer .pff-footer-top {
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:28px 22px !important;
    }

    .pff-footer .pff-footer-brand {
        grid-column:1 / -1;
    }

    .pff-footer .pff-footer-brand p {
        max-width:520px;
        margin-top:12px !important;
        margin-bottom:8px !important;
        line-height:1.5 !important;
    }

    .pff-footer .pff-footer-heading {
        margin-bottom:11px !important;
        font-size:11px !important;
        letter-spacing:.12em !important;
    }

    .pff-footer .pff-footer-column a {
        margin-bottom:8px !important;
        line-height:1.35 !important;
    }

    .pff-footer .pff-footer-small {
        margin-top:10px !important;
    }

    .pff-footer .pff-footer-bottom {
        margin-top:28px !important;
        padding-top:18px !important;
        padding-bottom:22px !important;
    }

}


/* Narrow phones */
@media (max-width:430px) {

    .pff-footer .pff-footer-top {
        grid-template-columns:1fr !important;
        gap:24px !important;
    }

    .pff-footer .pff-footer-brand {
        grid-column:auto;
    }

}


/* ==========================================================
   PFF FOOTER LOGO SIZE 20260915
   ========================================================== */

.pff-footer .pff-footer-logo-image {
    display:block !important;
    width:285px !important;
    max-width:100% !important;
    height:auto !important;
}

@media (max-width:700px) {
    .pff-footer .pff-footer-logo-image {
        width:220px !important;
    }
}


/* ==========================================================
   PFF ENGAGEMENT NUDGES 20260915
   ========================================================== */

.pff-nudge {
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:9990;
    width:min(380px, calc(100vw - 32px));
    padding:24px;
    border-radius:18px;
    background:#fff;
    box-shadow:0 18px 55px rgba(20,45,35,.18);
    border:1px solid rgba(32,86,63,.12);
    opacity:0;
    transform:translateY(18px);
    visibility:hidden;
    transition:
        opacity .3s ease,
        transform .3s ease,
        visibility .3s ease;
}

.pff-nudge.is-visible {
    opacity:1;
    transform:translateY(0);
    visibility:visible;
}

.pff-nudge-close {
    position:absolute;
    top:10px;
    right:12px;
    width:34px;
    height:34px;
    padding:0;
    border:0;
    background:transparent;
    color:#66756e;
    font-size:25px;
    line-height:1;
    cursor:pointer;
}

.pff-nudge-eyebrow {
    margin:0 38px 8px 0;
    color:#547b61;
    font-size:11px;
    font-weight:800;
    letter-spacing:.14em;
}

.pff-nudge-title {
    margin:0 32px 8px 0;
    color:#173f31;
    font-family:Georgia, serif;
    font-size:24px;
    line-height:1.15;
    font-weight:700;
}

.pff-nudge-copy {
    margin:0 0 17px;
    color:#52615b;
    font-size:15px;
    line-height:1.55;
}

.pff-nudge-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:11px 18px;
    border-radius:999px;
    background:#245f45;
    color:#fff !important;
    text-decoration:none !important;
    font-size:14px;
    font-weight:700;
    transition:transform .18s ease, opacity .18s ease;
}

.pff-nudge-button:hover {
    transform:translateY(-1px);
    opacity:.92;
}

@media (max-width:700px) {

    .pff-nudge {
        left:12px;
        right:12px;
        bottom:12px;
        width:auto;
        padding:20px;
        border-radius:16px;
    }

    .pff-nudge-title {
        font-size:21px;
    }

    .pff-nudge-copy {
        font-size:14px;
        margin-bottom:14px;
    }

    .pff-nudge-button {
        width:100%;
    }
}

@media (prefers-reduced-motion:reduce) {

    .pff-nudge,
    .pff-nudge-button {
        transition:none !important;
    }
}


/* ==========================================================
   PFF GUIDE MESSAGE ROTATION 20260915
   ========================================================== */

.pff-nudge .pff-nudge-eyebrow,
.pff-nudge .pff-nudge-title,
.pff-nudge .pff-nudge-copy,
.pff-nudge .pff-nudge-button {
    transition:
        opacity .22s ease,
        transform .22s ease;
}

.pff-nudge.is-changing .pff-nudge-eyebrow,
.pff-nudge.is-changing .pff-nudge-title,
.pff-nudge.is-changing .pff-nudge-copy,
.pff-nudge.is-changing .pff-nudge-button {
    opacity:0;
    transform:translateY(4px);
}


/* ==========================================================
   PFF ANIMAL WELFARE FULL WIDTH 20260915
   ========================================================== */

body.home .pff-animal-giving {
    width:100vw !important;
    max-width:none !important;

    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;

    border-radius:0 !important;
}

/* Keep the actual content comfortably aligned */

body.home .pff-animal-giving > * {
    max-width:1500px;
    margin-left:auto;
    margin-right:auto;
}


/* ==========================================================
   PFF ANIMAL WELFARE FULL WIDTH + BUTTON 20260915
   ========================================================== */

/* Break the entire green section out to viewport width */
body.home .pff-animal-giving {
    position:relative !important;

    width:100vw !important;
    max-width:none !important;

    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;

    padding-left:max(32px, calc((100vw - 1500px) / 2)) !important;
    padding-right:max(32px, calc((100vw - 1500px) / 2)) !important;

    border-radius:0 !important;
    box-sizing:border-box !important;
}

/* Keep content aligned inside the full-width green */
body.home .pff-animal-giving > * {
    width:100% !important;
    max-width:1500px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
}

/* Explore Animal Welfare button */
body.home .pff-animal-giving a[href*="/animal-welfare/"] {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    min-height:46px !important;
    margin-top:12px !important;
    padding:12px 22px !important;

    background:#f0b735 !important;
    color:#173f31 !important;

    border:1px solid #f0b735 !important;
    border-radius:999px !important;

    font-size:14px !important;
    font-weight:800 !important;
    line-height:1.2 !important;
    text-decoration:none !important;

    box-shadow:0 6px 18px rgba(0,0,0,.13) !important;

    transition:
        transform .18s ease,
        background .18s ease,
        box-shadow .18s ease !important;
}

body.home .pff-animal-giving a[href*="/animal-welfare/"]:hover {
    background:#fff !important;
    border-color:#fff !important;
    color:#173f31 !important;
    transform:translateY(-2px) !important;
    box-shadow:0 9px 24px rgba(0,0,0,.18) !important;
}

@media (max-width:700px) {

    body.home .pff-animal-giving {
        padding-left:20px !important;
        padding-right:20px !important;
    }

    body.home .pff-animal-giving a[href*="/animal-welfare/"] {
        width:auto !important;
        max-width:100% !important;
    }
}


/* ==========================================================
   PFF ANIMAL COMPACT TRUE FULL WIDTH + CTA 20260915
   Correct visible homepage component
   ========================================================== */

/* FULL VIEWPORT GREEN SECTION */

body.home .pff-animal-compact {
    position:relative !important;

    width:100vw !important;
    max-width:none !important;

    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;

    padding-left:max(60px, calc((100vw - 1500px) / 2)) !important;
    padding-right:max(60px, calc((100vw - 1500px) / 2)) !important;

    border-radius:0 !important;
    box-sizing:border-box !important;
}


/* GOLD CTA */

body.home .pff-animal-compact-copy > a[href="/animal-welfare/"] {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    min-height:48px !important;
    margin-top:18px !important;
    padding:13px 24px !important;

    background:#f0b735 !important;
    color:#173f31 !important;

    border:1px solid #f0b735 !important;
    border-radius:999px !important;

    font-size:14px !important;
    font-weight:800 !important;
    line-height:1.2 !important;

    text-decoration:none !important;

    box-shadow:0 7px 20px rgba(0,0,0,.14) !important;

    transition:
        transform .18s ease,
        background .18s ease,
        box-shadow .18s ease !important;
}

body.home .pff-animal-compact-copy > a[href="/animal-welfare/"]:hover {
    background:#fff !important;
    border-color:#fff !important;
    color:#173f31 !important;

    transform:translateY(-2px) !important;

    box-shadow:0 10px 25px rgba(0,0,0,.20) !important;
}


@media (max-width:700px) {

    body.home .pff-animal-compact {
        padding-left:20px !important;
        padding-right:20px !important;
    }

}


/* ==========================================================
   PFF MATTER ANIMALS TRUE FULL WIDTH + GOLD CTA 20260915
   Actual visible homepage Animal Welfare section
   ========================================================== */

/* Make the ACTUAL green Animal Welfare article full viewport width */

body.home .pff-matter.pff-matter-animals {
    position:relative !important;

    width:100vw !important;
    max-width:none !important;

    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;

    padding-left:max(60px, calc((100vw - 1400px) / 2)) !important;
    padding-right:max(60px, calc((100vw - 1400px) / 2)) !important;

    border-radius:0 !important;

    box-sizing:border-box !important;
}


/* Turn Explore Animal Welfare into gold CTA */

body.home
.pff-matter.pff-matter-animals
.pff-matter-animal-copy
> a[href="/animal-welfare/"] {

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    min-height:48px !important;

    margin-top:18px !important;
    padding:13px 24px !important;

    background:#f0b735 !important;
    color:#173f31 !important;

    border:1px solid #f0b735 !important;
    border-radius:999px !important;

    font-size:14px !important;
    font-weight:800 !important;
    line-height:1.2 !important;

    text-decoration:none !important;

    box-shadow:0 7px 20px rgba(0,0,0,.14) !important;

    transition:
        transform .18s ease,
        background .18s ease,
        box-shadow .18s ease !important;
}


body.home
.pff-matter.pff-matter-animals
.pff-matter-animal-copy
> a[href="/animal-welfare/"]:hover {

    background:#fff !important;
    border-color:#fff !important;
    color:#173f31 !important;

    transform:translateY(-2px) !important;

    box-shadow:0 10px 25px rgba(0,0,0,.20) !important;
}


@media (max-width:700px) {

    body.home .pff-matter.pff-matter-animals {
        padding-left:20px !important;
        padding-right:20px !important;
    }

}


/* ==========================================================
   PFF GUIDE MESSAGE ICONS 20260915
   ========================================================== */

/* Hide old generic pseudo leaf now that every message
   has its own contextual icon */
.pff-nudge::before {
    display:none !important;
}

.pff-nudge .pff-nudge-icon {
    display:flex;
    align-items:center;
    justify-content:center;

    width:44px;
    height:44px;

    margin:0 0 13px;

    border-radius:50%;

    background:#edf5ef;
    border:1px solid rgba(32,95,69,.12);

    color:#236b4d;

    font-family:Arial, sans-serif;
    font-size:21px;
    font-weight:700;
    line-height:1;

    box-shadow:0 4px 12px rgba(26,70,52,.08);

    transition:
        transform .3s ease,
        background .3s ease;
}

.pff-nudge.is-visible .pff-nudge-icon {
    animation:pffGuideIconBreathe 4s ease-in-out infinite;
}

.pff-nudge.is-changing .pff-nudge-icon {
    transform:scale(.88) rotate(-5deg);
}

@keyframes pffGuideIconBreathe {

    0%,100% {
        transform:scale(1);
    }

    50% {
        transform:scale(1.07);
    }
}


/* Rescue messages get a warm treatment */

.pff-nudge:has(.pff-nudge-eyebrow) .pff-nudge-icon {
    flex-shrink:0;
}


@media (max-width:700px) {

    .pff-nudge .pff-nudge-icon {
        width:38px;
        height:38px;

        margin-bottom:10px;

        font-size:18px;
    }

}


@media (prefers-reduced-motion:reduce) {

    .pff-nudge .pff-nudge-icon {
        animation:none !important;
    }

}


/* ==========================================================
   PFF NO EMAIL INQUIRY CARD 20260915
   ========================================================== */

.pff-business-inquiry-unavailable {
    position:relative;
}

.pff-no-email-actions {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:24px;
}

.pff-no-email-actions a {
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-height:48px;
    padding:13px 21px;

    border-radius:999px;

    font-size:14px;
    font-weight:800;
    line-height:1.2;

    text-decoration:none;

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        background .18s ease;
}

.pff-no-email-primary {
    background:#236b4d;
    border:1px solid #236b4d;
    color:#fff !important;
}

.pff-no-email-primary:hover {
    transform:translateY(-2px);
    box-shadow:0 8px 20px rgba(25,75,54,.16);
}

.pff-no-email-secondary {
    background:#fff;
    border:1px solid rgba(35,107,77,.24);
    color:#236b4d !important;
}

.pff-no-email-secondary:hover {
    background:#f5f8f5;
    transform:translateY(-2px);
}

.pff-no-email-note {
    margin:20px 0 0 !important;
    padding-top:18px;
    border-top:1px solid rgba(35,107,77,.12);

    font-size:13px !important;
    line-height:1.55 !important;
    opacity:.72;
}

@media (max-width:700px) {

    .pff-no-email-actions {
        display:grid;
        grid-template-columns:1fr;
    }

    .pff-no-email-actions a {
        width:100%;
        box-sizing:border-box;
    }

}



/* ==========================================================
   PFF TAXONOMY LANDING DESIGN 20260915
   ========================================================== */

body.tax-pff_business_type,
body.tax-pff_location {
    background:#f7f8f6;
}

.pff-taxonomy-landing {
    width:100%;
}

.pff-taxonomy-hero {
    padding:72px 20px 58px;
    background:#0f5c63;
    color:#fff;
}

.pff-taxonomy-hero .container,
.pff-taxonomy-results > .container {
    width:min(1180px, 100%);
    margin:0 auto;
}

.pff-taxonomy-hero .eyebrow {
    margin-bottom:12px;
    color:#e4c777;
    font-size:13px;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.pff-taxonomy-hero h1 {
    max-width:850px;
    margin:0 0 18px;
    color:#fff;
    font-family:Georgia, serif;
    font-size:clamp(38px, 5vw, 62px);
    line-height:1.08;
    font-weight:400;
}

.pff-taxonomy-intro {
    max-width:760px;
    margin:0;
    color:rgba(255,255,255,.92);
    font-size:18px;
    line-height:1.7;
}

.pff-taxonomy-count {
    display:inline-block;
    margin:25px 0 0;
    padding:8px 14px;
    border:1px solid rgba(255,255,255,.28);
    border-radius:999px;
    color:#fff;
    font-size:14px;
    font-weight:600;
}

.pff-taxonomy-results {
    padding:55px 20px 75px;
}

.pff-taxonomy-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}

.pff-taxonomy-card {
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:26px;
    background:#fff;
    border:1px solid #e2e5df;
    border-radius:14px;
    box-shadow:0 5px 18px rgba(0,0,0,.045);
}

.pff-taxonomy-card h2 {
    margin:0 0 8px;
    font-family:Georgia,serif;
    font-size:23px;
    line-height:1.25;
}

.pff-taxonomy-card h2 a {
    color:#0a474d;
    text-decoration:none;
}

.pff-taxonomy-card h2 a:hover {
    text-decoration:underline;
}

.pff-taxonomy-location {
    margin-bottom:13px;
    color:#68706b;
    font-size:14px;
    font-weight:600;
}

.pff-taxonomy-card p {
    margin:0 0 20px;
    color:#4c514e;
    font-size:15px;
    line-height:1.65;
}

.pff-taxonomy-view {
    display:inline-flex;
    align-items:center;
    align-self:flex-start;
    margin-top:auto;
    color:#0f5c63;
    font-weight:700;
    text-decoration:none;
}

.pff-taxonomy-view::after {
    content:" →";
    margin-left:5px;
}

.pff-taxonomy-pagination {
    margin-top:45px;
}

.pff-taxonomy-pagination .nav-links {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
}

.pff-taxonomy-pagination .page-numbers {
    display:inline-flex;
    min-width:42px;
    height:42px;
    padding:0 12px;
    align-items:center;
    justify-content:center;
    border:1px solid #d9ddd8;
    border-radius:8px;
    background:#fff;
    color:#0f5c63;
    text-decoration:none;
    font-weight:600;
}

.pff-taxonomy-pagination .page-numbers.current {
    border-color:#0f5c63;
    background:#0f5c63;
    color:#fff;
}

.pff-taxonomy-footer-links {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:45px;
    padding-top:30px;
    border-top:1px solid #dfe3de;
}

.pff-taxonomy-footer-links a {
    display:inline-flex;
    padding:12px 18px;
    border-radius:8px;
    background:#0f5c63;
    color:#fff;
    font-weight:700;
    text-decoration:none;
}

.pff-taxonomy-footer-links a:last-child {
    background:#c8a45a;
    color:#17201d;
}

.pff-taxonomy-empty {
    padding:40px;
    background:#fff;
    border:1px solid #e2e5df;
    border-radius:14px;
}

@media (max-width:900px) {
    .pff-taxonomy-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:600px) {
    .pff-taxonomy-hero {
        padding:45px 18px 38px;
    }

    .pff-taxonomy-hero h1 {
        font-size:36px;
    }

    .pff-taxonomy-intro {
        font-size:16px;
    }

    .pff-taxonomy-results {
        padding:32px 16px 50px;
    }

    .pff-taxonomy-grid {
        grid-template-columns:minmax(0,1fr);
        gap:14px;
    }

    .pff-taxonomy-card {
        padding:20px;
    }

    .pff-taxonomy-card h2 {
        font-size:21px;
    }

    .pff-taxonomy-footer-links {
        flex-direction:column;
    }

    .pff-taxonomy-footer-links a {
        width:100%;
        justify-content:center;
        box-sizing:border-box;
    }
}



/* ==========================================================
   PFF PROFILE EXPLORE LINKS 20260915
   ========================================================== */

body.single-pff_business .pff-profile-explore {
    width:100%;
    margin:30px 0;
    padding:20px 22px;
    background:#f7f8f6;
    border:1px solid #e0e5df;
    border-radius:12px;
    box-sizing:border-box;
}

body.single-pff_business .pff-profile-explore-label {
    display:block;
    margin-bottom:11px;
    color:#68706b;
    font-size:12px;
    font-weight:700;
    letter-spacing:.11em;
    text-transform:uppercase;
}

body.single-pff_business .pff-profile-explore-links {
    display:flex;
    flex-wrap:wrap;
    gap:9px;
}

body.single-pff_business .pff-profile-explore-links a {
    display:inline-flex;
    align-items:center;
    min-height:38px;
    padding:8px 14px;
    border:1px solid #cfd8d2;
    border-radius:999px;
    background:#fff;
    color:#0f5c63;
    font-size:14px;
    font-weight:700;
    line-height:1.25;
    text-decoration:none;
    transition:
        border-color .15s ease,
        background .15s ease;
}

body.single-pff_business .pff-profile-explore-links a:hover,
body.single-pff_business .pff-profile-explore-links a:focus {
    border-color:#0f5c63;
    background:#eef5f3;
}

@media (max-width:700px) {

    body.single-pff_business .pff-profile-explore {
        margin:24px 0;
        padding:17px 16px;
    }

    body.single-pff_business .pff-profile-explore-links {
        gap:8px;
    }

    body.single-pff_business .pff-profile-explore-links a {
        max-width:100%;
        min-height:36px;
        padding:7px 12px;
        white-space:normal;
        box-sizing:border-box;
    }
}



/* ============================================================
   PFF LISTING THANK YOU POLISH 20260916
   ============================================================ */

.pff-thankyou-page {
    background:
        radial-gradient(circle at 50% 35%, rgba(255,255,255,.04), transparent 42%),
        #164d3b;
    min-height: calc(100vh - 140px);
}

.pff-thankyou-section {
    width: 100%;
    padding: 64px 24px 72px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.pff-thankyou-card {
    width: min(860px, 100%);
    background: #f8f6ef;
    border-radius: 12px;
    padding: 44px 70px 40px;
    text-align: center;
    box-shadow: 0 18px 50px rgba(0,0,0,.12);
}

.pff-thankyou-logo {
    display: block;
    width: 250px;
    max-width: 70%;
    height: auto;
    margin: 0 auto 18px;
}

/*
 * white-logo.png is designed for a dark background.
 * The filter converts the white elements to the site's dark green
 * while retaining the logo artwork on this light card.
 */
.pff-thankyou-card .pff-thankyou-logo {
    filter:
        brightness(0)
        saturate(100%)
        invert(24%)
        sepia(17%)
        saturate(1378%)
        hue-rotate(108deg)
        brightness(89%)
        contrast(93%);
}

.pff-thankyou-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 230px;
    max-width: 80%;
    margin: 0 auto 13px;
}

.pff-thankyou-divider > span:not(.pff-thankyou-leaf) {
    height: 1px;
    flex: 1;
    background: #c99a3d;
}

.pff-thankyou-leaf {
    color: #c99a3d;
    font-size: 11px;
    transform: rotate(45deg);
}

.pff-thankyou-eyebrow {
    color: #bd8b31;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .24em;
    margin-bottom: 9px;
}

.pff-thankyou-card h1 {
    margin: 0 auto 16px;
    color: #164d3b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -.025em;
}

.pff-thankyou-intro,
.pff-thankyou-email {
    max-width: 650px;
    margin-left: auto;
    margin-right: auto;
    color: #3e4b48;
    font-size: 18px;
    line-height: 1.55;
}

.pff-thankyou-intro {
    margin-bottom: 14px;
}

.pff-thankyou-email {
    margin-top: 0;
    margin-bottom: 27px;
}

.pff-thankyou-actions {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 12px;
    flex-wrap: wrap;
}

.pff-thankyou-primary,
.pff-thankyou-secondary {
    min-height: 54px;
    padding: 15px 26px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    font-size: 15px;
    font-weight: 700;
    transition:
        transform .18s ease,
        background .18s ease,
        border-color .18s ease;
}

.pff-thankyou-primary {
    min-width: 280px;
    color: #123f31 !important;
    background: #d3a13e;
    border: 1px solid #d3a13e;
}

.pff-thankyou-primary:hover {
    background: #c49335;
    border-color: #c49335;
    transform: translateY(-1px);
}

.pff-thankyou-secondary {
    min-width: 170px;
    color: #164d3b !important;
    background: transparent;
    border: 1px solid #164d3b;
}

.pff-thankyou-secondary:hover {
    background: #164d3b;
    color: #fff !important;
    transform: translateY(-1px);
}

.pff-thankyou-tagline {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 32px;
    color: #164d3b;
}

.pff-thankyou-tagline span {
    width: 70px;
    height: 1px;
    background: #c99a3d;
}

.pff-thankyou-tagline strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    font-weight: 400;
    font-style: italic;
}

@media (max-width: 700px) {

    .pff-thankyou-page {
        min-height: auto;
    }

    .pff-thankyou-section {
        padding: 28px 16px 40px;
    }

    .pff-thankyou-card {
        padding: 30px 20px 28px;
        border-radius: 8px;
    }

    .pff-thankyou-logo {
        width: 205px;
        margin-bottom: 16px;
    }

    .pff-thankyou-card h1 {
        font-size: 34px;
    }

    .pff-thankyou-intro,
    .pff-thankyou-email {
        font-size: 16px;
    }

    .pff-thankyou-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .pff-thankyou-primary,
    .pff-thankyou-secondary {
        width: 100%;
        min-width: 0;
    }

    .pff-thankyou-tagline {
        margin-top: 26px;
        gap: 10px;
    }

    .pff-thankyou-tagline span {
        width: 28px;
    }

    .pff-thankyou-tagline strong {
        font-size: 14px;
    }
}

/* END PFF LISTING THANK YOU POLISH 20260916 */



/* ============================================================
   PFF FARMS & GROWERS PROFILE FAMILY 20260916
   ============================================================ */

body.single-pff_business .pff-farm-profile {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 22px;
    margin: 30px 0;
}

body.single-pff_business .pff-farm-section {
    position: relative;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 22px;
    width: 100%;
    padding: 34px 38px;
    background: #fff;
    border: 1px solid rgba(29, 67, 50, .12);
    border-radius: 18px;
    box-shadow: 0 8px 30px rgba(28, 55, 42, .055);
}

body.single-pff_business .pff-farm-about {
    border-top: 4px solid #c8a45a;
}

body.single-pff_business .pff-farm-offer {
    background: #f5f7ef;
    border-color: rgba(82, 104, 63, .15);
}

body.single-pff_business .pff-farm-section-icon,
body.single-pff_business .pff-farm-detail-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border-radius: 50%;
    background: #eef2e7;
    color: #46623f;
    font-size: 24px;
    line-height: 1;
}

body.single-pff_business .pff-farm-section-content {
    min-width: 0;
}

body.single-pff_business .pff-farm-section h2 {
    margin: 5px 0 13px;
    color: #263b31;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(25px, 3vw, 34px);
    line-height: 1.15;
}

body.single-pff_business .pff-farm-copy {
    max-width: 980px;
    color: #505a54;
    font-size: 17px;
    line-height: 1.75;
}

body.single-pff_business .pff-farm-copy p:last-child {
    margin-bottom: 0;
}

body.single-pff_business .pff-farm-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    width: 100%;
}

body.single-pff_business .pff-farm-detail-card {
    display: flex;
    gap: 18px;
    min-width: 0;
    padding: 30px;
    background: #fff;
    border: 1px solid rgba(29, 67, 50, .12);
    border-radius: 18px;
    box-shadow: 0 8px 30px rgba(28, 55, 42, .045);
}

body.single-pff_business .pff-farm-detail-card h3 {
    margin: 6px 0 8px;
    color: #263b31;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    line-height: 1.3;
}

body.single-pff_business .pff-farm-detail-card p {
    margin: 0;
    color: #68716b;
    font-size: 14px;
    line-height: 1.55;
}

body.single-pff_business .pff-farm-categories {
    padding: 24px 30px;
    background: #fff;
    border: 1px solid rgba(29, 67, 50, .12);
    border-radius: 18px;
}

body.single-pff_business
.pff-farm-categories
.pff-business-category-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 12px;
}

body.single-pff_business
.pff-farm-categories
.pff-business-category-tags span {
    display: inline-flex;
    align-items: center;
    padding: 8px 13px;
    border-radius: 999px;
    background: #eef2e7;
    color: #36523b;
    font-size: 13px;
    font-weight: 700;
}

body.single-pff_business .pff-farm-address-strip {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    padding: 22px 28px;
    background: #263f35;
    border-radius: 18px;
    color: #fff;
}

body.single-pff_business .pff-farm-address-strip .pff-business-section-label {
    color: #d4bb76;
}

body.single-pff_business .pff-farm-address-strip p {
    margin: 4px 0 0;
    color: #fff;
    font-size: 16px;
    line-height: 1.5;
}

body.single-pff_business .pff-farm-address-pin {
    color: #d4bb76;
    font-size: 20px;
}

/*
 * Existing map becomes the farm's large location section.
 */
body.single-pff_business
.pff-farm-profile ~ .pff-business-connect-section {
    width: 100%;
    margin-top: 24px;
}

body.single-pff_business
.pff-farm-profile ~ .pff-business-connect-section
.pff-business-location-card {
    width: 100%;
    max-width: none;
    padding: 30px;
    border-radius: 18px;
}

body.single-pff_business
.pff-farm-profile ~ .pff-business-connect-section
.pff-business-map {
    width: 100%;
    min-height: 420px;
    margin-top: 18px;
    border-radius: 14px;
    overflow: hidden;
}

@media (max-width: 760px) {

    body.single-pff_business .pff-farm-profile {
        gap: 16px;
        margin: 20px 0;
    }

    body.single-pff_business .pff-farm-section {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 25px 21px;
        border-radius: 15px;
    }

    body.single-pff_business .pff-farm-section-icon {
        width: 42px;
        height: 42px;
        font-size: 21px;
    }

    body.single-pff_business .pff-farm-section h2 {
        font-size: 26px;
    }

    body.single-pff_business .pff-farm-copy {
        font-size: 16px;
        line-height: 1.65;
    }

    body.single-pff_business .pff-farm-detail-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    body.single-pff_business .pff-farm-detail-card {
        padding: 23px 20px;
    }

    body.single-pff_business .pff-farm-categories {
        padding: 22px 20px;
    }

    body.single-pff_business .pff-farm-address-strip {
        align-items: flex-start;
        padding: 22px 20px;
        border-radius: 15px;
    }

    body.single-pff_business
    .pff-farm-profile ~ .pff-business-connect-section
    .pff-business-location-card {
        padding: 22px 18px;
    }

    body.single-pff_business
    .pff-farm-profile ~ .pff-business-connect-section
    .pff-business-map {
        min-height: 330px;
    }
}


/* ============================================================
   PFF FARM PROFILE POLISH 20260916
   ============================================================ */

/* Tighter, more editorial farm content */
body.single-pff_business .pff-farm-profile {
    gap: 16px;
    margin-top: 26px;
    margin-bottom: 22px;
}

/* About / offer cards */
body.single-pff_business .pff-farm-section {
    padding: 29px 34px;
    gap: 18px;
}

body.single-pff_business .pff-farm-about {
    min-height: 0;
}

body.single-pff_business .pff-farm-section h2 {
    margin-top: 3px;
    margin-bottom: 12px;
}

body.single-pff_business .pff-farm-copy {
    max-width: 940px;
}

body.single-pff_business .pff-farm-copy p {
    margin-top: 0;
    margin-bottom: 16px;
}

body.single-pff_business .pff-farm-copy p:last-child {
    margin-bottom: 0;
}

/* Categories should be a compact supporting element */
body.single-pff_business .pff-farm-categories {
    padding: 20px 28px 22px;
}

body.single-pff_business
.pff-farm-categories
.pff-business-category-tags {
    margin-top: 10px;
}

/* Location becomes the visual bridge to the map */
body.single-pff_business .pff-farm-address-strip {
    padding: 20px 28px;
    min-height: 92px;
}

body.single-pff_business .pff-farm-address-strip p {
    margin-top: 3px;
    font-size: 16px;
}

/* Reduce excess space before map / source / related content */
body.single-pff_business
.pff-farm-profile + .pff-business-source {
    margin-top: 8px;
}

body.single-pff_business
.pff-farm-profile ~ .pff-business-connect-section {
    margin-top: 18px;
}

/* Farm map should visually match the farm cards */
body.single-pff_business
.pff-farm-profile ~ .pff-business-connect-section
.pff-business-location-card {
    border-radius: 18px;
    border: 1px solid rgba(29, 67, 50, .14);
    box-shadow: 0 8px 30px rgba(28, 55, 42, .05);
}

/* Mobile */
@media (max-width: 760px) {

    body.single-pff_business .pff-farm-profile {
        gap: 13px;
        margin-top: 18px;
    }

    body.single-pff_business .pff-farm-section {
        padding: 23px 19px;
    }

    body.single-pff_business .pff-farm-categories {
        padding: 19px;
    }

    body.single-pff_business .pff-farm-address-strip {
        min-height: 0;
        padding: 19px;
    }
}


/* ============================================================
   PFF FARM PROFILE VISUAL V2 20260916
   Strong agricultural presentation
   ============================================================ */

body.single-pff_business .pff-farm-profile {
    gap: 18px;
    margin: 34px 0 24px;
}

/* ------------------------------------------------------------
   ABOUT THE FARM
   ------------------------------------------------------------ */

body.single-pff_business .pff-farm-about {
    position: relative;
    overflow: hidden;
    display: block;
    padding: 48px 54px 50px 118px;
    background:
        radial-gradient(
            circle at 92% 15%,
            rgba(200,164,90,.13) 0,
            rgba(200,164,90,0) 28%
        ),
        #f6f3e9;
    border: 0;
    border-top: 5px solid #c8a45a;
    border-radius: 20px;
    box-shadow: none;
}

/* decorative farm mark */
body.single-pff_business .pff-farm-about .pff-farm-section-icon {
    position: absolute;
    left: 42px;
    top: 47px;
    width: 54px;
    height: 54px;
    background: #214a3a;
    color: #f1d88b;
    border-radius: 50%;
    font-size: 25px;
}

body.single-pff_business .pff-farm-about .pff-farm-section-content {
    max-width: 900px;
}

body.single-pff_business .pff-farm-about .pff-business-section-label {
    margin-bottom: 9px;
    color: #71813d;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
}

body.single-pff_business .pff-farm-about h2 {
    margin: 0 0 20px;
    color: #173e31;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(31px, 3.2vw, 43px);
    font-weight: 700;
    line-height: 1.08;
}

body.single-pff_business .pff-farm-about .pff-farm-copy {
    max-width: 880px;
    color: #3e4c44;
    font-size: 17px;
    line-height: 1.8;
}

body.single-pff_business .pff-farm-about .pff-farm-copy p {
    margin: 0 0 17px;
}

body.single-pff_business .pff-farm-about .pff-farm-copy p:last-child {
    margin-bottom: 0;
}


/* ------------------------------------------------------------
   WHAT THEY OFFER
   ------------------------------------------------------------ */

body.single-pff_business .pff-farm-offer {
    display: block;
    position: relative;
    padding: 40px 48px 42px 112px;
    background: #eaf0e3;
    border: 0;
    border-radius: 20px;
    box-shadow: none;
}

body.single-pff_business .pff-farm-offer .pff-farm-section-icon {
    position: absolute;
    left: 40px;
    top: 40px;
    background: #fff;
    color: #527049;
}

body.single-pff_business .pff-farm-offer h2 {
    color: #214a3a;
}


/* ------------------------------------------------------------
   FARM DETAIL CARDS
   ------------------------------------------------------------ */

body.single-pff_business .pff-farm-detail-grid {
    gap: 18px;
}

body.single-pff_business .pff-farm-detail-card {
    padding: 28px 30px;
    background: #fff;
    border: 1px solid #dedfd5;
    border-radius: 16px;
    box-shadow: none;
}

body.single-pff_business .pff-farm-detail-card h3 {
    color: #214a3a;
}


/* ------------------------------------------------------------
   FARM CATEGORIES
   ------------------------------------------------------------ */

body.single-pff_business .pff-farm-categories {
    padding: 24px 30px 27px;
    background: transparent;
    border: 0;
    border-top: 1px solid #d9d9ce;
    border-bottom: 1px solid #d9d9ce;
    border-radius: 0;
}

body.single-pff_business
.pff-farm-categories
.pff-business-section-label {
    color: #71813d;
}

body.single-pff_business
.pff-farm-categories
.pff-business-category-tags {
    gap: 10px;
    margin-top: 13px;
}

body.single-pff_business
.pff-farm-categories
.pff-business-category-tags span {
    padding: 9px 15px;
    background: #edf2e7;
    border: 1px solid #cdd8c4;
    color: #244b3a;
    font-size: 13px;
    font-weight: 700;
}


/* ------------------------------------------------------------
   FARM LOCATION
   ------------------------------------------------------------ */

body.single-pff_business .pff-farm-address-strip {
    position: relative;
    min-height: 112px;
    padding: 28px 38px 28px 88px;
    background: #173f31;
    border-radius: 18px;
}

body.single-pff_business .pff-farm-address-pin {
    position: absolute;
    left: 38px;
    top: 42px;
    width: 14px;
    height: 14px;
    overflow: hidden;
    color: #d8b65e;
    font-size: 20px;
    line-height: 14px;
}

body.single-pff_business
.pff-farm-address-strip
.pff-business-section-label {
    margin-bottom: 7px;
    color: #c7b55e;
    font-size: 12px;
    letter-spacing: .16em;
}

body.single-pff_business .pff-farm-address-strip p {
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    line-height: 1.4;
}


/* ------------------------------------------------------------
   SOURCE - deliberately quiet
   ------------------------------------------------------------ */

body.single-pff_business
.pff-farm-profile + .pff-business-source {
    margin-top: 28px;
    padding: 12px 18px;
    background: transparent;
    border-top: 1px solid #deddd3;
    border-bottom: 1px solid #deddd3;
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    font-size: 12px;
}


/* ------------------------------------------------------------
   MAP
   ------------------------------------------------------------ */

body.single-pff_business
.pff-farm-profile ~ .pff-business-connect-section {
    margin-top: 28px;
}

body.single-pff_business
.pff-farm-profile ~ .pff-business-connect-section
.pff-business-location-card {
    padding: 30px;
    background: #fff;
    border: 1px solid #dddcd2;
    border-radius: 18px;
    box-shadow: none;
}

body.single-pff_business
.pff-farm-profile ~ .pff-business-connect-section
.pff-business-location-title {
    color: #173f31;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 31px;
}


/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */

@media (max-width: 760px) {

    body.single-pff_business .pff-farm-profile {
        margin-top: 20px;
        gap: 14px;
    }

    body.single-pff_business .pff-farm-about {
        padding: 26px 21px 28px;
        border-radius: 16px;
    }

    body.single-pff_business
    .pff-farm-about
    .pff-farm-section-icon {
        position: static;
        width: 44px;
        height: 44px;
        margin-bottom: 17px;
    }

    body.single-pff_business .pff-farm-about h2 {
        font-size: 29px;
    }

    body.single-pff_business .pff-farm-about .pff-farm-copy {
        font-size: 16px;
        line-height: 1.68;
    }

    body.single-pff_business .pff-farm-offer {
        padding: 25px 21px;
    }

    body.single-pff_business
    .pff-farm-offer
    .pff-farm-section-icon {
        position: static;
        margin-bottom: 15px;
    }

    body.single-pff_business .pff-farm-categories {
        padding: 21px 4px 23px;
    }

    body.single-pff_business .pff-farm-address-strip {
        min-height: 0;
        padding: 24px 20px 24px 53px;
    }

    body.single-pff_business .pff-farm-address-pin {
        left: 21px;
        top: 31px;
    }

    body.single-pff_business .pff-farm-address-strip p {
        font-size: 17px;
    }
}


/* ============================================================
   PFF LOCAL FOOD PROFILE FAMILY 20260916
   ============================================================ */

body.single-pff_business .pff-local-food-profile {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin: 32px 0 24px;
}


/* ABOUT */

body.single-pff_business .pff-food-about {
    position: relative;
    padding: 38px 44px 40px;
    background: #fff;
    border: 1px solid #deddd4;
    border-top: 5px solid #c8a45a;
    border-radius: 18px;
}

body.single-pff_business .pff-food-about-heading {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 18px;
}

body.single-pff_business .pff-food-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border-radius: 50%;
    background: #f1eddf;
    color: #806c2d;
    font-size: 24px;
}

body.single-pff_business .pff-food-about h2 {
    margin: 3px 0 0;
    color: #173f31;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.12;
}

body.single-pff_business .pff-food-about-copy {
    max-width: 950px;
    color: #46524c;
    font-size: 17px;
    line-height: 1.75;
}

body.single-pff_business .pff-food-about-copy p {
    margin: 0 0 16px;
}

body.single-pff_business .pff-food-about-copy p:last-child {
    margin-bottom: 0;
}


/* WHAT THEY OFFER */

body.single-pff_business .pff-food-offer {
    padding: 34px 40px 36px;
    background: #f5f1e6;
    border-radius: 18px;
}

body.single-pff_business .pff-food-offer h2 {
    margin: 5px 0 12px;
    color: #173f31;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 29px;
}

body.single-pff_business .pff-food-offer-copy {
    max-width: 950px;
    color: #48534c;
    font-size: 16px;
    line-height: 1.7;
}

body.single-pff_business .pff-food-offer-copy p:last-child {
    margin-bottom: 0;
}


/* INFORMATION */

body.single-pff_business .pff-food-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

body.single-pff_business .pff-food-info-card {
    display: flex;
    align-items: flex-start;
    gap: 17px;
    min-width: 0;
    padding: 27px 29px;
    background: #fff;
    border: 1px solid #deddd4;
    border-radius: 16px;
}

body.single-pff_business .pff-food-info-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 39px;
    height: 39px;
    flex: 0 0 39px;
    border-radius: 50%;
    background: #edf2e7;
    color: #46623f;
    font-size: 16px;
}

body.single-pff_business .pff-food-info-card h3 {
    margin: 6px 0 0;
    color: #263e33;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.4;
}


/* CATEGORIES */

body.single-pff_business .pff-food-categories {
    padding: 21px 2px 23px;
    border-top: 1px solid #d8d8cf;
    border-bottom: 1px solid #d8d8cf;
}

body.single-pff_business
.pff-food-categories
.pff-business-category-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 12px;
}

body.single-pff_business
.pff-food-categories
.pff-business-category-tags span {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    background: #f2f4ec;
    border: 1px solid #d1d9c8;
    border-radius: 999px;
    color: #31503e;
    font-size: 13px;
    font-weight: 700;
}


/* LARGE MAP FOR LOCAL FOOD */

body.single-pff_business
.pff-local-food-profile ~ .pff-business-connect-section {
    width: 100%;
    margin-top: 26px;
}

body.single-pff_business
.pff-local-food-profile ~ .pff-business-connect-section
.pff-business-location-card {
    width: 100%;
    max-width: none;
    padding: 30px;
    background: #fff;
    border: 1px solid #dddcd2;
    border-radius: 18px;
    box-shadow: none;
}

body.single-pff_business
.pff-local-food-profile ~ .pff-business-connect-section
.pff-business-map {
    width: 100%;
    min-height: 420px;
    margin-top: 18px;
    border-radius: 14px;
    overflow: hidden;
}


/* SOURCE QUIET */

body.single-pff_business
.pff-local-food-profile + .pff-business-source {
    margin-top: 24px;
    padding: 12px 18px;
    background: transparent;
    border-top: 1px solid #deddd3;
    border-bottom: 1px solid #deddd3;
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    font-size: 12px;
}


/* MOBILE */

@media (max-width: 760px) {

    body.single-pff_business .pff-local-food-profile {
        gap: 14px;
        margin-top: 20px;
    }

    body.single-pff_business .pff-food-about {
        padding: 25px 20px 27px;
        border-radius: 16px;
    }

    body.single-pff_business .pff-food-about-heading {
        align-items: flex-start;
        gap: 13px;
        margin-bottom: 16px;
    }

    body.single-pff_business .pff-food-mark {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
    }

    body.single-pff_business .pff-food-about h2 {
        font-size: 27px;
    }

    body.single-pff_business .pff-food-about-copy {
        font-size: 16px;
        line-height: 1.65;
    }

    body.single-pff_business .pff-food-offer {
        padding: 25px 20px;
    }

    body.single-pff_business .pff-food-offer h2 {
        font-size: 25px;
    }

    body.single-pff_business .pff-food-info-grid {
        grid-template-columns: 1fr;
        gap: 13px;
    }

    body.single-pff_business .pff-food-info-card {
        padding: 22px 19px;
    }

    body.single-pff_business .pff-food-categories {
        padding-left: 2px;
        padding-right: 2px;
    }

    body.single-pff_business
    .pff-local-food-profile ~ .pff-business-connect-section
    .pff-business-location-card {
        padding: 20px 17px;
    }

    body.single-pff_business
    .pff-local-food-profile ~ .pff-business-connect-section
    .pff-business-map {
        min-height: 330px;
    }
}



/* ============================================================
   PFF ANIMAL CARE PROFILE FAMILY 20260916
   PureBeef-inspired editorial treatment
   ============================================================ */

.pff-animal-care-profile {
    margin: 34px 0 12px;
}

.pff-animal-care-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
    min-height: 470px;
    overflow: hidden;
    border-radius: 22px;
    background: #f5f0e5;
    box-shadow: 0 18px 50px rgba(31, 55, 42, .08);
}

.pff-animal-care-image-wrap {
    min-height: 470px;
    overflow: hidden;
    background: #e7e1d4;
}

.pff-animal-care-image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 470px;
    object-fit: cover;
    object-position: center;
}

.pff-animal-care-story {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(42px, 5vw, 76px);
}

.pff-animal-care-story .pff-business-section-label,
.pff-animal-types-section .pff-business-section-label,
.pff-animal-care-contact .pff-business-section-label,
.pff-animal-care-categories .pff-business-section-label {
    margin-bottom: 15px;
    color: #a87b28;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.pff-animal-care-story h2,
.pff-animal-types-section h2,
.pff-animal-care-contact h2 {
    margin: 0;
    color: #193d31;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(32px, 4vw, 52px);
    font-weight: 400;
    line-height: 1.06;
}

.pff-animal-care-copy {
    margin-top: 25px;
    color: #4c554f;
    font-size: 17px;
    line-height: 1.8;
}

.pff-animal-care-copy p:last-child {
    margin-bottom: 0;
}


/* ANIMALS THEY CARE FOR */

.pff-animal-types-section {
    padding: clamp(52px, 7vw, 88px) 0;
}

.pff-animal-types-section > h2 {
    margin-bottom: 34px;
}

.pff-animal-type-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.pff-animal-type-card {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 72px;
    padding: 16px 19px;
    border: 1px solid #e5ded0;
    border-radius: 14px;
    background: #fff;
    color: #234538;
    font-size: 15px;
    font-weight: 700;
    box-shadow: 0 7px 24px rgba(31, 55, 42, .045);
}

.pff-animal-type-icon {
    display: grid;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 50%;
    background: #f3ead6;
    color: #9b7127;
    font-family: Georgia, serif;
    font-size: 20px;
}


/* CONTACT PANEL */

.pff-animal-care-contact {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .75fr);
    gap: 50px;
    align-items: center;
    padding: clamp(42px, 6vw, 72px);
    border-radius: 22px;
    background: #183c30;
}

.pff-animal-care-contact .pff-business-section-label {
    color: #d3aa58;
}

.pff-animal-care-contact h2 {
    color: #fff;
    font-size: clamp(30px, 3.6vw, 46px);
}

.pff-animal-care-location {
    margin: 20px 0 0;
    color: rgba(255,255,255,.76);
    font-size: 17px;
}

.pff-animal-care-actions {
    display: grid;
    gap: 12px;
}

.pff-animal-care-action {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 17px 20px;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 12px;
    color: #fff !important;
    text-decoration: none !important;
    transition:
        transform .18s ease,
        background .18s ease,
        border-color .18s ease;
}

.pff-animal-care-action:hover {
    transform: translateY(-2px);
    border-color: rgba(255,255,255,.5);
    background: rgba(255,255,255,.06);
}

.pff-animal-care-action span {
    color: rgba(255,255,255,.66);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.pff-animal-care-action strong {
    font-size: 16px;
}

.pff-animal-care-action-primary {
    border-color: #c8a45a;
    background: #c8a45a;
    color: #17382d !important;
}

.pff-animal-care-action-primary span {
    color: rgba(23,56,45,.72);
}


/* CATEGORY TAGS */

.pff-animal-care-categories {
    padding: 38px 0 22px;
}

.pff-animal-care-categories .pff-business-category-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.pff-animal-care-categories .pff-business-category-tags span {
    padding: 9px 14px;
    border: 1px solid #ded7c9;
    border-radius: 999px;
    background: #faf8f3;
    color: #395448;
    font-size: 13px;
    font-weight: 700;
}


/* LARGE SHARED LOCATION MAP FOR ANIMAL CARE */

.pff-animal-care-profile ~ .pff-business-connect-section
.pff-business-location-card {
    width: 100%;
    max-width: none;
}

.pff-animal-care-profile ~ .pff-business-connect-section
.pff-business-map {
    width: 100% !important;
    min-height: 480px !important;
    height: 480px !important;
    border-radius: 16px;
}


/* TABLET */

@media (max-width: 960px) {

    .pff-animal-care-intro {
        grid-template-columns: 1fr;
    }

    .pff-animal-care-image-wrap,
    .pff-animal-care-image {
        min-height: 380px;
        height: 380px;
    }

    .pff-animal-type-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pff-animal-care-contact {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}


/* MOBILE */

@media (max-width: 700px) {

    .pff-animal-care-profile {
        margin-top: 20px;
    }

    .pff-animal-care-intro {
        border-radius: 16px;
    }

    .pff-animal-care-image-wrap,
    .pff-animal-care-image {
        min-height: 245px;
        height: 245px;
    }

    .pff-animal-care-story {
        padding: 32px 24px 36px;
    }

    .pff-animal-care-story h2,
    .pff-animal-types-section h2,
    .pff-animal-care-contact h2 {
        font-size: 32px;
    }

    .pff-animal-care-copy {
        font-size: 16px;
        line-height: 1.7;
    }

    .pff-animal-types-section {
        padding: 44px 0;
    }

    .pff-animal-type-grid {
        grid-template-columns: 1fr 1fr;
        gap: 9px;
    }

    .pff-animal-type-card {
        min-height: 62px;
        padding: 12px;
        font-size: 13px;
    }

    .pff-animal-type-icon {
        flex-basis: 30px;
        width: 30px;
        height: 30px;
        font-size: 16px;
    }

    .pff-animal-care-contact {
        padding: 34px 24px;
        border-radius: 16px;
    }

    .pff-animal-care-profile ~ .pff-business-connect-section
    .pff-business-map {
        min-height: 360px !important;
        height: 360px !important;
    }
}

@media (max-width: 430px) {

    .pff-animal-type-grid {
        grid-template-columns: 1fr;
    }
}



/* ============================================================
   PFF ANIMAL CARE COMPACT V2 20260916
   ============================================================ */


/* TIGHTER IMAGE + ABOUT */

.pff-animal-care-intro {
    min-height: 350px;
    grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr);
}

.pff-animal-care-image-wrap,
.pff-animal-care-image {
    min-height: 350px;
    height: 350px;
}

.pff-animal-care-story {
    padding: 38px 48px;
}

.pff-animal-care-story h2 {
    font-size: clamp(30px, 3.2vw, 43px);
}

.pff-animal-care-copy {
    margin-top: 17px;
    font-size: 16px;
    line-height: 1.65;
}


/* COMPACT ANIMALS SECTION */

.pff-animal-types-section {
    padding: 34px 0 38px;
}

.pff-animal-types-section > h2 {
    margin-bottom: 20px;
    font-size: clamp(28px, 3vw, 39px);
}

.pff-animal-type-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.pff-animal-type-card {
    width: auto;
    min-height: 0;
    padding: 9px 15px 9px 10px;
    border-radius: 999px;
    box-shadow: none;
}

.pff-animal-type-icon {
    flex: 0 0 27px;
    width: 27px;
    height: 27px;
    font-size: 15px;
}


/* CONTACT BECOMES A COMPACT STRIP */

.pff-animal-care-contact {
    grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr);
    gap: 30px;
    padding: 28px 34px;
    border-radius: 16px;
}

.pff-animal-care-contact h2 {
    font-size: clamp(25px, 2.6vw, 34px);
    line-height: 1.1;
}

.pff-animal-care-location {
    margin-top: 9px;
    font-size: 14px;
}

.pff-animal-care-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 9px;
}

.pff-animal-care-action {
    flex: 1 1 180px;
    max-width: 260px;
    min-height: 62px;
    justify-content: center;
    padding: 10px 15px;
}

.pff-animal-care-action span {
    font-size: 10px;
}

.pff-animal-care-action strong {
    font-size: 14px;
}


/* CATEGORY CHIPS SHOULD NOT CREATE ANOTHER LARGE SECTION */

.pff-animal-care-categories {
    padding: 22px 0 12px;
}


/* MAP STILL DESERVES SPACE */

.pff-animal-care-profile ~ .pff-business-connect-section
.pff-business-map {
    min-height: 410px !important;
    height: 410px !important;
}


/* TABLET */

@media (max-width: 960px) {

    .pff-animal-care-intro {
        grid-template-columns: 1fr;
    }

    .pff-animal-care-image-wrap,
    .pff-animal-care-image {
        min-height: 310px;
        height: 310px;
    }

    .pff-animal-care-contact {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .pff-animal-care-actions {
        justify-content: flex-start;
    }
}


/* MOBILE */

@media (max-width: 700px) {

    .pff-animal-care-image-wrap,
    .pff-animal-care-image {
        min-height: 220px;
        height: 220px;
    }

    .pff-animal-care-story {
        padding: 27px 22px 30px;
    }

    .pff-animal-care-story h2 {
        font-size: 29px;
    }

    .pff-animal-types-section {
        padding: 27px 0 30px;
    }

    .pff-animal-types-section > h2 {
        margin-bottom: 15px;
        font-size: 29px;
    }

    .pff-animal-care-contact {
        padding: 25px 22px;
    }

    .pff-animal-care-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .pff-animal-care-action {
        width: 100%;
        max-width: none;
        min-height: 58px;
    }

    .pff-animal-care-profile ~ .pff-business-connect-section
    .pff-business-map {
        min-height: 330px !important;
        height: 330px !important;
    }
}



/* ============================================================
   PFF FARM + LOCAL FOOD VISUAL REDESIGN 20260916
   ============================================================ */

.pff-farm-profile,
.pff-local-food-profile {
    margin-top: 32px;
}


/* SHARED FAMILY HERO */

.pff-family-visual {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
    min-height: 330px;
    margin-bottom: 34px;
    overflow: hidden;
    border-radius: 20px;
    background: #f4efe3;
    box-shadow: 0 15px 42px rgba(28, 55, 42, .08);
}

.pff-family-visual-image {
    min-height: 330px;
    overflow: hidden;
}

.pff-family-visual-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 330px;
    object-fit: cover;
    object-position: center;
}

.pff-family-visual-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 38px 42px;
}

.pff-family-visual-copy .pff-business-section-label {
    margin-bottom: 13px;
    color: #a57b2d;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.pff-family-visual-copy h2 {
    margin: 0;
    color: #183f32;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(29px, 3.2vw, 43px);
    font-weight: 400;
    line-height: 1.08;
}

.pff-family-visual-copy p {
    max-width: 430px;
    margin: 18px 0 0;
    color: #566059;
    font-size: 15px;
    line-height: 1.65;
}


/* ------------------------------------------------------------
   FARM PROFILE: COMPACT EDITORIAL RHYTHM
   ------------------------------------------------------------ */

.pff-farm-profile .pff-farm-about,
.pff-farm-profile .pff-farm-offer,
.pff-farm-profile .pff-farm-details,
.pff-farm-profile .pff-farm-categories {
    margin-top: 0;
    margin-bottom: 28px;
}

.pff-farm-profile .pff-farm-about,
.pff-farm-profile .pff-farm-offer {
    padding: 30px 34px;
    border-radius: 16px;
}

.pff-farm-profile .pff-business-category-tags {
    gap: 8px;
}

.pff-farm-profile .pff-business-category-tags span {
    padding: 8px 13px;
    border-radius: 999px;
}


/* ------------------------------------------------------------
   LOCAL FOOD: SAME VISUAL LANGUAGE
   ------------------------------------------------------------ */

.pff-local-food-profile .pff-local-food-about,
.pff-local-food-profile .pff-local-food-offer,
.pff-local-food-profile .pff-local-food-info,
.pff-local-food-profile .pff-local-food-categories {
    margin-top: 0;
    margin-bottom: 28px;
}

.pff-local-food-profile .pff-local-food-about,
.pff-local-food-profile .pff-local-food-offer {
    padding: 30px 34px;
    border-radius: 16px;
}

.pff-local-food-profile .pff-business-category-tags {
    gap: 8px;
}

.pff-local-food-profile .pff-business-category-tags span {
    padding: 8px 13px;
    border-radius: 999px;
}


/* ------------------------------------------------------------
   LARGE MAPS FOR BOTH PROFILE FAMILIES
   ------------------------------------------------------------ */

.pff-farm-profile ~ .pff-business-connect-section
.pff-business-location-card,

.pff-local-food-profile ~ .pff-business-connect-section
.pff-business-location-card {
    width: 100%;
    max-width: none;
}

.pff-farm-profile ~ .pff-business-connect-section
.pff-business-map,

.pff-local-food-profile ~ .pff-business-connect-section
.pff-business-map {
    width: 100% !important;
    min-height: 410px !important;
    height: 410px !important;
    border-radius: 16px;
}


/* TABLET */

@media (max-width: 960px) {

    .pff-family-visual {
        grid-template-columns: 1fr;
    }

    .pff-family-visual-image,
    .pff-family-visual-image img {
        min-height: 300px;
        height: 300px;
    }
}


/* MOBILE */

@media (max-width: 700px) {

    .pff-farm-profile,
    .pff-local-food-profile {
        margin-top: 20px;
    }

    .pff-family-visual {
        min-height: 0;
        margin-bottom: 25px;
        border-radius: 15px;
    }

    .pff-family-visual-image,
    .pff-family-visual-image img {
        min-height: 210px;
        height: 210px;
    }

    .pff-family-visual-copy {
        padding: 26px 22px 29px;
    }

    .pff-family-visual-copy h2 {
        font-size: 29px;
    }

    .pff-family-visual-copy p {
        margin-top: 13px;
        font-size: 14px;
    }

    .pff-farm-profile .pff-farm-about,
    .pff-farm-profile .pff-farm-offer,
    .pff-local-food-profile .pff-local-food-about,
    .pff-local-food-profile .pff-local-food-offer {
        padding: 24px 22px;
    }

    .pff-farm-profile ~ .pff-business-connect-section
    .pff-business-map,

    .pff-local-food-profile ~ .pff-business-connect-section
    .pff-business-map {
        min-height: 330px !important;
        height: 330px !important;
    }
}



/* ============================================================
   PFF UNIFIED PROFILE DESIGN V3 20260916
   Animal Care + Farms & Growers + Local Food
   ============================================================ */


/* ------------------------------------------------------------
   SHARED FAMILY VISUALS
   ------------------------------------------------------------ */

.pff-family-visual,
.pff-animal-care-intro {
    position: relative;
    overflow: hidden;
    border-radius: 22px;
    box-shadow:
        0 18px 48px rgba(25, 56, 43, .09);
}


/* FARM + FOOD IMAGE BLEND */

.pff-family-visual-image {
    position: relative;
    overflow: hidden;
}

.pff-family-visual-image::after {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    right: -1px;
    bottom: 0;
    width: 90px;
    pointer-events: none;
    background:
        linear-gradient(
            to right,
            rgba(244,239,227,0),
            rgba(244,239,227,.98)
        );
}

.pff-family-visual-image img {
    border-radius:
        22px 0 0 22px;
}


/* ANIMAL CARE IMAGE BLEND */

.pff-animal-care-image-wrap {
    position: relative;
    overflow: hidden;
}

.pff-animal-care-image-wrap::after {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    right: -1px;
    bottom: 0;
    width: 90px;
    pointer-events: none;
    background:
        linear-gradient(
            to right,
            rgba(244,239,227,0),
            rgba(244,239,227,.98)
        );
}

.pff-animal-care-image {
    border-radius:
        22px 0 0 22px;
}


/* ------------------------------------------------------------
   SHARED CONTACT STRIP
   ------------------------------------------------------------ */

.pff-family-contact-strip {
    display: grid;
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(190px, 1fr)
        );
    gap: 10px;
    margin: 22px 0 28px;
}

.pff-family-contact-item {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    min-height: 70px;
    padding: 12px 16px;
    border: 1px solid #d9ded6;
    border-radius: 14px;
    background: rgba(255,255,255,.78);
    color: #173f32;
    text-decoration: none !important;
    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

a.pff-family-contact-item:hover {
    transform: translateY(-1px);
    border-color: #c4a052;
    box-shadow:
        0 8px 20px rgba(23,63,50,.07);
}

.pff-family-contact-call {
    border-color: #174b3b;
    background: #174b3b;
    color: #fff;
}

a.pff-family-contact-call:hover {
    border-color: #174b3b;
    color: #fff;
}

.pff-family-contact-icon {
    display: flex;
    flex: 0 0 37px;
    width: 37px;
    height: 37px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #edf2e8;
    color: #1e5a45;
    font-size: 17px;
    line-height: 1;
}

.pff-family-contact-call
.pff-family-contact-icon {
    background: rgba(255,255,255,.12);
    color: #fff;
}

.pff-family-contact-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

.pff-family-contact-copy small {
    color: #718077;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.pff-family-contact-call
.pff-family-contact-copy small {
    color: rgba(255,255,255,.72);
}

.pff-family-contact-copy strong {
    overflow: hidden;
    color: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    text-overflow: ellipsis;
}


/* ------------------------------------------------------------
   LOCAL FOOD - REMOVE EXCESSIVE VERTICAL SPACE
   ------------------------------------------------------------ */

.pff-local-food-profile {
    margin-bottom: 24px;
}

.pff-local-food-profile
.pff-local-food-about {
    margin: 18px 0 14px !important;
    padding: 24px 28px !important;
}

.pff-local-food-profile
.pff-local-food-about h2 {
    margin-bottom: 12px !important;
}

.pff-local-food-profile
.pff-local-food-offer {
    margin: 14px 0 !important;
    padding: 22px 28px !important;
}

.pff-local-food-profile
.pff-local-food-info {
    display: grid;
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(220px, 1fr)
        );
    gap: 10px;
    margin: 14px 0 !important;
}

.pff-local-food-profile
.pff-local-food-info > * {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 18px 20px !important;
}

.pff-local-food-profile
.pff-local-food-categories {
    margin: 14px 0 20px !important;
    padding: 18px 0 !important;
}

.pff-local-food-profile
.pff-business-category-tags {
    margin-top: 10px;
}


/* Existing standalone location is redundant now that
   location appears in compact contact strip. */

.pff-local-food-profile
.pff-local-food-info
.pff-local-food-location {
    display: none !important;
}


/* ------------------------------------------------------------
   FARM - TIGHTER
   ------------------------------------------------------------ */

.pff-farm-profile
.pff-farm-about {
    margin: 18px 0 16px !important;
    padding: 26px 30px !important;
}

.pff-farm-profile
.pff-farm-offer {
    margin: 14px 0 !important;
    padding: 24px 30px !important;
}

.pff-farm-profile
.pff-farm-details {
    margin: 14px 0 !important;
}

.pff-farm-profile
.pff-farm-categories {
    margin: 14px 0 20px !important;
    padding: 18px 0 !important;
}


/* ------------------------------------------------------------
   ANIMAL CARE
   Actual business title + compact information
   ------------------------------------------------------------ */

.pff-animal-care-story h2 {
    font-size:
        clamp(
            31px,
            3.4vw,
            45px
        );
}

.pff-animal-care-profile
.pff-family-contact-strip {
    margin-top: 20px;
}


/* Hide old oversized Visit & Contact panel.
   Same information now appears in shared contact strip. */

.pff-animal-care-profile
.pff-animal-care-contact {
    display: none !important;
}


/* Compact animal type section */

.pff-animal-care-profile
.pff-animal-types-section {
    padding: 24px 0 26px !important;
}

.pff-animal-care-profile
.pff-animal-types-section > h2 {
    margin-bottom: 15px !important;
}

.pff-animal-care-profile
.pff-animal-type-grid {
    gap: 8px !important;
}

.pff-animal-care-profile
.pff-animal-type-card {
    min-height: 0 !important;
    padding: 8px 14px 8px 9px !important;
}


/* ------------------------------------------------------------
   SHARED CATEGORY CHIPS
   ------------------------------------------------------------ */

.pff-farm-profile
.pff-business-category-tags,

.pff-local-food-profile
.pff-business-category-tags,

.pff-animal-care-profile
.pff-business-category-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pff-farm-profile
.pff-business-category-tags span,

.pff-local-food-profile
.pff-business-category-tags span,

.pff-animal-care-profile
.pff-business-category-tags span {
    min-height: 0;
    padding: 7px 13px;
    border-radius: 999px;
}


/* ------------------------------------------------------------
   SOURCE + EXPLORE SHOULD BE QUIET
   ------------------------------------------------------------ */

.pff-farm-profile ~ .pff-business-source,
.pff-local-food-profile ~ .pff-business-source,
.pff-animal-care-profile ~ .pff-business-source {
    margin-top: 18px;
}


/* ------------------------------------------------------------
   MAP
   ------------------------------------------------------------ */

.pff-farm-profile ~
.pff-business-connect-section
.pff-business-location-card,

.pff-local-food-profile ~
.pff-business-connect-section
.pff-business-location-card,

.pff-animal-care-profile ~
.pff-business-connect-section
.pff-business-location-card {
    width: 100% !important;
    max-width: none !important;
}

.pff-farm-profile ~
.pff-business-connect-section
.pff-business-map,

.pff-local-food-profile ~
.pff-business-connect-section
.pff-business-map,

.pff-animal-care-profile ~
.pff-business-connect-section
.pff-business-map {
    width: 100% !important;
    height: 420px !important;
    min-height: 420px !important;
    border-radius: 16px;
}


/* ------------------------------------------------------------
   TABLET
   ------------------------------------------------------------ */

@media (max-width: 960px) {

    .pff-family-visual-image::after,
    .pff-animal-care-image-wrap::after {
        top: auto;
        right: 0;
        bottom: -1px;
        left: 0;
        width: auto;
        height: 60px;
        background:
            linear-gradient(
                to bottom,
                rgba(244,239,227,0),
                rgba(244,239,227,.98)
            );
    }

    .pff-family-visual-image img,
    .pff-animal-care-image {
        border-radius:
            22px 22px 0 0;
    }

}


/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */

@media (max-width: 700px) {

    .pff-family-contact-strip {
        grid-template-columns: 1fr;
        gap: 8px;
        margin: 16px 0 22px;
    }

    .pff-family-contact-item {
        min-height: 60px;
        padding: 10px 13px;
    }

    .pff-family-contact-icon {
        flex-basis: 34px;
        width: 34px;
        height: 34px;
    }

    .pff-local-food-profile
    .pff-local-food-about,

    .pff-local-food-profile
    .pff-local-food-offer,

    .pff-farm-profile
    .pff-farm-about,

    .pff-farm-profile
    .pff-farm-offer {
        padding: 21px 20px !important;
    }

    .pff-farm-profile ~
    .pff-business-connect-section
    .pff-business-map,

    .pff-local-food-profile ~
    .pff-business-connect-section
    .pff-business-map,

    .pff-animal-care-profile ~
    .pff-business-connect-section
    .pff-business-map {
        height: 330px !important;
        min-height: 330px !important;
    }

}



/* ==========================================================
   PFF COMPACT DIRECTORY PROFILE
   Sparse/local listings should contract to their content.
   2026-09-16
   ========================================================== */

/* Reduce excessive vertical spacing between profile sections */
.single-pff_business .entry-content > section,
.single-pff-business .entry-content > section,
.pff-business-profile > section,
.pff-listing-profile > section {
    margin-top: 16px;
    margin-bottom: 16px;
}


/* ABOUT CARD */
.pff-business-profile .about-section,
.pff-listing-profile .about-section,
.pff-profile-about,
.pff-about-card {
    padding: 24px 38px !important;
    min-height: 0 !important;
}

.pff-business-profile .about-section h1,
.pff-listing-profile .about-section h1,
.pff-profile-about h1,
.pff-about-card h1 {
    margin-top: 6px !important;
    margin-bottom: 12px !important;
    line-height: 1.12;
}

.pff-business-profile .about-section p,
.pff-listing-profile .about-section p,
.pff-profile-about p,
.pff-about-card p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* WHAT THEY OFFER / WHAT YOU'LL FIND */
.pff-business-profile .offer-section,
.pff-listing-profile .offer-section,
.pff-profile-offer,
.pff-offer-card {
    padding: 24px 38px !important;
    min-height: 0 !important;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
}

.pff-business-profile .offer-section h2,
.pff-listing-profile .offer-section h2,
.pff-profile-offer h2,
.pff-offer-card h2 {
    margin-top: 5px !important;
    margin-bottom: 12px !important;
    line-height: 1.15;
}

.pff-business-profile .offer-section p,
.pff-listing-profile .offer-section p,
.pff-profile-offer p,
.pff-offer-card p {
    margin: 0 !important;
}


/* LOCATION
   Turn large address cards into compact strips */
.pff-business-profile .location-section,
.pff-listing-profile .location-section,
.pff-profile-location,
.pff-location-card {
    min-height: 0 !important;
    padding: 18px 28px !important;
    margin-top: 16px !important;
    margin-bottom: 12px !important;
}

.pff-business-profile .location-section h2,
.pff-business-profile .location-section h3,
.pff-listing-profile .location-section h2,
.pff-listing-profile .location-section h3,
.pff-profile-location h2,
.pff-profile-location h3,
.pff-location-card h2,
.pff-location-card h3 {
    margin-top: 2px !important;
    margin-bottom: 0 !important;
    line-height: 1.35;
}


/* CATEGORY AREA */
.pff-business-profile .categories-section,
.pff-listing-profile .categories-section,
.pff-profile-categories,
.pff-category-section {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    margin-top: 8px !important;
    margin-bottom: 8px !important;
}


/* Remove giant empty minimum heights from cards */
.pff-business-profile [class*="card"],
.pff-listing-profile [class*="card"] {
    min-height: 0;
}


/* Keep paragraphs naturally compact */
.pff-business-profile p,
.pff-listing-profile p {
    line-height: 1.65;
}


/* MOBILE */
@media (max-width: 767px) {

    .pff-business-profile .about-section,
    .pff-listing-profile .about-section,
    .pff-profile-about,
    .pff-about-card,
    .pff-business-profile .offer-section,
    .pff-listing-profile .offer-section,
    .pff-profile-offer,
    .pff-offer-card {
        padding: 20px 18px !important;
    }

    .pff-business-profile .location-section,
    .pff-listing-profile .location-section,
    .pff-profile-location,
    .pff-location-card {
        padding: 16px 18px !important;
    }

    .pff-business-profile .about-section h1,
    .pff-listing-profile .about-section h1,
    .pff-profile-about h1,
    .pff-about-card h1 {
        font-size: clamp(28px, 8vw, 38px);
    }

}



/* ==========================================================
   PFF LOCAL FOOD PROFILE - COMPACT V2
   2026-09-16
   ========================================================== */

body.single-pff_business .pff-local-food-profile {
    gap: 16px !important;
}


/* ABOUT
   Much less vertical padding */
body.single-pff_business
.pff-local-food-profile
.pff-food-about {
    padding: 24px 38px !important;
    margin: 0 0 16px !important;
    min-height: 0 !important;
}

body.single-pff_business
.pff-local-food-profile
.pff-food-about-heading {
    margin-bottom: 10px !important;
}

body.single-pff_business
.pff-local-food-profile
.pff-food-about h1,
body.single-pff_business
.pff-local-food-profile
.pff-food-about h2 {
    margin-top: 4px !important;
    margin-bottom: 8px !important;
    line-height: 1.12 !important;
}

body.single-pff_business
.pff-local-food-profile
.pff-food-about-copy {
    margin-top: 8px !important;
}

body.single-pff_business
.pff-local-food-profile
.pff-food-about-copy p {
    margin-top: 0 !important;
    margin-bottom: 6px !important;
}


/* WHAT THEY OFFER */
body.single-pff_business
.pff-local-food-profile
.pff-food-offer {
    padding: 22px 38px !important;
    margin: 0 0 16px !important;
    min-height: 0 !important;
}

body.single-pff_business
.pff-local-food-profile
.pff-food-offer h2 {
    margin-top: 5px !important;
    margin-bottom: 10px !important;
    line-height: 1.15 !important;
}

body.single-pff_business
.pff-local-food-profile
.pff-food-offer-copy {
    margin-top: 8px !important;
}

body.single-pff_business
.pff-local-food-profile
.pff-food-offer-copy p {
    margin: 0 !important;
}


/* INFO / LOCATION CARDS */
body.single-pff_business
.pff-local-food-profile
.pff-food-info {
    gap: 12px !important;
    margin: 0 0 12px !important;
}

body.single-pff_business
.pff-local-food-profile
.pff-food-info-card {
    padding: 16px 28px !important;
    min-height: 0 !important;
}

body.single-pff_business
.pff-local-food-profile
.pff-food-info-card h3 {
    margin-top: 4px !important;
    margin-bottom: 0 !important;
    line-height: 1.3 !important;
}

body.single-pff_business
.pff-local-food-profile
.pff-food-info-card p {
    margin-top: 4px !important;
    margin-bottom: 0 !important;
}


/* CATEGORIES */
body.single-pff_business
.pff-local-food-profile
.pff-food-categories {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    margin-top: 0 !important;
    margin-bottom: 8px !important;
}

body.single-pff_business
.pff-local-food-profile
.pff-business-category-tags {
    margin-top: 8px !important;
    gap: 7px !important;
}


/* The shared connect/location section below the profile */
body.single-pff_business
.pff-local-food-profile ~ .pff-business-connect-section {
    margin-top: 16px !important;
    padding-top: 0 !important;
}

body.single-pff_business
.pff-local-food-profile ~ .pff-business-connect-section
.pff-business-location-card {
    padding: 18px 24px !important;
    min-height: 0 !important;
}


/* MOBILE */
@media (max-width: 767px) {

    body.single-pff_business
    .pff-local-food-profile
    .pff-food-about,
    body.single-pff_business
    .pff-local-food-profile
    .pff-food-offer {
        padding: 20px 18px !important;
        margin-bottom: 12px !important;
    }

    body.single-pff_business
    .pff-local-food-profile
    .pff-food-info-card {
        padding: 15px 18px !important;
    }

    body.single-pff_business
    .pff-local-food-profile {
        gap: 12px !important;
    }

}




/* ==========================================================
   PFF LOCAL FOOD - CONSOLIDATED COMPACT DETAILS
   2026-09-16
   ========================================================== */

/* Compact detail row */
body.single-pff_business
.pff-local-food-profile
.pff-food-info-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 10px 0 8px !important;
}

/* Cards should fit their content rather than occupy large columns */
body.single-pff_business
.pff-local-food-profile
.pff-food-info-card {
    width: auto !important;
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 13px 18px !important;
    gap: 12px !important;
    flex: 0 1 auto !important;
}

/* Venue can be wider when the address is long */
body.single-pff_business
.pff-local-food-profile
.pff-food-venue-card {
    max-width: 620px !important;
}

/* Smaller icon */
body.single-pff_business
.pff-local-food-profile
.pff-food-info-icon {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
}

/* Tight detail typography */
body.single-pff_business
.pff-local-food-profile
.pff-food-info-card
.pff-business-section-label {
    margin-bottom: 3px !important;
}

body.single-pff_business
.pff-local-food-profile
.pff-food-info-card h3 {
    margin: 0 !important;
    line-height: 1.3 !important;
}

/* Categories immediately follow details */
body.single-pff_business
.pff-local-food-profile
.pff-food-categories {
    margin: 6px 0 0 !important;
    padding: 10px 0 !important;
}

/* Tighten overall content rhythm another step */
body.single-pff_business
.pff-local-food-profile
.pff-food-about {
    margin-bottom: 12px !important;
}

body.single-pff_business
.pff-local-food-profile
.pff-food-offer {
    margin-bottom: 10px !important;
}


/* MOBILE */
@media (max-width: 767px) {

    body.single-pff_business
    .pff-local-food-profile
    .pff-food-info-grid {
        display: block !important;
        margin-top: 8px !important;
    }

    body.single-pff_business
    .pff-local-food-profile
    .pff-food-info-card {
        width: 100% !important;
        max-width: none !important;
        margin-bottom: 8px !important;
        padding: 12px 14px !important;
    }

}



/* ==========================================================
   PUREFARMFRESH LOCAL FOOD COMPLETE PROFILE 20260916
   ========================================================== */

.pff-local-food-profile .pff-food-special,
.pff-local-food-profile .pff-food-attributes,
.pff-local-food-profile .pff-food-buying {
    margin-top: 18px;
    padding: 20px 22px;
    border: 1px solid rgba(15, 92, 99, .12);
    border-radius: 16px;
    background: #fff;
}

.pff-local-food-profile .pff-food-special-copy {
    margin-top: 8px;
}

.pff-local-food-profile .pff-food-special-copy p:last-child {
    margin-bottom: 0;
}

.pff-local-food-profile .pff-food-address-row {
    grid-column: 1 / -1;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 11px 15px;
    border: 1px solid rgba(15, 92, 99, .12);
    border-radius: 12px;
    background: rgba(247, 248, 246, .72);
    font-size: 14px;
    line-height: 1.5;
}

.pff-local-food-profile .pff-food-address-row strong {
    flex: 0 0 auto;
}

.pff-local-food-profile .pff-food-badge-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.pff-local-food-profile .pff-food-badge-list span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(15, 92, 99, .07);
    font-size: 13px;
    line-height: 1.3;
    font-weight: 600;
}

.pff-local-food-profile .pff-food-categories {
    margin-top: 18px;
}

@media (max-width: 640px) {

    .pff-local-food-profile .pff-food-special,
    .pff-local-food-profile .pff-food-attributes,
    .pff-local-food-profile .pff-food-buying {
        padding: 16px;
    }

    .pff-local-food-profile .pff-food-address-row {
        display: block;
    }

    .pff-local-food-profile .pff-food-address-row strong {
        display: block;
        margin-bottom: 3px;
    }
}



/* ==========================================================
   PUREFARMFRESH LOCAL FOOD FINAL 20260916
   ========================================================== */

.pff-local-food-profile .pff-food-about,
.pff-local-food-profile .pff-food-offer,
.pff-local-food-profile .pff-food-special,
.pff-local-food-profile .pff-food-attributes,
.pff-local-food-profile .pff-food-buying {
    margin-bottom: 18px;
}

.pff-local-food-profile .pff-food-special,
.pff-local-food-profile .pff-food-attributes,
.pff-local-food-profile .pff-food-buying {
    padding: 18px 20px;
    border: 1px solid rgba(15,92,99,.14);
    border-radius: 16px;
    background: #fff;
}

.pff-local-food-profile .pff-food-special-copy {
    margin-top: 8px;
}

.pff-local-food-profile .pff-food-special-copy p:last-child {
    margin-bottom: 0;
}

/* Exact address appears once, below the main content. */
.pff-local-food-profile .pff-food-address-row {
    grid-column: 1 / -1;
    display: flex;
    align-items: flex-start;
    gap: 11px;
    width: 100%;
    padding: 12px 15px;
    border: 1px solid rgba(15,92,99,.14);
    border-radius: 13px;
    background: #fff;
}

.pff-local-food-profile .pff-food-address-icon {
    flex: 0 0 auto;
    margin-top: 3px;
}

.pff-local-food-profile .pff-food-address-row strong {
    display: block;
    margin-top: 3px;
    font-size: 15px;
    line-height: 1.4;
}

/* Local attributes and buying choices */
.pff-local-food-profile .pff-food-badge-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 9px;
}

.pff-local-food-profile .pff-food-badge-list span {
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;
    min-height: 34px;
    border: 1px solid rgba(15,92,99,.13);
    border-radius: 999px;
    background: rgba(15,92,99,.055);
    font-size: 13px;
    line-height: 1.3;
    font-weight: 600;
}

.pff-local-food-profile .pff-food-info-grid {
    gap: 12px;
    margin-top: 0;
}

.pff-local-food-profile .pff-food-categories {
    margin-top: 16px;
}

/* Prevent excessive gaps between Local Food sections. */
.pff-local-food-profile > section + section,
.pff-local-food-profile > section + div,
.pff-local-food-profile > div + section {
    margin-top: 18px;
}

@media (max-width: 640px) {

    .pff-local-food-profile .pff-food-special,
    .pff-local-food-profile .pff-food-attributes,
    .pff-local-food-profile .pff-food-buying {
        padding: 15px;
    }

    .pff-local-food-profile .pff-food-address-row {
        padding: 11px 13px;
    }

    .pff-local-food-profile .pff-food-badge-list {
        gap: 6px;
    }
}



/* ==========================================================
   PFF LOCAL FOOD DIRECT FINAL 20260916
   ========================================================== */

.pff-local-food-profile .pff-food-address-row {
    grid-column: 1 / -1;
    display: flex;
    align-items: flex-start;
    gap: 11px;
    width: 100%;
    padding: 12px 15px;
    border: 1px solid rgba(15,92,99,.14);
    border-radius: 13px;
    background: #fff;
}

.pff-local-food-profile .pff-food-address-icon {
    margin-top: 3px;
}

.pff-local-food-profile .pff-food-address-row strong {
    display: block;
    margin-top: 3px;
    font-size: 15px;
    line-height: 1.4;
}

.pff-local-food-profile .pff-food-special,
.pff-local-food-profile .pff-food-attributes,
.pff-local-food-profile .pff-food-buying {
    margin-top: 16px;
    padding: 18px 20px;
    border: 1px solid rgba(15,92,99,.13);
    border-radius: 16px;
    background: #fff;
}

.pff-local-food-profile .pff-food-special-copy {
    margin-top: 8px;
}

.pff-local-food-profile .pff-food-special-copy p:last-child {
    margin-bottom: 0;
}

.pff-local-food-profile .pff-food-badge-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 9px;
}

.pff-local-food-profile .pff-food-badge-list span {
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;
    border: 1px solid rgba(15,92,99,.13);
    border-radius: 999px;
    background: rgba(15,92,99,.055);
    font-size: 13px;
    font-weight: 600;
}

.pff-local-food-profile .pff-food-info-grid {
    gap: 12px;
}

.pff-local-food-profile .pff-food-categories {
    margin-top: 16px;
}



/* ==========================================================
   PFF FARM PROFILE MISSING INFORMATION 20260916
   ========================================================== */

.pff-farm-profile .pff-farm-special,
.pff-farm-profile .pff-farm-attributes,
.pff-farm-profile .pff-farm-buying {
    margin-top: 16px;
    padding: 18px 20px;
    border: 1px solid rgba(15,92,99,.13);
    border-radius: 16px;
    background: #fff;
}

.pff-farm-profile .pff-farm-special-copy {
    margin-top: 8px;
}

.pff-farm-profile .pff-farm-badge-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 9px;
}

.pff-farm-profile .pff-farm-badge-list span {
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;
    border: 1px solid rgba(15,92,99,.13);
    border-radius: 999px;
    background: rgba(15,92,99,.055);
    font-size: 13px;
    line-height: 1.3;
    font-weight: 600;
}

.pff-farm-profile .pff-farm-missing-message {
    margin: 8px 0 4px;
    font-size: 14px;
    line-height: 1.55;
    color: #666;
}

.pff-farm-profile .pff-profile-claim-link {
    display: inline-block;
    margin-top: 4px;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
    text-decoration: none;
}

.pff-farm-profile .pff-profile-claim-link:hover {
    text-decoration: underline;
}

.pff-farm-profile .pff-farm-detail-grid {
    margin-top: 16px;
}

.pff-farm-profile .pff-farm-categories,
.pff-farm-profile .pff-farm-address-strip {
    margin-top: 16px;
}

@media (max-width: 640px) {

    .pff-farm-profile .pff-farm-special,
    .pff-farm-profile .pff-farm-attributes,
    .pff-farm-profile .pff-farm-buying {
        padding: 15px;
    }
}



/* ==========================================================
   PFF FARMS & GROWERS COMPLETE PROFILE 20260916
   ========================================================== */

.pff-farm-profile .pff-farm-info-card {
    margin-top: 18px;
    padding: 20px 22px;
    border: 1px solid rgba(15,92,99,.14);
    border-radius: 16px;
    background: #fff;
}

.pff-farm-profile .pff-farm-info-copy {
    margin-top: 8px;
}

.pff-farm-profile .pff-farm-info-copy p:last-child {
    margin-bottom: 0;
}

.pff-farm-profile .pff-profile-missing {
    margin: 8px 0 3px;
    color: #6a6a62;
    font-size: 14px;
    line-height: 1.55;
}

.pff-farm-profile .pff-profile-claim-link {
    display: inline-block;
    margin-top: 5px;
    color: #0f5c63;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
    text-decoration: none;
}

.pff-farm-profile .pff-profile-claim-link:hover {
    text-decoration: underline;
}

.pff-farm-profile .pff-farm-badge-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.pff-farm-profile .pff-farm-badge-list span {
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;
    border: 1px solid rgba(15,92,99,.16);
    border-radius: 999px;
    background: rgba(15,92,99,.055);
    font-size: 13px;
    line-height: 1.35;
    font-weight: 600;
}

.pff-farm-profile .pff-farm-detail-grid {
    margin-top: 18px;
}

.pff-farm-profile .pff-farm-categories,
.pff-farm-profile .pff-farm-address-strip {
    margin-top: 18px;
}

.pff-farm-profile .pff-family-contact-strip {
    margin-top: 18px;
    margin-bottom: 18px;
}

@media (max-width: 640px) {

    .pff-farm-profile .pff-farm-info-card {
        padding: 16px;
    }

    .pff-farm-profile .pff-farm-badge-list {
        gap: 6px;
    }
}



/* ==========================================================
   PFF FARM COMPACT + CLAIM POLISH 20260916
   ========================================================== */

/* Overall rhythm */

.pff-farm-profile {
    --pff-farm-gap: 12px;
}

.pff-farm-profile .pff-family-contact-strip {
    margin-top: 12px !important;
    margin-bottom: 12px !important;
}

.pff-farm-profile .pff-farm-section {
    margin-top: 12px !important;
    margin-bottom: 0 !important;
}

.pff-farm-profile .pff-farm-info-card {
    margin-top: 12px !important;
    padding: 15px 18px !important;
}

.pff-farm-profile .pff-farm-detail-grid {
    margin-top: 12px !important;
    gap: 12px !important;
}

.pff-farm-profile .pff-farm-detail-card {
    padding: 15px 18px !important;
    min-height: 0 !important;
}

.pff-farm-profile .pff-farm-categories {
    margin-top: 12px !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}

.pff-farm-profile .pff-farm-address-strip {
    margin-top: 12px !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}


/* About + products cards */

.pff-farm-profile .pff-farm-about,
.pff-farm-profile .pff-farm-offer {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
}

.pff-farm-profile .pff-farm-about h2,
.pff-farm-profile .pff-farm-offer h2 {
    margin-top: 5px !important;
    margin-bottom: 10px !important;
}

.pff-farm-profile .pff-farm-copy p {
    margin-top: 0;
    margin-bottom: 9px;
}

.pff-farm-profile .pff-farm-copy p:last-child {
    margin-bottom: 0;
}


/* Missing information is informational, not a warning */

.pff-farm-profile .pff-profile-missing {
    position: relative;
    margin: 7px 0 0 !important;
    padding-left: 19px;
    color: #6c7069 !important;
    font-size: 13.5px !important;
    line-height: 1.45 !important;
}

.pff-farm-profile .pff-profile-missing::before {
    content: "○";
    position: absolute;
    left: 0;
    top: -1px;
    color: #c8a45a;
    font-size: 14px;
    font-weight: 700;
}


/* Compact information cards */

.pff-farm-profile .pff-farm-info-card {
    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.98),
            rgba(247,248,246,.96)
        ) !important;
}

.pff-farm-profile .pff-farm-detail-card {
    background:
        linear-gradient(
            135deg,
            #fff,
            rgba(247,248,246,.9)
        );
}

.pff-farm-profile .pff-farm-info-card .pff-business-section-label,
.pff-farm-profile .pff-farm-detail-card .pff-business-section-label {
    margin-bottom: 4px !important;
}


/* Actual positive attributes */

.pff-farm-profile .pff-farm-badge-list {
    margin-top: 7px !important;
}

.pff-farm-profile .pff-farm-badge-list span {
    padding: 6px 11px !important;
}


/* ==========================================================
   SINGLE CLAIM CARD
   ========================================================== */

.pff-farm-profile .pff-farm-claim-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;

    margin-top: 14px;
    padding: 20px 22px;

    border: 1px solid rgba(15,92,99,.15);
    border-radius: 18px;

    background:
        linear-gradient(
            135deg,
            rgba(15,92,99,.075),
            rgba(200,164,90,.09)
        );
}

.pff-farm-profile .pff-farm-claim-copy {
    min-width: 0;
}

.pff-farm-profile .pff-farm-claim-copy h3 {
    margin: 3px 0 4px;
    color: #0a474d;
    font-family: Georgia, serif;
    font-size: 23px;
    line-height: 1.15;
}

.pff-farm-profile .pff-farm-claim-copy p {
    margin: 0;
    color: #555;
    font-size: 14px;
    line-height: 1.45;
}

.pff-farm-profile .pff-farm-claim-action {
    flex: 0 0 auto;
}

.pff-farm-profile .pff-farm-claim-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    min-height: 44px;
    padding: 11px 18px;

    border-radius: 999px;
    background: #0f5c63;

    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;

    text-decoration: none !important;

    box-shadow:
        0 8px 20px rgba(15,92,99,.15);

    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

.pff-farm-profile .pff-farm-claim-button:hover {
    transform: translateY(-1px);
    box-shadow:
        0 10px 24px rgba(15,92,99,.22);
}

.pff-farm-profile .pff-farm-claim-button span {
    font-size: 17px;
}


/* Mobile */

@media (max-width: 700px) {

    .pff-farm-profile .pff-farm-section,
    .pff-farm-profile .pff-farm-info-card,
    .pff-farm-profile .pff-farm-detail-grid,
    .pff-farm-profile .pff-farm-categories,
    .pff-farm-profile .pff-farm-address-strip {
        margin-top: 10px !important;
    }

    .pff-farm-profile .pff-farm-info-card,
    .pff-farm-profile .pff-farm-detail-card {
        padding: 14px 15px !important;
    }

    .pff-farm-profile .pff-farm-claim-card {
        display: block;
        margin-top: 10px;
        padding: 17px;
    }

    .pff-farm-profile .pff-farm-claim-copy h3 {
        font-size: 20px;
    }

    .pff-farm-profile .pff-farm-claim-action {
        margin-top: 13px;
    }

    .pff-farm-profile .pff-farm-claim-button {
        width: 100%;
    }
}



/* ==========================================================
   PFF FARM VISUAL POLISH 20260916
   Stronger hierarchy, cleaner icons, standard site typography
   ========================================================== */


/* ----------------------------------------------------------
   SECTION LABELS
   ---------------------------------------------------------- */

.pff-farm-profile .pff-business-section-label {
    font-family: inherit !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: .13em !important;
    color: #556f3f !important;
}


/* stronger green bullet */

.pff-farm-profile .pff-business-section-label::before {
    font-weight: 900 !important;
}


/* ----------------------------------------------------------
   LARGE CARD HEADINGS
   Use existing site's serif heading family
   ---------------------------------------------------------- */

.pff-farm-profile .pff-farm-section h2 {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(27px, 3vw, 36px) !important;
    line-height: 1.08 !important;
    font-weight: 700 !important;
    letter-spacing: -.02em !important;
    color: #073f43 !important;
}


/* ----------------------------------------------------------
   REMOVE OLD FLOATING ICONS
   They are overlapping headings in the compact layout.
   ---------------------------------------------------------- */

.pff-farm-profile .pff-farm-section-icon {
    display: none !important;
}

.pff-farm-profile .pff-farm-detail-icon {
    display: none !important;
}


/* Remove space previously reserved for icons */

.pff-farm-profile .pff-farm-section {
    display: block !important;
}

.pff-farm-profile .pff-farm-section-content {
    width: 100% !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

.pff-farm-profile .pff-farm-detail-card {
    display: block !important;
}


/* ----------------------------------------------------------
   ABOUT
   ---------------------------------------------------------- */

.pff-farm-profile .pff-farm-about {
    padding: 24px 28px !important;
}

.pff-farm-profile .pff-farm-about h2 {
    margin: 7px 0 13px !important;
}

.pff-farm-profile .pff-farm-about .pff-farm-copy {
    font-size: 16px;
    line-height: 1.7;
}


/* ----------------------------------------------------------
   PRODUCTS
   ---------------------------------------------------------- */

.pff-farm-profile .pff-farm-offer {
    padding: 20px 28px !important;
    border-radius: 18px !important;
}

.pff-farm-profile .pff-farm-offer h2 {
    margin: 6px 0 8px !important;
}

.pff-farm-profile .pff-farm-offer .pff-farm-copy {
    margin: 0 !important;
}


/* ----------------------------------------------------------
   COMPACT INFORMATION CARDS
   ---------------------------------------------------------- */

.pff-farm-profile .pff-farm-info-card,
.pff-farm-profile .pff-farm-detail-card {
    position: relative;
    overflow: hidden;

    padding: 17px 20px !important;

    border: 1px solid rgba(15,92,99,.14) !important;
    border-radius: 16px !important;

    background: #fff !important;

    box-shadow:
        0 5px 18px rgba(20,50,45,.035);
}


/* subtle gold accent */

.pff-farm-profile .pff-farm-info-card::after,
.pff-farm-profile .pff-farm-detail-card::after {
    content: "";
    position: absolute;
    top: 0;
    left: 20px;

    width: 42px;
    height: 3px;

    border-radius: 0 0 4px 4px;

    background: #c8a45a;
    opacity: .7;
}


/* ----------------------------------------------------------
   MISSING DATA
   Less like an error, more like an available profile field.
   ---------------------------------------------------------- */

.pff-farm-profile .pff-profile-missing {
    margin: 8px 0 0 !important;
    padding-left: 0 !important;

    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;

    color: #686b65 !important;
}

.pff-farm-profile .pff-profile-missing::before {
    display: none !important;
}


/* ----------------------------------------------------------
   TWO-COLUMN MARKET / COMMUNITY CARDS
   ---------------------------------------------------------- */

.pff-farm-profile .pff-farm-detail-grid {
    gap: 12px !important;
}

.pff-farm-profile .pff-farm-detail-card h3 {
    margin: 7px 0 0 !important;

    font-family: inherit !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;

    color: #164d50 !important;
}


/* ----------------------------------------------------------
   ATTRIBUTE BADGES
   ---------------------------------------------------------- */

.pff-farm-profile .pff-farm-badge-list {
    gap: 7px !important;
}

.pff-farm-profile .pff-farm-badge-list span {
    padding: 7px 12px !important;

    border: 1px solid rgba(85,111,63,.18) !important;
    border-radius: 999px !important;

    background: #f1f5ed !important;

    font-family: inherit !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;

    color: #254d35 !important;
}


/* ----------------------------------------------------------
   CLAIM CARD
   Make this the visual CTA, not the empty states
   ---------------------------------------------------------- */

.pff-farm-profile .pff-farm-claim-card {
    margin-top: 14px !important;
    padding: 19px 22px !important;

    border: 1px solid rgba(15,92,99,.16) !important;
    border-radius: 18px !important;

    background:
        linear-gradient(
            115deg,
            #eef4ea 0%,
            #f7f3e8 100%
        ) !important;

    box-shadow:
        0 8px 24px rgba(20,50,45,.045);
}

.pff-farm-profile .pff-farm-claim-copy h3 {
    margin: 5px 0 5px !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 25px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    letter-spacing: -.015em !important;

    color: #073f43 !important;
}

.pff-farm-profile .pff-farm-claim-copy p {
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #555d55 !important;
}


/* stronger CTA */

.pff-farm-profile .pff-farm-claim-button {
    min-height: 46px !important;
    padding: 12px 20px !important;

    background: #0f5c63 !important;
    border: 2px solid #0f5c63 !important;

    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 800 !important;

    box-shadow:
        0 7px 18px rgba(15,92,99,.16) !important;
}

.pff-farm-profile .pff-farm-claim-button:hover {
    background: #0a474d !important;
    border-color: #0a474d !important;
}


/* ----------------------------------------------------------
   CATEGORIES
   ---------------------------------------------------------- */

.pff-farm-profile .pff-farm-categories {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}

.pff-farm-profile .pff-business-category-tags {
    margin-top: 9px !important;
    gap: 7px !important;
}

.pff-farm-profile .pff-business-category-tags span {
    font-family: inherit !important;
    font-weight: 700 !important;
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 700px) {

    .pff-farm-profile .pff-farm-about,
    .pff-farm-profile .pff-farm-offer {
        padding: 18px !important;
    }

    .pff-farm-profile .pff-farm-section h2 {
        font-size: 27px !important;
    }

    .pff-farm-profile .pff-farm-info-card,
    .pff-farm-profile .pff-farm-detail-card {
        padding: 15px 16px !important;
    }

    .pff-farm-profile .pff-farm-detail-grid {
        grid-template-columns: 1fr !important;
    }

    .pff-farm-profile .pff-farm-claim-card {
        padding: 18px !important;
    }

    .pff-farm-profile .pff-farm-claim-copy h3 {
        font-size: 23px !important;
    }
}



/* ==========================================================
   PFF LOCAL BUSINESS PROFILE 20260916
   ========================================================== */

.pff-local-business-profile {
    --lb-teal: #0f5c63;
    --lb-dark: #073f43;
    --lb-green: #556f3f;
    --lb-gold: #c8a45a;
}


/* HERO IMAGE */

.pff-local-business-profile
.pff-local-business-family-visual
.pff-family-visual-image {
    overflow: hidden;
    border-radius: 18px;
}

.pff-local-business-profile
.pff-local-business-family-visual
.pff-family-visual-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* STANDARD SITE LABELS */

.pff-local-business-profile
.pff-business-section-label {
    font-family: inherit !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: .13em !important;
    color: var(--lb-green) !important;
}


/* CONTACT */

.pff-local-business-profile
.pff-family-contact-strip {
    margin-top: 12px !important;
    margin-bottom: 12px !important;
}


/* LARGE FEATURE CARDS */

.pff-local-business-profile
.pff-lb-feature-card {
    margin-top: 12px;
    padding: 22px 28px;

    border: 1px solid rgba(15,92,99,.10);
    border-radius: 18px;

    background: #f8f5ea;
}

.pff-local-business-profile
.pff-lb-products {
    background: #edf3e8;
}

.pff-local-business-profile
.pff-lb-feature-card h2 {
    margin: 6px 0 10px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(27px, 3vw, 36px);
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -.02em;

    color: var(--lb-dark);
}


/* COPY */

.pff-local-business-profile
.pff-lb-copy {
    font-family: inherit;
    font-size: 15px;
    line-height: 1.65;
}

.pff-local-business-profile
.pff-lb-copy p:last-child {
    margin-bottom: 0;
}


/* COMPACT INFO CARDS */

.pff-local-business-profile
.pff-lb-info-card {
    position: relative;
    overflow: hidden;

    margin-top: 12px;
    padding: 17px 20px;

    border: 1px solid rgba(15,92,99,.14);
    border-radius: 16px;

    background: #fff;

    box-shadow:
        0 5px 18px rgba(20,50,45,.035);
}

.pff-local-business-profile
.pff-lb-info-card::after {
    content: "";
    position: absolute;

    top: 0;
    left: 20px;

    width: 42px;
    height: 3px;

    border-radius: 0 0 4px 4px;

    background: var(--lb-gold);
    opacity: .7;
}


/* TWO COLUMN */

.pff-local-business-profile
.pff-lb-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 12px;

    margin-top: 12px;
}

.pff-local-business-profile
.pff-lb-detail-grid
.pff-lb-info-card {
    margin-top: 0;
}


/* EMPTY INFORMATION */

.pff-local-business-profile
.pff-profile-missing {
    margin: 8px 0 0 !important;
    padding: 0 !important;

    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;

    color: #686b65 !important;
}

.pff-local-business-profile
.pff-profile-missing::before {
    display: none !important;
}


/* BADGES */

.pff-local-business-profile
.pff-lb-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;

    margin-top: 8px;
}

.pff-local-business-profile
.pff-lb-badges span {
    display: inline-flex;
    align-items: center;

    padding: 7px 12px;

    border: 1px solid rgba(85,111,63,.18);
    border-radius: 999px;

    background: #f1f5ed;

    font-family: inherit;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 700;

    color: #254d35;
}


/* CLAIM */

.pff-local-business-profile
.pff-lb-claim-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;

    margin-top: 14px;
    padding: 19px 22px;

    border: 1px solid rgba(15,92,99,.16);
    border-radius: 18px;

    background:
        linear-gradient(
            115deg,
            #eef4ea 0%,
            #f7f3e8 100%
        );

    box-shadow:
        0 8px 24px rgba(20,50,45,.045);
}

.pff-local-business-profile
.pff-lb-claim-card h3 {
    margin: 5px 0;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    line-height: 1.1;
    font-weight: 700;

    color: var(--lb-dark);
}

.pff-local-business-profile
.pff-lb-claim-card p {
    margin: 0;
    font-size: 14px;
    line-height: 1.45;
    color: #555d55;
}

.pff-local-business-profile
.pff-lb-claim-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    flex: 0 0 auto;

    min-height: 46px;
    padding: 12px 20px;

    border: 2px solid var(--lb-teal);
    border-radius: 999px;

    background: var(--lb-teal);

    color: #fff !important;

    font-family: inherit;
    font-size: 14px;
    line-height: 1;
    font-weight: 800;

    text-decoration: none !important;

    box-shadow:
        0 7px 18px rgba(15,92,99,.16);
}

.pff-local-business-profile
.pff-lb-claim-button:hover {
    background: #0a474d;
    border-color: #0a474d;
}


/* CATEGORIES */

.pff-local-business-profile
.pff-lb-categories {
    margin-top: 12px;
    padding: 16px 0;

    border-top: 1px solid rgba(20,50,45,.12);
    border-bottom: 1px solid rgba(20,50,45,.12);
}

.pff-local-business-profile
.pff-business-category-tags {
    margin-top: 9px;
    gap: 7px;
}

.pff-local-business-profile
.pff-business-category-tags span {
    font-weight: 700;
}


/* ADDRESS */

.pff-local-business-profile
.pff-lb-address {
    margin-top: 12px;
    padding: 17px 20px;

    border-radius: 16px;

    background: #114f43;
    color: #fff;
}

.pff-local-business-profile
.pff-lb-address
.pff-business-section-label {
    color: #d6bd77 !important;
}

.pff-local-business-profile
.pff-lb-address strong {
    display: block;
    margin-top: 6px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 700;

    color: #fff;
}


/* MOBILE */

@media (max-width: 700px) {

    .pff-local-business-profile
    .pff-lb-feature-card {
        padding: 18px;
    }

    .pff-local-business-profile
    .pff-lb-feature-card h2 {
        font-size: 27px;
    }

    .pff-local-business-profile
    .pff-lb-detail-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .pff-local-business-profile
    .pff-lb-info-card {
        padding: 15px 16px;
    }

    .pff-local-business-profile
    .pff-lb-claim-card {
        display: block;
        padding: 18px;
    }

    .pff-local-business-profile
    .pff-lb-claim-card h3 {
        font-size: 23px;
    }

    .pff-local-business-profile
    .pff-lb-claim-button {
        width: 100%;
        margin-top: 14px;
    }
}


/* =========================================================
   PFF HEALTH & LIVING HERO 20260916
   ========================================================= */

.pff-health-profile .pff-health-living-hero {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto 28px;
    padding: 0 20px;
}

.pff-health-profile .pff-health-living-hero img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 390px;
    object-fit: cover;
    border-radius: 22px;
    box-shadow: 0 12px 34px rgba(31, 52, 42, 0.12);
}

@media (max-width: 700px) {
    .pff-health-profile .pff-health-living-hero {
        margin-bottom: 20px;
        padding: 0 14px;
    }

    .pff-health-profile .pff-health-living-hero img {
        border-radius: 16px;
        max-height: 260px;
    }
}

/* ============================================================
   PFF ANIMAL CARE FINAL DETAILS 20260916
   ============================================================ */

.pff-animal-details {
    margin: 28px 0;
}

.pff-animal-detail-card {
    position: relative;
    background: #fff;
    border: 1px solid rgba(15, 92, 99, .13);
    border-radius: 18px;
    padding: 24px 26px;
    margin-bottom: 16px;
    box-shadow: 0 8px 28px rgba(20, 50, 45, .06);
    overflow: hidden;
}

.pff-animal-detail-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: #c8a45a;
}

.pff-animal-detail-card h2 {
    margin: 5px 0 10px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(22px, 2.2vw, 29px);
    line-height: 1.18;
    font-weight: 700;
}

.pff-animal-detail-copy,
.pff-animal-detail-copy p,
.pff-animal-missing {
    font-family: inherit;
    line-height: 1.65;
}

.pff-animal-detail-copy p:last-child {
    margin-bottom: 0;
}

.pff-animal-missing {
    margin: 7px 0 0;
    color: #66736f;
}

.pff-animal-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.pff-animal-detail-grid .pff-animal-detail-card {
    margin-bottom: 0;
}

.pff-animal-claim-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin: 28px 0;
    padding: 26px 28px;
    border-radius: 20px;
    background:
        linear-gradient(
            135deg,
            rgba(15, 92, 99, .10),
            rgba(200, 164, 90, .13)
        );
    border: 1px solid rgba(15, 92, 99, .16);
}

.pff-animal-claim-card h2 {
    margin: 4px 0 6px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(23px, 2.3vw, 30px);
    font-weight: 700;
}

.pff-animal-claim-card p {
    margin: 0;
    max-width: 650px;
    line-height: 1.6;
}

.pff-animal-claim-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 48px;
    padding: 12px 20px;
    border-radius: 999px;
    background: #0f5c63;
    color: #fff !important;
    font-weight: 800;
    text-decoration: none !important;
    white-space: nowrap;
}

.pff-animal-claim-button:hover {
    transform: translateY(-1px);
    text-decoration: none;
}

@media (max-width: 760px) {

    .pff-animal-details {
        margin: 20px 0;
    }

    .pff-animal-detail-card {
        padding: 20px;
    }

    .pff-animal-detail-grid {
        grid-template-columns: 1fr;
    }

    .pff-animal-claim-card {
        display: block;
        padding: 22px;
    }

    .pff-animal-claim-button {
        margin-top: 18px;
        width: 100%;
    }
}


/* ============================================================
   PFF HOMEPAGE HERO VIDEO 20260916
   ============================================================ */

.pff-fast-hero.pff-fast-hero-video {
    position: relative;
    overflow: hidden;
    background-image: var(--pff-hero-poster);
    background-position: center;
    background-size: cover;
}

.pff-fast-hero-video-bg {
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    pointer-events: none;
}

.pff-fast-hero-video-overlay {
    position: absolute;
    z-index: 1;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        rgba(18,55,38,.92) 0%,
        rgba(18,55,38,.77) 42%,
        rgba(18,55,38,.18) 100%
    );
}

.pff-fast-hero-video > .directory-container {
    position: relative;
    z-index: 2;
}

/* Visitors requesting reduced motion see the original image. */

@media (prefers-reduced-motion: reduce) {
    .pff-fast-hero-video-bg {
        display: none;
    }
}

/* Keep mobile fast and use the original hero image. */

@media (max-width: 700px) {
    .pff-fast-hero-video-bg {
        display: none;
    }
}


/* ==========================================================
   PFF DESKTOP DROPDOWN LONG LABEL FIX 20260916
   Preserve original icons and menu design
   ========================================================== */

@media (min-width:1121px) {

    .main-navigation .pff-mega-menu {
        width: 440px;
        max-width: calc(100vw - 32px);
    }

    .main-navigation .pff-menu-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        column-gap: 24px;
    }

    .main-navigation .pff-menu-grid > a {
        min-width: 0;
        align-items: flex-start;
        line-height: 1.35;
        white-space: normal;
        overflow-wrap: normal;
        word-break: normal;
    }

    .main-navigation .pff-menu-grid > a > span {
        flex: 0 0 22px;
        width: 22px;
        text-align: center;
        line-height: 1.35;
    }
}


/* ==========================================================
   PFF UNIFIED LEAF MENU ICONS 20260916
   One consistent PureFarmFresh icon across all dropdowns
   ========================================================== */

/* Existing category menu icons */
.main-navigation .pff-menu-grid > a > span {
    font-size: 0 !important;
    flex: 0 0 22px;
    width: 22px;
    text-align: center;
}

.main-navigation .pff-menu-grid > a > span::before {
    content: "🌿";
    display: inline-block;
    font-size: 16px;
    line-height: 1;
}

/* Learn menu has no existing icon span, so add one */
.main-navigation .pff-learn-menu .pff-menu-list > a {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: center;
    column-gap: 7px;
}

.main-navigation .pff-learn-menu .pff-menu-list > a::before {
    content: "🌿";
    display: block;
    width: 22px;
    font-size: 16px;
    line-height: 1;
    text-align: center;
}

/* Preserve compact mobile layout */
@media (max-width:1120px) {

    .main-navigation .pff-learn-menu .pff-menu-list > a {
        grid-template-columns: 22px minmax(0, 1fr);
    }

}


/* ============================================================
   PFF MOBILE DIRECTORY SIMPLE VIEW 20260917
   Mobile only:
   - remove long directory sidebar/filter column
   - results and map use full available width
   - desktop remains unchanged
   ============================================================ */

@media (max-width: 700px) {

    /* Remove the desktop directory search/category sidebar */
    .farm-directory .directory-search-column {
        display: none !important;
    }

    /* Remove global-search sidebar when global results are shown */
    .farm-directory .pff-global-search-sidebar {
        display: none !important;
    }

    /* Results become the only column */
    .farm-directory .pff-directory-results-column,
    .farm-directory .pff-global-search-results {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        flex: 0 0 100% !important;
        grid-column: 1 / -1 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Collapse the parent two-column tools layout */
    .farm-directory .directory-tools {
        display: block !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 0 !important;
    }

    /* Map uses full mobile width inside its container */
    .farm-directory #directory-map,
    .farm-directory .directory-map-column {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Remove sidebar-related mobile submit controls */
    .farm-directory .filter-submit-mobile {
        display: none !important;
    }

    /* Ensure listing area doesn't retain desktop column sizing */
    .farm-directory .directory-intro,
    .farm-directory .farm-directory-grid {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
}


/* ============================================================
   PFF MOBILE CATEGORY HERO - TEXT ONLY 20260917
   Keep category imagery on desktop.
   Mobile category heroes use title + intro only.
   Listing/card images are NOT affected.
   ============================================================ */

@media (max-width: 700px) {

    /* Hide destination/category hero artwork only */
    .farm-directory .directory-hero-animal,
    .farm-directory .pff-destination-image {
        display: none !important;
    }

    /* Hero becomes a single compact text column */
    .farm-directory .directory-hero-layout {
        display: block !important;
        grid-template-columns: 1fr !important;
    }

    .farm-directory .directory-hero-content {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    /* Reduce vertical space in category hero */
    .farm-directory .directory-hero,
    .farm-directory .pff-destination-hero {
        min-height: 0 !important;
    }

}


/* ============================================================
   PFF MOBILE DIRECTORY SIDEBAR FINAL HIDE 20260917
   Hide directory filtering/sidebar on phones regardless of
   directory wrapper class. Desktop remains unchanged.
   ============================================================ */

@media screen and (max-width: 700px) {

    /* Category directory filter/sidebar */
    .directory-search-column {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        max-width: 0 !important;
        min-width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    /* Global keyword search sidebar */
    .pff-global-search-sidebar {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        max-width: 0 !important;
        min-width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    /* Remove any remaining two-column sizing */
    .directory-tools,
    .farm-directory-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .pff-directory-results-column,
    .pff-global-search-results,
    .directory-map-column {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        grid-column: 1 / -1 !important;
    }
}


/* ============================================================
   PFF DIRECTORY MOBILE/TABLET FINAL 20260917
   Directory sidebar is desktop-only.
   Hide it through 900px including tablet/responsive browser view.
   ============================================================ */

@media screen and (max-width: 900px) {

    .directory-search-column,
    .pff-global-search-sidebar {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        max-width: 0 !important;
        min-width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .directory-tools,
    .farm-directory-grid {
        display: block !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .pff-directory-results-column,
    .pff-global-search-results,
    .directory-map-column {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        grid-column: 1 / -1 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .filter-submit-mobile {
        display: none !important;
    }
}

/* Category artwork remains phone-only hidden */
@media screen and (max-width: 700px) {

    .directory-hero-animal,
    .pff-destination-image {
        display: none !important;
    }
}

