*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:#15171a;background:#fff;line-height:1.6}.container{width:min(1160px,92%);margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid #e9eef3}.nav{height:82px;display:flex;align-items:center;justify-content:space-between}.brand img{width:205px;height:auto;display:block}.nav-links{display:flex;align-items:center;gap:28px}.nav-links a{color:#1a2027;text-decoration:none;font-weight:600;font-size:14px}.nav-links a:hover{color:#0876d1}.nav-cta{background:#0876d1!important;color:#fff!important;padding:12px 18px;border-radius:10px}.menu-toggle{display:none;background:none;border:0;font-size:28px}.hero{position:relative;min-height:690px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(115deg,#071827,#0c3d67)}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 75% 30%,rgba(19,141,235,.4),transparent 35%),radial-gradient(circle at 90% 90%,rgba(8,118,209,.5),transparent 35%)}.hero-content{position:relative;z-index:1}.hero-copy{max-width:730px;color:#fff;padding:80px 0}.eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:1.7px;color:#0876d1;margin-bottom:14px}.hero .eyebrow{color:#7bc8ff}.hero h1{font-size:clamp(45px,6vw,76px);line-height:1.02;letter-spacing:-3px;margin:0 0 25px;font-weight:800}.hero h1 span{color:#35a9ff}.hero p{font-size:19px;color:#d9e8f4;max-width:660px;margin-bottom:32px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;border-radius:10px;padding:14px 22px;font:inherit;font-weight:800;cursor:pointer}.btn-primary{background:#0876d1;color:#fff}.btn-primary:hover{background:#0564b3}.btn-light{background:#fff;color:#0876d1}.hero-points{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;font-size:13px;color:#cfe5f5}.trust-strip{background:#0876d1;color:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}.trust-grid div{padding:21px;border-right:1px solid rgba(255,255,255,.18)}.trust-grid div:last-child{border:0}.trust-grid strong{display:block;font-size:24px}.trust-grid span{font-size:12px;opacity:.9}.section{padding:100px 0}.section-heading{max-width:750px;margin-bottom:42px}.section-heading h2,.about-card h2,.showcase h2,.cta-box h2{font-size:clamp(32px,4vw,50px);line-height:1.1;letter-spacing:-1.8px;margin:0 0 15px}.section-heading p{color:#69737d;margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{padding:30px;border:1px solid #e7edf2;border-radius:16px;background:#fff;transition:.25s}.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(10,50,80,.1)}.icon{width:50px;height:50px;border-radius:12px;background:#e9f5ff;color:#0876d1;display:grid;place-items:center;font-size:24px;font-weight:800}.service-card h3{margin:20px 0 8px;font-size:21px}.service-card p{color:#68727d;font-size:14px;margin:0 0 17px}.service-card a{color:#0876d1;text-decoration:none;font-weight:800;font-size:13px}.catalog-section{background:#f6f9fc}.catalog-heading{display:flex;justify-content:space-between;align-items:end;max-width:none;gap:30px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:25px}.filter{border:1px solid #dce5ec;background:#fff;padding:10px 15px;border-radius:999px;cursor:pointer;font-weight:700;color:#4c5965}.filter.active,.filter:hover{background:#0876d1;color:#fff;border-color:#0876d1}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.product{background:#fff;border:1px solid #e6edf3;border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.product-image{height:220px;background:linear-gradient(135deg,#dcecf8,#f7fafc);display:grid;place-items:center;color:#0876d1;font-weight:800;font-size:15px;position:relative}.product-image::before{content:"FOTO DEL PRODUCTO";border:1px dashed #9cc8e8;padding:25px 35px;border-radius:10px}.product-body{padding:22px}.tag{font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:800;color:#0876d1}.product h3{margin:6px 0 8px;font-size:20px}.product p{margin:0;color:#6b7680;font-size:14px}.product-footer{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.product-footer a{font-size:13px;font-weight:800;color:#0876d1;text-decoration:none}.showcase{padding:100px 0;background:linear-gradient(125deg,#0876d1,#073d69);color:#fff}.showcase .eyebrow{color:#9cdbff}.showcase-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.showcase p{color:#dcecf8}.check-list{display:grid;gap:10px;margin:25px 0 32px;font-weight:600}.showcase-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mini-card{padding:25px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);border-radius:15px;min-height:170px}.mini-card.big{grid-column:span 2;min-height:180px}.mini-card span{font-size:12px;opacity:.7}.mini-card strong{display:block;font-size:22px;margin:10px 0 5px}.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.about-card p{color:#69737d}.stats{display:grid;grid-template-columns:1fr 1fr;gap:15px}.stats div{border:1px solid #e5ecf2;border-radius:15px;padding:25px}.stats strong{display:block;color:#0876d1;font-size:28px}.stats span{font-weight:700;font-size:14px}.cta-section{background:#f6f9fc;padding:90px 0}.cta-box{background:#fff;border:1px solid #e2eaf0;border-radius:22px;padding:55px;display:grid;grid-template-columns:1fr 1fr;gap:60px;box-shadow:0 20px 55px rgba(10,50,80,.07)}.contact-form{display:grid;gap:12px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #dce5ec;border-radius:10px;padding:13px 14px;font:inherit;outline:none;background:#fff}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#0876d1;box-shadow:0 0 0 3px rgba(8,118,209,.1)}.contact-form small{color:#7a858e}.contact-form button{justify-self:start}footer{background:#081522;color:#b9c7d2;padding:55px 0 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:35px;padding-bottom:45px}.footer-logo{width:200px;filter:brightness(0) invert(1);opacity:.9}.footer-grid strong{display:block;color:#fff;margin-bottom:12px}.footer-grid a,.footer-grid span{display:block;color:#b9c7d2;text-decoration:none;font-size:13px;margin:7px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 4%;text-align:center;font-size:12px}.floating-contact{position:fixed;right:22px;bottom:22px;z-index:15;background:#0876d1;color:#fff;text-decoration:none;padding:13px 18px;border-radius:999px;font-weight:800;box-shadow:0 10px 30px rgba(8,118,209,.35)}@media(max-width:800px){.nav{height:70px}.brand img{width:170px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:18px 4%;border-bottom:1px solid #e6edf3;flex-direction:column;align-items:stretch;gap:13px}.nav-links.open{display:flex}.nav-cta{text-align:center}.hero{min-height:620px}.hero h1{letter-spacing:-2px}.service-grid,.catalog-grid{grid-template-columns:1fr 1fr}.showcase-grid,.about-grid,.cta-box{grid-template-columns:1fr;gap:35px}.footer-grid{grid-template-columns:1fr 1fr}.catalog-heading{display:block}.catalog-heading .btn{margin-top:20px}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid div:nth-child(2){border-right:0}.trust-grid div{border-bottom:1px solid rgba(255,255,255,.18)}}@media(max-width:520px){.section{padding:72px 0}.hero-copy{padding:55px 0}.hero h1{font-size:43px}.hero p{font-size:16px}.hero-points{display:grid;gap:7px}.service-grid,.catalog-grid,.stats,.footer-grid{grid-template-columns:1fr}.cta-box{padding:32px 22px}.showcase-cards{grid-template-columns:1fr}.mini-card.big{grid-column:auto}.floating-contact{right:14px;bottom:14px}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid div{border-right:0}.brand img{width:150px}}
/* Galería del catálogo */

