@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,300;0,400;0,700;0,900;1,400;1,700&display=swap');

:root{
  --ink:#1B241E;
  --green-deep:#3B4A3C;
  --green-bright:#0E9A44;
  --paper:#F5F3EC;
  --paper-2:#EDEAE1;
  --steel:#7C8A82;
  --steel-line: rgba(27,36,30,0.14);
  --blue:#2C5FA8;
  --max: 1180px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Lato', sans-serif;
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit;}
h1,h2,h3{
  font-family:'Lato', sans-serif;
  font-weight:700;
  line-height:1.15;
  margin:0 0 0.5em;
  letter-spacing:-0.01em;
}
h1{font-size:clamp(2.4rem, 5vw, 4rem); font-weight:900;}
h2{font-size:clamp(1.7rem, 3vw, 2.5rem); font-weight:700;}
h3{font-size:1.15rem; font-weight:700; font-family:'Lato', sans-serif;}
p{margin:0 0 1em; max-width:62ch;}
.wrap{max-width:var(--max); margin:0 auto; padding:0 32px;}
@media (max-width:640px){.wrap{padding:0 20px;}}

/* ---------- nav ---------- */
.site-nav{
  position:sticky; top:0; z-index:50;
  background:rgba(245,243,236,0.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--steel-line);
}
.site-nav .wrap{
  position:relative;
  display:flex; align-items:center; justify-content:space-between;
  height:76px;
}
.wordmark{
  font-family:'Lato', sans-serif;
  font-style:italic;
  font-weight:700;
  font-size:1.35rem;
  color:var(--green-deep);
  text-decoration:none;
  white-space:nowrap;
}
.nav-links{display:flex; gap:26px; list-style:none; margin:0; padding:0; align-items:center;}
.nav-links a{
  text-decoration:none; font-size:0.92rem; color:var(--ink);
  padding-bottom:4px; border-bottom:1px solid transparent;
  transition:border-color .18s ease;
}
.nav-links a:hover, .nav-links a.active{border-color:var(--green-bright);}
.lang-switch a{
  font-weight:700; letter-spacing:0.03em; color:var(--green-deep);
}
.nav-toggle-input{display:none;}
.nav-toggle-label{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  cursor:pointer; width:28px; height:28px;
}
.nav-toggle-label span{display:block; height:2px; width:100%; background:var(--ink); border-radius:1px;}

@media (max-width:760px){
  .nav-toggle-label{display:flex;}
  .nav-links{
    position:absolute; top:76px; left:0; right:0;
    background:var(--paper);
    flex-direction:column; align-items:stretch;
    gap:0;
    max-height:0; overflow:hidden;
    border-bottom:1px solid var(--steel-line);
    box-shadow:0 8px 16px rgba(0,0,0,0.06);
    transition:max-height .25s ease;
  }
  .nav-links li{width:100%;}
  .nav-links a{
    display:block; padding:16px 32px; width:100%;
    border-bottom:1px solid var(--steel-line); border-radius:0;
  }
  .nav-links a:hover, .nav-links a.active{background:var(--paper-2); border-color:var(--steel-line);}
  .nav-toggle-input:checked ~ .nav-links{max-height:420px;}
}

/* ---------- hero ---------- */
.hero{
  position:relative;
  min-height:78vh;
  display:flex; align-items:flex-end;
  overflow:hidden;
  background:var(--green-deep);
}
.hero img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; animation:fadein 1.1s ease forwards;
}
@keyframes fadein{to{opacity:1;}}
.hero::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(20,26,21,0.82) 0%, rgba(20,26,21,0.25) 45%, rgba(20,26,21,0.05) 70%);
}
.hero-content{
  position:relative; z-index:2;
  padding:64px 0 56px;
  width:100%;
}
.hero-eyebrow{
  color:var(--paper); opacity:0.85; font-size:0.95rem; margin-bottom:10px;
}
.hero h1{color:var(--paper); max-width:14ch;}
.hero-sub{color:var(--paper); opacity:0.92; max-width:46ch; font-size:1.08rem;}
.hero-rule{height:3px; width:64px; background:var(--green-bright); margin:22px 0;}
.hero-page{min-height:56vh;}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;
  padding:13px 26px;
  border:1px solid var(--ink);
  text-decoration:none;
  font-size:0.95rem;
  color:var(--ink);
  background:transparent;
  transition:background .18s ease, color .18s ease;
}
.btn:hover{background:var(--ink); color:var(--paper);}
.btn-light{border-color:var(--paper); color:var(--paper);}
.btn-light:hover{background:var(--paper); color:var(--ink);}
.btn-fill{background:var(--green-deep); color:var(--paper); border-color:var(--green-deep);}
.btn-fill:hover{background:var(--ink); border-color:var(--ink);}
.btn-row{display:flex; gap:14px; flex-wrap:wrap; margin-top:8px;}

/* ---------- sections ---------- */
section{padding:88px 0;}
@media (max-width:760px){section{padding:56px 0;}}
.rule{border:none; border-top:1px solid var(--steel-line); margin:0;}
.section-head{max-width:60ch; margin-bottom:44px;}
.section-head p{color:var(--steel);}

