/* =========================================================
   Global Agriculture — B2B Directory template styles
   Design tokens reverse-engineered from the reference page.
   Uses system fonts by default (no webfont download) to keep
   this friendly to your existing PageSpeed work — swap the
   font-family values below if you'd rather load a custom
   display face.
   ========================================================= */

:root{
  --ga-bone:      #F4F0E8; /* warm off-white background */
  --ga-white:     #FFFFFF;
  --ga-ink:       #15130F; /* near-black */
  --ga-ink2:      #26241E; /* dark warm gray, used for "seeds" tile */
  --ga-rust:      #BF5B2E; /* burnt-orange accent */
  --ga-rust-soft: #F0D8C4; /* pale peach accent */
  --ga-forest:    #35513F; /* deep green, fungicides tile */
  --ga-border2:   #E2DBCC;
  --ga-muted2:    #8B8577;

  --ga-font-display: "Archivo Black", "Arial Black", system-ui, sans-serif;
  --ga-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  --ga-maxw: 1400px;
}

.ga-root{
  background: var(--ga-bone);
  color: var(--ga-ink);
  font-family: var(--ga-font-body);
  -webkit-font-smoothing: antialiased;
}
.ga-root *, .ga-root *::before, .ga-root *::after{ box-sizing: border-box; }
.ga-root a{ text-decoration:none; color:inherit; }
.ga-root img{ max-width:100%; display:block; }
.ga-root ul{ list-style:none; margin:0; padding:0; }

.ga-container{
  max-width: var(--ga-maxw);
  margin: 0 auto;
  padding: 0 24px;
}
@media (min-width:1024px){ .ga-container{ padding: 0 40px; } }

/* ---------- utility tag ("01 — Categories" style label) ---------- */
.ga-tag{
  display:flex; align-items:center; gap:8px;
  font-size:11px; text-transform:uppercase; letter-spacing:.14em;
  color: var(--ga-muted2); font-weight:600;
}
.ga-tag .ga-tag-line{ width:24px; height:1px; background: var(--ga-rust); display:inline-block; }
.ga-tag.on-dark{ color: var(--ga-rust-soft); }

