@font-face {
    font-family: "Gelo";
    src: url("../fonts/Gelo-Light.eot");
    src: url("../fonts/Gelo-Light.eot?#iefix") format("embedded-opentype"),
        url("../fonts/Gelo-Light.woff2") format("woff2"),
        url("../fonts/Gelo-Light.woff") format("woff"),
        url("../fonts/Gelo-Light.ttf") format("truetype"),
        url("../fonts/Gelo-Light.svg#GeloLight") format("svg");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Gelo";
    src: url("../fonts/Gelo-Regular.eot");
    src: url("../fonts/Gelo-Regular.eot?#iefix") format("embedded-opentype"),
        url("../fonts/Gelo-Regular.woff2") format("woff2"),
        url("../fonts/Gelo-Regular.woff") format("woff"),
        url("../fonts/Gelo-Regular.ttf") format("truetype"),
        url("../fonts/Gelo-Regular.svg#GeloRegular") format("svg");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Gelo";
    src: url("../fonts/Gelo-ExtraBold.eot");
    src: url("../fonts/Gelo-ExtraBold.eot?#iefix") format("embedded-opentype"),
        url("../fonts/Gelo-ExtraBold.woff2") format("woff2"),
        url("../fonts/Gelo-ExtraBold.woff") format("woff"),
        url("../fonts/Gelo-ExtraBold.ttf") format("truetype"),
        url("../fonts/Gelo-ExtraBold.svg#GeloExtraBold") format("svg");
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

html {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html,
body {
    overflow-x: clip;
}

*,
:after,
:before {
    -webkit-box-sizing: inherit;
    -moz-box-sizing: inherit;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

a,
aside,
body,
del,
div,
dl,
footer,
header,
li,
main,
ol,
p,
section,
span,
ul {
    padding: 0;
    margin: 0;
    text-shadow: none;
    outline: 0;
    box-shadow: none;
    text-decoration: none;
    list-style: none;
}

b,
strong {
    font-weight: 700;
}

body {
    padding: 0;
    margin: 0;
    font-family: "Archivo", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.5;
    color: #2B1F14;
    background-color: #FFFFFF;
    overflow-x: clip;
}

/* Potato cursor everywhere (the potato from the logo). Without JS this plain potato shows;
   on desktop custome.js swaps in .potato-cursor, which grows over clickable things and squishes on click */
*,
*::before,
*::after {
    cursor: url("../images/cursor-potato.svg") 12 16, url("../images/cursor-potato.png") 12 16, auto !important;
}

html.has-potato-cursor *,
html.has-potato-cursor *::before,
html.has-potato-cursor *::after {
    cursor: none !important;
}

.potato-cursor {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2147483647;
    width: 26px;
    height: 35px;
    margin: -17px 0 0 -13px;
    background: url("../images/cursor-potato.svg") center / contain no-repeat;
    filter: drop-shadow(0 3px 4px rgba(43, 31, 20, 0.35));
    pointer-events: none;
    opacity: 0;
    will-change: translate;
    transition: opacity 0.2s ease, scale 0.25s cubic-bezier(.34, 1.56, .64, 1), rotate 0.25s cubic-bezier(.34, 1.56, .64, 1);
}

.potato-cursor.is-visible {
    opacity: 1;
}

.potato-cursor.is-hover {
    scale: 1.4;
    rotate: -18deg;
}

.potato-cursor.is-down {
    scale: 0.8;
}

.potato-cursor.is-hover.is-down {
    scale: 1.15;
}

p {
    margin-bottom: 0;
}

a {
    color: #2B1F14;
    -webkit-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
}

a:hover,
a:focus,
a:active {
    color: #406F35;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 800;
    font-family: "Gelo", serif;
    margin-bottom: 0;
}

img {
    max-width: 100%;
    height: auto;
}

/* Image fill: the photo covers its fixed-height wrapper (one shared rule) */

.hm-banner-layer img,
.journey-img img,
.chain-card .img-wrap img,
.news-card .img-wrap img,
.stage-photo img,
.inner-banner-img img,
.ab-intro-img img,
.ab-mfg-img img,
.product-card .img-wrap img,
.su-farm-img img,
.bn-featured-img img,
.bn-card .img-wrap img,
.pp-group-img img,
.ff-chapter-img img,
.pd-gallery-img img,
.pd-app .img-wrap img,
.cr-culture-box .img-wrap img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ptb-120 {
    padding: 120px 0;
}

.ptb-95 {
    padding: 95px 0;
}

.pb-95 {
    padding-bottom: 95px;
}

.mtb-120 {
    margin: 120px 0;
}

.mtb-95 {
    margin: 95px 0;
}

.mt-50 {
    margin-top: 50px;
}

/* --- Header --- */

header {
    padding: 28px 0;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99;
    background: transparent;
    -webkit-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
}

header.sticky {
    padding: 16px 0;
    background: #2B1F14;
}

header .navbar,
header .navbar-brand {
    padding: 0;
    margin: 0;
}

header .navbar-brand {
    display: block;
    width: 163px;
}

header .navbar-brand img {
    display: block;
    width: 163px;
    height: 40px;
    transition: all 0.4s ease-in-out;
}

header .menu-item {
    display: flex;
}

header .menu-item+.menu-item {
    margin-left: 36px;
}

header .menu-item a {
    display: inline-block;
    font-weight: 500;
    font-size: 15px;
    line-height: normal;
    color: #FFFFFF;
    padding: 14px 0;
    position: relative;
}

header .menu-item a::after {
    content: "";
    position: absolute;
    bottom: 8px;
    left: 0;
    right: 0;
    height: 2px;
    border-radius: 2px;
    background-color: #EDA939;
    transition: all 0.4s ease-in-out;
    transform: scaleX(0);
    transform-origin: right;
}

header .menu-item a:hover,
header .menu-item a:focus,
header .menu-item.current-menu-item a {
    color: #FFFFFF;
}

header .menu-item a:hover::after,
header .menu-item a:focus::after,
header .menu-item.current-menu-item a::after {
    transform: scaleX(1);
    transform-origin: left;
}

.ar-btn-wrap {
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 22px;
}

.menu-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0;
    border: none;
    background: transparent;
    font-weight: 500;
    font-size: 15px;
    line-height: 1.5;
    color: #FFFFFF;
}

.menu-bars {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.menu-bars .icon-bar {
    display: block;
    width: 24px;
    height: 2px;
    background-color: #FFFFFF;
    transition: all 0.4s ease-in-out;
}

.menu-btn[aria-expanded="true"] .icon-bar:first-child {
    transform: translateY(4px) rotate(45deg);
}

.menu-btn[aria-expanded="true"] .icon-bar:last-child {
    transform: translateY(-4px) rotate(-45deg);
}

/* --- Button --- */

.default-btn,
.dark-btn,
.outline-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 28px;
    border: none;
    border-radius: 999px;
    font-weight: 600;
    font-size: 15px;
    line-height: normal;
    white-space: nowrap;
    cursor: pointer;
    transition: all 0.4s ease-in-out;
}

.default-btn {
    background: #EDA939;
    color: #2B1F14;
}

.default-btn:hover,
.default-btn:focus,
.default-btn:active {
    background: #FFF3D6;
    color: #2B1F14;
}

.dark-btn {
    background: #2B1F14;
    color: #FFFFFF;
}

.dark-btn:hover,
.dark-btn:focus,
.dark-btn:active {
    background: #406F35;
    color: #FFFFFF;
}

.outline-btn {
    padding: 14.5px 26.5px;
    background: transparent;
    border: 1.5px solid #2B1F14;
    color: #2B1F14;
}

.outline-btn:hover,
.outline-btn:focus,
.outline-btn:active {
    background: #2B1F14;
    color: #FFFFFF;
}

.arrow-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    font-size: 16px;
    line-height: normal;
    color: #2B1F14;
    text-decoration: underline;
    text-decoration-skip-ink: none;
    text-underline-position: from-font;
    white-space: nowrap;
}

.arrow-btn::after {
    content: "";
    display: block;
    width: 14px;
    height: 3px;
    border-radius: 2px;
    background-color: #EDA939;
    opacity: 0;
    transform: translateX(-6px);
    transition: all 0.4s ease-in-out;
}

.arrow-btn:hover,
.arrow-btn:focus,
.arrow-btn:active {
    color: #C98A26;
}

.arrow-btn:hover::after,
.arrow-btn:focus::after {
    opacity: 1;
    transform: translateX(0);
}

/* --- Title --- */

.title.text-center .title-design {
    margin: 0 auto;
    width: fit-content;
}

.title-design h5 {
    font-family: "Archivo", sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.5;
    color: #406F35;
    margin-bottom: 16px;
}

.title-sm .title-design h5 {
    line-height: 1.1;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.title h2 {
    font-weight: 800;
    font-size: 52px;
    line-height: 1.06;
    letter-spacing: -0.26px;
    color: #2B1F14;
    margin-bottom: 0;
}

.title p {
    font-size: 20px;
    line-height: 1.5;
    color: #2B1F14;
    margin-bottom: 0px;
}

.title:has(p+a) p {
    margin-bottom: 20px;
}

.dark-title .title-design h5 {
    color: #2B1F14;
}

.white-title h2 {
    color: #FFFFFF;
}

.white-title:has(h2+p) h2 {
    margin-bottom: 25px;
}

.white-title p {
    color: #D9C6AE;
}

/* --- Banner Section --- */

.fm-hm-banner {
    min-height: 850px;
    overflow: hidden;

}

.fm-hm-banner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 180px;
    background: linear-gradient(180deg, rgba(31, 20, 10, 0.62) 0%, rgba(31, 20, 10, 0) 100%);
    z-index: 2;
}

.hm-banner-swiper {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.hm-banner-swiper .swiper-slide {
    height: 100%;
    overflow: hidden;
}

.hm-banner-layer {
    position: absolute;
    inset: 0;
}

.hm-banner-layer img {
    transform: scale(1);
}

.hm-banner-swiper .swiper-slide-active .hm-banner-layer img {
    transform: scale(1.06);
    transition: transform 3.5s linear;
}

.hm-banner-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(20, 15, 10, 0.55) 0%, rgba(20, 15, 10, 0) 28%, rgba(20, 15, 10, 0.05) 50%, rgba(20, 15, 10, 0.7) 100%);
}

.hm-banner-mist {
    position: absolute;
    left: 41.667%;
    top: 13.333%;
    width: 62.5%;
    height: 57.778%;
    pointer-events: none;
}

.hm-banner-mist img {
    display: block;
    width: 100%;
    height: 100%;
}

.hero-words-wrap {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    pointer-events: none;
}

.hero-words {
    position: relative;
    font-family: "Gelo", serif;
    font-weight: 800;
    font-size: 260px;
    line-height: 1;
    letter-spacing: -0.03em;
    color: #FFFFFF;
    height: 0.463em;
}

.hero-words span {
    position: absolute;
    top: 0;
    left: 0;
    white-space: nowrap;
    opacity: 0;
    transform: translateY(40px);
}

.hero-words span.active {
    opacity: 1;
    transform: translateY(0);
    transition: transform 0.6s ease-in-out;
}

/* --- Our Journey --- */

.fm-hm-journey {
    position: relative;
    overflow: hidden;
    padding-top: 230px;
}

.fm-hm-journey .hero-words-wrap {
    top: 0;
    bottom: auto;
}

.fm-hm-journey .hero-words {
    height: 0;
    color: #EDA939;
}

.fm-hm-journey .hero-words span {
    top: -0.463em;
}

.journey-img {
    border-radius: 8px;
    overflow: hidden;
}

.journey-img img,
.chain-card .img-wrap img,
.news-card .img-wrap img {
    transition: all 0.6s ease-in-out;
}

.stat-box {
    border-top: 1.5px solid #2B1F14;
    padding-top: 24px;
}

.stat-box h3 {
    font-size: 52px;
    line-height: 1.06;
    letter-spacing: -0.26px;
    color: #2B1F14;
    margin-bottom: 6px;
    white-space: nowrap;
}

.stat-box p {
    font-size: 16px;
    line-height: 1.5;
    color: #5A4A3A;
}

/* --- Farmer Owned --- */

.farmer-emblem img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.farmer-copy .title p,
.farmer-points {
    margin-top: 32px;
}

.farmer-points li {
    padding: 16px 0;
    border-top: 1px solid rgba(43, 31, 20, 0.3);
    font-weight: 600;
    font-size: 18px;
    line-height: 1.3;
    color: #2B1F14;
}

.farmer-points li:last-child {
    border-bottom: 1px solid rgba(43, 31, 20, 0.3);
}

/* --- Why Farmton --- */

.why-box {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}

