:root{
    --zcs-single-green-900:#123f24;
    --zcs-single-green-700:#1d6b39;
    --zcs-single-green-600:#2f8f52;
    --zcs-single-green-500:#3fa15c;
    --zcs-single-green-100:#e7f4ea;
    --zcs-single-text:#4b5563;
    --zcs-single-text-soft:#6b7280;
    --zcs-single-border:#e6e9e6;
    --zcs-single-surface:#f5f8f5;
    --zcs-single-bg:#ffffff;
    --zcs-single-max-w:1280px;
    --zcs-single-radius-lg:18px;
    --zcs-single-radius-sm:10px;
    --zcs-single-gap:64px;
  }

  .zcs-single-container{
    width:100%;
    max-width:var(--zcs-single-max-w);
    margin-inline:auto;
    padding-inline:32px;
  }

  /* ---------- Hero ---------- */

  .zcs-single-hero{
    padding-block:88px 56px;
  }

  .zcs-single-hero-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:var(--zcs-single-gap);
    align-items:start;
  }

  .zcs-single-hero-left{
    display:flex;
    align-items:flex-start;
  }

  .zcs-single-title{
    margin:0;
    font-weight:800;
    letter-spacing:-0.01em;
    font-size:clamp(2.1rem, 3.2vw + 1rem, 3.15rem);
    line-height:1.15;
    animation:zcs-single-rise .7s cubic-bezier(.2,.7,.2,1) both;
  }

  .zcs-single-hero-right{
    padding-top:6px;
  }

  .zcs-single-desc{
    margin:0 0 20px;
    font-size:1.02rem;
    color:var(--zcs-single-text);
    max-width:52ch;
    animation:zcs-single-rise .7s cubic-bezier(.2,.7,.2,1) both;
    animation-delay:.08s;
  }

  .zcs-single-desc:last-of-type{ margin-bottom:28px; }

  .zcs-single-checklist{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:1px;
  }

  .zcs-single-check-item{
    display:flex;
    align-items:center;
    gap:12px;
    font-size:0.9rem;
    font-weight:500;
    color:var(--zcs-secondary-color);
    opacity:0;
    animation:zcs-single-rise .55s cubic-bezier(.2,.7,.2,1) both;
  }

  .zcs-single-check-item:nth-child(1){ animation-delay:.18s; }
  .zcs-single-check-item:nth-child(2){ animation-delay:.26s; }
  .zcs-single-check-item:nth-child(3){ animation-delay:.34s; }
  .zcs-single-check-item:nth-child(4){ animation-delay:.42s; }

  .zcs-single-check-icon{
    flex:0 0 auto;
    display:inline-flex;
  }

  .zcs-single-check-icon svg{ display:block; }

  /* ---------- Media / image placeholder ---------- */

  .zcs-single-media{
    padding-block:8px 56px;
  }

  .zcs-single-image-placeholder{
    width:100%;
    aspect-ratio:2.35/1;
    border-radius:var(--zcs-single-radius-lg);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    color:var(--zcs-single-text-soft);
    text-align:center;
    overflow:hidden;
  }

  #equipment-machinery.zcs-single-image-placeholder{
    background: url("/assets/image/bg-equipment-machinery.jpg") no-repeat center;
    background-size: cover;
  }

  #irrigation-sys.zcs-single-image-placeholder{
    background: url("/assets/image/bg-irrigation-systems.jpg") no-repeat center;
    background-size: cover;
  }

  #agri-inputs.zcs-single-image-placeholder{
    background: url("/assets/image/bg-agri-inputs.jpg") no-repeat center;
    background-size: cover;
  }

  /* ---------- Summary ---------- */

  .zcs-single-summary{
    padding-block:8px 96px;
  }

  .zcs-single-summary-text{
    margin:0;
    max-width:100%;
    font-size:2rem;
    font-weight: 200;
    line-height: 2.5rem;
    color:var(--zcs-single-text);
  }

  /* ---------- Motion / accessibility ---------- */

  @keyframes zcs-single-rise{
    from{ opacity:0; transform:translateY(14px); }
    to{ opacity:1; transform:translateY(0); }
  }

  @media (prefers-reduced-motion: reduce){
    .zcs-single-title,
    .zcs-single-desc,
    .zcs-single-check-item{
      animation:none;
      opacity:1;
    }
  }

  :focus-visible{
    outline:2px solid var(--zcs-single-green-600);
    outline-offset:3px;
  }

  /* ---------- Responsive ---------- */

  @media (max-width: 960px){
    :root{ --zcs-single-gap:40px; }
    .zcs-single-hero{ padding-block:56px 40px; }
    .zcs-single-hero-grid{
      grid-template-columns:1fr;
    }
    .zcs-single-title{ max-width:34ch; }
    .zcs-single-media{ padding-block:0 40px; }
    .zcs-single-summary{ padding-block:0 64px; }
  }

  @media (max-width: 560px){
    .zcs-single-container{ padding-inline:20px; }
    .zcs-single-hero{ padding-block:40px 32px; }
    .zcs-single-title{ font-size:2rem; }
    .zcs-single-desc{ font-size:.98rem; }
    .zcs-single-check-item{ font-size:.98rem; }
    .zcs-single-image-placeholder{ aspect-ratio:4/3; border-radius:var(--zcs-single-radius-sm); }
    .zcs-single-image-placeholder svg{ width:36px; height:36px; }
  }