.product-gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.product-gallery img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
  border-radius: 6px;
}

/* Subcategoría */

.subcategory {
  display: block;
  margin-top: 5px;
  font-size: 13px;
  font-weight: 600;
  color: #6b7280;
}

/* Botón ver todas las fotos */

.view-gallery {
  border: none;
  background: transparent;
  padding: 0;
  margin-top: 12px;
  color: #0876d1;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

.view-gallery:hover {
  text-decoration: underline;
}

@media (max-width: 600px) {

  .product-gallery {
    grid-template-columns: 1fr 1fr;
  }

  .product-gallery img {
    height: 140px;
  }

}
/* =========================================================
   GALERÍA PROFESIONAL DE PRODUCTOS
   ========================================================= */

.photo-gallery-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px;
}

.photo-gallery-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.88);
  backdrop-filter: blur(6px);
}

.photo-gallery-content {
  position: relative;
  z-index: 2;
  width: min(1100px, 100%);
  max-height: 94vh;
  overflow-y: auto;
  background: #ffffff;
  border-radius: 18px;
  padding: 28px;
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.35);
}

/* Cabecera */

.photo-gallery-header {
  text-align: center;
  margin-bottom: 20px;
}

.photo-gallery-header span {
  display: block;
  margin-bottom: 5px;
  font-size: 13px;
  font-weight: 700;
  color: #0876d1;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.photo-gallery-header h2 {
  margin: 0;
  font-size: 26px;
  line-height: 1.2;
  color: #111827;
}