.why-icon {
    width: 96px;
    height: 96px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    overflow: hidden;
}

.why-icon-emblem {
    border-radius: 0;
}

.why-icon-emblem img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.why-icon-gold {
    background-color: #EDA939;
}

.why-icon-gold img {
    display: block;
    width: 43.2px;
    height: 43.2px;
}

.why-icon-white {
    background-color: #FFFFFF;
}

.sticker-potato {
    width: 65px;
    height: 50px;
    animation: stickerFloat 4s ease-in-out infinite;
}

.sticker-potato img {
    display: block;
    width: 100%;
    height: 100%;
}

@keyframes stickerFloat {

    0%,
    100% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(-4px) rotate(-6deg);
    }
}

.why-box h3 {
    font-size: 32px;
    line-height: 1.06;
    letter-spacing: -0.16px;
    color: #2B1F14;
}

.why-box p {
    font-size: 17px;
    line-height: 1.6;
    color: #5A4A3A;
}

/* --- Product Range --- */

.product-pin {
    position: relative;
}

.product-stage {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow: hidden;
    background-color: #2B1F14;
    outline: none;
}

.product-swiper {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.product-swiper .swiper-slide {
    height: 100%;
}

.stage-photo {
    position: absolute;
    inset: 0;
}

.stage-scrim {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(43, 31, 20, 0.82) 0%, rgba(43, 31, 20, 0.1) 70%, rgba(43, 31, 20, 0) 100%);
}

.stage-beats {
    position: absolute;
    top: calc(50% - 107px);
    left: 0;
    right: 0;
}

.beats-list {
    position: relative;
    display: flex;
    flex-direction: column;
    row-gap: 36px;
    transition: transform 0.7s cubic-bezier(0.65, 0, 0.35, 1);
}

.beat {
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
}

.beat.active,
.beat.is-near {
    opacity: 1;
}

.beat h3 {
    font-size: 104px;
    line-height: 1.04;
    letter-spacing: -1.56px;
    color: rgba(255, 255, 255, 0.35);
    white-space: nowrap;
    cursor: pointer;
    transition: color 0.4s ease-in-out;
}

.beat h3:hover,
.beat.active h3 {
    color: #FFFFFF;
}

.beat.active h3 {
    cursor: default;
}

.beat-desc {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    transition: grid-template-rows 0.45s ease, opacity 0.35s ease;
}

.beat.active .beat-desc {
    grid-template-rows: 1fr;
    opacity: 1;
}

.beat-desc-inner {
    min-height: 0;
    overflow: hidden;
}

.beat-desc-inner p {
    padding-top: 14px;
    font-size: 20px;
    line-height: 1.5;
    color: #F1E3D3;
}

.beat-link {
    display: inline-block;
    margin: 14px 0 4px;
    border-bottom: 2px solid #EDA939;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.1;
    color: #FFFFFF;
}

.beat-link:hover,
.beat-link:focus {
    color: #EDA939;
}

.stage-progress {
    position: absolute;
    top: calc(50% - 99px);
    right: 42px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.stage-dot {
    position: relative;
    display: block;
    width: 28px;
    height: 28px;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
}

.stage-dot span {
    position: absolute;
    inset: 0;
    transition: opacity 0.4s ease-in-out;
}

.stage-dot img {
    display: block;
    width: 28px;
    height: 28px;
}

.stage-dot .dot-on,
.stage-dot.active .dot-off {
    opacity: 0;
}

.stage-dot.active .dot-on {
    opacity: 1;
}

/* --- Farm to Feast --- */

.chain-card .img-wrap {
    border-radius: 8px;
    overflow: hidden;
}

.chain-card:hover .img-wrap img,
.news-card:hover .img-wrap img {
    transform: scale(1.05);
}

.chain-card h3 {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin: 14px 0;
    font-size: 28px;
    line-height: 1.06;
    letter-spacing: -0.14px;
    color: #2B1F14;
}

.chain-card h3 span {
    font-family: "Archivo", sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: 0;
    color: #C98A26;
}

.chain-card p {
    font-size: 16px;
    line-height: 1.55;
    color: #5A4A3A;
}

/* --- Our Values --- */

.value-box {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding-top: 22px;
    border-top: 1px solid rgba(43, 31, 20, 0.25);
}

.value-icon img {
    display: block;
    width: 31.2px;
    height: 31.2px;
}

.value-box h3 {
    font-size: 24px;
    line-height: 1.06;
    letter-spacing: -0.12px;
    color: #2B1F14;
}

.value-box p {
    font-size: 15px;
    line-height: 1.55;
    color: #5A4A3A;
}

/* --- Global Presence --- */

.global-left {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.fm-hm-global .title p {
    margin-top: 16px;
    font-size: 18px;
    line-height: 1.55;
    color: #5A4A3A;
    margin-bottom: 0;
}

.global-stat {
    display: grid;
    grid-template-columns: 88px 1fr;
    align-items: center;
    gap: 20px;
    padding-top: 16px;
    border-top: 1px solid rgba(43, 31, 20, 0.3);
}

.global-stat h3 {
    font-size: 40px;
    line-height: 40px;
    color: #2B1F14;
}

.global-stat p {
    font-size: 16px;
    line-height: 1.5;
    color: #2B1F14;
    margin-top: -8px;
}

.country-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 6px;
    width: calc(100% + 12px);
    margin-left: -12px;
}

.country-list li {
    justify-self: start;
    padding: 3px 12px;
    border-radius: 99px;
    font-size: 16px;
    line-height: 28px;
    color: #2B1F14;
    cursor: default;
    transition: all 0.3s ease-in-out;
}

.country-list li:hover,
.country-list li.active {
    background-color: #2B1F14;
    color: #FFF3D6;
}

.world-map {
    position: relative;
}

/* Keeps the map at 708 × 440 at every width (countries and pins are placed in %) */
.world-map::before {
    content: "";
    display: block;
    padding-top: 62.147%;
}

.map-inner {
    position: absolute;
    left: 0;
    top: 10.682%;
    width: 100%;
    height: 78.864%;
    overflow: hidden;
}

.map-land,
.map-country {
    position: absolute;
}

.map-land img,
.map-country img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
}

.map-country .map-on {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.map-country.active .map-on {
    opacity: 1;
}

.map-land {
    inset: 0.12% -0.06% 0 0;
}

.map-indonesia {
    inset: 61.59% 13.63% 29.51% 73.64%;
}

.map-usa {
    inset: 34.02% 71.55% 50% 12.37%;
}

.map-usa-alaska {
    inset: 15% 89.12% 69.76% 0.24%;
}

.map-india {
    inset: 43.66% 25.82% 39.88% 66.05%;
}

.map-saudi-arabia {
    inset: 45.73% 37.42% 44.63% 56.72%;
}

.map-uae {
    inset: 49.51% 37.18% 48.29% 61.45%;
}

.map-oman {
    inset: 49.39% 36.28% 44.88% 61.57%;
}

.map-malaysia {
    inset: 60.73% 19.73% 35.73% 74.96%;
}

.map-thailand {
    inset: 52.93% 23.49% 38.54% 74.24%;
}

.map-vietnam {
    inset: 51.22% 22.47% 40.24% 75.55%;
}

.map-cambodia {
    inset: 56.34% 22.95% 41.34% 75.61%;
}

.map-philippines {
    inset: 54.02% 17.69% 38.54% 79.74%;
}

.map-australia {
    inset: 70.73% 10.16% 8.78% 78.66%;
}

.map-oman img {
    inset: auto;
    top: 14.89%;
    left: 0;
    height: 85.11%;
}

.map-pin {
    position: absolute;
    width: 13px;
    height: 18px;
    transform: translate(-50%, -100%);
    transition: width 0.3s ease-in-out, height 0.3s ease-in-out;
}

.map-pin img {
    display: block;
    width: 100%;
    height: 100%;
    transition: opacity 0.3s ease-in-out;
}

.map-pin[data-country] {
    cursor: pointer;
}

.map-pin .pin-on {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.map-pin .pin-tag {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 3px);
    transform: translateX(-50%);
    padding: 4px 11px;
    border-radius: 5px;
    background-color: #2B1F14;
    font-weight: 600;
    font-size: 15px;
    line-height: 16px;
    color: #FFFFFF;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease-in-out;
}

.map-pin.active {
    width: 18px;
    height: 25px;
    z-index: 2;
}

.map-pin.active>img {
    opacity: 0;
}

.map-pin.active .pin-on,
.map-pin.active .pin-tag {
    opacity: 1;
}

.map-origin {
    width: 17px;
    height: 24px;
    left: 68.811%;
    top: 51.873%;
}

.pin-uae {
    left: 62.253%;
    top: 50.7%;
}

.pin-saudi-arabia {
    left: 59.641%;
    top: 50.902%;
}

.pin-oman {
    left: 62.97%;
    top: 52.114%;
}

.pin-bahrain {
    left: 61.184%;
    top: 49.893%;
}

.pin-malaysia {
    left: 75.397%;
    top: 60.798%;
}

.pin-singapore {
    left: 75.989%;
    top: 61.607%;
}

.pin-indonesia {
    left: 76.814%;
    top: 65.107%;
}

.pin-thailand {
    left: 75.062%;
    top: 54.759%;
}

.pin-vietnam {
    left: 77.011%;
    top: 54.759%;
}

.pin-cambodia {
    left: 76.175%;
    top: 56.414%;
}

.pin-philippines {
    left: 80.766%;
    top: 56.173%;
}

.pin-australia {
    left: 84.376%;
    top: 74.061%;
}

.pin-fiji {
    left: 96.605%;
    top: 70.511%;
}

.pin-seychelles {
    left: 62.558%;
    top: 64.366%;
}

.pin-usa {
    left: 19.893%;
    top: 42.93%;
}

/* --- Certifications & Brands --- */

.seal-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}

.seal-ring {
    position: relative;
    width: 200px;
    height: 200px;
    transition: transform 0.4s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #EDA939;
    border-radius: 100%;
}

.seal-ring::before {
    content: "";
    position: absolute;
    inset: 8px;
    border: 1px dashed #EDA939;
    border-radius: 100%;
}

.seal-ring img {
    max-width: 95px;
    max-height: 95px;
}

.seal-box h3 {
    font-size: 20px;
    line-height: 1.1;
    color: #2B1F14;
    white-space: nowrap;
}

.cert-brands {
    margin-top: 88px;
}

.brand-marquee {
    height: 190px;
    display: flex;
    align-items: center;
    overflow: hidden;
    border-top: 1px solid #EADFCB;
    border-bottom: 1px solid #EADFCB;
}

.brand-track {
    display: flex;
    align-items: center;
    width: max-content;
    margin-left: -90px;
    animation: brandMarquee var(--marquee-duration, 40s) linear infinite;
}

.brand-marquee:hover .brand-track {
    animation-play-state: paused;
}

.brand-logo {
    flex: 0 0 230px;
    width: 230px;
    height: 78px;
    margin-right: 88px;
}

.brand-logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.brand-dot {
    flex: 0 0 14px;
    width: 14px;
    height: 10px;
    margin-right: 88px;
}

.brand-dot img {
    display: block;
    width: 14px;
    height: 10px;
}

/* distance = one logo set, set by JS after it repeats the logos */
@keyframes brandMarquee {
    to {
        transform: translateX(var(--marquee-distance, -50%));
    }
}

/* --- Testimonials --- */

.fm-hm-testi .title-design h5 {
    margin-bottom: 0;
}

.testi-swiper {
    margin-top: 36px;
}

.testi-swiper .swiper-slide {
    background-color: #FFF3D6;
}

.testi-box {
    text-align: center;
}

.testi-box h3 {
    margin-bottom: 36px;
    font-size: 44px;
    line-height: 1.06;
    letter-spacing: -0.22px;
    color: #2B1F14;
}

.testi-box h4 {
    font-family: "Archivo", sans-serif;
    font-weight: 600;
    font-size: 17px;
    line-height: 1.5;
    color: #2B1F14;
    margin-bottom: 4px;
}

.testi-box p {
    font-size: 15px;
    line-height: 1.5;
    color: #5A4A3A;
}

