:root {
  --vc: #0E5A3A;
  --vh: #4CAF50;
  --vcl: #8BC34A;
  --gg: #4A4A4A;
  --gcl: #E6E6E6;
  --w: #ffffff;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Inter',sans-serif; color:var(--gg); background:var(--w); overflow-x:hidden; }

/* NAV */
nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:var(--vc);
  display:flex; align-items:center; justify-content:space-between;
  padding:0 5%; height:110px;
  box-shadow:0 2px 20px rgba(0,0,0,0.2);
}
.nav-logo { display:flex; align-items:center; gap:10px; text-decoration:none; }
.nav-logo-text { font-family:'Montserrat',sans-serif; color:white; font-size:0.65rem; font-weight:600; letter-spacing:4px; text-transform:uppercase; line-height:1.2; }
.nav-logo-text span { display:block; font-size:1.4rem; font-weight:900; letter-spacing:2px; }
.nav-links { display:flex; align-items:center; gap:2.5rem; list-style:none; }
.nav-links a { color:rgba(255,255,255,0.85); text-decoration:none; font-family:'Montserrat',sans-serif; font-weight:600; font-size:0.8rem; letter-spacing:1.5px; text-transform:uppercase; transition:color 0.2s; }
.nav-links a:hover, .nav-links a.active { color:var(--vcl); }
.lang-switcher { display:flex; gap:6px; align-items:center; }
.lang-btn { background:none; border:1px solid rgba(255,255,255,0.3); color:rgba(255,255,255,0.7); font-family:'Montserrat',sans-serif; font-size:0.7rem; font-weight:700; padding:4px 8px; border-radius:3px; cursor:pointer; transition:all 0.2s; letter-spacing:1px; }
.lang-btn.active, .lang-btn:hover { background:var(--vcl); border-color:var(--vcl); color:white; }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:5px; }
.hamburger span { display:block; width:24px; height:2px; background:white; transition:all 0.3s; }

/* COMMON SECTION */
.page-section { padding:5rem 7%; }
.section-eyebrow { font-family:'Montserrat',sans-serif; font-size:0.7rem; font-weight:700; letter-spacing:4px; color:var(--vh); text-transform:uppercase; margin-bottom:0.75rem; }
.section-title { font-family:'Montserrat',sans-serif; font-size:clamp(1.8rem,3vw,2.5rem); font-weight:900; color:var(--vc); line-height:1.1; margin-bottom:1rem; }
.section-divider { width:50px; height:3px; background:var(--vcl); margin-bottom:2rem; }

/* BUTTONS */
.btn-primary { background:var(--vcl); color:white; padding:14px 32px; border-radius:4px; font-family:'Montserrat',sans-serif; font-weight:700; font-size:0.8rem; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; transition:all 0.2s; border:none; cursor:pointer; display:inline-block; }
.btn-primary:hover { background:#7cb53a; transform:translateY(-2px); }
.btn-outline { background:transparent; color:white; padding:14px 32px; border-radius:4px; font-family:'Montserrat',sans-serif; font-weight:700; font-size:0.8rem; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; border:2px solid rgba(255,255,255,0.4); transition:all 0.2s; display:inline-block; }
.btn-outline:hover { border-color:white; background:rgba(255,255,255,0.1); }
.btn-green-outline { background:transparent; color:var(--vc); padding:10px 22px; border-radius:4px; font-family:'Montserrat',sans-serif; font-weight:700; font-size:0.75rem; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; border:2px solid var(--vc); transition:all 0.2s; display:inline-block; cursor:pointer; }
.btn-green-outline:hover { background:var(--vc); color:white; }

/* FOOTER */
footer { background:#0a3d27; color:rgba(255,255,255,0.5); padding:2.5rem 7%; }
.footer-inner { display:grid; grid-template-columns:1fr 1fr 1fr; gap:2rem; align-items:start; }
.footer-brand .nav-logo-text { display:block; }
.footer-brand p { font-size:0.8rem; margin-top:0.75rem; line-height:1.6; }
.footer-links h4 { font-family:'Montserrat',sans-serif; font-size:0.65rem; letter-spacing:3px; text-transform:uppercase; color:var(--vcl); margin-bottom:1rem; }
.footer-links ul { list-style:none; }
.footer-links ul li { margin-bottom:0.5rem; }
.footer-links ul li a { color:rgba(255,255,255,0.5); text-decoration:none; font-size:0.8rem; transition:color 0.2s; }
.footer-links ul li a:hover { color:white; }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.1); margin-top:2rem; padding-top:1.5rem; text-align:center; font-size:0.75rem; }
.footer-bottom strong { color:rgba(255,255,255,0.8); }