.photo-gallery-counter {
  margin-top: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #6b7280;
}

/* Botón cerrar */

.photo-gallery-close {
  position: absolute;
  top: 15px;
  right: 15px;

  width: 40px;
  height: 40px;

  border: none;
  border-radius: 50%;

  background: #f3f4f6;
  color: #111827;

  font-size: 28px;
  line-height: 1;

  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;

  transition: 0.2s ease;
}

.photo-gallery-close:hover {
  background: #111827;
  color: #ffffff;
}

/* Visor principal */

.photo-gallery-viewer {
  position: relative;

  width: 100%;
  height: min(60vh, 600px);

  display: flex;
  align-items: center;
  justify-content: center;

  background: #f3f4f6;
  border-radius: 14px;

  overflow: hidden;
}

.gallery-main-image {
    width: 100%;
    height: 70vh;
    object-fit: contain;
    display: block;
    margin: 0 auto;
    border-radius: 12px;
}
.gallery-main-video {
    width: 100%;
    height: 70vh;
    object-fit: contain;
    display: block;
    margin: 0 auto;
    border-radius: 12px;
}

/* Flechas */

.gallery-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);

  z-index: 3;

  width: 48px;
  height: 48px;

  border: none;
  border-radius: 50%;

  background: rgba(17, 24, 39, 0.75);
  color: #ffffff;

  font-size: 36px;
  line-height: 1;

  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;

  transition: 0.2s ease;
}

.gallery-arrow:hover {
  background: rgba(17, 24, 39, 0.95);
  transform: translateY(-50%) scale(1.05);
}

.gallery-prev {
  left: 15px;
}

.gallery-next {
  right: 15px;
}

/* Miniaturas */

.photo-gallery-thumbnails {
  display: flex;
  gap: 10px;

  margin-top: 15px;

  overflow-x: auto;

  padding-bottom: 5px;
}

.gallery-thumbnail {
  flex: 0 0 85px;

  width: 85px;
  height: 65px;

  padding: 0;

  border: 2px solid transparent;
  border-radius: 8px;

  background: #f3f4f6;

  overflow: hidden;

  cursor: pointer;

  opacity: 0.65;

  transition: 0.2s ease;
}

.gallery-thumbnail:hover {
  opacity: 1;
}

.gallery-thumbnail.active {
  border-color: #0876d1;
  opacity: 1;
}

.gallery-thumbnail img {
  width: 100%;
  height: 100%;

  object-fit: cover;

  display: block;
}

/* MÓVIL */

@media (max-width: 700px) {

  .photo-gallery-modal {
    padding: 10px;
  }

  .photo-gallery-content {
    padding: 18px;
    border-radius: 14px;
    max-height: 96vh;
  }

  .photo-gallery-header {
    padding: 0 35px;
  }

  .photo-gallery-header h2 {
    font-size: 21px;
  }

  .photo-gallery-viewer {
    height: 55vh;
    min-height: 300px;
  }

  .gallery-arrow {
    width: 42px;
    height: 42px;
    font-size: 30px;
  }

  .gallery-prev {
    left: 8px;
  }

  .gallery-next {
    right: 8px;
  }

  .gallery-thumbnail {
    flex-basis: 70px;
    width: 70px;
    height: 55px;
  }

}
.ubicacion-foto {
  margin-top: 15px;
  width: 100%;
  max-width: 280px;
  height: 160px;
  overflow: hidden;
  border-radius: 12px;
}

.footer-location {
  width: 200px;
  height: 180px;
  object-fit: cover;
  display: block;
  border-radius: 8px;
}