.testi-nav {
    margin-top: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

.testi-pagination {
    width: auto;
    font-weight: 500;
    font-size: 15px;
    line-height: 1.5;
    color: #5A4A3A;
}

/* --- News & Events --- */

.news-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.news-card .img-wrap {
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
}

.news-date {
    font-size: 14px;
    line-height: 1.5;
    color: #5A4A3A;
}

.news-card h3 {
    font-size: 26px;
    line-height: 1.06;
    letter-spacing: -0.13px;
}

/* --- Footer --- */

footer {
    padding: 112px 0 40px;
}

.f-desc {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
}

.f-desc h2 {
    font-size: 56px;
    line-height: 1.06;
    letter-spacing: -0.28px;
    color: #2B1F14;
}

.f-desc p {
    font-size: 18px;
    line-height: 1.55;
    color: #2B1F14;
}

.f-logo {
    padding: 14px 22px;
    background-color: #FFFFFF;
    border-radius: 12px;
}

.f-logo a,
.f-logo img {
    display: block;
    width: 163px;
    height: 40px;
}

.f-links-wrap {
    padding-top: 16px;
    width: 100%;
}

.f-title h6 {
    font-family: "Archivo", sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.5;
    color: #2B1F14;
    margin-bottom: 12px;
}

.f-links .menu-item {
    display: flex;
}

.f-links .menu-item+.menu-item {
    margin-top: 12px;
}

.f-links .menu-item a,
.f-links .menu-item span {
    display: inline-block;
    position: relative;
    font-size: 15px;
    line-height: 1.5;
    color: #2B1F14;
}

.f-links .menu-item a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background-color: #2B1F14;
    transition: all 0.4s ease-in-out;
    transform: scaleX(0);
    transform-origin: right;
}

.f-links .menu-item a:hover::after,
.f-links .menu-item a:focus::after {
    transform: scaleX(1);
    transform-origin: left;
}

.form-container {
    padding: 40px;
    background-color: #FFFFFF;
    border-radius: 16px;
}

.form-container h3 {
    font-size: 30px;
    line-height: 1.06;
    letter-spacing: -0.15px;
    color: #2B1F14;
    margin-bottom: 16px;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 14px;
}

.form-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.form-field-full {
    grid-column: 1 / -1;
}

.form-field label {
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5;
    color: #2B1F14;
}

.form-field input,
.form-field textarea {
    width: 100%;
    height: 48px;
    padding: 0 14px;
    border: 1.5px solid #EADFCB;
    border-radius: 8px;
    background-color: #FFFFFF;
    font-family: "Archivo", sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: #2B1F14;
    outline: none;
    transition: border-color 0.3s ease-in-out;
}

.form-field textarea {
    height: 110px;
    padding: 12px 14px;
    resize: none;
}

.form-field input:focus,
.form-field textarea:focus {
    border-color: #EDA939;
}

.form-container .dark-btn {
    margin-top: 16px;
}

.f-bottom {
    margin-top: 72px;
    padding-top: 24px;
    border-top: 1px solid rgba(43, 31, 20, 0.25);
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.f-bottom p,
.f-bottom a {
    font-size: 14px;
    line-height: 1.5;
    color: #2B1F14;
}

.f-bottom .right {
    display: flex;
    align-items: center;
    gap: 18px;
}

.f-bottom a:hover,
.f-bottom a:focus {
    color: #406F35;
}

/* --- Forms (Contact Form 7: footer, contact, careers, nutrition) --- */

.wpcf7 .wpcf7-not-valid {
    border-color: #C0392B;
}

.wpcf7 .wpcf7-not-valid-tip {
    margin-top: 6px;
    font-size: 13px;
    line-height: 1.4;
    color: #C0392B;
}

.wpcf7 form .wpcf7-response-output {
    margin: 16px 0 0;
    padding: 0;
    border: 0;
    font-size: 15px;
    line-height: 1.5;
    color: #C0392B;
}

.wpcf7 form.sent .wpcf7-response-output {
    color: #406F35;
}

.wpcf7 .wpcf7-spinner {
    margin: 0 0 0 16px;
    vertical-align: middle;
}

/* ===== About Page ===== */

/* --- Inner Page Banner (shared: About, Products) --- */

.fm-inner-banner {
    position: relative;
    display: flex;
    min-height: 640px;
    padding: 140px 0 72px;
    overflow: hidden;
}

.inner-banner-img {
    position: absolute;
    inset: 0;
}

.inner-banner-scrim {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(43, 31, 20, 0.6) 0, rgba(43, 31, 20, 0) 180px),
        linear-gradient(180deg, rgba(43, 31, 20, 0) 20%, rgba(43, 31, 20, 0.82) 100%);
}

.fm-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-size: 15px;
    line-height: 1.5;
    color: #F1E3D3;
}

.fm-breadcrumb li+li::before {
    content: "/";
    margin: 0 8px;
}

.fm-breadcrumb a {
    color: #F1E3D3;
}

.fm-breadcrumb a:hover,
.fm-breadcrumb a:focus {
    color: #EDA939;
}

.inner-banner-desc h1 {
    font-size: 92px;
    line-height: 1;
    letter-spacing: -1.84px;
    color: #FFFFFF;
    margin-bottom: 28px;
}

.inner-banner-desc p {
    font-weight: 400;
    font-size: 20px;
    line-height: 155%;
    color: #F1E3D3;
}

/* --- About: Intro --- */

.fm-ab-intro .title h2,
.ab-mfg-copy .title h2 {
    margin-bottom: 28px;
}

.fm-ab-intro .title p,
.ab-mfg-copy .title p {
    font-size: 17px;
    line-height: 1.6;
    color: #5A4A3A;
    margin-bottom: 0;
}

.fm-ab-intro .title p+p {
    margin-top: 28px;
}

.ab-intro-img,
.ab-mfg-img {
    border-radius: 6px;
    overflow: hidden;
}

.ab-stat {
    margin-top: 24px;
    padding-top: 8px;
    border-top: 1px solid #DFAF5A;
}

.ab-stat h3 {
    font-size: 52px;
    line-height: 1.06;
    letter-spacing: -0.26px;
    color: #2B1F14;
    margin-bottom: 8px;
    white-space: nowrap;
}

.ab-stat p {
    font-size: 15px;
    line-height: 1.5;
    color: #5A4A3A;
}

.ab-stat-sm {
    margin-top: 20px;
    padding-top: 6px;
}

.ab-stat-sm h3 {
    font-size: 32px;
    line-height: 1.08;
    letter-spacing: -0.16px;
    margin-bottom: 6px;
}

/* --- About: Vision & Mission --- */

.vm-box {
    padding-right: 48px;
}

.vm-box h5 {
    font-family: "Archivo", sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.5;
    color: #EDA939;
    margin-bottom: 20px;
}

.vm-box h3 {
    font-size: 32px;
    line-height: 1.08;
    letter-spacing: -0.16px;
    color: #FFFFFF;
}

/* --- About: What drives us --- */

.drive-list li {
    display: grid;
    grid-template-columns: 300px 1fr;
    padding: 24px 0;
    border-top: 1px solid #E6D3A8;
    gap: 30px;
}

.drive-list li:last-child {
    border-bottom: 1px solid #E6D3A8;
}

.drive-list h3 {
    font-size: 20px;
    line-height: 1.2;
    color: #2B1F14;
}

.drive-list p {
    font-size: 17px;
    line-height: 1.6;
    color: #5A4A3A;
}

/* --- About: Timeline --- */

.timeline-nav {
    display: flex;
    gap: 12px;
}

.timeline-nav .swiper-button-disabled {
    opacity: 0.4;
    pointer-events: none;
}

.timeline-box {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.timeline-marker {
    display: flex;
    align-items: center;
}

.timeline-marker img {
    display: block;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
}

.timeline-marker::after {
    content: "";
    flex: 1;
    height: 2px;
    background-color: #C9A15A;
}

.timeline-box h3 {
    font-size: 26px;
    line-height: 1.12;
    color: #2B1F14;
    white-space: nowrap;
}

.timeline-box p {
    font-size: 15px;
    line-height: 1.5;
    color: #5A4A3A;
}

.timeline-box.is-empty h3,
.timeline-box.is-empty p {
    color: #9C8B76;
}

/* --- About: Brand pillars --- */

.fm-ab-pillars .row+.row {
    row-gap: 30px;
}

.pillar-box {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding: 32px;
    background-color: #FFF3D6;
    border-radius: 6px;
}

.pillar-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: #EDA939;
}

.pillar-icon img {
    display: block;
    width: 20px;
    height: 20px;
}

.pillar-box h3 {
    font-size: 20px;
    line-height: 1.2;
    color: #2B1F14;
}

.pillar-box p {
    font-size: 15px;
    line-height: 1.5;
    color: #5A4A3A;
}

/* --- About: Manufacturing --- */

.ab-mfg-copy .title {
    margin-bottom: 28px;
}

/* --- About: Management desk --- */

.fm-ab-desk .title h2 {
    margin-bottom: 24px;
}

.fm-ab-desk .title h5,
.leader-group h5 {
    font-family: "Archivo", sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.5;
    color: #406F35;
}

.leader-group {
    padding-top: 12px;
    border-top: 1px solid #DFAF5A;
}

.leader-group+.leader-group {
    margin-top: 32px;
}

.leader-group h5 {
    margin-bottom: 12px;
}

.leader-group li {
    font-family: "Gelo", serif;
    font-weight: 800;
    font-size: 20px;
    line-height: 1.2;
    color: #2B1F14;
}

.leader-group li+li {
    margin-top: 12px;
}

/* ===== Products Page ===== */

/* --- Products: Filters + grid --- */

.fm-pr-list {
    padding: 96px 0 120px;
}

.pr-filter-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.pr-filter-row+.pr-filter-row {
    margin-top: 20px;
}

.pr-filter-label {
    font-weight: 600;
    font-size: 15px;
    line-height: 1.5;
    color: #406F35;
}

.pr-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.pr-chip {
    padding: 11px 22px;
    border: 1.5px solid #DFAF5A;
    border-radius: 30px;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.5;
    color: #2B1F14;
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
    transition: all 0.3s ease-in-out;
}

.pr-chip:hover {
    border-color: #2B1F14;
}

.pr-chip.active {
    background-color: #2B1F14;
    border-color: #2B1F14;
    color: #FFFFFF;
}

/* Range row is information only, not clickable */
.pr-filter-row[data-filter="range"] .pr-chip {
    cursor: default;
}

.pr-filter-row[data-filter="range"] .pr-chip:not(.active):hover {
    border-color: #DFAF5A;
}

.pr-count {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #E6D3A8;
    font-size: 15px;
    line-height: 1.5;
    color: #5A4A3A;
}

.pr-grid .row {
    row-gap: 50px;
}

.product-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.product-card .img-wrap {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
}

.product-card .img-wrap img {
    transition: transform 0.5s ease-in-out;
}

.product-card .img-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(43, 31, 20, 0);
    transition: background-color 0.4s ease-in-out;
}

.product-card .card-pill {
    position: absolute;
    left: 20px;
    bottom: 20px;
    z-index: 1;
    padding: 10px 18px;
    border-radius: 999px;
    background-color: #EDA939;
    font-weight: 600;
    font-size: 14px;
    line-height: normal;
    color: #2B1F14;
    opacity: 0;
    transform: translateY(60px);
    transition: all 0.4s ease-in-out;
}

.product-card h3 {
    font-size: 26px;
    line-height: normal;
    color: #2B1F14;
    transition: color 0.4s ease-in-out;
}

.product-card p {
    font-size: 16px;
    line-height: normal;
    color: #5A4A3A;
}

.product-card:hover .img-wrap img,
.product-card:focus-visible .img-wrap img {
    transform: scale(1.1);
}

.product-card:hover .img-wrap::after,
.product-card:focus-visible .img-wrap::after {
    background-color: rgba(43, 31, 20, 0.25);
}

.product-card:hover .card-pill,
.product-card:focus-visible .card-pill {
    opacity: 1;
    transform: translateY(0);
}

.product-card:hover h3,
.product-card:focus-visible h3 {
    color: #C98A26;
}

/* --- Products: Ranges --- */

.range-box {
    margin-top: 28px;
    padding-top: 12px;
    border-top: 1px solid #C9A15A;
}

.range-box h3 {
    font-size: 26px;
    line-height: 1.12;
    color: #2B1F14;
    margin-bottom: 12px;
}

.range-box h5 {
    font-family: "Archivo", sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.5;
    color: #406F35;
    margin-bottom: 12px;
}

.range-box p {
    font-size: 17px;
    line-height: 1.6;
    color: #5A4A3A;
}

/* ===== Our Commitment Page ===== */

/* --- Our Commitment: Promises --- */

.oc-item {
    padding: 48px 0;
    border-top: 1px solid #DFAF5A;
}

.oc-item:last-child {
    border-bottom: 1px solid #DFAF5A;
}

.oc-item h2 {
    font-size: 60px;
    line-height: 1;
    letter-spacing: -0.9px;
    color: #2B1F14;
}

.oc-detail p {
    font-size: 20px;
    line-height: 1.55;
    color: #5A4A3A;
}

.oc-detail ul {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 16px;
}

