/* ============================================================
   Field Hoppers — shared quote funnel styles (.fhf namespace)
   Used by index.html (homepage hero) and start.html.
   Self-contained palette so it works regardless of page CSS.
   ============================================================ */
.fhf{
  --ink:#1a2418;--paper:#f3ead2;--yellow:#f5c518;--yellow-dk:#e0b000;
  --green:#2e7d32;--green-dk:#1b5e20;--green-deep:#143d12;--green-lt:#66bb6a;
  --rust:#d94f2a;--grey:#6b6b66;--hair:rgba(26,36,24,.18);
  --disp:'Anton',sans-serif;--narrow:'Archivo Narrow',sans-serif;--body:'Archivo',sans-serif;
  font-family:var(--body);color:var(--ink);
}
.fhf *{box-sizing:border-box}
.fhf .steplab{font-family:var(--narrow);font-weight:700;font-size:.74rem;letter-spacing:2px;text-transform:uppercase;color:var(--green-dk);display:flex;align-items:center;gap:9px;margin-bottom:9px}
.fhf .steplab b{font-family:var(--disp);background:var(--yellow);color:var(--ink);width:23px;height:23px;display:inline-flex;align-items:center;justify-content:center;font-size:.82rem;letter-spacing:0;flex-shrink:0}
.fhf .muted{font-family:var(--narrow);font-weight:400;letter-spacing:0;text-transform:none;color:var(--grey);font-size:.8rem}

