:root{
  --gf-green:#237044;
  --gf-green-600:#12492b;
  --gf-lime:#b8e36f;
  --gf-cream:#f7fbef;
  --gf-mint:#e8f7ed;
  --gf-citrus:#fff3c7;
  --gf-peach:#ffe8d2;
  --gf-sky:#e7f2ff;
  --gf-navy:#0f3142;
  --gf-navy-600:#082232;
  --gf-ink:#0b0c10;
  --gf-muted:#6b7280;
  --gf-line:#dde8df;
  --shadow:0 18px 45px rgba(18,73,43,.12);
  --shadow-strong:0 26px 70px rgba(11,12,16,.18);
  --radius:.5rem;
}

html,body{
  background:#fbfcf7;
  color:var(--gf-ink);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
}

a{color:var(--gf-green);}
a:hover{color:var(--gf-green-600);}
section{scroll-margin-top:96px;}

.navbar{
  --bs-navbar-brand-font-size:1.15rem;
  backdrop-filter:saturate(140%) blur(14px);
  background:rgba(255,255,255,.9) !important;
  border-bottom:1px solid rgba(18,73,43,.1);
  box-shadow:0 14px 40px rgba(18,73,43,.1);
}

.navbar .btn{border-radius:999px;}
.logo-img{height:70px;width:auto;}

.navbar .nav-link{
  border-radius:999px;
  color:#26352e;
  font-weight:700;
  padding:.55rem .8rem;
}

.navbar .nav-link.dropdown-toggle{
  background:transparent;
  border:0;
  cursor:pointer;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus{
  background:var(--gf-mint);
  color:var(--gf-green-600);
}

.dropdown-menu{
  border:1px solid rgba(18,73,43,.12);
  border-radius:.5rem;
  box-shadow:var(--shadow);
  padding:.65rem;
}

.dropdown-item{
  border-radius:.45rem;
  font-weight:650;
}

.dropdown-item:hover,
.dropdown-item:focus{
  background:var(--gf-mint);
  color:var(--gf-green-600);
}

.btn{
  align-items:center;
  border-radius:999px;
  display:inline-flex;
  justify-content:center;
  min-height:48px;
  font-weight:750;
  padding:.65rem 1rem;
}

.btn.btn-sm{
  min-height:40px;
  padding:.45rem .85rem;
}

.btn-success{
  --bs-btn-bg:var(--gf-green);
  --bs-btn-border-color:var(--gf-green);
  --bs-btn-hover-bg:var(--gf-green-600);
  --bs-btn-hover-border-color:var(--gf-green-600);
  box-shadow:0 12px 28px rgba(35,112,68,.22);
}

.hero,
.page-hero{
  background-position:center;
  background-size:cover;
  position:relative;
}

.hero{
  background-image:url("images/restaurant-hero-1920.webp");
}

.page-hero{
  background-image:var(--page-hero-image,url("images/restaurant-produce-crates-1920.webp"));
}

.page-hero-restaurant{
  --page-hero-image:url("images/south-florida-produce-1920.webp");
  background-position:center 48%;
}

.page-hero-hotel{
  --page-hero-image:url("images/hotel-resort-produce-1920.webp");
  background-position:center 48%;
}

.page-hero-school{
  --page-hero-image:url("images/school-institutional-produce.jpg");
  background-position:center 44%;
}

.page-hero-marine{
  --page-hero-image:url("images/yacht-marine-provisioning-1920.jpeg");
  background-position:center 58%;
}

.hero::after,
.page-hero::after{
  background:rgba(8,29,18,.68);
  content:"";
  inset:0;
  position:absolute;
}

.page-hero-marine::after{
  background:rgba(8,34,50,.76);
}

.hero-content{
  position:relative;
  z-index:1;
}

.hero .card{
  border:0;
  border-radius:var(--radius);
  box-shadow:var(--shadow-strong);
}

.section-light{
  background:var(--gf-cream);
}

.section-title small,
.eyebrow{
  color:var(--gf-green-600);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.section-title h2{font-weight:800;}
.lead-tight{max-width:760px;}

.feature,
.product,
.info-card{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(18,73,43,.1);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

.feature,
.info-card{
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

a.feature:hover,
a.info-card:hover,
a.feature:focus-visible,
a.info-card:focus-visible{
  border-color:rgba(35,112,68,.28);
  box-shadow:var(--shadow-strong);
  color:inherit;
  outline:0;
  transform:translateY(-3px);
}

.icon-pill{
  align-items:center;
  background:var(--gf-citrus);
  border:1px solid rgba(18,73,43,.12);
  border-radius:999px;
  display:inline-flex;
  height:48px;
  justify-content:center;
  width:48px;
}

.product{
  color:inherit;
  display:block;
  overflow:hidden;
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.product:hover,
.product:focus-visible{
  border-color:rgba(35,112,68,.28);
  box-shadow:var(--shadow-strong);
  color:inherit;
  outline:0;
  transform:translateY(-4px);
}

.product img{
  aspect-ratio:4/3;
  object-fit:cover;
  width:100%;
}

.badge-soft{
  background:rgba(46,125,50,.12);
  border:1px solid rgba(46,125,50,.2);
  color:var(--gf-green-600);
}

.cta{
  background:var(--gf-green-600);
  border-radius:var(--radius);
  color:#fff;
}

.quote{
  border-left:4px solid var(--gf-lime);
  color:#334155;
  font-style:italic;
  padding-left:1rem;
}

.link-grid{
  display:grid;
  gap:.75rem;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
}

.link-card{
  align-items:center;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(18,73,43,.1);
  border-radius:var(--radius);
  display:flex;
  font-weight:700;
  gap:.65rem;
  padding:.85rem 1rem;
  text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}

.link-card:hover,
.link-card:focus-visible{
  background:var(--gf-mint);
  box-shadow:0 12px 28px rgba(18,73,43,.1);
  outline:0;
  transform:translateY(-2px);
}

.service-strip{
  border-block:1px solid var(--gf-line);
}

.restaurant-band{
  background:var(--gf-mint);
  border-block:1px solid var(--gf-line);
}

.restaurant-stat{
  align-items:flex-start;
  display:flex;
  gap:.85rem;
}

.restaurant-stat .icon-pill{
  flex:0 0 48px;
}

.route-meta{
  color:var(--gf-muted);
  display:flex;
  flex-wrap:wrap;
  gap:.75rem 1rem;
  margin-top:1rem;
}

.route-meta span{
  align-items:center;
  display:inline-flex;
  gap:.35rem;
}

.page-cta-card{
  background:var(--gf-green-600);
  border-radius:var(--radius);
  box-shadow:var(--shadow-strong);
  color:#fff;
  min-height:100%;
}

.brand-ticker{
  background:var(--gf-citrus);
  border-block:1px solid rgba(18,73,43,.12);
  overflow:hidden;
  position:relative;
}

.brand-ticker::before,
.brand-ticker::after{
  content:"";
  display:none;
  inset-block:0;
  pointer-events:none;
  position:absolute;
  width:80px;
  z-index:2;
}

.brand-ticker::before{
  left:0;
}

.brand-ticker::after{
  right:0;
}

.brand-ticker-track{
  align-items:center;
  animation:brand-scroll 42s linear infinite;
  display:flex;
  gap:1.25rem;
  width:max-content;
}

.brand-ticker:hover .brand-ticker-track,
.brand-ticker:focus-within .brand-ticker-track{
  animation-play-state:paused;
}

.brand-logo-item{
  align-items:center;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(18,73,43,.1);
  border-radius:var(--radius);
  box-shadow:0 10px 26px rgba(18,73,43,.08);
  display:flex;
  flex:0 0 180px;
  height:92px;
  justify-content:center;
  padding:1rem;
}

.brand-logo-item img{
  max-height:58px;
  max-width:145px;
  object-fit:contain;
}

@keyframes brand-scroll{
  from{transform:translateX(0);}
  to{transform:translateX(calc(-50% - .625rem));}
}

.contact-panel{
  background:rgba(255,255,255,.96);
  border:1px solid rgba(18,73,43,.12);
  border-radius:var(--radius);
  box-shadow:var(--shadow-strong);
  padding:1.25rem;
}

.form-label{
  color:#21352a;
  font-size:.86rem;
  font-weight:750;
}

.form-control{
  border:1px solid rgba(18,73,43,.16);
  border-radius:var(--radius);
  box-shadow:none;
  padding:.78rem .95rem;
}

.form-control:focus{
  border-color:var(--gf-green);
  box-shadow:0 0 0 .22rem rgba(35,112,68,.14);
}

[data-form-message],
#contactMsg,
#signupMsg{
  border-radius:var(--radius);
  min-height:1.25rem;
}

.contact-detail-card{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(18,73,43,.1);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  height:100%;
  padding:1rem;
}

.contact-detail-card a{
  font-weight:750;
}

.color-band-citrus{
  background:var(--gf-citrus);
}

.color-band-peach{
  background:var(--gf-peach);
}

#marine{
  background:var(--gf-navy);
  color:#fff;
}

#marine .section-title small{
  color:var(--gf-citrus);
}

#marine .text-secondary{
  color:rgba(255,255,255,.82) !important;
}

#marine .btn-outline-success{
  --bs-btn-color:#fff;
  --bs-btn-border-color:rgba(255,255,255,.72);
  --bs-btn-hover-bg:#fff;
  --bs-btn-hover-border-color:#fff;
  --bs-btn-hover-color:var(--gf-navy-600);
}

