
/* =========================================================
   SECTION 1 — LOCKED HERO / HEADER
   Built to mirror Mike's approved reference composition.
   ========================================================= */

.hero-header{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  z-index:100;
  color:#fff;
  background:transparent;
}

.hero-header-inner{
  width:calc(100% - 78px);
  height:165px;
  margin:0 auto;
  padding:30px 10px 0;
  display:grid;
  grid-template-columns:210px 1fr;
  align-items:start;
  border-bottom:1px solid rgba(255,255,255,.38);
}

.hero-brand{
  justify-self:start;
  width:170px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:13px;
  color:#fff;
}

.hero-brand-mark{
  width:58px;
  height:58px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#050505;
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  font-family:var(--sans);
  font-size:2rem;
  font-weight:600;
  line-height:1;
}

.hero-brand-name{
  color:#fff;
  font-family:var(--sans);
  font-size:1.48rem;
  line-height:1;
  letter-spacing:.31em;
  padding-left:.31em;
  white-space:nowrap;
}

.hero-nav{
  justify-self:end;
  display:flex;
  align-items:flex-start;
  gap:44px;
  padding-top:28px;
}

.hero-nav > a{
  display:block;
  margin:0;
  padding:0 0 14px;
  position:relative;
  color:rgba(255,255,255,.97);
  font-family:var(--sans);
  font-size:.82rem;
  font-weight:500;
  line-height:1;
  letter-spacing:.13em;
  text-transform:uppercase;
  white-space:nowrap;
}

.hero-nav > a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:0;
  height:2px;
  background:var(--gold);
  transition:width .22s ease;
}

.hero-nav > a:hover::after,
.hero-nav > a.active::after{
  width:100%;
}

.hero-header .menu{
  display:none;
}

.hero{
  position:relative;
  width:100%;
  height:100svh;
  min-height:760px;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,.015) 42%,rgba(0,0,0,0) 70%),
    url("hero-building-final.jpg") center center / cover no-repeat;
  color:#fff;
}