.split{
  display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;
}
.split.reverse .split-img{order:2;}
.split.reverse .split-text{order:1;}
@media (max-width:820px){
  .split{grid-template-columns:1fr; gap:32px;}
  .split.reverse .split-img{order:1;}
  .split.reverse .split-text{order:2;}
}
.split-img img{width:100%; height:100%; object-fit:cover; aspect-ratio:4/3;}
.split-text .kicker{color:var(--green-bright); font-weight:600; font-size:0.9rem; margin-bottom:10px;}

.full-img{width:100%; overflow:hidden;}
.full-img img{width:100%; max-height:74vh; object-fit:cover; transition:transform .6s ease;}
.full-img:hover img{transform:scale(1.02);}

.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:36px;}
@media (max-width:820px){.grid-3{grid-template-columns:1fr;}}
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:36px;}
@media (max-width:640px){.grid-2{grid-template-columns:1fr;}}

.card{border-top:1px solid var(--steel-line); padding-top:20px;}
.card h3{margin-bottom:10px;}
.card p{font-size:0.96rem; color:var(--ink);}
.card ul{margin:0; padding-left:18px; font-size:0.92rem; color:var(--steel);}
.card li{margin-bottom:6px;}

.pull-quote{
  font-family:'Lato', sans-serif; font-style:italic; font-weight:400;
  font-size:clamp(1.3rem,2.4vw,1.8rem);
  color:var(--green-deep);
  max-width:52ch;
  line-height:1.4;
  margin:0 0 18px;
}
.pull-attr{color:var(--steel); font-size:0.92rem;}

.band{background:var(--paper-2);}
.band-dark{background:var(--green-deep); color:var(--paper);}
.band-dark p{color:rgba(245,243,236,0.85);}
.band-dark .section-head p{color:rgba(245,243,236,0.7);}

.process{display:grid; grid-template-columns:repeat(5,1fr); gap:18px; counter-reset:step;}
@media (max-width:900px){.process{grid-template-columns:repeat(2,1fr);}}
.step{counter-increment:step; position:relative; padding-top:34px;}
.step::before{
  content:counter(step);
  position:absolute; top:0; left:0;
  font-family:'Lato', sans-serif; font-style:italic; font-size:1.3rem;
  color:var(--green-bright);
}
.step h3{font-size:0.98rem; margin-bottom:6px;}
.step p{font-size:0.86rem; color:var(--steel); margin:0;}
.process-arrow{display:none;}

.stat-row{display:flex; gap:56px; flex-wrap:wrap;}
.stat b{display:block; font-family:'Lato', sans-serif; font-size:2.1rem; color:var(--green-deep); font-weight:700;}
.stat span{color:var(--steel); font-size:0.9rem;}

.logo-row{display:flex; gap:40px; align-items:center; flex-wrap:wrap; margin-top:8px;}
.logo-pill{
  font-family:'Lato', sans-serif; font-style:italic; font-size:1.1rem;
  color:var(--steel); border-bottom:1px solid var(--steel-line); padding-bottom:6px;
}

.species-list{border-top:1px solid var(--steel-line);}
.species{
  display:grid; grid-template-columns:1.1fr 2fr; gap:40px;
  padding:34px 0; border-bottom:1px solid var(--steel-line);
}
@media (max-width:700px){.species{grid-template-columns:1fr; gap:14px;}}
.species h3{font-family:'Lato', sans-serif; font-style:italic; font-weight:700; font-size:1.3rem;}
.species ul{margin:10px 0 0; padding-left:18px; color:var(--steel); font-size:0.93rem;}
.species li{margin-bottom:6px;}

.product-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:30px; max-width:760px;}
@media (max-width:760px){.product-grid{grid-template-columns:1fr;}}
.product{border:1px solid var(--steel-line);}
.product img{aspect-ratio:4/3; object-fit:cover; width:100%;}
.product figcaption{padding:16px 18px; font-size:0.9rem; color:var(--steel);}
.product{margin:0;}

.eu-note{
  border:1px solid var(--steel-line);
  padding:22px 26px;
  font-size:0.9rem;
  color:var(--steel);
  margin-top:28px;
}
.eu-note strong{color:var(--ink);}

footer{background:var(--green-deep); color:var(--paper); padding:64px 0 40px;}
footer .wordmark{color:var(--paper);}
.footer-top{display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; margin-bottom:40px;}
.footer-tagline{font-family:'Lato', sans-serif; font-style:italic; color:rgba(245,243,236,0.85); max-width:32ch;}
.footer-links{display:flex; gap:44px; flex-wrap:wrap;}
.footer-col h3{color:rgba(245,243,236,0.55); font-size:0.78rem; text-transform:none; margin-bottom:12px; font-weight:600;}
.footer-col ul{list-style:none; margin:0; padding:0;}
.footer-col li{margin-bottom:8px; font-size:0.92rem;}
.footer-col a{text-decoration:none; color:var(--paper); opacity:0.9;}
.footer-col a:hover{opacity:1; text-decoration:underline;}
.footer-bottom{
  border-top:1px solid rgba(245,243,236,0.18);
  padding-top:22px; font-size:0.82rem; color:rgba(245,243,236,0.6);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
}

@media (prefers-reduced-motion: reduce){
  .hero img{animation:none; opacity:1;}
  .full-img:hover img{transform:none;}
}