.oc-detail li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 17px;
    line-height: 1.6;
    color: #2B1F14;
}

.oc-check {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}

.oc-check img {
    display: block;
}

/* --- Our Commitment: CTA --- */

.oc-cta-box {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 28px;
}

.oc-cta-box .title h2 {
    color: #FFFFFF;
}

/* ===== Certifications Page ===== */

/* --- Certifications: Standards we hold --- */

.ce-cert-box {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 32px 28px;
    border-radius: 8px;
    background-color: #FFF3D6;
    height: 100%;
}

.ce-cert-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100px;
    border-radius: 6px;
    background-color: #FFFFFF;
}

.ce-cert-logo img {
    display: block;
    width: 140px;
    height: 72px;
    object-fit: contain;
}

.ce-cert-box h3 {
    font-size: 26px;
    line-height: 1.12;
    color: #2B1F14;
}

.ce-cert-box p {
    font-size: 15px;
    line-height: 1.5;
    color: #5A4A3A;
}

/* --- Certifications: Quality in practice --- */

.ce-quality-list li {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 24px;
    padding: 20px 0;
    border-top: 1px solid #C9A15A;
}

.ce-quality-list li:last-child {
    border-bottom: 1px solid #C9A15A;
}

.ce-quality-list h3 {
    font-size: 20px;
    line-height: 1.2;
    color: #2B1F14;
}

.ce-quality-list p {
    font-size: 17px;
    line-height: 1.6;
    color: #5A4A3A;
}

/* ===== Sustainability Page ===== */

/* --- Sustainability: Intro --- */

.fm-su-intro .title p+p, .fm-pd-about .title p+p {
    margin-top: 20px;
    font-size: 17px;
    line-height: 1.6;
}

/* --- Sustainability: Responsible manufacturing --- */

.su-feature {
    padding: 48px;
    background-color: #2B1F14;
    border-radius: 8px;
}

.su-feature h3 {
    font-size: 32px;
    line-height: 1.08;
    letter-spacing: -0.16px;
    color: #EDA939;
    margin-bottom: 20px;
}

.su-feature p {
    font-size: 17px;
    line-height: 1.6;
    color: #F1E3D3;
}

.su-measure-list li {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 24px;
    padding: 18px 0;
    border-top: 1px solid #C9A15A;
}

.su-measure-list li:last-child {
    border-bottom: 1px solid #C9A15A;
}

.su-measure-list h3,
.su-farm-list h3 {
    font-size: 20px;
    line-height: 1.2;
    color: #2B1F14;
}

.su-measure-list p,
.su-farm-list p {
    font-size: 15px;
    line-height: 1.5;
    color: #5A4A3A;
}

/* --- Sustainability: Responsible farming --- */

.su-farm-copy .title h2 {
    margin-bottom: 28px;
}

.su-farm-copy .title p {
    font-size: 17px;
    line-height: 1.6;
    color: #5A4A3A;
    margin-bottom: 0;
}

.su-farm-img {
    margin-top: 28px;
    border-radius: 6px;
    overflow: hidden;
}

.su-farm-list li {
    padding: 16px 0;
    border-top: 1px solid #E6D3A8;
}

.su-farm-list li:last-child {
    border-bottom: 1px solid #E6D3A8;
}

.su-farm-list h3 {
    margin-bottom: 4px;
}

/* --- Sustainability: Closing --- */

.fm-su-closing .title h2 {
    color: #FFFFFF;
}

/* ===== Downloads Page ===== */

/* --- Downloads: Library --- */

.dl-files {
    margin-top: 40px;
    border-top: 1px solid #DFAF5A;
}

.dl-file {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 23.5px 0;
    border-bottom: 1px solid #DFAF5A;
}

.dl-file-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: #FFF3D6;
}

.dl-file-info {
    display: flex;
    align-items: center;
    flex: 1;
    gap: 24px;
    min-width: 0;
}

.dl-file-info h3 {
    flex: 0 0 420px;
    font-size: 20px;
    line-height: 1.2;
    color: #2B1F14;
}

.dl-file-type,
.dl-file-meta {
    font-size: 17px;
    line-height: 1.6;
}

.dl-file-type {
    flex: 0 0 200px;
    color: #5A4A3A;
}

.dl-file-meta {
    flex: 1;
    color: #9C8B76;
}

.dl-file .outline-btn {
    flex-shrink: 0;
}

/* --- Downloads: video popup --- */

.dl-video-modal .modal-content {
    border: 0;
    border-radius: 16px;
    background: #000000;
}

.dl-video-modal .ratio {
    border-radius: 16px;
    overflow: hidden;
}

.dl-video-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    font-size: 17px;
    color: #FFFFFF;
}

.dl-video-modal iframe {
    z-index: 1;
}

.dl-video-close {
    position: absolute;
    top: -52px;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #FFFFFF;
}

/* --- Downloads: CTA --- */

.fm-dl-cta .title h2 {
    color: #FFFFFF;
    margin-bottom: 24px;
}

/* ===== Contact Page ===== */

/* --- Contact: Offices --- */

.ct-office {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 40px;
    background-color: #FFF3D6;
    border-radius: 8px;
}

.ct-office h3 {
    font-size: 32px;
    line-height: 1.08;
    letter-spacing: -0.16px;
    color: #2B1F14;
}

.ct-office-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.ct-office-list li {
    display: flex;
    align-items: center;
    gap: 16px;
}

.ct-office-list li:first-child {
    align-items: flex-start;
} 

.ct-office-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #EDA939;
}

.ct-office-icon img {
    display: block;
    width: 20px;
    height: 20px;
}

.ct-office-list p {
    font-size: 17px;
    line-height: 1.6;
    color: #5A4A3A;
}

.ct-office-list .ct-pending {
    color: #9C8B76;
}

/* --- Contact: Social --- */

.ct-social-copy {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ct-social-copy p {
    font-size: 20px;
    line-height: 1.55;
    color: #2B1F14;
}

.ct-channels {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

.ct-channel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 24px;
    border-radius: 30px;
    background-color: #2B1F14;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.5;
    color: #FFFFFF;
    white-space: nowrap;
}

.ct-channel:hover,
.ct-channel:focus,
.ct-channel:active {
    background-color: #406F35;
    color: #FFFFFF;
}

/* --- Contact: Business enquiry --- */

.ct-enquiry-copy {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ct-enquiry-copy p {
    font-size: 17px;
    line-height: 1.6;
    color: #5A4A3A;
}

.ct-types {
    border-top: 1px solid #E6D3A8;
}

.ct-types li {
    padding: 14px 0;
    border-bottom: 1px solid #E6D3A8;
    font-size: 17px;
    line-height: 1.6;
    color: #2B1F14;
}

.ct-form {
    padding: 40px;
    background-color: #FFF3D6;
    border-radius: 8px;
}

.ct-form-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 20px 16px;
}

.ct-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    grid-column: span 6;
    min-width: 0;
}

.ct-field-half {
    grid-column: span 3;
}

.ct-field-third {
    grid-column: span 2;
}

.ct-field label {
    font-size: 15px;
    line-height: 1.5;
    color: #2B1F14;
}

.ct-field input,
.ct-field select,
.ct-field textarea {
    width: 100%;
    height: 48px;
    padding: 0 16px;
    border: 1px solid #DFAF5A;
    border-radius: 4px;
    background-color: #FFFFFF;
    font-family: "Archivo", sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: #2B1F14;
    outline: none;
    transition: border-color 0.3s ease-in-out;
}

.ct-field select {
    padding-right: 51px;
    background: #FFFFFF url("../images/icon-chevron-down.svg") no-repeat right 17px center / 18px 18px;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
}

.ct-field select:has(option[value=""]:checked) {
    color: #9C8B76;
}

.ct-field select option {
    color: #2B1F14;
}

.ct-field textarea {
    height: 120px;
    padding: 14px 16px;
    resize: none;
}

.ct-field input:focus,
.ct-field select:focus,
.ct-field textarea:focus {
    border-color: #2B1F14;
}

.ct-form .dark-btn {
    margin-top: 20px;
}

/* ===== Our Values Page ===== */
/* --- Our Values: Values list --- */

.vl-value-list>li {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 24px;
    align-items: start;
    padding: 48px 0;
    border-top: 1px solid #DFAF5A;
}

.vl-value-list>li:last-child {
    border-bottom: 1px solid #DFAF5A;
}

.vl-value-box h3 {
    font-size: 32px;
    line-height: 1.08;
    letter-spacing: -0.16px;
    color: #2B1F14;
    margin-bottom: 12px;
}

.vl-value-box p {
    font-size: 17px;
    line-height: 1.6;
    color: #5A4A3A;
}

.vl-check-list li {
    display: flex;
    align-items: center;
    gap: 12px;
}

.vl-check-list li+li {
    margin-top: 14px;
}

.vl-check-icon {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
}

.vl-check-icon img {
    display: block;
}

.vl-check-list p {
    font-size: 17px;
    line-height: 1.6;
    color: #2B1F14;
}

/* --- Our Values: Quote banner --- */

.fm-vl-quote .title h2 {
    color: #FFFFFF;
}

/* ===== Blog, News and Events Page ===== */

/* --- Blog & News: Featured --- */

.fm-bn-featured {
    padding-top: 96px;
}

.bn-featured-img {
    border-radius: 6px;
    overflow: hidden;
}

.bn-featured-img img,
.bn-card .img-wrap img {
    transition: transform 0.6s ease-in-out;
}

.bn-featured-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    padding-left: 40px;
}

.bn-tag {
    padding: 11px 22px;
    border: 1.5px solid #DFAF5A;
    border-radius: 30px;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.5;
    color: #2B1F14;
    white-space: nowrap;
}

.bn-featured-desc {
    font-size: 17px;
    line-height: 1.6;
    color: #5A4A3A;
}

.bn-featured-meta {
    font-size: 15px;
    line-height: 1.5;
    color: #9C8B76;
}

/* --- Blog & News: Feed --- */

.fm-bn-feed {
    padding: 96px 0 120px;
}

.bn-filters {
    padding-bottom: 40px;
    border-bottom: 1px solid #E6D3A8;
}

.bn-grid {
    margin-top: 40px;
}

.bn-grid .row {
    row-gap: 40px;
}

.bn-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
}

.bn-card .img-wrap {
    width: 100%;
    height: 260px;
    border-radius: 6px;
    overflow: hidden;
}

.bn-card:hover .img-wrap img {
    transform: scale(1.05);
}

.bn-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    font-size: 15px;
    line-height: 1.5;
}

.bn-cat {
    font-weight: 600;
    color: #406F35;
}

.bn-date {
    color: #9C8B76;
}

.bn-card h3 {
    font-size: 26px;
    line-height: 1.12;
    color: #2B1F14;
}

.bn-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 40px;
}

.bn-pagination a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1.5px solid #DFAF5A;
    border-radius: 50%;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.5;
    color: #2B1F14;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
}

.bn-pagination a:hover,
.bn-pagination a:focus {
    border-color: #2B1F14;
    color: #2B1F14;
}

.bn-pagination a.active {
    background-color: #2B1F14;
    border-color: #2B1F14;
    color: #FFFFFF;
}

/* ===== Potato Procurement Page ===== */

/* --- Potato Procurement: Somnath Group --- */

.fm-pp-group .title h2 {
    margin-bottom: 24px;
}

.fm-pp-group .title p {
    font-size: 17px;
    line-height: 1.6;
    color: #5A4A3A;
    margin-bottom: 0;
}

.pp-group-img {
    border-radius: 6px;
    overflow: hidden;
}

/* --- Potato Procurement: Group businesses --- */

.fm-pp-roots .row+.row {
    row-gap: 24px;
}

.pp-root-box {
    height: 100%;
    display: flex;
    align-items: center;
    padding: 24px 12px;
    background-color: #FFFFFF;
    border-radius: 6px;
}

.pp-root-box h3 {
    font-size: 17px;
    line-height: 1.2;
    color: #2B1F14;
}

/* --- Potato Procurement: How we procure --- */

.fm-pp-steps .row+.row {
    row-gap: 40px;
}

.pp-step {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.pp-step-marker {
    display: flex;
    align-items: center;
}

.pp-step-marker span {
    font-family: "Gelo", serif;
    font-weight: 800;
    font-size: 32px;
    line-height: 1.08;
    letter-spacing: -0.16px;
    color: #EDA939;
}

.pp-step-marker::after {
    content: "";
    flex: 1;
    height: 2px;
    background-color: #C9A15A;
}

.pp-step h3 {
    font-size: 20px;
    line-height: 1.2;
    color: #2B1F14;
}

.pp-step p {
    font-size: 15px;
    line-height: 1.5;
    color: #5A4A3A;
}

/* --- Potato Procurement: Work with us --- */

.fm-pp-cta .title h2 {
    color: #FFFFFF;
    margin-bottom: 16px;
}

.fm-pp-cta .title p {
    line-height: 1.55;
    color: #D9C6AE;
    margin-bottom: 0;
}

/* ===== From Farms to Feast Page ===== */

/* --- From Farms to Feast: Intro --- */

.ff-check-list {
    margin-top: 24px;
}

.ff-check-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 17px;
    line-height: 1.6;
    color: #2B1F14;
}

