
:root{--primary:#C00000;--accent:#009846;--text:#111;--bg:#fff;--border:#e5e7eb}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text)}
.container{max-width:1280px;margin:0 auto;padding:0 1rem}
.topbar{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 2px 16px rgba(0,0,0,.03)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;height:150px;gap:1rem}
.logo{height:140px;width:auto;display:block}
.menu-toggle{display:none;background:#fff;border:1px solid var(--border);border-radius:10px;padding:.4rem .6rem;font-weight:700}
.nav a{position:relative;text-decoration:none;color:var(--text);font-weight:600;margin-left:1rem;padding:.2rem .2rem}
.nav a::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--primary);transition:width .2s}
.nav a:hover::after{width:100%}
.hero{position:relative;min-height:68vh;display:flex;align-items:center;color:#fff;background:url('../img/hero.jpg') center/cover no-repeat}
.hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.hero-inner{position:relative;z-index:1;max-width:820px;padding:3rem 0}
.hero h1{font-size:clamp(2rem,4vw,3rem);margin:0 0 .6rem}
.hero p{font-size:clamp(1rem,2vw,1.2rem);color:#eef}
.btn{display:inline-block;padding:.9rem 1.2rem;border-radius:10px;text-decoration:none;font-weight:700;border:2px solid transparent}
.btn-primary{background:var(--primary);color:#fff}
.section{padding:2.5rem 0}
.section.alt{background:#fafafa}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem}
.card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:1.2rem;box-shadow:0 .4rem 1rem rgba(0,0,0,.04)}
.card-ico-svg svg{width:48px;height:48px;margin-bottom:.4rem}
.zone-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1rem}
.zone{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1rem 1.2rem;box-shadow:0 .4rem 1rem rgba(0,0,0,.03)}
.zone h3{margin:.2rem 0 .4rem}
.dot{display:inline-block;width:.8rem;height:.8rem;border-radius:50%;margin-right:.4rem}
.green{background:var(--accent)}
.about-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem}
.info-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1rem 1.2rem;box-shadow:0 .4rem 1rem rgba(0,0,0,.03)}
.values-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem}
.value{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--border);border-radius:12px;padding:.6rem .8rem}
.value svg{width:20px;height:20px}
.secure-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem}
.secure{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1rem 1.2rem;box-shadow:0 .4rem 1rem rgba(0,0,0,.03)}
.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.portfolio-grid figure{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:transform .2s, box-shadow .2s;cursor:pointer}
.portfolio-grid figure:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.08)}
.portfolio-grid img{width:100%;height:220px;object-fit:cover;display:block}
.portfolio-grid figcaption{padding:.7rem 1rem;font-weight:600}
.faq details{background:#fff;border:1px solid var(--border);border-radius:12px;padding:.8rem 1rem;margin:.5rem 0}
.faq summary{cursor:pointer;font-weight:700}
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:1.2rem;margin-top:1rem}
.contact-info{display:grid;gap:.6rem;align-content:start}
.ci{display:flex;align-items:center;gap:.6rem}
.ci svg{width:20px;height:20px;fill:#0a66c2}
.map{width:100%;height:auto;border:1px solid var(--border);border-radius:12px}
.contact-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1rem;box-shadow:0 .4rem 1rem rgba(0,0,0,.03);display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.contact-card label{display:flex;flex-direction:column;font-weight:600}
.contact-card .full{grid-column:1/-1}
.contact-card input,.contact-card select,.contact-card textarea{font:inherit;padding:.78rem;border:1px solid var(--border);border-radius:10px;background:#fff}
.footer{border-top:1px solid var(--border);padding:1rem 0;background:#0b1320;color:#dbe0ea}
.footer-flex{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.foot-left{display:flex;align-items:center;gap:.8rem}
.foot-logo{height:32px}
.foot-nav a{text-decoration:none;color:#dbe0ea;margin-left:1rem}
.foot-nav a:hover{color:#fff}
.whatsapp{position:fixed;right:18px;bottom:18px;width:56px;height:56px;display:grid;place-items:center;background:#25D366;border-radius:50%;box-shadow:0 8px 24px rgba(0,0,0,.18);z-index:60}
.whatsapp svg{width:28px;height:28px;display:block;fill:#fff}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;z-index:80}
.lightbox.open{display:flex}
.lb-back{position:absolute;inset:0}
.lb-content{position:relative;max-width:96vw;max-height:92vh;display:flex;flex-direction:column;gap:.6rem}
.lb-main{display:flex;align-items:center;gap:.6rem}
.lb-main img{max-width:80vw;max-height:70vh;border-radius:10px}
.lb-prev,.lb-next{background:rgba(255,255,255,.15);color:#fff;border:none;border-radius:10px;font-size:2rem;width:44px;height:44px;cursor:pointer}
.lb-close{position:absolute;top:-8px;right:-8px;background:#fff;border:none;border-radius:50%;width:36px;height:36px;font-size:1.2rem;cursor:pointer}
.lb-thumbs{display:flex;gap:.4rem;flex-wrap:wrap;max-width:96vw}
.lb-thumbs img{width:92px;height:72px;object-fit:cover;border:2px solid transparent;border-radius:6px;cursor:pointer}
.lb-thumbs img.active{border-color:#C00000}
.lb-caption{color:#fff;font-weight:600}
@media (max-width: 980px){.contact-grid{grid-template-columns:1fr}.contact-card{grid-template-columns:1fr}}
@media (max-width: 760px){.nav{display:none}.menu-toggle{display:block}.nav.open{display:flex;flex-direction:column;gap:.6rem;position:absolute;right:1rem;top:110px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:.8rem 1rem}.nav.open a{margin:0}.nav-wrap{height:130px}.logo{height:120px}}
