/* ============ ALFA VEGETABLES & FRUITS — Premium Theme ============ */
:root{
  --green-deep:#16301F;
  --green-mid:#1F4A2C;
  --cream:#F6F1E2;
  --cream-soft:#EFE7D2;
  --charcoal:#181712;
  --terracotta:#D97B3F;
  --terracotta-bright:#E8893E;
  --sage:#9CB89A;
  --line: rgba(22,48,31,.14);
  --font-display: "Fraunces", serif;
  --font-body: "Inter", sans-serif;
  --font-mono: "Space Grotesk", sans-serif;
  --container: 1200px;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family: var(--font-body);
  background: var(--cream);
  color: var(--charcoal);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
button{font-family:inherit; cursor:pointer; border:none; background:none;}

.wrap{max-width:var(--container); margin:0 auto; padding:0 32px;}
@media(max-width:640px){.wrap{padding:0 20px;}}

::selection{background:var(--terracotta); color:var(--cream);}

/* ---------- Typography helpers ---------- */
.eyebrow{
  font-family:var(--font-mono);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.72rem;
  color:var(--terracotta);
  font-weight:600;
  display:flex; align-items:center; gap:10px;
}
.eyebrow::before{content:""; width:24px; height:1px; background:var(--terracotta);}
h1,h2,h3,h4{font-family:var(--font-display); font-weight:600; letter-spacing:-.01em; color:var(--green-deep);}
h1{font-size:clamp(2.6rem,6vw,5rem); line-height:.98; font-weight:500;}
h2{font-size:clamp(2rem,4vw,3.1rem); line-height:1.05;}
h3{font-size:1.3rem;}
p{color:#43483F;}
.lede{font-size:clamp(1.05rem,1.6vw,1.25rem); color:#3C4239; max-width:640px;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font-mono); font-size:.82rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.08em;
  padding:16px 28px; border-radius:2px;
  transition:transform .35s cubic-bezier(.2,.7,.2,1), background .3s, color .3s, box-shadow .3s;
  white-space:nowrap;
}
.btn-primary{background:var(--terracotta); color:var(--cream);}
.btn-primary:hover{background:var(--green-deep); transform:translateY(-3px); box-shadow:0 14px 28px -10px rgba(22,48,31,.45);}
.btn-outline{border:1px solid var(--green-deep); color:var(--green-deep);}
.btn-outline:hover{background:var(--green-deep); color:var(--cream); transform:translateY(-3px);}
.btn-ghost{color:var(--cream); border-bottom:1px solid rgba(246,241,226,.4); border-radius:0; padding:6px 0;}
.btn-ghost:hover{border-color:var(--terracotta); color:var(--terracotta);}

/* ---------- Nav ---------- */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:22px 0;
  transition:background .4s, padding .4s, box-shadow .4s, border-color .4s;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(246,241,226,.92); backdrop-filter:blur(10px);
  padding:14px 0; border-color:var(--line);
  box-shadow:0 10px 30px -20px rgba(0,0,0,.2);
}
.nav .wrap{display:flex; align-items:center; justify-content:space-between;}
.nav-logo{font-family:var(--font-display); font-size:1.4rem; font-weight:600; color:var(--cream); letter-spacing:.01em; display:flex; align-items:center; gap:10px; transition:color .4s;}
.nav.scrolled .nav-logo{color:var(--green-deep);}
.nav-logo .dot{width:8px; height:8px; border-radius:50%; background:var(--terracotta); display:inline-block;}
.nav-links{display:flex; align-items:center; gap:38px;}
.nav-links a{
  font-family:var(--font-mono); font-size:.82rem; text-transform:uppercase; letter-spacing:.07em;
  color:rgba(246,241,226,.85); position:relative; padding:4px 0; transition:color .4s;
}
.nav.scrolled .nav-links a{color:#3C4239;}
.nav-links a.active, .nav-links a:hover{color:var(--terracotta);}
.nav-links a::after{content:""; position:absolute; bottom:-2px; left:0; width:0; height:1px; background:var(--terracotta); transition:width .3s;}
.nav-links a:hover::after, .nav-links a.active::after{width:100%;}
.nav-cta{font-family:var(--font-mono); font-size:.78rem; text-transform:uppercase; letter-spacing:.07em; background:var(--terracotta); color:var(--cream); padding:11px 20px;}
.nav-cta:hover{background:var(--green-deep);}
.nav-burger{display:none;}

@media(max-width:880px){
  .nav-links{position:fixed; inset:0 0 0 auto; width:78%; max-width:340px; background:var(--green-deep); flex-direction:column; justify-content:center; gap:30px; transform:translateX(100%); transition:transform .5s cubic-bezier(.2,.7,.2,1);}
  .nav-links.open{transform:translateX(0);}
  .nav-links a{color:var(--cream); font-size:1rem;}
  .nav-cta{display:none;}
  .nav-links .nav-cta-mobile{display:inline-flex; background:var(--terracotta); padding:14px 24px; color:var(--cream);}
  .nav-burger{display:flex; flex-direction:column; gap:5px; z-index:1100; padding:6px;}
  .nav-burger span{width:24px; height:2px; background:var(--cream); transition:.3s;}
  .nav.scrolled .nav-burger span{background:var(--green-deep);}
  .nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-burger.open span:nth-child(2){opacity:0;}
  .nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
}

/* ---------- Page hero (inner pages) ---------- */
.page-hero{
  background:var(--green-deep); color:var(--cream);
  padding:180px 0 100px; position:relative; overflow:hidden;
}
.page-hero::after{
  content:""; position:absolute; right:-10%; top:-30%; width:60%; height:160%;
  background:radial-gradient(circle, rgba(217,123,63,.18), transparent 65%);
}
.page-hero .eyebrow{color:var(--sage);}
.page-hero .eyebrow::before{background:var(--sage);}
.page-hero h1{color:var(--cream);}
.page-hero p{color:rgba(246,241,226,.75);}
.crumb{font-family:var(--font-mono); font-size:.75rem; text-transform:uppercase; letter-spacing:.1em; color:var(--sage); margin-bottom:18px;}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0; transform:translateY(36px); transition:opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1; transform:translateY(0);}
.reveal-stagger > *{opacity:0; transform:translateY(30px); transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);}
.reveal-stagger.in > *{opacity:1; transform:translateY(0);}
.reveal-stagger.in > *:nth-child(1){transition-delay:.05s;}
.reveal-stagger.in > *:nth-child(2){transition-delay:.15s;}
.reveal-stagger.in > *:nth-child(3){transition-delay:.25s;}
.reveal-stagger.in > *:nth-child(4){transition-delay:.35s;}
.reveal-stagger.in > *:nth-child(5){transition-delay:.45s;}
.reveal-stagger.in > *:nth-child(6){transition-delay:.55s;}

