
:root{
  --green:#2e7d32;--green-dark:#185c24;--pink:#c2185b;--cream:#fffaf7;
  --gold:#fbc02d;--ink:#252525;--muted:#6d6d6d;--white:#fff;
  --radius:22px;--shadow:0 16px 45px rgba(30,50,30,.10);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Poppins,Arial,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea{font:inherit}
.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:999;background:#fff;padding:.7rem;border-radius:8px}
header{position:sticky;top:0;z-index:50;background:rgba(255,250,247,.94);backdrop-filter:blur(12px);border-bottom:1px solid #eee}
.nav{max-width:1180px;margin:auto;padding:1rem 1.2rem;display:flex;align-items:center;gap:1.5rem}
.logo{font-family:Georgia,serif;font-size:1.55rem;font-weight:700;color:var(--green);margin-right:auto}.logo span{color:var(--pink)}
.menu{display:flex;list-style:none;gap:1.4rem;margin:0;padding:0;font-weight:600}.menu a:hover,.menu a.active{color:var(--pink)}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:.8rem 1.2rem;background:var(--pink);color:#fff;font-weight:700;cursor:pointer;box-shadow:0 8px 20px rgba(194,24,91,.18)}
.btn.alt{background:var(--green)}.btn.light{background:#fff;color:var(--green);border:1px solid #ddd;box-shadow:none}
.toggle{display:none;border:0;background:none;font-size:1.6rem;cursor:pointer}
.hero{min-height:620px;position:relative;display:grid;place-items:center;overflow:hidden;background:#ddd}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,55,25,.68),rgba(20,55,25,.12))}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-content{position:relative;z-index:1;max-width:1180px;width:100%;padding:5rem 1.2rem;color:#fff}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:800;color:#ffd9e7}
h1{font:700 clamp(2.7rem,6vw,5.5rem)/1.03 Georgia,serif;max-width:760px;margin:.6rem 0 1rem}
.hero p{max-width:650px;font-size:1.15rem}.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem}
section{padding:5rem 1.2rem}.container{max-width:1180px;margin:auto}.section-head{max-width:700px;margin:0 auto 2.5rem;text-align:center}
h2{font:700 clamp(2rem,4vw,3.2rem)/1.1 Georgia,serif;margin:.3rem 0 1rem}h3{margin:.7rem 0 .3rem}
.muted{color:var(--muted)}
.grid{display:grid;gap:1.3rem}.three{grid-template-columns:repeat(3,1fr)}.four{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.card-body{padding:1.25rem}.price{font-weight:800;color:var(--pink);margin-top:.6rem}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.feature img{border-radius:var(--radius);box-shadow:var(--shadow)}
.steps .card{padding:1.5rem}.num{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#e8f4e8;color:var(--green);font-weight:800}
.cta{background:var(--green);color:#fff;border-radius:30px;padding:3rem;text-align:center}.cta h2{color:#fff}
.page-hero{padding:7rem 1.2rem 5rem;background:linear-gradient(135deg,#edf7ed,#fff0f5);text-align:center}.page-hero h1{margin-left:auto;margin-right:auto;color:var(--green-dark)}
.gallery{columns:3 280px;column-gap:1rem}.gallery img{width:100%;margin:0 0 1rem;border-radius:18px;break-inside:avoid;cursor:pointer}
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem}.info{display:grid;gap:1rem}.info-card{background:#fff;padding:1.2rem;border-radius:18px;box-shadow:var(--shadow)}
form{background:#fff;padding:2rem;border-radius:24px;box-shadow:var(--shadow)}label{display:block;font-weight:700;margin:.9rem 0 .35rem}input,textarea{width:100%;border:1px solid #ddd;border-radius:12px;padding:.85rem;background:#fff}textarea{min-height:150px;resize:vertical}

.notice{font-size:.9rem;color:var(--muted);margin-top:1rem}
@media(max-width:850px){.menu{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:1rem 1.2rem;flex-direction:column;box-shadow:0 12px 25px rgba(0,0,0,.08)}.menu.open{display:flex}.toggle{display:block}.nav>.btn{display:none}.three,.four,.feature,.contact,.footer-grid{grid-template-columns:1fr}.hero{min-height:560px}.hero-content{padding-top:3rem}.feature{gap:2rem}}
@media(max-width:520px){section{padding:3.5rem 1rem}.hero-content{padding:3rem 1rem}.hero p{font-size:1rem}.cta{padding:2rem 1.2rem}}

/* Full-width hero image on every internal page */
.page-hero{padding:0 0 4.5rem;overflow:hidden;text-align:center;background:var(--cream)}
.page-hero-image{width:100%;height:auto;overflow:hidden;position:relative}
.page-hero-image:after{display:none}
.page-hero-image img{width:100%;height:auto;object-fit:contain}
.page-hero>.container{padding-top:3.5rem}
.page-hero h1{font-size:clamp(2.6rem,5vw,4.5rem)}
@media(max-width:700px){.page-hero-image{height:260px}.page-hero>.container{padding-top:2.7rem}}




/* Footer sesuai referensi */
.site-footer{
  background:#006b35;
  color:#fff;
  padding:2.2rem 1.2rem 1rem;
}
.site-footer .footer-grid{
  max-width:1180px;
  margin:auto;
  display:grid;
  grid-template-columns:1.25fr 1.1fr 1fr;
  gap:3.5rem;
}
.site-footer .footer-column h3{
  color:#fff;
  font-size:1.55rem;
  font-weight:500;
  margin:0 0 1.9rem;
}
.site-footer .footer-item{
  display:flex;
  align-items:flex-start;
  gap:1rem;
  margin-bottom:1.15rem;
}
.site-footer .footer-icon{
  flex:0 0 32px;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  margin-top:.05rem;
}
.site-footer .footer-icon svg{
  width:31px;
  height:31px;
}
.site-footer .footer-item p{
  margin:0;
  color:#fff;
  font-size:1rem;
  line-height:1.42;
}
.site-footer .footer-contact-item p{
  padding-top:.25rem;
}
.site-footer .footer-email{
  font-size:.78rem !important;
  padding-top:.38rem !important;
}
.site-footer .footer-bottom{
  max-width:none;
  margin:4rem auto 0;
  padding:0;
  border-top:0;
  text-align:center;
  color:#fff;
  font-size:1rem;
}
@media(max-width:850px){
  .site-footer .footer-grid{grid-template-columns:1fr;gap:2rem}
  .site-footer .footer-column h3{margin-bottom:1.2rem}
  .site-footer .footer-bottom{margin-top:2rem}
}

.fade-in{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.fade-in.show{opacity:1;transform:none}


/* global subtle animations */
section{animation:fadeUp .8s ease both;animation-timeline:view();animation-range:entry 10% cover 30%}
.card,.product-card,.gallery-item,.feature-card{transition:transform .35s,box-shadow .35s}
.card:hover,.product-card:hover,.gallery-item:hover,.feature-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 15px 35px rgba(0,0,0,.15)}
img{transition:transform .6s}
.gallery-item:hover img,.product-card:hover img{transform:scale(1.08)}
@keyframes fadeUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