/* MAP */
.fhf-map{height:290px;border:1.5px solid var(--ink);display:none;background:#dfe6d8;margin-bottom:16px;position:relative}
.fhf-map .gmap,.fhf-map .lmap{position:absolute;inset:0}

/* SIZER */
.fhf-sizer{display:none;margin-bottom:16px;border:1.5px solid var(--ink);background:#faf7ec;padding:16px 18px 14px}
.fhf-sizer input[type=range]{width:100%;-webkit-appearance:none;appearance:none;height:6px;background:var(--green-deep);border:none;padding:0;margin:16px 0 6px}
.fhf-sizer input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;background:var(--yellow);border:3px solid var(--ink);border-radius:50%;cursor:pointer}
.fhf-sizer input[type=range]::-moz-range-thumb{width:22px;height:22px;background:var(--yellow);border:3px solid var(--ink);border-radius:50%;cursor:pointer}
.fhf-sizeval{font-family:var(--disp);font-size:1.15rem;text-transform:uppercase}
.fhf-sizehint{font-family:var(--narrow);font-size:.78rem;color:var(--grey)}

/* QUOTE — weekly primary, first-cut discount secondary */
.fhf-quote{display:none;border:1.5px solid var(--ink);background:#fff;margin-bottom:18px}
.fhf-qhead{background:var(--green-deep);color:var(--paper);padding:10px 16px;font-family:var(--narrow);font-size:.68rem;letter-spacing:2px;text-transform:uppercase;display:flex;justify-content:space-between;gap:8px;border-bottom:2px solid var(--yellow)}
.fhf-qhead b{color:var(--yellow)}
.fhf-qbody{padding:16px}
.fhf-qrow{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--hair);font-family:var(--narrow);font-size:.95rem}
.fhf-qrow .k{color:var(--grey);text-transform:uppercase;font-size:.7rem;letter-spacing:1.5px;padding-top:4px}
.fhf-primary{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:14px 0 6px;border-bottom:none}
.fhf-primary .plan-name{font-family:var(--disp);text-transform:uppercase;font-size:1rem;color:var(--green-dk);line-height:1.1}
.fhf-primary .plan-name span{display:block;font-family:var(--narrow);font-size:.72rem;letter-spacing:1px;color:var(--grey);font-weight:600}
.fhf-primary .amt{font-family:var(--disp);font-size:2.4rem;color:var(--green);line-height:.9;text-align:right}
.fhf-primary .amt i{font-family:var(--narrow);font-style:normal;font-size:.8rem;color:var(--grey);letter-spacing:0}
.fhf-secondary{display:flex;align-items:center;gap:10px;padding-top:10px;font-family:var(--narrow);font-size:.86rem;color:#46453f}
.fhf-offtag{display:inline-block;background:var(--yellow);border:2px solid var(--ink);font-family:var(--disp);font-size:.72rem;text-transform:uppercase;padding:3px 9px;transform:rotate(-2deg);white-space:nowrap}

/* PLANS */
.fhf-plans{display:none;margin-bottom:18px}
.fhf-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.fhf-plan{position:relative;border:1.5px solid var(--ink);background:#fff;padding:18px 12px 12px;text-align:center;cursor:pointer;font-family:var(--narrow);transition:.15s;display:flex;flex-direction:column;align-items:center;color:var(--ink)}
.fhf-plan:hover{background:#faf7ec;transform:translateY(-2px);box-shadow:0 8px 18px rgba(20,61,18,.18)}
.fhf-plan:active{transform:translateY(0)}
.fhf-plan.pop{border-color:var(--green-deep);border-width:2.5px}
.fhf-plan-badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--yellow);border:1.5px solid var(--ink);font-family:var(--disp);font-size:.58rem;letter-spacing:.5px;text-transform:uppercase;padding:2px 9px;white-space:nowrap}
.fhf-plan-tag{font-family:var(--disp);font-size:.8rem;letter-spacing:.5px;text-transform:uppercase;color:var(--green-dk)}
.fhf-plan-price{font-family:var(--disp);font-size:1.95rem;line-height:1;color:var(--green);margin:8px 0 2px}
.fhf-plan-price i{font-family:var(--narrow);font-style:normal;font-size:.75rem;color:var(--grey);letter-spacing:0}
.fhf-plan-per{font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:var(--grey);min-height:2.4em}
.fhf-plan-cta{width:100%;margin-top:10px;background:var(--green-deep);color:var(--paper);font-family:var(--disp);font-size:.74rem;letter-spacing:.5px;text-transform:uppercase;padding:9px 6px;border:1.5px solid var(--green-deep)}
.fhf-plan.pop .fhf-plan-cta,.fhf-plan:hover .fhf-plan-cta{background:var(--yellow);color:var(--ink);border-color:var(--ink)}
.fhf-plan[disabled]{opacity:.6;pointer-events:none}
.fhf-plans-note{margin-top:12px;font-family:var(--narrow);font-size:.76rem;color:var(--grey);line-height:1.5;text-align:center}
.fhf-plans-note b{color:var(--green-dk)}

/* OVER 2 ACRES + OUT OF AREA + DONE */
.fhf-big,.fhf-oob{display:none;border:1.5px solid var(--ink);background:#fff;margin-bottom:18px;padding:20px 18px}
.fhf-oob-head{font-family:var(--disp);font-size:1.6rem;text-transform:uppercase;line-height:1;color:var(--rust);margin-bottom:10px}
.fhf-lead{font-family:var(--narrow);font-size:.95rem;color:#46453f;line-height:1.55;margin-bottom:16px}
.fhf-lead b{color:var(--green-dk)}
.fhf-f{margin-bottom:11px}
.fhf-f label{display:block;font-family:var(--narrow);font-weight:700;font-size:.64rem;letter-spacing:2px;text-transform:uppercase;margin-bottom:4px}
.fhf-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fhf input.fld{border:1.5px solid var(--ink);background:#faf7ec;padding:12px;font-family:var(--narrow);font-size:1rem;width:100%;color:var(--ink);border-radius:0;-webkit-appearance:none}
.fhf input.fld:focus{outline:none;background:#fff;box-shadow:inset 0 0 0 2px var(--yellow)}
.fhf-btn{border:1.5px solid var(--ink);background:var(--yellow);color:var(--ink);font-family:var(--disp);font-size:.95rem;letter-spacing:.5px;text-transform:uppercase;padding:13px 22px;cursor:pointer;white-space:nowrap;transition:.15s;width:100%;display:block}
.fhf-btn:hover{background:var(--green-deep);color:var(--yellow);border-color:var(--green-deep)}
.fhf-btn.dark{background:var(--green-deep);color:var(--paper);border-color:var(--green-deep)}
.fhf-btn.dark:hover{background:var(--yellow);color:var(--ink);border-color:var(--ink)}
.fhf-msg{padding-top:8px;font-family:var(--narrow);font-size:.85rem;color:var(--grey)}
.fhf-hp{position:absolute;left:-9999px}
.fhf-done{display:none;text-align:center;padding:44px 20px}
.fhf-done .big{font-family:var(--disp);font-size:2rem;text-transform:uppercase;line-height:1;color:var(--green-dk)}
.fhf-done p{margin-top:14px;font-family:var(--narrow);color:#46453f;line-height:1.6}

@media(max-width:560px){
  .fhf-plan-grid{grid-template-columns:1fr;gap:12px}
  .fhf-plan.pop{margin-top:6px}
}