@media (prefers-reduced-motion: reduce){
  .reveal, .reveal-stagger > *{opacity:1 !important; transform:none !important; transition:none !important;}
  html{scroll-behavior:auto;}
}

/* ---------- Section base ---------- */
section{padding:120px 0;}
@media(max-width:880px){section{padding:80px 0;}}
.section-head{display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:64px;}
.section-head h2{max-width:600px;}
.section-head p{max-width:380px;}
@media(max-width:760px){.section-head{flex-direction:column; align-items:flex-start; gap:18px;}}

/* ---------- Hero (home) ---------- */
.hero{
  position:relative; min-height:100vh; display:flex; align-items:flex-end;
  background:var(--green-deep); color:var(--cream); overflow:hidden;
  padding-bottom:90px;
}
.hero-bg{position:absolute; inset:0; z-index:0;}
.hero-bg img{width:100%; height:100%; object-fit:cover; opacity:.42; transform:scale(1.08);}
.hero-bg::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(22,48,31,.55) 0%, rgba(22,48,31,.35) 40%, var(--green-deep) 96%);}
.hero-content{position:relative; z-index:2; width:100%;}
.hero-top{padding-top:160px; max-width:780px;}
.hero h1{color:var(--cream); margin:22px 0 26px;}
.hero h1 em{font-style:italic; color:var(--sage);}
.hero .lede{color:rgba(246,241,226,.8); margin-bottom:38px;}
.hero-ctas{display:flex; gap:18px; flex-wrap:wrap; margin-bottom:70px;}
.hero-stats{display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(246,241,226,.18); padding-top:28px; gap:20px;}
.hero-stats div{font-family:var(--font-mono); font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:rgba(246,241,226,.7);}
@media(max-width:700px){.hero-stats{grid-template-columns:1fr;}}

/* scroll cue */
.scroll-cue{position:absolute; right:32px; bottom:36px; z-index:3; display:flex; flex-direction:column; align-items:center; gap:10px; color:rgba(246,241,226,.6);}
.scroll-cue .line{width:1px; height:46px; background:rgba(246,241,226,.35); position:relative; overflow:hidden;}
.scroll-cue .line::after{content:""; position:absolute; top:-100%; left:0; width:100%; height:100%; background:var(--terracotta); animation:scrollLine 2s infinite;}
@keyframes scrollLine{0%{top:-100%;} 60%{top:100%;} 100%{top:100%;}}
@media(max-width:700px){.scroll-cue{display:none;}}