/* SLIDERS */
:root{
    --zcs-single-green-900:#122b19;
    --zcs-single-green-800:#1a3f24;
    --zcs-single-green-700:#22522f;
    --zcs-single-green-600:#2f6a3d;
    --zcs-single-text-body:#57685c;
    --zcs-single-lime:#d7e457;
    --zcs-single-lime-dark:#c6d43f;
    --zcs-single-white:#ffffff;
    --zcs-single-line:#e7ece6;
    --zcs-single-font-display:'Poppins', 'Segoe UI', sans-serif;
    --zcs-single-font-body:'Inter', 'Segoe UI', sans-serif;
    --zcs-single-radius-lg:20px;
    --zcs-single-radius-full:999px;
    --zcs-single-container:1320px;
    --zcs-single-ease:cubic-bezier(.4,0,.2,1);
  }

  *,*::before,*::after{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{
    margin:0;
    font-family:var(--zcs-single-font-body);
    color:var(--zcs-single-text-body);
    background:var(--zcs-single-white);
    -webkit-font-smoothing:antialiased;
  }
  img,svg{ display:block; max-width:100%; }
  button{ font:inherit; cursor:pointer; }
  a{ text-decoration:none; color:inherit; }

  .zcs-single-container{
    width:100%;
    max-width:var(--zcs-single-container);
    margin-inline:auto;
    padding-inline:clamp(20px, 4vw, 48px);
  }

  /* ---------- Top (white) area ---------- */
  .zcs-single-top{
    padding-top:clamp(48px, 7vw, 88px);
    padding-bottom:clamp(40px, 5vw, 64px);
  }

  .zcs-single-header{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:flex-start;
    gap:32px 24px;
    margin-bottom:clamp(40px, 6vw, 72px);
  }

  .zcs-single-header-left{ max-width:640px; }

  .zcs-single-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin:0 0 18px;
    font-family:var(--zcs-single-font-body);
    font-weight:600;
    font-size:.8rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--zcs-single-green-700);
  }
  .zcs-single-eyebrow-icon{
    width:22px;
    height:22px;
    color:var(--zcs-single-green-700);
    flex-shrink:0;
  }

  .zcs-single-title{
    margin:0;
    font-family:var(--zcs-single-font-display);
    font-weight:700;
    font-size:clamp(2rem, 3.6vw, 3.15rem);
    line-height:1.14;
    letter-spacing:-.01em;
    color:var(--zcs-single-green-800);
  }

  .zcs-single-header-right{
    max-width:360px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:22px;
    padding-top:4px;
  }

  .zcs-single-description{
    margin:0;
    font-size:1.02rem;
    line-height:1.65;
  }

  .zcs-single-cta{
    display:inline-flex;
    align-items:center;
    gap:6px;
  }
  .zcs-single-cta-label{
    display:inline-flex;
    align-items:center;
    height:52px;
    padding:0 26px;
    border-radius:var(--zcs-single-radius-full);
    background:var(--zcs-single-lime);
    color:var(--zcs-single-green-800);
    font-family:var(--zcs-single-font-body);
    font-weight:600;
    font-size:.95rem;
    white-space:nowrap;
    transition:background-color .2s var(--zcs-single-ease), transform .2s var(--zcs-single-ease);
  }
  .zcs-single-cta-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    border-radius:50%;
    background:var(--zcs-single-lime);
    color:var(--zcs-single-green-800);
    flex-shrink:0;
    transition:background-color .2s var(--zcs-single-ease), transform .2s var(--zcs-single-ease);
  }
  .zcs-single-cta-icon svg{ width:18px; height:18px; }
  .zcs-single-cta:hover .zcs-single-cta-label,
  .zcs-single-cta:hover .zcs-single-cta-icon{ background:var(--zcs-single-lime-dark); }
  .zcs-single-cta:hover .zcs-single-cta-icon{ transform:rotate(45deg); }
  .zcs-single-cta:focus-visible .zcs-single-cta-label,
  .zcs-single-cta:focus-visible .zcs-single-cta-icon{ outline:2px solid var(--zcs-single-green-800); outline-offset:2px; }

  /* ---------- Gallery ---------- */
  .zcs-single-gallery{
    display:grid;
    grid-template-columns:1fr 1.75fr 1fr;
    gap:clamp(14px, 2vw, 26px);
    height:clamp(360px, 33vw, 610px);
  }

  .zcs-single-card{ height:100%; margin:0; }

  .zcs-single-card--side .zcs-single-placeholder{ height:100%; }

  .zcs-single-card--main{
    display:flex;
    flex-direction:column;
    height:100%;
    border-radius:var(--zcs-single-radius-lg);
    overflow:hidden;
  }
  .zcs-single-card--main .zcs-single-placeholder{
    flex:1 1 auto;
    min-height:0;
    border-radius:0;
  }

  .zcs-single-placeholder{
    position:relative;
    border-radius:var(--zcs-single-radius-lg);
    overflow:hidden;
    background:
      radial-gradient(120% 140% at 15% 10%, rgba(255,255,255,.16), transparent 55%),
      linear-gradient(155deg, hsl(var(--zcs-single-hue, 132) 32% 44%), hsl(var(--zcs-single-hue, 132) 40% 20%));
    display:flex;
    align-items:flex-end;
    padding:16px;
    transition:background .5s var(--zcs-single-ease);
  }
  .zcs-single-placeholder::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:repeating-linear-gradient(135deg, rgba(255,255,255,.06) 0 2px, transparent 2px 14px);
    pointer-events:none;
  }
  .zcs-single-placeholder-tag{
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 12px;
    border-radius:var(--zcs-single-radius-full);
    background:rgba(18, 43, 25, .38);
    backdrop-filter:blur(2px);
    color:rgba(255,255,255,.92);
    font-size:.72rem;
    font-weight:500;
    letter-spacing:.02em;
  }
  .zcs-single-placeholder-tag svg{ width:15px; height:15px; flex-shrink:0; }

  .zcs-single-overlay{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:26px clamp(20px, 3vw, 34px);
    background:var(--zcs-single-lime);
  }
  .zcs-single-overlay-title{
    margin:0 0 6px;
    font-family:var(--zcs-single-font-display);
    font-weight:700;
    font-size:clamp(1.15rem, 1.7vw, 1.55rem);
    color:var(--zcs-single-green-800);
    transition:opacity .25s var(--zcs-single-ease);
  }
  .zcs-single-overlay-tag{
    margin:0;
    font-size:.92rem;
    color:var(--zcs-single-green-700);
    transition:opacity .25s var(--zcs-single-ease);
  }
  .zcs-single-overlay-btn{
    flex-shrink:0;
    width:52px;
    height:52px;
    border-radius:50%;
    border:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:var(--zcs-single-green-800);
    color:var(--zcs-single-white);
    transition:transform .2s var(--zcs-single-ease), background-color .2s var(--zcs-single-ease);
  }
  .zcs-single-overlay-btn svg{ width:18px; height:18px; }
  .zcs-single-overlay-btn:hover{ background:var(--zcs-single-green-700); transform:rotate(45deg); }
  .zcs-single-overlay-btn:focus-visible{ outline:2px solid var(--zcs-single-green-800); outline-offset:3px; }

  /* ---------- Dots band (dark green) ---------- */
  .zcs-single-dots-band{
    background:var(--zcs-single-green-900);
    padding-block:clamp(28px, 4vw, 44px);
  }
  .zcs-single-dots-band .zcs-single-container{
    display:flex;
    justify-content:center;
  }
  .zcs-single-dots{
    display:flex;
    align-items:center;
    gap:10px;
    list-style:none;
    margin:0;
    padding:0;
  }
  .zcs-single-dot{
    width:9px;
    height:9px;
    padding:0;
    border-radius:50%;
    border:none;
    background:rgba(255,255,255,.32);
    transition:background-color .2s var(--zcs-single-ease), transform .2s var(--zcs-single-ease);
  }
  .zcs-single-dot:hover{ background:rgba(255,255,255,.55); }
  .zcs-single-dot:focus-visible{ outline:2px solid var(--zcs-single-lime); outline-offset:3px; }
  .zcs-single-dot.is-active{
    background:transparent;
    border:2px solid var(--zcs-single-lime);
    width:15px;
    height:15px;
    position:relative;
  }
  .zcs-single-dot.is-active::after{
    content:"";
    position:absolute;
    inset:3px;
    border-radius:50%;
    background:var(--zcs-single-lime);
  }

  /* ---------- Responsive ---------- */
  @media (max-width:900px){
    .zcs-single-gallery{
      grid-template-columns:1fr;
      height:auto;
    }
    .zcs-single-card,
    .zcs-single-card--main{ height:auto; }
    .zcs-single-card--side .zcs-single-placeholder{
      height:auto;
      aspect-ratio:16/10;
    }
    .zcs-single-card--main .zcs-single-placeholder{ aspect-ratio:16/10; }
    .zcs-single-card--side:nth-of-type(1){ order:2; }
    .zcs-single-card--main{ order:1; }
    .zcs-single-card--side:nth-of-type(3){ order:3; }
  }

  @media (max-width:560px){
    .zcs-single-header-right{ max-width:100%; }
    .zcs-single-overlay{ flex-wrap:wrap; }
    .zcs-single-cta-label{ padding:0 20px; height:48px; }
    .zcs-single-cta-icon{ width:48px; height:48px; }
  }

  @media (prefers-reduced-motion:reduce){
    html{ scroll-behavior:auto; }
    *,*::before,*::after{ transition-duration:.01ms !important; animation-duration:.01ms !important; }
  }