*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif;color:#1f2937;background:#fff}
:root{--primary:#3aa64a;--accent:#ff7a00;--muted:#f6f7f8;--ink:#111827}
a{color:var(--primary);text-decoration:none}
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #eef0f2;display:flex;align-items:center;justify-content:space-between;padding:10px 18px}
.brand{display:flex;gap:12px;align-items:center}
.logo{width:42px;height:42px;border-radius:10px;object-fit:cover}
.brand h1{font-size:1.1rem;margin:0;color:var(--ink)}
.tag{font-size:.85rem;color:#6b7280;margin:2px 0 0}
.nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.nav a{font-weight:600;padding:8px 10px;border-radius:10px}
.nav .btn-call{background:var(--primary);color:#fff}
.hero{position:relative;min-height:56vh}
.hero-img{width:100%;height:56vh;object-fit:cover;display:block;filter:saturate(1.05)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.5));color:#fff;display:flex;flex-direction:column;justify-content:center;padding:24px 8vw}
.hero h2{font-size:2rem;margin:0 0 8px}
.hero p{max-width:720px}
.hero-ctas{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}
.section{padding:48px 8vw}
.section-title{font-size:1.6rem;margin:0 0 18px;color:var(--ink)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.card{background:var(--muted);padding:18px;border-radius:16px;border:1px solid #e6e8ea}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.gallery a{display:block;border-radius:12px;overflow:hidden;border:1px solid #e8eaec;background:#fff}
.gallery img{width:100%;height:180px;object-fit:cover;display:block;transition:transform .3s ease}
.gallery a:hover img{transform:scale(1.04)}
.grid{display:grid;grid-template-columns:1fr;gap:16px}
.contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form{background:var(--muted);padding:18px;border-radius:16px;border:1px solid #e6e8ea}
.contact-form .row{display:flex;flex-direction:column;margin-bottom:10px}
.contact-form input,.contact-form textarea{border:1px solid #d7dbe0;border-radius:10px;padding:10px;font-size:1rem}
.contact-form button{margin-top:6px}
.list{list-style:none;padding:0;margin:0 0 10px 0}
.map-hint{font-size:.9rem;color:#6b7280}
.btn{display:inline-block;background:var(--primary);color:#fff;padding:10px 14px;border-radius:999px;font-weight:700}
.btn-outline{background:transparent;color:#fff;border:2px solid #fff}
.site-footer{padding:26px 8vw;border-top:1px solid #eef0f2;background:#fff;color:#374151;text-align:center}
/* WhatsApp floating */
.wsp-float{position:fixed;right:18px;bottom:18px;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),#1e7a2d);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.wsp-float:hover{transform:translateY(-2px)}
/* Lightbox */
.lb-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.8);display:none;align-items:center;justify-content:center;padding:20px;z-index:60}
.lb-backdrop img{max-width:92vw;max-height:86vh;border-radius:12px}
.lb-backdrop.active{display:flex}
@media (max-width:800px){
  .hero{min-height:48vh}.hero-img{height:48vh}
  .contact-wrap{grid-template-columns:1fr}
  .nav a{padding:6px 8px}
  .brand h1{font-size:1rem}
}
