
:root{
  --forest:#174d38;
  --forest-dark:#0c3327;
  --forest-mid:#2e6d4d;
  --sage:#c5d2b3;
  --cream:#f4efe3;
  --paper:#fffdf8;
  --gold:#d9b25c;
  --rust:#a85c2f;
  --soil:#82593e;
  --ink:#17231c;
  --muted:#6d786f;
  --line:#dce4dc;
  --serif:"Playfair Display",Georgia,serif;
  --sans:"DM Sans",Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--cream);
  font-family:var(--sans);
  line-height:1.65;
}
img{display:block;max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.container{width:min(1440px,92vw);margin-inline:auto}

/* Shared header */
.topline{
  background:var(--forest-dark);
  color:#dce8df;
  font-size:9px;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.topline .container{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.topline a{color:#fff;text-decoration:underline;text-underline-offset:3px}

.header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,253,248,.95);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(23,77,56,.1);
}
.header-inner{
  min-height:80px;
  display:flex;
  align-items:center;
  gap:28px;
}
.brand{width:176px;margin-right:auto}
.brand img{width:170px}
.nav{
  display:flex;
  align-items:center;
  gap:25px;
}
.nav a{
  position:relative;
  padding:30px 0;
  font-size:11px;
  font-weight:900;
  color:#3b4c43;
}
.nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:21px;
  height:2px;
  background:var(--forest);
  transition:right .2s ease;
}
.nav a:hover::after,.nav a.active::after{right:0}
.header-cta{
  background:var(--forest);
  color:#fff;
  padding:12px 17px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
}
.language-switch{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--forest);
  padding:10px 12px;
  border-radius:999px;
  font-size:9px;
  font-weight:900;
}
.language-switch:hover{background:var(--cream)}
.menu{
  display:none;
  border:0;
  background:transparent;
  font-size:26px;
}

