/* Strona główna: cztery opakowania w jednej leśnej kompozycji. */
.home-story { isolation: isolate; background-size: cover; background-position: center top; }
.home-story .home-hero { min-height: 480px; background-color: transparent; }
.home-story .hero-mascots { width: 40%; max-width: 590px; bottom: -4px; left: -2%; z-index: 6; }
.home-story .hero-sign { top: 150px; left: 30%; width: 42%; min-height: 270px; }
.home-story .feature-signs { top: 150px; right: 1.5%; width: 22%; }
.home-story .feature-sign { min-height: 83px; padding: 18px 14px; }
.home-story .feature-sign::before { background: #321608b5; }
.home-story .feature-sign p { color: #fff9e8; text-shadow: 0 1px 2px #291409; font-size: clamp(17px,1.5vw,23px); line-height: 1.25; }
.home-story .hero-leaf.leaf-one { left: 31%; top: 146px; width: 56px; }
.home-story .hero-leaf.leaf-two { left: 70%; top: 402px; width: 46px; }
.home-story .hero-leaf.leaf-three { left: 28%; bottom: 12px; width: 42px; }
.home-product-grove { background-color: transparent; padding-bottom: 24px; }
.home-products-heading { position: relative; z-index: 5; margin: -34px 0 0; padding: 16px 15px 0; display: flex; justify-content: center; align-items: start; gap: 20px; background: #fff8df; border-radius: 50% 50% 0 0 / 34px 34px 0 0; }
.home-products-heading::after { content: ''; position: absolute; z-index: -1; left: 0; right: 0; top: 100%; height: 65px; background: linear-gradient(#fff8df,transparent); pointer-events: none; }
.home-heading-copy { text-align: center; }
.home-heading-copy h2 { margin: 0; font-size: clamp(32px,3.2vw,46px); line-height: 1.1; }
.home-heading-copy p { margin: 6px 0 0; font-size: clamp(17px,1.5vw,23px); line-height: 1.4; }
.home-heading-leaf { width: 44px; flex: 0 0 44px; pointer-events: none; }
.home-heading-leaf.leaf-before { transform: rotate(-22deg); }
.home-heading-leaf.leaf-after { transform: rotate(35deg); }
.home-products-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; max-width: 1600px; margin: 0 auto; }
.home-product { position: relative; min-width: 0; }
.home-product-art { border-radius: 0; box-shadow: none; }
.home-product-art a { transition: filter .25s ease; }
.home-product-art a:hover, .home-product-art a:focus-visible { filter: brightness(1.06); }
.home-product-label { position: absolute; z-index: 3; bottom: 10%; left: 11%; width: 78%; min-height: 65px; padding: 14px 8px; text-align: center; background-size: 100% 100%; isolation: isolate; }
.home-product-label { filter: drop-shadow(0 3px 2px #4b2b1430); }
.home-product-label h3 { font: 700 clamp(17px,1.55vw,24px)/1.15 Georgia,serif; margin: 0; color: #003b2d; }
.home-product-label h3 a { color: inherit; }
.home-product-label h3 a:hover { text-decoration: underline; text-underline-offset: 3px; }
.home-product-label p { font: 700 clamp(20px,1.9vw,28px)/1.05 'Trebuchet MS',sans-serif; color: #1d2915; margin: 3px 0 0; }
.home-label-leaf { position: absolute; z-index: 4; width: 28px; left: 10%; bottom: 16%; transform: rotate(-30deg); pointer-events: none; }
.home-story .benefits-bar { position: relative; z-index: 5; }
.home-story .hero-motion-toggle { top: 102px; font-size: 12px; padding: 5px 10px; }
.editor-styles-wrapper .home-products-grid > .block-editor-inner-blocks { display: contents; }
.editor-styles-wrapper .home-products-grid > .block-editor-inner-blocks > .block-editor-block-list__layout { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.editor-styles-wrapper .home-products-heading > .block-editor-inner-blocks > .block-editor-block-list__layout { display: flex; justify-content: center; align-items: start; gap: 20px; }
@media (max-width: 1100px) {
    .home-story .home-hero { min-height: 520px; }
    .home-story .hero-sign { top: 170px; min-height: 230px; }
    .home-story .feature-signs { top: 175px; }
    .home-story .feature-sign { min-height: 80px; }
    .home-story .feature-sign p { font-size: 17px; }
    .home-product-label { left: 5%; width: 90%; padding: 12px 6px; }
    .home-product-label h3 { font-size: 17px; }
    .home-product-label p { font-size: 22px; }
    .home-label-leaf { width: 22px; left: 4%; bottom: 18%; }
}
@media (max-width: 780px) {
    .home-story { background-size: auto 1100px; background-repeat: no-repeat; background-color: #355825; }
    .home-story::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(to bottom,transparent 850px,#476b30 1100px,#244b2b); }
    .home-story .home-hero { min-height: 685px; }
    .home-story .hero-sign { left: 5%; width: 90%; top: 128px; min-height: 238px; }
    .home-story .hero-mascots { width: 56%; left: -6%; bottom: 0; }
    .home-story .feature-signs { top: auto; bottom: 45px; width: 49%; right: 2%; }
    .home-story .feature-sign { min-height: 82px; padding: 18px 12px; }
    .home-story .hero-leaf.leaf-one { left: 3%; top: 149px; width: 42px; }
    .home-story .hero-leaf.leaf-two { left: auto; right: 4%; top: 355px; width: 32px; }
    .home-story .hero-leaf.leaf-three { left: 23%; bottom: 14px; width: 32px; }
    .home-story .hero-motion-toggle { top: 84px; }
    .home-products-heading { gap: 8px; padding-top: 18px; margin-top: -20px; border-radius: 50% 50% 0 0 / 20px 20px 0 0; }
    .home-heading-leaf { width: 25px; flex-basis: 25px; }
    .home-heading-copy h2 { font-size: 31px; }
    .home-heading-copy p { font-size: 17px; }
    .home-products-grid { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 10px; padding-top: 12px; }
    .home-product-label { min-height: 58px; bottom: 5%; }
    .home-product-label h3 { font-size: 17px; }
    .home-label-leaf { bottom: 13%; }
    .editor-styles-wrapper .home-products-grid > .block-editor-inner-blocks > .block-editor-block-list__layout { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 360px) {
    .home-products-grid { grid-template-columns: 1fr; max-width: 290px; }
    .editor-styles-wrapper .home-products-grid > .block-editor-inner-blocks > .block-editor-block-list__layout { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .home-product-art a { transition: none; } }