/* ---------- buttons ---------- */
.ga-btn{
  display:inline-flex; align-items:center; justify-content:center;
  font-size:14px; font-weight:600; padding:12px 24px;
  border:1px solid transparent; cursor:pointer; white-space:nowrap;
  transition: all .15s ease;
}
.ga-btn-rust{ background: var(--ga-rust); color:#fff; }
.ga-btn-rust:hover{ background:#a54a23; }
.ga-btn-primary{ background: var(--ga-ink); color: var(--ga-bone); }
.ga-btn-primary:hover{ opacity:.85; }
.ga-btn-outline-light{ border-color:#fff; color:#fff; padding:12px 24px; font-size:14px; font-weight:500; }
.ga-btn-outline-light:hover{ background:#fff; color:var(--ga-ink); }
.ga-link-underline{ font-size:14px; font-weight:500; border-bottom:1px solid var(--ga-border2); padding-bottom:2px; display:inline-flex; align-items:center; gap:6px; }
.ga-link-underline:hover{ border-color: var(--ga-ink); }

/* ---------- header ---------- */
.ga-header{
  position:sticky; top:0; z-index:50;
  background: rgba(244,240,232,.95);
  backdrop-filter: blur(6px);
  border-bottom:1px solid var(--ga-border2);
}
.ga-header-inner{ display:flex; align-items:center; gap:32px; height:64px; }
.ga-brand{ display:flex; align-items:center; gap:8px; }
.ga-brand-mark{ width:32px; height:32px; background:var(--ga-ink); color:var(--ga-bone); display:grid; place-items:center; font-family:var(--ga-font-display); font-size:13px; }
.ga-brand-name{ font-family:var(--ga-font-display); font-weight:700; font-size:15px; letter-spacing:-.01em; }
.ga-brand-sub{ font-size:10px; text-transform:uppercase; letter-spacing:.14em; color:var(--ga-muted2); }
.ga-nav{ display:none; align-items:center; gap:28px; flex:1; }
.ga-nav a{ font-size:14px; font-weight:500; }
.ga-nav a:hover{ color:var(--ga-rust); }
.ga-header-search{
  display:none; align-items:center; gap:8px; height:40px; padding:0 12px;
  border:1px solid var(--ga-border2); width:288px; background:#fff;
}
.ga-header-search input{ border:0; outline:0; background:transparent; font-size:14px; flex:1; }
.ga-mobile-toggle{ margin-left:auto; background:none; border:0; cursor:pointer; }
@media (min-width:768px){ .ga-header-search{ display:flex; } .ga-mobile-toggle{ display:none; } }
@media (min-width:1024px){ .ga-nav{ display:flex; } }

/* ---------- hero ---------- */
.ga-hero{ position:relative; overflow:hidden; color:#fff; }
.ga-hero-bg{ position:absolute; inset:0; }
.ga-hero-bg img{ width:100%; height:100%; object-fit:cover; }
.ga-hero-bg::after{ content:""; position:absolute; inset:0; background:rgba(21,19,15,.7); }
.ga-hero-inner{ position:relative; padding:96px 0 112px; }
@media (min-width:768px){ .ga-hero-inner{ padding:128px 0 160px; } }
.ga-hero-inner h1{
  font-family:var(--ga-font-display); font-weight:900; line-height:1.02; letter-spacing:-.02em;
  font-size:36px; margin:24px 0 0;
  color: #FFFFFF;
}
@media (min-width:640px){ .ga-hero-inner h1{ font-size:48px; } }
@media (min-width:1024px){ .ga-hero-inner h1{ font-size:60px; } }
.ga-hero-inner h1 .ga-accent{ color:var(--ga-rust); }
.ga-hero-inner p{ margin-top:24px; font-size:16px; color:rgba(255,255,255,.7); max-width:640px; line-height:1.6; }
@media (min-width:768px){ .ga-hero-inner p{ font-size:18px; } }

.ga-hero-search{ margin-top:40px; display:flex; flex-direction:column; background:#fff; border:1px solid var(--ga-border2); max-width:700px; }
@media (min-width:640px){ .ga-hero-search{ flex-direction:row; } }
.ga-hero-search-field{ display:flex; align-items:center; gap:12px; flex:1; padding:16px 20px; }
.ga-hero-search-field input{ flex:1; border:0; outline:0; font-size:15px; color:var(--ga-ink); }
.ga-hero-search .ga-btn{ padding:16px 32px; }

.ga-hero-stats{ margin-top:40px; display:grid; grid-template-columns:repeat(2,1fr); gap:16px 32px; }
@media (min-width:768px){ .ga-hero-stats{ grid-template-columns:repeat(4,1fr); } }
.ga-hero-stat-num{ font-family:var(--ga-font-display); font-weight:900; font-size:30px; letter-spacing:-.01em; }
@media (min-width:768px){ .ga-hero-stat-num{ font-size:36px; } }
.ga-hero-stat-label{ font-size:11px; text-transform:uppercase; letter-spacing:.14em; color:rgba(255,255,255,.6); margin-top:4px; }

/* ---------- section heading row ---------- */
.ga-section{ padding:80px 0; }
@media (min-width:768px){ .ga-section{ padding:112px 0; } }
.ga-section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:32px; flex-wrap:wrap; margin-bottom:40px; }
.ga-section-head h2{ font-family:var(--ga-font-display); font-weight:900; letter-spacing:-.02em; line-height:1; font-size:30px; margin:12px 0 0; }
@media (min-width:768px){ .ga-section-head h2{ font-size:48px; } }

/* ---------- category bento grid ---------- */
.ga-cat-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; grid-auto-rows:160px; }
@media (min-width:768px){ .ga-cat-grid{ grid-template-columns:repeat(4,1fr); grid-auto-rows:200px; } }
.ga-cat-tile{
  position:relative; padding:24px; display:flex; flex-direction:column; justify-content:space-between;
  overflow:hidden; transition: transform .15s ease;
}
.ga-cat-tile:hover{ transform:translateY(-4px); }
.ga-cat-tile .ga-cat-num{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; opacity:.7; }
.ga-cat-tile .ga-cat-name{ font-family:var(--ga-font-display); font-weight:700; font-size:20px; line-height:1.2; letter-spacing:-.01em; }
@media (min-width:768px){ .ga-cat-tile .ga-cat-name{ font-size:24px; } }
.ga-cat-tile .ga-cat-desc{ font-size:12px; opacity:.7; margin-top:8px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ga-cat-tile .ga-cat-arrow{ opacity:.4; transition: all .15s ease; }
.ga-cat-tile:hover .ga-cat-arrow{ opacity:1; transform:translateX(4px); }
.ga-cat-span-2{ grid-column: span 2 / span 2; }
.ga-cat-span-row-2{ grid-row: span 2 / span 2; }
.ga-bg-rust{ background:var(--ga-rust); color:#fff; }
.ga-bg-ink{ background:var(--ga-ink); color:var(--ga-bone); }
.ga-bg-ink2{ background:var(--ga-ink2); color:var(--ga-bone); }
.ga-bg-forest{ background:var(--ga-forest); color:#fff; }
.ga-bg-rust-soft{ background:var(--ga-rust-soft); color:var(--ga-ink); }
.ga-bg-white{ background:#fff; color:var(--ga-ink); border:1px solid var(--ga-border2); }

/* ---------- featured companies ---------- */
.ga-featured-section{ background:#fff; border-top:1px solid var(--ga-border2); border-bottom:1px solid var(--ga-border2); }
.ga-featured-grid{ display:grid; grid-template-columns:1fr; border-top:1px solid var(--ga-border2); border-left:1px solid var(--ga-border2); }
@media (min-width:768px){ .ga-featured-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .ga-featured-grid{ grid-template-columns:repeat(3,1fr); } }
.ga-company-card{ padding:28px; border-right:1px solid var(--ga-border2); border-bottom:1px solid var(--ga-border2); background:#fff; transition: background .15s ease; display:block; }
.ga-company-card:hover{ background:var(--ga-bone); }
.ga-company-card-head{ display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.ga-company-mark{ width:40px; height:40px; background:var(--ga-ink); color:var(--ga-bone); display:grid; place-items:center; font-family:var(--ga-font-display); font-size:12px; }
.ga-company-country{ font-size:11px; text-transform:uppercase; letter-spacing:.14em; color:var(--ga-rust); font-weight:600; }
.ga-company-name{ font-family:var(--ga-font-display); font-weight:700; font-size:20px; line-height:1.2; letter-spacing:-.01em; }
.ga-company-card:hover .ga-company-name{ color:var(--ga-rust); }
.ga-company-desc{ font-size:14px; color:var(--ga-muted2); margin-top:8px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ga-company-tags{ margin-top:20px; display:flex; flex-wrap:wrap; gap:6px; }
.ga-company-tags span{ font-size:10px; text-transform:uppercase; letter-spacing:.1em; border:1px solid var(--ga-border2); padding:4px 8px; color:var(--ga-muted2); }

/* ---------- feature strip ---------- */
.ga-features-grid{ display:grid; grid-template-columns:1fr; gap:1px; background:var(--ga-border2); border:1px solid var(--ga-border2); }
@media (min-width:768px){ .ga-features-grid{ grid-template-columns:repeat(3,1fr); } }
.ga-feature-card{ background:var(--ga-bone); padding:32px; }
@media (min-width:768px){ .ga-feature-card{ padding:40px; } }
.ga-feature-icon{ margin-bottom:24px; color:var(--ga-rust); }
.ga-feature-card h3{ font-family:var(--ga-font-display); font-weight:700; font-size:20px; letter-spacing:-.01em; margin-bottom:8px; }
.ga-feature-card p{ font-size:14px; color:var(--ga-muted2); line-height:1.6; }

/* ---------- CTA banner ---------- */
.ga-cta{ position:relative; overflow:hidden; }
.ga-cta-bg{ position:absolute; inset:0; }
.ga-cta-bg img{ width:100%; height:100%; object-fit:cover; }
.ga-cta-bg::after{ content:""; position:absolute; inset:0; background:rgba(21,19,15,.8); }
.ga-cta-inner{ position:relative; padding:96px 0 128px; display:grid; gap:40px; align-items:center; }
@media (min-width:768px){ .ga-cta-inner{ grid-template-columns:1fr 1fr; padding:128px 0; } }
.ga-cta-inner h2{ font-family:var(--ga-font-display); font-weight:900; color:#fff; letter-spacing:-.02em; line-height:1; font-size:30px; margin-top:16px; }
@media (min-width:768px){ .ga-cta-inner h2{ font-size:48px; } }
.ga-cta-inner p{ color:rgba(255,255,255,.7); margin-top:24px; max-width:480px; line-height:1.6; }
.ga-cta-actions{ display:flex; gap:16px; flex-wrap:wrap; }
@media (min-width:768px){ .ga-cta-actions{ justify-self:end; } }

/* ---------- footer ---------- */
.ga-footer{ border-top:1px solid var(--ga-border2); background:#fff; margin-top:0; }
.ga-footer-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:40px; padding:56px 0; }
@media (min-width:768px){ .ga-footer-grid{ grid-template-columns:repeat(4,1fr); } }
.ga-footer-col-span2{ grid-column:span 2 / span 2; }
.ga-footer-desc{ font-size:14px; color:var(--ga-muted2); max-width:420px; line-height:1.6; margin-top:16px; }
.ga-footer ul li{ margin-bottom:8px; font-size:14px; }
.ga-footer ul li a:hover{ color:var(--ga-rust); }
.ga-footer-bottom{ border-top:1px solid var(--ga-border2); }
.ga-footer-bottom-inner{ display:flex; flex-direction:column; gap:8px; justify-content:space-between; padding:20px 0; font-size:12px; color:var(--ga-muted2); }
@media (min-width:768px){ .ga-footer-bottom-inner{ flex-direction:row; } }