.ff-check-list li+li {
    margin-top: 24px;
}

.ff-check-icon {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
}

.ff-check-icon img {
    display: block;
}

/* --- From Farms to Feast: Chapters --- */

.ff-chapter-num {
    display: block;
    margin-bottom: 20px;
    font-family: "Gelo", serif;
    font-weight: 800;
    font-size: 32px;
    line-height: 1.08;
    letter-spacing: -0.16px;
    color: #EDA939;
}

.ff-chapter-text .title p {
    margin: 20px 0 0;
    font-size: 17px;
    line-height: 1.6;
    color: #5A4A3A;
}

.ff-chapter-img {
    border-radius: 6px;
    overflow: hidden;
}

/* --- Nutrition request form box (Product Detail popup) --- */

.ff-nutrition-box {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 40px;
    background: #FFFFFF;
    border-radius: 8px;
}

.ff-nutrition-head {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.ff-nutrition-head h3 {
    flex: 1;
    font-size: 32px;
    line-height: 1.08;
    letter-spacing: -0.16px;
    color: #2B1F14;
}

.ff-nutrition-close {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    transition: opacity 0.3s ease-in-out;
}

.ff-nutrition-close:hover {
    opacity: 0.6;
}

.ff-nutrition-close img {
    display: block;
}

.ff-nutrition-intro {
    font-size: 17px;
    line-height: 1.6;
    color: #5A4A3A;
}

.ff-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 16px;
    margin-bottom: 20px;
}

.ff-form-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ff-form-field-full {
    grid-column: 1 / -1;
}

.ff-form-field label {
    font-size: 15px;
    line-height: 1.5;
    color: #2B1F14;
}

.ff-form-field input,
.ff-form-field select {
    width: 100%;
    height: 48px;
    padding: 0 16px;
    border: 1px solid #DFAF5A;
    border-radius: 4px;
    background-color: #FFFFFF;
    font-family: "Archivo", sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: #2B1F14;
    outline: none;
    transition: border-color 0.3s ease-in-out;
}

.ff-form-field input:focus,
.ff-form-field select:focus {
    border-color: #EDA939;
}

.ff-select select {
    padding-right: 44px;
    background: #FFFFFF url("../images/icon-chevron-down.svg") no-repeat right 17px center / 18px 18px;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
}

.ff-select select:has(option[value=""]:checked) {
    color: #9C8B76;
}

.ff-select option {
    color: #2B1F14;
}

.ff-nutrition-note {
    font-size: 15px;
    line-height: 1.5;
    color: #9C8B76;
}

/* Product Detail: the same nutrition form in a popup */
.pd-nutrition-modal .modal-content {
    border: none;
}

.pd-nutrition-modal .modal-dialog {
    padding: 0 12px;
}

/* --- From Farms to Feast: Empowering farmers --- */

.fm-ff-empower .title h2 {
    color: #FFFFFF;
}

.ff-support {
    margin-top: 30px;
    padding-top: 10px;
    border-top: 1px solid #C9A15A;
}

.ff-support h3 {
    margin-bottom: 10px;
    font-size: 20px;
    line-height: 1.2;
    color: #FFFFFF;
}

.ff-support p {
    font-size: 15px;
    line-height: 1.5;
    color: #D9C6AE;
}

/* ===== Product Detail Page ===== */

/* --- Product Detail: Overview --- */

.single-product header {
    background-color: #2B1F14;
}
.single-product .fm-pd-overview {
    margin-top: 160px;
}

.fm-pd-overview .fm-breadcrumb,
.fm-pd-overview .fm-breadcrumb a {
    color: #9C8B76;
}

.fm-pd-overview .fm-breadcrumb a:hover,
.fm-pd-overview .fm-breadcrumb a:focus {
    color: #406F35;
}

.pd-gallery-img {
    height: 600px;
    border-radius: 6px;
    overflow: hidden;
}

.pd-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 28px;
}

.pd-info h1 {
    font-size: 52px;
    line-height: 1.06;
    letter-spacing: -0.26px;
    color: #2B1F14;
}

.pd-info>p {
    font-size: 20px;
    line-height: 1.55;
    color: #5A4A3A;
}

.pd-specs {
    width: 100%;
    border-bottom: 1px solid #E6D3A8;
}

.pd-specs li {
    display: flex;
    padding: 16px 0;
    border-top: 1px solid #E6D3A8;
    align-items: center;
}

.pd-specs span {
    flex: 0 0 200px;
    padding-right: 16px;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.5;
    color: #406F35;
}

.pd-specs p {
    flex: 1;
    font-size: 17px;
    line-height: 1.6;
    color: #2B1F14;
}

.pd-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

/* --- Product Detail: Preparation and storage --- */

.pd-fact {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 24px;
    padding-top: 10px;
    border-top: 1px solid #C9A15A;
}

.pd-fact h3 {
    font-size: 26px;
    line-height: 1.12;
    color: #2B1F14;
}

.pd-fact p {
    font-size: 17px;
    line-height: 21px;
    color: #5A4A3A;
}

/* --- Product Detail: Packaging + nutrition panels --- */
.pd-acc {
    border-top: 1px solid #DFAF5A;
    scroll-margin-top: 100px;
}

.pd-acc:last-child {
    border-bottom: 1px solid #DFAF5A;
}

.pd-acc-head {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 32px 0;
}

