: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-name{color:#0b2f6b;font-family:Arial,sans-serif;font-weight:700;font-size:1.2rem}
.brand-social{color:#5a677f;font-size:.78rem}
.brand-img{width:72px;height:72px;object-fit:contain;object-position:center;background:#fff;padding:6px;border:1px solid rgba(15,23,42,.10);border-radius:6px;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}
.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 img{width:22px;height:22px;object-fit:contain;flex:0 0 auto}
.hero-meta-item a{color:inherit;text-decoration:none}.hero-meta-item a:hover{text-decoration:underline}
.hero-lw .hero-copy-wrap{padding:8px 0}
.hero-showcase{padding:18px;position:relative}
.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-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:flex-end;align-items:flex-end;gap:16px;padding-top:14px}
.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}
.navbar-custom{
  background: #0d47a1 !important;
  border-bottom: 0 !important;
  box-shadow: 0 8px 20px rgba(13, 71, 161, 0.22);
}

.navbar-custom .navbar-brand,
.navbar-custom .nav-link,
.navbar-custom .brand-name{
  color: #ffffff !important;
}

.navbar-custom .brand-social{
  color: rgba(255,255,255,.82) !important;
}

.navbar-custom .nav-link{
  font-weight: 600;
}

.navbar-custom .nav-link:hover,
.navbar-custom .nav-link:focus{
  color: #ffffff !important;
  opacity: .88;
}

.navbar-custom .header-cart-btn{
  color: #ffffff !important;
  border-color: rgba(255,255,255,.55) !important;
  background: transparent;
}

.navbar-custom .header-cart-btn:hover,
.navbar-custom .header-cart-btn:focus{
  background: #ffffff !important;
  color: #0d47a1 !important;
  border-color: #ffffff !important;
}

.navbar-custom .navbar-toggler{
  background: rgba(255,255,255,.10);
  border-radius: 10px;
  padding: 6px 10px;
}

.navbar-custom .navbar-toggler-icon{
  filter: brightness(0) invert(1);
}

.navbar-custom .brand-img{
  background: #ffffff;
}

@media (max-width: 991.98px){
  .navbar-custom .navbar-collapse{
    margin-top: 12px;
    padding-top: 10px;
  }

  .navbar-custom .nav-link{
    padding-left: 0;
    padding-right: 0;
  }

  .navbar-custom .header-cart-btn{
    margin-top: 8px;
  }
}
.prod-card{
  border: 1px solid rgba(13,71,161,.10);
  border-radius: 20px;
  box-shadow: 0 8px 18px rgba(2,6,23,.05);
  background: #91b6d8;
  height: 100%;
}
.lead-section{
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.lead-box{
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 28px;
  background: linear-gradient(180deg,#ffffff,#f7fbff);
  box-shadow: 0 14px 32px rgba(2,6,23,.06);
}

.lead-kicker{
  color: #0d47a1;
  font-weight: 800;
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.lead-title{
  font-weight: 800;
  color: #0f172a;
}

.lead-text{
  color: #64748b;
  line-height: 1.7;
  max-width: 560px;
}

.lead-form-card{
  border: 1px solid rgba(13,71,161,.10);
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(2,6,23,.05);
}
.btn-instagram{
  color: #fff;
  border: 0;
  background: linear-gradient(135deg, #833ab4 0%, #c13584 35%, #e1306c 60%, #fd1d1d 82%, #f77737 100%);
  box-shadow: 0 10px 22px rgba(193,53,132,.22);
}

.btn-instagram:hover,
.btn-instagram:focus{
  color: #fff;
  filter: brightness(.96);
}

.btn-facebook{
  color: #fff;
  border: 0;
  background: #1877f2;
  box-shadow: 0 10px 22px rgba(24,119,242,.22);
}

.btn-facebook:hover,
.btn-facebook:focus{
  color: #fff;
  background: #166fe5;
}
@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}}
@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}}
