html:has(.home-page), body:has(.home-page) { overflow-x: clip; }
.home-page { width: 100vw; margin: -48px 0 0 calc(50% - 50vw); overflow: hidden; background: #fff; color: var(--color-text-dark); }
.home-page h1, .home-page h2, .home-page h3, .home-page p { margin: 0; }
.home-page h1, .home-page h2, .home-page h3 { font-family: var(--font-serif); font-weight: 400; }
.home-container { width: calc(100% - 32px); max-width: 1200px; margin-inline: auto; }
.home-page .hero { background: var(--color-bg); }
.home-page .hero__btn { color: var(--color-text-dark); font: 500 16px/24px var(--font-body); text-decoration: none; }
.home-page .hero__btn--filled { color: #fff; }
.home-intro { padding-block: 100px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 48px; }
.home-intro h2, .home-market__feature h2 { font-size: 72px; line-height: 88px; }
.home-intro em, .home-market__feature em { color: var(--color-bg-light); font-style: normal; }
.home-intro p, .home-market__feature p, .home-section-heading p { font-size: 20px; line-height: 28px; }
.home-values { padding-block: 100px; }
.home-values > h2, .home-section-heading h2 { font-size: 48px; line-height: 56px; }
.home-values__grid { margin: 48px 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.home-value { min-height: 248px; padding: 32px; display: flex; flex-direction: column; gap: 16px; }
.home-value__icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 16px; background: var(--color-bg); }
.home-value__icon img { width: 24px; height: 24px; }
.home-value h3 { font-size: 24px; line-height: 32px; }
.home-value p { font-size: 16px; line-height: 24px; }
.home-button { min-height: 48px; padding: 4px 24px; border: 1px solid var(--color-green-700); border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; color: var(--color-text-dark); font: 500 16px/24px var(--font-body); text-decoration: none; }
.home-button--primary { background: var(--color-green-700); color: #fff; }
.home-button--arrow::after { content: '\2192'; font-size: 20px; }
.home-postcard { position: relative; height: 680px; overflow: hidden; }
.home-postcard__background { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center bottom; }
.home-postcard__note { position: absolute; top: 50%; left: 50%; width: min(645px, calc(100% - 32px)); min-height: 440px; padding: 100px 56px 44px; transform: translate(-50%, -50%) rotate(-1deg); display: flex; flex-direction: column; justify-content: center; border-radius: 4px; background: #fff; box-shadow: 0 8px 30px rgba(33,36,29,.14); }
.home-postcard__note > img { position: absolute; top: -28px; left: 50%; width: 259px; height: 108px; transform: translateX(-50%); object-fit: cover; opacity: .75; }
.home-postcard__note p, .home-postcard__note span { font-family: 'La Belle Aurore', cursive; text-align: center; }
.home-postcard__note p { font-size: 24px; line-height: 40px; }
.home-postcard__note span { margin-top: 20px; padding-right: 28px; font-size: 20px; line-height: 28px; text-align: right; }
.home-market { padding-block: 100px; background: var(--color-bg); }
.home-market > .home-container { display: flex; flex-direction: column; gap: 100px; }
.home-market__feature { padding: 56px; display: grid; grid-template-columns: 400px 1fr; align-items: center; gap: 48px; border-radius: 24px; background: #fff; }
.home-market__feature > img { width: 400px; height: 536px; display: block; object-fit: cover; }
.home-market__feature > div { display: flex; flex-direction: column; align-items: flex-start; gap: 32px; }
.home-producers, .home-section-heading { display: flex; flex-direction: column; align-items: flex-start; }
.home-producers { gap: 32px; }
.home-section-heading { gap: 16px; }
.home-producers__grid { width: 100%; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.home-producers__grid .prd-product-card { width: 100%; min-width: 0; background: #fff; }
.home-producers__grid .prd-product-card__image-wrap, .home-producers__grid .prd-product-card__image { width: 100%; height: auto; aspect-ratio: 1; }
.home-producers__status { grid-column: 1 / -1; padding-block: 32px; color: var(--color-text-muted); }
.home-producers__grid .prd-producer-categories { overflow: hidden; }
.home-page .about-how { padding-top: 100px; }
@media (max-width: 1249px) {
    .home-page { width: 100%; margin: 0; }
    .home-container { max-width: 900px; }
    .home-page .hero__inner { width: 100%; padding-inline: 16px; gap: 40px; }
    .home-page .hero__content { width: auto; flex: 1; }
    .home-page .hero__title { font-size: 40px; line-height: 48px; }
    .home-page .hero__media {
        height: 100%;        
    }
    .home-intro h2, .home-market__feature h2 { font-size: 56px; line-height: 68px; }
    .home-values__grid { grid-template-columns: repeat(2, 1fr); }
    .home-market__feature { grid-template-columns: minmax(260px, 40%) 1fr; padding: 40px; }
    .home-market__feature > img { width: 100%; height: 460px; }
    .home-producers__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 745px) {
    .home-page .hero__inner, .home-intro, .home-market__feature { display: flex; flex-direction: column; }
    .home-page .hero__inner { width: 100%; padding: 40px 16px; align-items: stretch; }
    .home-page .hero__title { font-size: 36px; line-height: 44px; }
    .home-page .hero__description, .home-intro p, .home-market__feature p, .home-section-heading p { font-size: 16px; line-height: 24px; }
    .home-page .hero__actions, .home-page .hero__btn {
        width: 100%;
        font-size: 14px;
        padding-left: 2px;
        padding-right: 2px;
    }
    .home-page .hero__media { width: 100%; height: auto; aspect-ratio: 3 / 4; align-self: flex-start; }
    .home-page .hero__badge { display: none; }
    .home-intro, .home-values, .home-market { padding-block: 64px; }
    .home-intro { gap: 32px; }
    .home-intro h2, .home-market__feature h2 { font-size: 44px; line-height: 52px; }
    .home-values > h2, .home-section-heading h2 { font-size: 36px; line-height: 44px; }
    .home-values__grid { margin-block: 32px; grid-template-columns: 1fr; }
    .home-value {
        min-height: 0;
        padding: 24px 0;
        border-bottom: 1px solid var(--color-bg-subtle);
        flex-direction: row;
        flex-wrap: wrap;
    }
        .home-value h3 {
            align-self: center;
            flex: 1 0 50%;
        }
    .home-postcard { height: 560px; }
    .home-postcard__note { min-height: 390px; padding: 72px 24px 32px; }
    .home-postcard__note p { font-size: 19px; line-height: 30px; }
    .home-market > .home-container { gap: 64px; }
    .home-market__feature { padding: 20px; align-items: flex-start; gap: 32px; }
    .home-market__feature > img { height: auto; aspect-ratio: 1; border-radius: 12px; }
    .home-market__feature .home-button, .home-producers > .home-button { width: 100%; }
    .home-producers__grid { margin-right: -16px; padding: 1px 16px 12px 1px; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
    .home-producers__grid .prd-product-card { width: min(78vw, 282px); scroll-snap-align: start; }
    section { padding-top: 0;}
}

@media (min-width: 1051px) and (max-width: 1249px) {
    .hero__media {
        width: 40%;
    }
}

@media (min-width: 746px) and (max-width: 1050px)
{
    .hero__media {
       width: 30%;
    }
}

