:root{--blue:#0c4f8f;--blue-dark:#072f58;--blue-soft:#eaf3fb;--red:#d9272e;--ink:#122033;--muted:#617084;--line:#dce5ee;--white:#fff;--surface:#f7f9fc;--shadow:0 24px 70px rgba(12,48,85,.13);--radius:24px;--container:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}.section{padding:110px 0}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:16px;top:16px;background:#fff;padding:10px 14px;z-index:1000}.site-header{position:sticky;top:0;z-index:100;background:#daa771;border-bottom:1px solid rgba(73,45,20,.16);box-shadow:0 8px 28px rgba(54,35,18,.08)}.nav-wrap{min-height:102px;display:grid;grid-template-columns:220px minmax(0,1fr) 138px;align-items:center;gap:28px}.logo{display:flex;align-items:center}.logo img{width:205px;height:auto}.main-nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;column-gap:28px;row-gap:14px;font-size:.76rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.main-nav a{position:relative;color:#15110e;white-space:nowrap;transition:color .25s}.main-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--blue-dark);transform:scaleX(0);transform-origin:center;transition:transform .25s}.main-nav a:hover,.main-nav a:focus-visible{color:var(--blue-dark)}.main-nav a:hover::after,.main-nav a:focus-visible::after{transform:scaleX(1)}.partner-logo{display:flex;justify-content:flex-end;align-items:center}.partner-logo img{width:158px;max-height:116px;object-fit:contain}.menu-toggle{display:none;border:0;background:transparent;padding:8px}.menu-toggle span{display:block;width:26px;height:2px;background:#17120e;margin:6px 0}
.hero{position:relative;overflow:hidden;padding:76px 0 96px;background:linear-gradient(135deg,#f6f9fd 0%,#eef5fb 55%,#fff 100%)}.hero:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(217,39,46,.10),transparent 68%);left:-180px;top:-180px}.hero-grid{position:relative;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:72px}.eyebrow{margin:0 0 16px;color:var(--blue);text-transform:uppercase;letter-spacing:.13em;font-weight:800;font-size:.78rem}.eyebrow.light{color:#bfdfff}.hero h1,.section h2,.cta h2{margin:0;line-height:1.08;letter-spacing:-.045em}.hero h1{font-size:clamp(2.8rem,5vw,5.3rem);max-width:850px}.hero-lead{font-size:1.15rem;color:var(--muted);max-width:680px;margin:28px 0 34px}.hero-actions,.cta-actions{display:flex;flex-wrap:wrap;gap:14px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border-radius:999px;font-weight:800;transition:.25s;border:1px solid transparent}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--red);color:#fff;box-shadow:0 12px 28px rgba(217,39,46,.25)}.btn-ghost{border-color:#b9c7d6;background:#fff}.btn-light{background:#fff;color:var(--blue-dark)}.btn-outline-light{border-color:rgba(255,255,255,.45);color:#fff}.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}.hero-proof div{padding-top:18px;border-top:1px solid var(--line)}.hero-proof strong{display:block;font-size:.95rem;line-height:1.35;color:var(--blue);font-weight:800}.hero-proof span{font-size:.82rem;color:var(--muted)}.hero-card{position:relative}.hero-card img{width:100%;height:620px;object-fit:cover;border-radius:32px;box-shadow:var(--shadow)}.hero-card-badge{position:absolute;left:-28px;bottom:32px;max-width:320px;background:#fff;border-radius:16px;padding:15px 18px;box-shadow:0 16px 45px rgba(8,35,62,.18);font-size:.84rem;font-weight:700;display:flex;gap:10px;align-items:center}.status-dot{width:10px;height:10px;border-radius:50%;background:#2dbb71;box-shadow:0 0 0 6px rgba(45,187,113,.13)}.intro-grid,.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.section h2{font-size:clamp(2.2rem,4vw,4rem)}.section-copy>p:not(.eyebrow),.detail-copy>p:not(.eyebrow){color:var(--muted);font-size:1.03rem}.text-link{display:inline-flex;gap:10px;margin-top:18px;color:var(--blue);font-weight:800}.intro-visual{position:relative}.intro-visual>img{width:100%;height:560px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.experience-card{position:absolute;right:-20px;bottom:-24px;background:var(--blue-dark);color:#fff;padding:22px 26px;border-radius:18px;max-width:240px}.experience-card strong{display:block;font-size:1.65rem}.experience-card span{font-size:.82rem;color:#d9e7f5}.brand-word{white-space:nowrap}.brand-h{color:var(--red)}.brand-soluciones{color:var(--blue)}.soft-bg{background:var(--surface)}.section-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:end;margin-bottom:50px}.section-heading.compact{margin-bottom:34px}.section-heading>p{color:var(--muted);margin:0}.solutions-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}.solution-card{grid-column:span 4;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:.3s}.solution-card.featured{grid-column:span 8;display:grid;grid-template-columns:1.1fr .9fr}.solution-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.solution-card img{width:100%;height:250px;object-fit:cover}.solution-card.featured img{height:100%;min-height:380px}.card-content{padding:28px}.card-content>span{display:inline-block;color:var(--red);font-size:.76rem;font-weight:800;letter-spacing:.12em}.card-content h3{font-size:1.35rem;margin:9px 0;font-weight:800}.card-content p{color:var(--muted);font-size:.93rem}.card-content a{color:var(--blue);font-weight:800;font-size:.9rem}.process-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.process-grid li{display:flex;gap:22px;padding:36px 28px 18px 0;border-right:1px solid var(--line)}.process-grid li+li{padding-left:28px}.process-grid li:last-child{border-right:0}.process-grid>li>span{font-size:.78rem;color:var(--red);font-weight:800}.process-grid h3{margin:0 0 8px}.process-grid p{margin:0;color:var(--muted);font-size:.92rem}.detail-section{background:linear-gradient(180deg,#fff,#f5f8fb)}.check-list{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-list li:before{content:"✓";color:var(--red);font-weight:900;margin-right:10px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.gallery-grid img{width:100%;height:260px;object-fit:cover;border-radius:18px;background:#fff}.gallery-grid img:nth-child(2),.gallery-grid img:nth-child(3){height:310px}.cta{padding:72px 0;background:linear-gradient(135deg,var(--blue-dark),var(--blue))}.cta-inner{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center;color:#fff}.cta h2{font-size:clamp(2.2rem,4vw,4rem)}.cta p:not(.eyebrow){color:#d7e7f5;max-width:700px}.site-footer{background:#f2f2f2;color:var(--ink);padding:34px 0;border-top:1px solid #e1e1e1}.footer-simple{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}.footer-logo img{width:180px;filter:none}.footer-contact{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.footer-contact a{font-weight:700;color:var(--blue)}.footer-simple>p{margin:0;color:#707070;font-size:.8rem}
.whatsapp-float{position:fixed;right:22px;bottom:22px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.2);z-index:90}
@media(max-width:1100px){.nav-wrap{grid-template-columns:185px minmax(0,1fr) 105px;gap:18px}.logo img{width:178px}.partner-logo img{width:96px}.main-nav{column-gap:18px;font-size:.69rem;letter-spacing:.13em}}@media(max-width:980px){.nav-wrap{min-height:82px;display:flex}.partner-logo{margin-left:auto}.partner-logo img{width:84px;max-height:58px}.main-nav{position:fixed;inset:82px 0 auto 0;background:#daa771;padding:28px 24px 34px;display:none;flex-direction:column;align-items:center;gap:22px;border-bottom:1px solid rgba(73,45,20,.16);box-shadow:0 18px 35px rgba(0,0,0,.12);font-size:.78rem}.main-nav.is-open{display:flex}.main-nav a::after{bottom:-8px}.menu-toggle{display:block;order:3}.hero-grid,.intro-grid,.detail-grid,.section-heading,.cta-inner{grid-template-columns:1fr}.hero-grid{gap:45px}.hero-card img{height:470px}.hero-card-badge{left:16px}.intro-grid,.detail-grid{gap:48px}.solution-card,.solution-card.featured{grid-column:span 6;display:block}.solution-card.featured img{height:250px;min-height:0}.process-grid{grid-template-columns:1fr}.process-grid li,.process-grid li+li{border-right:0;border-bottom:1px solid var(--line);padding:26px 0}.cta-actions{justify-content:flex-start}.footer-simple{justify-content:center;text-align:center}}
@media(max-width:640px){.container{width:min(calc(100% - 28px),var(--container))}.section{padding:76px 0}.nav-wrap{min-height:72px;gap:12px}.logo img{width:148px}.partner-logo img{width:68px}.main-nav{inset:72px 0 auto 0}.hero{padding:46px 0 70px}.hero h1{font-size:clamp(2.35rem,12vw,3.3rem)}.hero-lead{font-size:1rem}.hero-actions .btn{width:100%}.hero-proof{grid-template-columns:1fr;gap:10px}.hero-proof div{display:flex;align-items:baseline;gap:12px}.hero-card img{height:360px;border-radius:22px}.hero-card-badge{position:relative;left:auto;bottom:auto;margin:-28px 14px 0}.intro-visual>img{height:380px}.experience-card{right:10px;bottom:-30px}.section-heading{gap:20px}.solutions-grid{display:block}.solution-card,.solution-card.featured{margin-bottom:18px}.solution-card img,.solution-card.featured img{height:230px}.check-list{grid-template-columns:1fr}.gallery-grid{gap:10px}.gallery-grid img,.gallery-grid img:nth-child(2),.gallery-grid img:nth-child(3){height:180px;border-radius:12px}.cta{padding:58px 0}.cta-actions .btn{width:100%}.footer-simple{flex-direction:column;gap:16px}.footer-contact{flex-direction:column;gap:4px}.footer-contact span[aria-hidden="true"]{display:none}}


/* =========================================================
   PÁGINA: CAJAS DE SEGURIDAD
========================================================= */

.page-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(72px, 9vw, 130px) 0;
  background:
    radial-gradient(circle at 90% 10%, rgba(218, 167, 113, .25), transparent 35%),
    linear-gradient(135deg, #f8fafc 0%, #eef3f8 100%);
}

.page-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
  align-items: center;
  gap: clamp(42px, 7vw, 100px);
}

.page-hero__copy {
  max-width: 680px;
}

.page-hero h1 {
  max-width: 720px;
  margin: 18px 0 24px;
  font-size: clamp(2.55rem, 5.6vw, 5.3rem);
  line-height: .98;
  letter-spacing: -.055em;
}

.page-hero__copy > p {
  max-width: 620px;
  color: #536174;
  font-size: clamp(1.04rem, 1.5vw, 1.25rem);
  line-height: 1.8;
}

.page-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.page-hero__visual {
  position: relative;
  min-height: 540px;
  border-radius: 30px 0 0 30px;
  overflow: hidden;
  box-shadow: 0 28px 70px rgba(18, 35, 54, .18);
}

.page-hero__visual img {
  width: 100%;
  height: 100%;
  min-height: 540px;
  object-fit: cover;
}

.product-intro__grid {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  gap: clamp(40px, 8vw, 120px);
}

.product-intro h2 {
  margin-top: 16px;
  font-size: clamp(2rem, 4vw, 3.7rem);
  line-height: 1.08;
  letter-spacing: -.04em;
}

.product-intro__copy {
  display: grid;
  gap: 20px;
}

.product-intro__copy p {
  margin: 0;
  color: #526174;
  font-size: 1.04rem;
  line-height: 1.85;
}

.section-soft {
  background: #f5f7fa;
}

.section-heading {
  max-width: 760px;
  margin-bottom: clamp(48px, 7vw, 88px);
}

.section-heading--center {
  margin-inline: auto;
  text-align: center;
}

.section-heading h2 {
  margin: 16px 0;
  font-size: clamp(2.1rem, 4vw, 3.8rem);
  line-height: 1.08;
  letter-spacing: -.045em;
}

.section-heading p {
  color: #5d6b7b;
  font-size: 1.05rem;
  line-height: 1.75;
}

/* =========================================================
   BLOQUES DE PRODUCTOS
========================================================= */

.product-feature {
  display: grid;
  grid-template-columns:
    minmax(480px, 1.08fr)
    minmax(0, .92fr);

  align-items: center;
  gap: clamp(50px, 7vw, 110px);

  padding: clamp(60px, 8vw, 100px) 0;

  border-top: 1px solid rgba(27, 51, 77, .12);
}

.product-feature--reverse {
  grid-template-columns:
    minmax(0, .92fr)
    minmax(480px, 1.08fr);
}

.product-feature--reverse .product-feature__visual {
  order: 2;
}

.product-feature--reverse .product-feature__content {
  order: 1;
}

/* Contenedor de la imagen */

.product-feature__visual {
  position: sticky;
  top: 110px;

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

  width: 100%;
  min-height: 600px;
  padding:clamp(10px,1.5vw,18px);

  overflow: hidden;

  background:
    radial-gradient(
      circle at center,
      rgba(255, 255, 255, 1) 0%,
      rgba(240, 243, 247, 1) 100%
    );

  border: 1px solid rgba(27, 51, 77, .08);
  border-radius: 28px;

  box-shadow:
    0 22px 55px rgba(20, 39, 58, .10);
}

/* Imagen del producto completa, sin recortes */

.product-feature__visual img {
  display: block;

  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: 540px;

  object-fit: contain;
  object-position: center;

  transition:
    transform .45s ease,
    filter .45s ease;
}

.product-feature__visual:hover img {
  transform: scale(1.025);
}
.feature-list,
.spec-card ul,
.management-card ul,
.safe-security__card ul {
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.feature-list li,
.spec-card li,
.management-card li,
.safe-security__card li {
  position: relative;
  padding: 10px 0 10px 28px;
  color: #46576a;
  line-height: 1.65;
}

.feature-list li::before,
.spec-card li::before,
.management-card li::before,
.safe-security__card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 20px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #daa771;
  box-shadow: 0 0 0 5px rgba(218, 167, 113, .18);
}

.model-options {
  margin-top: 36px;
}

.model-options h4,
.spec-card h4 {
  margin-bottom: 18px;
  font-size: 1.05rem;
}

.model-options__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.model-options__grid > div {
  padding: 20px;
  border: 1px solid rgba(27, 51, 77, .1);
  border-radius: 16px;
  background: #fff;
}

.model-options__grid strong {
  display: block;
  margin-bottom: 8px;
  color: #193653;
}

.model-options__grid p {
  margin: 0;
  color: #667486;
  font-size: .91rem;
  line-height: 1.6;
}

.spec-card,
.management-card {
  margin-top: 28px;
  padding: clamp(22px, 3vw, 32px);
  border-radius: 20px;
  background: #173957;
  color: #fff;
}

.spec-card li,
.management-card li {
  color: rgba(255, 255, 255, .84);
}

.management-card > span {
  display: block;
  margin-bottom: 8px;
  color: #e6b984;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.management-card > strong {
  display: block;
  font-size: 1.25rem;
}

.management-card p {
  margin-bottom: 0;
  color: rgba(255, 255, 255, .8);
  line-height: 1.7;
}

.safe-management__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(400px, .85fr);
  align-items: center;
  gap: clamp(45px, 8vw, 110px);
}

.safe-management__content h2 {
  margin: 16px 0 26px;
  font-size: clamp(2.1rem, 4vw, 3.9rem);
  line-height: 1.06;
  letter-spacing: -.045em;
}

.safe-management__content p {
  color: #536174;
  line-height: 1.8;
}

.safe-management__visual {
  min-height: 580px;
  overflow: hidden;
  border-radius: 26px;
}

.safe-management__visual img {
  width: 100%;
  height: 100%;
  min-height: 580px;
  object-fit: cover;
}

.section-dark {
  background: #112d47;
  color: #fff;
}

.section-dark .section-heading p {
  color: rgba(255, 255, 255, .72);
}

.section-tag--light {
  background: rgba(255, 255, 255, .1);
  color: #efc696;
}

.safe-security__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.safe-security__card {
  min-height: 290px;
  padding: clamp(24px, 3vw, 34px);
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: 20px;
  background: rgba(255, 255, 255, .055);
}

.safe-security__card > span {
  display: block;
  margin-bottom: 38px;
  color: #e0ae78;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .15em;
}

.safe-security__card h3 {
  font-size: 1.18rem;
}

.safe-security__card p,
.safe-security__card li {
  color: rgba(255, 255, 255, .72);
  font-size: .94rem;
  line-height: 1.7;
}


@media (max-width: 1050px) {
  .page-hero__grid,
  .product-feature,
  .safe-management__grid {
    grid-template-columns: 1fr;
  }

  .page-hero__visual,
  .page-hero__visual img {
    min-height: 460px;
  }

  .product-feature--reverse .product-feature__visual,
  .product-feature--reverse .product-feature__content {
    order: initial;
  }

  .product-feature__visual {
    position: relative;
    top: auto;
    min-height: 440px;
  }

  .product-feature__visual img {
    min-height: 440px;
  }

  .safe-security__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 760px) {
  .page-hero {
    padding-top: 54px;
  }

  .page-hero__visual,
  .page-hero__visual img {
    min-height: 340px;
  }

  .product-intro__grid,
  .model-options__grid,
  .safe-security__grid,
  

  .product-feature {
    padding-block: 42px;
  }

  .product-feature__visual,
  .product-feature__visual img,
  .safe-management__visual,
  .safe-management__visual img {
    min-height: 340px;
  }

  .safe-security__card {
    min-height: auto;
  }

  
}


/* =========================================================
   BANNER FINAL REUTILIZABLE
========================================================= */

.detail-banner {
  padding-top: clamp(70px, 8vw, 110px);
  padding-bottom: clamp(70px, 8vw, 110px);
}

.detail-banner__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, .35fr);
  align-items: center;
  gap: clamp(40px, 7vw, 90px);
  padding: clamp(38px, 5vw, 68px);
  border: 1px solid rgba(27, 51, 77, .1);
  border-radius: 26px;
  background:
    linear-gradient(
      120deg,
      rgba(218, 167, 113, .18),
      transparent 58%
    ),
    #f8fafc;
}