.hero-discover{
  position:absolute;
  z-index:5;
  left:5.1%;
  bottom:17.7%;
  min-width:320px;
  padding:0 0 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  border-bottom:2px solid rgba(209,183,91,.82);
  color:var(--gold);
  font-family:var(--sans);
  font-size:1rem;
  font-weight:500;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.hero-scroll{
  position:absolute;
  z-index:5;
  left:50%;
  bottom:25px;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:9px;
  color:#fff;
  font-family:var(--sans);
  font-size:.76rem;
  line-height:1;
  letter-spacing:.21em;
  text-transform:uppercase;
  white-space:nowrap;
}

.hero-scroll-line{
  display:block;
  width:1px;
  height:27px;
  background:rgba(255,255,255,.62);
}

.hero-scroll-ring{
  display:block;
  width:30px;
  height:30px;
  position:relative;
  border:1px solid var(--gold);
  border-radius:50%;
}

.hero-scroll-ring::after{
  content:"";
  width:4px;
  height:4px;
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:var(--gold);
}

/* Laptop scaling: same composition, proportionally smaller */
@media (min-width:1101px) and (max-width:1450px){
  .hero-header-inner{
    width:calc(100% - 40px);
    height:120px;
    padding-top:17px;
    grid-template-columns:190px 1fr;
  }

  .hero-brand{
    width:150px;
    gap:8px;
  }

  .hero-brand-mark{
    width:46px;
    height:46px;
    font-size:1.55rem;
  }

  .hero-brand-name{
    font-size:1.18rem;
  }

  .hero-nav{
    gap:33px;
    padding-top:27px;
  }

  .hero-nav > a{
    font-size:.74rem;
  }

  .hero{
    min-height:650px;
  }

  .hero-discover{
    left:4.2%;
    bottom:14.5%;
    min-width:210px;
    font-size:.76rem;
    gap:18px;
  }

  .hero-scroll{
    font-size:.66rem;
    bottom:18px;
  }
}

/* Mobile/tablet navigation */
@media (max-width:1100px){
  .hero-header-inner{
    width:100%;
    height:86px;
    padding:0 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid rgba(255,255,255,.20);
  }

  .hero-brand{
    width:auto;
    flex-direction:row;
    gap:10px;
  }

  .hero-brand-mark{
    width:40px;
    height:40px;
    font-size:1.35rem;
  }

  .hero-brand-name{
    font-size:1rem;
    letter-spacing:.24em;
  }

  .hero-nav{
    display:none;
    position:fixed;
    inset:86px 0 0;
    padding:0;
    background:#070707;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:20px;
  }

  .hero-nav.open{
    display:flex;
  }

  .hero-nav > a{
    font-family:var(--serif);
    font-size:2rem;
    line-height:1.05;
    letter-spacing:0;
    text-transform:none;
  }

  .hero-header .menu{
    display:block;
    width:42px;
    height:42px;
    padding:0;
    border:0;
    background:none;
  }

  .hero-header .menu span{
    display:block;
    width:26px;
    height:1px;
    margin:7px auto;
    background:#fff;
  }
}

/* Mobile hero: intentional crop, same premium composition */
@media (max-width:700px){
  .hero{
    height:100svh;
    min-height:680px;
    background-position:61% center;
  }

  .hero-discover{
    left:18px;
    right:18px;
    bottom:54px;
    min-width:0;
    width:calc(100% - 36px);
    font-size:.72rem;
  }

  .hero-scroll{
    display:none;
  }
}



:root{
  --black:#070707; --forest:#14351f; --forest2:#0d2a18; --gold:#d1b75b;
  --warm:#f7f3ec; --paper:#fffdfa; --ink:#11110f; --muted:#6d6961; --line:rgba(17,17,15,.14);
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Inter',Arial,sans-serif; --max:1440px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}.wrap{width:min(var(--max),calc(100% - 72px));margin:auto}
.kicker{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--forest)}.rule{width:48px;height:1px;background:var(--forest);margin:14px 0 28px}.display{font-family:var(--serif);font-weight:500;line-height:.94;letter-spacing:-.025em}
.reveal{opacity:0;transform:translateY(16px);transition:.65s ease}.reveal.show{opacity:1;transform:none}

/* sections */
.section{padding:96px 0}.warm{background:var(--warm)}.white{background:#fff}.dark{background:var(--black);color:#fff}.forest{background:var(--forest);color:#fff}
.grid2{display:grid;grid-template-columns:1.08fr .92fr;gap:8%;align-items:center}.title{font-size:clamp(3rem,5vw,5.2rem)}.body{font-size:1rem;line-height:1.86;color:var(--muted)}.dark .body,.forest .body{color:rgba(255,255,255,.76)}
.quote{font-family:var(--serif);font-size:clamp(2.1rem,3.7vw,4.2rem);line-height:1.08}

/* home food systems */
.food-feature{display:grid;grid-template-columns:60% 40%;min-height:650px;background:#fff}.food-feature img{width:100%;height:100%;object-fit:cover}.food-copy{padding:72px 8%;display:flex;flex-direction:column;justify-content:center}.food-copy h2{font-size:clamp(3.8rem,6vw,6.5rem)}.food-copy .sub{font-family:var(--serif);font-size:1.8rem;color:var(--forest);margin-top:8px}.food-copy p{line-height:1.85;color:var(--muted);margin:24px 0}.range{border-top:1px solid var(--line);margin-top:20px}.range div{padding:15px 0;border-bottom:1px solid var(--line)}.range strong{display:block}.range span{font-size:.88rem;color:var(--muted);line-height:1.55}

/* philosophy */
.philgrid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:40px}.phil{padding:26px 30px;text-align:center}.phil+.phil{border-left:1px solid var(--line)}.ico{width:68px;height:68px;border:1px solid rgba(20,53,31,.18);border-radius:50%;display:grid;place-items:center;margin:0 auto 22px;color:var(--forest)}.ico svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.phil h3{font-family:var(--serif);font-size:1.8rem}.phil p{color:var(--muted);line-height:1.6;margin-top:10px}.mantra{margin-top:16px;color:var(--forest);font-size:.7rem;letter-spacing:.09em;text-transform:uppercase}

/* vision */
.vision{padding:130px 0;text-align:center}.vision h2{font-family:var(--serif);font-weight:500;font-size:clamp(3.6rem,6.6vw,7rem);line-height:1.02;max-width:1160px;margin:auto}.vision .rule{margin-left:auto;margin-right:auto}

/* page hero */
.pagehero{padding:110px 0 84px;background:var(--paper);border-bottom:1px solid var(--line)}.pagehero h1{font-size:clamp(4rem,7vw,7.2rem);max-width:11ch}.pagehero p{max-width:700px;line-height:1.82;color:var(--muted);margin-top:24px}.crumb{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:24px}

/* about */
.aboutgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:8%}.aboutgrid p{line-height:1.9;color:var(--muted);margin-bottom:18px}.aboutgrid strong{color:var(--ink)}.rail{border-left:1px solid var(--line);padding-left:48px}.railitem{padding-bottom:30px;margin-bottom:30px;border-bottom:1px solid var(--line)}.railitem h3{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px}.railitem p{line-height:1.75;color:var(--muted)}

/* Food detail */
.foodhero{min-height:66svh;position:relative;color:#fff;display:flex;align-items:end;background:#111;overflow:hidden}.foodhero:before{content:"";position:absolute;inset:0;background:url('food-systems-hero.jpg') center/cover no-repeat}.foodhero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.5) 50%,rgba(0,0,0,.1))}.foodhero .wrap{position:relative;z-index:2;padding-bottom:66px}.foodhero h1{font-size:clamp(3.7rem,6.2vw,6.5rem);max-width:11ch}.foodhero p{max-width:700px;line-height:1.8;color:rgba(255,255,255,.82);margin-top:18px}
.why{display:grid;grid-template-columns:1.05fr .95fr;gap:8%}.checks{display:grid;gap:12px;margin-top:24px}.check{display:flex;gap:12px}.dot{width:20px;height:20px;border-radius:50%;background:var(--forest);color:#fff;display:grid;place-items:center;font-size:.72rem;flex:none}
.products{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:40px}.product{text-align:center}.product img{width:100%;aspect-ratio:1/1;object-fit:contain;filter:drop-shadow(0 18px 14px rgba(0,0,0,.08))}.product h4{font-family:var(--serif);font-size:1.35rem;margin-top:8px}
.model{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:44px}.step{text-align:center}.n{width:42px;height:42px;border:1px solid var(--forest);border-radius:50%;display:grid;place-items:center;color:var(--forest);margin:0 auto 10px}.step h4{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.step p{font-size:.78rem;color:var(--muted);line-height:1.5;margin-top:6px}
.future{display:grid;grid-template-columns:48% 52%;background:var(--forest);color:#fff}.future img{width:100%;height:100%;object-fit:cover}.futurecopy{padding:56px 7%}.futurecopy h2{font-size:clamp(3rem,5vw,5rem)}.futurecopy p{line-height:1.8;color:rgba(255,255,255,.8);margin-top:18px}.futurecall{margin-top:24px;padding-top:22px;border-top:1px solid rgba(255,255,255,.2);color:#d8dc8f;font-family:var(--serif);font-size:1.45rem}

/* news/contact */
.newscenter{text-align:center;max-width:850px;margin:auto}.newscenter h1{font-size:clamp(4rem,7vw,7rem)}.futurelist{max-width:760px;margin:50px auto 0}.futurelist div{padding:20px 8px;border-bottom:1px solid var(--line);font-size:1rem}.contactgrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%}.contactgrid h1{font-size:clamp(4rem,7vw,7rem)}.contactinfo p{color:var(--muted);line-height:1.8;margin-top:22px}.contactitem{margin-top:28px}.contactitem small{display:block;font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--forest);margin-bottom:6px}.contactitem a,.contactitem span{font-family:var(--serif);font-size:1.55rem}.form{background:#fff;border:1px solid var(--line);padding:40px}.field{margin-bottom:22px}.field label{display:block;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin-bottom:6px}.field input,.field textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 0;outline:0}.field textarea{min-height:130px}.submit{width:100%;border:0;background:var(--forest);color:#fff;padding:17px;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700}

/* footer */
footer{background:#050505;color:#fff;padding:58px 0 24px}.fgrid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:8%}.flogo{width:180px}.ftitle{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:16px}.flinks{display:flex;flex-direction:column;gap:10px}.flinks a,.fcopy{font-size:.9rem;color:rgba(255,255,255,.72);line-height:1.8}.fbottom{border-top:1px solid rgba(255,255,255,.16);margin-top:42px;padding-top:18px;display:flex;justify-content:space-between;color:rgba(255,255,255,.42);font-size:.74rem}

/* responsive */
@media(max-width:1100px){.wrap{width:min(var(--max),calc(100% - 44px))}.nav{display:none;position:fixed;inset:86px 0 0;background:#070707;flex-direction:column;justify-content:center}.nav.open{display:flex}.nav a{font-family:var(--serif);font-size:2rem;text-transform:none;letter-spacing:0}.menu{display:block}.grid2,.aboutgrid,.why,.contactgrid{grid-template-columns:1fr}.rail{border:0;padding-left:0}.food-feature{grid-template-columns:1fr}.food-feature img{min-height:480px}.philgrid{grid-template-columns:1fr 1fr}.phil:nth-child(3){border-left:0}.products{grid-template-columns:repeat(3,1fr)}.model{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.hin{height:76px}.logo{width:150px}.nav{inset:76px 0 0}
.hero{min-height:auto}.hero:before{position:relative;display:block;content:"";height:48svh;min-height:340px;background-position:center 48%}.hero:after{background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.08) 55%,rgba(0,0,0,.72) 100%)}.hero .wrap{min-height:auto;display:block;background:#070707;padding-top:38px;padding-bottom:56px}.hero h1{font-size:clamp(3.8rem,17vw,5rem);max-width:none}.scroll-note{display:none}.section{padding:68px 0}.title{font-size:3rem}.food-feature img{min-height:360px}.food-copy{padding:50px 24px}.philgrid{grid-template-columns:1fr}.phil{padding:28px 14px}.phil+.phil{border-left:0;border-top:1px solid var(--line)}.vision{padding:82px 0}.vision h2{font-size:3.7rem}.pagehero{padding:74px 0 60px}.pagehero h1{font-size:4rem}.products{grid-template-columns:1fr 1fr}.model{grid-template-columns:1fr 1fr}.future{grid-template-columns:1fr}.future img{min-height:300px}.form{padding:28px 20px}.fgrid{grid-template-columns:1fr;gap:30px}.fbottom{flex-direction:column;gap:12px}}

/* ===== Final polish ===== */
.rule-centered{margin-left:auto!important;margin-right:auto!important}
.text-center{text-align:center!important}
.mt-18{margin-top:18px!important}.mt-22{margin-top:22px!important}.mt-24{margin-top:24px!important}.mt-26{margin-top:26px!important}.mt-28{margin-top:28px!important}
.pt-110{padding-top:110px!important}
.accent-gold{color:var(--gold)!important}.link-forest{color:var(--forest)!important}.strong-ink{color:var(--ink)!important}.crumb-light{color:rgba(255,255,255,.55)!important}
.news-vision-title{font-size:clamp(2.8rem,5vw,5rem)!important}.contact-vision-title{font-size:clamp(3rem,5.5vw,5.8rem)!important}

.menu span{transition:.2s ease}
.menu[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}



/* ===== SECTION 1 FINAL NAV ALIGNMENT ===== */
.hero-header-inner{
  grid-template-columns:210px 1fr !important;
}

.hero-nav{
  justify-self:end !important;
  display:flex !important;
  align-items:center !important;
  gap:44px !important;
  padding-top:28px !important;
  line-height:1 !important;
}

.hero-nav > a{
  display:flex !important;
  align-items:center !important;
  height:30px !important;
  margin:0 !important;
  padding:0 0 14px !important;
  line-height:1 !important;
  vertical-align:middle !important;
}

.hero-discover{
  display:none !important;
}

.hero-scroll{
  left:50% !important;
  transform:translateX(-50%) !important;
}

@media (min-width:1101px) and (max-width:1450px){
  .hero-nav{
    gap:33px !important;
    padding-top:27px !important;
  }
  .hero-nav > a{
    height:28px !important;
  }
}



/* =========================================================
   SECTION 2 — WHO WE ARE
   Premium editorial layout. Restrained scale, generous space.
   ========================================================= */
.who-section{
  position:relative;
  background:#f6f2eb;
  color:var(--ink);
  padding:112px 0 118px;
  border-bottom:1px solid rgba(17,17,15,.10);
}

.who-inner{
  width:min(1280px,calc(100% - 120px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.72fr);
  gap:10%;
  align-items:start;
}

.who-main{
  max-width:710px;
}

.who-section .kicker{
  color:var(--forest);
  font-size:.68rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:700;
}

.who-section .rule{
  width:46px;
  height:1px;
  margin:15px 0 30px;
  background:var(--forest);
}

.who-title{
  max-width:650px;
  font-size:clamp(3rem,4.1vw,4.15rem);
  line-height:.98;
  letter-spacing:-.028em;
}

.who-body{
  max-width:620px;
  margin-top:30px;
  color:#555149;
  font-size:1.04rem;
  line-height:1.85;
}

.who-side{
  position:relative;
  padding:10px 0 4px 48px;
}

.who-side-rule{
  position:absolute;
  left:0;
  top:8px;
  bottom:0;
  width:1px;
  background:rgba(17,17,15,.16);
}

.who-statement{
  max-width:440px;
  font-family:var(--serif);
  font-size:clamp(1.9rem,2.55vw,2.7rem);
  line-height:1.18;
  letter-spacing:-.018em;
  color:#1b1b18;
}

.who-link{
  display:inline-flex;
  align-items:center;
  gap:18px;
  margin-top:34px;
  padding-bottom:8px;
  border-bottom:1px solid var(--forest);
  color:var(--forest);
  font-size:.71rem;
  font-weight:700;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
  transition:gap .22s ease;
}

.who-link:hover{
  gap:26px;
}

/* Laptop */
@media (max-width:1200px){
  .who-section{
    padding:92px 0 98px;
  }

  .who-inner{
    width:min(1120px,calc(100% - 72px));
    gap:7%;
  }

  .who-title{
    font-size:clamp(2.8rem,4vw,3.7rem);
  }

  .who-statement{
    font-size:clamp(1.7rem,2.4vw,2.25rem);
  }

  .who-side{
    padding-left:36px;
  }
}

/* Tablet */
@media (max-width:900px){
  .who-section{
    padding:80px 0 84px;
  }

  .who-inner{
    width:calc(100% - 48px);
    grid-template-columns:1fr;
    gap:52px;
  }

  .who-main{
    max-width:680px;
  }

  .who-title{
    max-width:580px;
    font-size:clamp(2.75rem,7vw,3.6rem);
  }

  .who-body{
    max-width:620px;
  }

  .who-side{
    max-width:660px;
    padding:32px 0 0;
  }

  .who-side-rule{
    top:0;
    left:0;
    right:0;
    bottom:auto;
    width:58px;
    height:1px;
  }

  .who-statement{
    max-width:590px;
    font-size:clamp(1.75rem,4.5vw,2.25rem);
  }
}

/* Mobile */
@media (max-width:600px){
  .who-section{
    padding:66px 0 70px;
  }

  .who-inner{
    width:calc(100% - 40px);
    gap:42px;
  }

  .who-section .kicker{
    font-size:.64rem;
  }

  .who-section .rule{
    margin:13px 0 24px;
  }

  .who-title{
    max-width:100%;
    font-size:clamp(2.55rem,12vw,3.15rem);
    line-height:1;
  }

  .who-body{
    margin-top:22px;
    font-size:.98rem;
    line-height:1.76;
  }

  .who-side{
    padding-top:28px;
  }

  .who-statement{
    font-size:clamp(1.65rem,8vw,2rem);
    line-height:1.2;
  }

  .who-link{
    margin-top:28px;
    min-height:44px;
    align-items:center;
    font-size:.68rem;
  }
}



/* =========================================================
   SECTION 3 — OUR BUSINESS / FOOD PROCESSING
   Premium split composition. One business, one clear story.
   ========================================================= */
.business-section{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(420px,.88fr);
  min-height:680px;
  background:#fff;
  border-bottom:1px solid rgba(17,17,15,.10);
}

.business-visual{
  position:relative;
  min-height:680px;
  overflow:hidden;
  background:#111;
}

.business-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.business-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    180deg,
    rgba(0,0,0,.04) 0%,
    rgba(0,0,0,.02) 58%,
    rgba(0,0,0,.42) 100%
  );
  pointer-events:none;
}

.business-image-label{
  position:absolute;
  z-index:2;
  left:44px;
  bottom:36px;
  display:flex;
  align-items:center;
  gap:16px;
  color:#fff;
  font-size:.65rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.business-image-label span:first-child{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.58);
  border-radius:50%;
  font-family:var(--serif);
  font-size:1.15rem;
  letter-spacing:0;
}

.business-content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:86px clamp(54px,6vw,98px);
  background:#fbfaf7;
}

.business-content .kicker{
  color:var(--forest);
  font-size:.68rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:700;
}

.business-content .rule{
  width:46px;
  height:1px;
  margin:15px 0 30px;
  background:var(--forest);
}

.business-heading-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:16px 18px;
}

.business-title{
  font-size:clamp(3.2rem,4.5vw,4.8rem);
  line-height:.96;
  letter-spacing:-.028em;
}

.business-status{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 12px;
  border:1px solid rgba(20,53,31,.28);
  border-radius:999px;
  color:var(--forest);
  background:rgba(20,53,31,.045);
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.business-lead{
  margin-top:18px;
  font-family:var(--serif);
  font-size:clamp(1.55rem,2vw,2rem);
  color:var(--forest);
}

.business-copy{
  max-width:590px;
  margin-top:24px;
  color:#5f5a52;
  font-size:1rem;
  line-height:1.84;
}

.business-principles{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 28px;
  max-width:560px;
  margin-top:32px;
  border-top:1px solid rgba(17,17,15,.12);
}

.business-principles span{
  position:relative;
  padding:15px 0 15px 14px;
  border-bottom:1px solid rgba(17,17,15,.12);
  color:#2f2c27;
  font-size:.78rem;
  letter-spacing:.04em;
}

.business-principles span::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--forest);
  transform:translateY(-50%);
}

.business-link{
  width:max-content;
  min-height:44px;
  margin-top:34px;
  display:inline-flex;
  align-items:center;
  gap:18px;
  padding-bottom:8px;
  border-bottom:1px solid var(--forest);
  color:var(--forest);
  font-size:.71rem;
  font-weight:700;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
  transition:gap .22s ease;
}

.business-link:hover{
  gap:26px;
}

/* Large laptop */
@media(max-width:1200px){
  .business-section{
    grid-template-columns:1.05fr .95fr;
    min-height:620px;
  }

  .business-visual{
    min-height:620px;
  }

  .business-content{
    padding:70px 48px;
  }

  .business-title{
    font-size:clamp(3rem,4.3vw,4rem);
  }
}

/* Tablet */
@media(max-width:900px){
  .business-section{
    grid-template-columns:1fr;
    min-height:0;
  }

  .business-visual{
    min-height:0;
    aspect-ratio:16 / 10;
  }

  .business-content{
    padding:68px 24px 74px;
  }

  .business-content > *{
    max-width:680px;
  }

  .business-title{
    font-size:clamp(3rem,7.5vw,4rem);
  }
}

/* Mobile */
@media(max-width:600px){
  .business-visual{
    aspect-ratio:4 / 3;
  }

  .business-image-label{
    left:20px;
    bottom:18px;
    gap:11px;
    font-size:.58rem;
  }

  .business-image-label span:first-child{
    width:32px;
    height:32px;
    font-size:1rem;
  }

  .business-content{
    padding:58px 20px 64px;
  }

  .business-content .rule{
    margin:13px 0 24px;
  }

  .business-heading-row{
    display:block;
  }

  .business-title{
    font-size:clamp(2.75rem,13vw,3.45rem);
    line-height:.98;
  }

  .business-status{
    margin-top:14px;
  }

  .business-lead{
    margin-top:20px;
    font-size:1.5rem;
  }

  .business-copy{
    margin-top:18px;
    font-size:.97rem;
    line-height:1.75;
  }

  .business-principles{
    grid-template-columns:1fr;
    margin-top:26px;
  }

  .business-link{
    margin-top:28px;
  }
}



/* ===== SECTION 3 IMAGE FIT FIX — show the full product composition ===== */
.business-visual{
  position:relative;
  overflow:hidden;
  background:#17120d;
}

/* Soft full-bleed backdrop so "contain" doesn't create ugly empty bands */
.business-visual::before{
  content:"";
  position:absolute;
  inset:-24px;
  background:
    linear-gradient(rgba(18,14,10,.34),rgba(18,14,10,.34)),
    url("food-systems-overview.jpg") center / cover no-repeat;
  filter:blur(16px);
  transform:scale(1.06);
  z-index:0;
}

/* Main image: full composition visible, no product bag cropped */
.business-visual img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

/* Keep the subtle premium bottom shading above the image */
.business-visual::after{
  z-index:2;
}

/* Keep label above everything */
.business-image-label{
  z-index:3;
}



/* ===== SECTION 4 — OUR VISION ===== */
.vision-section{
  background:#fff;
  color:var(--ink);
  padding:112px 0 118px;
  border-bottom:1px solid rgba(17,17,15,.10);
}
.vision-inner{
  width:min(1120px,calc(100% - 80px));
  margin:0 auto;
  text-align:center;
}
.vision-kicker{
  color:var(--forest);
  font-size:.68rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:700;
}
.vision-rule{
  width:44px;
  height:1px;
  background:var(--forest);
  margin:15px auto 30px;
}
.vision-title{
  max-width:1060px;
  margin:0 auto;
  font-size:clamp(3.5rem,6vw,6.4rem);
  line-height:.98;
  letter-spacing:-.03em;
}
@media(max-width:900px){
  .vision-section{padding:88px 0 94px}
  .vision-inner{width:calc(100% - 48px)}
  .vision-title{font-size:clamp(3rem,8vw,4.8rem);line-height:1}
}
@media(max-width:600px){
  .vision-section{padding:70px 0 76px}
  .vision-inner{width:calc(100% - 36px)}
  .vision-title{font-size:clamp(2.5rem,11vw,3.35rem);line-height:1.02}
}

/* ===== SECTION 5 — OUR PHILOSOPHY ===== */
.philosophy-section{
  background:#f6f2eb;
  color:var(--ink);
  padding:104px 0 110px;
}
.philosophy-inner{
  width:min(1240px,calc(100% - 90px));
  margin:0 auto;
}
.philosophy-heading{
  text-align:center;
  max-width:1040px;
  margin:0 auto 58px;
}
.philosophy-heading .kicker{
  color:var(--forest);
  font-size:.68rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:700;
}
.philosophy-rule{
  width:44px;
  height:1px;
  background:var(--forest);
  margin:15px auto 28px;
}
.philosophy-title{
  font-size:clamp(3rem,4.9vw,5rem);
  line-height:1;
  letter-spacing:-.028em;
}
.philosophy-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(17,17,15,.12);
  border-bottom:1px solid rgba(17,17,15,.12);
}
.philosophy-card{
  min-height:330px;
  padding:36px 30px 30px;
  text-align:center;
}
.philosophy-card + .philosophy-card{
  border-left:1px solid rgba(17,17,15,.12);
}
.philosophy-icon{
  width:62px;
  height:62px;
  margin:0 auto 24px;
}
.philosophy-icon svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:var(--forest);
  stroke-width:1.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.philosophy-card h3{
  font-family:var(--serif);
  font-size:1.6rem;
  line-height:1.15;
  margin:0 0 14px;
}
.philosophy-card p{
  color:#5f5a52;
  font-size:.94rem;
  line-height:1.7;
  max-width:250px;
  margin:0 auto;
}
.philosophy-card span{
  display:block;
  margin:18px auto 0;
  max-width:240px;
  color:var(--forest);
  font-size:.62rem;
  font-weight:700;
  line-height:1.5;
  letter-spacing:.13em;
  text-transform:uppercase;
}
@media(max-width:980px){
  .philosophy-section{padding:86px 0 92px}
  .philosophy-inner{width:calc(100% - 48px)}
  .philosophy-grid{grid-template-columns:1fr 1fr}
  .philosophy-card:nth-child(3){border-left:0;border-top:1px solid rgba(17,17,15,.12)}
  .philosophy-card:nth-child(4){border-top:1px solid rgba(17,17,15,.12)}
}
@media(max-width:600px){
  .philosophy-section{padding:70px 0 74px}
  .philosophy-inner{width:calc(100% - 36px)}
  .philosophy-heading{margin-bottom:42px}
  .philosophy-title{font-size:clamp(2.5rem,11vw,3.25rem)}
  .philosophy-grid{grid-template-columns:1fr}
  .philosophy-card{min-height:0;padding:34px 12px 36px}
  .philosophy-card + .philosophy-card{border-left:0;border-top:1px solid rgba(17,17,15,.12)}
}

/* ===== FOOTER ===== */
.site-footer{
  background:#070707;
  color:#fff;
  padding:66px 0 24px;
}
.footer-inner{
  width:min(1160px,calc(100% - 80px));
  margin:0 auto;
  display:grid;
  grid-template-columns:1.1fr 1fr .9fr;
  gap:80px;
  align-items:start;
}
.footer-brand{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}
.footer-brand-mark{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#000;
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  font-family:var(--sans);
  font-size:1.45rem;
  font-weight:700;
}
.footer-brand-name{
  font-family:var(--sans);
  font-size:1.25rem;
  letter-spacing:.28em;
  padding-left:.28em;
}
.footer-title{
  color:#8f8f8f;
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:18px;
}
.footer-links{
  display:flex;
  flex-direction:column;
  gap:11px;
}
.footer-links a,
.footer-contact a,
.footer-contact span{
  color:rgba(255,255,255,.88);
  font-size:.88rem;
  line-height:1.45;
}
.footer-links a:hover,
.footer-contact a:hover{color:#fff}
.footer-contact{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.footer-bottom{
  width:min(1160px,calc(100% - 80px));
  margin:54px auto 0;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.14);
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:#8f8f8f;
  font-size:.7rem;
}
@media(max-width:900px){
  .footer-inner{
    width:calc(100% - 48px);
    grid-template-columns:1fr 1fr;
    gap:46px 60px;
  }
  .footer-brand{grid-column:1 / -1}
  .footer-bottom{width:calc(100% - 48px)}
}
@media(max-width:600px){
  .site-footer{padding:54px 0 22px}
  .footer-inner{
    width:calc(100% - 36px);
    grid-template-columns:1fr;
    gap:36px;
  }
  .footer-brand{grid-column:auto}
  .footer-bottom{
    width:calc(100% - 36px);
    margin-top:42px;
    flex-direction:column;
    gap:8px;
  }
}



/* ===== PHILOSOPHY BRAND SIGNATURE ===== */
.philosophy-signature{
  margin:34px auto 0;
  padding-top:24px;
  border-top:1px solid rgba(17,17,15,.12);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  color:#20211d;
}

.philosophy-signature-left{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--sans);
  font-size:.82rem;
  color:#22241f;
}

.signature-leaf{
  width:24px;
  height:24px;
  fill:none;
  stroke:var(--forest);
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.signature-divider{
  width:1px;
  height:18px;
  background:rgba(17,17,15,.28);
}

.signature-name{
  font-family:var(--sans);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.32em;
  padding-left:.32em;
}

@media(max-width:600px){
  .philosophy-signature{
    margin-top:28px;
    padding-top:20px;
    gap:12px;
    flex-wrap:wrap;
  }

  .philosophy-signature-left{
    font-size:.76rem;
  }

  .signature-name{
    font-size:.68rem;
    letter-spacing:.26em;
    padding-left:.26em;
  }
}