/* ---------- Marquee strip ---------- */
.marquee{background:var(--terracotta); color:var(--cream); overflow:hidden; padding:16px 0; white-space:nowrap;}
.marquee-track{display:inline-flex; gap:48px; animation:marquee 28s linear infinite;}
.marquee span{font-family:var(--font-mono); text-transform:uppercase; font-size:.85rem; letter-spacing:.1em; display:flex; align-items:center; gap:48px;}
.marquee span::after{content:"✦"; opacity:.7;}
@keyframes marquee{from{transform:translateX(0);} to{transform:translateX(-50%);}}

/* ---------- Intro / about split ---------- */
.split{display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;}
@media(max-width:880px){.split{grid-template-columns:1fr; gap:46px;}}
.split-media{position:relative; border-radius:2px; overflow:hidden;}
.split-media img{width:100%; height:100%; object-fit:cover; aspect-ratio:4/5; transition:transform .8s cubic-bezier(.2,.7,.2,1);}
.split-media:hover img{transform:scale(1.05);}
.split-media .tag{position:absolute; bottom:20px; left:20px; background:var(--cream); padding:10px 16px; font-family:var(--font-mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--green-deep);}

.value-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); margin-top:34px; border:1px solid var(--line);}
.value-grid div{background:var(--cream); padding:30px 26px;}
.value-grid h4{font-family:var(--font-display); font-size:1.05rem; color:var(--green-deep); margin-bottom:8px;}
.value-grid p{font-size:.92rem;}
@media(max-width:700px){.value-grid{grid-template-columns:1fr;}}

/* ---------- Product cards ---------- */
.product-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
@media(max-width:980px){.product-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.product-grid{grid-template-columns:1fr;}}
.card{background:var(--cream-soft); border:1px solid var(--line); overflow:hidden; transition:transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s;}
.card:hover{transform:translateY(-8px); box-shadow:0 30px 50px -28px rgba(22,48,31,.35);}
.card-media{position:relative; overflow:hidden; aspect-ratio:4/3;}
.card-media img{width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1);}
.card:hover .card-media img{transform:scale(1.08);}
.card-tag{position:absolute; top:14px; left:14px; background:rgba(22,48,31,.85); color:var(--cream); font-family:var(--font-mono); font-size:.68rem; text-transform:uppercase; letter-spacing:.07em; padding:7px 12px;}
.card-body{padding:24px 26px 28px;}
.card-body h3{margin-bottom:8px;}
.card-body p{font-size:.92rem; margin-bottom:18px;}
.card-link{font-family:var(--font-mono); font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(--terracotta); display:inline-flex; align-items:center; gap:8px;}
.card-link::after{content:"→"; transition:transform .3s;}
.card-link:hover::after{transform:translateX(5px);}

/* ---------- Process ---------- */
.process-list{display:flex; flex-direction:column;}
.process-row{display:grid; grid-template-columns:90px 1fr 1fr; gap:30px; padding:38px 0; border-top:1px solid var(--line); align-items:center;}
.process-list .process-row:last-child{border-bottom:1px solid var(--line);}
.process-num{font-family:var(--font-display); font-size:2.2rem; color:var(--sage); font-weight:500;}
.process-row h3{margin-bottom:6px;}
@media(max-width:760px){.process-row{grid-template-columns:1fr; gap:8px;}}

/* ---------- Why us / stats dark ---------- */
.dark-section{background:var(--green-deep); color:var(--cream);}
.dark-section h2{color:var(--cream);}
.dark-section .lede{color:rgba(246,241,226,.7);}
.feature-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:rgba(246,241,226,.14); border:1px solid rgba(246,241,226,.14); margin-top:50px;}
.feature-grid div{background:var(--green-deep); padding:38px 36px;}
.feature-grid h4{font-family:var(--font-display); font-size:1.2rem; color:var(--cream); margin-bottom:10px;}
.feature-grid p{color:rgba(246,241,226,.65); font-size:.93rem;}
@media(max-width:700px){.feature-grid{grid-template-columns:1fr;}}

