*{margin:0;padding:0;box-sizing:border-box}
:root{
  --green:#1B5E20;
  --gold:#C9A961;
  --burg:#8B4513;
  --cream:#FAF8F3;
  --text:#2D2D2D;
  --muted:#5A5A5A;
  --white:#ffffff;
  --shadow:0 10px 30px rgba(0,0,0,.10);
  --shadow2:0 20px 40px rgba(0,0,0,.18);
  --radius:12px;
  --max:1200px;
  --navH:74px;
}

body{font-family:'Open Sans',sans-serif;line-height:1.6;color:var(--text);overflow-x:hidden;background:var(--white)}
h1,h2,h3{font-family:'Merriweather',serif}
a,button,input,select,textarea{font:inherit}

.container{max-width:var(--max);margin:0 auto;padding:0 20px}

/* Skip link */
.skip-link{position:absolute;left:-999px;top:10px;background:#000;color:#fff;padding:10px 12px;z-index:9999;border-radius:10px}
.skip-link:focus{left:10px}

/* NAVIGATION */
.navbar{background:var(--green);position:fixed;top:0;width:100%;z-index:1000;padding:1rem 0;transition:all .3s ease}
.nav-container{max-width:var(--max);margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;gap:16px}

.logo{cursor:pointer;user-select:none;display:flex;align-items:center;gap:0}
.logo h2{color:var(--cream);font-size:1.8rem;margin-bottom:0;line-height:1.1}
.logo p{color:var(--gold);font-size:.9rem;margin:0}
.logo-img{max-height:50px;width:auto;display:block;transition:transform .3s ease}
.logo:hover .logo-img{transform:scale(1.05)}
.logo:focus-visible{outline:3px solid rgba(212,165,116,.6);outline-offset:3px;border-radius:8px}

.nav-menu{display:flex;list-style:none;gap:2rem;align-items:center}
.nav-menu a{color:var(--cream);text-decoration:none;font-weight:600;transition:color .3s;padding:.35rem .25rem}
.nav-menu a:hover{color:var(--gold)}
.nav-menu a.active{color:var(--gold);border-bottom:2px solid var(--gold)}

.cta-nav{background:var(--gold);color:var(--green);padding:.8rem 1.5rem;text-decoration:none;font-weight:600;border-radius:6px;transition:all .3s;white-space:nowrap}
.cta-nav:hover{background:#bb8a5a;transform:translateY(-2px)}

.hamburger{display:none;flex-direction:column;cursor:pointer;border:0;background:transparent;padding:.5rem;border-radius:10px}
.hamburger:focus-visible{outline:3px solid rgba(212,165,116,.6);outline-offset:3px}
.hamburger span{width:25px;height:3px;background:var(--cream);margin:3px 0;transition:.3s;border-radius:2px}

/* HERO */
.hero{
  background:linear-gradient(rgba(44,85,48,.82),rgba(44,85,48,.82)),
             url('../images/hero-products.jpg');
  background-size:cover;background-position:center;
  min-height:100vh;
  display:flex;align-items:center;text-align:center;color:var(--white);
  padding-top: var(--navH);
}

.hero-content{max-width:920px;margin:0 auto;padding:0 20px}
.hero-content h1{font-size:3.5rem;margin-bottom:1rem;line-height:1.2}
.hero-content h1 span{color:var(--gold)}
.hero-content p{font-size:1.3rem;margin:0 auto 2rem;max-width:680px}

.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.btn-primary,.btn-secondary{padding:1rem 2rem;font-size:1.1rem;font-weight:600;border-radius:6px;text-decoration:none;transition:all .3s;display:inline-block}
.btn-primary{background:var(--gold);color:var(--green)}
.btn-primary:hover{background:#bb8a5a;transform:translateY(-3px)}
.btn-secondary{background:transparent;color:var(--white);border:2px solid var(--white)}
.btn-secondary:hover{background:var(--white);color:var(--green)}

/* TRUST BAR */
.trust-bar{background:var(--cream);padding:2rem 0}
.trust-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;text-align:center}
.trust-item h3{color:var(--green);font-size:1.5rem;margin-bottom:.5rem}
.trust-item p{color:var(--muted)}

/* PAGE HERO SECTIONS */
.about-summary{
  background:linear-gradient(rgba(44,85,48,.85),rgba(44,85,48,.85)),
             url('../images/hero-about.jpg');
  background-size:cover;background-position:center;
  padding:6rem 2rem;color:var(--white);text-align:center;
}
.about-summary h2{color:var(--gold);margin-bottom:1.5rem}
.about-summary p{color:var(--white)}

.products{
  background:linear-gradient(rgba(255,255,255,.95),rgba(255,255,255,.95)),
             url('../images/hero-products.jpg');
  background-size:cover;background-position:center;
}

.services{
  background:linear-gradient(rgba(255,255,255,.95),rgba(255,255,255,.95)),
             url('../images/hero-services.jpg');
  background-size:cover;background-position:center;
}

.cta-section{
  background:linear-gradient(rgba(44,85,48,.88),rgba(44,85,48,.88)),
             url('../images/hero-cta.jpg');
  background-size:cover;background-position:center;
  padding:6rem 2rem;color:var(--white);text-align:center;
}
.cta-section h2{color:var(--gold);margin-bottom:1.5rem}
.cta-section p{color:var(--white);font-size:1.2rem;max-width:700px;margin:0 auto 2rem}

/* SECTIONS */
section{padding:5rem 0}
section h2{font-size:2.5rem;text-align:center;margin-bottom:3rem;color:var(--green)}

/* Anchor offset for fixed nav */
#home,#about,#products,#services,#contact{scroll-margin-top:calc(var(--navH) + 16px)}

/* WHO WE SERVE */
.about-summary,.who-we-serve{background:var(--white)}
.serve-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}
.serve-card{text-align:center;padding:2rem;border-radius:10px;box-shadow:0 5px 20px rgba(0,0,0,.10);transition:transform .3s;background:var(--white)}
.serve-card:hover{transform:translateY(-10px)}
.serve-icon{font-size:4rem;margin-bottom:1rem}
.serve-card h3{color:var(--green);margin-bottom:1rem}
.serve-card p{color:var(--muted)}

/* PRODUCTS */
.products{background:var(--cream)}
.products-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}
.product-card{background:var(--cream);border-radius:15px;overflow:hidden;box-shadow:var(--shadow);transition:all .3s;cursor:pointer;border:1px solid rgba(0,0,0,.06)}
.product-card:hover{transform:translateY(-10px);box-shadow:var(--shadow2)}
.product-image{height:200px;display:flex;align-items:center;justify-content:center;font-size:4rem;background-size:cover !important;background-position:center !important}
.product-card h3{padding:1.3rem 1.5rem .5rem;text-align:center;color:var(--green);font-size:1.4rem}
.product-card p{padding:0 1.5rem 1.5rem;text-align:center;color:var(--muted)}

