/* ==========================================================================
   Farm Pulse Telegram section, as supplied (telegram-farm-pulse.html).

   Everything between the two marker comments below is the component's own
   stylesheet, copied unchanged. Only these two small blocks are the site's.

   1. Before it: site.css sets a few element-wide rules that would otherwise
      reach inside the section and change its look (heading colour and
      tracking, the display face on the bot's message title, font smoothing,
      paragraph margins, the rounding site.css gives a focused element).
      They are cancelled here, before the component's rules, so wherever the
      component sets a value itself, its value still wins.
   ========================================================================== */
#jp-farm-pulse{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}
#jp-farm-pulse h2,#jp-farm-pulse h3{color:inherit;letter-spacing:normal}
#jp-farm-pulse .fp-message h3{font-family:inherit;font-weight:bold}
#jp-farm-pulse p{margin-top:1em;margin-bottom:1em}
#jp-farm-pulse h3:focus-visible{border-radius:0}
/* the chat shell is scrolled into view on phones; keep it clear of a page's sticky sub-menu
   (a page that has one sets --page-subnav on its body) */
#jp-farm-pulse .fp-shell{scroll-margin-top:calc(var(--page-subnav,0px) + 16px)}

/* ---------- component stylesheet: begin (unchanged) ---------- */
/* Integration: all component styles are scoped to #jp-farm-pulse. */
#jp-farm-pulse{--cream:#f5f2e9;--ink:#153c34;--muted:#65746a;--purple:#8065ef;box-sizing:border-box;background:var(--cream);color:var(--ink);font:15px/1.6 Inter,Arial,sans-serif;padding:88px max(24px,calc((100% - 1240px)/2));isolation:isolate}
#jp-farm-pulse *,#jp-farm-pulse *:before,#jp-farm-pulse *:after{box-sizing:border-box}
#jp-farm-pulse button{font:inherit;cursor:pointer}#jp-farm-pulse button:focus-visible,#jp-farm-pulse a:focus-visible{outline:3px solid #d7b85b;outline-offset:4px}
#jp-farm-pulse .fp-eyebrow{font-size:11px;font-weight:700;letter-spacing:2.4px;text-transform:uppercase;display:flex;align-items:center;gap:10px}
#jp-farm-pulse .fp-eyebrow:before{content:"";width:28px;height:1px;background:#578474}
#jp-farm-pulse .fp-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:72px;align-items:center}
#jp-farm-pulse h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(40px,4.5vw,66px);line-height:1.06;letter-spacing:-2.5px;margin:26px 0}
#jp-farm-pulse h2 em{font-weight:400;color:#628a71}#jp-farm-pulse .fp-lead{font-size:17px;line-height:1.8;max-width:410px;color:var(--muted);margin-bottom:30px}
#jp-farm-pulse .fp-primary{display:inline-flex;align-items:center;gap:24px;border:0;border-radius:7px;background:#183e34;color:#fff;padding:14px 22px;font-weight:600;transition:background .2s,transform .2s}
#jp-farm-pulse .fp-primary:hover{background:#285847;transform:translateY(-2px)}
#jp-farm-pulse .fp-caption{color:#788078;font-size:12px;margin:12px 0 36px}
#jp-farm-pulse .fp-steps{display:flex;gap:12px;border-top:1px solid #d8ddd2;padding:22px 0 28px;margin:0;list-style:none}
#jp-farm-pulse .fp-steps li{flex:1;font-size:11px;color:#7a857b;line-height:1.5}#jp-farm-pulse .fp-steps b{display:block;font-weight:400;font-family:Georgia,serif;font-size:25px;color:#a7b1a2;margin-bottom:7px}#jp-farm-pulse .fp-steps li[aria-current=step],#jp-farm-pulse .fp-steps li[aria-current=step] b{color:#1f654d}
#jp-farm-pulse .fp-weight{border:1px solid #d4ddd0;background:#ebeee3;border-radius:12px;padding:20px;width:100%;text-align:left;color:var(--ink);display:flex;gap:15px;align-items:center;transition:background .2s}#jp-farm-pulse .fp-weight:hover{background:#e0e8d7}#jp-farm-pulse .fp-weight-icon{font-size:26px;width:46px;flex-shrink:0}#jp-farm-pulse .fp-weight strong{display:block;font-size:14px}#jp-farm-pulse .fp-weight small{display:block;font-size:12px;color:#657567;line-height:1.6;margin-top:4px}#jp-farm-pulse .fp-arrow{margin-left:auto;font-size:22px}
#jp-farm-pulse .fp-shell{background:#101a22;border:1px solid #293e40;border-radius:23px;overflow:hidden;box-shadow:0 26px 70px -30px #173f3455;color:#ecf0f3;min-width:0}
#jp-farm-pulse .fp-top{display:flex;align-items:center;gap:12px;padding:18px 22px;background:#1c2933;border-bottom:1px solid #344149}
#jp-farm-pulse .fp-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(145deg,#49b9d9,#2789cf);display:grid;place-items:center;flex-shrink:0}#jp-farm-pulse .fp-avatar svg{width:23px;fill:white}
#jp-farm-pulse .fp-top strong{display:block;font-size:14px}#jp-farm-pulse .fp-top small{display:block;color:#99acb9;font-size:11px}
#jp-farm-pulse .fp-reset{margin-left:auto;background:transparent;border:1px solid #42515b;color:#c4cfd5;border-radius:6px;padding:5px 10px;font-size:11px}
#jp-farm-pulse .fp-demo{display:flex;justify-content:space-between;gap:8px;padding:9px 22px;background:#17232b;color:#a6bcb5;font-size:10px;letter-spacing:.3px}#jp-farm-pulse .fp-demo span:first-child:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:#a8c592;margin-right:7px}
#jp-farm-pulse .fp-chat{padding:22px;min-height:515px;background:radial-gradient(ellipse at 100% 0,#22413850,transparent 70%),radial-gradient(#a5c4b509 .8px,transparent .8px);background-size:auto,18px 18px;display:flex;flex-direction:column;justify-content:center}
#jp-farm-pulse .fp-welcome{text-align:center;padding:28px 10px;animation:fp-in .3s ease}#jp-farm-pulse .fp-welcome-icon{width:82px;height:82px;margin:0 auto 24px;border:1px solid #41614e;border-radius:24px;display:grid;place-items:center;background:#273b30;font-size:34px;box-shadow:0 0 65px #51856a20}#jp-farm-pulse .fp-welcome h3{font-family:Georgia,serif;font-size:32px;line-height:1.2;font-weight:400;margin:0 0 14px}#jp-farm-pulse .fp-welcome p{font-size:13px;color:#a1b5b4;max-width:295px;margin:0 auto 28px}
#jp-farm-pulse .fp-start{border:1px solid #9580f4;background:#8065ef;color:white;border-radius:8px;padding:12px 40px;font-weight:600;min-width:200px}
#jp-farm-pulse .fp-user{align-self:flex-end;border-radius:12px 12px 3px 12px;background:#8065ef;color:#fff;padding:7px 15px;font-size:12px;margin:0 0 12px;max-width:90%;overflow-wrap:anywhere}
#jp-farm-pulse .fp-message{border-radius:13px 13px 13px 3px;background:#22323d;padding:21px;animation:fp-in .25s ease;overflow-wrap:anywhere}#jp-farm-pulse .fp-message h3{font-size:15px;line-height:1.5;margin:0 0 12px;outline:none}#jp-farm-pulse .fp-message p{font-size:13px;color:#bdcbd1;margin:10px 0}#jp-farm-pulse .fp-message .fp-tagline{color:#c9dbac;font-weight:600}#jp-farm-pulse .fp-message hr{border:0;border-top:1px solid #3a4b55;margin:17px 0}#jp-farm-pulse .fp-message .fp-message-note{font-size:11px;color:#8fa5b0}
#jp-farm-pulse .fp-keyboard{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}#jp-farm-pulse .fp-key{border:1px solid #3d4b60;background:#303d50;color:#eeebff;border-radius:7px;min-height:43px;padding:9px 10px;font-size:12px;transition:background .15s,border .15s}#jp-farm-pulse .fp-key:hover{background:#484466;border-color:#8674ca}#jp-farm-pulse .fp-key:disabled{cursor:wait;opacity:.55}#jp-farm-pulse .fp-full{grid-column:1/-1}
#jp-farm-pulse .fp-reading-value{font-size:39px;line-height:1.1;font-weight:500;letter-spacing:-1px;margin:13px 0 20px;color:#fafafa}#jp-farm-pulse .fp-reading-value span{font-size:18px;color:#a2b3bb;letter-spacing:0}
#jp-farm-pulse .fp-reading-label{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:#9eb4be}#jp-farm-pulse .fp-status{border-left:2px solid var(--status,#a8beac);background:#15232b70;padding:10px 12px;margin:15px 0;color:#dce6e4;font-size:12px}#jp-farm-pulse .fp-status b{color:var(--status,#a8beac);display:block;margin-bottom:4px}#jp-farm-pulse .fp-message time{font-size:10px;color:#93a6b1}
#jp-farm-pulse .fp-foot{min-height:43px;padding:12px 22px;background:#19262e;color:#a3b0ba;font-size:10px;border-top:1px solid #2e3f48}
#jp-farm-pulse .fp-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:35px;border-top:1px solid #d9dfd3;padding-top:17px;font-size:11px;color:#728273}#jp-farm-pulse .fp-bottom b{font-weight:600;color:#496353}
/* Telegram response layout: compact text lines, a single /start, inline keyboard. */
#jp-farm-pulse .fp-top{background:#212121}
#jp-farm-pulse .fp-chat{background:#0d0d10;justify-content:flex-end;min-height:515px}
#jp-farm-pulse .fp-user{background:#7c69be;font-size:14px;border-radius:16px 16px 3px 16px;padding:6px 14px;margin-bottom:12px}
#jp-farm-pulse .fp-message{background:#212121;border-radius:12px 12px 12px 3px;padding:12px 14px}
#jp-farm-pulse .fp-message h3{font-size:16px;line-height:1.4;margin:0 0 20px}
#jp-farm-pulse .fp-reading-row{font-size:15px;line-height:1.5;color:#f2f2f2;font-weight:400}
#jp-farm-pulse .fp-keyboard{gap:5px;margin-top:5px}
#jp-farm-pulse .fp-key{background:#252930;border-color:transparent;border-radius:5px;min-height:40px;padding:7px 10px;font-size:14px;font-weight:600}
#jp-farm-pulse .fp-key:hover{background:#373342;border-color:#81719f}
@keyframes fp-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){#jp-farm-pulse{padding:52px 24px}#jp-farm-pulse .fp-layout{gap:32px;grid-template-columns:1fr 1.2fr}#jp-farm-pulse h2{font-size:43px}#jp-farm-pulse .fp-chat{padding:16px}#jp-farm-pulse .fp-message{padding:16px}}
@media(max-width:680px){#jp-farm-pulse{padding:42px 18px}#jp-farm-pulse .fp-layout{grid-template-columns:1fr;gap:30px}#jp-farm-pulse h2{font-size:47px;max-width:380px}#jp-farm-pulse .fp-lead{max-width:none}#jp-farm-pulse .fp-caption{margin-bottom:20px}#jp-farm-pulse .fp-steps{padding-bottom:20px}#jp-farm-pulse .fp-chat{min-height:480px}#jp-farm-pulse .fp-top{padding:15px}#jp-farm-pulse .fp-top strong{font-size:12px}#jp-farm-pulse .fp-demo{padding:9px 15px}#jp-farm-pulse .fp-bottom{flex-direction:column;gap:6px}#jp-farm-pulse .fp-reading-value{font-size:34px}}
@media(prefers-reduced-motion:reduce){#jp-farm-pulse *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* ---------- component stylesheet: end ---------- */

/* 2. After it: on wide screens the section's outer padding follows the site's
      content width (max 1340px plus the page gutter) instead of its own 1240px,
      so its left edge lines up with every other section. Nothing inside the
      section changes; at 900px and below its own padding rules apply. */
@media (min-width:901px){
  #jp-farm-pulse{padding-left:max(var(--pad),calc((100% - var(--maxw)) / 2));
    padding-right:max(var(--pad),calc((100% - var(--maxw)) / 2))}
}
