
:root{
  --green-main:#12b35d;
  --green-dark:#0a6b38;
  --green-light:#dff8ea;

  --blue-main:#3c7bff;
  --blue-dark:#1f3c88;

  --text-dark:#1f2937;
  --white:#ffffff;
}

/* GLOBAL */
*{
  font-family:'Kanit',sans-serif;
}

html{
  scroll-behavior:smooth;
}

body{
  background:
  linear-gradient(to bottom,#f6fff9,#eefcf4);
  overflow-x:hidden;
  color:var(--text-dark);
}

/* NAVBAR */
.navbar{
  background:
  linear-gradient(90deg,
  #0b5d31 0%,
  #12b35d 55%,
  #36d38a 100%);
  backdrop-filter:blur(10px);
}

.navbar-brand{
  font-weight:700;
  color:#fff !important;
  letter-spacing:1px;
  font-size:1.4rem;
}

.nav-link{
  color:#fff !important;
  transition:.3s;
  position:relative;
}

.nav-link:hover{
  color:#d9ffe8 !important;
}

.nav-link::after{
  content:'';
  position:absolute;
  left:0;
  bottom:-3px;
  width:0%;
  height:2px;
  background:#fff;
  transition:.3s;
}

.nav-link:hover::after{
  width:100%;
}

/* HERO */

.hero{
  position:relative;
  min-height:100vh;

  background:
  linear-gradient(rgba(3,30,12,.75),
  rgba(0,0,0,.72)),
  url('../images/hero-banner.png');

  background-size:cover;
  background-position:center;
  display:flex;
  align-items:center;
  color:#fff;
}

.hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:
  radial-gradient(circle at top right,
  rgba(40,255,140,.18),
  transparent 40%);
}

.hero h1{
  font-size:4rem;
  font-weight:700;
  line-height:1.2;
  text-shadow:0 5px 15px rgba(0,0,0,.35);
}

.hero p{
  font-size:1.15rem;
  color:#e7e7e7;
  line-height:1.8;
}

/* BUTTON */
.btn-main{
  background:
  linear-gradient(135deg,
  #14c76a,
  #0a8f4a);

  border:none;
  padding:15px 36px;
  border-radius:60px;
  font-size:1.05rem;
  font-weight:600;
  color:#fff;

  box-shadow:0 10px 25px rgba(18,179,93,.35);
  transition:.35s;
}

.btn-main:hover{
  transform:translateY(-4px);
  box-shadow:0 15px 30px rgba(18,179,93,.45);
}

/* FLOATING CARD */
.floating-card{
  background:#fff;
  border-radius:28px;
  padding:35px;
  box-shadow:0 15px 40px rgba(0,0,0,.08);

  margin-top:-90px;
  position:relative;
  z-index:10;

  border:1px solid rgba(18,179,93,.08);
}

/* SERVICE */
.service-box{
  background:#fff;
  border-radius:24px;
  overflow:hidden;

  transition:.35s;
  box-shadow:0 10px 25px rgba(0,0,0,.06);

  height:100%;
  border:1px solid rgba(18,179,93,.08);
}

.service-box:hover{
  transform:translateY(-10px);
  box-shadow:0 18px 40px rgba(18,179,93,.15);
}

.service-box img{
  width:100%;
  height:240px;
  object-fit:cover;
}

/* SECTION */
.section-title{
  font-size:2.7rem;
  font-weight:700;
  color:var(--green-dark);
  position:relative;
}

.section-title::after{
  content:'';
  width:90px;
  height:5px;
  border-radius:20px;
  background:
  linear-gradient(90deg,
  #12b35d,
  #36d38a);

  display:block;
  margin:15px auto 0;
}

/* FEATURE ICON */
.feature-icon{
  width:78px;
  height:78px;

  background:
  linear-gradient(135deg,
  #12b35d,
  #36d38a);

  color:#fff;
  border-radius:22px;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:32px;
  margin-bottom:20px;

  box-shadow:0 10px 25px rgba(18,179,93,.25);
}

/* STATS */
.stats{
  background:
  linear-gradient(135deg,
  #0a6b38,
  #13a55a);

  color:#fff;
  border-radius:35px;
  padding:70px 30px;

  box-shadow:0 20px 50px rgba(10,107,56,.25);
}

.stats h2{
  font-size:3rem;
  font-weight:700;
}

/* PRODUCT */
.product-card{
  background:#fff;
  border-radius:24px;
  overflow:hidden;

  box-shadow:0 8px 25px rgba(0,0,0,.06);
  transition:.35s;

  height:100%;
  border:1px solid rgba(18,179,93,.08);
}

.product-card:hover{
  transform:translateY(-8px);
  box-shadow:0 18px 35px rgba(18,179,93,.15);
}

.product-card img{
  height:280px;
  object-fit:contain;
  background:#fff;
  padding:20px;
}

/* CONTACT */
.contact-section{
  background:
  linear-gradient(rgba(4,55,24,.82),
  rgba(0,0,0,.78)),
  url('../images/contact-bg.jpg');

  background-size:cover;
  background-position:center;

  color:#fff;
  border-radius:35px;
  padding:90px 40px;

  overflow:hidden;
  position:relative;
}

.contact-section::before{
  content:'';
  position:absolute;
  width:350px;
  height:350px;
  background:rgba(54,211,138,.12);
  border-radius:50%;
  top:-120px;
  right:-100px;
}

/* BADGE */
.badge-custom{
  background:
  linear-gradient(135deg,
  #12b35d,
  #36d38a);

  padding:10px 18px;
  border-radius:50px;
  font-size:.92rem;
  font-weight:500;

  box-shadow:0 5px 15px rgba(18,179,93,.25);
}

/* INPUT */
.form-control{
  border-radius:16px;
  border:1px solid #d8e7df;
  padding:14px;
}

.form-control:focus{
  border-color:#12b35d;
  box-shadow:0 0 0 .2rem rgba(18,179,93,.15);
}

/* FOOTER */
footer{
  background:
  linear-gradient(90deg,
  #052814,
  #0a6b38);

  color:#d4d4d4;
  padding:30px 0;
  margin-top:80px;
}

/* MOBILE */
@media(max-width:768px){

  .hero{
    text-align:center;
    padding:100px 0;
  }

  .hero h1{
    font-size:2.3rem;
  }

  .section-title{
    font-size:2rem;
  }

  .floating-card{
    margin-top:-50px;
  }
}

.about-section{
  background:#f4fbf6;
}

.about-image-wrap{
  position:relative;
}

.about-main-image{
  width:100%;
  filter:drop-shadow(0 20px 40px rgba(0,0,0,.15));
}

.about-badge{
  display:inline-block;
  background:#12b35d;
  color:#fff;
  padding:8px 18px;
  border-radius:50px;
  font-size:.9rem;
  margin-bottom:20px;
}

.about-title{
  font-size:3rem;
  font-weight:700;
  color:#0b6a37;
  line-height:1.3;
}

.title-line{
  width:100px;
  height:5px;
  border-radius:30px;
  background:#22c76a;
  margin:25px 0;
}

.about-text{
  font-size:1.1rem;
  color:#4b5563;
  line-height:2;
}

/* ABOUT FEATURES */
.about-features{
  margin-top:50px;
}

.feature-item h5{
  font-size:1.15rem;
  font-weight:700;
  color:#0b6a37;
  margin-top:18px;
}

.feature-item p{
  color:#4b5563;
  line-height:1.8;
  font-size:.95rem;
}

.feature-circle{
  width:95px;
  height:95px;

  margin:auto;

  border-radius:50%;

  background:
  linear-gradient(135deg,
  #e7f9ee,
  #f7fffa);

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:38px;
  color:#0f9b50;

  box-shadow:
  0 10px 25px rgba(18,179,93,.08);

  transition:.35s;
}

.feature-item:hover .feature-circle{
  transform:translateY(-8px) scale(1.05);

  box-shadow:
  0 15px 35px rgba(18,179,93,.18);
}

/* BOTTOM BAR */
.about-bottom-bar{

  margin-top:50px;

  background:
  linear-gradient(90deg,
  #0b6a37,
  #12b35d);

  color:#fff;

  padding:20px 30px;

  border-radius:18px;

  text-align:center;

  font-size:1rem;
  font-weight:500;

  box-shadow:
  0 15px 30px rgba(18,179,93,.20);
}

.about-bottom-bar i{
  font-size:1.1rem;
}