/* Homepage-only refinement. The other SOK POL routes keep their existing layout. */
.sok-home {
  --green: #4d7909;
  --green-dark: #254529;
  --green-deep: #1c3921;
  --cream: #fafaf4;
}
/* Preserve the original edge-to-edge photograph and curved bottom.
   The information strip participates in layout so a wrapped title cannot hit it. */
.sok-home .home-hero {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 700px;
  padding-bottom: 66px;
}
.sok-home .home-hero__image {
  left: auto;
  right: 0;
  width: min(100%, 1440px);
  object-position: right 25%;
}
.sok-home .home-hero__content { padding-top: 74px; }
.sok-home .home-hero__content h1 { font-size: clamp(3.15rem, 5.2vw, 4.6rem); }
.sok-home .hero-features-wrap { position: relative; inset: auto; margin-top: 34px; }
.sok-home .hero-features { max-width: 830px; gap: 20px; }
.sok-home .hero-feature { padding-right: 0; gap: 12px; }
.sok-home .hero-feature strong { font-size: .84rem; }
.sok-home .hero-feature span { color: #46513f; font-size: .74rem; line-height: 1.55; }
.sok-home .orchard-seal { right: max(32px, calc((100vw - 1400px) / 2)); top: 40px; }
@media (max-width: 900px) {
  .sok-home .home-hero { min-height: 0; padding-bottom: 64px; }
  .sok-home .home-hero__content { padding-top: 40px; }
  .sok-home .home-hero__content h1 { font-size: clamp(2.65rem, 7.8vw, 3.9rem); }
  .sok-home .home-hero__content > p:not(.eyebrow) { font-size: .95rem; line-height: 1.75; }
  .sok-home .home-hero__image {
    top: auto;
    bottom: 0;
    width: 100%;
    height: 590px;
    object-position: right center;
    mask-image: linear-gradient(180deg, transparent, #000 28%);
  }
  .sok-home .home-hero__wash { background: linear-gradient(180deg, #fafcf4 0%, rgba(250,252,244,.96) 34%, rgba(250,252,244,.18) 65%, transparent); }
  .sok-home .hero-features-wrap { margin-top: 170px; }
  .sok-home .hero-features { max-width: 420px; gap: 0; }
  .sok-home .hero-feature { padding-block: 12px; }
  .sok-home .hero-feature strong { margin-bottom: 0; }
}
@media (max-width: 780px) {
  .sok-home .hero-features-wrap { width: min(660px, calc(100% - 28px)); margin-inline: auto; }
  .sok-home .hero-features { width: 100%; margin-inline: 0; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .sok-home .home-hero__content h1 { max-width: 600px; }
  .sok-home .home-hero__content > p:not(.eyebrow) { max-width: 470px; }
}
.sok-home .section { padding-block: 90px; }
.sok-home .section-heading { margin-bottom: 36px; }
.sok-home .section-heading--center h2 { max-width: 650px; margin-inline: auto; }
.sok-home .welcome-grid { grid-template-columns: 1.05fr 1fr; gap: 56px; align-items: start; }
.sok-home .welcome-copy {
  padding: 10px 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}
.sok-home .welcome-copy h2 { font-size: clamp(2.3rem, 3.2vw, 3.2rem); }
.sok-home .welcome-copy p:not(.eyebrow) { font-size: 1rem; line-height: 1.85; color: #53604e; }
.sok-home .news-preview { padding: 32px; border-color: #dce4d4; border-radius: 18px; background: #fcfcf8; }
.sok-home .news-preview h2 { font-size: 2rem; }
.sok-home .news-row strong { font-size: .94rem; }
.sok-home .news-row small { color: #64705b; font-size: .75rem; }
.sok-home .news-row em { font-size: .8rem; white-space: normal; }
.sok-home .quote-band { padding: 6px 0 0; }
.sok-home .quote-band__inner { padding-block: 28px; border-block: 1px solid #e2e9d9; }
.sok-home .quote-band blockquote { color: #526348; font-size: 1.5rem; }
.sok-home .offer-panels { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto; gap: 24px; }
.sok-home .offer-panel,
.sok-home .offer-panel--wide {
  display: flex; flex-direction: column; grid-row: auto;
  min-height: 0; border: 1px solid #dde4d6; border-radius: 20px;
  background: #fff; box-shadow: none;
  transition: box-shadow .25s ease, border-color .25s ease;
}
.sok-home .offer-panel > img {
  position: static; height: auto; width: 100%; aspect-ratio: 1.22;
  object-fit: cover; object-position: center;
}
.sok-home .offer-panel__overlay { display: none; }
.sok-home .offer-panel__content {
  position: relative; inset: auto; flex: 1;
  padding: 26px 54px 28px 26px; background: #fff;
}
.sok-home .offer-panel__content small { color: #57743c; font-size: .66rem; line-height: 1.7; letter-spacing: .07em; }
.sok-home .offer-panel__content strong { color: var(--green-deep); font-size: 1.9rem; }
.sok-home .offer-panel__content em { color: #5c6755; font-size: .84rem; }
.sok-home .offer-panel__content .icon {
  right: 18px; bottom: 27px; width: 32px; height: 32px;
  background: #eef3e5; color: #406524;
}
.sok-home .offer-panel:hover { border-color: #acbf95; box-shadow: 0 12px 32px #294d1812; }
.sok-home .offer-panel:hover > img { transform: scale(1.025); }
.sok-home .story-split { gap: 64px; }
.sok-home .story-split__media img { border-radius: 24px; }
.sok-home .story-split__copy > p:not(.eyebrow) { font-size: 1rem; line-height: 1.85; }
.sok-home .process-rail { gap: 30px; }
.sok-home .process-rail strong { font-size: 1.15rem; }
.sok-home .process-rail p { font-size: .9rem; line-height: 1.75; }
.sok-home .cta-band { background: linear-gradient(110deg, #1c3921, #36552b); }
.sok-home .cta-band h2 { max-width: 720px; }
.sok-home a:focus-visible,
.sok-home button:focus-visible { outline: 3px solid #4d7909; outline-offset: 5px; }
.sok-home .site-footer a:focus-visible,
.sok-home .cta-band a:focus-visible { outline-color: #cde695; }
@media (max-width: 980px) {
  .sok-home .welcome-grid { gap: 30px; grid-template-columns: minmax(0, 1fr); }
  .sok-home .welcome-copy { max-width: 660px; }
  .sok-home .offer-panels { gap: 15px; }
  .sok-home .offer-panel__content { padding: 20px 45px 24px 20px; }
  .sok-home .offer-panel__content strong { font-size: 1.5rem; }
  .sok-home .offer-panel__content .icon { right: 10px; bottom: 22px; width: 28px; height: 28px; }
  .sok-home .story-split { gap: 34px; }
}
@media (max-width: 600px) {
  .sok-home .section { padding-block: 64px; }
  .sok-home .welcome-copy h2 { font-size: 2.35rem; }
  .sok-home .news-preview { padding: 25px; }
  .sok-home .quote-band__inner { padding-inline: 14px; gap: 12px; }
  .sok-home .quote-band blockquote { font-size: 1.22rem; }
  .sok-home .quote-line { display: none; }
  .sok-home .offer-panels { grid-template-columns: 1fr; gap: 24px; }
  .sok-home .offer-panel > img { aspect-ratio: 1.4; }
  .sok-home .offer-panel__content { padding: 24px 60px 26px 24px; }
  .sok-home .offer-panel__content strong { font-size: 1.9rem; }
  .sok-home .offer-panel__content .icon { right: 20px; width: 32px; height: 32px; }
  .sok-home .process-rail { gap: 28px; }
  .sok-home .cta-band h2 { font-size: 2.35rem; }
}
@media (prefers-reduced-motion: reduce) {
  .sok-home .offer-panel,
  .sok-home .offer-panel > img { transition: none; }
  .sok-home .offer-panel:hover > img { transform: none; }
}

/* VECTIS 2026-10-20: zamiast podgladu aktualnosci - gospodarstwo w liczbach
   (fakty z tekstu obok: 27 ha, 7 ha sadu, soki od 2012). */
.sok-home .welcome-grid{align-items:center}
.welcome-facts{display:grid;gap:14px}
.welcome-facts > div{position:relative;display:grid;grid-template-columns:200px 1fr;align-items:center;gap:22px;padding:26px 30px;border:1px solid #dce4d4;border-radius:18px;background:linear-gradient(135deg,#fcfdf8 0%,#f1f6e8 100%);box-shadow:0 14px 34px -26px rgba(37,67,27,.45);overflow:hidden;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s}
.welcome-facts > div::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:0 4px 4px 0;background:linear-gradient(180deg,var(--green-bright),var(--green))}
.welcome-facts strong{color:var(--green-dark);font-family:var(--serif);font-size:clamp(2.2rem,3vw,2.9rem);line-height:1;letter-spacing:-.01em;white-space:nowrap}
.welcome-facts span{color:#53604e;font-size:.98rem;line-height:1.45}
@media (hover:hover){.welcome-facts > div:hover{transform:translateX(4px);box-shadow:0 20px 40px -26px rgba(37,67,27,.6)}}
@media (max-width:980px){.welcome-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.welcome-facts > div{grid-template-columns:1fr;gap:8px;padding:22px 20px}}
@media (max-width:600px){.welcome-facts{grid-template-columns:1fr}.welcome-facts > div{grid-template-columns:134px 1fr;gap:14px;padding:18px 20px}.welcome-facts strong{font-size:2rem}}
@media (prefers-reduced-motion:reduce){.welcome-facts > div:hover{transform:none}}
