@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,700;0,9..144,900;1,9..144,300;1,9..144,700;1,9..144,900&display=swap');
:root{--noir:#1A1A1A;--blanc:#FFFFFF;--beige:#FAFAF7;--beige2:#F5F0E8;--border:#E8E4DC;--vert:#6B7C5E;--vert2:#4A6340;--gris:#8C8C8C;--r8:8px;--r12:12px;--r16:16px;--r20:20px;--r24:24px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:var(--beige);color:var(--noir);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}
.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(250,250,247,.97);backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}
.nav-inner{max-width:1280px;margin:0 auto;padding:0 1.5rem;height:64px;display:flex;align-items:center;gap:1rem}
.logo{display:flex;align-items:center;gap:8px}
.logo img{height:32px;width:auto;border-radius:6px}
.logo-text{font-weight:800;font-size:1.05rem;color:var(--noir)}
.logo-text span{color:var(--vert)}
.nav-links{display:flex;gap:2px;margin-left:auto;align-items:center}
.nav-links a{padding:.4rem .8rem;border-radius:var(--r8);font-size:.8rem;font-weight:500;color:rgba(26,26,26,.6);transition:all .15s}
.nav-links a:hover{color:var(--noir);background:var(--beige2)}
.nav-cta{background:var(--noir)!important;color:white!important;border-radius:100px!important;font-weight:700!important;padding:.5rem 1.125rem!important}
.nav-cta:hover{background:#333!important}
.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.75rem 1.5rem;border-radius:100px;font-size:.875rem;font-weight:600;border:none;cursor:pointer;transition:all .2s;text-decoration:none}
.btn-dark{background:var(--noir);color:white}
.btn-dark:hover{background:#333}
.btn-vert{background:var(--vert);color:white}
.btn-vert:hover{background:var(--vert2)}
.btn-outline{background:transparent;color:var(--noir);border:1.5px solid var(--border)}
.btn-outline:hover{border-color:var(--noir)}
.btn-wa{background:#25D366;color:white}
.btn-sm{padding:.5rem 1rem;font-size:.8rem}
.badge{display:inline-flex;align-items:center;padding:.25rem .875rem;border-radius:100px;font-size:.72rem;font-weight:600}
.badge-vert{background:rgba(107,124,94,.1);color:var(--vert)}
.badge-dark{background:var(--noir);color:white}
.chip{padding:.28rem .75rem;border-radius:100px;font-size:.75rem;font-weight:500;border:1.5px solid var(--border);background:transparent;cursor:pointer;color:rgba(26,26,26,.6);transition:all .15s}
.chip:hover,.chip.on{border-color:var(--noir);color:var(--noir);background:var(--noir);color:white}
.chip.on-vert{background:var(--vert);color:white;border-color:var(--vert)}
footer{background:var(--noir);padding:3rem 0}
.footer-inner{max-width:1280px;margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem}
.footer-logo{font-weight:800;font-size:1.1rem;color:white;margin-bottom:.875rem}
.footer-logo span{color:var(--vert)}
.footer-desc{font-size:.82rem;color:rgba(255,255,255,.35);line-height:1.7;margin-bottom:1rem}
.footer-col h4{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.4);margin-bottom:.875rem}
.footer-col a{display:block;font-size:.82rem;color:rgba(255,255,255,.35);margin-bottom:.5rem;transition:color .15s}
.footer-col a:hover{color:white}
.footer-bottom{max-width:1280px;margin:.875rem auto 0;padding:.875rem 1.5rem 0;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
.footer-bottom p{font-size:.72rem;color:rgba(255,255,255,.2)}
.chat-fab{position:fixed;bottom:1.5rem;right:1.5rem;z-index:150}
.chat-btn{width:52px;height:52px;background:var(--noir);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(26,26,26,.25);font-size:1.3rem;position:relative}
.chat-dot{position:absolute;top:-2px;right:-2px;width:12px;height:12px;background:var(--vert);border-radius:50%;border:2px solid var(--beige);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.15)}}
.chat-window{display:none;position:fixed;bottom:5rem;right:1.5rem;width:320px;background:white;border:1px solid var(--border);border-radius:var(--r20);box-shadow:0 16px 48px rgba(26,26,26,.15);overflow:hidden;flex-direction:column;max-height:440px;z-index:149}
.chat-window.open{display:flex}
.chat-head{background:var(--noir);padding:.875rem 1.125rem;display:flex;align-items:center;gap:.625rem}
.chat-av{width:34px;height:34px;background:var(--vert);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}
.chat-name{font-size:.82rem;font-weight:700;color:white}
.chat-status{font-size:.68rem;color:rgba(255,255,255,.35)}
.chat-x{margin-left:auto;background:none;border:none;color:rgba(255,255,255,.3);cursor:pointer;font-size:1.2rem;line-height:1}
.chat-msgs{flex:1;overflow-y:auto;padding:.875rem;display:flex;flex-direction:column;gap:.625rem}
.cmsg p{padding:.5rem .75rem;border-radius:var(--r12);font-size:.8rem;line-height:1.5}
.cmsg.bot p{background:var(--beige);color:var(--noir)}
.cmsg.user{align-self:flex-end}
.cmsg.user p{background:var(--noir);color:white}
.chat-pills{display:flex;gap:.35rem;flex-wrap:wrap;padding:0 .875rem .625rem}
.cpill{padding:.25rem .75rem;border:1px solid var(--border);border-radius:100px;font-size:.72rem;cursor:pointer;color:var(--gris);background:transparent;transition:all .15s}
.cpill:hover{border-color:var(--vert);color:var(--vert)}
.chat-form{display:flex;gap:.4rem;padding:.75rem .875rem;border-top:1px solid var(--border)}
.chat-inp{flex:1;background:var(--beige);border:1px solid var(--border);border-radius:100px;padding:.45rem .875rem;font-size:.8rem;color:var(--noir)}
.chat-inp:focus{outline:none;border-color:var(--vert)}
.chat-send{width:32px;height:32px;background:var(--noir);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:white;flex-shrink:0}
.section-inner{max-width:1280px;margin:0 auto;padding:0 1.5rem}
.reveal{opacity:0;transform:translateY(20px);transition:all .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:900px){.footer-inner{grid-template-columns:1fr 1fr;gap:2rem}.nav-links .nav-hidemd{display:none}}
@media(max-width:600px){.footer-inner{grid-template-columns:1fr}}
