:root{
  --blue:#0d47a1; --blue2:#082f6b; --line:rgba(15,23,42,.10); --soft:#f6f8fc;
  --whats:#25d366; --shadow:0 10px 22px rgba(2,6,23,.06); --shadow-lg:0 18px 40px rgba(2,6,23,.10);
}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:#0b1020}
.bg-soft{background:var(--soft)} .text-white-75{color:rgba(255,255,255,.78)!important}
.fw-extrabold{font-family:"Plus Jakarta Sans",Inter,system-ui,sans-serif;font-weight:800}
.blur-nav{backdrop-filter:blur(14px);background:rgba(255,255,255,.88)!important}
.brand-img{
  width:88px;height:88px;object-fit:contain;object-position:center;background:#fff;padding:6px;
  border:1px solid rgba(15,23,42,.10);border-radius:16px;display:block;flex:0 0 auto;
}
@media (max-width:768px){.brand-img{width:64px;height:64px;padding:4px;border-radius:12px}}

.hero{position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:url('../img/fachada-hero.png') center/cover no-repeat;transform:scale(1.06);animation:heroZoom 18s ease-in-out infinite alternate}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(100deg, rgba(7,20,43,.88), rgba(7,20,43,.58) 52%, rgba(7,20,43,.18)),radial-gradient(circle at 18% 26%, rgba(29,78,216,.20), transparent 42%)}
.hero-title{max-width:18ch;letter-spacing:-.02em}
.hero-lead{max-width:56ch}
.py-lg-6{padding-top:5rem!important;padding-bottom:5rem!important}

.badge-soft{border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.14)!important;color:#fff!important}
.glass{background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.68);border-radius:24px;box-shadow:var(--shadow-lg)}
.card-soft{border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
.brand-logo-card{width:100%;height:120px;object-fit:contain;border-radius:14px;background:#fff}
.shadow-soft{box-shadow:var(--shadow)} .gallery-hero{height:360px;object-fit:cover}
.gallery-img{height:210px;object-fit:cover} .gallery-img-lg{height:260px;object-fit:cover}
.catalog-img{height:180px;object-fit:cover} .map-embed{width:100%;height:100%;min-height:360px;border:0}
.btn-filter{border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:800}
.btn-filter.active{border-color:rgba(13,71,161,.22);background:#eef5ff;color:var(--blue)}
.whats-float{
  position:fixed;right:16px;bottom:16px;z-index:1200;display:flex;align-items:center;gap:8px;
  min-height:52px;padding:10px 14px;border-radius:999px;background:var(--whats);color:#fff;
  box-shadow:0 16px 32px rgba(37,211,102,.30);transition:transform .2s ease, box-shadow .2s ease;text-decoration:none;
}
.whats-float:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(37,211,102,.38)} .whats-icon{font-size:1.15rem}

.hero-meta-item{display:inline-flex;align-items:center;gap:8px}
.hero-meta-item a{color:inherit;text-decoration:none}.hero-meta-item a:hover{text-decoration:underline}

.hero-lw .hero-shell{position:relative}
.hero-lw .hero-copy-wrap{padding:8px 0}
.hero-showcase{padding:18px;position:relative}
.hero-showcase-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.hero-showcase-label{display:inline-flex;padding:8px 12px;border-radius:999px;background:#eef5ff;color:var(--blue);font-size:.8rem;font-weight:800}
.hero-showcase-note{font-size:.85rem;color:#5a677f}
.hero-showcase-slider{position:relative}
.hero-showcase-slider .mini-slide{display:none;position:relative;border-radius:20px;overflow:hidden;min-height:360px}
.hero-showcase-slider .mini-slide.active{display:block;animation:fadeIn .45s ease}
.hero-showcase-slider .mini-slide-bg{position:absolute;inset:0;background-image:var(--bg);background-size:cover;background-position:center;transform:scale(1.03)}
.hero-showcase-slider .mini-slide-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.10) 35%, rgba(8,17,34,.58))}
.hero-slide-content{position:absolute;left:22px;right:22px;bottom:22px;z-index:2;color:#fff}
.hero-slide-badge{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.20);font-size:.78rem;font-weight:800;margin-bottom:10px}
.hero-slide-title{font-family:"Plus Jakarta Sans",Inter,sans-serif;font-size:2rem;line-height:1.05;margin:0 0 8px}
.hero-slide-text{font-size:1rem;line-height:1.45;max-width:28ch;margin:0;color:rgba(255,255,255,.88)}
.hero-showcase-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding-top:14px}
.hero-mini-card{display:grid;gap:4px}
.hero-mini-card strong{font-size:.96rem;color:#0b1020}
.hero-mini-card span{font-size:.9rem;color:#5a677f;max-width:34ch}
.hero-strip{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
}
.hero-strip-item{
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px);
  border-radius:18px;padding:16px 18px;color:#fff;
}
.hero-strip-item strong{display:block;font-size:.96rem;margin-bottom:4px}
.hero-strip-item span{display:block;font-size:.9rem;color:rgba(255,255,255,.80)}

.mini-dots{display:flex;gap:8px}
.mini-dots button{width:9px;height:9px;border-radius:999px;border:0;background:#cbd5e1;cursor:pointer;transition:transform .2s ease, background .2s ease}
.mini-dots button.active{background:var(--blue);transform:scale(1.1)}

.scroll-hint{display:grid;place-items:center;opacity:.9}
.scroll-hint span{width:22px;height:34px;border:2px solid rgba(255,255,255,.8);border-radius:999px;display:block;position:relative}
.scroll-hint span::after{content:"";width:4px;height:8px;border-radius:999px;background:#fff;position:absolute;top:6px;left:50%;transform:translateX(-50%);animation:scrollDot 1.5s infinite}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease, transform .65s ease}.reveal.in{opacity:1;transform:translateY(0)}
.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}
@media (min-width:992px){.col-lg-2-4{flex:0 0 auto;width:20%}}
@media (max-width:991.98px){
  .gallery-hero{height:260px}.gallery-img{height:160px}.gallery-img-lg{height:200px}
  .hero-showcase-slider .mini-slide{min-height:320px}
  .hero-strip{grid-template-columns:1fr}
}
@media (max-width:768px){
  .whats-float{width:54px;justify-content:center;padding:10px}.whats-label{display:none!important}
  .hero-title{max-width:none;font-size:clamp(2rem, 8vw, 2.6rem)}
  .hero-showcase{padding:14px}
  .hero-showcase-slider .mini-slide{min-height:260px}
  .hero-slide-title{font-size:1.6rem}
  .hero-showcase-bottom{flex-direction:column;align-items:flex-start}
}
@keyframes heroZoom{from{transform:scale(1.03)}to{transform:scale(1.10)}}
@keyframes scrollDot{0%{transform:translateX(-50%) translateY(0);opacity:1}70%{transform:translateX(-50%) translateY(10px);opacity:.3}100%{transform:translateX(-50%) translateY(0);opacity:1}}
@keyframes fadeIn{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}