.detail-banner__content {
  max-width: 780px;
}

.detail-banner__tag,
.detail-banner .section-tag {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: .28em;
  margin-bottom: 0;
  padding: 0;
  background: transparent;
  color: var(--ink);
  font-size: clamp(1.15rem, 1.8vw, 1.55rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .035em;
  text-transform: none;
}

.detail-banner .brand-text {
  display: inline-flex;
  align-items: baseline;
  white-space: nowrap;
  font-size: 1.12em;
  font-weight: 800;
  letter-spacing: .02em;
}

.detail-banner .brand-h {
  color: var(--red);
}

.detail-banner .brand-soluciones {
  color: var(--blue);
}

.detail-banner h2 {
  max-width: 780px;
  margin: 18px 0 16px;
  font-size: clamp(1.7rem, 2.8vw, 2.55rem);
  line-height: 1.16;
  letter-spacing: -.035em;
}

.detail-banner__content > p,
.detail-banner__grid > div:first-child > p {
  max-width: 720px;
  margin: 0;
  color: #5b697a;
  font-size: 1rem;
  line-height: 1.8;
}

.detail-banner-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 180px;
  padding-left: clamp(25px, 4vw, 55px);
  text-align: center;
  border-left: 1px solid rgba(20, 35, 55, .12);
}

