  :root{
    --green-deep:   #16281C;
    --green-mid:    #2F5233;
    --green-leaf:   #4C7A4C;
    --gold:         #E7B740;
    --gold-soft:    #F3D48A;
    --husk:         #8A5A2B;
    --cream:        #FBF6EA;
    --cream-dim:    #F1E9D5;
    --ink:          #1B2118;
    --ink-soft:     rgba(27,33,24,0.66);
    --line:         rgba(27,33,24,0.12);
    --line-invert:  rgba(251,246,234,0.18);
    --max: 1180px;
    --ease: cubic-bezier(.22,.68,.32,1);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth; overflow-x:hidden;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
  }

  body{
    margin:0;
    overflow-x:hidden;
    background:var(--cream);
    color:var(--ink);
    font-family:'Work Sans', sans-serif;
    font-weight:400;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }

  h1,h2,h3,.display{
    font-family:'Fraunces', serif;
    font-weight:600;
    letter-spacing:-0.01em;
    margin:0;
    color:var(--ink);
  }

  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--husk);
    display:flex;
    align-items:center;
    gap:10px;
  }
  .eyebrow::before{
    content:"";
    width:22px; height:1px;
    background:var(--husk);
    display:inline-block;
  }
  section.on-dark .eyebrow{ color:var(--gold-soft); }
  section.on-dark .eyebrow::before{ background:var(--gold-soft); }

  a{color:inherit;}
  img,svg{display:block; max-width:100%;}
  .wrap{max-width:var(--max); margin:0 auto; padding:0 28px;}

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex; align-items:center; gap:10px;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.82rem; letter-spacing:0.04em;
    text-decoration:none;
    padding:14px 24px;
    border-radius:2px;
    border:1px solid transparent;
    cursor:pointer;
    transition:transform .35s var(--ease), background .3s ease, color .3s ease, border-color .3s ease;
  }
  .btn:hover{ transform:translateY(-2px); }
  .btn-solid{ background:var(--gold); color:var(--green-deep); }
  .btn-solid:hover{ background:var(--gold-soft); }
  .btn-ghost{ border-color:var(--line-invert); color:var(--cream); }
  .btn-ghost:hover{ border-color:var(--gold); color:var(--gold); }
  .btn-dark{ border-color:var(--ink); color:var(--ink); }
  .btn-dark:hover{ background:var(--ink); color:var(--cream); }
  .btn svg{ width:14px; height:14px; }

  /* ---------- Nav ---------- */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    padding:18px 0;
    background:rgba(22,40,28,0.0);
    backdrop-filter:none;
    transition:background .4s ease, padding .4s ease, box-shadow .4s ease;
  }
  header.scrolled{
    background:rgba(22,40,28,0.92);
    backdrop-filter:blur(8px);
    padding:12px 0;
    box-shadow:0 8px 30px rgba(0,0,0,0.18);
  }
  nav{ display:flex; align-items:center; justify-content:space-between; }
  .brand{ display:flex; align-items:center; gap:10px; text-decoration:none; }
  .brand-mark{ width:30px; height:30px; }
  .brand-name{
    font-family:'Fraunces', serif; font-weight:600; font-size:1.15rem;
    color:var(--cream); letter-spacing:-0.01em;
  }
  .brand-name em{ font-style:italic; color:var(--gold); font-weight:500; }
  .nav-links{ display:flex; gap:34px; list-style:none; margin:0; padding:0; }
  .nav-links a{
    font-family:'IBM Plex Mono', monospace; font-size:0.92rem; font-weight:700; letter-spacing:0.06em;
    text-transform:uppercase; text-decoration:none; color:var(--cream); opacity:0.82;
    position:relative; padding-bottom:4px;
  }
  .nav-links a::after{
    content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--gold);
    transition:width .3s var(--ease);
  }
  .nav-links a:hover{ opacity:1; }
  .nav-links a:hover::after{ width:100%; }
  .nav-cta{ display:flex; align-items:center; gap:16px; }
  .burger{ display:none; position:relative; z-index:110; background:none; border:none; cursor:pointer; padding:6px; }
  .burger span{ display:block; width:22px; height:2px; background:var(--cream); margin:5px 0; transition:transform .25s ease, opacity .25s ease; }

  @media (max-width: 880px){
    .nav-links{
      position:fixed; top:0; right:0; height:100vh; width:min(78vw,320px);
      background:var(--green-deep); flex-direction:column; justify-content:center;
      align-items:flex-start; padding:0 40px; gap:26px; z-index:105;
      box-shadow:-10px 0 40px rgba(0,0,0,0.35);
      transform:translateX(100%); transition:transform .45s var(--ease);
    }
    .nav-links.open{ transform:translateX(0); }
    .burger{ display:block; }
    .nav-cta .btn-solid{ display:none; }
    body.nav-open{ overflow:hidden; }
    .burger.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
    .burger.is-open span:nth-child(2){ opacity:0; }
    .burger.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
    body.nav-open::before{
      content:""; position:fixed; inset:0; z-index:99;
      background:rgba(15,29,19,0.55); animation:navFade .3s ease;
    }
    @keyframes navFade{ from{opacity:0;} to{opacity:1;} }
  }

  /* ---------- Hero ---------- */
  .hero{
    position:relative; overflow:hidden;
    min-height:100vh;
    background:var(--green-deep);
    color:var(--cream);
    display:flex; align-items:center;
    padding-top:120px; padding-bottom:80px;
  }
  .hero-bg-video{
    position:absolute; inset:0; width:100%; height:100%;
    object-fit:cover; object-position:center;
    z-index:0;
  }
  .hero-overlay{
    position:absolute; inset:0; z-index:1;
    background:
      linear-gradient(100deg, rgba(15,29,19,0.94) 0%, rgba(15,29,19,0.82) 32%, rgba(15,29,19,0.5) 58%, rgba(15,29,19,0.32) 100%),
      radial-gradient(120% 90% at 78% 12%, rgba(33,64,42,0.35) 0%, rgba(22,40,28,0.45) 55%, rgba(15,29,19,0.55) 100%);
  }
  .hero-grid{
    position:relative; z-index:2;
    display:grid; grid-template-columns:1fr; gap:60px; align-items:center; width:100%;
    max-width:760px;
  }
  .hero h1{
    font-size:clamp(2.6rem, 5.4vw, 4.4rem);
    line-height:1.03;
    color:var(--cream);
    text-shadow:0 4px 24px rgba(0,0,0,0.35);
  }
  .hero h1 em{ font-style:italic; color:var(--gold); font-weight:500; }
  .hero p.lede{
    font-size:1.08rem; color:rgba(251,246,234,0.9); max-width:46ch; margin-top:22px;
    text-shadow:0 2px 12px rgba(0,0,0,0.35);
  }
  .hero-actions{ display:flex; gap:16px; margin-top:36px; flex-wrap:wrap; }
  .hero-stats{
    display:flex; gap:36px; margin-top:56px; flex-wrap:wrap;
  }
  .hstat b{ display:block; font-family:'Fraunces',serif; font-size:1.9rem; color:var(--gold); font-weight:600; }
  .hstat > span{ font-family:'IBM Plex Mono',monospace; font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase; color:rgba(251,246,234,0.6); }

  .leaf-stage{ position:relative; width:100%; aspect-ratio:1/1.05; }
  .leaf-stage svg{ width:100%; height:100%; overflow:visible; }
  .leaf-vein{
    fill:none; stroke:var(--gold-soft); stroke-width:1.4;
    stroke-linecap:round;
    stroke-dasharray:1400; stroke-dashoffset:1400;
    animation:drawLeaf 2.6s var(--ease) forwards;
  }
  .leaf-vein.sub{ stroke:rgba(251,246,234,0.55); stroke-width:1; stroke-dasharray:260; stroke-dashoffset:260; }
  .leaf-fill{ fill:rgba(76,122,76,0.16); opacity:0; animation:fadeIn 1.4s ease forwards 1.6s; }
  .veins-in .leaf-vein{ animation-play-state:running; }
  @keyframes drawLeaf{ to{ stroke-dashoffset:0; } }
  @keyframes fadeIn{ to{ opacity:1; } }
  .orbit-dot{ fill:var(--gold); opacity:0; animation:popIn .5s ease forwards; }
  @keyframes popIn{ to{opacity:1;} }


  .scroll-cue{
    position:absolute; left:50%; bottom:30px; transform:translateX(-50%);
    display:flex; flex-direction:column; align-items:center; gap:8px;
    font-family:'IBM Plex Mono',monospace; font-size:0.65rem; letter-spacing:0.12em;
    text-transform:uppercase; color:rgba(251,246,234,0.5);
  }
  .scroll-cue .line{ width:1px; height:34px; background:linear-gradient(var(--gold), transparent); animation:cueMove 1.8s ease-in-out infinite; }
  @keyframes cueMove{ 0%,100%{ transform:scaleY(1); opacity:0.4;} 50%{ transform:scaleY(1.3); opacity:1;} }

  @media (max-width: 900px){
    .hero-grid{ grid-template-columns:1fr; }
    .leaf-stage{ max-width:340px; margin:0 auto; order:-1; }
  }

  /* ---------- Section shell ---------- */
  section{ padding:110px 0; }
  section.tight{ padding:80px 0; }
  .on-dark{ background:var(--green-deep); color:var(--cream); }
  .on-dark h2, .on-dark h3{ color:var(--cream); }
  .on-mid{ background:var(--cream-dim); }
  .section-head{ max-width:640px; margin-bottom:56px; }
  .section-head h2{ font-size:clamp(1.9rem,3.6vw,2.7rem); margin-top:14px; }
  .section-head p{ color:var(--ink-soft); margin-top:16px; font-size:1.02rem; }
  .on-dark .section-head p{ color:rgba(251,246,234,0.7); }

  /* reveal utility */
  .reveal{ opacity:1; transform:none; }
  .reveal.in{ opacity:1; transform:none; }
  .reveal img{ opacity:0; transform:scale(1.08); transition:opacity 1s var(--ease), transform 1.1s var(--ease); }
  .reveal.in img{ opacity:1; transform:scale(1); }
  .stagger > *{ transition-delay:calc(var(--i,0) * 90ms); }

  /* ---------- About ---------- */
  .about-grid{ display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; }
  .about-copy p{ color:var(--ink-soft); font-size:1.02rem; margin-top:16px; }
  .about-copy p + p{ margin-top:14px; }
  .about-photo{ position:relative; border:1px solid var(--line); overflow:hidden; aspect-ratio:5/4; }
  .about-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
  .stat-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); }
  .stat-grid-row{ margin-top:60px; grid-template-columns:repeat(4,1fr); }
  .stat-card{ background:var(--cream); padding:30px 26px; }
  .stat-card b{ font-family:'Fraunces',serif; font-size:2.2rem; font-weight:600; color:var(--green-mid); display:block; }
  .stat-card > span{ font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.05em; color:var(--ink-soft); text-transform:uppercase; }

  @media (max-width:880px){ .about-grid{ grid-template-columns:1fr; gap:44px; } .stat-grid-row{ grid-template-columns:1fr 1fr; } }

  /* ---------- Products ---------- */
  .tab-row{ display:flex; gap:14px; margin-bottom:48px; flex-wrap:wrap; }
  .tab-btn{
    font-family:'Fraunces',serif; font-weight:600; font-size:1.05rem;
    padding:16px 40px; border:1.6px solid var(--ink); background:var(--cream); cursor:pointer;
    color:var(--ink); border-radius:2px; transition:all .3s ease;
  }
  .tab-btn:hover{ border-color:var(--husk); }
  /* ---------- category selector cards (banner + description) ---------- */
  .category-select-grid{ display:block; margin-bottom:50px; }
  .category-card{
    position:relative; aspect-ratio:16/10; border:1.6px solid var(--ink); cursor:pointer;
    overflow:hidden; text-align:left; padding:0; background:none; display:block;
    transition:transform .3s var(--ease), box-shadow .3s var(--ease);
  }
  .category-card img{ width:100%; height:100%; object-fit:cover; display:block; }
  .category-card .cc-overlay{
    position:absolute; inset:0;
    background:linear-gradient(0deg, rgba(15,29,19,0.88) 0%, rgba(15,29,19,0.25) 55%, rgba(15,29,19,0.05) 100%);
    display:flex; flex-direction:column; justify-content:flex-end; padding:24px;
  }
  .category-card .cc-eyebrow{
    font-family:'IBM Plex Mono',monospace; font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--gold-soft, #E7B740); margin-bottom:8px;
  }
  .category-card h4{ font-family:'Fraunces',serif; font-size:1.5rem; font-weight:600; color:var(--cream); margin:0 0 8px; }
  .category-card p{ font-size:0.88rem; color:rgba(251,246,234,0.82); margin:0; max-width:34ch; }
  .category-card:hover{ transform:translateY(-4px); box-shadow:0 16px 32px rgba(22,40,28,0.22); }
  .category-card.active{ border-color:#E7B740; box-shadow:0 0 0 3px rgba(231,183,64,0.28); }
  .category-card.active .cc-eyebrow::before{ content:"✓ "; }
  @media (max-width:700px){ .category-select-grid{ grid-template-columns:1fr; } }

  .grow-select{
    display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center; width:100%;
    text-align:left; background:none; border:none; padding:0; cursor:pointer; font:inherit; color:inherit;
  }
  .grow-select + .grow-select{ margin-top:56px; }
  .grow-select.reverse .grow-photo{ order:2; }
  .grow-select.reverse .grow-copy{ order:1; }
  .grow-select .grow-photo{ transition:border-color .3s ease; }
  .grow-select .grow-photo img{ transition:transform .4s ease; }
  .grow-select:hover .grow-photo img{ transform:scale(1.04); }
  .grow-select.active .grow-photo{ border-color:var(--ink); }
  @media (max-width:880px){
    .grow-select{ grid-template-columns:1fr; gap:20px; }
    .grow-select.reverse .grow-photo, .grow-select.reverse .grow-copy{ order:0; }
    .grow-select + .grow-select{ margin-top:36px; }
  }

  .grow-feature{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; margin-top:56px; }
  .grow-photo{ aspect-ratio:4/3; overflow:hidden; border:1px solid var(--line); }
  .grow-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
  .grow-copy h3{ font-family:'Fraunces',serif; font-size:1.9rem; font-weight:600; margin-top:10px; }
  .grow-copy p{ color:var(--ink-soft); margin-top:14px; }
  .grow-copy .t-link{
    margin-top:18px; font-family:'IBM Plex Mono',monospace; font-size:0.74rem; letter-spacing:0.05em;
    text-transform:uppercase; color:var(--husk); display:inline-flex; align-items:center; gap:8px; text-decoration:none;
  }
  .grow-copy .t-link svg{ width:13px; height:13px; transition:transform .3s ease; }
  .grow-copy .t-link:hover svg{ transform:translateX(4px); }
  .grow-feature.reverse .grow-photo{ order:2; }
  .grow-feature.reverse .grow-copy{ order:1; }
  @media (max-width:880px){
    .grow-feature{ grid-template-columns:1fr; gap:26px; margin-top:40px; }
    .grow-feature.reverse .grow-photo, .grow-feature.reverse .grow-copy{ order:0; }
  }

  .panel{ display:none; }
  .panel.active{ display:block; }

  /* ---------- category dropdown ---------- */
  .product-dropdown-row{ margin-bottom:46px; max-width:360px; }
  .product-dropdown-row label{
    display:block; margin-bottom:10px;
  }
  .tab-select{
    width:100%; appearance:none; cursor:pointer;
    font-family:'Fraunces',serif; font-weight:600; font-size:1.15rem; color:var(--ink);
    background:var(--cream); border:1.6px solid var(--ink); border-radius:2px;
    padding:14px 44px 14px 18px;
    background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23221A10' stroke-width='2'%3e%3cpath d='M6 9l6 6 6-6'/%3e%3c/svg%3e");
    background-repeat:no-repeat; background-position:right 16px center; background-size:18px;
    transition:border-color .3s ease, box-shadow .3s ease;
  }
  .tab-select:hover{ border-color:var(--husk); }
  .tab-select:focus{ outline:none; box-shadow:0 0 0 3px rgba(138,90,43,0.18); }

  .variety-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:18px; }
  .v-card{
    border:1px solid var(--line); padding:26px 22px; background:var(--cream);
    position:relative; overflow:hidden; transition:transform .4s var(--ease), box-shadow .4s var(--ease);
  }
  .v-card:hover{ transform:translateY(-6px); box-shadow:0 18px 40px rgba(22,40,28,0.12); }
  .v-icon{ width:38px; height:38px; margin-bottom:18px; }
  .v-card h4{ font-family:'Fraunces',serif; font-size:1.15rem; font-weight:600; margin:0 0 6px; }
  .v-card p{ font-size:0.88rem; color:var(--ink-soft); margin:0; }
  /* ---------- product section banners (real photos) ---------- */
  .v-card.more{ background:var(--green-mid); color:var(--cream); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
  .v-card.more h4{ color:var(--cream); }
  .v-card.more p{ color:rgba(251,246,234,0.75); }
  .v-tag{
    display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:0.66rem; letter-spacing:0.04em;
    text-transform:uppercase; color:var(--husk); border:1px solid var(--husk); padding:3px 8px; border-radius:1px; margin-top:4px;
  }

  .product-banner{
    position:relative; width:100vw;
    margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
    aspect-ratio:21/6; overflow:hidden; margin-bottom:40px;
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  }
  .product-banner img{ width:100%; height:100%; object-fit:cover; display:block; }
  .product-banner .pb-caption{
    position:absolute; inset:0;
    display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:12px;
    background:linear-gradient(180deg, rgba(15,29,19,0.55) 0%, rgba(15,29,19,0.7) 100%);
    color:var(--cream); padding:24px;
  }
  .pb-caption .pb-eyebrow{
    font-family:'IBM Plex Mono',monospace; font-size:0.74rem; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--gold); text-shadow:0 2px 6px rgba(0,0,0,0.6);
  }
  .pb-caption .pb-tagline{
    font-family:'Fraunces',serif; font-weight:700; font-size:clamp(1.6rem,3.8vw,2.8rem); line-height:1.15;
    max-width:16ch; text-shadow:0 3px 14px rgba(0,0,0,0.65); color:var(--cream);
  }
  @media (max-width:640px){ .product-banner{ aspect-ratio:4/3; } }

  .contact-map-section{
    width:100vw;
    margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
    border-top:1px solid var(--line);
    background:var(--green-deep);
  }
  .contact-map{ width:100%; height:460px; border:0; display:block; filter:saturate(1.15) contrast(1.02); background:var(--green-deep); }
  @media (max-width:640px){ .contact-map{ height:320px; } }

  .section-sub-head{ display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:28px; }
  .section-sub-head h3.group-title{ font-size:1.5rem; }
  .section-sub-head span.group-count{ font-family:'IBM Plex Mono',monospace; font-size:0.75rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.05em; }

  .photo-credit{ font-family:'IBM Plex Mono',monospace; font-size:0.68rem; color:var(--ink-soft); margin-top:8px; }
  .photo-credit a{ color:var(--ink-soft); }
  .on-dark .photo-credit, .on-dark .photo-credit a{ color:rgba(251,246,234,0.5); }

  /* ---------- feature rows (alternating product layout) ---------- */
  .feature-row{
    display:grid; grid-template-columns:0.9fr 1.1fr; gap:50px; align-items:center;
    padding:44px 0; border-bottom:1px dashed var(--line);
  }
  .feature-row:first-of-type{ padding-top:0; }
  .feature-row:last-of-type{ border-bottom:none; }
  .feature-row.reverse{ direction:rtl; }
  .feature-row.reverse > *{ direction:ltr; }
  .feature-visual{
    aspect-ratio:1/1; max-width:220px; margin:0 auto; border-radius:50%;
    background:var(--cream-dim); display:flex; align-items:center; justify-content:center;
    border:1.6px dashed var(--line); overflow:hidden;
  }
  .feature-visual svg{ width:56%; height:56%; }
  .feature-visual img{ width:100%; height:100%; object-fit:cover; border-radius:50%; }
  .feature-content .f-index{
    font-family:'IBM Plex Mono',monospace; font-size:0.72rem; color:var(--husk);
    letter-spacing:0.08em; text-transform:uppercase;
  }
  .feature-content h4{ font-family:'Fraunces',serif; font-size:1.55rem; font-weight:600; margin:10px 0 12px; }
  .feature-content p{ color:var(--ink-soft); font-size:0.98rem; max-width:48ch; }
  .feature-benefits{ list-style:none; margin:14px 0 0; padding:0; max-width:48ch; }
  .feature-benefits li{ position:relative; padding-left:22px; font-size:0.92rem; color:var(--ink-soft); margin-top:7px; }
  .feature-benefits li::before{ content:"✓"; position:absolute; left:0; top:0; color:var(--gold); font-weight:700; }
  @media (max-width:760px){
    .feature-row, .feature-row.reverse{ grid-template-columns:1fr; direction:ltr; text-align:center; gap:20px; }
    .feature-content p{ margin-left:auto; margin-right:auto; }
  }

  /* ---------- pill strip (secondary varieties) ---------- */
  .pill-strip{ display:flex; gap:14px; overflow-x:auto; padding:6px 2px 16px; margin-top:8px; scrollbar-width:thin; }
  .pill-card{
    flex:0 0 auto; min-width:190px; border:1px dashed var(--line); background:var(--cream);
    padding:18px 20px; transition:transform .3s var(--ease), border-color .3s ease;
  }
  .pill-card:hover{ transform:translateY(-4px); border-color:var(--husk); }
  .pill-card b{ display:block; font-family:'Fraunces',serif; font-size:1rem; margin-bottom:4px; }
  .pill-card span{ font-size:0.82rem; color:var(--ink-soft); }
  .pill-card.more{ background:var(--green-mid); color:var(--cream); }
  .pill-card.more b{ color:var(--cream); }
  .pill-card.more span{ color:rgba(251,246,234,0.75); }
  .pill-thumb{
    width:44px; height:44px; border-radius:50%; object-fit:cover; float:left;
    margin-right:12px; border:1px solid var(--line);
  }
  .pill-card.has-thumb{ display:flex; align-items:center; gap:12px; }
  .pill-card.has-thumb .pill-thumb{ float:none; margin-right:0; flex-shrink:0; }
  .pill-card.has-thumb .pill-text b, .pill-card.has-thumb .pill-text span{ display:block; }

  /* ---------- product list rows (coconut layout) ---------- */
  .product-list{ border-top:1.6px solid var(--ink); }
  .p-list-row{
    display:grid; grid-template-columns:60px 1.2fr 1.6fr auto; gap:20px; align-items:center;
    padding:20px 4px; border-bottom:1px dashed var(--line);
  }
  .p-list-row .pl-icon{ width:44px; height:44px; border-radius:8px; object-fit:cover; }
  .p-list-row h4{ font-family:'Fraunces',serif; font-size:1.08rem; font-weight:600; margin:0; }
  .p-list-row p{ color:var(--ink-soft); font-size:0.9rem; margin:0; }
  @media (max-width:700px){
    .p-list-row{ grid-template-columns:44px 1fr; grid-template-areas:"icon name" "icon desc" "icon tag"; row-gap:4px; }
    .p-list-row .pl-icon{ grid-area:icon; }
    .p-list-row h4{ grid-area:name; }
    .p-list-row p{ grid-area:desc; }
    .p-list-row .v-tag{ grid-area:tag; justify-self:start; }
  }


  .moq-strip{
    margin-top:50px; display:flex; gap:28px; flex-wrap:wrap; align-items:center; justify-content:space-between;
    border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:26px 0;
  }
  .moq-strip .item{ display:flex; gap:14px; align-items:flex-start; max-width:320px; }
  .moq-strip .item svg{ width:22px; height:22px; flex-shrink:0; margin-top:3px; color:var(--husk); }
  .moq-strip .item b{ display:block; font-size:0.95rem; margin-bottom:4px; }
  .moq-strip .item span{ font-size:0.86rem; color:var(--ink-soft); }

  /* ---------- Tamil Nadu + World maps ---------- */
  .dual-map-grid{
    display:grid; grid-template-columns: 0.85fr 1.4fr; gap:24px; align-items:stretch;
  }
  .map-card{
    background:var(--green-deep); border:1px solid var(--line-invert); padding:20px;
    display:flex; flex-direction:column;
  }
  .map-card-label{
    font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.06em;
    color:var(--gold); text-transform:uppercase; margin-bottom:14px;
  }
  .tn-map-svg{ width:100%; height:auto; display:block; background:#ffffff; }
  .world-map-svg{ width:100%; height:auto; display:block; background:#ffffff; }
  .ocean-bg{ fill:#ffffff; }
  .tn-districts path{ stroke:#16281C; stroke-width:1.5; stroke-linejoin:round; }
  .world-countries path{ stroke:#16281C; stroke-width:0.6; stroke-linejoin:round; }
  .tn-districts path.theni-district{ fill:var(--gold); stroke:#16281C; stroke-width:3.5; }
  .world-countries path.in-highlight{ fill:var(--gold); stroke:#16281C; stroke-width:1.4; }
  .theni-marker circle{ fill:var(--gold); opacity:0.15; }
  .theni-marker circle.theni-dot{ fill:#16281C; opacity:1; stroke:var(--gold); stroke-width:5; }
  .theni-marker text{
    font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:46px; fill:#16281C;
    paint-order:stroke; stroke:var(--gold); stroke-width:8px;
  }
  .world-route{
    fill:none; stroke:#16281C; stroke-width:2.6; stroke-dasharray:6 5;
    stroke-dashoffset:300; transition:stroke-dashoffset 1.8s var(--ease);
    stroke-linecap:round;
  }
  .dual-map-grid.in .world-route{ stroke-dashoffset:0; }
  .origin-dot{ fill:var(--gold); stroke:#16281C; stroke-width:2; }
  .dest-dot{ fill:var(--gold); stroke:#16281C; stroke-width:1.5; }
  .dest-highlight{ fill:var(--gold); stroke:#16281C; stroke-width:1; }
  .dest-label{
    font-family:'IBM Plex Mono',monospace; font-size:13px; letter-spacing:0.03em; fill:#16281C;
    font-weight:700;
  }
  @media (max-width:880px){
    .dual-map-grid{ grid-template-columns:1fr; }
  }

  .export-facts{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line-invert); margin-top:60px; border:1px solid var(--line-invert); }
  .ef-card{ background:var(--green-deep); padding:26px 22px; }
  .ef-card b{ font-family:'Fraunces',serif; color:var(--gold); font-size:1.5rem; display:block; margin-bottom:6px;}
  .ef-card span{ font-family:'IBM Plex Mono',monospace; font-size:0.7rem; letter-spacing:0.05em; color:rgba(251,246,234,0.62); text-transform:uppercase; }
  @media (max-width:880px){ .export-facts{ grid-template-columns:1fr 1fr; } }

  /* ---------- Quality ---------- */
  .quality-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
  .q-card{ padding:0; }
  .q-num{ font-family:'IBM Plex Mono',monospace; font-size:0.75rem; color:var(--husk); letter-spacing:0.08em; }
  .q-card h3{ font-size:1.3rem; margin:12px 0 10px; }
  .q-card p{ color:var(--ink-soft); font-size:0.95rem; }
  @media (max-width:880px){ .quality-grid{ grid-template-columns:1fr; } }

  /* ---------- Testimonials ---------- */
  .t-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  .t-card{ background:var(--cream); border:1px solid var(--line); padding:30px 26px; display:flex; flex-direction:column; height:100%; }
  .t-card .quote-mark{ font-family:'Fraunces',serif; font-size:2.6rem; color:var(--gold); line-height:1; margin-bottom:6px; font-style:italic; }
  .t-card p.quote{ font-size:0.98rem; color:var(--ink); flex-grow:1; }
  .t-card .who{ margin-top:18px; font-family:'IBM Plex Mono',monospace; font-size:0.74rem; letter-spacing:0.04em; color:var(--ink-soft); text-transform:uppercase; }
  .t-note{ margin-top:26px; font-size:0.85rem; color:var(--ink-soft); font-style:italic; }
  @media (max-width:880px){ .t-grid{ grid-template-columns:1fr; } }

  .t-marquee-wrap{
    overflow:hidden; width:100%; margin-top:44px;
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  }
  .t-marquee{ display:flex; gap:24px; width:max-content; animation:tScroll 32s linear infinite; padding:0 28px; }
  .t-marquee:hover{ animation-play-state:paused; }
  .t-mcard{ flex:0 0 380px; }
  @keyframes tScroll{ from{ transform:translateX(0); } to{ transform:translateX(calc(-50% - 12px)); } }
  @media (max-width:640px){ .t-mcard{ flex-basis:300px; } }

  /* ---------- Contact ---------- */
  .contact-grid{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:70px; }
  .contact-info p{ color:rgba(251,246,234,0.75); margin-top:14px; max-width:40ch; }
  .info-row{ display:flex; gap:16px; margin-top:26px; align-items:flex-start; }
  .info-row svg{ width:20px; height:20px; color:var(--gold); flex-shrink:0; margin-top:3px; }
  .info-row b{ display:block; font-size:0.92rem; }
  .info-row span{ font-size:0.86rem; color:rgba(251,246,234,0.65); }

  form{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  form .full{ grid-column:1/-1; }
  label{ display:block; font-family:'IBM Plex Mono',monospace; font-size:0.7rem; letter-spacing:0.06em; text-transform:uppercase; color:rgba(251,246,234,0.6); margin-bottom:8px; }
  input, select, textarea{
    width:100%; background:rgba(251,246,234,0.06); border:1px solid var(--line-invert); color:var(--cream);
    padding:13px 14px; font-family:'Work Sans',sans-serif; font-size:0.94rem; border-radius:2px;
    transition:border-color .3s ease, background .3s ease;
  }
  input::placeholder, textarea::placeholder{ color:rgba(251,246,234,0.35); }
  input:focus, select:focus, textarea:focus{ outline:none; border-color:var(--gold); background:rgba(251,246,234,0.1); }
  select{ appearance:none; background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E7B740' stroke-width='2'%3e%3cpath d='M6 9l6 6 6-6'/%3e%3c/svg%3e"); background-repeat:no-repeat; background-position:right 14px center; background-size:16px; }
  select option{ background-color:var(--cream); color:var(--ink); }
  textarea{ resize:vertical; min-height:110px; }
  form button{ grid-column:1/-1; justify-self:start; margin-top:6px; }
  @media (max-width:880px){ .contact-grid{ grid-template-columns:1fr; gap:44px; } form{ grid-template-columns:1fr; } }

  /* ---------- Footer ---------- */
  footer{ background:#0F1D13; color:rgba(251,246,234,0.55); padding:40px 0; }
  .foot-row{ display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:16px; font-size:0.82rem; text-align:center; }
  .foot-row a{ text-decoration:none; color:rgba(251,246,234,0.55); }
  .foot-row a:hover{ color:var(--gold); }

  /* WhatsApp floating button */
  .wa-float{
    position:fixed; right:24px; bottom:24px; z-index:90;
    width:56px; height:56px; border-radius:50%;
    background:#25D366; display:flex; align-items:center; justify-content:center;
    box-shadow:0 10px 26px rgba(0,0,0,0.28); text-decoration:none;
    animation:waPulse 2.6s ease-in-out infinite;
  }
  .wa-float svg{ width:28px; height:28px; }
  @keyframes waPulse{ 0%,100%{ box-shadow:0 10px 26px rgba(0,0,0,0.28), 0 0 0 0 rgba(37,211,102,0.5);} 50%{ box-shadow:0 10px 26px rgba(0,0,0,0.28), 0 0 0 10px rgba(37,211,102,0);} }

  ::selection{ background:var(--gold); color:var(--green-deep); }
  :focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }

  /* ---------- nav active state ---------- */
  .nav-links a[aria-current="page"]{ opacity:1; }
  .nav-links a[aria-current="page"]::after{ width:100%; }

  /* ---------- nav dropdown ---------- */
  .nav-item{ position:relative; }
  .nav-drop-head{ display:flex; align-items:center; gap:2px; }
  .nav-drop-toggle{
    font-family:'IBM Plex Mono', monospace; font-size:0.92rem; font-weight:700; letter-spacing:0.05em;
    text-transform:uppercase; color:var(--cream); opacity:0.82; padding:0 0 4px;
    text-decoration:none; position:relative;
  }
  .nav-drop-toggle::after{
    content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--gold);
    transition:width .3s var(--ease);
  }
  .nav-drop-toggle:hover::after{ width:100%; }
  .nav-drop-caret{
    display:flex; align-items:center; justify-content:center; background:none; border:none; cursor:pointer;
    color:var(--cream); opacity:0.82; padding:8px 4px; margin:-8px -4px -8px 0;
  }
  .nav-drop-caret svg{ width:11px; height:11px; transition:transform .25s ease; }
  .nav-item:hover .nav-drop-toggle, .nav-item.open .nav-drop-toggle,
  .nav-item:hover .nav-drop-caret, .nav-item.open .nav-drop-caret{ opacity:1; }
  .nav-drop-toggle.current-page{ opacity:1; }
  .nav-drop-toggle.current-page::after{ width:100%; }
  .nav-item.open .nav-drop-caret svg{ transform:rotate(180deg); }
  .nav-dropdown{
    position:absolute; top:100%; left:0; transform:translateY(-6px); margin-top:18px; min-width:180px;
    background:var(--green-deep); border:1px solid var(--line-invert);
    box-shadow:0 20px 50px rgba(0,0,0,0.32);
    opacity:0; visibility:hidden;
    transition:opacity .25s ease, transform .25s ease, visibility .25s ease;
    z-index:50;
  }
  .nav-item:hover .nav-dropdown, .nav-item.open .nav-dropdown{
    opacity:1; visibility:visible; transform:translateY(0);
  }
  .nav-dropdown a{
    display:block; padding:13px 18px; font-family:'IBM Plex Mono',monospace; font-size:0.74rem;
    letter-spacing:0.04em; text-transform:none; color:var(--cream); opacity:0.85;
    border-bottom:1px solid var(--line-invert);
  }
  .nav-dropdown a:last-child{ border-bottom:none; }
  .nav-dropdown a:hover{ opacity:1; background:rgba(251,246,234,0.06); }
  .nav-dropdown a::after{ display:none; }

  /* so #grow-section (and similar anchor targets) don't land under the fixed header */
  #grow-section{ scroll-margin-top:90px; }

  @media (max-width: 880px){
    .nav-dropdown{
      position:static; margin-top:10px; margin-left:0; box-shadow:none; border:none;
      background:rgba(251,246,234,0.04); opacity:1; visibility:visible; transform:none;
      max-height:0; overflow:hidden; transition:max-height .35s ease;
    }
    .nav-item.open .nav-dropdown{ max-height:200px; }
    .nav-drop-head{ width:100%; justify-content:space-between; }
    .nav-drop-toggle{ color:var(--cream); opacity:0.82; padding:0; }
    .nav-drop-caret{ padding:12px; margin:-12px; }
  }

  /* ---------- interior page hero ---------- */
  .page-hero{
    position:relative; overflow:hidden;
    background:radial-gradient(120% 140% at 85% 0%, #21402A 0%, var(--green-deep) 55%, #0F1D13 100%);
    color:var(--cream);
    padding:180px 0 90px;
  }
  .page-hero .crumb{
    font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.08em;
    color:rgba(251,246,234,0.5); text-transform:uppercase; margin-top:18px;
  }
  .page-hero .crumb a{ color:rgba(251,246,234,0.75); text-decoration:none; }
  .page-hero .crumb a:hover{ color:var(--gold); }
  .page-hero h1{ font-size:clamp(2.2rem,4.6vw,3.4rem); color:var(--cream); margin-top:16px; max-width:16ch; }
  .page-hero p.lede{ color:rgba(251,246,234,0.75); max-width:52ch; margin-top:18px; font-size:1.02rem; }
  .page-hero .leaf-mini{ position:absolute; right:-40px; bottom:-60px; width:280px; opacity:0.16; }
  .page-hero-video{ background:var(--green-deep); }
  .page-hero-bg-video{
    position:absolute; inset:0; width:100%; height:100%;
    object-fit:cover; object-position:center; z-index:0;
  }
  .page-hero-overlay{
    position:absolute; inset:0; z-index:1;
    background:
      linear-gradient(100deg, rgba(15,29,19,0.92) 0%, rgba(15,29,19,0.78) 35%, rgba(15,29,19,0.55) 65%, rgba(15,29,19,0.4) 100%),
      linear-gradient(0deg, rgba(15,29,19,0.85) 0%, rgba(15,29,19,0.15) 40%);
  }
  .page-hero-video .wrap{ position:relative; z-index:2; }

  /* ---------- home teaser cards ---------- */
  .teaser-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  .teaser-card{
    border:1px solid var(--line); padding:32px 28px; background:var(--cream);
    display:flex; flex-direction:column; height:100%;
    transition:transform .4s var(--ease), box-shadow .4s var(--ease);
    text-decoration:none; color:var(--ink);
  }
  .teaser-card:hover{ transform:translateY(-6px); box-shadow:0 18px 40px rgba(22,40,28,0.12); }
  .teaser-card .t-icon{ width:34px; height:34px; margin-bottom:20px; color:var(--husk); }
  .teaser-card h3{ font-size:1.25rem; margin-bottom:10px; }
  .teaser-card p{ color:var(--ink-soft); font-size:0.92rem; flex-grow:1; }
  .teaser-card .t-link{ margin-top:18px; font-family:'IBM Plex Mono',monospace; font-size:0.74rem; letter-spacing:0.05em; text-transform:uppercase; color:var(--husk); display:flex; align-items:center; gap:8px; }
  .teaser-card .t-link svg{ width:13px; height:13px; transition:transform .3s ease; }
  .teaser-card:hover .t-link svg{ transform:translateX(4px); }
  @media (max-width:880px){ .teaser-grid{ grid-template-columns:1fr; } }

  .cta-band{
    background:var(--green-mid); color:var(--cream); padding:64px 0; text-align:center;
  }
  .cta-band h2{ color:var(--cream); font-size:clamp(1.6rem,3vw,2.2rem); }
  .cta-band p{ color:rgba(251,246,234,0.78); margin-top:12px; max-width:52ch; margin-left:auto; margin-right:auto; }
  .cta-band .hero-actions{ justify-content:center; margin-top:28px; }

  /* ---------- divider ---------- */
  .divider-cut{
    display:flex; align-items:center; gap:14px;
    max-width:var(--max); margin:0 auto; padding:0 28px;
    color:var(--ink-soft); font-family:'IBM Plex Mono',monospace; font-size:0.68rem;
    letter-spacing:0.08em; text-transform:uppercase;
  }
  .divider-cut::before, .divider-cut::after{ content:""; flex:1; border-top:1px dashed var(--line); }
  .on-dark .divider-cut{ color:rgba(251,246,234,0.4); }
  .on-dark .divider-cut::before, .on-dark .divider-cut::after{ border-color:var(--line-invert); }

  /* ---------- process steps (circle + heading — export.html etc.) ---------- */
  .process-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
  .proc-card{ position:relative; }
  .proc-num{
    width:44px; height:44px; border-radius:50%; border:1.6px solid var(--gold); color:var(--green-mid);
    display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-weight:600;
    font-size:1.05rem; margin-bottom:18px; background:var(--cream);
    transition:transform .4s var(--ease), background .4s ease, color .4s ease;
  }
  .proc-card.in .proc-num{ animation:procPop .5s var(--ease) both; }
  @keyframes procPop{ 0%{ transform:scale(0.4); opacity:0;} 70%{ transform:scale(1.12);} 100%{ transform:scale(1); opacity:1;} }
  .on-dark .proc-num{ background:var(--green-deep); border-color:var(--gold); color:var(--gold); }
  .proc-card h3{ font-size:1.1rem; margin-bottom:8px; }
  .proc-card p{ color:var(--ink-soft); font-size:0.9rem; }
  .on-dark .proc-card p{ color:rgba(251,246,234,0.68); }
  .proc-line{ position:absolute; top:22px; left:44px; right:-24px; height:1px; border-top:1.5px dashed var(--line); }
  .on-dark .proc-line{ border-color:var(--line-invert); }
  .proc-card:last-child .proc-line{ display:none; }
  @media (max-width:880px){ .process-row{ grid-template-columns:1fr 1fr; } .proc-line{ display:none; } }
  @media (max-width:560px){ .process-row{ grid-template-columns:1fr; } }

  /* ---------- process steps with photo (index.html "How We Work") ---------- */
  .process-row-photo{ display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
  .proc-photo-card{ position:relative; }
  .proc-photo{ position:relative; aspect-ratio:4/3; overflow:hidden; border:1px solid var(--line); margin-bottom:18px; }
  .proc-photo img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
  .proc-photo-card:hover .proc-photo img{ transform:scale(1.05); }
  .proc-badge{
    position:absolute; top:14px; left:14px; width:40px; height:40px; border-radius:50%;
    border:1.6px solid var(--gold); color:var(--green-mid);
    display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-weight:600;
    font-size:1rem; background:var(--cream);
    transition:transform .4s var(--ease);
  }
  .proc-photo-card.in .proc-badge{ animation:procPop .5s var(--ease) both; }
  .on-dark .proc-badge{ background:var(--green-deep); border-color:var(--gold); color:var(--gold); }
  .proc-photo-card h3{ font-size:1.1rem; margin-bottom:8px; }
  .proc-photo-card p{ color:var(--ink-soft); font-size:0.9rem; }
  .on-dark .proc-photo-card p{ color:rgba(251,246,234,0.68); }
  @media (max-width:880px){ .process-row-photo{ grid-template-columns:1fr 1fr; } }
  @media (max-width:560px){ .process-row-photo{ grid-template-columns:1fr; } }


  /* ---------- timeline ---------- */
  .timeline{ position:relative; padding-left:36px; }
  .timeline::before{ content:""; position:absolute; left:6px; top:6px; bottom:6px; width:0; border-left:2px dashed var(--line); }
  .t-item{ position:relative; padding-bottom:38px; }
  .t-item:last-child{ padding-bottom:0; }
  .t-item::before{
    content:""; position:absolute; left:-36px; top:2px; width:14px; height:14px; border-radius:50%;
    background:var(--green-mid); border:3px solid var(--cream); transform:scale(0); transition:transform .4s var(--ease);
  }
  .t-item.in::before{ transform:scale(1); }
  .t-item .yr{ font-family:'IBM Plex Mono',monospace; font-size:0.72rem; color:var(--husk); letter-spacing:0.06em; text-transform:uppercase; }
  .t-item h3{ font-size:1.15rem; margin:8px 0 6px; }
  .t-item p{ color:var(--ink-soft); font-size:0.94rem; max-width:56ch; }

  /* ---------- manifest / spec table ---------- */
  .manifest{ border:1.6px solid var(--ink); background:var(--cream); overflow:hidden; }
  .manifest-head{
    display:flex; justify-content:space-between; align-items:center; padding:16px 22px;
    border-bottom:1.6px dashed var(--line); font-family:'IBM Plex Mono',monospace; font-size:0.72rem;
    letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-soft);
  }
  .manifest-row{
    display:grid; grid-template-columns:2fr 1fr 1.4fr; gap:12px; padding:14px 22px;
    border-bottom:1px dashed var(--line); font-size:0.92rem;
    opacity:0; transform:translateX(-10px); transition:opacity .5s var(--ease), transform .5s var(--ease);
  }
  .manifest.in .manifest-row{ opacity:1; transform:translateX(0); }
  .manifest-row:nth-child(2){ transition-delay:.05s; } .manifest-row:nth-child(3){ transition-delay:.1s; }
  .manifest-row:nth-child(4){ transition-delay:.15s; } .manifest-row:nth-child(5){ transition-delay:.2s; }
  .manifest-row:nth-child(6){ transition-delay:.25s; } .manifest-row:nth-child(7){ transition-delay:.3s; }
  .manifest-row:last-child{ border-bottom:none; }
  .manifest-row .m-label{ font-family:'IBM Plex Mono',monospace; font-size:0.68rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.05em; }
  .manifest-row div:first-child{ font-weight:600; }
  @media (max-width:640px){ .manifest-row{ grid-template-columns:1fr; gap:4px; } }

  /* ---------- accordion / FAQ ---------- */
  .accordion{ border-top:1px solid var(--line); }
  .acc-item{ border-bottom:1px solid var(--line); }
  .acc-q{
    width:100%; text-align:left; background:none; border:none; cursor:pointer;
    display:flex; justify-content:space-between; align-items:center; gap:16px;
    padding:22px 4px; font-family:'Fraunces',serif; font-weight:600; font-size:1.05rem; color:var(--ink);
  }
  .acc-q .plus{ font-family:'IBM Plex Mono',monospace; font-size:1.1rem; color:var(--husk); transition:transform .3s ease; flex-shrink:0; }
  .acc-item.open .acc-q .plus{ transform:rotate(45deg); }
  .acc-a{ max-height:0; overflow:hidden; transition:max-height .4s var(--ease); }
  .acc-a p{ padding:0 4px 22px; color:var(--ink-soft); font-size:0.95rem; max-width:64ch; }
  .on-dark .acc-q{ color:var(--cream); }
  .on-dark .accordion, .on-dark .acc-item{ border-color:var(--line-invert); }
  .on-dark .acc-a p{ color:rgba(251,246,234,0.7); }

  /* ---------- trust badges ---------- */
  .badge-row{ display:flex; gap:16px; flex-wrap:wrap; margin-top:50px; }
  .badge{
    display:flex; align-items:center; gap:10px; border:1px solid var(--line); padding:12px 18px;
    font-family:'IBM Plex Mono',monospace; font-size:0.76rem; letter-spacing:0.03em; color:var(--ink-soft);
    background:var(--cream); transition:transform .3s var(--ease), border-color .3s ease;
  }
  .badge:hover{ transform:translateY(-3px); border-color:var(--husk); }
  .badge svg{ width:18px; height:18px; color:var(--husk); }

  /* ---------- trust banner (badges on background photo) ---------- */
  .trust-banner{
    position:relative; padding:56px 0; overflow:hidden;
    background-image:url('images/coconut-plantation-bg.jpg');
    background-size:cover; background-position:center;
  }
  .trust-banner::before{
    content:""; position:absolute; inset:0; background:rgba(22,40,28,0.74);
  }
  .trust-banner .wrap{ position:relative; z-index:1; }
  .trust-banner .badge-row{ margin-top:0; }
  .trust-banner .badge{
    background:rgba(251,246,234,0.08); border-color:rgba(251,246,234,0.35); color:var(--cream);
    backdrop-filter:blur(2px);
  }
  .trust-banner .badge svg{ color:var(--gold); }
  .trust-banner .badge:hover{ border-color:var(--gold); background:rgba(251,246,234,0.14); }

  /* count-up number animation trigger class handled via JS updating textContent */
  .count-up{ font-variant-numeric:tabular-nums; }