/* SERVICES */
.services{background:var(--white)}
.services-intro{max-width:900px;margin:0 auto 2.5rem;text-align:center;color:var(--muted);font-size:1.1rem}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.6rem}
.service-card{background:var(--white);border-radius:14px;padding:1.6rem;box-shadow:0 6px 22px rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.06)}
.service-card h3{color:var(--green);margin-bottom:.65rem;font-size:1.25rem}
.service-card p{color:var(--muted)}

.service-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;margin-top:2.2rem}
.meta{background:var(--cream);border:1px solid rgba(0,0,0,.06);border-radius:14px;padding:1.2rem}
.meta strong{display:block;color:var(--green);margin-bottom:.35rem}
.meta span{color:var(--muted)}

/* CTA SECTION */
.cta-section{background:linear-gradient(135deg,var(--green),#3a663d);color:var(--white);text-align:center}
.cta-section h2{color:var(--white);font-size:2.8rem}
.cta-section p{max-width:820px;margin:0 auto 2rem;color:rgba(255,255,255,.92);font-size:1.1rem}
.btn-large{font-size:1.2rem;padding:1.1rem 2.6rem}

/* CONTACT */
.contact{background:var(--cream)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.contact-info h3{color:var(--green);margin-bottom:1.2rem}
.contact-item{margin-bottom:1.2rem}
.contact-item strong{color:var(--green);display:block;margin-bottom:.25rem}
.contact-item a{color:var(--text);text-decoration:none}
.contact-item a:hover{text-decoration:underline}

.contact-card{background:var(--white);border-radius:14px;padding:1.6rem;box-shadow:0 10px 30px rgba(0,0,0,.10);border:1px solid rgba(0,0,0,.06)}

.contact-form input,.contact-form select,.contact-form textarea{
  width:100%;padding:1rem;margin-bottom:1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;background:#fff
}
.contact-form textarea{height:120px;resize:vertical}

.hint{font-size:.9rem;color:var(--muted);margin-top:-.5rem;margin-bottom:1rem}

.contact-form button{
  width:100%;background:var(--gold);color:var(--green);border:none;padding:1.15rem;
  font-size:1.1rem;font-weight:700;border-radius:8px;cursor:pointer;transition:all .3s
}
.contact-form button:hover{background:#bb8a5a}

.form-status{margin-top:1rem;font-weight:700}
.form-status.ok{color:#1f7a3b}
.form-status.bad{color:#b93a2f}

/* FOOTER */
footer{background:var(--green);color:var(--cream);text-align:center;padding:2rem 0}
footer a{color:var(--gold);text-decoration:none}
footer a:hover{text-decoration:underline}

/* Animations (scroll reveal) */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease, transform .8s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* FORM VALIDATION */
.error{border-color:#e74c3c !important}
.success{border-color:#27ae60 !important}

/* MOBILE RESPONSIVE */
@media (max-width: 1024px){
  .hero-content h1{font-size:3rem}
}

@media (max-width: 768px){
  .hamburger{display:flex}
  .nav-menu{
    position:fixed;left:-100%;top:70px;flex-direction:column;background-color:var(--green);
    width:100%;text-align:center;transition:.3s;box-shadow:0 10px 27px rgba(0,0,0,.12);padding:2rem 0;gap:1rem
  }
  .nav-menu.active{left:0}
  .cta-nav{display:none}
  .hero-content h1{font-size:2.5rem}
  .hero-buttons{flex-direction:column;align-items:center}
  .trust-container{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr;gap:2rem}
  .products-grid,.serve-grid{grid-template-columns:1fr}
}

@media (max-width: 480px){
  .hero-content h1{font-size:2rem}
  section{padding:3rem 0}
  section h2{font-size:2.05rem}
  .cta-section h2{font-size:2.15rem}
  .logo-img{max-height:40px}
}

/* Print-friendly */
@media print{
  .navbar,.hamburger,.cta-nav{display:none !important}
  .hero{min-height:auto;padding:2rem 0;background:#fff;color:#000}
  .btn-primary,.btn-secondary,button{display:none !important}
  section{padding:1.25rem 0}
  a{color:#000;text-decoration:none}
}

