
:root{
  --white:#ffffff;
  --cream:#fffaf0;
  --soft:#f7f4ea;
  --beige:#eadfc7;
  --leaf:#2d6a3f;
  --leaf-2:#3f8f55;
  --brown:#6d4427;
  --coffee:#3a2418;
  --gold:#c9972f;
  --gold-2:#e1b85b;
  --ink:#17221b;
  --muted:#647166;
  --line:rgba(45,106,63,.14);
  --shadow:0 24px 70px rgba(58,36,24,.14);
  --soft-shadow:0 14px 35px rgba(58,36,24,.09);
  --radius:28px;
  --container:min(1180px, calc(100% - 40px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter",system-ui,-apple-system,Segoe UI,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at top left, rgba(225,184,91,.18), transparent 34%),
    radial-gradient(circle at top right, rgba(45,106,63,.12), transparent 26%),
    linear-gradient(180deg,#fffefa,#fbf7ef 52%,#ffffff);
  line-height:1.65;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(45,106,63,.035) 1px, transparent 1px),
    linear-gradient(90deg,rgba(45,106,63,.035) 1px, transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.7), transparent 80%);
  z-index:-2;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:var(--container);margin:0 auto}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--gold);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
}
.eyebrow::before{
  content:"";
  width:34px;
  height:2px;
  border-radius:20px;
  background:linear-gradient(90deg,var(--gold),var(--leaf));
}
h1,h2,h3,h4{font-family:"Manrope",Inter,sans-serif;line-height:1.08;color:var(--ink)}
h1{font-size:clamp(42px,6.8vw,78px);margin:14px 0 22px;letter-spacing:-.055em}
h2{font-size:clamp(32px,4vw,52px);margin:12px 0 18px;letter-spacing:-.04em}
h3{font-size:23px;margin:0 0 10px}
p{margin:0 0 18px;color:var(--muted)}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:50px;
  padding:14px 22px;
  border-radius:999px;
  font-weight:900;
  border:1px solid transparent;
  transition:.3s ease;
  cursor:pointer;
}
.btn-primary{
  background:linear-gradient(135deg,var(--leaf),var(--leaf-2));
  color:#fff;
  box-shadow:0 15px 34px rgba(45,106,63,.28);
}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(45,106,63,.34)}
.btn-outline{background:rgba(255,255,255,.72);border-color:rgba(45,106,63,.18);color:var(--leaf);backdrop-filter:blur(10px)}
.btn-outline:hover{background:var(--leaf);color:#fff;transform:translateY(-3px)}
.btn-light{background:#fff;color:var(--leaf);box-shadow:var(--soft-shadow)}
.text-link{font-weight:900;color:var(--leaf);display:inline-flex;align-items:center;gap:8px}
.text-link::after{content:"→";transition:.25s}.text-link:hover::after{transform:translateX(5px)}

/* Header */
.top-strip{
  background:linear-gradient(90deg,#244a2f,#3b6b3d);
  color:rgba(255,255,255,.84);
  font-size:13px;
}
.top-strip .container{display:flex;justify-content:space-between;gap:18px;padding:8px 0}
.top-strip strong{color:#fff}
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(45,106,63,.1);
  transition:.25s ease;
}
.site-header.scrolled{box-shadow:0 14px 40px rgba(42,35,18,.08)}
.nav-container{
  height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.brand img{height:64px;max-width:280px;object-fit:contain}
.main-nav{display:flex;align-items:center;gap:8px}
.main-nav a{
  padding:10px 14px;
  border-radius:999px;
  color:#425040;
  font-weight:800;
  font-size:14px;
  transition:.25s;
}
.main-nav a:hover,.main-nav a.active{background:#edf7ee;color:var(--leaf)}
.nav-cta{background:var(--coffee);color:#fff;border-radius:999px;padding:12px 18px;font-weight:900;box-shadow:var(--soft-shadow)}
.nav-toggle{display:none;width:46px;height:46px;border:0;border-radius:14px;background:#edf7ee;position:relative}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--leaf);margin:5px auto;border-radius:20px;transition:.25s}

/* Hero */
.hero{
  min-height:calc(100vh - 120px);
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  padding:86px 0;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.92) 0%,rgba(255,250,240,.84) 42%,rgba(255,255,255,.36) 70%),
    url("../images/products/coffee-tea-hero.jpg") center/cover no-repeat;
  z-index:-2;
}
.hero::after{
  content:"";
  position:absolute;
  inset:auto -10% -22% -10%;
  height:330px;
  background:#fffaf0;
  transform:rotate(-3deg);
  transform-origin:left;
  z-index:-1;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:55px;
  align-items:center;
}
.hero-copy p{font-size:19px;max-width:660px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0}
.hero-badges{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  max-width:640px;
  margin-top:28px;
}
.hero-badge{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(45,106,63,.13);
  border-radius:22px;
  padding:17px;
  box-shadow:0 10px 26px rgba(58,36,24,.08);
  backdrop-filter:blur(10px);
}
.hero-badge strong{display:block;color:var(--leaf);font-size:26px;line-height:1}
.hero-badge span{font-size:13px;color:var(--muted);font-weight:800}
.hero-showcase{
  position:relative;
  min-height:530px;
}
.hero-card{
  position:absolute;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(255,255,255,.7);
  border-radius:34px;
  box-shadow:var(--shadow);
  overflow:hidden;
  backdrop-filter:blur(12px);
}
.hero-card.main{right:0;top:20px;width:440px;padding:16px}
.hero-card.main img{height:330px;width:100%;object-fit:cover;border-radius:24px}
.hero-card.main h3{padding:18px 12px 0;margin:0}
.hero-card.main p{padding:0 12px 12px;margin:5px 0 0;font-size:14px}
.hero-card.small{left:0;top:80px;width:215px;padding:12px;animation:float 6s ease-in-out infinite}
.hero-card.tiny{left:70px;bottom:38px;width:240px;padding:12px;animation:float 6.8s ease-in-out infinite reverse}
.hero-card.small img,.hero-card.tiny img{height:190px;width:100%;object-fit:cover;border-radius:22px}
.hero-pill{
  position:absolute;
  right:30px;
  bottom:40px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:999px;
  padding:13px 18px;
  font-weight:900;
  box-shadow:var(--soft-shadow);
  animation:float 5.4s ease-in-out infinite;
}
.hero-pill span{color:var(--gold)}
.leaf-orb,.gold-orb{
  position:absolute;
  border-radius:50%;
  filter:blur(.2px);
  opacity:.75;
}
.leaf-orb{width:150px;height:150px;right:60px;bottom:95px;background:#dcefdc}
.gold-orb{width:95px;height:95px;left:65px;top:20px;background:#fae6ae}

/* Sections */
.section{padding:96px 0;position:relative}
.section.soft{background:linear-gradient(180deg,#fffaf0,#f7f4ea)}
.section.cream{background:linear-gradient(135deg,#fff7e5,#f4fbf0)}
.section-title{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:30px;
  margin-bottom:36px;
}
.section-title.center{display:block;text-align:center;max-width:780px;margin:0 auto 44px}
.section-title.center .eyebrow{justify-content:center}
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.category-card{
  position:relative;
  min-height:360px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:22px;
  border-radius:var(--radius);
  border:1px solid rgba(45,106,63,.13);
  background:#fff;
  box-shadow:var(--soft-shadow);
  transition:.34s ease;
}
.category-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.category-card::after{
  content:"";
  position:absolute;
  width:150px;height:150px;
  border-radius:50%;
  background:rgba(225,184,91,.16);
  top:-60px;right:-50px;
}
.category-card img{
  width:100%;
  height:170px;
  object-fit:cover;
  border-radius:22px;
  margin-bottom:18px;
  transition:.35s ease;
}
.category-card:hover img{transform:scale(1.06)}
.category-card p{font-size:14px}
.card-count{
  margin-top:auto;
  color:var(--gold);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
}
.mini-arrow{
  position:absolute;
  right:22px;
  bottom:22px;
  width:40px;height:40px;
  display:grid;
  place-items:center;
  background:#edf7ee;
  color:var(--leaf);
  border-radius:50%;
  font-weight:900;
}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.product-card{
  background:#fff;
  border:1px solid rgba(45,106,63,.13);
  border-radius:28px;
  overflow:hidden;
  box-shadow:var(--soft-shadow);
  transition:.34s ease;
}
.product-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.product-image{
  height:245px;
  background:#faf4e8;
  overflow:hidden;
  position:relative;
}
.product-image img{width:100%;height:100%;object-fit:cover;transition:.45s ease}
.product-card:hover .product-image img{transform:scale(1.08)}
.product-body{padding:20px}
.tag{
  display:inline-flex;
  padding:7px 11px;
  border-radius:999px;
  background:#edf7ee;
  color:var(--leaf);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.product-body h3{margin:13px 0 9px}
.product-body p{font-size:14px;margin-bottom:0}
.filter-bar{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-bottom:34px}
.filter-btn{
  border:1px solid rgba(45,106,63,.15);
  background:#fff;
  color:var(--leaf);
  padding:12px 18px;
  border-radius:999px;
  font-weight:900;
  cursor:pointer;
  transition:.25s;
}
.filter-btn:hover,.filter-btn.active{background:var(--leaf);border-color:var(--leaf);color:#fff;transform:translateY(-2px)}
.split-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:55px;align-items:center}
.image-mosaic{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:18px;
}
.mosaic-card{
  min-height:220px;
  border-radius:30px;
  overflow:hidden;
  box-shadow:var(--shadow);
  border:10px solid #fff;
}
.mosaic-card.large{grid-row:span 2;min-height:470px}
.mosaic-card img{width:100%;height:100%;object-fit:cover}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.stat-card{
  background:#fff;
  border:1px solid rgba(45,106,63,.13);
  border-radius:28px;
  padding:30px;
  box-shadow:var(--soft-shadow);
}
.stat-card strong{font-size:42px;color:var(--gold);display:block;line-height:1}
.feature-section{
  background:
    linear-gradient(135deg,rgba(45,106,63,.9),rgba(58,36,24,.87)),
    url("../images/products/tea-premium.webp") center/cover no-repeat;
  color:#fff;
}
.feature-section h2,.feature-section h3{color:#fff}
.feature-section p{color:rgba(255,255,255,.78)}
.feature-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:36px;align-items:center}
.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.feature-card{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  border-radius:26px;
  padding:25px;
  backdrop-filter:blur(10px);
}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.process-card{
  background:#fff;
  border:1px solid rgba(45,106,63,.13);
  border-radius:28px;
  padding:26px;
  box-shadow:var(--soft-shadow);
}
.process-card span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#edf7ee;color:var(--leaf);font-weight:900;margin-bottom:18px}
.cta-section{padding:90px 0;background:#fff}
.cta-card{
  background:
    linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,250,240,.82)),
    url("../images/products/rice-premium.jpg") center/cover no-repeat;
  border:1px solid rgba(45,106,63,.13);
  border-radius:36px;
  padding:42px;
  box-shadow:var(--shadow);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
}
.cta-card p{max-width:680px}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap}

/* Page hero + forms */
.page-hero{
  position:relative;
  overflow:hidden;
  text-align:center;
  padding:112px 0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.86),rgba(255,250,240,.84)),
    url("../images/products/coffee-tea-hero.jpg") center/cover no-repeat;
}
.page-hero .container{max-width:900px}
.page-hero p{font-size:19px}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:start}
.contact-info,.contact-form{
  background:#fff;
  border:1px solid rgba(45,106,63,.13);
  border-radius:34px;
  padding:34px;
  box-shadow:var(--soft-shadow);
}
.info-card{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:16px;
  background:#fffaf0;
  border:1px solid rgba(45,106,63,.1);
  border-radius:20px;
  margin-top:14px;
}
.info-icon{width:44px;height:44px;display:grid;place-items:center;flex:none;background:#edf7ee;border-radius:16px}
.info-card strong{display:block}.info-card span,.info-card a{font-weight:700;color:var(--muted)}
.contact-form label{display:block;font-weight:850;margin-bottom:16px}
.contact-form input,.contact-form textarea,.contact-form select{
  width:100%;
  border:1px solid rgba(45,106,63,.15);
  border-radius:16px;
  padding:14px 16px;
  font:inherit;
  margin-top:7px;
  background:#fffdfa;
  outline:none;
  transition:.25s;
}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--leaf);box-shadow:0 0 0 5px rgba(45,106,63,.1)}
.form-note{font-size:13px;margin-top:12px}
.map-card{border-radius:34px;overflow:hidden;background:#fff;box-shadow:var(--soft-shadow);border:1px solid rgba(45,106,63,.13)}
.map-card iframe{width:100%;height:380px;border:0;display:block}
.map-caption{padding:18px 22px;font-weight:700;color:var(--muted)}

/* Footer */
.site-footer{
  background:#1a2d22;
  color:rgba(255,255,255,.72);
  padding-top:60px;
}
.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .9fr 1.15fr;gap:34px}
.footer-logo{width:320px;max-width:100%;background:#fff;border-radius:20px;padding:10px 14px;margin-bottom:16px}
.site-footer h4{color:#fff;margin:0 0 15px}
.site-footer a{display:block;color:rgba(255,255,255,.74);margin:9px 0;transition:.2s}
.site-footer a:hover{color:#fff;transform:translateX(3px)}
.footer-button{display:inline-flex!important;background:#fff;color:#1a2d22!important;border-radius:999px;padding:10px 15px;font-weight:900;margin-top:10px!important}
.footer-bottom{margin-top:44px;padding:18px 0;border-top:1px solid rgba(255,255,255,.12);text-align:center}
.footer-bottom p{margin:0;color:rgba(255,255,255,.68)}

/* Animations */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}
.reveal.visible{opacity:1;transform:none}
.delay-1{transition-delay:.12s}.delay-2{transition-delay:.22s}.delay-3{transition-delay:.32s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}

/* Responsive */
@media (max-width:1050px){
  .hero-grid,.split-grid,.feature-grid,.contact-grid{grid-template-columns:1fr}
  .hero-showcase{min-height:470px}
  .category-grid,.product-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .top-strip{display:none}
  .nav-container{height:78px}
  .brand img{height:54px;max-width:220px}
  .nav-toggle{display:block}
  .main-nav{
    position:fixed;
    top:88px;
    left:18px;
    right:18px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    padding:18px;
    border-radius:24px;
    background:rgba(255,255,255,.96);
    box-shadow:var(--shadow);
  }
  .main-nav.open{display:flex}
  .main-nav a{text-align:center}
  .nav-cta{display:none}
  .hero{padding:60px 0 80px;min-height:auto}
  .hero-grid{gap:24px}
  .hero-badges,.stats-grid,.process-grid{grid-template-columns:1fr}
  .hero-showcase{min-height:390px}
  .hero-card.main{width:280px;right:0;top:40px}
  .hero-card.main img{height:205px}
  .hero-card.small{width:150px;left:0;top:10px}
  .hero-card.tiny{width:165px;left:24px;bottom:12px}
  .hero-card.small img,.hero-card.tiny img{height:130px}
  .hero-pill{right:0;bottom:0;font-size:13px}
  .section,.cta-section{padding:70px 0}
  .section-title{display:block}
  .category-grid,.product-grid,.feature-list,.footer-grid{grid-template-columns:1fr}
  .cta-card{display:block;padding:28px}
  .cta-actions{margin-top:22px}
  .image-mosaic{grid-template-columns:1fr}
  .mosaic-card.large{grid-row:auto;min-height:270px}
}
@media (max-width:480px){
  :root{--container:min(100% - 28px,1180px)}
  h1{font-size:40px}
  .hero-copy p,.page-hero p{font-size:16px}
  .hero-actions .btn,.cta-actions .btn{width:100%}
  .product-image{height:220px}
  .contact-info,.contact-form{padding:24px}
}


/* Footer phone/contact inline fix */
.site-footer p a{
  display:inline-block;
  margin:0;
  white-space:nowrap;
  color:rgba(255,255,255,.92);
  font-weight:900;
}
.site-footer p a:hover{
  transform:none;
  color:#fff;
}

.nowrap{white-space:nowrap}