/* Hero */
.hero{background:var(--paper)}
.hero-grid{
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  min-height:735px;
}
.hero-copy{
  padding:95px 7vw 85px max(4vw,calc((100vw - 1440px)/2));
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
}
.hero-copy::before{
  content:"FIELD · SEED · HARVEST";
  position:absolute;
  top:150px;
  left:-70px;
  transform:rotate(-90deg);
  font-size:8px;
  letter-spacing:.23em;
  font-weight:900;
  color:#aeb7ae;
}
.eyebrow,.label{
  color:var(--forest);
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.22em;
}
.hero h1{
  margin:18px 0 24px;
  max-width:730px;
  font-family:var(--serif);
  font-size:clamp(56px,6.1vw,96px);
  font-weight:500;
  line-height:.92;
  letter-spacing:-.05em;
}
.hero h1 em{
  color:var(--forest);
  font-style:italic;
}
.hero-copy>p{
  max-width:610px;
  color:var(--muted);
  font-size:16px;
}
.actions{
  display:flex;
  gap:10px;
  margin-top:28px;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:13px 19px;
  border:1px solid var(--forest);
  border-radius:999px;
  font-size:10px;
  font-weight:900;
}
.btn-primary{background:var(--forest);color:#fff}
.btn-outline{background:transparent;color:var(--forest)}
.stats{
  display:flex;
  gap:32px;
  margin-top:45px;
  padding-top:21px;
  border-top:1px solid var(--line);
}
.stat strong{
  display:block;
  font-family:var(--serif);
  font-size:29px;
  line-height:1;
}
.stat span{
  display:block;
  max-width:120px;
  margin-top:6px;
  color:var(--muted);
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.hero-media{
  position:relative;
  min-height:735px;
  overflow:hidden;
}
.hero-media>img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(100deg,rgba(8,46,31,.25),rgba(8,46,31,.03));
}
.farm-seal{
  position:absolute;
  z-index:2;
  top:30px;
  right:30px;
  width:116px;
  height:116px;
  display:grid;
  place-items:center;
  border:1px dashed rgba(255,255,255,.9);
  border-radius:50%;
  color:#fff;
  text-align:center;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  transform:rotate(8deg);
}
.farm-seal b{
  display:block;
  font-family:var(--serif);
  font-size:24px;
  line-height:.86;
}
.hero-card{
  position:absolute;
  z-index:2;
  left:28px;
  bottom:28px;
  width:305px;
  padding:21px 23px;
  background:var(--paper);
  box-shadow:0 24px 70px rgba(0,0,0,.16);
}
.hero-card small{
  display:block;
  color:var(--forest);
  font-size:8px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.hero-card h3{
  margin:7px 0;
  font-family:var(--serif);
  font-size:27px;
  line-height:1.07;
}
.hero-card p{margin:0;color:var(--muted);font-size:10px}

/* Motion strip */
.ticker{
  background:var(--rust);
  color:#fff;
  overflow:hidden;
  white-space:nowrap;
}
.track{
  display:inline-flex;
  gap:35px;
  padding:13px 0;
  font-size:9px;
  font-weight:900;
  letter-spacing:.2em;
  text-transform:uppercase;
  animation:ticker 28s linear infinite;
}
@keyframes ticker{to{transform:translateX(-50%)}}

/* Sections */
.section{padding:105px 0}
.section-head{
  display:grid;
  grid-template-columns:1fr .8fr;
  gap:60px;
  align-items:end;
  margin-bottom:45px;
}
.title{
  margin:10px 0 0;
  font-family:var(--serif);
  font-size:clamp(44px,5vw,74px);
  font-weight:500;
  line-height:1;
  letter-spacing:-.045em;
}
.title em{color:var(--forest);font-style:italic}
.section-head p{margin:0;max-width:540px;color:var(--muted);font-size:13px}

/* Story/founder */
.story{background:var(--paper)}
.story-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:7vw;
  align-items:center;
}
.story-photo{
  height:530px;
  position:relative;
  overflow:hidden;
  border-radius:18px;
}
.story-photo img{width:100%;height:100%;object-fit:cover}
.story-tag{
  position:absolute;
  z-index:2;
  top:18px;
  left:18px;
  padding:10px 12px;
  color:var(--forest-dark);
  background:var(--gold);
  border-radius:3px;
  font-size:8px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.story-copy .lead{
  font-family:var(--serif);
  font-size:29px;
  line-height:1.25;
}
.story-copy p{color:var(--muted)}
.points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:28px;
}
.point{
  padding-top:12px;
  border-top:2px solid var(--forest);
}
.point strong{
  display:block;
  color:var(--forest);
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.13em;
}
.point span{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:10px;
}
.founder{background:#ebe5d8}
.founder-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:7vw;
  align-items:center;
}
.founder-photo{
  height:520px;
  overflow:hidden;
  border-radius:18px;
}
.founder-photo img{width:100%;height:100%;object-fit:cover}
.quote{
  margin:25px 0;
  color:var(--forest-dark);
  font-family:var(--serif);
  font-size:31px;
  line-height:1.18;
}
.signature{
  margin-top:28px;
  padding-top:15px;
  border-top:1px solid #d3ccbd;
  color:var(--forest);
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

/* Products */
.products{background:var(--paper)}
.product-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  margin-bottom:28px;
}
.filters{display:flex;gap:7px;flex-wrap:wrap}
.filter{
  border:1px solid var(--line);
  background:#fff;
  border-radius:999px;
  padding:9px 13px;
  color:var(--ink);
  font-size:9px;
  font-weight:900;
  cursor:pointer;
}
.filter.active{background:var(--forest);border-color:var(--forest);color:#fff}
.search{min-width:270px}
.search input{
  width:100%;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  padding:11px 14px;
  outline:none;
  font-size:10px;
}
.product-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.product-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #e0e5df;
  border-radius:14px;
  background:#fff;
  transition:transform .25s ease,box-shadow .25s ease;
}
.product-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 60px rgba(24,77,56,.13);
}
.product-image{
  height:315px;
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:radial-gradient(circle at 50% 47%,#dfe8d7 0 118px,#eef2eb 119px,#f8f4eb 120px);
}
.product-image img{
  position:relative;
  z-index:2;
  width:auto;
  height:260px;
  max-width:84%;
  object-fit:contain;
  filter:drop-shadow(0 18px 16px rgba(0,0,0,.16));
  transition:transform .3s ease;
}
.product-card:hover .product-image img{transform:scale(1.045) translateY(-4px)}
.product-chip{
  position:absolute;
  z-index:3;
  top:13px;
  left:13px;
  padding:7px 9px;
  background:var(--forest);
  color:#fff;
  border-radius:999px;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.product-body{
  min-height:178px;
  display:flex;
  flex-direction:column;
  padding:18px;
}
.product-body small{
  color:var(--muted);
  font-size:8px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.product-body h3{
  margin:6px 0;
  font-family:var(--serif);
  font-size:24px;
  line-height:1.04;
}
.product-body p{margin:0 0 13px;color:var(--muted);font-size:10px}
.product-body a{
  margin-top:auto;
  color:var(--forest);
  font-size:10px;
  font-weight:900;
}
.catalogue-note{color:var(--muted);font-size:9px;margin-top:20px}

/* Crop guide */
.guide{background:var(--forest);color:#fff}
.guide .label{color:#c8dccd}
.guide .title{color:#fff}
.guide .title em{color:#dce8d5}
.guide-grid{
  display:grid;
  grid-template-columns:.74fr 1.26fr;
  gap:65px;
  align-items:start;
}
.guide-copy p{color:#c4d4ca}
.guide-table{border-top:1px solid rgba(255,255,255,.2)}
.row{
  display:grid;
  grid-template-columns:1.25fr .88fr .92fr .95fr;
  gap:10px;
  padding:13px 0;
  border-bottom:1px solid rgba(255,255,255,.15);
  font-size:10px;
}
.row.head{
  color:#a9bdb1;
  font-size:8px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.guide-foot{margin-top:14px;color:#aec0b5;font-size:9px}

/* Journey */
.journey{background:#e8eee3}
.journey-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:15px;
}
.journey-card{
  padding:25px;
  border:1px solid #d2dbd0;
  border-radius:14px;
  background:rgba(255,255,255,.48);
}
.journey-card b{
  color:var(--forest);
  font-size:9px;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.journey-card h3{
  margin:20px 0 5px;
  font-family:var(--serif);
  font-size:28px;
}
.journey-card p{margin:0;color:var(--muted);font-size:10px}

/* Order + contact */
.order{background:var(--paper)}
.order-grid{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:7vw;
}
.order-copy p{max-width:520px;color:var(--muted)}
.contact-list{display:grid;gap:7px;margin-top:25px}
.contact-list a{color:var(--forest);font-size:11px;font-weight:900}
.form{
  padding:28px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fafcf8;
}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.field{
  display:flex;
  flex-direction:column;
  gap:6px;
  color:#48544b;
  font-size:8px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.field.full{grid-column:1/-1}
.field input,.field select,.field textarea{
  width:100%;
  padding:11px;
  border:1px solid var(--line);
  border-radius:6px;
  background:#fff;
  outline:none;
  font-size:11px;
  letter-spacing:0;
  text-transform:none;
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--forest)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-note{margin:12px 0 0;color:var(--muted);font-size:9px}
.page-hero{
  padding:86px 0 78px;
  background:linear-gradient(120deg,#f8f4e9,#e2ebe0);
}
.page-grid{
  display:grid;
  grid-template-columns:1fr .35fr;
  gap:60px;
  align-items:end;
}
.page-hero h1{
  margin:14px 0;
  font-family:var(--serif);
  font-size:clamp(52px,6vw,90px);
  font-weight:500;
  line-height:.95;
  letter-spacing:-.05em;
}
.page-hero h1 em{color:var(--forest);font-style:italic}
.page-hero p{max-width:640px;color:var(--muted);font-size:14px}
.page-no{
  text-align:right;
  font-family:var(--serif);
  font-size:106px;
  line-height:.6;
  color:rgba(23,77,56,.08);
}
.contact-dark{background:var(--forest);color:#fff}
.contact-dark .label{color:#c9dccf}
.contact-dark .title{color:#fff}
.contact-dark .title em{color:#dce8d5}
.contact-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-top:55px;
  padding-top:25px;
  border-top:1px solid rgba(255,255,255,.19);
}
.contact-item span{
  display:block;
  color:#b4c9bb;
  font-size:8px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.contact-item strong,.contact-item a{
  display:block;
  margin-top:6px;
  font-size:13px;
}
.contact-map{
  height:245px;
  margin-top:35px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.15);
  background:linear-gradient(135deg,#417353,#133b2e);
}
.contact-map div{
  padding:15px 20px;
  border-radius:7px;
  background:#fff;
  color:var(--forest-dark);
  text-align:center;
}
.contact-map strong{display:block;font-family:var(--serif);font-size:21px}
.contact-map span{display:block;color:var(--muted);font-size:8px;letter-spacing:.12em;text-transform:uppercase}

.footer{
  padding:52px 0 24px;
  background:#082119;
  color:#a7baad;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:40px;
  padding-bottom:34px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.footer-logo{width:165px}
.footer-logo img{width:160px;filter:brightness(0) invert(1)}
.footer h4{margin:0 0 12px;color:#fff;font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.footer p,.footer a{font-size:10px}
.footer a{display:block;margin:7px 0}
.footer a:hover{color:#fff}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding-top:18px;
  font-size:8px;
}
.breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:18px;
  color:var(--muted);
  font-size:9px;
}
.breadcrumbs a{color:var(--forest);font-weight:800}
.product-detail{
  background:var(--paper);
}
.product-detail-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7vw;
  align-items:center;
}
.product-detail-image{
  min-height:600px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:radial-gradient(circle at 50% 48%,#dfe8d7 0 180px,#edf1ea 181px,#f7f3e9 182px);
}
.product-detail-image img{
  height:500px;
  width:auto;
  max-width:84%;
  object-fit:contain;
  filter:drop-shadow(0 25px 25px rgba(0,0,0,.17));
}
.product-meta{
  color:var(--muted);
  font-size:11px;
}
.product-detail h2{
  margin:15px 0;
  font-family:var(--serif);
  font-size:clamp(42px,5vw,68px);
  font-weight:500;
  line-height:.98;
  letter-spacing:-.04em;
}
.product-detail p{color:var(--muted);font-size:14px}
.spec-list{
  margin:28px 0;
  border-top:1px solid var(--line);
}
.spec{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
  font-size:10px;
}
.spec b{color:var(--forest)}
.related{background:#e8eee3}

@media(max-width:1050px){
  .nav{display:none}
  .nav.open{
    position:absolute;
    top:80px;
    left:0;
    right:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    padding:20px 5vw;
    background:#fff;
    border-bottom:1px solid var(--line);
  }
  .nav.open a{padding:5px 0}
  .nav.open a::after{bottom:0}
  .menu{display:block}
  .hero-grid,.story-grid,.founder-grid,.guide-grid,.order-grid,.page-grid,.product-detail-grid{grid-template-columns:1fr}
  .hero-copy{padding:70px 5vw}
  .hero-copy::before{display:none}
  .hero-media{min-height:510px}
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .journey-grid{grid-template-columns:repeat(2,1fr)}
  .contact-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .product-detail-image{min-height:480px}
}
@media(max-width:650px){
  .topline{display:none}
  .header-inner{min-height:70px}
  .brand img{width:145px}
  .header .language-switch{display:none}
  .section{padding:76px 0}
  .hero h1{font-size:55px}
  .hero-copy{padding:58px 5vw}
  .hero-media{min-height:390px}
  .hero-card{left:18px;right:18px;width:auto;bottom:18px}
  .farm-seal{right:18px;top:18px;width:92px;height:92px}
  .stats{gap:14px}
  .section-head{display:block}
  .section-head p{margin-top:18px}
  .story-photo,.founder-photo{height:400px}
  .points{grid-template-columns:1fr}
  .product-toolbar{display:block}
  .search{min-width:0;margin-top:14px}
  .product-grid{grid-template-columns:1fr}
  .product-image{height:320px}
  .journey-grid{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .contact-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
  .row{grid-template-columns:1.25fr .88fr .92fr .95fr;min-width:590px}
  .page-no{text-align:left}
  .product-detail-image{min-height:380px}
  .product-detail-image img{height:330px}
}