.pd-acc-title {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.pd-acc-title h3 {
    font-size: 32px;
    line-height: 1.08;
    letter-spacing: -0.16px;
    color: #2B1F14;
}

.pd-acc-title p {
    font-size: 17px;
    line-height: 1.6;
    color: #5A4A3A;
}

/* Clicked toggle keeps its Figma colour (gold / outline); hover still applies */
.pd-acc .default-btn:focus:not(:hover) {
    background: #EDA939;
}

.pd-acc .outline-btn:focus:not(:hover) {
    background: transparent;
    color: #2B1F14;
}

.pd-acc-icon {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    transition: transform 0.3s ease-in-out;
}

.pd-acc-icon img {
    display: block;
}

.pd-acc.active .pd-acc-icon {
    transform: rotate(180deg);
}

.pd-acc-panel {
    display: none;
    padding-bottom: 40px;
}

.pd-acc-panel:has(.pd-table-note) {
    padding-bottom: 24px;
}

.pd-table {
    border: 1px solid #E6D3A8;
    border-radius: 6px;
}

.pd-table table {
    width: 100%;
    table-layout: fixed;
}

.pd-table th,
.pd-table td {
    padding: 14px 0;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.5;
    color: #2B1F14;
}

.pd-table th {
    background-color: #2B1F14;
    color: #FFFFFF;
}

.pd-table th:first-child,
.pd-table td:first-child {
    padding-left: 24px;
}

.pd-table th:last-child,
.pd-table td:last-child {
    padding-right: 24px;
}

.pd-table tbody tr:nth-child(even) {
    background-color: #FFF3D6;
}

.pd-pack-table th:first-child {
    width: 27%;
}

.pd-pack-table th:nth-child(2),
.pd-pack-table th:nth-child(3) {
    width: 25%;
}

.pd-nutri-table th:first-child {
    width: 37%;
}

.pd-nutri-table th:nth-child(2),
.pd-nutri-table th:nth-child(3) {
    width: 20%;
}

.pd-table-note {
    margin-top: 20px;
    font-size: 15px;
    line-height: 1.5;
    color: #9C8B76;
}

/* --- Product Detail: Applications --- */

.fm-pd-apps .row {
    row-gap: 40px;
}

.pd-app {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.pd-app .img-wrap {
    border-radius: 6px;
    overflow: hidden;
}

.pd-app h3 {
    font-size: 26px;
    line-height: 1.12;
    color: #2B1F14;
}

.pd-app p {
    font-size: 17px;
    line-height: 1.6;
    color: #5A4A3A;
}

/* --- Product Detail: More products --- */

.pd-related .row {
    row-gap: 50px;
}

/* ===== Careers Page ===== */

/* --- Careers: Life at Farmton --- */

.fm-cr-life .title p {
    line-height: 1.55;
    color: #5A4A3A;
}

.cr-life-list .row {
    row-gap: 64px;
}

.cr-life-box {
    margin-top: 28px;
    padding-top: 12px;
    border-top: 1px solid #C9A15A;
}

.cr-life-box h3,
.cr-path-list h3 {
    font-size: 20px;
    line-height: 1.2;
    color: #2B1F14;
}

.cr-life-box p {
    margin-top: 12px;
    font-size: 17px;
    line-height: 1.6;
    color: #5A4A3A;
}

/* --- Careers: Chart your path + Apply (title with intro) --- */

.fm-cr-path .title h2,
.fm-cr-apply .title h2 {
    margin-bottom: 20px;
}

.fm-cr-path .title p,
.fm-cr-apply .title p {
    font-size: 17px;
    line-height: 1.6;
    color: #5A4A3A;
}

.cr-path-list {
    border-top: 1px solid #C9A15A;
}

.cr-path-list li {
    padding: 20px 0;
    border-bottom: 1px solid #C9A15A;
}

/* --- Careers: Culture --- */

.fm-cr-culture .row {
    row-gap: 40px;
}

.cr-culture-box .img-wrap {
    border-radius: 6px;
    overflow: hidden;
}

.cr-culture-box h3 {
    margin-top: 16px;
    font-size: 26px;
    line-height: 1.12;
    color: #2B1F14;
}

.cr-culture-box p {
    margin-top: 16px;
    font-size: 17px;
    line-height: 1.6;
    color: #5A4A3A;
}

/* --- Careers: Current openings (fields shared with Contact) --- */

.cr-filters .ct-field {
    grid-column: span 1;
}

.cr-job {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 24px 0;
    border-top: 1px solid #C9A15A;
}

.cr-jobs {
    border-bottom: 1px solid #C9A15A;
}

.cr-job h3 {
    flex: 0 0 340px;
    font-size: 20px;
    line-height: 1.2;
    color: #2B1F14;
}

.cr-job p {
    font-size: 17px;
    line-height: 1.6;
    color: #5A4A3A;
}

.cr-job p:nth-of-type(1) {
    flex: 0 0 180px;
}

.cr-job p:nth-of-type(2) {
    flex: 0 0 200px;
}

.cr-job p:nth-of-type(3) {
    flex: 0 0 120px;
}

.cr-job p:nth-of-type(4) {
    flex: 1;
}

.cr-job .outline-btn {
    flex-shrink: 0;
}

.cr-no-results,
.cr-note {
    font-size: 15px;
    line-height: 1.5;
    color: #9C8B76;
}

.cr-no-results {
    padding: 24px 0;
    border-top: 1px solid #C9A15A;
}

/* --- Careers: Apply (form box shared with Contact) --- */

.fm-cr-apply {
    scroll-margin-top: 100px;
}

.cr-form-title {
    margin-bottom: 20px;
    font-size: 26px;
    line-height: 1.12;
    color: #2B1F14;
}

.cr-upload {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0 12px;
    min-height: 88px;
    padding: 16px;
    border: 1.5px solid #DFAF5A;
    border-radius: 6px;
    background-color: #FFFFFF;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.5;
    color: #2B1F14;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.3s ease-in-out;
}

.cr-upload:hover {
    border-color: #2B1F14;
}

.cr-upload-icon {
    flex: 0 0 22px;
    height: 22px;
    background: url("../images/cr-icon-upload.svg") no-repeat center / 22px 22px;
}

/* The file field is hidden; its wrap only shows the error, on its own line under the label text */
.cr-upload .wpcf7-form-control-wrap {
    order: 1;
    flex-basis: 100%;
}

/* Responsive */

@media screen and (max-width: 1399px) {
    .hero-words {
        font-size: 220px;
    }

    .fm-hm-journey {
        padding-top: 238px;
    }

    header .menu-item+.menu-item {
        margin-left: 28px;
    }

    .beat h3 {
        font-size: 92px;
        letter-spacing: -1.38px;
    }

    /* Products */

    /* Potato Procurement */
    .fm-pp-group .ab-stat h3 {
        font-size: 48px;
    }

    /* Product Detail */
    .pd-gallery-img {
        height: 520px;
    }
}

@media screen and (max-width: 1199px) {

    header .navbar-brand,
    header .navbar-brand img {
        width: 140px;
        height: 34px;
    }

    header .menu-item+.menu-item {
        margin-left: 20px;
    }

    header .menu-item a {
        font-size: 14px;
    }

    .ar-btn-wrap {
        gap: 16px;
    }

    .default-btn,
    .dark-btn {
        padding: 14px 24px;
        font-size: 14px;
    }

    .outline-btn {
        padding: 12.5px 22.5px;
        font-size: 14px;
    }

    .ptb-120 {
        padding: 90px 0;
    }

    .ptb-95 {
        padding: 80px 0;
    }

    .pb-95 {
        padding-bottom: 80px;
    }

    .mtb-95 {
        margin: 80px 0;
    }

    .mtb-120 {
        margin: 90px 0;
    }

    .title h2 {
        font-size: 44px;
    }

    .fm-hm-banner {
        min-height: 680px;
    }

    .hero-words {
        font-size: 180px;
        margin-left: -10px;
    }

    .fm-hm-journey {
        padding: 187px 0 90px;
    }

    .stat-box h3 {
        font-size: 40px;
    }

    .farmer-emblem {
        width: 300px;
        height: 345px;
    }

    .farmer-copy .title p {
        font-size: 18px;
        margin-top: 24px;
    }

    .farmer-points {
        margin-top: 24px;
    }

    .farmer-points li {
        font-size: 17px;
    }

    .why-box h3 {
        font-size: 28px;
    }

    .why-box p {
        font-size: 16px;
    }

    .fm-hm-product {
        padding-top: 90px;
    }

    .fm-hm-product .section-head {
        padding-bottom: 44px;
    }

    .stage-beats {
        top: calc(50% - 90px);
    }

    .beat h3 {
        font-size: 76px;
        letter-spacing: -1.14px;
    }

    .beat-desc-inner p {
        font-size: 18px;
    }

    .stage-progress {
        top: calc(50% - 82px);
        right: 24px;
    }

    .chain-card h3 {
        font-size: 24px;
    }

    .chain-card p {
        font-size: 15px;
    }

    .value-box h3 {
        font-size: 22px;
        white-space: normal;
    }

    .country-list li {
        font-size: 15px;
    }

    .global-stat h3 {
        font-size: 36px;
    }

    .seal-ring {
        width: 170px;
        height: 170px;
    }

    .seal-ring img {
        max-width: 80px;
        max-height: 80px;
    }

    .cert-brands {
        margin-top: 70px;
    }

    .brand-marquee {
        margin-top: 40px;
        height: 160px;
    }

    .brand-logo {
        flex: 0 0 200px;
        width: 200px;
        height: 68px;
        margin-right: 70px;
    }

    .brand-dot {
        margin-right: 70px;
    }

    .testi-box h3 {
        font-size: 38px;
        margin-bottom: 30px;
    }

    .testi-swiper,
    .testi-nav {
        margin-top: 30px;
    }

    .news-card h3 {
        font-size: 23px;
    }

    footer {
        padding: 90px 0 40px;
    }

    .f-desc h2 {
        font-size: 48px;
    }

    .f-desc p {
        font-size: 17px;
    }

    .form-container {
        padding: 32px;
    }

    .form-container h3 {
        font-size: 28px;
    }

    .f-bottom {
        margin-top: 56px;
    }

    /* About */

    .fm-inner-banner {
        min-height: 580px;
    }

    .inner-banner-desc h1 {
        font-size: 76px;
        letter-spacing: -1.52px;
    }

    .inner-banner-desc p {
        font-size: 18px;
    }
    .ab-stat h3 {
        font-size: 44px;
    }

    .ab-stat-sm h3 {
        font-size: 28px;
    }

    .vm-box {
        padding-right: 24px;
    }

    .vm-box h3 {
        font-size: 28px;
    }

    .drive-list li {
        grid-template-columns: 240px 1fr;
        gap: 24px;
    }

    .timeline-box h3 {
        font-size: 23px;
    }

    .pillar-box {
        padding: 28px;
    }

    /* Products */

    .fm-pr-list {
        padding: 80px 0 90px;
    }

    .product-card h3 {
        font-size: 24px;
    }

    .range-box h3 {
        font-size: 24px;
    }

    /* Our Commitment */
    .oc-item {
        padding: 40px 0;
    }

    .oc-item h2 {
        font-size: 52px;
        letter-spacing: -0.78px;
    }

    .oc-detail p {
        font-size: 18px;
    }

    /* Certifications */

    .ce-cert-box {
        padding: 28px 20px;
    }

    .ce-cert-box h3 {
        font-size: 24px;
    }

    .ce-quality-list li {
        grid-template-columns: 240px 1fr;
    }

    /* Sustainability */

    .su-feature {
        padding: 40px;
    }

    .su-feature h3 {
        font-size: 28px;
    }

    .su-measure-list li {
        grid-template-columns: 200px 1fr;
    }

    /* Downloads */

    .dl-file-info h3 {
        flex-basis: 320px;
    }

    .dl-file-type {
        flex-basis: 160px;
    }

    /* Contact Us */
    .ct-office,
    .ct-form {
        padding: 32px;
    }

    .ct-office h3 {
        font-size: 28px;
    }

    .ct-channels {
        justify-content: flex-start;
        margin-top: 30px;
    }

    /* Our Values */

    .vl-value-list>li {
        padding: 40px 0;
    }

    .vl-value-box h3 {
        font-size: 28px;
    }

    /* Blog, News and Events */
    .fm-bn-featured {
        padding-top: 80px;
    }

    .bn-featured-copy {
        padding-left: 24px;
    }

    .fm-bn-feed {
        padding: 80px 0 90px;
    }

    .bn-card .img-wrap {
        height: 220px;
    }

    .bn-card h3 {
        font-size: 24px;
    }

    /* Potato Procurement */
    .fm-pp-group .ab-stat h3 {
        font-size: 40px;
    }

    .pp-step-marker span {
        font-size: 30px;
    }

    .fm-pp-cta .title p {
        font-size: 18px;
    }

/* Product Detail */
    .pd-gallery-img {
        height: 440px;
    }

    .pd-info h1 {
        font-size: 44px;
    }

    .pd-fact h3,
    .pd-app h3 {
        font-size: 24px;
    }
    .title p {
        font-size: 18px;
    }

    /* Careers */
    .cr-filters .ct-field {
        grid-column: span 2;
    }

    .cr-job h3 {
        flex-basis: 250px;
    }

    .cr-job p:nth-of-type(1) {
        flex-basis: 140px;
    }

    .cr-job p:nth-of-type(2) {
        flex-basis: 170px;
    }

    .cr-job p:nth-of-type(3) {
        flex-basis: 100px;
    }

    .cr-culture-box .img-wrap {
        height: 220px;
    }

    .cr-culture-box h3 {
        font-size: 24px;
    }
}

@media (max-width: 991px) {
    header {
        padding: 20px 0;
    }

    header.sticky {
        padding: 14px 0;
    }

    header .navbar-collapse {
        position: absolute;
        top: calc(100% + 20px);
        left: 12px;
        right: 12px;
        background-color: #2B1F14;
        border: 1px solid rgba(237, 169, 57, 0.25);
        border-radius: 16px;
        box-shadow: 0 24px 48px rgba(43, 31, 20, 0.35);
    }

    header .navbar-nav {
        padding: 8px 24px;
    }

    header .menu-item,
    header .menu-item a {
        width: 100%;
    }

    header .menu-item+.menu-item {
        margin-left: 0;
        border-top: 1px solid rgba(241, 227, 211, 0.12);
    }

    header .menu-item a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 16px 0;
        font-size: 17px;
        color: #F1E3D3;
    }

    /* The desktop underline becomes a small gold arrow on the right */
    header .menu-item a::after {
        position: static;
        flex: 0 0 8px;
        height: 8px;
        margin-right: 4px;
        border-top: 2px solid #EDA939;
        border-right: 2px solid #EDA939;
        border-radius: 0;
        background-color: transparent;
        opacity: 0;
        transform: translateX(-8px) rotate(45deg);
        transform-origin: center;
    }

    header .menu-item a:hover,
    header .menu-item a:focus,
    header .menu-item.current-menu-item a {
        color: #EDA939;
    }

    header .menu-item a:hover::after,
    header .menu-item a:focus::after,
    header .menu-item.current-menu-item a::after {
        opacity: 1;
        transform: translateX(0) rotate(45deg);
        transform-origin: center;
    }

    .ptb-120 {
        padding: 70px 0;
    }

    .ptb-95 {
        padding: 60px 0;
    }

    .pb-95 {
        padding-bottom: 60px;
    }

    .mtb-95 {
        margin: 60px 0;
    }

    .mtb-120 {
        margin: 70px 0;
    }

    .mt-50 {
        margin-top: 30px;
    }

    .title h2 {
        font-size: 38px;
    }

    .title-design h5 {
        margin-bottom: 12px;
    }

    .fm-hm-banner {
        min-height: 580px;
    }

    .hero-words {
        font-size: 140px;
        margin-left: 0;
    }

    .fm-hm-journey {
        padding: 145px 0 70px;
    }

    .section-head {
        row-gap: 18px;
    }

    .journey-stats {
        row-gap: 32px;
    }

    .farmer-emblem {
        width: 240px;
        height: 276px;
    }

    .farmer-copy {
        margin-top: 40px;
    }

    .fm-hm-product {
        padding-top: 70px;
    }

    .fm-hm-product .section-head {
        padding-bottom: 36px;
    }

    .stage-beats {
        top: calc(50% - 80px);
    }

    .beats-list {
        row-gap: 28px;
    }

    .beat h3 {
        font-size: 60px;
        letter-spacing: -0.9px;
    }

    .stage-progress {
        top: calc(50% - 74px);
    }

    .world-map {
        margin-top: 50px;
    }

    .testi-box h3 {
        font-size: 32px;
        margin-bottom: 26px;
    }

    footer {
        padding: 70px 0 36px;
    }

    .f-desc h2 {
        font-size: 42px;
    }

    .form-container {
        margin-top: 50px;
    }

    .f-links-wrap .row {
        row-gap: 28px;
    }

    .f-bottom {
        margin-top: 50px;
    }

    .fm-hm-journey .container>.row:first-child {
        row-gap: 30px;
    }

    .fm-hm-chain .row,
    .fm-hm-news .row {
        row-gap: 40px;
    }

    /* About */
    .fm-ab-intro .container>.row:first-child,
    .fm-ab-timeline .row {
        row-gap: 30px;
    }

.fm-inner-banner {
        min-height: 520px;
        padding: 120px 0 56px;
    }

    .inner-banner-desc h1 {
        font-size: 60px;
        letter-spacing: -1.2px;
        margin-bottom: 20px;
    }

    .inner-banner-desc p {
        font-size: 17px;
    }

    .ab-mfg-copy {
        margin-top: 40px;
    }

    .ab-stat h3 {
        font-size: 40px;
    }

    .fm-ab-vision .row {
        row-gap: 40px;
    }

    .vm-box {
        padding-right: 0;
    }

    .vm-box h3 {
        font-size: 26px;
    }

    .drive-list {
        margin-top: 30px;
    }

    .leader-box {
        margin-top: 40px;
    }

    /* Products */

    .fm-pr-list {
        padding: 60px 0 70px;
    }

    .pr-grid .row {
        row-gap: 40px;
    }

    /* Our Commitment */

    .oc-item {
        padding: 32px 0;
    }

    .oc-item h2 {
        font-size: 44px;
        letter-spacing: -0.66px;
        margin-bottom: 16px;
    }

    .oc-cta-box {
        gap: 24px;
    }

    /* Certifications */
    .fm-ce-certs .container>.row:first-child {
        row-gap: 30px;
    }

    .ce-quality-list {
        margin-top: 30px;
    }

    /* Sustainability */
    .fm-su-intro .container>.row:first-child {
        row-gap: 30px;
    }

.fm-su-intro .title p+p {
        font-size: 16px;
    }

    .su-measure-list {
        margin-top: 32px;
    }

    .su-farm-list {
        margin-top: 40px;
    }

    /* Downloads */
    .dl-files {
        margin-top: 30px;
    }

    .dl-file {
        padding: 20px 0;
    }

    .dl-file-info {
        flex-wrap: wrap;
        gap: 4px 16px;
    }

    .dl-file-info h3 {
        flex-basis: 100%;
    }

    .dl-file-type,
    .dl-file-meta {
        flex: 0 1 auto;
        font-size: 16px;
    }

    /* Contact Us */
    .fm-ct-offices .row {
        row-gap: 24px;
    }

    .ct-social-copy p {
        font-size: 18px;
    }

    .ct-form {
        margin-top: 40px;
    }

    /* Our Values */
    .fm-vl-intro .container>.row:first-child {
        row-gap: 30px;
    }

.vl-value-list>li {
        grid-template-columns: 1fr;
        padding: 32px 0;
    }

    .vl-value-box h3 {
        font-size: 26px;
    }

    .vl-check-list {
        margin-top: 20px;
    }

    /* Blog, News and Events */
    .fm-bn-featured {
        padding-top: 60px;
    }

    .bn-featured-copy {
        margin-top: 32px;
        padding-left: 0;
    }

    .fm-bn-feed {
        padding: 60px 0 70px;
    }

    .bn-card .img-wrap {
        height: 260px;
    }

    /* Potato Procurement */
    .fm-pp-group .container>.row:first-child {
        row-gap: 30px;
    }

.fm-pp-cta .title p {
        font-size: 17px;
    }

    .pp-cta-btn {
        margin-top: 30px;
    }

    /* From farms to feast */
    .fm-ff-intro .container>.row:first-child {
        row-gap: 30px;
    }

    .ff-chapter-num {
        margin-bottom: 14px;
        font-size: 28px;
    }

    .ff-chapter-text {
        margin-bottom: 30px;
    }

    .ff-nutrition-head h3 {
        font-size: 28px;
    }

    /* Product Detail */
    .fm-pd-about .container>.row:first-child {
        row-gap: 30px;
    }

    .pd-gallery-img {
        height: 560px;
    }

    .single-product .fm-pd-overview {
        margin-top: 130px;
    }

    .pd-info {
        margin-top: 40px;
    }

    .pd-info h1 {
        font-size: 38px;
    }

    .pd-acc-title h3 {
        font-size: 28px;
    }

    .fm-ce-certs .row + .row {
        row-gap: 30px;
    }

    /* Careers */
    .fm-cr-life .container>.row:first-child,
    .fm-cr-path .container>.row:first-child {
        row-gap: 30px;
    }

    .cr-job {
        flex-wrap: wrap;
        gap: 6px 24px;
    }

    .cr-job h3 {
        flex-basis: 100%;
        margin-bottom: 4px;
    }

    .cr-job p:nth-of-type(n) {
        flex: 0 0 auto;
    }

    .cr-job .outline-btn {
        margin-left: auto;
    }
}

@media (max-width: 767px) {
    header {
        padding: 16px 0;
    }

    header.sticky {
        padding: 12px 0;
    }

    header .navbar-brand,
    header .navbar-brand img {
        width: 120px;
        height: 29px;
    }

    header .navbar-collapse {
        top: calc(100% + 16px);
    }

    .ar-btn-wrap {
        gap: 14px;
    }

    header .default-btn {
        padding: 10px 18px;
        font-size: 13px;
    }

    .menu-btn {
        font-size: 14px;
        gap: 8px;
    }

    .default-btn,
    .dark-btn {
        padding: 13px 22px;
    }

    .outline-btn {
        padding: 11.5px 20.5px;
    }

    .arrow-btn {
        font-size: 15px;
    }

    .ptb-120 {
        padding: 50px 0;
    }

    .ptb-95 {
        padding: 50px 0;
    }

    .pb-95 {
        padding-bottom: 50px;
    }

    .mtb-95 {
        margin: 50px 0;
    }

    .mtb-120 {
        margin: 50px 0;
    }

    .title h2 {
        font-size: 32px;
    }

    .title-design h5 {
        font-size: 14px;
        margin-bottom: 10px;
    }

    .title-sm .title-design h5 {
        margin-bottom: 10px;
    }

    .fm-hm-banner {
        min-height: 500px;
    }

    .hero-words {
        font-size: 80px;
    }

    .fm-hm-journey {
        padding: 93px 0 50px;
    }

    .journey-stats {
        row-gap: 24px;
    }

    .stat-box {
        padding-top: 16px;
    }

    .stat-box h3 {
        font-size: 32px;
        margin-bottom: 4px;
    }

    .stat-box p {
        font-size: 15px;
    }

    .farmer-emblem {
        width: 200px;
        height: 230px;
    }

    .farmer-copy .title p {
        font-size: 16px;
        margin-top: 18px;
    }

    .farmer-points {
        margin-top: 18px;
    }

    .farmer-points li {
        padding: 14px 0;
        font-size: 16px;
    }

    .why-box {
        gap: 16px;
    }

    .why-icon {
        width: 80px;
        height: 80px;
    }

    .why-icon-gold img {
        width: 36px;
        height: 36px;
    }

    .sticker-potato {
        width: 54px;
        height: 42px;
    }

    .why-box h3 {
        font-size: 26px;
    }

    .fm-hm-product {
        padding-top: 50px;
    }

    .fm-hm-product .section-head {
        padding-bottom: 30px;
    }

    .stage-beats {
        top: calc(50% - 60px);
        right: 40px;
    }

    .beats-list {
        row-gap: 20px;
    }

    .beat h3 {
        font-size: 40px;
        letter-spacing: -0.6px;
        white-space: normal;
    }

    .beat-desc-inner p {
        font-size: 16px;
        padding-top: 10px;
    }

    .beat-link {
        margin-top: 10px;
        font-size: 15px;
    }

    .stage-progress {
        top: calc(50% - 60px);
        right: 8px;
    }

    .chain-card h3 {
        font-size: 22px;
        margin: 12px 0 10px;
    }

    .chain-card h3 span {
        font-size: 14px;
    }

    .value-box {
        padding-top: 18px;
        gap: 10px;
    }

    .value-box h3 {
        font-size: 20px;
    }

    .fm-hm-global .title p {
        font-size: 16px;
    }

    .global-left {
        gap: 28px;
    }

    .global-stat h3 {
        flex: 0 0 64px;
        font-size: 32px;
    }

    .global-stat p {
        font-size: 15px;
    }

    .country-list {
        row-gap: 4px;
        margin-left: 0;
    }

    .country-list li {
        font-size: 14px;
        line-height: 24px;
        padding: 3px 12px;
    }

    .map-pin {
        width: 9px;
        height: 12.5px;
    }

    .map-pin.active {
        width: 12.5px;
        height: 17.3px;
    }

    .map-pin .pin-tag {
        padding: 3px 8px;
        font-size: 12px;
        line-height: 14px;
    }

    .map-origin {
        width: 12px;
        height: 17px;
    }

    .seal-box {
        gap: 10px;
    }

    .seal-ring {
        width: 140px;
        height: 140px;
    }

    .seal-ring img {
        max-width: 66px;
        max-height: 66px;
    }

    .seal-box h3 {
        font-size: 18px;
    }

    .cert-brands {
        margin-top: 50px;
    }

    .brand-marquee {
        margin-top: 30px;
        height: 120px;
    }

    .brand-logo {
        flex: 0 0 150px;
        width: 150px;
        height: 52px;
        margin-right: 44px;
    }

    .brand-dot {
        margin-right: 44px;
    }

    .testi-box h3 {
        font-size: 26px;
        margin-bottom: 22px;
    }

    .testi-box h4 {
        font-size: 16px;
    }

    .testi-box p {
        font-size: 14px;
    }

    .testi-swiper,
    .testi-nav {
        margin-top: 24px;
    }

    .testi-nav {
        gap: 12px;
    }

    .news-card h3 {
        font-size: 22px;
    }

    footer {
        padding: 50px 0 30px;
    }

    .f-desc {
        gap: 20px;
    }

    .f-desc h2 {
        font-size: 34px;
    }

    .f-desc p {
        font-size: 16px;
    }

    .f-links-wrap {
        padding-top: 8px;
    }

    .f-links .menu-item+.menu-item {
        margin-top: 8px;
    }

    .form-container {
        margin-top: 40px;
        padding: 24px 20px;
        border-radius: 14px;
    }

    .form-container h3 {
        font-size: 24px;
    }

    .form-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .f-bottom {
        text-align: center;
        margin-top: 40px;
        padding-top: 20px;
        flex-direction: column;
        gap: 10px;
        align-items: center;
    }

    .f-bottom .right {
        flex-wrap: wrap;
        gap: 8px 18px;
    }

    /* About */

    .fm-inner-banner {
        min-height: 460px;
        padding: 110px 0 40px;
    }

    .fm-breadcrumb {
        font-size: 14px;
    }

    .inner-banner-desc h1 {
        font-size: 44px;
        letter-spacing: -0.88px;
        margin-bottom: 16px;
    }

    .inner-banner-desc p {
        font-size: 16px;
    }

    .fm-ab-intro .title h2,
    .ab-mfg-copy .title h2 {
        margin-bottom: 20px;
    }

    .fm-ab-intro .title p,
    .ab-mfg-copy .title p {
        font-size: 16px;
    }

    .fm-ab-intro .title p+p {
        margin-top: 20px;
    }

    .ab-mfg-copy {
        margin-top: 30px;
    }

    .ab-stat h3 {
        font-size: 34px;
    }

    .ab-stat-sm h3 {
        font-size: 24px;
    }

    .vm-box h3 {
        font-size: 22px;
    }

    .drive-list li {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 18px 0;
    }

    .drive-list h3 {
        font-size: 18px;
        margin-bottom: 8px;
    }

    .drive-list p {
        font-size: 16px;
    }

    .timeline-box h3 {
        font-size: 22px;
    }

    .pillar-box {
        padding: 24px;
    }

    .leader-group li {
        font-size: 18px;
    }

    /* Products */

    .fm-pr-list {
        padding: 40px 0 50px;
    }

    .pr-filter-row,
    .pr-chips {
        gap: 8px;
    }

    .pr-filter-row+.pr-filter-row {
        margin-top: 16px;
    }

    .pr-filter-label {
        width: 100%;
    }

    .pr-chip {
        padding: 8px 16px;
        font-size: 14px;
    }

    .pr-count {
        margin-top: 16px;
        padding-top: 16px;
    }

    .pr-grid .row {
        row-gap: 32px;
    }

    .product-card h3 {
        font-size: 22px;
    }

    .product-card p {
        font-size: 15px;
    }

    .range-box h3 {
        font-size: 22px;
    }

    .range-box p {
        font-size: 16px;
    }

    /* Our Commitment */

    .oc-item {
        padding: 28px 0;
    }

    .oc-item h2 {
        font-size: 36px;
        letter-spacing: -0.54px;
        margin-bottom: 14px;
    }

    .oc-detail p {
        font-size: 16px;
    }

    .oc-detail ul {
        gap: 12px;
        margin-top: 14px;
    }

    .oc-detail li {
        font-size: 16px;
    }

    .oc-cta-box {
        gap: 20px;
    }

    /* Certifications */

    .ce-cert-box {
        padding: 28px 24px;
    }

    .ce-cert-box h3 {
        font-size: 22px;
    }

    .ce-quality-list li {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 18px 0;
    }

    .ce-quality-list h3 {
        font-size: 18px;
        margin-bottom: 8px;
    }

    .ce-quality-list p {
        font-size: 16px;
    }

    /* Sustainability */

    .su-feature {
        padding: 32px 24px;
    }

    .su-feature h3 {
        font-size: 24px;
        margin-bottom: 16px;
    }

    .su-feature p {
        font-size: 16px;
    }

    .su-measure-list li {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 16px 0;
    }

    .su-measure-list h3,
    .su-farm-list h3 {
        font-size: 18px;
    }

    .su-farm-copy .title h2 {
        margin-bottom: 20px;
    }

    .su-farm-copy .title p {
        font-size: 16px;
    }

    /* Downloads */

    .dl-file {
        gap: 16px;
        padding: 16px 0;
    }

    .dl-file-icon {
        width: 40px;
        height: 40px;
    }

    .dl-file-info {
        gap: 2px 12px;
    }

    .dl-file-info h3 {
        font-size: 18px;
    }

    .dl-file-type,
    .dl-file-meta {
        font-size: 15px;
    }

    /* Contact Us */
    .ct-office,
    .ct-form {
        padding: 24px 20px;
    }

    .ct-office h3 {
        font-size: 24px;
    }

    .ct-office-list,
    .ct-office {
        gap: 20px;
    }

    .ct-office-list p,
    .ct-enquiry-copy p,
    .ct-types li {
        font-size: 16px;
    }

    .ct-social-copy p {
        font-size: 16px;
    }

    .ct-channels {
        margin-top: 24px;
        gap: 10px;
    }

    .ct-channel {
        padding: 10px 20px;
    }

    .ct-enquiry-copy {
        gap: 16px;
    }

    .ct-types li {
        padding: 12px 0;
    }

    .ct-form {
        margin-top: 30px;
    }

    .ct-form-grid {
        gap: 16px 12px;
    }

    /* Our Values */

    .vl-value-list>li {
        padding: 28px 0;
    }

    .vl-value-box h3 {
        font-size: 22px;
        margin-bottom: 8px;
    }

    .vl-value-box p,
    .vl-check-list p {
        font-size: 16px;
    }

    .vl-check-list {
        margin-top: 16px;
    }

    .vl-check-list li+li {
        margin-top: 10px;
    }

    /* Blog, News and Events */
    .fm-bn-featured {
        padding-top: 40px;
    }

    .bn-featured-copy {
        margin-top: 24px;
        gap: 16px;
    }

    .bn-tag {
        padding: 8px 16px;
        font-size: 14px;
    }

    .bn-featured-desc {
        font-size: 16px;
    }

    .fm-bn-feed {
        padding: 40px 0 50px;
    }

    .bn-filters {
        padding-bottom: 24px;
    }

    .bn-grid {
        margin-top: 24px;
    }

    .bn-grid .row {
        row-gap: 32px;
    }

    .bn-card h3 {
        font-size: 22px;
    }

    .bn-pagination {
        margin-top: 32px;
    }

    .bn-pagination a {
        width: 40px;
        height: 40px;
        font-size: 14px;
    }

    /* Potato Procurement */
    .fm-pp-group .title h2 {
        margin-bottom: 20px;
    }

    .fm-pp-group .title p {
        font-size: 16px;
    }

    .fm-pp-roots .row+.row {
        row-gap: 16px;
    }

    .pp-root-box {
        padding: 20px 12px;
    }

    .pp-root-box h3 {
        font-size: 16px;
    }

    .fm-pp-steps .row+.row {
        row-gap: 32px;
    }

    .pp-step {
        gap: 12px;
    }

    .pp-step-marker span {
        font-size: 26px;
    }

    .pp-step h3 {
        font-size: 18px;
    }

    .fm-pp-cta .title p {
        font-size: 16px;
    }

    .pp-cta-btn {
        margin-top: 24px;
    }

    /* From farms to feast */

    .ff-check-list li {
        font-size: 16px;
    }

    .ff-check-list li+li {
        margin-top: 16px;
    }

    .ff-chapter-num {
        font-size: 24px;
    }

    .ff-chapter-text .title p {
        font-size: 16px;
    }

    .ff-nutrition-box {
        padding: 28px 20px;
    }

    .ff-nutrition-head h3 {
        font-size: 24px;
    }

    .ff-nutrition-intro {
        font-size: 16px;
    }

    .ff-form-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    /* Product Detail */
    .pd-gallery-img {
        height: 480px;
    }
    .single-product .fm-pd-overview {
        margin-top: 100px;
    }

    .pd-info {
        gap: 20px;
    }

    .pd-info h1 {
        font-size: 32px;
    }

    .pd-info>p {
        font-size: 18px;
    }

    .pd-specs span {
        flex-basis: 140px;
    }

    .pd-specs p,
    .pd-fact p,
    .pd-app p,
    .pd-acc-title p {
        font-size: 16px;
    }

    .pd-fact h3,
    .pd-app h3 {
        font-size: 22px;
    }

    .pd-app {
        gap: 12px;
    }

    .pd-acc-head {
        flex-wrap: wrap;
        gap: 16px 24px;
        padding: 24px 0;
    }

    .pd-acc-title {
        flex-basis: calc(100% - 46px);
    }

    .pd-acc-title h3 {
        font-size: 24px;
    }

    .pd-acc-icon {
        order: 1;
    }

    .pd-acc-btn {
        order: 2;
    }

    .pd-table table {
        min-width: 560px;
    }

    .pd-table th:first-child,
    .pd-table td:first-child {
        padding-left: 16px;
    }

    .pd-table th:last-child,
    .pd-table td:last-child {
        padding-right: 16px;
    }

    /* Careers */
    .cr-life-list .row {
        row-gap: 40px;
    }

    .cr-life-box p,
    .cr-culture-box p,
    .cr-job p,
    .fm-cr-path .title p,
    .fm-cr-apply .title p {
        font-size: 16px;
    }

    .cr-path-list li {
        padding: 16px 0;
    }

    .cr-path-list h3 {
        font-size: 18px;
    }

    .cr-culture-box h3 {
        font-size: 22px;
    }

    .cr-filters .ct-field {
        grid-column: span 3;
    }

    .cr-filters .ct-field:first-child {
        grid-column: span 6;
    }

    .cr-form-title {
        font-size: 22px;
    }
}

@media (max-width: 575px) {
    .hero-words {
        font-size: 64px;
    }

    .fm-hm-banner {
        min-height: 440px;
    }

    .fm-hm-journey {
        padding-top: 84px;
    }

    .title h2 {
        font-size: 28px;
    }

    .beat h3 {
        font-size: 32px;
        letter-spacing: -0.48px;
    }

    .testi-box h3 {
        font-size: 22px;
    }

    .f-desc h2 {
        font-size: 30px;
    }

    .seal-ring {
        width: 128px;
        height: 128px;
    }

    .seal-ring img {
        max-width: 60px;
        max-height: 60px;
    }

    /* About */
    .inner-banner-desc h1 {
        font-size: 38px;
        letter-spacing: -0.76px;
    }

    /* Our Commitment */
    .oc-item h2 {
        font-size: 32px;
        letter-spacing: -0.48px;
    }

    /* Downloads */
    .dl-file {
        gap: 12px;
    }

    .dl-file-info h3 {
        font-size: 17px;
    }

    .dl-file-type,
    .dl-file-meta {
        font-size: 14px;
    }

    /* Contact Us */
    .ct-field-half,
    .ct-field-third {
        grid-column: span 6;
    }

    /* Blog, News and Events */
    .bn-card .img-wrap {
        height: 220px;
    }

    /* Product Detail */
    .pd-gallery-img {
        height: 340px;
    }

    .pd-info h1 {
        font-size: 28px;
    }
    .title p {
        font-size: 16px;
    }

    /* Careers */
    .cr-job .outline-btn {
        width: 100%;
        margin: 10px 0 0;
    }
}


/* ===== Theme additions — content slots added after the static HTML (WP content update) ===== */

/* Short description under a section heading (same type as other section intros) */
.title .title-desc {
    font-size: 17px;
    line-height: 1.6;
    color: #5A4A3A;
    margin-top: 20px;
}

/* On dark sections */
.fm-ff-empower .title .title-desc {
    color: #D9C6AE;
}

/* Inside a section-head row the text column is narrow; keep the line length readable */
.fm-hm-product .title .title-desc,
.fm-hm-chain .title .title-desc,
.fm-hm-cert .title .title-desc {
    max-width: 640px;
}

/* About → Manufacturing eyebrow sits above the heading */
.ab-mfg-copy .title-design h5 {
    margin-bottom: 12px;
}

/* Product applications: keep every photo at the design's 588 × 320 frame, whatever is uploaded */
.pd-app .img-wrap {
    aspect-ratio: 588 / 320;
}

/* Sustainability intro check list follows the paragraphs */
.fm-su-intro .ff-check-list {
    margin-top: 28px;
}

@media (max-width: 991px) {
    .title .title-desc {
        font-size: 16px;
        margin-top: 16px;
    }
}


/* Home intro (template-parts/preloader.php)
   One 100-frame timeline at 35fps = 2.857s, so a keyframe % is the frame number.
   0-17   pieces rise into view from under their line's mask (staggered by --d)
   22-78  gaps open beside each O, potatoes pop in (29-45) and out (55-72), gaps close
   69-99  a ring opens from the centre (frame 69), the page shows through it (frame 74) */

@property --pl-ring {
    syntax: '<length>';
    inherits: false;
    initial-value: 0px;
}

@property --pl-hole {
    syntax: '<length>';
    inherits: false;
    initial-value: 0px;
}

html.pl-lock {
    overflow: hidden;
}

.preloader {
    --art: min(60vw, 700px);
    --pop: calc(var(--art) * 92 / 673);
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: radial-gradient(circle at 50% 50%,
            transparent calc(var(--pl-hole) - 1px), #EDA939 var(--pl-hole),
            #EDA939 calc(var(--pl-ring) - 1px), #2B1F14 var(--pl-ring));
}

.preloader * {
    animation-play-state: paused;
}

.preloader.is-playing * {
    animation-play-state: running;
}

.preloader__art {
    width: var(--art);
}

/* Each line masks its pieces top and bottom, so they rise into view from nothing;
   left and right stay open for the potatoes to spread past */
.preloader__line {
    display: flex;
    justify-content: center;
    overflow-x: visible;
    overflow-y: clip;
}

/* 1px overlap so touching letters (T A T) show no seam after scaling */
.preloader__line>*+* {
    margin-left: -1px;
}

.preloader img {
    display: block;
    flex-shrink: 0;
    width: calc(var(--art) * var(--w) / 673);
    max-width: none;
    height: auto;
}

.preloader__piece {
    animation: pl-rise .486s cubic-bezier(.751, 0, 0, 1) var(--d) both;
}

.preloader__pop {
    display: flex;
    justify-content: center;
    width: 0;
    animation: pl-spread 2.857s linear both;
}

.preloader__pop img {
    animation: pl-pop 2.857s linear both;
}

.preloader.is-revealing {
    pointer-events: none;
    animation: pl-ring .771s cubic-bezier(.35, 0, .125, 1) both,
        pl-hole .714s cubic-bezier(.35, 0, .125, 1) .143s both;
}

.preloader.is-revealing .preloader__art {
    animation: pl-hide 0s .143s both;
}

@keyframes pl-rise {
    from {
        transform: translateY(100%);
    }

    to {
        transform: none;
    }
}

@keyframes pl-spread {
    0% {
        width: 0;
    }

    22% {
        width: 0;
        animation-timing-function: cubic-bezier(.819, 0, 0, 1);
    }

    48.728% {
        width: var(--pop);
    }

    52.546% {
        width: var(--pop);
        animation-timing-function: cubic-bezier(.764, 0, 0, 1);
    }

    78%,
    100% {
        width: 0;
    }
}

@keyframes pl-pop {
    0% {
        transform: scale(0);
    }

    29% {
        transform: scale(0);
        animation-timing-function: cubic-bezier(.098, 0, 0, 1);
    }

    44.97% {
        transform: scale(.95);
    }

    55% {
        transform: scale(.95);
        animation-timing-function: cubic-bezier(1, 0, .178, 1);
    }

    72%,
    100% {
        transform: scale(0);
    }
}

@keyframes pl-ring {
    to {
        --pl-ring: 72.5vmax;
    }
}

@keyframes pl-hole {
    to {
        --pl-hole: 73.1vmax;
    }
}

@keyframes pl-hide {
    to {
        visibility: hidden;
    }
}


/* ===== Blog Detail (single post) — no static HTML existed, built on style.css tokens ===== */

.fm-bn-article .bn-tag {
    display: inline-block;
    margin-bottom: 28px;
}

.bn-article-content {
    font-size: 18px;
    line-height: 1.7;
    color: #2B1F14;
}

.bn-article-content > * + * {
    margin-top: 24px;
}

.bn-article-content h2,
.bn-article-content h3,
.bn-article-content h4 {
    font-weight: 800;
    line-height: 1.15;
    color: #2B1F14;
    margin-top: 48px;
}

.bn-article-content h2 {
    font-size: 36px;
}

.bn-article-content h3 {
    font-size: 28px;
}

.bn-article-content h4 {
    font-size: 22px;
}

.bn-article-content ul,
.bn-article-content ol {
    padding-left: 24px;
}

.bn-article-content ul li {
    list-style: disc;
}

.bn-article-content ol li {
    list-style: decimal;
}

.bn-article-content li + li {
    margin-top: 8px;
}

.bn-article-content a {
    color: #2B1F14;
    text-decoration: underline;
    text-decoration-color: #EDA939;
    text-underline-offset: 3px;
}

.bn-article-content img {
    max-width: 100%;
    height: auto;
    border-radius: 16px;
}

.bn-article-content figure {
    margin: 40px 0;
}

.bn-article-content figcaption {
    font-size: 14px;
    color: #5A4A3A;
    margin-top: 10px;
}

.bn-article-content blockquote {
    padding-left: 24px;
    border-left: 4px solid #EDA939;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.4;
}

.bn-article-back {
    margin-top: 56px;
    padding-top: 32px;
    border-top: 1px solid #E6D3A8;
}

.fm-bn-more .bn-grid {
    margin-top: 50px;
}

@media (max-width: 991px) {
    .bn-article-content {
        font-size: 17px;
    }

    .bn-article-content h2 {
        font-size: 30px;
    }

    .bn-article-content h3 {
        font-size: 24px;
    }
}
