/* Homepage-only layout. Shared/catalog typography and card styles stay intact. */
.homepage [hidden] { display: none !important; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.home-slider { position: relative; background: #153e2a; color: #fffdf6; }
.home-slide { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(115deg, #123623 0%, #235439 66%, #4e7050 100%); }
.slide-image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.has-image::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(8, 30, 18, .64), rgba(8, 30, 18, .06)); }
.slide-inner { min-height: 510px; padding-block: clamp(60px, 8vw, 104px); display: flex; align-items: center; gap: 60px; }
.slide-copy { max-width: 620px; min-width: 0; text-shadow: 0 2px 12px #10251980; }
.slide-copy .eyebrow { color: #dfd2ae; }
.slide-copy h1, .slide-copy h2 { color: #fffdf6; font-size: clamp(2.65rem, 5.6vw, 5rem); line-height: 1.08; margin-bottom: 24px; overflow-wrap: anywhere; }
.slide-description { max-width: 58ch; color: #e6ede5; font-size: clamp(1rem, 1.5vw, 1.2rem); margin-bottom: 32px; overflow-wrap: anywhere; }
.slide-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px; min-height: 220px; padding: 36px; margin-left: auto; border: 1px solid rgba(241, 235, 210, .25); color: #e2dfc8; text-align: center; }
.slide-placeholder > span:first-child { font-family: Georgia, serif; font-size: 1.4rem; letter-spacing: .12em; }
.slide-placeholder small { max-width: 20ch; font-size: .8rem; }
.placeholder-rule { display: block; width: 52px; height: 2px; background: #c8ab74; }
.slider-controls { display: flex; align-items: center; justify-content: flex-start; gap: 12px; padding-block: 16px; }
.slider-controls button { display: grid; place-items: center; min-width: 44px; min-height: 44px; border: 1px solid #839d87; border-radius: 50%; background: transparent; color: white; cursor: pointer; }
.slider-controls button:hover { background: #2d6040; }
.slider-dots { display: flex; }
.slider-dots button { border: 0; }
.slider-dots span { display: block; width: 8px; height: 8px; border-radius: 50%; background: #a0b4a2; }
.slider-dots [aria-current="true"] span { width: 22px; border-radius: 8px; background: #f0d9a8; }
.home-categories { background: #f1eddf; border-bottom: 1px solid var(--color-border); }
.home-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding-block: 28px; }
.home-category-card { position: relative; display: flex; align-items: end; gap: 20px; padding: 28px 24px; min-width: 0; min-height: 260px; overflow: hidden; border-radius: 6px; background: #173f2a; isolation: isolate; }
.home-category-card img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.home-category-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(transparent 25%, #102719df); }
.home-category-card:hover img { transform: scale(1.035); }
.home-category-card h3, .home-category-card p, .home-category-card .home-category-arrow { color: white; }
.home-category-card:first-child { border-left: 1px solid #d9ddce; }
.home-category-card:hover { background: #e5eadc; }
.home-category-number { color: #66734b; font-family: Georgia, serif; font-size: 1.8rem; }
.home-category-card h3 { margin-bottom: 9px; font-size: clamp(1.15rem, 1.8vw, 1.6rem); }
.home-category-card p { margin-bottom: 0; color: #e6ede5; font-size: .84rem; }
.home-category-arrow { margin-left: auto; color: white; font-size: 1.5rem; }
.home-products { padding-block: clamp(64px, 7vw, 100px); }
.home-products-action { text-align: center; margin-top: 42px; }
.home-farm { background: #edf1e6; border-top: 1px solid var(--color-border); }
.farm-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(32px, 6vw, 84px); }
.farm-copy h2 { max-width: 12ch; margin-bottom: 24px; }
.farm-copy > p:not(.eyebrow) { max-width: 52ch; color: #4e6053; margin-bottom: 30px; overflow-wrap: anywhere; }
.farm-media { overflow: hidden; border-radius: 4px 48px 4px 4px; background: #dfe6d5; }
.farm-media img { width: 100%; height: auto; }
.farm-placeholder { aspect-ratio: 4 / 3; min-height: 240px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 18px; padding: 28px; background: linear-gradient(130deg, #dce5d3, #c3d2b9); color: #264631; text-align: center; }
.farm-placeholder > span:not(.placeholder-rule) { font-family: Georgia, serif; font-size: clamp(1.6rem, 3vw, 2.4rem); }
.farm-placeholder small { color: #4b604c; }
@media (min-width: 1024px) { .homepage .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 959px) { .slide-placeholder { display: none; } .home-category-card { padding: 28px 14px; gap: 12px; } .home-category-number { display: none; } }
@media (max-width: 639px) {
    .slide-image { object-position: 68% center; }
    .has-image::before { background: linear-gradient(90deg, #081e12bb, #081e1255); }
    .slide-inner { min-height: 400px; padding-block: 58px; }
    .slide-copy h1, .slide-copy h2 { font-size: clamp(2.4rem, 10vw, 3.5rem); }
    .home-category-grid { grid-template-columns: 1fr; }
    .home-category-card, .home-category-card:first-child { border: 0; padding: 24px; gap: 20px; min-height: 230px; }
    .home-category-card:last-child { border-bottom: 0; }
    .home-category-number { display: block; }
    .home-category-card h3 { font-size: 1.4rem; }
    .farm-grid { grid-template-columns: 1fr; }
    .farm-copy h2 { max-width: none; }
}
@media (prefers-reduced-motion: reduce) { .home-category-card img { transition: none; } }
/* Latest content uses the existing cards, gallery and responsive breakpoints. */
.home-latest-news, .home-latest-photos { padding-block: clamp(36px, 4vw, 56px); }
.home-latest-news { background: var(--color-surface-soft); border-top: 1px solid var(--color-border); }
.home-latest-news .news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-latest-news .news-card h3 { margin: 14px 0 16px; font-size: 1.35rem; overflow-wrap: anywhere; }
.home-latest-news .news-card h3 a:hover { color: var(--color-primary); }
.home-latest-action { margin-top: 28px; text-align: center; }
@media (max-width: 959px) { .home-latest-news .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .home-latest-news .news-grid { grid-template-columns: 1fr; } }