#marine img{
  border:1px solid rgba(255,255,255,.22);
}

.seo-copy{
  color:#334155;
  font-size:1rem;
  line-height:1.75;
}

.seo-copy p:last-child{
  margin-bottom:0;
}

.faq-list{
  display:grid;
  gap:1rem;
}

.faq-item{
  background:rgba(255,255,255,.94);
  border:1px solid rgba(18,73,43,.1);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:1rem;
}

.faq-item h3{
  font-size:1rem;
  font-weight:800;
  margin-bottom:.45rem;
}

.faq-item p{
  color:var(--gf-muted);
  margin-bottom:0;
}

.resource-card{
  background:rgba(255,255,255,.94);
  border:1px solid rgba(18,73,43,.1);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  height:100%;
  padding:1.25rem;
}

.resource-card h3{
  font-size:1.05rem;
  font-weight:800;
}

.resource-card p{
  color:var(--gf-muted);
}

.local-list li{
  margin-bottom:.55rem;
}

.footer{
  background:#fff;
  border-top:1px solid var(--gf-line);
}

.shadow-soft{box-shadow:var(--shadow);}
.rounded-2xl{border-radius:var(--radius);}

@media (max-width:575.98px){
  .logo-img{height:56px;}
  .hero .d-flex,
  .page-hero .d-flex{align-items:flex-start;}
  .hero h1,
  .page-hero h1{font-size:2.2rem;}
  .brand-logo-item{
    flex-basis:150px;
    height:78px;
  }
  .brand-logo-item img{
    max-height:48px;
    max-width:120px;
  }
}

@media (prefers-reduced-motion:reduce){
  .brand-ticker-track{
    animation:none;
    flex-wrap:wrap;
    justify-content:center;
    width:100%;
  }
}
