:root{ 
  --bg:#FAF5EC;            /* warm paper */
  --ink:#103C35;           /* Rite deep green */
  --ink-2:#335C53;
  --accent:#5EC299;        /* soft mint accent */
  --muted:#7A8A84;
  --card:#FFFFFF;
  --ring:rgba(16,60,53,.15);
  --radius:20px;
  --shadow:0 8px 24px rgba(16,60,53,.08);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,Segoe UI,Arial,sans-serif}
img{max-width:100%;display:block}
a{color:var(--ink);text-decoration:none}
.container{width:min(1100px,92vw);margin-inline:auto}

/* Header */
header{position:sticky;top:0;z-index:40;background:rgba(250,245,236,.85);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid #eee}
.header-layout{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.logo{height:36px}
nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}
nav a{font-weight:600;opacity:.9}
nav a:hover{opacity:1}

/* Hero */
.hero{
  position:relative; isolation:isolate;
  padding:88px 0 84px;
  text-align:center;
  background:
    radial-gradient(1200px 500px at 50% -200px, rgba(94,194,153,.25), transparent 60%),
    linear-gradient(180deg, #FBF8F1 0%, #F6F1E7 70%);
}
.hero h1{font-family:Poppins,system-ui,sans-serif;font-weight:700;font-size:clamp(32px,5vw,48px);margin:0 0 10px}
.hero p{color:var(--ink-2);font-size:clamp(16px,2.4vw,18px);margin:0 0 26px}
.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cta-btn,.cta-ghost{
  padding:12px 20px;border-radius:999px;font-weight:700;letter-spacing:.2px;
  box-shadow:0 10px 20px rgba(94,194,153,.25);
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease;
}
.cta-btn{background:var(--ink);color:#fff}
.cta-btn:hover{transform:translateY(-2px)}
.cta-ghost{background:#fff;border:1px solid #E7E2D8;color:var(--ink)}
.cta-ghost:hover{background:#F3EFE7}

/* Section headings */
section{padding:70px 0}
h2{font-family:Poppins,system-ui,sans-serif;font-size:clamp(22px,3.2vw,28px);margin:0 0 10px}
section > .container > p{color:var(--muted);margin:0 0 28px;line-height:1.6}

/* Products grid */
.products .grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:24px;
  margin-top:24px;
  align-items:stretch; /* forces equal column heights */
}
.product{
  background:var(--card);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:12px;
  transition:transform .15s ease, box-shadow .2s ease;
  border:1px solid rgba(16,60,53,.06);
  height:100%;
  min-height:420px; /* baseline height */
}
.product:hover{transform:translateY(-4px); box-shadow:0 14px 32px rgba(16,60,53,.12)}
.product-thumb{
  border:1px solid rgba(16,60,53,.08);
  border-radius:14px;
  padding:18px;
  background:#F7F3EA;
  flex-shrink:0;
  min-height:200px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.product h3{
  margin:6px 0 0;
  font-weight:800;
  flex-shrink:0;
}
.product p{
  color:var(--ink-2);
  margin:0 0 8px;
  line-height:1.5;
  flex-grow:1; /* stretches text area to help equal height */
}
.badge{
  align-self:flex-start;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.3px;
  background:#EFF6F3;
  color:var(--ink);
  border:1px solid #DCEAE4;
  padding:6px 10px;
  border-radius:999px;
}
.buy-link{
  margin-top:auto;
  align-self:flex-start;
  background:var(--ink);
  color:#fff;
  padding:10px 14px;
  border-radius:10px;
  font-weight:700;
}
.buy-link:hover{background:#0D332C}

/* Trust strip */
.trust{
  background:#fff;
  border:1px solid #EEE7DA;
  border-radius:16px;
  box-shadow:var(--shadow);
  padding:14px 18px;
  margin-top:22px;
}
.trust ul{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  list-style:none;
  margin:0;
  padding:0;
  color:var(--muted);
  font-weight:600;
}
.trust li{display:flex;align-items:center;gap:8px}

/* About icons */
.about{padding-top:60px}
.about-icons{
  display:flex;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
  margin-top:30px;
  text-align:center;
}
.about-icons div{flex:1;min-width:180px}
.about-icons img{width:44px;height:44px;margin-bottom:10px}
.about-icons p{font-weight:700;color:var(--ink)}

/* Footer */
footer{
  margin-top:60px;
  padding:26px 0;
  border-top:1px solid #EEE2CF;
  color:var(--muted);
}
footer .foot{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
.small-logo{height:26px;opacity:.9}

/* Mobile nav (simple) */
@media (max-width:840px){
  nav ul{gap:14px;font-size:.95rem;flex-wrap:wrap}
  .product{padding:14px}
}

/* --- FORCE UNIFORM CARD HEIGHTS (PATCH) --- */
.products .grid{align-items:stretch}

.products .grid > .product{
  display:flex;
  flex-direction:column;
  height:auto;
  min-height:560px !important; /* lock card to same height */
}

.products .grid > .product .product-thumb{
  min-height:260px !important;   /* consistent logo box */
  display:flex;
  align-items:center;
  justify-content:center;
}

.products .grid > .product .product-thumb img{
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
}

.products .grid > .product h3{flex-shrink:0}
.products .grid > .product p{flex-grow:1}  /* stretch text to fill */
.products .grid > .product .buy-link{margin-top:auto} /* pin CTA */
