/* 31 Oct 2026 — "On TikTok" video sections (vf-tiktok.js loads the TikTok player only when a visitor taps play) */
.vtt{background:#f3f8f2;border-top:1px solid #dcebd9;padding:44px 0 40px}
.vtt-wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.vtt-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:20px}
.vtt-kick{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#15803d;margin-bottom:6px}
.vtt h2{margin:0;font-size:clamp(22px,3.2vw,30px);line-height:1.2;font-weight:800;color:#14361f}
.vtt-sub{margin:6px 0 0;color:#4b5f50;font-size:15px}
.vtt-follow{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:#111;color:#fff;font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap}
.vtt-follow:hover{background:#2a2a2a}
.vtt-follow svg{width:18px;height:18px;fill:currentColor}
.vtt-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,250px));justify-content:center;gap:16px}
.vtt-card{position:relative;aspect-ratio:9/16;max-height:520px;border-radius:18px;overflow:hidden;background:#0f2a18;box-shadow:0 6px 18px rgba(20,54,31,.16)}
.vtt-play{all:unset;box-sizing:border-box;position:absolute;inset:0;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;color:#fdfbf6;
  background:radial-gradient(120% 70% at 50% 30%,rgba(34,197,94,.28),transparent 60%),linear-gradient(165deg,#1d4d2b 0%,#0f2a18 70%)}
.vtt-play:focus-visible{outline:3px solid #facc15;outline-offset:-3px}
.vtt-pi{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:68px;height:68px;border-radius:50%;background:rgba(253,251,246,.95);display:flex;align-items:center;justify-content:center;transition:transform .15s}
.vtt-play:hover .vtt-pi{transform:translate(-50%,-50%) scale(1.07)}
.vtt-pi svg{width:28px;height:28px;margin-left:4px;fill:#14361f}
.vtt-t{font-weight:800;font-size:16px;line-height:1.3}
.vtt-s{margin-top:6px;font-size:12px;opacity:.8}
.vtt-card iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* 1 Nov 2026 — each tile shows its video's own cover (images/tiktok/<id>.jpg); dark fade at the bottom keeps the title readable */
.vtt-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0;transition:transform .35s}
.vtt-play:hover .vtt-cover{transform:scale(1.03)}
.vtt-play:has(.vtt-cover)::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,0) 48%,rgba(8,24,14,.86) 100%)}
.vtt-play .vtt-pi{z-index:2}
.vtt-play .vtt-t,.vtt-play .vtt-s{position:relative;z-index:2;text-shadow:0 1px 3px rgba(0,0,0,.55)}
.vtt-play:has(.vtt-cover) .vtt-pi{background:rgba(253,251,246,.9);box-shadow:0 10px 26px -8px rgba(0,0,0,.6)}
.vtt-note{margin:14px 0 0;font-size:12px;color:#5b6b5f}
.vtt-note a{color:inherit;text-decoration:underline}
/* 31 Oct 2026 — real visit videos in place of the old AI pictures: a still frame from the video with a play button;
   tapping opens the TikTok player in a pop-up (nothing loads from TikTok before that) */
.vtv{position:relative;display:block;cursor:pointer;-webkit-tap-highlight-color:transparent}
.vtv.vtv-fill{height:100%}
.vtv:focus-visible{outline:3px solid #facc15;outline-offset:3px;border-radius:16px}
.vtv-pi{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:rgba(253,251,246,.94);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px -8px rgba(0,0,0,.55);transition:transform .15s;pointer-events:none}
.vtv:hover .vtv-pi{transform:translate(-50%,-50%) scale(1.08)}
.vtv-pi svg{width:26px;height:26px;margin-left:4px;fill:#14361f}
.vtv-cap{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:rgba(17,17,17,.72);color:#fff;font-size:12px;font-weight:700;line-height:1.2;pointer-events:none;max-width:calc(100% - 24px)}
.vtv-cap svg{width:13px;height:13px;fill:currentColor;flex-shrink:0}
.vtv.vtv-top .vtv-cap{top:14px;bottom:auto;left:14px}
.vtv-sm .vtv-pi{width:44px;height:44px}.vtv-sm .vtv-pi svg{width:18px;height:18px;margin-left:3px}
.vtv-sm .vtv-cap{left:8px;bottom:8px;font-size:11px;padding:4px 9px}
.vtv-sm.vtv-top .vtv-cap{top:8px;left:8px;bottom:auto}
.vtv-modal{position:fixed;inset:0;z-index:2147483000;background:rgba(8,20,12,.86);display:flex;align-items:center;justify-content:center;padding:16px}
.vtv-box{position:relative;height:min(86vh,780px,167vw);aspect-ratio:9/16;border-radius:18px;overflow:hidden;background:#000;box-shadow:0 30px 70px -20px rgba(0,0,0,.8)}
.vtv-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vtv-x{all:unset;box-sizing:border-box;position:absolute;top:10px;right:10px;z-index:2;width:42px;height:42px;border-radius:50%;background:rgba(253,251,246,.95);display:flex;align-items:center;justify-content:center;cursor:pointer}
.vtv-x svg{width:20px;height:20px;stroke:#14361f;stroke-width:2.5;fill:none}
.vtv-x:focus-visible{outline:3px solid #facc15}
/* 1 Nov 2026 — videos spread through the page: top strip (light) + middle strip (dark green) + bottom section */
.vtt-strip{padding:30px 0 28px;background:linear-gradient(180deg,#eef6ec 0%,#f7fbf6 100%);border-top:1px solid #dcebd9;border-bottom:1px solid #dcebd9}
.vtt-strip .vtt-head{margin-bottom:16px}
.vtt-strip h2{font-size:clamp(20px,2.7vw,26px)}
.vtt-strip .vtt-row{grid-template-columns:repeat(auto-fit,minmax(170px,230px));justify-content:center}
.vtt-strip .vtt-card{max-height:410px}
.vtt-dark{background:radial-gradient(120% 140% at 15% 0%,#1f5a33 0%,#14361f 55%,#0f2a18 100%);border-color:#0f2a18}
.vtt-dark .vtt-kick{color:#bef264}
.vtt-dark h2{color:#fdfbf6}
.vtt-dark .vtt-sub{color:#cfe3d3}
.vtt-dark .vtt-card{box-shadow:0 10px 26px -8px rgba(0,0,0,.55)}
@media (max-width:640px){
  .vtt{padding:34px 0 30px}
  .vtt.vtt-strip{padding:24px 0 22px}
  .vtt-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:6px;-webkit-overflow-scrolling:touch}
  .vtt-card{flex:0 0 68%;max-width:250px;scroll-snap-align:start}
}

/* 1 Nov 2026 — wide (16:9) AgriPlan video: picture with play button + 16:9 pop-up */
.vtv-box.vtv-box-wide{height:auto;width:min(94vw,1100px,calc(86vh * 16 / 9));aspect-ratio:16/9}
.apv{padding:44px 0 46px;background:#f3f8f4;border-bottom:1px solid #dcebe1}
.apv.apv-dark{background:transparent;border:0;padding:46px 0 6px}
.apv-in{max-width:960px;margin:0 auto;padding:0 16px;text-align:center}
.apv-k{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#2d6e47}
.apv-k svg{width:15px;height:15px;fill:currentColor}
.apv h2{margin:10px 0 6px;font-size:clamp(24px,3.4vw,34px);font-weight:800;line-height:1.2;color:#14361f;letter-spacing:-.01em}
.apv p.apv-s{margin:0 auto 22px;max-width:620px;font-size:15.5px;line-height:1.55;color:#4b5563}
.apv-dark .apv-k{color:#efb33d}.apv-dark h2{color:#fdfbf6}.apv-dark p.apv-s{color:rgba(232,243,236,.78)}
.apv .vtv-wide{border-radius:18px;overflow:hidden;box-shadow:0 26px 60px -24px rgba(20,54,31,.55);border:1px solid rgba(20,54,31,.12);background:#0b2416}
.apv .vtv-wide img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.apv .vtv-wide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.35));pointer-events:none}
.apv .vtv-wide .vtv-pi{width:84px;height:84px;z-index:1}
.apv .vtv-wide .vtv-pi svg{width:34px;height:34px;margin-left:6px}
.apv .vtv-wide .vtv-cap{z-index:1;left:16px;bottom:16px;font-size:13px}
.apv-n{margin:12px 0 0;font-size:12px;color:#6b7280}
.apv-dark .apv-n{color:rgba(232,243,236,.55)}
@media (max-width:640px){.apv{padding:32px 0 34px}.apv .vtv-wide .vtv-pi{width:64px;height:64px}.apv .vtv-wide .vtv-pi svg{width:26px;height:26px}.apv .vtv-wide .vtv-cap{left:10px;bottom:10px;font-size:11.5px}}
