*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--farm-brown:#5C4033;--farm-gold:#D4A017;--farm-green:#2D5016;--farm-off:#F7F3EA;--farm-slab:'Roboto Slab',serif;--farm-sans:'Karla',sans-serif}
html{scroll-behavior:smooth}
body.farm-body{font-family:var(--farm-sans);background:var(--farm-off);color:var(--farm-brown);line-height:1.6}
.farm-hero{display:grid;grid-template-columns:1fr 1fr;min-height:320px}
.farm-hero-wood{background:linear-gradient(180deg,#6B4E3D 0%,#4A3728 100%);background-image:repeating-linear-gradient(90deg,transparent,transparent 40px,rgba(0,0,0,.08) 40px,rgba(0,0,0,.08) 42px);color:var(--farm-off);padding:3rem 2rem;display:flex;flex-direction:column;justify-content:center}
.farm-hero-wood h1{font-family:var(--farm-slab);font-size:clamp(1.5rem,4vw,2.25rem);font-weight:700;line-height:1.2;margin-bottom:.75rem}
.farm-hero-sub{font-size:.9rem;opacity:.85;text-transform:uppercase;letter-spacing:.1em}
.farm-hero-field{background:linear-gradient(135deg,#8BA888 0%,#5A7A52 50%,#3D5C35 100%);padding:3rem 2rem;display:flex;flex-direction:column;justify-content:center;color:#fff}
.farm-hero-field p{font-size:1rem;line-height:1.7;max-width:36ch}
.farm-contact-line{margin-top:1.5rem;font-family:var(--farm-slab);font-size:1.25rem}
.farm-contact-line a{color:var(--farm-gold);text-decoration:none}
section{padding:3rem 2rem;max-width:900px;margin:0 auto}
section h2{font-family:var(--farm-slab);font-size:1.75rem;color:var(--farm-green);margin-bottom:1.5rem;border-bottom:3px solid var(--farm-gold);padding-bottom:.35rem;display:inline-block}
.farm-table-wrap{overflow-x:auto;border:3px solid var(--farm-brown);background:#fff}
.farm-table{width:100%;border-collapse:collapse;font-size:.9rem}
.farm-table th,.farm-table td{padding:.85rem 1rem;text-align:left;border:1px solid #ddd}
.farm-table th{background:var(--farm-brown);color:var(--farm-off);font-family:var(--farm-slab);font-weight:600}
.farm-table tr:nth-child(even){background:rgba(212,160,23,.08)}
.farm-table td:first-child{font-weight:600;color:var(--farm-green)}
.farm-ledger-note{margin-top:1rem;font-size:.85rem;font-style:italic}
.farm-radius-map{position:relative;width:280px;height:280px;margin:0 auto 2rem}
.farm-radius-ring{position:absolute;border:2px dashed var(--farm-green);border-radius:50%;display:flex;align-items:flex-start;justify-content:center}
.farm-radius-ring span{font-size:.65rem;color:var(--farm-green);margin-top:.25rem}
.farm-radius-ring--1{width:100px;height:100px;top:90px;left:90px}
.farm-radius-ring--2{width:180px;height:180px;top:50px;left:50px}
.farm-radius-ring--3{width:260px;height:260px;top:10px;left:10px}
.farm-radius-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--farm-gold);color:var(--farm-brown);padding:.5rem 1rem;font-family:var(--farm-slab);font-weight:700;font-size:.85rem;border-radius:4px}
.farm-address{font-weight:600;margin-top:1rem}
.farm-form{display:grid;gap:1rem;max-width:480px;background:#fff;padding:2rem;border:2px solid var(--farm-brown);margin-bottom:1rem}
.farm-form label{display:flex;flex-direction:column;gap:.3rem;font-weight:600;font-size:.85rem}
.farm-form input,.farm-form textarea{padding:.7rem;border:1px solid #ccc;font-family:var(--farm-sans)}
.farm-check{flex-direction:row!important;align-items:flex-start;font-weight:400!important}
.farm-check input{width:auto;margin-right:.5rem;margin-top:.15rem}
.farm-form button{background:var(--farm-green);color:#fff;border:none;padding:.85rem;font-family:var(--farm-slab);font-weight:600;cursor:pointer;font-size:1rem}
.farm-form button:hover{background:#234010}
.farm-success{color:var(--farm-green);font-weight:600}
.farm-form .farm-error{color:#c00;font-size:.8rem;font-weight:400}
.farm-email a{color:var(--farm-brown);font-weight:600}
.farm-footer{background:var(--farm-brown);color:var(--farm-off);padding:2rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.farm-footer nav{display:flex;gap:1.5rem}
.farm-footer a{color:var(--farm-gold);text-decoration:none}
.farm-legal{max-width:640px;margin:0 auto 2rem;padding:1.5rem;display:none;font-size:.9rem}
.farm-legal:target{display:block;background:#fff;border-left:4px solid var(--farm-gold);padding-left:1.5rem}
.farm-legal h3{font-family:var(--farm-slab);margin-bottom:.75rem;color:var(--farm-green)}
@media(max-width:640px){
  .farm-hero{grid-template-columns:1fr}
}