/* WHATSAPP FLOAT */
.wsp-float { position:fixed; bottom:28px; right:28px; z-index:999; width:56px; height:56px; background:#25D366; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 20px rgba(37,211,102,0.4); transition:transform 0.2s; text-decoration:none; }
.wsp-float:hover { transform:scale(1.1); }
.wsp-float svg { width:30px; height:30px; fill:white; }

/* POPUP */
.popup-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.6); z-index:2000; align-items:center; justify-content:center; backdrop-filter:blur(3px); }
.popup-overlay.active { display:flex; }
.popup { background:white; width:90%; max-width:720px; max-height:85vh; overflow-y:auto; border-radius:2px; position:relative; display:grid; grid-template-columns:1fr 1fr; }
.popup-img { background:linear-gradient(135deg,#d5e8d4 0%,var(--vcl) 100%); display:flex; align-items:center; justify-content:center; min-height:300px; }
.popup-img svg { width:65%; opacity:0.6; }
.popup-body { padding:2.5rem; }
.popup-close { position:absolute; top:1rem; right:1rem; background:var(--gg); color:white; border:none; width:32px; height:32px; border-radius:50%; cursor:pointer; font-size:1.1rem; display:flex; align-items:center; justify-content:center; z-index:1; transition:background 0.2s; }
.popup-close:hover { background:#222; }
.popup-tag { font-family:'Montserrat',sans-serif; font-size:0.65rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--vh); margin-bottom:0.5rem; }
.popup-title { font-family:'Montserrat',sans-serif; font-size:1.4rem; font-weight:900; color:var(--vc); margin-bottom:0.5rem; }
.popup-desc { font-size:0.875rem; line-height:1.7; color:var(--gg); opacity:0.8; margin-bottom:1.5rem; }
.popup-specs { border-top:1px solid var(--gcl); padding-top:1.5rem; }
.popup-specs h5 { font-family:'Montserrat',sans-serif; font-size:0.7rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--gg); opacity:0.5; margin-bottom:1rem; }
.spec-row { display:flex; justify-content:space-between; padding:0.6rem 0; border-bottom:1px solid var(--gcl); font-size:0.8rem; }
.spec-row:last-child { border-bottom:none; }
.spec-key { color:var(--gg); opacity:0.6; font-weight:500; }
.spec-val { font-family:'Montserrat',sans-serif; font-weight:700; color:var(--vc); }
.popup-actions { display:flex; gap:1rem; margin-top:1.5rem; flex-wrap:wrap; }

/* RESPONSIVE */
@media (max-width:900px) {
  .hamburger { display:flex; }
  .nav-links { display:none; position:absolute; top:70px; left:0; right:0; background:var(--vc); flex-direction:column; padding:1.5rem; gap:1.5rem; box-shadow:0 5px 15px rgba(0,0,0,0.2); }
  .nav-links.open { display:flex; }
  .lang-switcher.desktop { display:none; }
  .nav-links .lang-switcher { display:flex; }
  .popup { grid-template-columns:1fr; }
  .popup-img { min-height:200px; }
  .footer-inner { grid-template-columns:1fr; }
  .page-section { padding:3.5rem 5%; }
}

/* Phone protection */
.phone-protect::before { content: attr(data-display); }
