/* ===== Pelto Oy — classic corporate, white / blue / green ===== */
:root{
  --green:#36704a;
  --green-darker:#274537;
  --green-pale:#eef3ee;
  --blue:#2a5f93;
  --blue-dark:#1d4670;
  --ink:#23291f;
  --body:#454c41;
  --muted:#79806f;
  --line:#dfe2d8;
  --line-soft:#e9ebe2;
  --paper:#ffffff;
  --paper-2:#f6f7f2;
  --serif:'Lora',Georgia,'Times New Roman',serif;
  --sans:'Source Sans 3',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --max:1140px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--body);background:var(--paper);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif);color:var(--ink);font-weight:600;line-height:1.2}
p{margin-bottom:1.1rem}
p:last-child{margin-bottom:0}

/* utility bar */
.util{background:var(--green-darker);color:#cdd8cd;font-size:.84rem}
.util-in{display:flex;align-items:center;justify-content:space-between;height:38px}
.util-tag{letter-spacing:.2px}
.util-right{display:flex;align-items:center;gap:1.4rem}
.util-right a{color:#cdd8cd;transition:color .15s}
.util-right a:hover{color:#fff}
.lang{background:none;border:none;color:#cdd8cd;font-family:var(--sans);font-size:.84rem;cursor:pointer;letter-spacing:.5px;padding:0}
.lang .on{color:#fff;font-weight:700}
body.en .lang .on{color:#cdd8cd;font-weight:400}
body.en .lang .off{color:#fff;font-weight:700}

/* header */
.hdr{position:sticky;top:0;z-index:40;background:var(--paper);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;height:62px}
.brand{display:flex;align-items:center;gap:.7rem}
.brand-txt{font-family:var(--serif);font-size:1.35rem;font-weight:700;color:var(--ink);letter-spacing:.3px}
.brand-txt em{font-style:normal;font-weight:400;color:var(--green)}
.nav{display:flex;align-items:center;gap:2rem;font-size:.97rem}
.nav a{color:var(--body);font-weight:600;padding:.3rem 0;border-bottom:2px solid transparent;transition:.15s}
.nav a:hover{color:var(--green);border-bottom-color:var(--green)}
.nav-cta{background:var(--green);color:#fff!important;padding:.55rem 1.2rem!important;border:none!important;border-radius:2px}
.nav-cta:hover{background:var(--green-darker)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--sans);font-weight:600;font-size:.96rem;
  padding:.66rem 1.45rem;border:2px solid transparent;border-radius:2px;cursor:pointer;transition:.16s}
.btn-fill{background:var(--green);color:#fff}
.btn-fill:hover{background:var(--green-darker)}
.btn-text{color:var(--ink);padding-left:0;padding-right:0}
.btn-text:hover{color:var(--green)}

/* hero */
.hero{position:relative;background:var(--green-darker)}
.hero-media{position:absolute;inset:0;
  background:linear-gradient(rgba(28,45,33,.52),rgba(25,40,30,.66)),
    url("img/hero-field.jpg") center/cover;}
.hero-in{position:relative;padding:68px 0 74px}
.hero-box{max-width:660px}
.overline{font-size:.82rem;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:#b9d2ab;margin-bottom:.85rem}
.hero h1{font-size:clamp(2.1rem,4.4vw,3.1rem);color:#fff;font-weight:700;line-height:1.14;margin-bottom:1.1rem}
.hero-lead{font-size:1.08rem;color:#e7ede2;max-width:60ch;margin-bottom:1.6rem}
.hero-cta{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap}
.hero-cta .btn-text{color:#fff}
.hero-cta .btn-text:hover{color:#cfe0c2}

/* bands */
.band{padding:60px 0;border-bottom:1px solid var(--line-soft)}
.band-alt{background:var(--paper-2)}
.band-green{background:var(--green-darker);color:#d4ddd0}
.two-col{display:grid;grid-template-columns:230px 1fr;gap:44px;align-items:start}
.col-head{position:sticky;top:82px}
.ruled{font-size:1.35rem;padding-bottom:.7rem;border-bottom:3px solid var(--green);display:inline-block}
.ruled.light{color:#fff;border-bottom-color:#7fa86a}
.lead-p{font-size:1.1rem;color:var(--ink);margin-bottom:1.1rem}
.lead-p.light{color:#fff}
.band-green p{color:#cdd8c8}

/* key/values */
.keyvals{margin-top:1.5rem;border-top:1px solid var(--line)}
.keyvals>div{display:grid;grid-template-columns:200px 1fr;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line)}
.keyvals dt{font-weight:700;color:var(--ink);font-size:.95rem}
.keyvals dd{color:var(--body);font-size:.97rem}

/* section heads (full width) */
.sec-head{max-width:760px;margin-bottom:2.2rem}
.sec-intro{font-size:1.1rem;color:var(--ink);margin-top:1rem}

/* production rows */
.prod-list{display:grid;gap:22px}
.prod-row{display:grid;grid-template-columns:340px 1fr;gap:34px;align-items:center;
  background:var(--paper);border:1px solid var(--line);border-radius:3px;overflow:hidden}
.prod-row.reverse{grid-template-columns:1fr 340px}
.prod-row.reverse .prod-photo{order:2}
.prod-row.reverse .prod-info{order:1;padding-left:30px}
.prod-info{padding:26px 30px 26px 0}
.prod-row:not(.reverse) .prod-info{padding-left:0;padding-right:30px}
.prod-photo{align-self:stretch;min-height:210px;background-size:cover;background-position:center}
.ph-oats{background-image:url("img/oats-grain.jpg")}
.ph-cattle{background-image:url("img/cattle.jpg")}
.ph-feed{background-image:url("img/tractor.jpg")}
.prod-info h3{font-size:1.35rem;margin-bottom:.55rem;color:var(--green-darker)}

/* location table */
.loc-table{width:100%;margin-top:1.4rem;border-collapse:collapse}
.loc-table th{text-align:left;font-family:var(--serif);font-weight:600;color:var(--ink);font-size:1.02rem;
  padding:.6rem 1.2rem .6rem 0;width:160px;border-bottom:1px solid var(--line);vertical-align:top}
.loc-table td{padding:.6rem 0;color:var(--body);border-bottom:1px solid var(--line)}

/* photo band */
.photo-band{height:240px;background:url("img/field-band.jpg") center/cover;background-attachment:fixed;
  border-bottom:1px solid var(--line-soft)}

/* figures */
.figures{background:var(--blue-dark);color:#fff;padding:42px 0}
.fig-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.fig{border-right:1px solid rgba(255,255,255,.18)}
.fig:last-child{border-right:none}
.fig strong{display:block;font-family:var(--serif);font-size:2.3rem;line-height:1;color:#fff}
.fig span{display:block;margin-top:.4rem;font-size:.9rem;color:#bcd0e6}

/* responsibility */
.resp-list{list-style:none;margin-top:1.2rem;display:grid;gap:.65rem}
.resp-list li{position:relative;padding-left:1.6rem}
.resp-list li::before{content:"—";position:absolute;left:0;color:#8fb47b}
.resp-list.light li{color:#dde6d8}

/* contact */
.contact .col-head{position:static}
.contact-blurb{margin-top:1rem;color:var(--body)}
.addr{font-style:normal;margin-top:1.4rem;font-size:.95rem}
.addr p{margin-bottom:.8rem}
.addr b{color:var(--ink)}
.addr .reg{font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:.85rem;margin-top:1rem}
.form{background:var(--paper);border:1px solid var(--line);padding:26px;border-radius:3px}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.f{margin-bottom:.9rem}
.f label{display:block;font-size:.88rem;font-weight:600;color:var(--ink);margin-bottom:.4rem}
.f input,.f select,.f textarea{width:100%;font-family:var(--sans);font-size:1rem;padding:.72rem .85rem;
  border:1px solid var(--line);border-radius:2px;background:var(--paper-2);color:var(--ink);transition:.15s}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--green);background:#fff}
.f textarea{resize:vertical}
.note{margin-top:1rem;color:var(--green-darker);font-weight:600;font-size:.95rem}

/* footer */
.ftr{background:var(--ink);color:#aeb6a6;padding:44px 0 0}
.ftr-in{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:36px;padding-bottom:32px}
.brand-txt.light{color:#fff}
.brand-txt.light em{color:#8fb47b}
.ftr-c p{font-size:.94rem;color:#9ba493}
.ftr-c h4{font-family:var(--sans);font-size:.82rem;letter-spacing:1.2px;text-transform:uppercase;color:#fff;margin-bottom:1rem}
.ftr-c>a{display:block;font-size:.95rem;color:#aeb6a6;padding:.25rem 0;transition:color .15s}
.ftr-c>a:hover{color:#fff}
.ftr-bot{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);padding:20px 32px;font-size:.85rem;color:#8b9382;max-width:var(--max);margin:0 auto}

/* responsive */
@media(max-width:880px){
  .nav{display:none}
  .two-col{grid-template-columns:1fr;gap:24px}
  .col-head{position:static}
  .ruled{display:block}
  .prod-row,.prod-row.reverse{grid-template-columns:1fr}
  .prod-row.reverse .prod-photo{order:0}
  .prod-row.reverse .prod-info,.prod-info{order:0;padding:28px!important}
  .prod-photo{min-height:200px}
  .fig-row{grid-template-columns:1fr 1fr;gap:30px 16px}
  .fig:nth-child(2){border-right:none}
  .ftr-in{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  body{font-size:16px}
  .photo-band{background-attachment:scroll;height:200px}
  .util-tag{display:none}
  .f-row{grid-template-columns:1fr}
  .fig-row{grid-template-columns:1fr}
  .fig{border-right:none;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:18px}
  .fig:last-child{border-bottom:none}
  .ftr-in{grid-template-columns:1fr}
  .band{padding:44px 0}
}