.stat-bar{display:grid; grid-template-columns:repeat(4,1fr); gap:30px; margin-top:80px; border-top:1px solid rgba(246,241,226,.14); padding-top:46px;}
.stat-bar div b{display:block; font-family:var(--font-display); font-size:clamp(2rem,3.5vw,3rem); color:var(--terracotta); font-weight:500;}
.stat-bar div span{font-family:var(--font-mono); font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; color:rgba(246,241,226,.65);}
@media(max-width:760px){.stat-bar{grid-template-columns:repeat(2,1fr);}}

/* ---------- Testimonial / quote ---------- */
.quote-block{max-width:820px; margin:0 auto; text-align:center;}
.quote-block p{font-family:var(--font-display); font-size:clamp(1.4rem,2.6vw,2.1rem); color:var(--green-deep); font-style:italic; line-height:1.4;}
.quote-block cite{display:block; margin-top:26px; font-family:var(--font-mono); font-style:normal; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--terracotta);}

/* ---------- CTA band ---------- */
.cta-band{background:var(--terracotta); color:var(--cream); padding:90px 0;}
.cta-band .wrap{display:flex; justify-content:space-between; align-items:center; gap:40px; flex-wrap:wrap;}
.cta-band h2{color:var(--cream);}
.cta-band .btn-outline{border-color:var(--cream); color:var(--cream);}
.cta-band .btn-outline:hover{background:var(--cream); color:var(--terracotta);}

/* ---------- Contact ---------- */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:80px;}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr; gap:50px;}}
.info-card{display:flex; gap:18px; padding:24px 0; border-top:1px solid var(--line);}
.info-card:last-child{border-bottom:1px solid var(--line);}
.info-card .ic{font-family:var(--font-mono); font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; color:var(--terracotta); width:80px; flex-shrink:0; padding-top:4px;}
.info-card h4{font-family:var(--font-display); font-size:1.05rem; margin-bottom:4px; color:var(--green-deep);}
.info-card p{font-size:.92rem;}

.form{display:flex; flex-direction:column; gap:22px;}
.form label{font-family:var(--font-mono); font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; color:var(--green-deep); margin-bottom:8px; display:block;}
.form input, .form select, .form textarea{
  width:100%; background:transparent; border:none; border-bottom:1px solid var(--line);
  padding:12px 2px; font-family:var(--font-body); font-size:1rem; color:var(--charcoal);
  transition:border-color .3s;
}
.form input:focus, .form select:focus, .form textarea:focus{outline:none; border-color:var(--terracotta);}
.form textarea{resize:vertical; min-height:90px;}
.form button{margin-top:8px; align-self:flex-start;}

/* ---------- Map ---------- */
.map-frame{width:100%; height:380px; border:1px solid var(--line); filter:grayscale(.3) contrast(1.05);}

/* ---------- Footer ---------- */
footer{background:var(--charcoal); color:rgba(246,241,226,.7); padding:90px 0 30px;}
.footer-top{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:50px; padding-bottom:70px; border-bottom:1px solid rgba(246,241,226,.1);}
@media(max-width:840px){.footer-top{grid-template-columns:1fr 1fr; row-gap:40px;}}
@media(max-width:520px){.footer-top{grid-template-columns:1fr;}}
.footer-logo{font-family:var(--font-display); font-size:1.5rem; color:var(--cream); margin-bottom:16px;}
.footer-top p{color:rgba(246,241,226,.55); font-size:.92rem; max-width:300px;}
.footer-col h5{font-family:var(--font-mono); text-transform:uppercase; font-size:.72rem; letter-spacing:.08em; color:var(--sage); margin-bottom:18px;}
.footer-col li{margin-bottom:11px; font-size:.92rem;}
.footer-col a:hover{color:var(--terracotta);}
.footer-bottom{display:flex; justify-content:space-between; padding-top:26px; font-family:var(--font-mono); font-size:.72rem; letter-spacing:.04em; color:rgba(246,241,226,.4); flex-wrap:wrap; gap:14px;}
.footer-bottom a:hover{color:var(--terracotta);}

/* ---------- Page-specific: products filter ---------- */
.filter-bar{display:flex; gap:12px; flex-wrap:wrap; margin-bottom:50px;}
.filter-btn{font-family:var(--font-mono); font-size:.76rem; text-transform:uppercase; letter-spacing:.06em; padding:10px 18px; border:1px solid var(--line); color:#3C4239; transition:all .3s;}
.filter-btn.active, .filter-btn:hover{background:var(--green-deep); color:var(--cream); border-color:var(--green-deep);}

/* utility */
.center{text-align:center;}
.mt-lg{margin-top:80px;}