.brand-number {
  color: var(--blue);
  font-size: clamp(3.3rem, 5vw, 5rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.06em;
}

.detail-banner-brand p {
  max-width: 220px;
  margin: 14px 0 0;
  color: #5b697a;
  font-size: .94rem;
  font-weight: 600;
  line-height: 1.6;
}

@media (max-width: 760px) {
  .detail-banner {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .detail-banner__grid {
    grid-template-columns: 1fr;
    gap: 34px;
    padding: 34px 24px;
  }

  .detail-banner-brand {
    align-items: flex-start;
    min-height: auto;
    padding: 28px 0 0;
    text-align: left;
    border-left: 0;
    border-top: 1px solid rgba(20, 35, 55, .12);
  }

  .detail-banner-brand p {
    max-width: 100%;
  }
}




/* =========================================================
   PÁGINA: AHORRADORES DE ENERGÍA
========================================================= */

.page-hero--energy {
  background:
    radial-gradient(circle at 88% 12%, rgba(218, 167, 113, .22), transparent 34%),
    linear-gradient(135deg, #f8fafc 0%, #eef5f2 100%);
}

.page-hero__visual--product {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(20px, 3vw, 42px);
  background:
    radial-gradient(circle at center, #fff 0%, #edf2f5 100%);
}

.page-hero__visual--product img {
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: 500px;
  object-fit: contain;
  object-position: center;
}

.energy-benefits__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.energy-benefit {
  min-height: 290px;
  padding: clamp(24px, 3vw, 34px);
  border: 1px solid rgba(27, 51, 77, .1);
  border-radius: 20px;
  background: #fff;
  transition:
    transform .3s ease,
    box-shadow .3s ease;
}

.energy-benefit:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 45px rgba(20, 39, 58, .09);
}

.energy-benefit__number {
  display: block;
  margin-bottom: 38px;
  color: #b4773f;
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .16em;
}

.energy-benefit h3 {
  margin: 0 0 14px;
  font-size: 1.16rem;
}

.energy-benefit p {
  margin: 0;
  color: #5d6b7b;
  font-size: .94rem;
  line-height: 1.75;
}

.energy-model-list {
  display: grid;
  gap: 15px;
  margin-top: 30px;
}

.energy-model-item {
  padding: 22px 24px;
  border: 1px solid rgba(27, 51, 77, .1);
  border-radius: 17px;
  background: #fff;
}

.energy-model-item strong {
  display: block;
  margin-bottom: 8px;
  color: #173957;
  font-size: 1.02rem;
}

.energy-model-item p {
  margin: 0;
  color: #5d6b7b;
  line-height: 1.7;
}

.energy-events {
  margin-top: 30px;
  padding-top: 28px;
  border-top: 1px solid rgba(27, 51, 77, .12);
}

.energy-events h4 {
  margin: 0;
  font-size: 1.08rem;
}

.energy-feature .product-feature__visual {
  background:
    radial-gradient(circle at center, #fff 0%, #eef3f5 100%);
}

@media (max-width: 1050px) {
  .energy-benefits__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .energy-benefits__grid {
    grid-template-columns: 1fr;
  }

  .energy-benefit {
    min-height: auto;
  }

  .energy-benefit__number {
    margin-bottom: 24px;
  }

  .page-hero__visual--product {
    min-height: 340px;
    padding: 18px;
  }

  .page-hero__visual--product img {
    max-height: 300px;
  }
}


/* =========================================================
   RESPONSIVE: INTRO AHORRADORES DE ENERGÍA
========================================================= */

@media (max-width: 950px) {
  .product-intro__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .product-intro__grid > div:first-child {
    max-width: 720px;
  }

  .product-intro h2 {
    max-width: 760px;
    margin: 12px 0 0;
    font-size: clamp(2rem, 5vw, 3.25rem);
  }

  .product-intro__copy {
    max-width: 820px;
    gap: 18px;
  }
}

@media (max-width: 640px) {
  .product-intro {
    padding-top: 68px;
    padding-bottom: 68px;
  }

  .product-intro__grid {
    gap: 26px;
  }

  .product-intro h2 {
    font-size: clamp(1.85rem, 9vw, 2.55rem);
    line-height: 1.12;
    letter-spacing: -.035em;
  }

  .product-intro__copy {
    gap: 16px;
  }

  .product-intro__copy p {
    font-size: .98rem;
    line-height: 1.75;
  }
}

@media (max-width: 420px) {
  .product-intro {
    padding-top: 58px;
    padding-bottom: 58px;
  }

  .product-intro h2 {
    font-size: 1.9rem;
  }

  .product-intro__copy p {
    font-size: .95rem;
    line-height: 1.7;
  }
}


/* =========================================================
   PÁGINA: CERRADURAS
========================================================= */

.page-hero--locks{background:radial-gradient(circle at 88% 12%,rgba(218,167,113,.22),transparent 34%),linear-gradient(135deg,#f8fafc 0%,#eef3f8 100%)}
.lock-overview__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.lock-overview__card{min-height:280px;padding:clamp(24px,3vw,34px);border:1px solid rgba(27,51,77,.1);border-radius:20px;background:#fff;transition:transform .3s ease,box-shadow .3s ease}.lock-overview__card:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(20,39,58,.09)}.lock-overview__card>span{display:block;margin-bottom:38px;color:#b4773f;font-size:.8rem;font-weight:800;letter-spacing:.16em}.lock-overview__card h3{margin:0 0 14px;font-size:1.16rem}.lock-overview__card p{margin:0;color:#5d6b7b;font-size:.94rem;line-height:1.75}
.lock-options{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:30px}.lock-options>div{padding:22px;border:1px solid rgba(27,51,77,.1);border-radius:17px;background:#fff}.lock-options strong{display:block;margin-bottom:8px;color:#173957}.lock-options p{margin:0;color:#5d6b7b;font-size:.92rem;line-height:1.7}
.technical-panels{display:grid;gap:15px;margin-top:30px}.technical-panel{padding:24px;border:1px solid rgba(27,51,77,.1);border-radius:18px;background:#fff}.technical-panel h4{margin:0;color:#173957;font-size:1.04rem}.technical-panel .feature-list{margin-top:15px}
.product-video{margin-top:30px}.product-video__ratio{position:relative;overflow:hidden;width:100%;aspect-ratio:16/9;border-radius:20px;background:linear-gradient(135deg,#173957,#0c4f8f);box-shadow:0 18px 45px rgba(20,39,58,.12)}.product-video__ratio iframe{width:100%;height:100%;border:0}.product-video__placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:20px;color:rgba(255,255,255,.82);font-size:.92rem;font-weight:700;text-align:center}.product-video p{margin:12px 0 0;color:#667486;font-size:.88rem}
.technology-feature{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);align-items:center;gap:clamp(45px,7vw,100px);padding:clamp(55px,7vw,90px) 0;border-top:1px solid rgba(27,51,77,.12)}.technology-feature--reverse{grid-template-columns:minmax(420px,1.1fr) minmax(0,.9fr)}.technology-feature--reverse .technology-feature__copy{order:2}.technology-feature--reverse .technology-feature__media{order:1}.technology-feature__copy h3{margin:0 0 20px;font-size:clamp(1.9rem,3vw,3rem);line-height:1.1;letter-spacing:-.035em}.technology-feature__copy>p{color:#536174;line-height:1.8}.technology-feature__media>img{width:100%;min-height:420px;max-height:520px;padding:clamp(12px,2vw,24px);object-fit:contain;border:1px solid rgba(27,51,77,.08);border-radius:26px;background:radial-gradient(circle at center,#fff 0%,#eef3f5 100%);box-shadow:0 22px 55px rgba(20,39,58,.09)}
.web-manager__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,.9fr);align-items:center;gap:clamp(45px,8vw,110px)}.web-manager__content h2{margin:16px 0 24px;font-size:clamp(2.1rem,4vw,3.9rem);line-height:1.06;letter-spacing:-.045em}.web-manager__content>p{color:#536174;line-height:1.8}.web-manager__visual{display:flex;align-items:center;justify-content:center;min-height:540px;padding:clamp(12px,2vw,24px);overflow:hidden;border:1px solid rgba(27,51,77,.08);border-radius:26px;background:radial-gradient(circle at center,#fff 0%,#eef3f5 100%);box-shadow:0 22px 55px rgba(20,39,58,.09)}.web-manager__visual img{width:100%;height:100%;max-height:500px;object-fit:contain}
.operation-equipment__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.operation-card{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:26px;min-height:260px;padding:24px;border:1px solid rgba(27,51,77,.1);border-radius:22px;background:#fff}.operation-card img{width:100%;height:190px;padding:8px;object-fit:contain;border-radius:15px;background:#f1f4f7}.operation-card span{color:#b4773f;font-size:.8rem;font-weight:800;letter-spacing:.16em}.operation-card h3{margin:8px 0 12px;font-size:1.18rem}.operation-card p{margin:0;color:#5d6b7b;font-size:.93rem;line-height:1.7}
@media(max-width:1050px){.lock-overview__grid{grid-template-columns:repeat(2,1fr)}.technology-feature,.technology-feature--reverse,.web-manager__grid{grid-template-columns:1fr}.technology-feature--reverse .technology-feature__copy,.technology-feature--reverse .technology-feature__media{order:initial}.operation-equipment__grid{grid-template-columns:1fr}}
@media(max-width:760px){.technology-feature{padding-block:48px}.technology-feature__media>img{min-height:340px}.web-manager__visual{min-height:380px}.operation-card{grid-template-columns:140px minmax(0,1fr)}.operation-card img{height:160px}}
@media(max-width:640px){.lock-overview__grid,.lock-options{grid-template-columns:1fr}.lock-overview__card{min-height:auto}.lock-overview__card>span{margin-bottom:24px}.technology-feature__media>img{min-height:300px;max-height:360px}.operation-card{grid-template-columns:1fr}.operation-card img{height:220px}.product-video__ratio{border-radius:16px}}



/* Tarjetas de proximidad */
.page-hero--cards .page-hero__visual img{
  object-fit:contain;
  background:#f7f4ef;
}

.credential-feature{
  margin-bottom:clamp(70px,9vw,130px);
}

.credential-feature:last-child{
  margin-bottom:0;
}

.card-personalization__grid{
  display:grid;
  grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);
  gap:clamp(40px,7vw,100px);
  align-items:center;
}

.card-personalization__content h2{
  margin:14px 0 20px;
}

.card-personalization__gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.card-personalization__gallery img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:contain;
  padding:18px;
  background:#f7f4ef;
  border-radius:22px;
}

.availability-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  margin-top:44px;
}

.availability-card{
  padding:28px;
  background:#fff;
  border:1px solid rgba(20,37,63,.08);
  border-radius:20px;
  box-shadow:0 16px 40px rgba(20,37,63,.06);
}

.availability-card > span{
  display:inline-flex;
  margin-bottom:26px;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.12em;
  color:#b46d38;
}

.availability-card h3{
  margin:0 0 12px;
}

.availability-card p{
  margin:0;
}

@media (max-width:980px){
  .card-personalization__grid{
    grid-template-columns:1fr;
  }

  .availability-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:640px){
  .card-personalization__gallery,
  .availability-grid{
    grid-template-columns:1fr;
  }

  .card-personalization__gallery img{
    aspect-ratio:4/3;
  }
}



/* Control de acceso */
.access-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:44px 0}.access-gallery-grid img{width:100%;height:360px;object-fit:cover;border-radius:24px;box-shadow:0 18px 45px rgba(15,23,42,.12)}.locker-copy{margin-top:36px}.access-dual-image{display:grid!important;grid-template-columns:1fr 1fr;gap:16px}.access-dual-image img{width:100%;height:100%;max-height:520px;object-fit:contain}.container-narrow{max-width:980px;margin-left:auto;margin-right:auto}.page-hero--access .page-hero__visual img{object-position:center}.access-products .product-feature,.igate-section .product-feature{margin-bottom:clamp(64px,9vw,120px)}
@media(max-width:900px){.access-gallery-grid{grid-template-columns:1fr}.access-gallery-grid img{height:auto;max-height:480px}.access-dual-image{grid-template-columns:1fr 1fr}.access-dual-image img{max-height:400px}}
@media(max-width:560px){.access-dual-image{grid-template-columns:1fr}.access-gallery-grid{gap:16px}}



/* =========================================================
   CONTACTO
   ========================================================= */

.contact-page {
  position: relative;
  overflow: hidden;
  padding: clamp(5.5rem, 9vw, 8rem) 0;
  background:
    radial-gradient(circle at top right, rgba(218, 167, 113, 0.2), transparent 34%),
    linear-gradient(180deg, #fbfaf8 0%, #ffffff 100%);
}

.contact-page::before {
  content: "";
  position: absolute;
  top: 8%;
  left: -8rem;
  width: 20rem;
  height: 20rem;
  border: 1px solid rgba(17, 41, 73, 0.08);
  border-radius: 50%;
}

.contact-page__heading {
  width: min(780px, 100%);
  margin: 0 auto clamp(3rem, 6vw, 5rem);
  text-align: center;
}

.contact-page__heading h1 {
  margin: 0.75rem 0 1rem;
  color: #112949;
  font-size: clamp(3rem, 7vw, 5.6rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.contact-page__heading p {
  max-width: 720px;
  margin: 0 auto;
  color: #5d6673;
  font-size: clamp(1rem, 1.5vw, 1.1rem);
  line-height: 1.8;
}

.contact-page__grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.35fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: stretch;
}

.contact-info-card,
.contact-form-card {
  border-radius: 28px;
  box-shadow: 0 24px 70px rgba(17, 41, 73, 0.09);
}

.contact-info-card {
  position: relative;
  overflow: hidden;
  padding: clamp(2rem, 4vw, 3.25rem);
  background: #112949;
  color: #ffffff;
}

.contact-info-card::after {
  content: "";
  position: absolute;
  right: -7rem;
  bottom: -8rem;
  width: 20rem;
  height: 20rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 50%;
}

.contact-info-card__eyebrow {
  position: relative;
  z-index: 1;
  display: inline-flex;
  margin-bottom: 1rem;
  color: #e7bb8d;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.contact-info-card h2 {
  position: relative;
  z-index: 1;
  max-width: 440px;
  margin: 0 0 1rem;
  font-size: clamp(2rem, 3.6vw, 3rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.contact-info-card > p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.75;
}

.contact-info-list {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 0.85rem;
  margin-top: clamp(2rem, 4vw, 3rem);
}

.contact-info-item {
  display: flex;
  gap: 1rem;
  align-items: center;
  padding: 1rem 0;
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.contact-info-item:last-child {
  border-bottom: 0;
}

a.contact-info-item {
  transition: transform 0.25s ease, opacity 0.25s ease;
}

a.contact-info-item:hover {
  transform: translateX(6px);
}

.contact-info-item__icon {
  display: grid;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 14px;
  background: rgba(218, 167, 113, 0.14);
  color: #e7bb8d;
  font-size: 1rem;
}

.contact-info-item span:last-child {
  min-width: 0;
}

.contact-info-item small,
.contact-info-item strong {
  display: block;
}

.contact-info-item small {
  margin-bottom: 0.25rem;
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.78rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.contact-info-item strong {
  overflow-wrap: anywhere;
  font-size: 0.98rem;
  line-height: 1.45;
}

.contact-form-card {
  padding: clamp(2rem, 4vw, 3.5rem);
  background: #ffffff;
  border: 1px solid rgba(17, 41, 73, 0.08);
}

.contact-form-card__heading {
  margin-bottom: 2rem;
}

.contact-form-card__heading h2 {
  margin: 0.65rem 0 0.75rem;
  color: #112949;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.12;
  letter-spacing: -0.035em;
}

.contact-form-card__heading p {
  margin: 0;
  color: #687280;
  line-height: 1.7;
}

.contact-form {
  display: grid;
  gap: 1.25rem;
}

.contact-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.form-field {
  display: grid;
  gap: 0.55rem;
}

.form-field label {
  color: #233b5b;
  font-size: 0.86rem;
  font-weight: 700;
}

.form-field input,
.form-field textarea {
  width: 100%;
  min-height: 54px;
  padding: 0.95rem 1rem;
  color: #17283f;
  font: inherit;
  border: 1px solid #dfe4e9;
  border-radius: 14px;
  outline: none;
  background: #fbfcfd;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
}

.form-field textarea {
  min-height: 155px;
  resize: vertical;
}

.form-field input::placeholder,
.form-field textarea::placeholder {
  color: #9ca5af;
}

.form-field input:focus,
.form-field textarea:focus {
  border-color: #daa771;
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(218, 167, 113, 0.15);
}

.contact-form__footer {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  justify-content: space-between;
  margin-top: 0.35rem;
}

.contact-form__footer p {
  max-width: 410px;
  margin: 0;
  color: #7a8491;
  font-size: 0.78rem;
  line-height: 1.6;
}

.contact-form__button {
  display: inline-flex;
  flex: 0 0 auto;
  gap: 0.75rem;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0.9rem 1.45rem;
  color: #ffffff;
  font: inherit;
  font-weight: 800;
  border: 0;
  border-radius: 14px;
  cursor: pointer;
  background: #112949;
  box-shadow: 0 14px 30px rgba(17, 41, 73, 0.18);
  transition:
    transform 0.25s ease,
    background 0.25s ease,
    box-shadow 0.25s ease;
}

.contact-form__button:hover {
  transform: translateY(-2px);
  background: #1a3a64;
  box-shadow: 0 18px 36px rgba(17, 41, 73, 0.24);
}

@media (max-width: 900px) {
  .contact-page__grid {
    grid-template-columns: 1fr;
  }

  .contact-info-card {
    min-height: auto;
  }
}

@media (max-width: 640px) {
  .contact-page {
    padding: 4.5rem 0;
  }

  .contact-page__heading {
    margin-bottom: 2.5rem;
    text-align: left;
  }

  .contact-page__heading h1 {
    font-size: clamp(2.8rem, 16vw, 4rem);
  }

  .contact-info-card,
  .contact-form-card {
    padding: 1.5rem;
    border-radius: 22px;
  }

  .contact-form__row {
    grid-template-columns: 1fr;
  }

  .contact-form__footer {
    align-items: stretch;
    flex-direction: column;
  }

  .contact-form__button {
    width: 100%;
  }
}



.solution-card.featured img.lock-image{
    object-position: 70% center;
}