/* ============================================================
   RETROFIT.MX — Visual Brand System 2026
   Primary: #1E53D8 · Accent Cyan · Pop: #ff5a1f
   Fonts: Saira (display) · Hanken Grotesk (body) · JetBrains Mono (specs)
   ============================================================ */

:root {
  --brand:        #1E53D8;
  --brand-dark:   #1440B0;
  --brand-light:  #3B74EF;
  --cyan:         #00C8F0;
  --pop:          #d0440b;
  --pop-dark:     #b83a06;
  --bg:           #060a12;
  --bg-2:         #090f1c;
  --bg-3:         #0c1424;
  --surface:      #101828;
  --surface-2:    #172035;
  --border:       rgba(30,83,216,0.14);
  --border-2:     rgba(30,83,216,0.24);
  --text:         #e8ecf4;
  --text-2:       #9ba8be;
  --text-3:       #6b7a94;
  --grad-brand:   linear-gradient(135deg, #1E53D8, #00C8F0);
  --grad-retrofit: linear-gradient(135deg, #1440B0 0%, #1E53D8 50%, #00C8F0 100%);
  --glow-sm:      0 0 20px rgba(30,83,216,0.18);
  --glow-md:      0 0 40px rgba(30,83,216,0.22);
  --glow-lg:      0 0 80px rgba(30,83,216,0.28);
  --radius-sm:    8px;
  --radius-md:    12px;
  --radius-lg:    18px;
  --radius-xl:    26px;
  --font-display: 'Saira', sans-serif;
  --font-body:    'Hanken Grotesk', sans-serif;
  --font-mono:    'JetBrains Mono', monospace;
  --ease-mech:    cubic-bezier(.2,0,0,1);
}

@media (max-width: 768px) {
  #hero .hero-actions {
    align-items: flex-start;
  }

  #hero .hero-actions .btn-ghost {
    width: auto;
    align-self: flex-start;
    padding-inline: 20px;
  }
}

/* Special air applications */
.application-special-placeholder {
  display: block;
  width: 100%;
  min-height: 280px;
  background: #fff;
}

.application-card-special .application-special-placeholder {
  border-bottom: 1px solid rgba(232, 236, 244, 0.16);
}

.application-special-lead {
  max-width: 74ch;
  font-size: 1.12rem;
  line-height: 1.75;
}

.source-credit {
  margin-top: 16px;
  color: #7f91aa;
  font-size: 0.82rem;
  line-height: 1.55;
}

.source-credit a {
  color: #9eb7d5;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 720px) {
  .application-special-placeholder {
    min-height: 230px;
  }

  .application-special-lead {
    font-size: 1rem;
  }
}

/* 2026-07-15: definitive application image rendering and collage layouts. */
.application-review-content > .application-detail-image {
  height: clamp(390px, 47vw, 610px) !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .34), 0 0 42px rgba(0, 143, 255, .18) !important;
}

.application-review-content > .application-detail-image > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  border: 0 !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: none !important;
  transform: none !important;
}

.application-review-content .review-image-card img,
.application-review-content .review-image-pair img,
.application-review-content .review-inline-image img,
.application-review-content .review-static-gallery img {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  image-rendering: auto !important;
  backface-visibility: visible !important;
  -webkit-font-smoothing: antialiased;
}

.application-review-content .review-image-strip,
.application-review-content .review-image-pair,
.application-review-content .review-static-gallery-row {
  align-items: stretch !important;
}

/* Air-handling units. */
.ahu-review-page .review-story-section:nth-of-type(3) .review-image-pair,
.ahu-review-page .review-story-section:nth-of-type(3) .review-image-strip {
  position: relative !important;
  margin-top: 18px !important;
  margin-bottom: 0 !important;
  transform: none !important;
}
.ahu-review-page .review-story-section:nth-of-type(3) .review-image-pair figure { height: 410px !important; }
.ahu-review-page .review-story-section:nth-of-type(3) .ahu-existing-components { margin-top: 18px !important; }
.ahu-review-page .review-story-section:nth-of-type(3) .ahu-existing-components .review-image-card { height: 220px !important; }
.ahu-review-page .review-story-section:nth-of-type(5) .review-image-contain { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr) !important; }
.ahu-review-page .review-story-section:nth-of-type(5) .review-image-contain figure { height: 330px !important; background: #fff !important; }
.ahu-review-page .review-story-section:nth-of-type(5) .review-image-contain img { padding: 8px !important; object-fit: contain !important; }
.ahu-review-page .ahu-mechanical-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.ahu-review-page .ahu-mechanical-gallery .ahu-mechanical-wide { grid-column: 1 / -1 !important; height: 300px !important; }
.ahu-review-page .ahu-mechanical-gallery .review-image-card:not(.ahu-mechanical-wide) { height: 410px !important; }
.ahu-review-page .ahu-electrical-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.ahu-review-page .ahu-electrical-gallery .ahu-electrical-wide { grid-column: 1 / -1 !important; height: 300px !important; }
.ahu-review-page .ahu-electrical-gallery .review-image-card:not(.ahu-electrical-wide) { grid-column: auto !important; height: 410px !important; }

/* Industrial ventilation. */
.industrial-ventilation-review-page .review-story-section:nth-of-type(3) .review-image-strip { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.industrial-ventilation-review-page .review-story-section:nth-of-type(3) .review-image-card { height: 330px !important; }
.industrial-ventilation-review-page .industrial-filter-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.industrial-ventilation-review-page .industrial-filter-gallery .industrial-filter-wide { grid-column: 1 / -1 !important; order: -1 !important; height: 360px !important; }
.industrial-ventilation-review-page .industrial-filter-gallery .review-image-card:not(.industrial-filter-wide) { grid-column: auto !important; height: 330px !important; }
.industrial-ventilation-review-page .review-story-section:nth-of-type(5) .review-image-card { height: 350px !important; }

/* Induced-draft cooling tower. */
.cooling-closed-review-page .review-story-section:nth-of-type(1) .review-image-card { height: 350px !important; }
.cooling-closed-review-page .review-story-section:nth-of-type(2) .review-image-card { height: 335px !important; }
.cooling-closed-review-page .review-story-section:nth-of-type(3) .review-image-card { height: 315px !important; }
.cooling-closed-review-page .review-story-section:nth-of-type(4) .review-image-card { height: 370px !important; }
.cooling-closed-review-page .review-story-section:nth-of-type(5) .review-image-card:first-child { height: 310px !important; }
.cooling-closed-review-page .review-story-section:nth-of-type(5) .review-image-card:nth-child(n + 2) { height: 360px !important; }

/* Forced-draft cooling tower. */
.cooling-open-review-page .application-review-content > figure.review-inline-image { height: clamp(480px, 50vw, 590px) !important; }
.cooling-open-review-page .application-review-content > figure.review-inline-image img { object-fit: cover !important; transform: scale(1.06) !important; }
.cooling-open-review-page .review-story-section:nth-of-type(1) { display: flex; flex-direction: column; }
.cooling-open-review-page .review-story-section:nth-of-type(1) > .review-inline-image { order: 10; height: 420px !important; margin-top: 22px !important; }
.cooling-open-review-page .review-story-section:nth-of-type(1) > .review-image-pair:first-of-type { order: 11; }
.cooling-open-review-page .review-story-section:nth-of-type(1) > .review-image-pair:nth-of-type(2) { order: 12; }
.cooling-open-review-page .review-story-section:nth-of-type(1) .review-image-pair figure { height: 360px !important; }
.cooling-open-review-page .review-story-section:nth-of-type(3) .review-image-strip { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.cooling-open-review-page .review-story-section:nth-of-type(3) .review-image-card:first-child { grid-column: 1 / -1 !important; height: 380px !important; }
.cooling-open-review-page .review-story-section:nth-of-type(3) .review-image-card:nth-child(n + 2) { grid-column: auto !important; height: 350px !important; }
.cooling-open-review-page .review-story-section:nth-of-type(5) .review-image-pair figure { height: 390px !important; }
.cooling-open-review-page .review-story-section:nth-of-type(7) .review-inline-image { height: 430px !important; overflow: hidden !important; }
.cooling-open-review-page .review-story-section:nth-of-type(7) .review-inline-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; transform: scale(1.06) !important; }

/* Chiller, condensing unit, and evaporator. */
.chiller-review-page .review-story-section:nth-of-type(1) .review-image-strip { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.chiller-review-page .review-story-section:nth-of-type(1) .review-image-card:first-child { grid-column: 1 / -1 !important; height: 330px !important; }
.chiller-review-page .review-story-section:nth-of-type(1) .review-image-card:nth-child(n + 2) { grid-column: auto !important; height: 370px !important; }
.chiller-review-page .review-story-section:nth-of-type(3) .review-image-pair { grid-template-columns: 1fr !important; }
.chiller-review-page .review-story-section:nth-of-type(3) .review-image-pair figure { height: 390px !important; }
.condenser-review-page .review-story-section:nth-of-type(6) .review-image-strip { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.condenser-review-page .review-story-section:nth-of-type(6) .review-image-card:nth-child(3) { grid-column: 1 / -1 !important; height: 340px !important; }
.condenser-review-page .review-story-section:nth-of-type(6) .review-image-card:nth-child(-n + 2) { height: 360px !important; }
.evaporator-review-page .review-story-section:nth-of-type(1) .review-image-strip { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.evaporator-review-page .review-story-section:nth-of-type(1) .review-image-card { height: 430px !important; }

/* Transformer cooling. */
.transformer-review-page .review-story-section:nth-of-type(1) .review-inline-image { height: 560px !important; overflow: hidden !important; }
.transformer-review-page .review-story-section:nth-of-type(1) .review-inline-image img { width: 100% !important; height: 100% !important; object-fit: contain !important; transform: scale(1.14) !important; }
.transformer-review-page .review-story-section:nth-of-type(4) .airflow-comparison-pair { grid-template-columns: 1fr !important; }
.transformer-review-page .review-story-section:nth-of-type(4) .airflow-comparison-pair figure { height: 350px !important; background: #fff !important; }
.transformer-review-page .review-story-section:nth-of-type(4) .airflow-comparison-pair img { object-fit: contain !important; background: #fff !important; }

/* Greenhouses and animal welfare. */
.greenhouse-review-page .review-story-section:nth-of-type(2) .review-inline-image { height: 540px !important; overflow: hidden !important; }
.greenhouse-review-page .review-story-section:nth-of-type(2) .review-inline-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; transform: scale(1.08) !important; }
.greenhouse-review-page .greenhouse-image-gallery .review-static-gallery-row { display: grid !important; grid-template-columns: 1fr !important; gap: 18px !important; }
.greenhouse-review-page .greenhouse-image-gallery figure { height: 410px !important; }
.animal-welfare-review-page .review-story-section:nth-of-type(1) .review-inline-image { height: 480px !important; overflow: hidden !important; }
.animal-welfare-review-page .review-story-section:nth-of-type(1) .review-inline-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; transform: scale(1.05) !important; }
.animal-welfare-review-page .review-story-section:nth-of-type(3) .review-image-strip { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.animal-welfare-review-page .review-story-section:nth-of-type(3) .review-image-card:nth-child(3) { grid-column: 1 / -1 !important; order: -1 !important; height: 350px !important; }
.animal-welfare-review-page .review-story-section:nth-of-type(3) .review-image-card:nth-child(-n + 2) { grid-column: auto !important; height: 410px !important; }

/* Special air applications. */
.special-air-review-page .review-story-section:nth-of-type(1) .review-image-card { height: 370px !important; }
.special-air-review-page .review-story-section:nth-of-type(2) .review-image-pair figure { height: 400px !important; }
.special-air-review-page .review-story-section:nth-of-type(3) .review-inline-image { height: 440px !important; overflow: hidden !important; }
.special-air-review-page .review-story-section:nth-of-type(3) .review-inline-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; transform: scale(1.04) !important; }
.special-air-review-page .review-story-section:nth-of-type(5) .review-image-strip { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.special-air-review-page .review-story-section:nth-of-type(5) .review-image-card:first-child { grid-column: 1 / -1 !important; height: 430px !important; }
.special-air-review-page .review-story-section:nth-of-type(5) .review-image-card:nth-child(n + 2) { grid-column: auto !important; height: 370px !important; }

@media (max-width: 720px) {
  .application-review-content > .application-detail-image { height: clamp(270px, 78vw, 410px) !important; }
  .ahu-review-page .ahu-mechanical-gallery,
  .ahu-review-page .ahu-electrical-gallery,
  .industrial-ventilation-review-page .review-story-section:nth-of-type(3) .review-image-strip,
  .industrial-ventilation-review-page .industrial-filter-gallery,
  .cooling-open-review-page .review-story-section:nth-of-type(3) .review-image-strip,
  .chiller-review-page .review-story-section:nth-of-type(1) .review-image-strip,
  .condenser-review-page .review-story-section:nth-of-type(6) .review-image-strip,
  .evaporator-review-page .review-story-section:nth-of-type(1) .review-image-strip,
  .animal-welfare-review-page .review-story-section:nth-of-type(3) .review-image-strip,
  .special-air-review-page .review-story-section:nth-of-type(5) .review-image-strip {
    grid-template-columns: 1fr !important;
  }
  .application-review-content .review-image-card,
  .application-review-content .review-image-pair figure,
  .application-review-content .review-static-gallery figure {
    grid-column: auto !important;
    height: clamp(260px, 82vw, 390px) !important;
  }
}

/* 2026-07-15: authoritative aligned collage system for application reviews. */
.application-review-content .review-image-strip {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 16px !important;
}

.application-review-content .review-image-strip .review-image-card,
.application-review-content .review-image-pair figure {
  width: 100% !important;
  height: clamp(250px, 24vw, 320px) !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  background: #08182a !important;
}

.application-review-content .review-image-strip .review-image-card img,
.application-review-content .review-image-pair figure img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

.application-review-content .review-image-strip:has(> .review-image-card:nth-child(3):last-child) {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.application-review-content .review-image-strip:has(> .review-image-card:nth-child(3):last-child) > .review-image-card {
  grid-column: auto !important;
  order: initial !important;
}

.application-review-content .review-image-strip:has(> .review-image-card:nth-child(5):last-child) {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

.application-review-content .review-image-strip:has(> .review-image-card:nth-child(5):last-child) > .review-image-card:nth-child(-n + 2) {
  grid-column: span 3 !important;
}

.application-review-content .review-image-strip:has(> .review-image-card:nth-child(5):last-child) > .review-image-card:nth-child(n + 3) {
  grid-column: span 2 !important;
}

.application-review-content .review-image-pair {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 16px !important;
}

.application-review-content .review-image-pair.review-image-contain figure {
  background: #fff !important;
}

.application-review-content .review-image-pair.review-image-contain img {
  padding: 10px !important;
  object-fit: contain !important;
  background: #fff !important;
}

/* Manejadoras: dos fotos principales niveladas y componentes debajo. */
.ahu-review-page .review-story-section:nth-of-type(1) .review-image-card {
  height: 300px !important;
}

.ahu-review-page .ahu-existing-fans-pair figure {
  height: 410px !important;
}

.ahu-review-page .ahu-existing-components .review-image-card {
  height: 190px !important;
}

/* Ventilación industrial: panorama superior y tres imágenes iguales debajo. */
.industrial-ventilation-review-page .industrial-filter-gallery {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.industrial-ventilation-review-page .industrial-filter-gallery .industrial-filter-wide {
  grid-column: 1 / -1 !important;
  order: -1 !important;
  height: 285px !important;
}

.industrial-ventilation-review-page .industrial-filter-gallery .review-image-card:not(.industrial-filter-wide) {
  grid-column: auto !important;
  height: 230px !important;
}

.industrial-ventilation-review-page .review-story-section:nth-of-type(3) .review-image-card {
  height: 310px !important;
}

.industrial-ventilation-review-page .review-story-section:nth-of-type(5) .review-image-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.industrial-ventilation-review-page .review-story-section:nth-of-type(5) .review-image-card {
  grid-column: auto !important;
  height: 270px !important;
}

/* Torre cerrada: filas simétricas por sección. */
.cooling-closed-review-page .review-story-section:nth-of-type(1) .review-image-card {
  height: 310px !important;
}

.cooling-closed-review-page .review-story-section:nth-of-type(2) .review-image-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.cooling-closed-review-page .review-story-section:nth-of-type(2) .review-image-card {
  grid-column: auto !important;
  height: 260px !important;
}

.cooling-closed-review-page .review-story-section:nth-of-type(3) .review-image-card:nth-child(-n + 2) {
  height: 285px !important;
}

.cooling-closed-review-page .review-story-section:nth-of-type(3) .review-image-card:nth-child(n + 3) {
  height: 235px !important;
}

.cooling-closed-review-page .review-story-section:nth-of-type(4) .review-image-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.cooling-closed-review-page .review-story-section:nth-of-type(4) .review-image-card {
  grid-column: auto !important;
  height: 300px !important;
}

.cooling-closed-review-page .review-story-section:nth-of-type(5) .review-image-strip {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.cooling-closed-review-page .review-story-section:nth-of-type(5) .review-image-card:first-child {
  grid-column: 1 / -1 !important;
  height: 245px !important;
}

.cooling-closed-review-page .review-story-section:nth-of-type(5) .review-image-card:nth-child(n + 2) {
  grid-column: auto !important;
  height: 290px !important;
}

/* Torre abierta: comparación sin huecos y collage principal balanceado. */
.cooling-open-review-page .application-review-content > figure.review-inline-image {
  height: clamp(380px, 42vw, 500px) !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}

.cooling-open-review-page .application-review-content > figure.review-inline-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transform: scale(1.16) !important;
}

.cooling-open-review-page .review-story-section:nth-of-type(1) .review-image-pair figure {
  height: 270px !important;
}

.cooling-open-review-page .review-story-section:nth-of-type(1) > .review-inline-image {
  height: 310px !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}

.cooling-open-review-page .review-story-section:nth-of-type(1) > .review-inline-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transform: none !important;
}

/* Motor EC: elimina la altura vacía al final y mantiene bloques compactos. */
.motor-editorial-page .motor-article,
.motor-editorial-page .motor-source-section,
.motor-editorial-page .motor-source-fan-block,
.motor-editorial-page .motor-source-fan-block-alt {
  min-height: 0 !important;
}

.motor-editorial-page .motor-source-fan-block,
.motor-editorial-page .motor-source-fan-block-alt {
  align-items: center !important;
  margin-bottom: 34px !important;
  padding-bottom: 0 !important;
}

.motor-editorial-page .motor-source-fan-block-alt {
  margin-bottom: 0 !important;
}

@media (max-width: 720px) {
  .application-review-content .review-image-strip,
  .application-review-content .review-image-strip:has(> .review-image-card:nth-child(3):last-child),
  .application-review-content .review-image-strip:has(> .review-image-card:nth-child(5):last-child),
  .application-review-content .review-image-pair,
  .industrial-ventilation-review-page .industrial-filter-gallery,
  .industrial-ventilation-review-page .review-story-section:nth-of-type(5) .review-image-strip,
  .cooling-closed-review-page .review-story-section:nth-of-type(2) .review-image-strip,
  .cooling-closed-review-page .review-story-section:nth-of-type(4) .review-image-strip,
  .cooling-closed-review-page .review-story-section:nth-of-type(5) .review-image-strip {
    grid-template-columns: 1fr !important;
  }

  .application-review-content .review-image-strip .review-image-card,
  .application-review-content .review-image-pair figure,
  .application-review-content .review-image-strip:has(> .review-image-card:nth-child(5):last-child) > .review-image-card,
  .industrial-ventilation-review-page .industrial-filter-gallery .review-image-card,
  .cooling-closed-review-page .review-story-section .review-image-card {
    grid-column: auto !important;
    height: clamp(230px, 72vw, 340px) !important;
  }
}

/* Final blog-index image ratio: preserve a taller crop and equal card heights. */
.blog-index-grid .blog-simple-card > img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 6 / 5 !important;
  object-fit: cover !important;
  object-position: center !important;
  max-width: none !important;
  background: transparent !important;
  image-rendering: auto !important;
  filter: none !important;
  transform: none !important;
}

/* FINAL 2026-07-15 — image quality and page-specific collage geometry. */
.application-review-content > .application-detail-image {
  height: clamp(390px, 47vw, 610px) !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.34), 0 0 42px rgba(0,143,255,.18) !important;
}
.application-review-content > .application-detail-image > img {
  display: block !important; width: 100% !important; height: 100% !important;
  object-fit: cover !important; object-position: center !important;
  border: 0 !important; border-radius: var(--radius-lg) !important;
  box-shadow: none !important; transform: none !important;
}
.application-review-content .review-image-card img,
.application-review-content .review-image-pair img,
.application-review-content .review-inline-image img,
.application-review-content .review-static-gallery img {
  filter: none !important; opacity: 1 !important; mix-blend-mode: normal !important;
  image-rendering: auto !important; backface-visibility: visible !important;
}
.application-review-content .review-image-strip,
.application-review-content .review-image-pair,
.application-review-content .review-static-gallery-row { align-items: stretch !important; }

/* Manejadoras. */
.ahu-review-page .review-story-section:nth-of-type(3) .review-image-pair,
.ahu-review-page .review-story-section:nth-of-type(3) .review-image-strip { position: relative !important; margin-top: 18px !important; margin-bottom: 0 !important; transform: none !important; }
.ahu-review-page .review-story-section:nth-of-type(3) .review-image-pair figure { height: 410px !important; }
.ahu-review-page .review-story-section:nth-of-type(3) .ahu-existing-components { margin-top: 18px !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
.ahu-review-page .review-story-section:nth-of-type(3) .ahu-existing-components .review-image-card { grid-column: auto !important; height: 220px !important; }
.ahu-review-page .review-story-section:nth-of-type(5) .review-image-contain { grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr) !important; }
.ahu-review-page .review-story-section:nth-of-type(5) .review-image-contain figure { height: 330px !important; background: #fff !important; }
.ahu-review-page .review-story-section:nth-of-type(5) .review-image-contain img { padding: 8px !important; object-fit: contain !important; }
.ahu-review-page .ahu-mechanical-gallery { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
.ahu-review-page .ahu-mechanical-gallery .ahu-mechanical-wide { grid-column: 1/-1 !important; height: 300px !important; }
.ahu-review-page .ahu-mechanical-gallery .review-image-card:not(.ahu-mechanical-wide) { height: 410px !important; }
.ahu-review-page .ahu-electrical-gallery { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
.ahu-review-page .ahu-electrical-gallery .ahu-electrical-wide { grid-column: 1/-1 !important; height: 300px !important; }
.ahu-review-page .ahu-electrical-gallery .review-image-card:not(.ahu-electrical-wide) { grid-column: auto !important; height: 410px !important; }

/* Ventilación industrial. */
.industrial-ventilation-review-page .review-story-section:nth-of-type(3) .review-image-strip { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
.industrial-ventilation-review-page .review-story-section:nth-of-type(3) .review-image-card { height: 330px !important; }
.industrial-ventilation-review-page .industrial-filter-gallery { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
.industrial-ventilation-review-page .industrial-filter-gallery .industrial-filter-wide { grid-column: 1/-1 !important; order: -1 !important; height: 360px !important; }
.industrial-ventilation-review-page .industrial-filter-gallery .review-image-card:not(.industrial-filter-wide) { grid-column: auto !important; height: 330px !important; }
.industrial-ventilation-review-page .review-story-section:nth-of-type(5) .review-image-card { height: 350px !important; }

/* Torre cerrada. */
.cooling-closed-review-page .review-story-section:nth-of-type(1) .review-image-card { height: 350px !important; }
.cooling-closed-review-page .review-story-section:nth-of-type(2) .review-image-card { height: 335px !important; }
.cooling-closed-review-page .review-story-section:nth-of-type(3) .review-image-card { height: 315px !important; }
.cooling-closed-review-page .review-story-section:nth-of-type(4) .review-image-card { height: 370px !important; }
.cooling-closed-review-page .review-story-section:nth-of-type(5) .review-image-card:first-child { height: 310px !important; }
.cooling-closed-review-page .review-story-section:nth-of-type(5) .review-image-card:nth-child(n+2) { height: 360px !important; }

/* Torre abierta. */
.cooling-open-review-page .application-review-content > figure.review-inline-image { height: clamp(480px,50vw,590px) !important; overflow: hidden !important; }
.cooling-open-review-page .application-review-content > figure.review-inline-image img { width:100% !important; height:100% !important; object-fit:cover !important; transform:scale(1.06) !important; }
.cooling-open-review-page .review-story-section:nth-of-type(1) { display:flex !important; flex-direction:column !important; }
.cooling-open-review-page .review-story-section:nth-of-type(1) > .review-inline-image { order:10; height:420px !important; margin-top:22px !important; }
.cooling-open-review-page .review-story-section:nth-of-type(1) > .review-image-pair:first-of-type { order:11; }
.cooling-open-review-page .review-story-section:nth-of-type(1) > .review-image-pair:nth-of-type(2) { order:12; }
.cooling-open-review-page .review-story-section:nth-of-type(1) .review-image-pair figure { height:360px !important; }
.cooling-open-review-page .review-story-section:nth-of-type(3) .review-image-strip { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.cooling-open-review-page .review-story-section:nth-of-type(3) .review-image-card:first-child { grid-column:1/-1 !important; height:380px !important; }
.cooling-open-review-page .review-story-section:nth-of-type(3) .review-image-card:nth-child(n+2) { grid-column:auto !important; height:350px !important; }
.cooling-open-review-page .review-story-section:nth-of-type(5) .review-image-pair figure { height:390px !important; }
.cooling-open-review-page .review-story-section:nth-of-type(7) .review-inline-image { height:430px !important; overflow:hidden !important; }
.cooling-open-review-page .review-story-section:nth-of-type(7) .review-inline-image img { width:100% !important; height:100% !important; object-fit:cover !important; transform:scale(1.06) !important; }

/* Chiller, condensadora y evaporadora. */
.chiller-review-page .review-story-section:nth-of-type(1) .review-image-strip { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.chiller-review-page .review-story-section:nth-of-type(1) .review-image-card:first-child { grid-column:1/-1 !important; height:330px !important; }
.chiller-review-page .review-story-section:nth-of-type(1) .review-image-card:nth-child(n+2) { grid-column:auto !important; height:370px !important; }
.chiller-review-page .review-story-section:nth-of-type(3) .review-image-pair { grid-template-columns:1fr !important; }
.chiller-review-page .review-story-section:nth-of-type(3) .review-image-pair figure { height:390px !important; }
.condenser-review-page .review-story-section:nth-of-type(6) .review-image-strip { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.condenser-review-page .review-story-section:nth-of-type(6) .review-image-card:nth-child(-n+2) { height:360px !important; }
.condenser-review-page .review-story-section:nth-of-type(6) .review-image-card:nth-child(3) { grid-column:1/-1 !important; height:340px !important; }
.evaporator-review-page .review-story-section:nth-of-type(1) .review-image-strip { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.evaporator-review-page .review-story-section:nth-of-type(1) .review-image-card { height:430px !important; }

/* Transformadores. */
.transformer-review-page .review-story-section:nth-of-type(1) .review-inline-image { height:560px !important; overflow:hidden !important; }
.transformer-review-page .review-story-section:nth-of-type(1) .review-inline-image img { width:100% !important; height:100% !important; object-fit:contain !important; transform:scale(1.14) !important; }
.transformer-review-page .review-story-section:nth-of-type(4) .airflow-comparison-pair { grid-template-columns:1fr !important; }
.transformer-review-page .review-story-section:nth-of-type(4) .airflow-comparison-pair figure { height:350px !important; background:#fff !important; }
.transformer-review-page .review-story-section:nth-of-type(4) .airflow-comparison-pair img { object-fit:contain !important; background:#fff !important; }

/* Invernaderos y bienestar animal. */
.greenhouse-review-page .review-story-section:nth-of-type(2) .review-inline-image { height:540px !important; overflow:hidden !important; }
.greenhouse-review-page .review-story-section:nth-of-type(2) .review-inline-image img { width:100% !important; height:100% !important; object-fit:cover !important; transform:scale(1.08) !important; }
.greenhouse-review-page .greenhouse-image-gallery .review-static-gallery-row { display:grid !important; grid-template-columns:1fr !important; gap:18px !important; }
.greenhouse-review-page .greenhouse-image-gallery figure { height:410px !important; }
.animal-welfare-review-page .review-story-section:nth-of-type(1) .review-inline-image { height:480px !important; overflow:hidden !important; }
.animal-welfare-review-page .review-story-section:nth-of-type(1) .review-inline-image img { width:100% !important; height:100% !important; object-fit:cover !important; transform:scale(1.05) !important; }
.animal-welfare-review-page .review-story-section:nth-of-type(3) .review-image-strip { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.animal-welfare-review-page .review-story-section:nth-of-type(3) .review-image-card:nth-child(3) { grid-column:1/-1 !important; order:-1 !important; height:350px !important; }
.animal-welfare-review-page .review-story-section:nth-of-type(3) .review-image-card:nth-child(-n+2) { grid-column:auto !important; height:410px !important; }

/* Aplicaciones especiales. */
.special-air-review-page .review-story-section:nth-of-type(1) .review-image-card { height:370px !important; }
.special-air-review-page .review-story-section:nth-of-type(2) .review-image-pair figure { height:400px !important; }
.special-air-review-page .review-story-section:nth-of-type(3) .review-inline-image { height:440px !important; overflow:hidden !important; }
.special-air-review-page .review-story-section:nth-of-type(3) .review-inline-image img { width:100% !important; height:100% !important; object-fit:cover !important; transform:scale(1.04) !important; }
.special-air-review-page .review-story-section:nth-of-type(5) .review-image-strip { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.special-air-review-page .review-story-section:nth-of-type(5) .review-image-card:first-child { grid-column:1/-1 !important; height:430px !important; }
.special-air-review-page .review-story-section:nth-of-type(5) .review-image-card:nth-child(n+2) { grid-column:auto !important; height:370px !important; }

@media (max-width:720px) {
  .application-review-content > .application-detail-image { height:clamp(270px,78vw,410px) !important; }
  .ahu-review-page .ahu-mechanical-gallery,
  .ahu-review-page .ahu-electrical-gallery,
  .industrial-ventilation-review-page .review-story-section:nth-of-type(3) .review-image-strip,
  .industrial-ventilation-review-page .industrial-filter-gallery,
  .cooling-open-review-page .review-story-section:nth-of-type(3) .review-image-strip,
  .chiller-review-page .review-story-section:nth-of-type(1) .review-image-strip,
  .condenser-review-page .review-story-section:nth-of-type(6) .review-image-strip,
  .evaporator-review-page .review-story-section:nth-of-type(1) .review-image-strip,
  .animal-welfare-review-page .review-story-section:nth-of-type(3) .review-image-strip,
  .special-air-review-page .review-story-section:nth-of-type(5) .review-image-strip { grid-template-columns:1fr !important; }
  .application-review-content .review-image-card,
  .application-review-content .review-image-pair figure,
  .application-review-content .review-static-gallery figure { grid-column:auto !important; height:clamp(260px,82vw,390px) !important; }
}

/* Per-page gallery compositions selected in the application reviews. */
.industrial-ventilation-review-page .review-story-section:nth-of-type(4) .review-image-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.industrial-ventilation-review-page .review-story-section:nth-of-type(4) .review-image-card:last-child {
  order: -1;
  grid-column: 1 / -1 !important;
}

.cooling-closed-review-page .review-story-section:nth-of-type(4) .review-image-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.cooling-closed-review-page .review-story-section:nth-of-type(4) .review-image-card:last-child {
  grid-column: auto !important;
}

.chiller-review-page .review-story-section:nth-of-type(1) .review-image-strip {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.chiller-review-page .review-story-section:nth-of-type(1) .review-image-card:first-child {
  grid-column: 1 / -1 !important;
}

.chiller-review-page .review-story-section:nth-of-type(2) .review-image-pair {
  grid-template-columns: 1fr;
}

.chiller-review-page .review-story-section:nth-of-type(6) .review-image-card:nth-child(3) img {
  min-height: 380px;
  object-fit: cover !important;
}

.transformer-review-page .review-story-section:nth-of-type(7) .review-image-strip {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.transformer-review-page .review-story-section:nth-of-type(7) .review-image-card:nth-child(3) {
  order: -1;
  grid-column: 1 / -1 !important;
}

.transformer-review-page .review-story-section:nth-of-type(7) .review-image-card:nth-child(3) img {
  min-height: 390px;
  object-fit: cover !important;
}

.animal-welfare-review-page .review-story-section:nth-of-type(3) .review-image-strip {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.animal-welfare-review-page .review-story-section:nth-of-type(3) .review-image-card:nth-child(3) {
  order: -1;
  grid-column: 1 / -1 !important;
}

.animal-welfare-review-page .review-story-section:nth-of-type(3) .review-image-card:nth-child(-n + 2) img {
  min-height: 360px;
  object-fit: cover !important;
}

@media (max-width: 720px) {
  .industrial-ventilation-review-page .review-story-section:nth-of-type(4) .review-image-strip,
  .cooling-closed-review-page .review-story-section:nth-of-type(4) .review-image-strip,
  .chiller-review-page .review-story-section:nth-of-type(1) .review-image-strip,
  .transformer-review-page .review-story-section:nth-of-type(7) .review-image-strip,
  .animal-welfare-review-page .review-story-section:nth-of-type(3) .review-image-strip {
    grid-template-columns: 1fr !important;
  }

  .industrial-ventilation-review-page .review-story-section:nth-of-type(4) .review-image-card:last-child,
  .chiller-review-page .review-story-section:nth-of-type(1) .review-image-card:first-child,
  .transformer-review-page .review-story-section:nth-of-type(7) .review-image-card:nth-child(3),
  .animal-welfare-review-page .review-story-section:nth-of-type(3) .review-image-card:nth-child(3) {
    grid-column: auto !important;
  }
}

/* Motor EC now follows the shared editorial review system. */
.motor-editorial-page .motor-article {
  max-width: 820px;
}

.motor-editorial-page .motor-source-section,
.motor-editorial-page .motor-source-exploded,
.motor-editorial-page .motor-source-detail-image {
  width: 100%;
  max-width: 820px;
  margin: 0 0 34px;
  padding: 0;
  background: transparent;
}

.motor-editorial-page .motor-source-intro {
  display: block;
}

.motor-editorial-page .motor-source-copy h1 {
  max-width: 820px;
  margin: 0 0 24px;
  font-size: clamp(42px, 6vw, 76px);
  line-height: .95;
}

.motor-editorial-page .motor-source-intro > .section-label {
  display: none;
}

.motor-editorial-page .motor-source-product-main {
  width: 100%;
  margin: 12px 0 34px;
}

.motor-editorial-page .motor-source-product-main img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}

.motor-editorial-page .motor-source-lead {
  margin: 0;
  color: var(--text);
  font-size: 20px;
  line-height: 1.75;
  text-align: justify;
}

.motor-editorial-page .motor-source-secondary-copy p,
.motor-editorial-page .motor-source-section p {
  color: var(--text-2);
  font-size: 17px;
  line-height: 1.8;
  text-align: justify;
}

.motor-editorial-page .motor-source-allinone,
.motor-editorial-page .motor-source-compact,
.motor-editorial-page .motor-source-control,
.motor-editorial-page .motor-source-fan-block {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 28px;
  align-items: center;
  min-height: 0;
}

.motor-editorial-page .motor-source-allinone h3,
.motor-editorial-page .motor-source-compact h3,
.motor-editorial-page .motor-source-control h2,
.motor-editorial-page .motor-source-fans-title h2,
.motor-editorial-page .motor-source-fan-block h2,
.motor-editorial-page .motor-source-section-title h2 {
  margin: 0 0 14px;
  color: var(--text);
  font-size: 30px;
  line-height: 1.12;
}

.motor-editorial-page .motor-source-allinone figure,
.motor-editorial-page .motor-source-compact-images,
.motor-editorial-page .motor-source-control figure,
.motor-editorial-page .motor-source-fan-block figure,
.motor-editorial-page .motor-source-exploded,
.motor-editorial-page .motor-source-detail-image {
  overflow: hidden;
  border: 1px solid rgba(35,129,255,.46);
  border-radius: var(--radius-lg);
  background: rgba(8,17,31,.82);
  box-shadow: 0 18px 52px rgba(0,0,0,.24);
}

.motor-editorial-page .motor-source-allinone img,
.motor-editorial-page .motor-source-compact-images img,
.motor-editorial-page .motor-source-control img,
.motor-editorial-page .motor-source-fan-block img,
.motor-editorial-page .motor-source-exploded img,
.motor-editorial-page .motor-source-detail-image img {
  width: 100%;
  height: 100%;
  max-height: 380px;
  display: block;
  object-fit: contain !important;
}

.motor-editorial-page .motor-source-exploded img {
  aspect-ratio: 16 / 7;
}

.motor-editorial-page .motor-source-detail-image {
  max-width: 520px;
}

.motor-editorial-page .motor-source-section-title,
.motor-editorial-page .motor-source-fans-title {
  text-align: left;
}

.motor-editorial-page .motor-source-adv-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.motor-editorial-page .motor-source-adv-grid article {
  min-height: 0;
  padding: 22px;
  border: 1px solid rgba(30,83,216,.26);
  border-radius: var(--radius-lg);
  background: rgba(15,29,50,.72);
}

.motor-editorial-page .motor-source-adv-grid img {
  width: 52px;
  height: 52px;
  margin: 0 0 16px;
  padding: 10px;
  object-fit: contain;
  border-radius: 7px;
  background: rgba(30,83,216,.18);
}

.motor-editorial-page .motor-source-adv-grid h4 {
  margin: 0 0 8px;
  color: var(--text);
  font-size: 19px;
}

.motor-editorial-page .motor-source-fan-block-alt figure {
  order: 2;
}

@media (max-width: 720px) {
  .motor-editorial-page .motor-source-allinone,
  .motor-editorial-page .motor-source-compact,
  .motor-editorial-page .motor-source-control,
  .motor-editorial-page .motor-source-fan-block {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .motor-editorial-page .motor-source-fan-block-alt figure {
    order: initial;
  }

  .motor-editorial-page .motor-source-adv-grid {
    grid-template-columns: 1fr;
  }

  .motor-editorial-page .motor-source-product-main img {
    aspect-ratio: 4 / 3;
  }

  .motor-editorial-page .motor-source-lead,
  .motor-editorial-page .motor-source-secondary-copy p,
  .motor-editorial-page .motor-source-section p {
    text-align: left;
  }
}

/* ─── RESET ─────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html {
  scroll-behavior: smooth;
  overflow-x: clip;
}
body {
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--text);
  overflow-x: hidden;
  line-height: 1.7;
  font-size: 16px;
}
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
img { display: block; max-width: 100%; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
.mono { font-family: var(--font-mono); letter-spacing: 0.06em; }
.gradient-text {
  background: var(--grad-brand);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.retrofit-gradient {
  background: var(--grad-retrofit);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ─── LOADER ─────────────────────────────────────────────── */
#loader {
  position: fixed; inset: 0;
  background: var(--bg);
  display: flex; align-items: center; justify-content: center;
  z-index: 9999;
  transition: opacity 0.6s var(--ease-mech), visibility 0.6s;
}
#loader.hidden { opacity: 0; visibility: hidden; }
.loader-inner { text-align: center; }
.loader-logo { width: 72px; height: 72px; margin: 0 auto 20px; }
.loader-logo.spin { animation: spin 1.8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes fadeIn { to { opacity: 1; } }
.loader-text {
  font-family: var(--font-display);
  font-size: 18px; font-weight: 700;
  letter-spacing: 0.2em;
  color: #ffffff;
}

/* ─── NAVBAR ─────────────────────────────────────────────── */
#navbar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  padding: 0;
  transition: background 0.3s, box-shadow 0.3s;
}
#navbar.scrolled {
  background: rgba(6,10,18,0.92);
  backdrop-filter: blur(20px);
  box-shadow: 0 1px 0 var(--border);
}
.nav-container {
  max-width: 1200px; margin: 0 auto; padding: 0 24px;
  display: flex; align-items: center; justify-content: space-between;
  height: 72px;
}
.nav-logo {
  display: flex; align-items: center; gap: 10px;
  flex: 0 0 auto;
}
.brand-logo { display: block; width: 164px; height: auto; max-height: 34px; object-fit: contain; }
.logo-svg { width: 32px; height: 32px; color: var(--brand); }
.logo-text {
  font-family: var(--font-display);
  font-size: 18px; font-weight: 800;
  letter-spacing: 0.1em;
  color: #ffffff;
}
.logo-mx { color: var(--brand); }
.nav-links {
  display: flex; align-items: center; gap: 4px;
}
.nav-links li:last-child {
  margin-left: 18px;
}
.nav-link {
  font-family: var(--font-body);
  font-size: 13px; font-weight: 500;
  padding: 6px 10px;
  color: var(--text-2);
  border-radius: var(--radius-sm);
  transition: color 0.2s, background 0.2s;
}
.nav-link:hover, .nav-link.active { color: var(--text); background: var(--surface); }
.nav-cta {
  font-family: var(--font-body);
  font-size: 13px; font-weight: 600;
  padding: 8px 16px;
  background: var(--pop);
  color: #fff;
  border: 1px solid rgba(255, 90, 31, 0.72);
  border-radius: var(--radius-md);
  transition: background 0.2s, box-shadow 0.2s;
}
.nav-cta:hover { background: #ff6f32; box-shadow: 0 0 22px rgba(255, 90, 31, 0.28); }
.hamburger {
  display: none; flex-direction: column; gap: 5px; padding: 8px;
}
.hamburger span {
  display: block; width: 22px; height: 2px;
  background: var(--text);
  border-radius: 2px;
  transition: all 0.3s;
}
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ─── BUTTONS ────────────────────────────────────────────── */
.btn-primary {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 28px;
  background: var(--brand);
  color: #fff;
  font-family: var(--font-body);
  font-size: 15px; font-weight: 600;
  border-radius: var(--radius-md);
  border: none;
  transition: background 0.2s var(--ease-mech), box-shadow 0.2s var(--ease-mech), transform 0.15s var(--ease-mech);
}
.btn-primary:hover { background: var(--brand-light); box-shadow: var(--glow-md); transform: translateY(-2px); }
.btn-pop { background: var(--pop); }
.btn-pop:hover { background: var(--pop-dark); box-shadow: 0 0 30px rgba(255,90,31,0.3); transform: translateY(-2px); }
.btn-ghost {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 28px;
  color: var(--text-2);
  font-family: var(--font-body);
  font-size: 15px; font-weight: 500;
  border-radius: var(--radius-md);
  border: 1.5px solid var(--border-2);
  transition: color 0.2s, border-color 0.2s, background 0.2s;
}
.btn-ghost:hover { color: var(--text); border-color: var(--brand); background: rgba(30,83,216,0.08); }
.btn-lg { padding: 16px 36px; font-size: 16px; }

/* ─── SECTIONS ───────────────────────────────────────────── */
.section { padding: 96px 0; }
.section-dark { background: var(--bg-2); }
#aplicaciones,
#blog {
  background: #070d18;
}
#contacto {
  background: #02050b;
}
.container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.section-label {
  font-family: var(--font-mono);
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--brand);
  text-transform: uppercase;
  margin-bottom: 16px;
}
.section-header {
  margin-bottom: 48px;
}
.section-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 5vw, 52px);
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 20px;
}
.section-sub {
  font-size: 17px;
  color: var(--text-2);
  max-width: 680px;
  line-height: 1.7;
}
.section-desc {
  font-size: 18px;
  color: var(--text-2);
  max-width: 700px;
  margin-bottom: 56px;
  line-height: 1.7;
}

/* ─── REVEAL ANIMATIONS ──────────────────────────────────── */
.reveal {
  opacity: 0; transform: translateY(28px);
  transition: opacity 0.7s var(--ease-mech), transform 0.7s var(--ease-mech);
}
.reveal.visible { opacity: 1; transform: translateY(0); }
.animate-in {
  opacity: 0; transform: translateY(24px);
  transition: opacity 0.7s var(--ease-mech), transform 0.7s var(--ease-mech);
}
.animate-in.in { opacity: 1; transform: translateY(0); }

/* ─── HERO ───────────────────────────────────────────────── */
#hero {
  min-height: 100vh;
  display: flex; align-items: center;
  position: relative; overflow: hidden;
  padding: 120px 24px 80px;
}
#particleCanvas {
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
}
.hero-bg-orbs { position: absolute; inset: 0; pointer-events: none; }
.orb {
  position: absolute; border-radius: 50%;
  filter: blur(80px); opacity: 0.12;
}
.orb-1 {
  width: 600px; height: 600px;
  background: var(--brand);
  top: -200px; left: -200px;
}
.orb-2 {
  width: 400px; height: 400px;
  background: var(--brand);
  bottom: -100px; right: -100px;
  opacity: 0.035;
}
.orb-3 {
  width: 300px; height: 300px;
  background: var(--brand);
  top: 40%; left: 40%;
  opacity: 0.06;
}
.hero-symbol-stage {
  position: absolute;
  z-index: 1;
  right: 2.5vw;
  bottom: 3vh;
  width: min(50vw, 660px);
  aspect-ratio: 1;
  pointer-events: none;
}
.hero-symbol-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  opacity: 0.11;
  filter: saturate(0.75);
  transform-origin: 50% 50%;
  animation: heroSymbolBaseIntro 4.05s cubic-bezier(0.2, 0, 0, 1) forwards;
}
.hero-symbol-matrix {
  position: absolute;
  inset: 6%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7%;
  opacity: 1;
  transform: scale(1);
}
.matrix-cell {
  display: block;
  opacity: 0;
  transform: scale(0.58);
  transform-origin: 50% 50%;
  animation: heroMatrixReveal 0.62s cubic-bezier(0.2, 0, 0, 1) forwards;
}
.matrix-cell img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0.22;
  filter: saturate(0.78);
  transform-origin: 50% 50%;
  animation: heroMatrixSpinLive 2.35s linear 4.82s infinite;
}
.matrix-cell:nth-child(5) {
  transform: scale(1);
  animation: heroMatrixCenterReveal 1.15s ease-out 2.6s forwards;
}
.matrix-cell:nth-child(1) { animation-delay: 2.92s; }
.matrix-cell:nth-child(8) { animation-delay: 3.08s; }
.matrix-cell:nth-child(3) { animation-delay: 3.24s; }
.matrix-cell:nth-child(6) { animation-delay: 3.4s; }
.matrix-cell:nth-child(2) { animation-delay: 3.56s; }
.matrix-cell:nth-child(9) { animation-delay: 3.72s; }
.matrix-cell:nth-child(4) { animation-delay: 3.88s; }
.matrix-cell:nth-child(7) { animation-delay: 4.04s; }

@keyframes heroSymbolBaseIntro {
  0%, 34% { opacity: 0.11; transform: scale(1); }
  64% { opacity: 0.14; transform: scale(0.247); }
  100% { opacity: 0; transform: scale(0.247); }
}
@keyframes heroMatrixReveal {
  from { opacity: 0; transform: scale(0.58); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes heroMatrixCenterReveal {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes heroMatrixSpinLive {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.hero-content {
  position: relative; z-index: 2;
  max-width: 640px;
  margin-left: max(24px, calc((100vw - 1200px) / 2));
}
.hero-eyebrow {
  font-family: var(--font-mono);
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--brand);
  margin-bottom: 24px;
}
.hero-title {
  font-family: var(--font-display);
  font-size: clamp(52px, 8vw, 96px);
  font-weight: 900;
  line-height: 0.95;
  margin-bottom: 28px;
}
.hero-title .line-1 { display: block; }
.hero-title .line-2 {
  display: inline-block;
  white-space: nowrap;
  font-size: clamp(46px, 7.2vw, 88px);
}
.hero-desc {
  font-size: 18px; line-height: 1.7;
  color: var(--text-2);
  margin-bottom: 36px;
}
.hero-actions {
  display: flex; gap: 16px; flex-wrap: wrap;
  margin-bottom: 56px;
}
.hero-stats {
  display: flex; gap: 0;
  flex-wrap: wrap;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: rgba(30,83,216,0.04);
}
.hstat {
  padding: 20px 28px; flex: 1; min-width: 140px;
}
.hstat-val {
  font-family: var(--font-display);
  font-size: 28px; font-weight: 800;
  color: var(--text);
}
.hstat-label {
  font-size: 12px;
  color: var(--text-3);
  margin-top: 4px;
  line-height: 1.4;
}
.hstat-divider { width: 1px; background: var(--border); }

/* ─── SCROLL HINT ────────────────────────────────────────── */
.scroll-hint {
  position: absolute; bottom: 40px; left: 50%;
  transform: translateX(-50%);
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  color: var(--text-3); z-index: 2;
}
.scroll-hint span {
  display: block; width: 1px; height: 48px;
  background: linear-gradient(to bottom, transparent, var(--brand));
  animation: scrollLine 2s ease-in-out infinite;
}
.scroll-hint p { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.15em; }
@keyframes scrollLine { 0%,100%{opacity:0.2} 50%{opacity:1} }

/* ─── TICKER ─────────────────────────────────────────────── */
.ticker-bar {
  background: var(--surface);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  overflow: hidden; padding: 14px 0;
}
.ticker-track {
  display: flex; gap: 40px; align-items: center;
  white-space: nowrap;
  animation: ticker 30s linear infinite;
  font-family: var(--font-mono);
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--text-2);
}
.ticker-dot {
  width: 4px; height: 4px; border-radius: 50%;
  background: var(--brand); flex-shrink: 0;
}
@keyframes ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ─── ANTES / DESPUÉS ────────────────────────────────────── */
.antes-despues {
  display: grid; grid-template-columns: 1fr auto 1fr;
  gap: 24px; align-items: center;
  margin-bottom: 64px;
}
.ad-panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  padding: 32px;
}
.ad-antes { border-color: rgba(255,90,31,0.15); }
.ad-despues { border-color: rgba(30,83,216,0.3); background: rgba(30,83,216,0.04); }
.ad-header { margin-bottom: 20px; }
.ad-tag {
  font-family: var(--font-mono);
  font-size: 11px; font-weight: 700; letter-spacing: 0.18em;
  padding: 4px 10px; border-radius: 4px;
  background: rgba(255,90,31,0.12); color: var(--pop);
}
.ad-tag-after { background: rgba(30,83,216,0.15); color: var(--brand); }
.ad-list { display: flex; flex-direction: column; gap: 12px; }
.ad-list li {
  display: flex; align-items: center; gap: 10px;
  font-size: 15px; color: var(--text-2);
}
.ad-list-bad i { color: var(--pop); width: 14px; }
.ad-list-good i { color: #22c55e; width: 14px; }
.ad-arrow {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
}
.ad-arrow svg { width: 56px; }
.ad-arrow .mono { font-size: 9px; color: var(--brand); }
.dato-clave {
  text-align: center; padding: 48px 32px;
  background: var(--surface); border-radius: var(--radius-xl);
  border: 1px solid var(--border-2);
}
.dato-num {
  font-family: var(--font-display); font-size: 80px; font-weight: 900;
  line-height: 1; margin-bottom: 16px;
}
.dato-text { font-size: 17px; color: var(--text-2); line-height: 1.7; }

/* ─── FAN WALL BENEFITS ──────────────────────────────────── */
.fanwall-benefits {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 20px; margin-bottom: 48px;
}
.fwb-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 28px 24px;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.fwb-card:hover { border-color: var(--border-2); box-shadow: var(--glow-sm); }
.fwb-icon {
  width: 44px; height: 44px;
  background: rgba(30,83,216,0.12);
  border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
  color: var(--brand); font-size: 18px; margin-bottom: 16px;
}
.fwb-card h3 { font-family: var(--font-display); font-size: 16px; font-weight: 700; margin-bottom: 8px; }
.fwb-card p { font-size: 14px; color: var(--text-2); line-height: 1.6; }

/* ─── COMPARISON TABLE ───────────────────────────────────── */
.comparison-table {
  background: var(--surface);
  border-radius: var(--radius-xl);
  border: 1px solid var(--border);
  overflow: hidden; margin-bottom: 56px;
}
.comp-header {
  display: grid; grid-template-columns: 1fr 1fr 1fr;
  background: var(--surface-2);
  border-bottom: 1px solid var(--border);
}
.comp-feature {
  padding: 16px 24px; font-size: 13px; font-weight: 600; color: var(--text-2);
  border-right: 1px solid var(--border);
}
.comp-head {
  padding: 16px 24px;
  font-family: var(--font-mono); font-size: 11px; font-weight: 700; letter-spacing: 0.1em;
}
.comp-head-bad { color: var(--pop); }
.comp-head-good { color: var(--brand); }
.comp-row {
  display: grid; grid-template-columns: 1fr 1fr 1fr;
  border-bottom: 1px solid var(--border);
}
.comp-row:last-child { border-bottom: none; }
.comp-cell { padding: 14px 24px; font-size: 14px; }
.comp-cell-bad { color: var(--text-3); border-right: 1px solid var(--border); }
.comp-cell-good { color: var(--text); font-weight: 500; }

/* ─── IS CANDIDATE ───────────────────────────────────────── */
.is-candidate {
  background: rgba(30,83,216,0.05);
  border: 1px solid var(--border-2);
  border-radius: var(--radius-xl);
  padding: 48px; text-align: center;
}
.is-candidate h3 {
  font-family: var(--font-display); font-size: 28px; font-weight: 700; margin-bottom: 12px;
}
.is-candidate > p { font-size: 16px; color: var(--text-2); margin-bottom: 32px; }
.candidate-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 12px; margin-bottom: 36px;
}
.cand-item {
  display: flex; align-items: center; gap: 10px;
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius-md); padding: 14px 16px;
  font-size: 14px; text-align: left;
}
.cand-item i { color: var(--brand); width: 16px; flex-shrink: 0; }
.candidate-cta { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.candidate-cta .mono { font-size: 11px; color: var(--brand); letter-spacing: 0.18em; }

/* ─── TECHNOLOGY ─────────────────────────────────────────── */
.tech-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 24px; margin-bottom: 48px;
}
.tech-card {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius-xl); padding: 36px 32px;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s var(--ease-mech);
}
.tech-card:hover {
  border-color: var(--border-2); box-shadow: var(--glow-md);
  transform: translateY(-4px);
}
.tech-icon-wrap {
  width: 56px; height: 56px;
  background: rgba(30,83,216,0.12); border-radius: var(--radius-lg);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 20px;
}
.tech-icon { font-size: 22px; color: var(--brand); }
.tech-badge {
  font-family: var(--font-mono);
  font-size: 10px; font-weight: 700; letter-spacing: 0.14em;
  color: var(--brand); margin-bottom: 12px; display: block;
}
.tech-card h3 {
  font-family: var(--font-display); font-size: 22px; font-weight: 700; margin-bottom: 12px;
}
.tech-card p { font-size: 14px; color: var(--text-2); line-height: 1.7; margin-bottom: 24px; }
.tech-specs { display: flex; flex-direction: column; gap: 8px; }
.tech-specs li {
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 12px; background: var(--bg-3); border-radius: var(--radius-sm);
  font-family: var(--font-mono); font-size: 12px;
}
.spec-key { color: var(--text-3); }
.spec-val { color: var(--text); }

/* ─── ZACORE PANEL ───────────────────────────────────────── */
.zacore-panel {
  background: var(--surface); border: 1px solid var(--border-2);
  border-radius: var(--radius-xl); padding: 36px;
  position: relative; overflow: hidden;
}
.zacore-panel::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: var(--grad-brand);
}
.zacore-header {
  font-family: var(--font-mono);
  font-size: 11px; font-weight: 700; letter-spacing: 0.2em;
  color: var(--brand); margin-bottom: 28px;
  display: flex; align-items: center; gap: 8px;
}
.zacore-header::before {
  content: ''; width: 8px; height: 8px; border-radius: 50%;
  background: #22c55e; animation: blink 1.5s infinite;
}
.zacore-metrics {
  display: flex; gap: 32px; flex-wrap: wrap; margin-bottom: 32px;
}
.zacore-metric { text-align: center; }
.zacore-val {
  font-family: var(--font-display); font-size: 36px; font-weight: 800; line-height: 1;
}
.zacore-unit { font-size: 16px; font-weight: 600; }
.zacore-key { font-family: var(--font-mono); font-size: 10px; color: var(--text-3); margin-top: 4px; }
.zacore-fans { border-top: 1px solid var(--border); padding-top: 24px; }
.zacore-fan-grid {
  display: grid; grid-template-columns: repeat(6, 32px);
  gap: 6px; margin-bottom: 10px;
}
.zf { width: 32px; height: 32px; border-radius: var(--radius-sm); border: 1.5px solid; }
.zf.zf-on { background: rgba(30,83,216,0.15); border-color: rgba(30,83,216,0.4); }
.zf.zf-svc { background: rgba(255,90,31,0.1); border-color: rgba(255,90,31,0.4); }
.zacore-fan-legend { font-family: var(--font-mono); font-size: 10px; color: var(--text-3); }

/* ─── PROCESO ────────────────────────────────────────────── */
.proceso-steps {
  display: flex; flex-direction: column; gap: 0;
  margin-bottom: 48px; position: relative;
}
.proceso-steps::before {
  content: ''; position: absolute; left: 28px; top: 48px; bottom: 48px; width: 1px;
  background: linear-gradient(to bottom, var(--brand), transparent);
}
.proc-step {
  display: grid; grid-template-columns: 64px 1fr;
  gap: 32px; padding: 40px 0;
  border-bottom: 1px solid var(--border);
}
.proc-step:last-child { border-bottom: none; }
.proc-num {
  font-family: var(--font-mono); font-size: 18px; font-weight: 700;
  color: var(--brand); position: relative; z-index: 1;
  width: 56px; height: 56px;
  background: var(--bg-2); border: 2px solid var(--border-2); border-radius: 50%;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.proc-content h3 {
  font-family: var(--font-display); font-size: 22px; font-weight: 700; margin-bottom: 12px;
}
.proc-content p { font-size: 15px; color: var(--text-2); line-height: 1.7; margin-bottom: 16px; }
.proc-tags { display: flex; gap: 8px; flex-wrap: wrap; }
.proc-tag {
  font-family: var(--font-mono);
  font-size: 10px; font-weight: 700; letter-spacing: 0.12em;
  padding: 4px 10px;
  background: rgba(30,83,216,0.1); border: 1px solid var(--border-2);
  border-radius: 4px; color: var(--brand);
}
/* ─── BENEFICIOS ─────────────────────────────────────────── */
.beneficios-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 20px; margin-bottom: 56px;
}
.ben-card {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius-lg); padding: 28px 24px;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s var(--ease-mech);
}
.ben-card:hover { border-color: var(--border-2); box-shadow: var(--glow-sm); transform: translateY(-3px); }
.ben-icon {
  width: 44px; height: 44px; background: rgba(30,83,216,0.12);
  border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
  color: var(--brand); font-size: 18px; margin-bottom: 16px;
}
.ben-card h3 { font-family: var(--font-display); font-size: 16px; font-weight: 700; margin-bottom: 8px; }
.ben-card p { font-size: 14px; color: var(--text-2); line-height: 1.6; }
.impact-band {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1px; background: var(--border);
  border-radius: var(--radius-xl); overflow: hidden;
  border: 1px solid var(--border);
}
.impact-stat { background: var(--surface); padding: 36px 32px; text-align: center; }
.impact-tag { font-family: var(--font-mono); font-size: 10px; color: var(--text-3); margin-bottom: 12px; }
.impact-num {
  font-family: var(--font-display); font-size: 48px; font-weight: 900;
  line-height: 1; margin-bottom: 8px;
}
.impact-desc { font-size: 14px; color: var(--text-2); }

/* ─── TESTIMONIALS ───────────────────────────────────────── */
.testimonials-slider { overflow: hidden; position: relative; }
.testimonial-track { display: flex; transition: transform 0.5s var(--ease-mech); }
.testimonial-card {
  min-width: 100%; background: var(--surface);
  border: 1px solid var(--border); border-radius: var(--radius-xl); padding: 48px;
}
.test-quote {
  font-size: 20px; line-height: 1.7; color: var(--text);
  margin-bottom: 36px; position: relative; padding-left: 28px;
}
.test-quote::before {
  content: '"'; position: absolute; left: 0; top: -8px;
  font-family: var(--font-display); font-size: 64px;
  color: var(--brand); line-height: 1; opacity: 0.4;
}
.test-author { display: flex; align-items: center; gap: 16px; }
.test-avatar {
  width: 48px; height: 48px; border-radius: 50%;
  background: rgba(30,83,216,0.2); border: 2px solid var(--border-2);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-mono); font-size: 14px; font-weight: 700;
  color: var(--brand); flex-shrink: 0;
}
.test-name { font-weight: 700; margin-bottom: 2px; }
.test-role { font-family: var(--font-mono); font-size: 10px; color: var(--text-3); letter-spacing: 0.1em; }
.slider-controls {
  display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 24px;
}
.slider-btn {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--surface); border: 1.5px solid var(--border);
  color: var(--text-2);
  display: flex; align-items: center; justify-content: center; transition: all 0.2s;
}
.slider-btn:hover { background: var(--brand); color: #fff; border-color: var(--brand); }
.slider-dots { display: flex; gap: 8px; }
.dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--surface-2); border: 1.5px solid var(--border);
  cursor: pointer; transition: all 0.2s;
}
.dot.active { background: var(--brand); border-color: var(--brand); width: 24px; border-radius: 4px; }

/* ─── CTA BAND ───────────────────────────────────────────── */
.cta-band {
  background: linear-gradient(135deg, var(--bg-2) 0%, rgba(30,83,216,0.08) 50%, var(--bg-2) 100%);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 80px 24px;
}
.cta-band-content {
  display: flex; align-items: center; justify-content: space-between;
  gap: 48px; max-width: 1200px; margin: 0 auto;
}
.cta-band-label { font-family: var(--font-mono); font-size: 10px; color: var(--brand); margin-bottom: 12px; }
.cta-band-text h2 {
  font-family: var(--font-display); font-size: clamp(28px, 4vw, 44px);
  font-weight: 800; margin-bottom: 12px;
}
.cta-band-text p { font-size: 15px; color: var(--text-2); }
.cta-band-actions { display: flex; gap: 16px; flex-wrap: wrap; flex-shrink: 0; }

/* ─── CONTACT ────────────────────────────────────────────── */
.contact-layout {
  display: grid; grid-template-columns: 1fr 1.5fr;
  gap: 48px; margin-bottom: 64px;
}
.contact-info { display: flex; flex-direction: column; gap: 28px; }
.contact-item { display: flex; gap: 16px; align-items: flex-start; }
.contact-icon {
  width: 40px; height: 40px; border-radius: var(--radius-md);
  background: rgba(30,83,216,0.12);
  display: flex; align-items: center; justify-content: center;
  color: var(--brand); font-size: 16px; flex-shrink: 0; margin-top: 2px;
}
.contact-label { font-family: var(--font-mono); font-size: 10px; color: var(--text-3); margin-bottom: 4px; }
.contact-val { font-size: 16px; font-weight: 500; }
.contact-val a { color: var(--text); transition: color 0.2s; }
.contact-val a:hover { color: var(--brand); }
.contact-hours { font-family: var(--font-mono); font-size: 11px; color: var(--text-3); margin-top: 2px; }
.contact-form { display: flex; flex-direction: column; gap: 20px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.form-group { display: flex; flex-direction: column; gap: 8px; }
.form-group label { font-size: 13px; font-weight: 600; color: var(--text-2); }
.form-group input, .form-group select, .form-group textarea {
  padding: 12px 16px; background: var(--surface);
  border: 1.5px solid var(--border); border-radius: var(--radius-md);
  color: var(--text); font-family: var(--font-body); font-size: 15px;
  transition: border-color 0.2s, box-shadow 0.2s; outline: none;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus {
  border-color: var(--brand); box-shadow: 0 0 0 3px rgba(30,83,216,0.15);
}
.form-group select option { background: var(--surface); }
.form-group textarea { resize: vertical; min-height: 100px; }
.form-check { display: flex; align-items: flex-start; gap: 10px; }
.form-check input[type="checkbox"] { margin-top: 3px; accent-color: var(--brand); }
.form-check label { font-size: 13px; color: var(--text-2); line-height: 1.5; }
.form-success {
  display: none; align-items: center; gap: 10px;
  background: rgba(34,197,94,0.1); border: 1px solid rgba(34,197,94,0.3);
  border-radius: var(--radius-md); padding: 14px 18px;
  color: #22c55e; font-weight: 500;
}
.form-success.visible { display: flex; }
.form-success i { font-size: 18px; }

/* ─── FAQ ────────────────────────────────────────────────── */
.faq-section { max-width: 800px; margin: 0 auto; }
.faq-title { font-family: var(--font-display); font-size: 24px; font-weight: 700; margin-bottom: 24px; }
.faq-list { display: flex; flex-direction: column; gap: 4px; }
.faq-item {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius-md); overflow: hidden;
}
.faq-q {
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  padding: 18px 22px; text-align: left;
  font-size: 15px; font-weight: 600; color: var(--text);
  transition: background 0.2s;
}
.faq-q:hover { background: var(--surface-2); }
.faq-icon { color: var(--brand); flex-shrink: 0; transition: transform 0.3s var(--ease-mech); }
.faq-item.open .faq-icon { transform: rotate(45deg); }
.faq-a {
  max-height: 0; overflow: hidden;
  font-size: 14px; color: var(--text-2); line-height: 1.7;
  transition: max-height 0.4s var(--ease-mech), padding 0.3s;
}
.faq-item.open .faq-a { max-height: 300px; padding: 0 22px 20px; }

/* ─── FOOTER ─────────────────────────────────────────────── */
.footer { background: var(--bg-3); border-top: 1px solid var(--border); padding: 64px 0 0; }
.footer-top {
  display: grid; grid-template-columns: 1.5fr 2fr;
  gap: 64px; margin-bottom: 48px;
}
.footer-brand .nav-logo { margin-bottom: 16px; display: inline-flex; }
.footer-brand .brand-logo { width: 180px; max-height: 36px; }
.footer-brand p { font-size: 14px; color: var(--text-2); line-height: 1.7; margin-bottom: 12px; }
.footer-location { font-family: var(--font-mono); font-size: 12px; color: var(--text-2); }
.footer-links { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.footer-col h3 { font-family: var(--font-display); font-size: 13px; font-weight: 700; margin-bottom: 16px; }
.footer-col ul { display: flex; flex-direction: column; gap: 8px; }
.footer-col a { font-size: 13px; color: var(--text-2); transition: color 0.2s; }
.footer-col a:hover { color: var(--text); }
.footer-col li { font-size: 13px; color: var(--text-2); }
.footer-bottom { border-top: 1px solid var(--border); padding: 20px 0; text-align: center; }
.footer-bottom .mono { font-size: 11px; color: var(--text-2); }

/* ─── RESPONSIVE ─────────────────────────────────────────── */
@media (max-width: 1024px) {
  .hero-symbol-stage {
    right: -10vw;
    bottom: 2vh;
    width: min(76vw, 580px);
  }
  .antes-despues { grid-template-columns: 1fr; }
  .ad-arrow { transform: rotate(90deg); }
  .fanwall-benefits { grid-template-columns: repeat(2, 1fr); }
  .tech-grid { grid-template-columns: 1fr 1fr; }
  .beneficios-grid { grid-template-columns: repeat(2, 1fr); }
  .contact-layout { grid-template-columns: 1fr; }
  .cta-band-content { flex-direction: column; text-align: center; }
  .footer-top { grid-template-columns: 1fr; gap: 40px; }
  .footer-links { grid-template-columns: repeat(2, 1fr); }
  .candidate-grid { grid-template-columns: repeat(2, 1fr); }
  .zacore-metrics { gap: 20px; }
  .impact-band { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .brand-logo { width: 138px; max-height: 30px; }
  .nav-links {
    position: fixed; top: 72px; left: 0; right: 0;
    background: rgba(6,10,18,0.97); backdrop-filter: blur(20px);
    flex-direction: column; padding: 20px;
    border-bottom: 1px solid var(--border); display: none;
  }
  .nav-links.open { display: flex; }
  .hamburger { display: flex; }
  .section { padding: 64px 0; }
  .hero-symbol-stage {
    right: -20vw;
    bottom: 5vh;
    width: min(92vw, 420px);
    opacity: 0.72;
  }
  .hero-bg-orbs,
  .orb {
    overflow: hidden;
  }
  .hotspot-card {
    max-width: min(240px, calc(100vw - 48px));
  }
  .fanwall-benefits { grid-template-columns: 1fr; }
  .tech-grid { grid-template-columns: 1fr; }
  .beneficios-grid { grid-template-columns: 1fr 1fr; }
  .comp-header, .comp-row { grid-template-columns: 1fr 1fr; }
  .comp-feature { display: none; }
  .form-row { grid-template-columns: 1fr; }
  .candidate-grid { grid-template-columns: 1fr; }
  .results-grid { grid-template-columns: 1fr; }
  .result-card.result-primary { grid-column: span 1; }
  .zacore-metrics { flex-wrap: wrap; gap: 12px; }
  .footer-links { grid-template-columns: 1fr 1fr; }
  .hero-stats { flex-wrap: wrap; }
  .hstat-divider { display: none; }
  .hero-actions { flex-direction: column; }
  .proc-step { grid-template-columns: 1fr; gap: 16px; }
  .proceso-steps::before { display: none; }
}

/* 2026-07-15: preserve source-image quality in application review galleries. */
.application-review-content .review-story-section h2 {
  max-width: 760px;
  margin-bottom: 14px;
  line-height: 1.08;
  text-wrap: balance;
}

.application-review-content .review-image-strip {
  align-items: start;
}

.application-review-content .review-image-strip .review-image-card {
  height: auto !important;
  min-height: 0;
  aspect-ratio: auto;
  background: transparent;
}

.application-review-content .review-image-strip .review-image-card img,
.application-review-content .review-static-gallery img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  image-rendering: auto;
  pointer-events: auto;
  -webkit-user-drag: auto;
  -webkit-user-select: auto;
  user-select: auto;
}

.application-review-content .gallery-feature-first,
.application-review-content .gallery-feature-last,
.application-review-content .gallery-wide-first {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.application-review-content .gallery-feature-first > .review-image-card:first-child,
.application-review-content .gallery-feature-last > .review-image-card:last-child,
.application-review-content .gallery-wide-first > .review-image-card:first-child {
  grid-column: 1 / -1 !important;
}

.application-review-content .gallery-feature-last > .review-image-card:last-child {
  order: -1;
}

.application-review-content .gallery-three-row {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.application-review-content .gallery-three-row > .review-image-card,
.application-review-content .gallery-three-row > .review-image-card:last-child {
  grid-column: auto !important;
}

.application-review-content .gallery-single-column {
  grid-template-columns: 1fr !important;
}

.application-review-content .gallery-tall img {
  min-height: clamp(320px, 35vw, 440px);
  object-fit: cover !important;
}

.application-review-content .review-image-pair.review-image-contain figure {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}

.application-review-content .review-image-pair.review-image-contain img {
  max-height: 100%;
  object-fit: contain !important;
}

.application-review-content .review-image-pair.review-image-contain figure:nth-child(2) img {
  width: 92% !important;
  height: 92% !important;
}

.transformer-review-page .transformer-main-visual {
  height: clamp(360px, 42vw, 520px);
}

.transformer-review-page .transformer-main-visual img {
  transform: scale(1.14);
  object-fit: contain !important;
}

.transformer-review-page .airflow-comparison-pair figure {
  background: #fff;
}

.cooling-open-review-page .open-tower-main-visual img {
  transform: scale(1.18);
  object-fit: cover !important;
}

@media (max-width: 720px) {
  .application-review-content .review-image-strip,
  .application-review-content .review-image-strip:has(> .review-image-card:nth-child(3):last-child),
  .application-review-content .review-image-strip:has(> .review-image-card:nth-child(5):last-child),
  .application-review-content .review-image-pair,
  .ahu-review-page .ahu-existing-components,
  .industrial-ventilation-review-page .industrial-filter-gallery,
  .industrial-ventilation-review-page .review-story-section:nth-of-type(5) .review-image-strip,
  .cooling-closed-review-page .review-story-section:nth-of-type(2) .review-image-strip,
  .cooling-closed-review-page .review-story-section:nth-of-type(4) .review-image-strip,
  .cooling-closed-review-page .review-story-section:nth-of-type(5) .review-image-strip,
  .application-review-content .gallery-feature-first,
  .application-review-content .gallery-feature-last,
  .application-review-content .gallery-wide-first,
  .application-review-content .gallery-three-row {
    grid-template-columns: 1fr !important;
  }

  .application-review-content .gallery-feature-first > .review-image-card:first-child,
  .application-review-content .gallery-feature-last > .review-image-card:last-child,
  .application-review-content .gallery-wide-first > .review-image-card:first-child {
    grid-column: auto !important;
  }

  .application-review-content .review-image-strip .review-image-card,
  .application-review-content .review-image-pair figure,
  .application-review-content .review-image-strip:has(> .review-image-card:nth-child(5):last-child) > .review-image-card,
  .industrial-ventilation-review-page .industrial-filter-gallery .review-image-card,
  .cooling-closed-review-page .review-story-section .review-image-card {
    grid-column: auto !important;
    height: clamp(230px, 72vw, 340px) !important;
  }
}

/* Final aligned-collage overrides (must remain at the end of the stylesheet). */
.application-review-content .review-image-strip {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 16px !important;
}
.application-review-content .review-image-strip .review-image-card,
.application-review-content .review-image-pair figure {
  width: 100% !important;
  height: clamp(250px, 24vw, 320px) !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  background: #08182a !important;
}
.application-review-content .review-image-strip .review-image-card img,
.application-review-content .review-image-pair figure img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
}
.application-review-content .review-image-strip:has(> .review-image-card:nth-child(3):last-child) {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.application-review-content .review-image-strip:has(> .review-image-card:nth-child(3):last-child) > .review-image-card {
  grid-column: auto !important;
  order: initial !important;
}
.application-review-content .review-image-strip:has(> .review-image-card:nth-child(5):last-child) {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}
.application-review-content .review-image-strip:has(> .review-image-card:nth-child(5):last-child) > .review-image-card:nth-child(-n + 2) {
  grid-column: span 3 !important;
}
.application-review-content .review-image-strip:has(> .review-image-card:nth-child(5):last-child) > .review-image-card:nth-child(n + 3) {
  grid-column: span 2 !important;
}
.application-review-content .review-image-pair {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 16px !important;
}
.application-review-content .review-image-pair.review-image-contain figure,
.application-review-content .review-image-pair.review-image-contain img {
  background: #fff !important;
}
.application-review-content .review-image-pair.review-image-contain img {
  padding: 10px !important;
  object-fit: contain !important;
}
.ahu-review-page .review-story-section:nth-of-type(1) .review-image-card { height: 300px !important; }
.ahu-review-page .ahu-existing-fans-pair figure { height: 410px !important; }
.ahu-review-page .ahu-existing-components { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.ahu-review-page .ahu-existing-components .review-image-card { grid-column: auto !important; height: 190px !important; }
.industrial-ventilation-review-page .industrial-filter-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.industrial-ventilation-review-page .industrial-filter-gallery .industrial-filter-wide {
  grid-column: 1 / -1 !important;
  order: -1 !important;
  height: 285px !important;
}
.industrial-ventilation-review-page .industrial-filter-gallery .review-image-card:not(.industrial-filter-wide) {
  grid-column: auto !important;
  height: 230px !important;
}
.industrial-ventilation-review-page .review-story-section:nth-of-type(3) .review-image-card { height: 310px !important; }
.industrial-ventilation-review-page .review-story-section:nth-of-type(5) .review-image-strip { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.industrial-ventilation-review-page .review-story-section:nth-of-type(5) .review-image-card { grid-column: auto !important; height: 270px !important; }
.cooling-closed-review-page .review-story-section:nth-of-type(1) .review-image-card { height: 310px !important; }
.cooling-closed-review-page .review-story-section:nth-of-type(2) .review-image-strip { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.cooling-closed-review-page .review-story-section:nth-of-type(2) .review-image-card { grid-column: auto !important; height: 260px !important; }
.cooling-closed-review-page .review-story-section:nth-of-type(3) .review-image-card:nth-child(-n + 2) { height: 285px !important; }
.cooling-closed-review-page .review-story-section:nth-of-type(3) .review-image-card:nth-child(n + 3) { height: 235px !important; }
.cooling-closed-review-page .review-story-section:nth-of-type(4) .review-image-strip { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.cooling-closed-review-page .review-story-section:nth-of-type(4) .review-image-card { grid-column: auto !important; height: 300px !important; }
.cooling-closed-review-page .application-review-content .review-story-section:nth-of-type(5) .review-image-strip[aria-label="Control y monitoreo de torre de enfriamiento"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.cooling-closed-review-page .application-review-content .review-story-section:nth-of-type(5) .review-image-strip[aria-label="Control y monitoreo de torre de enfriamiento"] .review-image-card:first-child { grid-column: 1 / -1 !important; height: 245px !important; }
.cooling-closed-review-page .application-review-content .review-story-section:nth-of-type(5) .review-image-strip[aria-label="Control y monitoreo de torre de enfriamiento"] .review-image-card:nth-child(n + 2) { grid-column: auto !important; height: 290px !important; }
.cooling-open-review-page .application-review-content > figure.review-inline-image {
  height: clamp(380px, 42vw, 500px) !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}
.cooling-open-review-page .application-review-content > figure.review-inline-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transform: scale(1.16) !important;
}
.cooling-open-review-page .review-story-section:nth-of-type(1) .review-image-pair figure { height: 270px !important; }
.cooling-open-review-page .review-story-section:nth-of-type(1) > .review-inline-image { height: 310px !important; overflow: hidden !important; border-radius: 18px !important; }
.cooling-open-review-page .review-story-section:nth-of-type(1) > .review-inline-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transform: none !important;
}
.motor-editorial-page .motor-article,
.motor-editorial-page .motor-source-section,
.motor-editorial-page .motor-source-fan-block,
.motor-editorial-page .motor-source-fan-block-alt { min-height: 0 !important; }
.motor-editorial-page .motor-source-fan-block,
.motor-editorial-page .motor-source-fan-block-alt { align-items: center !important; margin-bottom: 34px !important; padding-bottom: 0 !important; }
.motor-editorial-page .motor-source-fan-block-alt { margin-bottom: 0 !important; }
.motor-editorial-page .motor-source-sidebar { grid-row: 1 !important; }

@media (max-width: 720px) {
  .application-review-content .review-image-strip,
  .application-review-content .review-image-strip:has(> .review-image-card:nth-child(3):last-child),
  .application-review-content .review-image-strip:has(> .review-image-card:nth-child(5):last-child),
  .application-review-content .review-image-pair,
  .ahu-review-page .ahu-existing-components,
  .industrial-ventilation-review-page .industrial-filter-gallery,
  .industrial-ventilation-review-page .review-story-section:nth-of-type(5) .review-image-strip,
  .cooling-closed-review-page .review-story-section:nth-of-type(2) .review-image-strip,
  .cooling-closed-review-page .review-story-section:nth-of-type(4) .review-image-strip,
  .cooling-closed-review-page .review-story-section:nth-of-type(5) .review-image-strip { grid-template-columns: 1fr !important; }
  .application-review-content .review-image-strip .review-image-card,
  .application-review-content .review-image-pair figure,
  .application-review-content .review-image-strip:has(> .review-image-card:nth-child(5):last-child) > .review-image-card,
  .industrial-ventilation-review-page .industrial-filter-gallery .review-image-card,
  .cooling-closed-review-page .review-story-section .review-image-card {
    grid-column: auto !important;
    height: clamp(230px, 72vw, 340px) !important;
  }
}

/* 2026-07-13: unified navigation, editorial reviews and solution media polish */
.bms-image-panel,
.bms-image-panel picture {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.bms-image-panel img {
  background: transparent !important;
  mix-blend-mode: screen;
  filter: brightness(1.12) contrast(1.06) !important;
}

#la-solucion .solucion-visual {
  min-height: 560px;
  overflow: visible;
}

#la-solucion .solucion-carousel {
  flex: 0 0 min(138%, 920px);
  width: min(138%, 920px);
  aspect-ratio: 1.05;
  overflow: visible;
}

#la-solucion .solucion-slides {
  inset: 0 0 72px;
}

#la-solucion .solucion-slide img {
  transform: scale(1.18);
}

#la-solucion .solucion-dots {
  bottom: 8px;
  min-height: 44px;
}

.review-editorial-page {
  background: #02060c;
}

.review-editorial-page .review-article-shell {
  width: min(1180px, calc(100% - 48px));
  grid-template-columns: minmax(0, 820px) 280px;
  gap: clamp(36px, 5vw, 72px);
  padding-top: 118px;
  padding-bottom: 96px;
  background: transparent !important;
}

.review-editorial-page .review-article-content {
  width: 100%;
  max-width: 820px;
}

.review-editorial-page .review-article-content h1 {
  margin-bottom: 28px;
  font-size: clamp(42px, 5.6vw, 76px);
  line-height: .96;
}

.review-editorial-page .article-hero-img {
  width: 100%;
  height: clamp(360px, 39vw, 510px);
  margin-bottom: 34px;
  object-fit: cover;
  border: 1px solid rgba(35, 129, 255, .46);
  border-radius: var(--radius-lg);
  background: #06101d;
}

.review-editorial-page .article-lead,
.review-editorial-page .review-article-content > p {
  font-size: 18px;
  line-height: 1.82;
}

.review-editorial-page .footer {
  margin-top: 0;
}

@media (max-width: 980px) {
  body.nav-menu-open {
    overflow: hidden;
  }

  body.nav-menu-open::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 998;
    background: rgba(0, 4, 11, .64);
    backdrop-filter: blur(8px);
  }

  .navbar {
    z-index: 1000;
  }

  .nav-links,
  .nav-links.open {
    position: fixed !important;
    inset: 82px 16px auto !important;
    z-index: 1001;
    display: none;
    width: auto !important;
    max-height: calc(100dvh - 98px);
    padding: 12px !important;
    overflow-y: auto;
    flex-direction: row !important;
    flex-wrap: wrap;
    align-items: stretch !important;
    gap: 0 !important;
    border: 1px solid rgba(35, 129, 255, .38);
    border-radius: 20px;
    background: rgba(4, 10, 20, .95) !important;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .58), inset 0 1px 0 rgba(255,255,255,.05);
    backdrop-filter: blur(24px) saturate(1.25);
  }

  .nav-links.open {
    display: flex;
  }

  .nav-links.open li,
  .nav-links.open li + li {
    width: 100% !important;
    margin: 0 !important;
  }

  .nav-links.open .nav-link {
    width: 100%;
    min-height: 52px !important;
    justify-content: flex-start;
    padding: 0 16px !important;
    border-bottom: 1px solid rgba(139, 163, 201, .12);
    border-radius: 11px;
    background: transparent;
    color: #b9c8df;
    font-size: 16px !important;
    text-align: left;
  }

  .nav-links.open .nav-link:hover,
  .nav-links.open .nav-link.active {
    color: #fff;
    background: linear-gradient(90deg, rgba(30,83,216,.22), rgba(0,198,255,.07));
  }

  .nav-links.open li:nth-last-child(2),
  .nav-links.open li:last-child {
    width: calc(50% - 5px) !important;
    margin-top: 12px !important;
  }

  .nav-links.open li:nth-last-child(2) {
    margin-right: 10px !important;
  }

  .nav-links.open .nav-login,
  .nav-links.open .nav-cta {
    display: flex;
    width: 100%;
    max-width: none;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    justify-content: center;
    border-radius: 12px;
    font-size: 15px !important;
  }

  .review-editorial-page .review-article-shell {
    width: min(100% - 32px, 820px) !important;
    padding-top: 108px;
  }
}

/* 2026-07-15: application galleries are static, balanced grids. */
.application-review-content .review-image-strip {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  width: 100%;
  max-width: 100%;
  padding: 0;
  overflow: visible !important;
  scroll-snap-type: none;
}

.application-review-content .review-image-strip .review-image-card {
  width: 100% !important;
  height: clamp(240px, 24vw, 320px) !important;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 16px;
  background: #07101d;
}

.application-review-content .review-image-strip .review-image-card img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center;
}

.application-review-content .review-image-strip:has(> .review-image-card:only-child) {
  grid-template-columns: 1fr;
}

.application-review-content .review-image-strip:has(> .review-image-card:nth-child(3):last-child) > .review-image-card:last-child {
  grid-column: 1 / -1;
}

.application-review-content .review-image-strip:has(> .review-image-card:nth-child(5):last-child) {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.application-review-content .review-image-strip:has(> .review-image-card:nth-child(5):last-child) > .review-image-card:nth-child(-n + 2) {
  grid-column: span 3;
}

.application-review-content .review-image-strip:has(> .review-image-card:nth-child(5):last-child) > .review-image-card:nth-child(n + 3) {
  grid-column: span 2;
}

.application-review-content [aria-label="Ventilación centrífuga con filtración"] > .review-image-card:last-child {
  order: -1;
  grid-column: 1 / -1;
}

.application-review-content .review-image-pair.review-image-contain {
  align-items: stretch;
  grid-auto-rows: clamp(220px, 22vw, 280px);
}

.application-review-content .review-image-pair.review-image-contain figure {
  width: 100%;
  height: 100% !important;
  min-height: 0;
  padding: 0;
  background: #07101d;
}

.application-review-content .review-image-pair.review-image-contain img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

@media (max-width: 720px) {
  .application-review-content .review-image-strip,
  .application-review-content .review-image-strip:has(> .review-image-card:nth-child(5):last-child) {
    grid-template-columns: 1fr;
  }

  .application-review-content .review-image-strip:has(> .review-image-card:nth-child(5):last-child) > .review-image-card,
  .application-review-content .review-image-strip:has(> .review-image-card:nth-child(3):last-child) > .review-image-card:last-child {
    grid-column: auto;
  }

  .application-review-content .review-image-pair.review-image-contain {
    grid-auto-rows: 240px;
  }
}

@media (max-width: 768px) {
  #la-solucion .solucion-intro {
    margin-bottom: 62px;
  }

  #la-solucion .solucion-visual {
    min-height: 470px;
  }

  #la-solucion .solucion-carousel {
    flex-basis: 130%;
    width: 130%;
    aspect-ratio: 1;
  }

  #la-solucion .solucion-slides {
    inset: 0 0 76px;
  }

  #la-solucion .solucion-slide img {
    transform: scale(1.22);
  }

  #la-solucion .solucion-dots {
    bottom: 2px;
  }

  .review-editorial-page .review-article-shell {
    gap: 24px !important;
    padding-bottom: 72px;
  }

  .review-editorial-page .review-article-content h1 {
    margin-bottom: 24px;
    font-size: clamp(38px, 11vw, 56px);
  }

  .review-editorial-page .article-hero-img {
    height: clamp(300px, 78vw, 420px);
    border-radius: 14px;
  }

  .review-editorial-page .article-lead,
  .review-editorial-page .review-article-content > p {
    font-size: 17px;
    line-height: 1.75;
    text-align: left;
  }
}

@media (max-width: 480px) {
  .beneficios-grid { grid-template-columns: 1fr; }
  .footer-links { grid-template-columns: 1fr; }
  .hero-title { font-size: 40px; }
  .hero-title .line-2 { font-size: 36px; }
  .hero-symbol-stage {
    right: -28vw;
    bottom: 8vh;
    width: min(96vw, 360px);
  }
  .glosario-grid { grid-template-columns: 1fr; }
}

/* ─── GLOSARIO SEO ──────────────────────────────────────── */
.glosario-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.glosario-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 32px 28px;
  transition: border-color 0.2s var(--ease-mech), transform 0.2s var(--ease-mech);
}
.glosario-card:hover {
  border-color: var(--brand);
  transform: translateY(-4px);
}
.glosario-icon {
  width: 44px; height: 44px;
  background: rgba(30,83,216,0.12);
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  color: var(--brand);
  font-size: 18px;
  margin-bottom: 18px;
}
.glosario-card h3 {
  font-family: var(--font-display);
  font-size: 17px; font-weight: 700;
  margin-bottom: 12px;
  color: var(--text);
}
.glosario-card p {
  font-size: 14px; line-height: 1.75;
  color: var(--text-2);
}

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

/* ─── WHATSAPP BUTTON ───────────────────────────────────── */
.whatsapp-btn {
  position: fixed;
  bottom: 32px;
  right: 24px;
  z-index: 999;
  width: 56px; height: 56px;
  background: #25D366;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  font-size: 30px;
  line-height: 1;
  box-shadow: 0 6px 22px rgba(37,211,102,0.48);
  transition: transform 0.2s var(--ease-mech), box-shadow 0.2s var(--ease-mech);
}
.whatsapp-btn i {
  display: block;
  flex: 0 0 auto;
  font-size: 30px;
  line-height: 1;
}
.whatsapp-btn::before {
  content: '';
  position: absolute;
  inset: -12px;
  z-index: -1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(37,211,102,0.46) 0 24%, rgba(37,211,102,0.19) 48%, transparent 72%);
  filter: blur(8px);
  pointer-events: none;
}
.whatsapp-btn:hover {
  transform: scale(1.1);
  box-shadow: 0 8px 28px rgba(37,211,102,0.58);
}

.solucion-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
  gap: 56px;
  align-items: center;
  margin-bottom: 64px;
}
.solucion-visual {
  position: relative;
  min-height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}
.solucion-glow {
  position: absolute;
  inset: 2% -4% -2% -2%;
  z-index: 0;
  border-radius: 42% 58% 48% 52%;
  background:
    conic-gradient(from 220deg at 50% 50%, rgba(30,83,216,0.1), rgba(0,198,255,0.46), rgba(255,90,31,0.26), rgba(30,83,216,0.42), rgba(0,198,255,0.1)),
    radial-gradient(circle at 28% 34%, rgba(0,198,255,0.42), transparent 34%),
    radial-gradient(circle at 72% 60%, rgba(30,83,216,0.44), transparent 42%);
  filter: blur(30px) saturate(1.18);
  opacity: 0.92;
  animation: solucionAurora 16s linear infinite;
}
.solucion-carousel {
  position: relative;
  z-index: 1;
  width: min(112%, 760px);
  max-width: none;
  aspect-ratio: 1.18;
  outline: none;
  touch-action: pan-y;
  cursor: grab;
  user-select: none;
}
.solucion-carousel:active { cursor: grabbing; }
.solucion-carousel:focus-visible {
  border-radius: 18px;
  box-shadow: 0 0 0 2px rgba(0,198,255,0.8);
}
.solucion-slides {
  position: absolute;
  inset: 0 0 28px;
}
.solucion-slide {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  opacity: 0;
  transform: translate3d(12%, 0, 0) scale(0.94);
  filter: blur(8px);
  transition: opacity 0.72s ease, transform 0.78s var(--ease-mech), filter 0.55s ease;
  pointer-events: none;
  will-change: opacity, transform, filter;
}
.solucion-slide.from-left {
  transform: translate3d(-12%, 0, 0) scale(0.94);
}
.solucion-slide.from-right {
  transform: translate3d(12%, 0, 0) scale(0.94);
}
.solucion-slide.is-exiting-left {
  opacity: 0;
  transform: translate3d(-10%, 0, 0) scale(0.96);
  filter: blur(6px);
}
.solucion-slide.is-exiting-right {
  opacity: 0;
  transform: translate3d(10%, 0, 0) scale(0.96);
  filter: blur(6px);
}
.solucion-slide.is-active {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
  pointer-events: auto;
  z-index: 2;
}
.solucion-slide img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 34px 58px rgba(0,0,0,0.42));
  -webkit-user-drag: none;
  user-select: none;
}
.solucion-dots {
  position: absolute;
  left: 50%;
  bottom: -10px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 0;
  transform: translateX(-50%);
}
.solucion-dot {
  position: relative;
  width: 44px;
  height: 44px;
  min-width: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  touch-action: manipulation;
}
.solucion-dot::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(151,167,196,0.45);
  transform: translate(-50%, -50%);
  transition: width 0.25s ease, background 0.25s ease;
}
.solucion-dot:hover::before { background: rgba(151,167,196,0.8); }
.solucion-dot.is-active::before {
  width: 20px;
  background: var(--cyan);
}
.solucion-dot:focus-visible {
  outline: none;
}
.solucion-dot:focus-visible::after {
  content: '';
  position: absolute;
  inset: 5px;
  border: 2px solid rgba(0,198,255,0.72);
  border-radius: 999px;
}
.solucion-copy .section-desc {
  max-width: 620px;
  margin-bottom: 0;
}
@keyframes solucionAurora {
  0% { transform: translate3d(-4%, 2%, 0) rotate(0deg) scale(1.02); }
  50% { transform: translate3d(4%, -3%, 0) rotate(180deg) scale(1.08); }
  100% { transform: translate3d(-4%, 2%, 0) rotate(360deg) scale(1.02); }
}
@media (prefers-reduced-motion: reduce) {
  .solucion-slide,
  .solucion-slide.from-left,
  .solucion-slide.from-right,
  .solucion-slide.is-exiting-left,
  .solucion-slide.is-exiting-right {
    transform: none;
    filter: none;
    transition: opacity 0.38s ease;
  }
  .solucion-glow { animation: none; }
}
.sistema-features {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px; margin-bottom: 56px;
}
.sfeat {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px; padding: 28px 24px;
  transition: border-color 0.2s var(--ease-mech);
}
.sfeat:hover { border-color: var(--brand); }
.sfeat-icon {
  width: 40px; height: 40px;
  background: rgba(30,83,216,0.12);
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  color: var(--brand); font-size: 16px;
  margin-bottom: 16px;
}
.sfeat h3 {
  font-family: var(--font-display);
  font-size: 16px; font-weight: 700;
  margin-bottom: 10px;
}
.sfeat p { font-size: 13.5px; color: var(--text-2); line-height: 1.7; }

.zacore-real {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px; align-items: center;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 20px; overflow: hidden;
}
.zacore-real-img img {
  width: 100%; display: block;
  height: 100%; min-height: 280px;
  object-fit: cover;
}
.zacore-real-text { padding: 40px 40px 40px 0; }
.zacore-real-text h3 {
  font-family: var(--font-display);
  font-size: 26px; font-weight: 800;
  margin-bottom: 16px;
}
.zacore-real-text p { font-size: 14.5px; color: var(--text-2); line-height: 1.75; }
.zacore-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.tech-pill {
  font-size: 11px; font-weight: 600;
  border: 1px solid var(--border-2);
  color: var(--brand); padding: 4px 12px;
  border-radius: 20px;
}

.bms-showcase {
  margin-top: 64px;
  display: grid;
  gap: 18px;
}
.bms-image-panel {
  width: 100%;
  aspect-ratio: 2048 / 504;
  background: transparent;
}
.bms-image-panel picture {
  display: block;
  width: 100%;
  height: 100%;
}
.bms-image-panel img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.bms-visual {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  border: 1px solid rgba(30, 131, 255, 0.34);
  border-radius: 20px;
  background:
    radial-gradient(ellipse at 58% 48%, rgba(30,83,216,0.20), transparent 46%),
    radial-gradient(ellipse at 88% 20%, rgba(0,212,255,0.13), transparent 34%),
    linear-gradient(145deg, rgba(4,12,28,0.98), rgba(3,10,23,0.96) 48%, rgba(2,8,18,0.98));
  box-shadow: 0 28px 90px rgba(0,0,0,0.38), inset 0 0 80px rgba(30,83,216,0.10);
}
.bms-visual::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(30,131,255,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(30,131,255,0.045) 1px, transparent 1px);
  background-size: 58px 58px;
  mask-image: radial-gradient(ellipse at 52% 54%, black 0 56%, transparent 86%);
  opacity: 0.55;
}
.bms-blueprint-grid {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(0,212,255,0.10), transparent);
  transform: translateX(-100%);
  animation: bmsScan 8s linear infinite;
}
.bms-control-box,
.bms-dashboard,
.bms-node,
.duct-body,
.duct-inlet {
  border: 1px solid rgba(235,244,255,0.72);
  box-shadow: 0 0 24px rgba(30,131,255,0.12);
}
.bms-control-box {
  position: absolute;
  left: 8%;
  top: 14%;
  width: 150px;
  height: 170px;
  transform: perspective(700px) rotateY(-22deg);
  background: rgba(4,13,29,0.48);
}
.control-screen {
  width: 72px;
  height: 52px;
  margin: 34px auto 16px;
  border: 1px solid rgba(235,244,255,0.75);
  border-radius: 4px;
}
.bms-control-box span {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-left: 24px;
  border: 1px solid rgba(235,244,255,0.65);
}
.bms-dashboard {
  position: absolute;
  left: 31%;
  top: 9%;
  width: 34%;
  min-width: 330px;
  height: 220px;
  padding: 18px;
  border-radius: 8px;
  background: rgba(5,16,36,0.42);
  transform: perspective(900px) rotateY(-6deg);
}
.dash-top {
  height: 18px;
  border: 1px solid rgba(235,244,255,0.38);
  border-radius: 12px;
  margin-bottom: 16px;
}
.dash-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.dash-bars,
.dash-pie,
.dash-chart,
.dash-list {
  border: 1px solid rgba(235,244,255,0.28);
  border-radius: 6px;
}
.dash-bars {
  height: 70px;
  display: flex;
  align-items: end;
  gap: 7px;
  padding: 12px;
}
.dash-bars span {
  width: 8px;
  background: rgba(235,244,255,0.78);
  animation: bmsBars 1.9s ease-in-out infinite alternate;
}
.dash-bars span:nth-child(1) { height: 20%; animation-delay: 0.1s; }
.dash-bars span:nth-child(2) { height: 45%; animation-delay: 0.2s; }
.dash-bars span:nth-child(3) { height: 62%; animation-delay: 0.3s; }
.dash-bars span:nth-child(4) { height: 34%; animation-delay: 0.4s; }
.dash-bars span:nth-child(5) { height: 78%; animation-delay: 0.5s; }
.dash-pie {
  height: 70px;
  background: conic-gradient(rgba(235,244,255,0.86) 0 27%, transparent 27% 31%, rgba(235,244,255,0.28) 31% 68%, transparent 68% 72%, rgba(0,212,255,0.34) 72% 100%);
  mask-image: radial-gradient(circle, transparent 0 30%, black 31%);
}
.dash-chart {
  height: 52px;
  margin-top: 14px;
  background:
    linear-gradient(135deg, transparent 0 18%, rgba(235,244,255,0.72) 19% 21%, transparent 22% 46%, rgba(0,212,255,0.7) 47% 49%, transparent 50% 100%);
}
.dash-list {
  position: absolute;
  right: 18px;
  bottom: 18px;
  width: 38%;
  height: 52px;
  padding: 9px;
}
.dash-list span {
  display: block;
  height: 2px;
  margin: 8px 0;
  background: rgba(235,244,255,0.5);
}
.bms-nodes {
  position: absolute;
  right: 6.5%;
  top: 6%;
  width: 24%;
  height: 360px;
  display: grid;
  grid-template-columns: repeat(2, minmax(82px, 1fr));
  gap: 18px 28px;
}
.bms-node {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  border-radius: 50%;
  color: var(--text);
  font-size: 28px;
  background: rgba(2,10,23,0.34);
}
.bms-node::before {
  content: '';
  position: absolute;
  inset: -6px;
  border: 1px dashed rgba(235,244,255,0.76);
  border-radius: inherit;
  animation: bmsSpin 18s linear infinite;
}
.bms-duct {
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: 8%;
  height: 240px;
}
.duct-body {
  position: absolute;
  left: 8%;
  right: 0;
  bottom: 20px;
  height: 180px;
  transform: skewY(7deg);
  background: linear-gradient(180deg, rgba(8,22,44,0.26), rgba(1,9,21,0.46));
}
.duct-inlet {
  position: absolute;
  left: 0;
  bottom: 50px;
  width: 110px;
  height: 90px;
  transform: skewY(8deg);
  background:
    repeating-linear-gradient(90deg, transparent 0 12px, rgba(235,244,255,0.23) 13px 14px),
    rgba(3,11,24,0.45);
}
.duct-panel {
  position: relative;
  float: left;
  width: 18%;
  height: 100%;
  border-right: 1px solid rgba(235,244,255,0.34);
}
.duct-fanwall {
  position: absolute;
  left: 42%;
  top: 24%;
  width: 150px;
  height: 132px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(0,98,255,0.92);
  background: rgba(0,98,255,0.11);
  box-shadow: 0 0 34px rgba(0,98,255,0.52);
  transform: skewY(-7deg);
}
.duct-fanwall img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 0 14px rgba(0,98,255,0.74));
  animation: bmsSymbolSpin 4.8s linear infinite;
}
.bms-line {
  position: absolute;
  height: 2px;
  background: repeating-linear-gradient(90deg, var(--cyan) 0 4px, transparent 4px 11px);
  filter: drop-shadow(0 0 8px rgba(0,212,255,0.85));
  animation: bmsLine 1.2s linear infinite;
}
.line-control {
  left: 19%;
  top: 29%;
  width: 14%;
}
.line-dashboard {
  left: 16%;
  top: 52%;
  width: 5%;
  transform: rotate(90deg);
}
.line-nodes-a {
  right: 25%;
  top: 17%;
  width: 12%;
}
.line-nodes-b {
  right: 25%;
  top: 31%;
  width: 12%;
}
.bms-flow {
  position: absolute;
  display: grid;
  gap: 18px;
}
.bms-flow span {
  width: 120px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--brand), var(--cyan));
  filter: drop-shadow(0 0 10px rgba(0,212,255,0.9));
  animation: bmsAir 1.6s ease-in-out infinite;
}
.flow-left {
  left: -8px;
  bottom: 116px;
}
.flow-right {
  right: -20px;
  bottom: 134px;
}
.flow-left span:nth-child(2),
.flow-right span:nth-child(2) { animation-delay: 0.22s; }
.flow-left span:nth-child(3),
.flow-right span:nth-child(3) { animation-delay: 0.44s; }
.bms-copy {
  display: grid;
  grid-template-columns: minmax(260px, 0.62fr) minmax(360px, 1fr) auto;
  gap: 28px;
  align-items: start;
  padding: 30px;
  border: 1px solid rgba(30,83,216,0.24);
  border-radius: 16px;
  background: rgba(12,24,45,0.70);
}
.bms-copy h3 {
  font-family: var(--font-display);
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.05;
  margin-top: 10px;
}
.bms-copy p {
  color: var(--text-2);
  line-height: 1.78;
  font-size: 14.5px;
}
.bms-copy .zacore-pills {
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  min-width: 132px;
}
.bms-copy .tech-pill {
  width: 100%;
  text-align: center;
}

@media (max-width: 1024px) {
  .bms-visual { min-height: 560px; }
  .bms-control-box {
    left: 5%;
    width: 118px;
    height: 138px;
  }
  .bms-dashboard {
    left: 25%;
    width: 38%;
    min-width: 260px;
    height: 190px;
  }
  .bms-nodes {
    right: 4%;
    width: 27%;
    height: 300px;
    gap: 14px;
  }
  .bms-node { font-size: 22px; }
  .bms-duct {
    left: 5%;
    right: 5%;
  }
  .duct-fanwall {
    width: 128px;
    height: 112px;
  }
  .bms-copy {
    grid-template-columns: 1fr;
  }
  .bms-copy .zacore-pills {
    justify-content: flex-start;
  }
}
@media (max-width: 640px) {
  .bms-visual {
    min-height: 520px;
    border-radius: 16px;
  }
  .bms-control-box {
    left: 7%;
    top: 10%;
    width: 92px;
    height: 112px;
  }
  .control-screen {
    width: 52px;
    height: 38px;
    margin-top: 24px;
  }
  .bms-control-box span {
    width: 7px;
    height: 7px;
    margin-left: 16px;
  }
  .bms-dashboard {
    left: 34%;
    top: 8%;
    width: 58%;
    min-width: 0;
    height: 168px;
    padding: 12px;
  }
  .dash-pie,
  .dash-list {
    display: none;
  }
  .dash-row {
    grid-template-columns: 1fr;
  }
  .bms-nodes {
    right: 6%;
    top: 42%;
    width: 36%;
    height: 190px;
    gap: 12px;
    grid-template-columns: repeat(2, 1fr);
  }
  .bms-node {
    font-size: 17px;
  }
  .bms-duct {
    left: 2%;
    right: 2%;
    bottom: 6%;
    height: 205px;
  }
  .duct-body {
    left: 6%;
    height: 135px;
  }
  .duct-inlet {
    width: 78px;
    height: 64px;
  }
  .duct-fanwall {
    left: 43%;
    top: 22%;
    width: 96px;
    height: 86px;
    gap: 7px;
    padding: 8px;
  }
  .bms-copy {
    padding: 22px;
  }
}

/* ─── EL PROBLEMA ───────────────────────────────────────── */
.problem-layout {
  display: grid;
  grid-template-columns: minmax(320px, 0.78fr) minmax(560px, 1.22fr);
  gap: 52px;
  align-items: start;
}
.problem-copy {
  padding-top: 18px;
}
.problem-copy .section-title {
  max-width: 520px;
}
.problem-copy .section-desc {
  max-width: 520px;
  margin-bottom: 0;
}
.problem-interactive {
  position: relative;
  min-height: 560px;
  margin: 0;
  overflow: visible;
  background: transparent;
}
.problem-interactive::before {
  content: '';
  position: absolute;
  inset: 12% 2% 8%;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 22% 40%, rgba(255,90,31,0.72), transparent 36%),
    radial-gradient(ellipse at 50% 62%, rgba(130,132,138,0.20), transparent 38%),
    radial-gradient(ellipse at 82% 42%, rgba(255,90,31,0.56), transparent 34%),
    radial-gradient(ellipse at 66% 80%, rgba(255,90,31,0.36), transparent 30%);
  filter: blur(46px) saturate(1.22);
  opacity: .82;
  animation: oldSystemGlow 8s ease-in-out infinite alternate;
}
.problem-interactive::after {
  content: '';
  position: absolute;
  inset: 18% 7% 12%;
  pointer-events: none;
  z-index: 0;
  border-radius: 50%;
  background:
    conic-gradient(from 145deg at 48% 56%, rgba(255,90,31,0), rgba(255,90,31,0.66), rgba(170,174,182,0.12), rgba(10,13,20,0), rgba(255,90,31,0.42), rgba(255,90,31,0));
  mask-image: radial-gradient(ellipse at 50% 52%, black 0 36%, transparent 70%);
  filter: blur(38px) saturate(1.08);
  opacity: .68;
  animation: oldSystemDrift 10s ease-in-out infinite alternate;
}
.problem-interactive img {
  position: relative;
  z-index: 1;
  width: 132%;
  max-width: none;
  height: 560px;
  margin-left: -24%;
  object-fit: contain;
  filter: saturate(0.88) contrast(0.96) drop-shadow(0 34px 62px rgba(0,0,0,0.48));
}
.problem-issues {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 52px;
}
.problem-issue-card {
  position: relative;
  isolation: isolate;
  min-height: 220px;
  padding: 26px 24px;
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: 0 16px 36px rgba(0,0,0,0.16);
  transition: transform 0.25s var(--ease-mech), border-color 0.25s ease, box-shadow 0.25s ease;
}
.problem-issue-card::before {
  content: '';
  position: absolute;
  inset: -1px;
  z-index: -1;
  border: 1px solid rgba(255,90,31,0.58);
  border-radius: inherit;
  box-shadow: inset 0 0 28px rgba(255,90,31,0.08), 0 0 0 rgba(255,90,31,0);
  opacity: 0.22;
  pointer-events: none;
  animation: problemCardPulse 4.2s ease-in-out infinite;
  animation-delay: var(--issue-delay, 0s);
}
.problem-issue-card:hover {
  transform: translateY(-3px);
  border-color: rgba(255,90,31,0.48);
  box-shadow: 0 22px 48px rgba(0,0,0,0.25), 0 0 26px rgba(255,90,31,0.08);
}
.problem-issue-icon {
  position: relative;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  margin-bottom: 18px;
  color: var(--pop);
  background: rgba(255,90,31,0.12);
  border: 1px solid rgba(255,90,31,0.18);
  border-radius: 10px;
}
.problem-issue-icon::after {
  content: '';
  position: absolute;
  inset: -6px;
  border: 1px solid rgba(255,90,31,0.46);
  border-radius: 14px;
  pointer-events: none;
  animation: problemIconPulse 3.6s ease-out infinite;
  animation-delay: var(--issue-delay, 0s);
}
.problem-issue-kicker {
  display: block;
  margin-bottom: 8px;
  color: var(--pop);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.problem-issue-card h3 {
  margin: 0 0 10px;
  color: var(--text);
  font-family: var(--font-display);
  font-size: 18px;
  line-height: 1.2;
}
.problem-issue-card p {
  margin: 0;
  color: var(--text-2);
  font-size: 14px;
  line-height: 1.65;
}
@keyframes problemCardPulse {
  0%, 100% { opacity: 0.2; box-shadow: inset 0 0 22px rgba(255,90,31,0.05), 0 0 0 rgba(255,90,31,0); }
  50% { opacity: 0.82; box-shadow: inset 0 0 34px rgba(255,90,31,0.12), 0 0 24px rgba(255,90,31,0.12); }
}
@keyframes problemIconPulse {
  0% { transform: scale(0.78); opacity: 0.7; }
  75%, 100% { transform: scale(1.38); opacity: 0; }
}
.problem-hotspot {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.problem-hotspot:hover,
.problem-hotspot:focus-visible,
.problem-hotspot:focus {
  z-index: 40;
}
.hotspot-dot {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, var(--pop), #c73716);
  border: 1px solid rgba(255,255,255,0.24);
  box-shadow: 0 0 0 8px rgba(255,90,31,0.16), 0 14px 32px rgba(0,0,0,0.36);
  transition: transform 0.2s var(--ease-mech), box-shadow 0.2s var(--ease-mech);
}
.hotspot-dot::after {
  content: '';
  position: absolute;
  width: 62px;
  height: 62px;
  border: 1px solid rgba(255,90,31,0.42);
  border-radius: 50%;
  animation: hotspotPulse 2s ease-out infinite;
}
.hotspot-label {
  position: absolute;
  left: calc(100% + 12px);
  top: 50%;
  transform: translateY(-50%);
  width: max-content;
  max-width: 176px;
  padding: 9px 12px;
  text-align: left;
  border-radius: 8px;
  background: rgba(8,14,26,0.78);
  border: 1px solid rgba(30,83,216,0.28);
  box-shadow: 0 14px 34px rgba(0,0,0,0.28);
  backdrop-filter: blur(12px);
  transition: opacity 0.16s var(--ease-mech), visibility 0.16s, transform 0.16s var(--ease-mech);
}
.hotspot-label .mono {
  display: block;
  margin-bottom: 3px;
  color: var(--pop);
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1.2;
}
.hotspot-label strong {
  display: block;
  color: var(--text);
  font-family: var(--font-display);
  font-size: 15px;
  line-height: 1.15;
  white-space: nowrap;
}
.hotspot-icon-only .hotspot-label {
  display: none;
}
.hotspot-card {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 18px);
  width: min(300px, 42vw);
  padding: 18px 18px 20px;
  border-radius: 8px;
  text-align: left;
  background: rgba(8,14,26,0.94);
  border: 1px solid rgba(30,83,216,0.35);
  box-shadow: 0 22px 54px rgba(0,0,0,0.42);
  backdrop-filter: blur(16px);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 10px);
  z-index: 60;
  pointer-events: none;
  transition: opacity 0.2s var(--ease-mech), transform 0.2s var(--ease-mech), visibility 0.2s;
}
.hotspot-card::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -8px;
  width: 16px;
  height: 16px;
  transform: translateX(-50%) rotate(45deg);
  background: rgba(8,14,26,0.94);
  border-right: 1px solid rgba(30,83,216,0.35);
  border-bottom: 1px solid rgba(30,83,216,0.35);
}
.hotspot-kicker {
  display: block;
  margin-bottom: 8px;
  color: var(--pop);
  font-size: 10px;
  letter-spacing: 0.14em;
}
.hotspot-card strong {
  display: block;
  margin-bottom: 8px;
  color: var(--text);
  font-family: var(--font-display);
  font-size: 18px;
  line-height: 1.2;
}
.hotspot-card span:last-child {
  display: block;
  color: var(--text-2);
  font-size: 14px;
  line-height: 1.55;
}
.problem-hotspot:hover .hotspot-dot,
.problem-hotspot:focus-visible .hotspot-dot,
.problem-hotspot:focus .hotspot-dot {
  transform: scale(1.08);
  box-shadow: 0 0 0 10px rgba(255,90,31,0.22), 0 18px 42px rgba(0,0,0,0.42);
}
.problem-hotspot:hover .hotspot-label,
.problem-hotspot:focus-visible .hotspot-label,
.problem-hotspot:focus .hotspot-label {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-50%) scale(0.96);
}
.problem-hotspot:hover .hotspot-card,
.problem-hotspot:focus-visible .hotspot-card,
.problem-hotspot:focus .hotspot-card {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
.hs-control .hotspot-card,
.hs-energy .hotspot-card,
.hs-vibration .hotspot-card {
  left: calc(100% + 24px);
  bottom: auto;
  top: 50%;
  transform: translate(0, calc(-50% + 10px));
}
.hs-control .hotspot-card::after,
.hs-energy .hotspot-card::after,
.hs-vibration .hotspot-card::after {
  left: -8px;
  bottom: auto;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  border: 0;
  border-left: 1px solid rgba(30,83,216,0.35);
  border-bottom: 1px solid rgba(30,83,216,0.35);
}
.hs-control:hover .hotspot-card,
.hs-control:focus-visible .hotspot-card,
.hs-control:focus .hotspot-card,
.hs-energy:hover .hotspot-card,
.hs-energy:focus-visible .hotspot-card,
.hs-energy:focus .hotspot-card,
.hs-vibration:hover .hotspot-card,
.hs-vibration:focus-visible .hotspot-card,
.hs-vibration:focus .hotspot-card {
  transform: translate(0, -50%);
}
.hs-control .hotspot-label {
  left: auto;
  right: calc(100% + 12px);
}
.hs-control .hotspot-card {
  left: auto;
  right: calc(100% + 24px);
}
.hs-control .hotspot-card::after {
  left: auto;
  right: -8px;
  border: 0;
  border-right: 1px solid rgba(30,83,216,0.35);
  border-top: 1px solid rgba(30,83,216,0.35);
}
.hs-belts { left: 12.5%; top: 62.5%; }
.hs-energy { left: 2.5%; top: 32.5%; }
.hs-redundancy { left: 62.5%; top: 57.5%; }
.hs-vibration { left: 82.5%; top: 52.5%; }
.hs-maintenance { left: 42.5%; top: 72.5%; }
.hs-control { left: 7.5%; top: 42.5%; }
@keyframes hotspotPulse {
  0% { transform: scale(0.8); opacity: 0.65; }
  100% { transform: scale(1.35); opacity: 0; }
}
@keyframes oldSystemDrift {
  0% { transform: translate3d(-4%, 2%, 0) rotate(-12deg) scale(0.96); opacity: 0.62; }
  45% { transform: translate3d(3%, -4%, 0) rotate(7deg) scale(1.08); opacity: 0.95; }
  100% { transform: translate3d(5%, -1%, 0) rotate(14deg) scale(1.02); opacity: 0.78; }
}
@keyframes oldSystemGlow {
  0% { transform: translate3d(-4%, 3%, 0) scale(0.94); opacity: 0.82; }
  40% { transform: translate3d(2%, -3%, 0) scale(1.1); opacity: 1; }
  100% { transform: translate3d(5%, -1%, 0) scale(1.03); opacity: 0.92; }
}
@keyframes bmsScan {
  0% { transform: translateX(-110%); opacity: 0; }
  18%, 72% { opacity: 0.55; }
  100% { transform: translateX(110%); opacity: 0; }
}
@keyframes bmsBars {
  0% { transform: scaleY(0.72); opacity: 0.55; }
  100% { transform: scaleY(1.08); opacity: 1; }
}
@keyframes bmsSpin {
  to { transform: rotate(360deg); }
}
@keyframes bmsSymbolSpin {
  to { transform: rotate(360deg); }
}
@keyframes bmsLine {
  to { background-position: 22px 0; }
}
@keyframes bmsAir {
  0% { transform: translateX(-10px); opacity: 0.25; }
  50% { opacity: 1; }
  100% { transform: translateX(16px); opacity: 0.35; }
}

@media (max-width: 1180px) {
  .problem-layout {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .problem-copy .section-title,
  .problem-copy .section-desc {
    max-width: 760px;
  }
  .problem-interactive {
    min-height: 620px;
  }
  .problem-interactive img {
    width: min(108%, 1280px);
    height: 620px;
    margin-left: -4%;
  }
}

@media (max-width: 900px) {
  .problem-issues { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .problem-interactive { min-height: 540px; }
  .problem-interactive img {
    height: 540px;
    width: 112%;
    margin-left: -8%;
  }
  .hotspot-card { width: min(280px, 74vw); }
  .hotspot-label {
    max-width: 154px;
    padding: 8px 10px;
  }
  .hotspot-label strong { font-size: 13px; }
  .hs-belts { left: 38%; top: 55%; }
  .hs-energy { left: 16%; top: 57%; }
  .hs-redundancy { left: 56%; top: 42%; }
  .hs-vibration { left: 14%; top: 80%; }
  .hs-maintenance { left: 50%; top: 88%; }
  .hs-control { left: 78%; top: 20%; }
}

@media (max-width: 640px) {
  .problem-issues {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 36px;
  }
  .problem-issue-card { min-height: 0; }
  .problem-interactive { min-height: 560px; }
  .problem-interactive img {
    height: 560px;
    width: 150%;
    margin-left: -35%;
    object-position: center;
  }
  .hotspot-dot {
    width: 40px;
    height: 40px;
  }
  .hotspot-label { display: none; }
  .hotspot-card {
    bottom: auto;
    top: calc(100% + 16px);
    width: min(272px, 86vw);
  }
  .hotspot-card::after {
    top: -8px;
    bottom: auto;
    border: 0;
    border-left: 1px solid rgba(30,83,216,0.35);
    border-top: 1px solid rgba(30,83,216,0.35);
  }
  .hs-belts { left: 42%; top: 55%; }
  .hs-energy { left: 20%; top: 57%; }
  .hs-redundancy { left: 58%; top: 40%; }
  .hs-vibration { left: 20%; top: 80%; }
  .hs-maintenance { left: 52%; top: 88%; }
  .hs-control { left: 74%; top: 20%; }
}

/* ─── CAROUSEL ───────────────────────────────────────────── */
.carousel-outer {
  position: relative;
  display: block;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px 26px;
}
.carousel {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: none;
  scroll-behavior: auto;
  gap: 20px;
  padding: 12px 0 12px;
  scrollbar-width: none;
  cursor: grab;
  user-select: none;
  overscroll-behavior-inline: contain;
  touch-action: pan-y;
}
.carousel,
.carousel * {
  -webkit-user-select: none;
  user-select: none;
}
.carousel.dragging {
  cursor: grabbing;
}
.carousel > a {
  cursor: grab;
}
.carousel.dragging > a {
  cursor: grabbing;
}
.carousel::-webkit-scrollbar { display: none; }
.carousel-btn {
  display: none;
}
.carousel-range {
  width: min(360px, 56vw);
  display: block;
  margin: 12px auto 0;
  appearance: none;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(30,83,216,0.45), rgba(0,200,240,0.28));
  opacity: 0.78;
  outline: none;
}
.carousel-range::-webkit-slider-thumb {
  appearance: none;
  width: 34px;
  height: 6px;
  border-radius: 999px;
  background: rgba(210,229,255,0.84);
  box-shadow: 0 0 16px rgba(30,83,216,0.35);
  cursor: pointer;
}
.carousel-range::-moz-range-thumb {
  width: 34px;
  height: 6px;
  border: 0;
  border-radius: 999px;
  background: rgba(210,229,255,0.84);
  box-shadow: 0 0 16px rgba(30,83,216,0.35);
  cursor: pointer;
}
.carousel-range:focus-visible {
  box-shadow: 0 0 0 3px rgba(30,83,216,0.2);
}

/* card */
.cc {
  flex: 0 0 clamp(300px, 28vw, 370px);
  scroll-snap-align: start;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: transform 0.22s var(--ease-mech), border-color 0.22s, box-shadow 0.22s;
  cursor: pointer;
  display: flex; flex-direction: column;
  color: inherit;
  text-decoration: none;
}
.cc:hover { transform: translateY(-4px); border-color: var(--border-2); box-shadow: var(--glow-sm); }
.cc-img {
  width: 100%;
  height: clamp(210px, 19vw, 250px);
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
  -webkit-user-drag: none;
  user-select: none;
  pointer-events: none;
  transition: filter 0.22s var(--ease-mech);
}
.cc:hover .cc-img { filter: saturate(1.06) contrast(1.03); }
.cc-body {
  padding: 20px 20px 24px;
  display: flex; flex-direction: column; flex: 1;
}
.cc-tag {
  display: none;
  align-items: center; gap: 6px;
  background: rgba(30,83,216,0.12);
  border: 1px solid rgba(30,83,216,0.22);
  color: var(--cyan);
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .08em;
  padding: 3px 10px; border-radius: 20px;
  margin-bottom: 12px;
}
.cc-body h3 {
  font-family: var(--font-display);
  font-size: 16px; font-weight: 700;
  margin-bottom: 10px; line-height: 1.3;
}
.cc-body p {
  font-size: 13.5px; color: var(--text-2);
  line-height: 1.65; flex: 1;
}
.cc-more {
  display: inline-flex; align-items: center; gap: 7px;
  margin-top: 16px;
  background: none; border: none; cursor: pointer;
  color: var(--brand);
  font-family: var(--font-mono); font-size: 12px; font-weight: 600;
  letter-spacing: .06em;
  padding: 0;
  transition: gap 0.2s;
}
.cc-more:hover { gap: 12px; }
.section-header {
  position: relative;
}
.section-action {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 18px;
  background: rgba(7, 13, 24, 0.96);
  color: #fff;
  text-decoration: none;
  border-radius: 8px;
  padding: 11px 16px;
  font-size: 13px;
  font-weight: 800;
  border: 1px solid rgba(255, 92, 36, 0.28);
  box-shadow: 0 0 0 1px rgba(255, 92, 36, 0.08), 0 16px 44px rgba(255, 82, 31, 0.18);
  transition: transform 0.2s var(--ease-mech), box-shadow 0.2s var(--ease-mech);
}
.section-action::before {
  content: "";
  position: absolute;
  inset: -22px -28px;
  z-index: -1;
  border-radius: 18px;
  background: radial-gradient(circle at 50% 50%, rgba(255, 83, 30, 0.72), rgba(255, 83, 30, 0.34) 34%, transparent 70%);
  filter: blur(15px);
  opacity: 1;
  pointer-events: none;
}
.section-action i {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(7, 13, 24, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 11px;
}
.section-action:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 0 1px rgba(255, 122, 47, 0.24), 0 20px 56px rgba(255, 82, 31, 0.32);
}

/* ─── BLOG PAGES ─────────────────────────────────────────── */
.blog-page {
  background: var(--bg);
  color: var(--text);
  min-height: 100vh;
}
.blog-main {
  padding: 144px 0 92px;
}
.blog-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
  align-items: end;
  margin-bottom: 44px;
}
.blog-hero .section-title {
  max-width: 900px;
  margin-bottom: 16px;
}
.blog-hero p {
  max-width: 680px;
  color: var(--text-2);
  font-size: 18px;
  line-height: 1.8;
}
.blog-index-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.blog-card {
  background: #070d18;
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  transition: transform 0.25s var(--ease-mech), border-color 0.25s, box-shadow 0.25s;
}
.blog-card:hover {
  transform: translateY(-5px);
  border-color: rgba(0,200,240,0.48);
  box-shadow: 0 22px 70px rgba(0,0,0,0.32);
}
.blog-card img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  display: block;
}
.blog-card-body {
  min-height: 76px;
  padding: 18px 20px;
  background: #0b111d;
  border-top: 1px solid rgba(255, 255, 255, 0.04);
}
.blog-card-body h2 {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  font-family: var(--font-display);
  font-size: 18px;
  line-height: 1.22;
  margin-bottom: 0;
}
.blog-card-body h2::before {
  content: "";
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin-top: 3px;
  background: #fff;
  -webkit-mask: url("../assets/compartidos/marca/retrofit_symbol.svg") center / contain no-repeat;
  mask: url("../assets/compartidos/marca/retrofit_symbol.svg") center / contain no-repeat;
}
.blog-card-body p {
  color: var(--text-2);
  line-height: 1.65;
}
.blog-card-body p,
#blog .cc-body p,
#blog .cc-more {
  display: none;
}
#blog .cc-body {
  min-height: 76px;
  padding: 18px 20px;
  justify-content: center;
  background: #0b111d;
  border-top: 1px solid rgba(255, 255, 255, 0.04);
}
#blog .cc-body h3 {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  font-size: 15px;
  letter-spacing: 0.02em;
  margin-bottom: 0;
}
#blog .cc-body h3::before {
  content: "";
  flex: 0 0 15px;
  width: 15px;
  height: 15px;
  margin-top: 2px;
  background: #fff;
  -webkit-mask: url("../assets/compartidos/marca/retrofit_symbol.svg") center / contain no-repeat;
  mask: url("../assets/compartidos/marca/retrofit_symbol.svg") center / contain no-repeat;
}
#blog .cc {
  border-radius: 8px;
  background: rgba(10,18,32,.82);
}
#blog .cc-img {
  height: clamp(210px, 19vw, 250px);
}
.blog-card img,
#blog .cc-img {
  pointer-events: none;
}
.blog-pill,
.blog-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--brand);
  font: 700 12px/1 var(--font-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  margin-bottom: 16px;
}
.blog-pill {
  display: none;
}
.article-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 42px;
  align-items: start;
  padding: 144px 0 92px;
}
.article-content {
  max-width: 820px;
}
.article-content h1 {
  font-size: clamp(42px, 6vw, 76px);
  line-height: 0.95;
  margin-bottom: 24px;
}
.article-lead {
  color: var(--text);
  font-size: 20px;
  line-height: 1.75;
  margin: 0 0 28px;
}
.article-hero-img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(35, 129, 255, 0.72);
  margin: 12px 0 34px;
  background: rgba(3, 12, 26, 0.82);
  box-shadow:
    0 0 0 1px rgba(0, 200, 240, 0.16),
    0 0 34px rgba(0, 143, 255, 0.18),
    0 28px 90px rgba(30, 83, 216, 0.24);
}

.motor-source-product-main img,
.motor-source-exploded img:first-child,
.motor-source-detail-image img {
  border: 1px solid rgba(35, 129, 255, 0.72);
  border-radius: var(--radius-lg);
  background: rgba(3, 12, 26, 0.82);
  box-shadow:
    0 0 0 1px rgba(0, 200, 240, 0.16),
    0 0 34px rgba(0, 143, 255, 0.18),
    0 28px 90px rgba(30, 83, 216, 0.24);
}
.article-content > .section-label {
  display: none;
}
.article-content h2 {
  font-size: 30px;
  margin: 36px 0 14px;
}
.article-content p,
.article-content li {
  color: var(--text-2);
  font-size: 17px;
  line-height: 1.8;
}
.article-content ul {
  display: grid;
  gap: 10px;
  padding-left: 20px;
}
.article-content ul li::marker {
  color: var(--orange);
}
.article-content h3 {
  margin: 24px 0 8px;
  color: var(--text-1);
  font-size: 20px;
}
.article-content .article-conclusion {
  padding-left: 16px;
  border-left: 3px solid var(--orange);
}

.article-sidebar {
  position: sticky;
  top: 100px;
  counter-reset: review;
  background:
    linear-gradient(180deg, rgba(18,31,52,0.96), rgba(8,15,27,0.92)),
    radial-gradient(circle at 18% 0%, rgba(30,83,216,0.18), transparent 38%);
  border: 1px solid rgba(30,83,216,0.28);
  border-radius: var(--radius-lg);
  padding: 18px;
  box-shadow: 0 18px 54px rgba(0,0,0,0.22), inset 0 1px 0 rgba(255,255,255,0.03);
}
.article-sidebar h3 {
  font-family: var(--font-display);
  font-size: 17px;
  margin-bottom: 16px;
}
.article-sidebar a {
  counter-increment: review;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 12px;
  border-radius: 7px;
  color: var(--text-2);
  text-decoration: none;
  border: 1px solid transparent;
  transition: color 0.2s, border-color 0.2s, background 0.2s, transform 0.2s;
}
.article-sidebar a::before {
  content: "0" counter(review);
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--cyan);
  background: rgba(30,83,216,0.14);
  border: 1px solid rgba(30,83,216,0.28);
}
.article-sidebar a:hover,
.article-sidebar a.active {
  color: var(--text);
  border-color: rgba(30,83,216,0.35);
  background: rgba(30,83,216,0.12);
  transform: translateX(2px);
}
.article-sidebar a:hover::before,
.article-sidebar a.active::before {
  color: #fff;
  background: linear-gradient(135deg, var(--brand), var(--cyan));
  box-shadow: 0 0 18px rgba(30,83,216,0.42);
}
.motor-article-shell {
  grid-template-columns: minmax(0, 1fr) 300px;
}
.motor-article {
  max-width: none;
}
.motor-article-head {
  margin-bottom: 28px;
}
.motor-article-head h1 {
  max-width: 880px;
  margin-bottom: 18px;
}
.motor-article-head .article-lead {
  max-width: 840px;
}
.motor-article-hero-img {
  margin: 0 0 24px;
  overflow: hidden;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(30, 83, 216, 0.42);
  background: rgba(9, 17, 31, 0.95);
  box-shadow: 0 26px 80px rgba(0, 0, 0, 0.34), 0 0 42px rgba(30, 83, 216, 0.18);
}
.motor-article-hero-img img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.motor-principle {
  margin-top: 22px;
  border: 1px solid rgba(30, 83, 216, 0.28);
  background:
    radial-gradient(circle at 86% 0%, rgba(0, 200, 240, 0.13), transparent 28%),
    rgba(14, 25, 43, 0.82);
  border-radius: var(--radius-lg);
  padding: clamp(24px, 3vw, 34px);
}
.motor-principle + .motor-article-grid {
  margin-top: 22px;
}
.motor-principle h2 {
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1;
  margin: 0 0 18px;
}
.motor-principle p {
  max-width: 860px;
}
.motor-hero-article {
  position: relative;
  display: grid;
  grid-template-columns: minmax(340px, 0.82fr) minmax(380px, 1.18fr);
  align-items: stretch;
  gap: 0;
  overflow: hidden;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(30, 83, 216, 0.34);
  background:
    radial-gradient(circle at 78% 22%, rgba(0, 200, 240, 0.18), transparent 34%),
    radial-gradient(circle at 18% 86%, rgba(30, 83, 216, 0.28), transparent 38%),
    linear-gradient(135deg, rgba(9, 17, 31, 0.98), rgba(14, 31, 58, 0.92));
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
.motor-hero-article::before {
  content: "";
  position: absolute;
  inset: -30%;
  background:
    linear-gradient(110deg, transparent 20%, rgba(0, 200, 240, 0.12) 45%, transparent 62%),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.035) 0 1px, transparent 1px 92px);
  opacity: 0.42;
  pointer-events: none;
}
.motor-hero-copy,
.motor-hero-figure {
  position: relative;
  z-index: 1;
}
.motor-hero-copy {
  padding: clamp(30px, 4vw, 54px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.motor-hero-copy h1 {
  font-size: clamp(46px, 6vw, 84px);
  line-height: 0.92;
  margin: 0 0 22px;
}
.motor-hero-figure {
  margin: 0;
  min-height: 520px;
  background: radial-gradient(circle at 55% 50%, rgba(0, 120, 255, 0.18), transparent 58%);
}
.motor-hero-figure img {
  width: 100%;
  height: 100%;
  min-height: 520px;
  display: block;
  object-fit: cover;
}
.motor-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 26px;
}
.motor-metrics span {
  display: grid;
  gap: 5px;
  padding: 13px 14px;
  border-radius: 8px;
  background: rgba(30, 83, 216, 0.13);
  border: 1px solid rgba(30, 83, 216, 0.24);
}
.motor-metrics strong {
  color: #fff;
  font: 800 20px/1 var(--font-display);
}
.motor-metrics small {
  color: var(--text-2);
  font-size: 12px;
}
.motor-article-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 22px;
}
.motor-feature,
.article-panel,
.motor-compare > div {
  border: 1px solid rgba(30, 83, 216, 0.24);
  background: rgba(14, 25, 43, 0.82);
  border-radius: var(--radius-lg);
  padding: 22px;
}
.feature-index {
  display: inline-flex;
  color: var(--cyan);
  margin-bottom: 18px;
}
.motor-feature h2,
.article-panel h2 {
  font-size: 24px;
  line-height: 1.1;
  margin: 0 0 12px;
}
.motor-feature p,
.article-panel p,
.motor-compare p {
  margin: 0;
}
.article-panel {
  margin-top: 22px;
}
.motor-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 22px;
}
.motor-compare span {
  display: inline-flex;
  color: var(--brand);
  margin-bottom: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.motor-section-head {
  max-width: 820px;
  margin-bottom: 22px;
}
.motor-section-head h2,
.motor-signal-panel h2 {
  font-size: clamp(28px, 3.6vw, 42px);
  line-height: 1.05;
  margin: 0 0 14px;
  text-wrap: balance;
}
.motor-section-head p,
.motor-signal-panel p {
  max-width: 760px;
  margin: 0;
}
.motor-signal-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 0.42fr);
  gap: 24px;
  align-items: center;
  margin-top: 22px;
  border: 1px solid rgba(0, 200, 240, 0.26);
  border-radius: var(--radius-lg);
  padding: clamp(24px, 3vw, 34px);
  background:
    linear-gradient(135deg, rgba(14, 25, 43, 0.94), rgba(9, 17, 31, 0.98)),
    rgba(14, 25, 43, 0.82);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
.signal-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}
.signal-stack span {
  min-width: 96px;
  padding: 12px 14px;
  border-radius: 8px;
  border: 1px solid rgba(30, 83, 216, 0.32);
  background: rgba(30, 83, 216, 0.13);
  color: var(--text);
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}
.motor-advantage-list,
.motor-applications {
  margin-top: 32px;
}
.motor-advantage-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.motor-advantage {
  min-width: 0;
  border: 1px solid rgba(30, 83, 216, 0.24);
  border-radius: var(--radius-lg);
  padding: 22px;
  background: rgba(14, 25, 43, 0.82);
}
.motor-advantage i {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin-bottom: 18px;
  border-radius: 8px;
  background: rgba(0, 200, 240, 0.12);
  color: var(--cyan);
  font-size: 17px;
}
.motor-advantage h3 {
  font-family: var(--font-display);
  font-size: 19px;
  line-height: 1.15;
  margin: 0 0 10px;
}
.motor-advantage p {
  margin: 0;
}
.motor-application-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.motor-application {
  overflow: hidden;
  border: 1px solid rgba(30, 83, 216, 0.24);
  border-radius: var(--radius-lg);
  background: rgba(14, 25, 43, 0.82);
}
.motor-application img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 700 / 352;
  object-fit: cover;
}
.motor-application div {
  padding: 20px 22px 22px;
}
.motor-application span {
  display: inline-flex;
  margin-bottom: 10px;
  color: var(--brand);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.motor-application p {
  margin: 0;
}
.motor-closing-panel {
  display: grid;
  gap: 16px;
}
.motor-closing-panel .section-action {
  width: fit-content;
  margin-top: 2px;
}
.blog-footer {
  padding: 34px 0;
  border-top: 1px solid var(--border);
  color: var(--text-2);
}

@media (max-width: 900px) {
  .blog-hero,
  .article-shell {
    grid-template-columns: 1fr;
  }
  .blog-index-grid {
    grid-template-columns: 1fr;
  }
  .article-sidebar {
    position: static;
  }
  .motor-hero-article,
  .motor-article-grid,
  .motor-compare,
  .motor-signal-panel,
  .motor-advantage-grid,
  .motor-application-grid {
    grid-template-columns: 1fr;
  }
  .motor-hero-figure,
  .motor-hero-figure img {
    min-height: 360px;
  }
  .motor-metrics {
    grid-template-columns: 1fr;
  }
  .signal-stack {
    justify-content: flex-start;
  }
  .motor-advantage-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .cc { flex: 0 0 82vw; }
  .carousel { padding: 8px 0 12px; }
  .carousel-range { width: 68vw; }
  .motor-advantage-grid {
    grid-template-columns: 1fr;
  }
  .signal-stack span {
    flex: 1 1 130px;
  }
}

/* ─── MOTOR EC SOURCE REDESIGN ───────────────────────────── */
.motor-source-page {
  background: #050914;
}
.motor-source-main {
  padding: 118px 24px 92px;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px) 0 0 / 96px 96px,
    radial-gradient(circle at 74% 6%, rgba(30,83,216,0.22), transparent 32%),
    radial-gradient(circle at 16% 20%, rgba(0,200,240,0.12), transparent 34%),
    #050914;
}
.motor-source-article {
  max-width: 1180px;
  margin: 0 auto;
}
.motor-source-eyebrow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
  color: var(--text-3);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.motor-source-eyebrow .blog-back {
  margin: 0;
}
.motor-source-hero,
.motor-source-section {
  border: 1px solid rgba(30,83,216,0.28);
  border-radius: 8px;
  background: rgba(8, 15, 27, 0.86);
  box-shadow: 0 28px 90px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.035);
}
.motor-source-hero {
  overflow: hidden;
}
.motor-source-hero-grid {
  display: grid;
  grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1.18fr);
  min-height: 620px;
}
.motor-source-hero-copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(34px, 5vw, 72px);
  background:
    linear-gradient(90deg, rgba(5,9,20,0.98), rgba(5,9,20,0.78) 74%, transparent),
    rgba(5,9,20,0.92);
}
.motor-source-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
}
.motor-source-tabs span {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(0,200,240,0.26);
  border-radius: 999px;
  padding: 8px 13px;
  color: var(--cyan);
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.motor-source-hero-copy h1 {
  max-width: 540px;
  margin: 0 0 22px;
  font-size: clamp(46px, 7vw, 92px);
  line-height: 0.9;
  text-wrap: balance;
}
.motor-source-hero-copy p {
  margin: 0;
  color: var(--brand);
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 800;
}
.motor-source-hero-media {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  isolation: isolate;
}
.motor-source-hero-media img {
  position: absolute;
  display: block;
  max-width: none;
  object-fit: contain;
}
.hero-bg-panel {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  opacity: 0.22;
  filter: grayscale(1);
}
.hero-fanwall {
  top: 58px;
  right: 46px;
  width: min(58vw, 520px);
  filter: drop-shadow(0 28px 44px rgba(0,0,0,0.38));
}
.hero-control {
  right: 7%;
  bottom: 8%;
  width: min(34vw, 310px);
  opacity: 0.92;
}
.hero-floating {
  width: min(58vw, 620px);
  filter: drop-shadow(0 32px 58px rgba(0,0,0,0.42));
}
.hero-floating-a {
  left: -7%;
  bottom: 4%;
}
.hero-floating-b {
  right: -18%;
  top: 28%;
  opacity: 0.78;
}
.motor-source-section {
  margin-top: 22px;
  padding: clamp(28px, 4vw, 54px);
}
.motor-source-section-head {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  margin-bottom: 26px;
}
.motor-source-section-head > span,
.motor-source-control-copy > span {
  color: var(--cyan);
  font-weight: 800;
  letter-spacing: 0.18em;
}
.motor-source-section-head h2,
.motor-source-control-copy h2,
.motor-source-contact-card h2 {
  margin: 0;
  font-size: clamp(34px, 5vw, 64px);
  line-height: 0.96;
  text-wrap: balance;
}
.motor-source-section-head p,
.motor-source-copy-stack p,
.motor-source-exploded p,
.motor-source-adv-grid p,
.motor-source-fan-layout p,
.motor-source-contact-card p {
  color: var(--text-2);
  font-size: 17px;
  line-height: 1.75;
}
.motor-source-section-head p {
  grid-column: 2;
  max-width: 700px;
  margin: -10px 0 0;
}
.motor-source-copy-stack {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.motor-source-copy-stack p {
  margin: 0;
}
.motor-source-product-row,
.motor-source-detail-grid {
  display: grid;
  gap: 16px;
  margin-top: 28px;
}
.motor-source-product-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.motor-source-detail-grid {
  grid-template-columns: 0.8fr 1fr 1fr;
}
.motor-source-product-row img,
.motor-source-detail-grid img,
.motor-source-exploded img,
.motor-source-control-media img,
.motor-source-fan-layout img,
.motor-source-wide-fan img {
  width: 100%;
  height: auto;
  display: block;
}
.motor-source-product-row img,
.motor-source-detail-grid img {
  border-radius: 8px;
  background: rgba(255,255,255,0.04);
  object-fit: contain;
}
.motor-source-exploded {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
  gap: 28px;
  align-items: center;
}
.motor-source-exploded img {
  border-radius: 8px;
  background: radial-gradient(circle at 50% 50%, rgba(30,83,216,0.18), transparent 62%);
}
.motor-source-exploded h3 {
  margin: 0 0 18px;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1;
}
.motor-source-exploded p {
  margin: 0 0 12px;
}
.motor-source-adv-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.motor-source-adv-grid article {
  min-width: 0;
  padding: 24px;
  border: 1px solid rgba(30,83,216,0.24);
  border-radius: 8px;
  background: rgba(11, 20, 36, 0.86);
}
.motor-source-adv-grid img {
  width: 58px;
  height: 58px;
  display: block;
  margin-bottom: 20px;
  object-fit: contain;
  border-radius: 8px;
}
.motor-source-adv-grid h3 {
  margin: 0 0 10px;
  font-size: 22px;
  line-height: 1.1;
}
.motor-source-adv-grid p {
  margin: 0;
}
.motor-source-control {
  display: grid;
  grid-template-columns: minmax(250px, 0.58fr) minmax(0, 1.42fr);
  gap: 28px;
  align-items: center;
  overflow: hidden;
}
.motor-source-control-copy a,
.motor-source-contact-card a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  margin-top: 22px;
  padding: 12px 18px;
  border-radius: 999px;
  background: var(--brand);
  color: #fff;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: none;
  transition: transform 0.22s var(--ease-mech), background 0.22s var(--ease-mech), box-shadow 0.22s var(--ease-mech);
}
.motor-source-control-copy a:hover,
.motor-source-contact-card a:hover {
  transform: translateY(-2px);
  background: var(--cyan);
  box-shadow: 0 18px 44px rgba(0,200,240,0.26);
}
.motor-source-control-media {
  position: relative;
  min-height: 390px;
}
.motor-source-control-media img:first-child {
  position: relative;
  z-index: 2;
  width: min(78%, 560px);
  margin-left: auto;
  filter: drop-shadow(0 28px 48px rgba(0,0,0,0.42));
}
.motor-source-control-media img:last-child {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 18px;
  z-index: 1;
  width: 100%;
  opacity: 0.78;
}
.motor-source-fan-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.motor-source-fan-layout article {
  overflow: hidden;
  border: 1px solid rgba(30,83,216,0.24);
  border-radius: 8px;
  background: rgba(11, 20, 36, 0.86);
}
.motor-source-fan-layout img {
  aspect-ratio: 1328 / 669;
  object-fit: cover;
}
.motor-source-fan-layout div {
  padding: 24px;
}
.motor-source-fan-layout h3 {
  margin: 0 0 12px;
  font-size: 26px;
  line-height: 1.08;
}
.motor-source-fan-layout p {
  margin: 0;
}
.motor-source-wide-fan {
  margin: 20px 0 0;
  overflow: hidden;
  border: 1px solid rgba(0,200,240,0.18);
  border-radius: 8px;
  background: rgba(255,255,255,0.02);
}
.motor-source-wide-fan img {
  object-fit: cover;
}
.motor-source-contact {
  position: relative;
  min-height: 420px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.motor-source-contact > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.42;
  filter: grayscale(1);
}
.motor-source-contact-card {
  position: relative;
  z-index: 1;
  width: min(720px, 100%);
  padding: clamp(28px, 5vw, 54px);
  border: 1px solid rgba(0,200,240,0.25);
  border-radius: 8px;
  background: rgba(5,9,20,0.86);
  text-align: center;
  backdrop-filter: blur(10px);
}
.motor-source-contact-card img {
  width: min(260px, 80%);
  height: auto;
  margin: 0 auto 24px;
  display: block;
}
.motor-source-contact-card h2 {
  margin-bottom: 8px;
}
.motor-source-contact-card p {
  margin: 5px 0;
}
@media (max-width: 1000px) {
  .motor-source-hero-grid,
  .motor-source-copy-stack,
  .motor-source-exploded,
  .motor-source-control,
  .motor-source-fan-layout {
    grid-template-columns: 1fr;
  }
  .motor-source-hero-media {
    min-height: 460px;
  }
  .motor-source-product-row,
  .motor-source-adv-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .motor-source-detail-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .motor-source-main {
    padding: 96px 14px 72px;
  }
  .motor-source-eyebrow {
    align-items: flex-start;
    flex-direction: column;
  }
  .motor-source-hero-grid {
    min-height: auto;
  }
  .motor-source-hero-copy,
  .motor-source-section {
    padding: 24px;
  }
  .motor-source-hero-media {
    min-height: 390px;
  }
  .hero-fanwall {
    top: 22px;
    right: 14px;
    width: 84%;
  }
  .hero-control {
    width: 48%;
    right: 8px;
  }
  .hero-floating {
    width: 104%;
  }
  .hero-floating-a {
    left: -30%;
  }
  .hero-floating-b {
    right: -52%;
  }
  .motor-source-section-head {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .motor-source-section-head p {
    grid-column: auto;
    margin-top: 0;
  }
  .motor-source-product-row,
  .motor-source-adv-grid {
    grid-template-columns: 1fr;
  }
  .motor-source-control-media {
    min-height: 300px;
  }
  .motor-source-control-media img:first-child {
    width: 88%;
  }
}

/* Faithful Motor EC source layout */
.motor-source-page {
  background: var(--bg);
}
.motor-source-main {
  padding: 118px 24px 92px;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px) 0 0 / 92px 92px,
    radial-gradient(circle at 78% 4%, rgba(30,83,216,0.18), transparent 34%),
    var(--bg);
}
.motor-source-article {
  max-width: 1180px;
  margin: 0 auto;
}
.motor-source-back {
  margin-bottom: 18px;
}
.motor-source-hero,
.motor-source-section,
.motor-source-exploded,
.motor-source-fanwalls,
.motor-source-contact {
  margin-top: 22px;
  border: 1px solid rgba(30,83,216,0.26);
  border-radius: 8px;
  background: rgba(8,15,27,0.88);
  box-shadow: 0 24px 80px rgba(0,0,0,0.24), inset 0 1px 0 rgba(255,255,255,0.035);
}
.motor-source-hero {
  margin-top: 0;
  min-height: 440px;
  display: flex;
  align-items: center;
  padding: clamp(40px, 7vw, 96px);
  background:
    linear-gradient(90deg, rgba(5,9,20,0.96), rgba(5,9,20,0.74)),
    radial-gradient(circle at 72% 44%, rgba(0,200,240,0.16), transparent 36%),
    rgba(8,15,27,0.92);
}
.motor-source-hero-copy {
  padding: 0;
  background: transparent;
}
.motor-source-hero h1 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(56px, 9vw, 118px);
  line-height: 0.88;
  text-wrap: balance;
}
.motor-source-section {
  padding: clamp(34px, 5vw, 72px);
}
.motor-source-intro {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.7fr);
  gap: clamp(28px, 5vw, 70px);
  align-items: center;
}
.motor-source-copy h2,
.motor-source-section-title h2,
.motor-source-fans-title h2,
.motor-source-fan-block h2,
.motor-source-control h1,
.motor-source-contact h2 {
  margin: 0 0 18px;
  font-size: clamp(34px, 5vw, 64px);
  line-height: 0.98;
  text-wrap: balance;
}
.motor-source-copy p,
.motor-source-secondary-copy p,
.motor-source-section-title p,
.motor-source-adv-grid p,
.motor-source-compact-copy p,
.motor-source-fans-title p,
.motor-source-fan-block p,
.motor-source-contact p,
.motor-source-contact li,
.motor-source-contact small {
  color: var(--text-2);
  font-size: 17px;
  line-height: 1.75;
}
.motor-source-copy p,
.motor-source-secondary-copy p {
  margin: 0;
}
.motor-source-product-main {
  margin: 0;
}
.motor-source-product-main img {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 30px 58px rgba(0,0,0,0.38));
}
.motor-source-secondary-copy {
  max-width: none;
}
.motor-source-allinone {
  display: grid;
  grid-template-columns: minmax(280px, 0.58fr) minmax(260px, 0.42fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
}
.motor-source-allinone h3 {
  margin: 0 0 10px;
  color: var(--cyan);
  font-family: var(--font-mono);
  font-size: 14px;
  letter-spacing: 0.18em;
  text-transform: none;
}
.motor-source-allinone p {
  margin: 0;
  color: var(--text);
  font-family: var(--font-display);
  font-size: clamp(32px, 5vw, 64px);
  font-weight: 800;
  line-height: 0.98;
}
.motor-source-allinone figure,
.motor-source-exploded,
.motor-source-fan-block figure {
  margin: 0;
}
.motor-source-allinone img,
.motor-source-exploded img,
.motor-source-control img,
.motor-source-fan-block img,
.motor-source-fanwalls img,
.motor-source-contact img,
.motor-source-compact-images img {
  display: block;
  width: 100%;
  height: auto;
}
.motor-source-exploded {
  padding: clamp(22px, 4vw, 44px);
  background: rgba(8,15,27,0.74);
}
.motor-source-detail-image {
  width: min(620px, 100%);
  margin: 22px auto 0;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid rgba(30,83,216,0.26);
  border-radius: 8px;
  background: rgba(8,15,27,0.88);
}
.motor-source-detail-image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.motor-source-section-title {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 34px;
}
.motor-source-section-title p,
.motor-source-fans-title p {
  margin: 0;
}
.motor-source-adv-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.motor-source-adv-grid article {
  min-width: 0;
  padding: 24px 22px 26px;
  border: 1px solid rgba(30,83,216,0.22);
  border-radius: 8px;
  background: rgba(11,20,36,0.86);
  text-align: center;
}
.motor-source-adv-grid img {
  width: 64px;
  height: 64px;
  margin: 0 auto 18px;
  object-fit: contain;
}
.motor-source-adv-grid h4 {
  margin: 0 0 10px;
  font-family: var(--font-display);
  font-size: 22px;
  line-height: 1.1;
}
.motor-source-adv-grid p {
  margin: 0;
  font-size: 15.5px;
}
.motor-source-compact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.48fr);
  gap: clamp(28px, 5vw, 58px);
  align-items: center;
}
.motor-source-compact-images {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.motor-source-compact-images img {
  border-radius: 8px;
  background: rgba(255,255,255,0.96);
}
.motor-source-compact-copy h3 {
  margin: 0 0 16px;
  font-size: clamp(30px, 4vw, 54px);
  line-height: 1;
}
.motor-source-compact-copy p {
  margin: 0;
}
.motor-source-control {
  display: grid;
  grid-template-columns: minmax(280px, 0.54fr) minmax(0, 0.8fr);
  gap: clamp(30px, 6vw, 82px);
  align-items: center;
}
.motor-source-control h1 {
  font-size: clamp(48px, 8vw, 96px);
}
.motor-source-control a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  margin-top: 8px;
  padding: 12px 18px;
  border-radius: 999px;
  background: var(--brand);
  color: #fff;
  font-weight: 700;
  transition: transform 0.22s var(--ease-mech), background 0.22s var(--ease-mech), box-shadow 0.22s var(--ease-mech);
}
.motor-source-control a:hover {
  transform: translateY(-2px);
  background: var(--brand-light);
  box-shadow: var(--glow-md);
}
.motor-source-control figure {
  margin: 0;
}
.motor-source-fans-title {
  text-align: center;
}
.motor-source-fans-title p {
  max-width: 760px;
  margin: 0 auto;
}
.motor-source-fan-block {
  display: grid;
  grid-template-columns: minmax(0, 0.58fr) minmax(0, 0.72fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
}
.motor-source-fan-block-alt {
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 0.58fr);
}
.motor-source-fan-block p {
  margin: 0;
}
.motor-source-fan-block img {
  border-radius: 8px;
}
.motor-source-fanwalls {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 20px;
  align-items: center;
  padding: clamp(22px, 4vw, 40px);
}
.motor-source-fanwalls img {
  border-radius: 8px;
}
.motor-source-contact {
  position: relative;
  min-height: 480px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(28px, 5vw, 58px);
}
.motor-source-contact-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  opacity: 0.35;
  filter: grayscale(1);
}
.motor-source-contact-content {
  position: relative;
  z-index: 1;
  width: min(720px, 100%);
  text-align: center;
}
.motor-source-contact-content > img {
  width: min(260px, 78%);
  margin: 0 auto 24px;
}
.motor-source-contact-content p {
  margin: 0 0 10px;
  color: var(--text);
  font-size: clamp(22px, 3vw, 34px);
  font-weight: 700;
}
.motor-source-contact a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  margin: 8px 0 20px;
  padding: 12px 20px;
  border-radius: 999px;
  background: var(--brand);
  color: #fff;
  font-weight: 700;
  transition: transform 0.22s var(--ease-mech), background 0.22s var(--ease-mech), box-shadow 0.22s var(--ease-mech);
}
.motor-source-contact a:hover {
  transform: translateY(-2px);
  background: var(--brand-light);
  box-shadow: var(--glow-md);
}
.motor-source-contact ul {
  display: grid;
  gap: 4px;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}
.motor-source-contact small {
  display: block;
}
@media (max-width: 980px) {
  .motor-source-intro,
  .motor-source-allinone,
  .motor-source-compact,
  .motor-source-control,
  .motor-source-fan-block,
  .motor-source-fan-block-alt,
  .motor-source-fanwalls {
    grid-template-columns: 1fr;
  }
  .motor-source-adv-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.review-cfd-mobile {
  display: none;
}

@media (max-width: 640px) {
  .application-review-content > .application-detail-image {
    height: clamp(300px, 82vw, 390px) !important;
    min-height: 0 !important;
  }

  .application-review-content > .application-detail-image > img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .application-review-content .review-inline-image {
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    line-height: 0;
  }

  .application-review-content .review-inline-image > img {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  .application-review-content .review-image-pair {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  .application-review-content .review-image-pair figure {
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto;
    line-height: 0;
  }

  .application-review-content .review-image-pair img {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  .application-review-content .review-fill-mobile {
    height: clamp(220px, 62vw, 300px) !important;
    overflow: hidden;
  }

  .application-review-content .review-fill-mobile > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .review-cfd-desktop {
    display: none;
  }

  .review-cfd-mobile {
    display: grid;
    gap: 18px;
    margin: 24px 0 34px;
  }

  .review-cfd-mobile figure {
    position: relative;
    width: 100%;
    aspect-ratio: 1.45 / 1;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(35,129,255,.5);
    border-radius: var(--radius-lg);
    background: #fff;
  }

  .review-cfd-mobile img {
    position: absolute;
    top: 0;
    width: 200%;
    max-width: none;
    height: 100%;
    object-fit: cover;
  }

  .review-cfd-mobile figure:first-child img {
    left: 0;
  }

  .review-cfd-mobile figure:last-child img {
    right: 0;
  }
}
@media (max-width: 640px) {
  .motor-source-main {
    padding: 96px 14px 72px;
  }
  .motor-source-hero,
  .motor-source-section,
  .motor-source-exploded,
  .motor-source-fanwalls,
  .motor-source-contact {
    padding: 24px;
  }
  .motor-source-hero {
    min-height: 330px;
  }
  .motor-source-hero h1 {
    font-size: clamp(46px, 16vw, 70px);
  }
  .motor-source-adv-grid,
  .motor-source-compact-images {
    grid-template-columns: 1fr;
  }
  .motor-source-compact-images img {
    max-width: 260px;
    margin: 0 auto;
  }
  .motor-source-contact {
    min-height: 430px;
  }
}

/* Motor EC page: faithful light source layout with Retrofit tokens */
.motor-source-page {
  background: #fff;
  color: #061a45;
}
.motor-source-page .navbar {
  background: rgba(6, 10, 18, 0.94);
}
.motor-source-main {
  padding: 96px 0 0;
  background: #fff;
}
.motor-source-article {
  max-width: none;
  margin: 0;
}
.motor-source-back {
  max-width: 1600px;
  margin: 0 auto;
  padding: 22px 40px 0;
  color: var(--brand);
}
.motor-source-hero,
.motor-source-section,
.motor-source-exploded,
.motor-source-detail-image,
.motor-source-fanwalls,
.motor-source-contact {
  width: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: #fff;
}
.motor-source-hero {
  min-height: 360px;
  justify-content: center;
  padding: clamp(78px, 10vw, 150px) 40px clamp(56px, 7vw, 100px);
}
.motor-source-hero h1 {
  max-width: 1180px;
  color: #17204d;
  text-align: center;
  font-size: clamp(48px, 6vw, 96px);
  line-height: 1.02;
}
.motor-source-section {
  padding: clamp(72px, 8vw, 130px) 40px;
}
.motor-source-intro {
  max-width: 1600px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(520px, 0.9fr);
  gap: clamp(34px, 5vw, 84px);
  align-items: end;
  padding-top: 42px;
  padding-bottom: 0;
}
.motor-source-intro .motor-source-copy {
  display: contents;
}
.motor-source-intro h2 {
  grid-column: 1 / -1;
  margin: 0 0 54px;
  color: #17204d;
  text-align: center;
  font-size: clamp(42px, 5vw, 72px);
  line-height: 1.08;
}
.motor-source-intro .motor-source-copy p {
  grid-column: 1 / -1;
  max-width: 1420px;
  margin: 0 auto 32px;
  color: #06255d;
  font-size: 16px;
  line-height: 1.55;
  text-align: left;
}
.motor-source-product-main {
  grid-column: 2;
  align-self: end;
  margin: -80px 0 0;
}
.motor-source-product-main img {
  width: min(760px, 100%);
  margin-left: auto;
  filter: none;
}
.motor-source-secondary-copy {
  max-width: 1600px;
  margin: 0 auto;
  padding-top: 0;
  padding-bottom: 48px;
  background: #fff;
}
.motor-source-secondary-copy p {
  width: min(760px, 48vw);
  margin: -420px 0 0;
  color: #06255d;
  font-size: 16px;
  line-height: 1.55;
}
.motor-source-allinone {
  display: block;
  padding: clamp(96px, 10vw, 150px) 40px 24px;
  background: #f4f6fa;
  text-align: center;
}
.motor-source-allinone h3 {
  margin: 0;
  color: #17204d;
  font-family: var(--font-display);
  font-size: clamp(44px, 5vw, 76px);
  font-weight: 800;
  letter-spacing: 0;
  text-transform: none;
}
.motor-source-allinone p {
  margin: 10px 0 46px;
  color: #12366f;
  font-family: var(--font-body);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.25;
}
.motor-source-allinone figure {
  display: none;
}
.motor-source-exploded {
  padding: 18px 40px clamp(86px, 8vw, 130px);
  background: #f4f6fa;
}
.motor-source-exploded img {
  max-width: 1260px;
  margin: 0 auto;
  border-radius: 0;
  background: transparent;
}
.motor-source-detail-image {
  display: none;
}
.motor-source-advantages {
  padding-top: clamp(88px, 9vw, 145px);
  padding-bottom: clamp(90px, 9vw, 150px);
}
.motor-source-section-title {
  max-width: 1000px;
  margin: 0 auto 70px;
  text-align: center;
}
.motor-source-section-title h2 {
  color: #17204d;
  font-size: clamp(44px, 5vw, 76px);
}
.motor-source-section-title p {
  color: #12366f;
  font-size: 24px;
}
.motor-source-adv-grid {
  max-width: 1600px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 20px;
  row-gap: 22px;
}
.motor-source-adv-grid article {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  text-align: left;
}
.motor-source-adv-grid img {
  width: 100%;
  height: auto;
  aspect-ratio: 660 / 594;
  margin: 0 0 24px;
  object-fit: cover;
  background: #f2f2f2;
  border-radius: 0;
}
.motor-source-adv-grid h4 {
  margin: 0 0 14px;
  color: #061a45;
  font-size: 24px;
  line-height: 1.15;
}
.motor-source-adv-grid p {
  margin: 0 0 24px;
  color: #06255d;
  font-size: 16px;
  line-height: 1.55;
}
.motor-source-compact {
  max-width: 1500px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(440px, 0.9fr);
  gap: clamp(44px, 7vw, 110px);
  align-items: center;
  padding-top: clamp(74px, 8vw, 130px);
  padding-bottom: clamp(74px, 8vw, 130px);
}
.motor-source-compact-images {
  position: relative;
  min-height: 620px;
  display: block;
}
.motor-source-compact-images img {
  position: absolute;
  width: min(340px, 45%);
  max-width: none;
  border-radius: 0;
  background: transparent;
}
.motor-source-compact-images img:nth-child(1) {
  left: 4%;
  top: 0;
}
.motor-source-compact-images img:nth-child(2) {
  right: 12%;
  top: 10%;
}
.motor-source-compact-images img:nth-child(3) {
  left: 0;
  bottom: 0;
  width: min(430px, 58%);
}
.motor-source-compact-images img:nth-child(4) {
  right: 6%;
  bottom: 8%;
  width: min(260px, 36%);
}
.motor-source-compact-copy h3 {
  margin: 0 0 24px;
  color: #17204d;
  font-size: clamp(44px, 5vw, 72px);
  line-height: 1.05;
}
.motor-source-compact-copy p {
  max-width: 620px;
  color: #06255d;
  font-size: 16px;
  line-height: 1.55;
}
.motor-source-control {
  min-height: 480px;
  display: grid;
  grid-template-columns: minmax(320px, 0.62fr) minmax(0, 1fr);
  gap: 60px;
  align-items: center;
  padding: clamp(54px, 7vw, 92px) max(40px, calc((100vw - 1640px) / 2));
  background:
    linear-gradient(90deg, rgba(255,255,255,0.94), rgba(255,255,255,0.82)),
    url("../assets/paginas/blog/motor-ec/motor-ec-aplicacion-hvac.jpg") center / cover no-repeat;
}
.motor-source-control h1 {
  margin: 0;
  color: #17204d;
  font-size: clamp(54px, 6vw, 86px);
  line-height: 1.05;
}
.motor-source-control a {
  border-radius: 999px;
  background: var(--brand-light);
}
.motor-source-control figure img {
  width: min(560px, 100%);
  margin: 0 auto;
}
.motor-source-fans-title {
  padding-top: clamp(92px, 10vw, 150px);
  padding-bottom: 54px;
  text-align: center;
}
.motor-source-fans-title h2 {
  color: #17204d;
  font-size: clamp(44px, 5vw, 76px);
}
.motor-source-fans-title p {
  max-width: 1120px;
  color: #12366f;
  font-size: 24px;
  line-height: 1.35;
}
.motor-source-fan-block {
  max-width: 1640px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(360px, 0.52fr) minmax(0, 1fr);
  gap: clamp(40px, 7vw, 100px);
  align-items: center;
  padding-top: 28px;
  padding-bottom: 76px;
}
.motor-source-fan-block-alt {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.52fr);
}
.motor-source-fan-block h2 {
  color: #061a45;
  font-size: 24px;
}
.motor-source-fan-block p {
  color: #06255d;
  font-size: 16px;
  line-height: 1.55;
}
.motor-source-fan-block img {
  width: 100%;
  border-radius: 0;
}
.motor-source-fanwalls {
  max-width: 1500px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 38px;
  padding: 40px 40px 110px;
  background: #fff;
}
.motor-source-fanwalls img {
  width: min(980px, 100%);
  margin: 0 auto;
  border-radius: 0;
}
.motor-source-contact {
  display: none;
}
.motor-source-page .footer {
  margin-top: 0;
}
@media (max-width: 980px) {
  .motor-source-intro,
  .motor-source-compact,
  .motor-source-control,
  .motor-source-fan-block,
  .motor-source-fan-block-alt {
    grid-template-columns: 1fr;
  }
  .motor-source-secondary-copy p {
    width: auto;
    margin: 0;
  }
  .motor-source-product-main {
    grid-column: auto;
    margin: 0;
  }
  .motor-source-adv-grid {
    grid-template-columns: 1fr;
  }
  .motor-source-compact-images {
    min-height: 520px;
  }
  .motor-source-control {
    padding-left: 32px;
    padding-right: 32px;
  }
}
@media (max-width: 640px) {
  .motor-source-main {
    padding-top: 82px;
  }
  .motor-source-back {
    padding-left: 20px;
    padding-right: 20px;
  }
  .motor-source-hero,
  .motor-source-section,
  .motor-source-exploded,
  .motor-source-fanwalls {
    padding-left: 20px;
    padding-right: 20px;
  }
  .motor-source-intro h2,
  .motor-source-section-title h2,
  .motor-source-compact-copy h3,
  .motor-source-control h1,
  .motor-source-fans-title h2 {
    text-align: left;
  }
  .motor-source-intro h2,
  .motor-source-section-title {
    margin-bottom: 30px;
  }
  .motor-source-compact-images {
    min-height: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .motor-source-compact-images img,
  .motor-source-compact-images img:nth-child(n) {
    position: static;
    width: 100%;
    max-width: none;
  }
  .motor-source-fans-title p,
  .motor-source-section-title p {
    font-size: 18px;
    text-align: left;
  }
}

/* ─── MODAL ──────────────────────────────────────────────── */
.modal-overlay {
  position: fixed; inset: 0; z-index: 2000;
  background: rgba(6,10,18,0.82);
  backdrop-filter: blur(10px);
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
  opacity: 0; pointer-events: none;
  transition: opacity 0.25s var(--ease-mech);
}
.modal-overlay.active { opacity: 1; pointer-events: all; }
.modal-box {
  background: var(--surface);
  border: 1px solid var(--border-2);
  border-radius: var(--radius-xl);
  max-width: 640px; width: 100%;
  max-height: 88vh; overflow-y: auto;
  position: relative;
  transform: translateY(20px) scale(0.97);
  transition: transform 0.28s var(--ease-mech);
  scrollbar-width: thin;
  scrollbar-color: var(--border) transparent;
}
.modal-overlay.active .modal-box { transform: translateY(0) scale(1); }
.modal-close {
  position: sticky; top: 12px; float: right;
  margin: 12px 12px 0 0;
  width: 36px; height: 36px;
  background: var(--surface-2); border: 1px solid var(--border);
  border-radius: 50%; color: var(--text-2);
  font-size: 14px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: all 0.18s;
  z-index: 10;
}
.modal-close:hover { background: var(--brand); color: #fff; border-color: var(--brand); }
.modal-body {
  padding: 8px 32px 32px;
  clear: both;
}
.modal-body .modal-tag {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(30,83,216,0.12); border: 1px solid rgba(30,83,216,0.22);
  color: var(--cyan); font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .1em; padding: 4px 12px;
  border-radius: 20px; margin-bottom: 16px;
}
.modal-body .modal-img {
  width: 100%; border-radius: var(--radius-md);
  margin-bottom: 20px; border: 1px solid var(--border);
  max-height: 260px; object-fit: cover;
}
.modal-body h2 {
  font-family: var(--font-display); font-size: 22px; font-weight: 800;
  margin-bottom: 14px; line-height: 1.2;
}
.modal-body p {
  font-size: 14.5px; color: var(--text-2); line-height: 1.75; margin-bottom: 14px;
}
.modal-body strong { color: var(--text); }
.modal-list {
  list-style: none; display: flex; flex-direction: column; gap: 10px;
  margin: 16px 0 24px;
}
.modal-list li {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 14px; color: var(--text);
}
.modal-list li i { color: var(--cyan); font-size: 13px; margin-top: 2px; flex-shrink: 0; }
.modal-stats {
  display: flex; gap: 12px; flex-wrap: wrap;
  border-top: 1px solid var(--border); padding-top: 20px;
}
.modal-stat {
  background: var(--bg-2); border: 1px solid var(--border);
  border-radius: var(--radius-md); padding: 14px 18px; flex: 1; min-width: 90px;
}
.ms-num {
  display: block; font-family: var(--font-display);
  font-size: 22px; font-weight: 900; color: var(--brand); line-height: 1;
}
.ms-lbl {
  display: block; font-size: 11px; color: var(--text-3);
  font-family: var(--font-mono); margin-top: 4px; letter-spacing: .06em;
}
@media (max-width: 480px) {
  .modal-body { padding: 8px 20px 24px; }
  .modal-body h2 { font-size: 19px; }
}

/* ─── APLICACIONES SECTION ───────────────────────────────── */
.apps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 40px;
}
.app-card {
  display: flex;
  flex-direction: column;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 28px 24px;
  text-decoration: none;
  color: var(--text);
  transition: all 0.25s var(--ease-mech);
  position: relative;
  overflow: hidden;
}
.app-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(30,83,216,0.06), transparent);
  opacity: 0;
  transition: opacity 0.25s;
}
.app-card:hover {
  border-color: var(--border-2);
  transform: translateY(-4px);
  box-shadow: var(--glow-sm);
}
.app-card:hover::before { opacity: 1; }
.app-card-icon {
  width: 48px; height: 48px;
  background: rgba(30,83,216,0.12);
  border: 1px solid rgba(30,83,216,0.2);
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; color: var(--brand);
  margin-bottom: 18px;
  transition: background 0.2s;
}
.app-card:hover .app-card-icon {
  background: rgba(30,83,216,0.2);
}
.app-card h3 {
  font-family: var(--font-display);
  font-size: 16px; font-weight: 700;
  margin-bottom: 10px; line-height: 1.3;
}
.app-card p {
  font-size: 13.5px; color: var(--text-2);
  line-height: 1.65; flex: 1;
}
.app-card-link {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 600;
  color: var(--brand); font-family: var(--font-mono);
  letter-spacing: .04em; margin-top: 18px;
  transition: gap 0.2s;
}
.app-card:hover .app-card-link { gap: 10px; }

.btn-outline-brand {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 28px; border-radius: 10px;
  background: transparent;
  border: 1.5px solid var(--brand-light);
  color: var(--brand);
  font-family: var(--font-display); font-size: 15px;
  font-weight: 700; letter-spacing: .04em;
  text-decoration: none;
  transition: all 0.2s var(--ease-mech);
}
.btn-outline-brand:hover {
  background: rgba(30,83,216,0.1);
  transform: translateY(-2px);
}

@media (max-width: 900px) {
  .apps-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .apps-grid { grid-template-columns: 1fr; }
}

/* Motor EC article final pass: match the homepage identity */
.motor-source-page {
  background: var(--bg);
}
.motor-source-main {
  padding: 86px 0 0;
  background:
    radial-gradient(circle at 16% 0%, rgba(30, 83, 216, 0.18), transparent 32%),
    linear-gradient(180deg, #050a12 0%, #08111f 48%, #050a12 100%);
}
.motor-source-article {
  width: min(1228px, calc(100% - 48px));
  max-width: 1228px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 300px);
  column-gap: clamp(36px, 6vw, 82px);
  align-items: start;
}
.motor-source-hero,
.motor-source-fanwalls {
  display: none;
}
.motor-source-back {
  display: inline-flex;
  grid-column: 1;
  margin: 26px 0 16px;
  color: var(--brand-light);
}
.motor-source-sidebar {
  grid-column: 2;
  grid-row: 1 / span 5;
  margin-top: 4px;
  padding: 20px 18px;
  border-radius: 8px;
}
.motor-source-sidebar h3 {
  margin-bottom: 12px;
}
.motor-source-sidebar a {
  padding: 10px 10px;
  font-size: 14px;
}
.motor-source-section,
.motor-source-exploded,
.motor-source-detail-image,
.motor-source-contact {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.motor-source-intro {
  grid-column: 1;
  max-width: 100%;
  min-height: auto;
  margin: 0;
  padding: 12px 0 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  overflow: hidden;
  background: transparent;
}
.motor-source-intro .motor-source-copy {
  display: contents;
}
.motor-source-intro h2 {
  margin: 0;
  color: var(--text);
  font-family: var(--font-display);
  font-size: clamp(54px, 7vw, 86px);
  line-height: 0.94;
  text-align: left;
  letter-spacing: 0;
}
.motor-source-intro .motor-source-copy p {
  max-width: 820px;
  margin: 16px 0 0;
  color: var(--text-2);
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.65;
}
.motor-source-product-main {
  grid-column: 1;
  max-height: none;
  margin: 0 0 18px;
  overflow: hidden;
  border: 1px solid rgba(30, 83, 216, 0.42);
  border-radius: 8px;
  background: #0b1526;
  box-shadow: 0 28px 74px rgba(0, 0, 0, 0.26), 0 0 42px rgba(30, 83, 216, 0.16);
}
.motor-source-product-main img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  object-fit: cover;
  object-position: center 34%;
  transform: none;
  filter: none;
}
.motor-source-secondary-copy {
  grid-column: 1;
  max-width: 100%;
  margin: 0;
  padding: 28px 0 52px;
  background: transparent;
}
.motor-source-secondary-copy p {
  max-width: 780px;
  margin: 0;
  color: var(--text-2);
}
.motor-source-allinone,
.motor-source-exploded,
.motor-source-advantages,
.motor-source-compact,
.motor-source-control,
.motor-source-fans-title,
.motor-source-fan-block,
.motor-source-fan-block-alt,
.motor-source-contact,
.motor-source-detail-image {
  grid-column: 1 / -1;
}
.motor-source-allinone,
.motor-source-exploded {
  background: #e8ecf4;
}
.motor-source-allinone h3,
.motor-source-section-title h2,
.motor-source-compact-copy h3,
.motor-source-fans-title h2,
.motor-source-fan-block h2 {
  color: #17204d;
}
.motor-source-exploded {
  display: flex;
  justify-content: center;
  padding: clamp(34px, 6vw, 78px) clamp(20px, 4vw, 56px) clamp(70px, 8vw, 116px);
}
.motor-source-exploded img {
  width: min(1260px, 100%);
  max-width: 1260px;
  margin: 0 auto;
  border-radius: 0;
  background: transparent;
}
.motor-source-detail-image {
  display: none;
}
.motor-source-advantages {
  background: #f4f7fb;
}
.motor-source-compact,
.motor-source-control,
.motor-source-fans-title,
.motor-source-fan-block,
.motor-source-fan-block-alt {
  background: #e8ecf4;
}
#blog .section-action {
  background: #ff7a2f;
  border-color: #ff7a2f;
  color: #fff;
  box-shadow: 0 16px 42px rgba(255, 122, 47, 0.26);
}
#blog .section-action::before {
  opacity: 0;
}
#blog .section-action:hover {
  box-shadow: 0 0 0 1px rgba(255, 122, 47, 0.7), 0 18px 42px rgba(255, 122, 47, 0.34);
}

/* Review article menu + Motor EC final polish */
.article-shell {
  grid-template-columns: minmax(0, 1fr) 320px;
}
.article-sidebar,
.motor-source-sidebar {
  width: min(100%, 320px);
  padding: 18px;
  border-left: 1px solid rgba(232, 236, 244, 0.12);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.article-sidebar a,
.motor-source-sidebar a {
  min-height: 40px;
  height: auto;
  padding: 9px 10px;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.25;
}
.motor-source-article {
  grid-template-columns: minmax(0, 800px) 320px;
}
.motor-source-sidebar {
  grid-column: 2;
  grid-row: 1 / span 12;
}
.motor-source-allinone {
  padding-top: 34px;
}
.motor-source-allinone p {
  margin-top: -4px;
  font-size: 24px;
}
.motor-source-section-title {
  margin-bottom: 40px;
}
.motor-source-section-title p {
  margin-top: -10px;
}
.motor-source-exploded {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 18px 0 56px;
}
.motor-source-exploded img {
  background: transparent;
  border-radius: 0;
}
.blog-card-body h2,
#blog .cc-body h3 {
  gap: 0;
}
.blog-card-body h2::before,
#blog .cc-body h3::before {
  display: none;
}
@media (max-width: 1100px) {
  .motor-source-article {
    grid-template-columns: minmax(0, 1fr) 280px;
  }
  .motor-source-sidebar {
    width: 280px;
  }
}
@media (max-width: 980px) {
  .article-shell,
  .motor-source-article {
    grid-template-columns: 1fr;
  }
  .article-sidebar,
  .motor-source-sidebar {
    position: static;
    width: 100%;
  }
}
@media (max-width: 980px) {
  .motor-source-article {
    width: min(100% - 32px, 820px);
    display: block;
  }
  .motor-source-sidebar {
    margin: 18px 0 30px;
  }
  .motor-source-intro {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .motor-source-product-main {
    grid-column: auto;
    max-height: 430px;
    margin-top: 0;
  }
  .motor-source-product-main img {
    margin: 0 auto;
  }
}
@media (max-width: 640px) {
  .motor-source-main {
    padding-top: 76px;
  }
  .motor-source-back {
    margin-left: 20px;
  }
  .motor-source-intro h2 {
    text-align: left;
  }
  .motor-source-product-main {
    max-height: 340px;
  }
}

/* Editorial blog refinement: compact sticky review rail + dark Motor EC article */
.article-sidebar {
  width: min(100%, 260px);
  padding: 18px;
  border-radius: 8px;
}
.article-sidebar a {
  min-height: 42px;
  padding: 10px 12px;
  gap: 0;
  font-size: 14px;
}
.article-sidebar a::before {
  display: none;
}
.article-shell {
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 54px;
}
.blog-index-grid {
  align-items: stretch;
}
.blog-simple-card img,
.cc-img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.article-content p {
  text-align: justify;
  text-wrap: pretty;
}
.article-content h1 {
  max-width: 980px;
}
.article-sidebar {
  align-self: start;
}
.article-sidebar a {
  line-height: 1.25;
}
.motor-source-main {
  min-height: 100dvh;
  padding: 116px 0 0;
  background:
    radial-gradient(circle at 17% -8%, rgba(30, 83, 216, 0.16), transparent 34%),
    linear-gradient(180deg, #03070d 0%, #060b14 44%, #03070d 100%);
}
.motor-source-article {
  width: min(1210px, calc(100% - 48px));
  grid-template-columns: minmax(0, 1fr) 260px;
  column-gap: clamp(46px, 6vw, 80px);
}
.motor-source-back {
  margin: 0 0 18px;
}
.motor-source-sidebar {
  position: sticky;
  top: 96px;
  grid-row: 1 / span 4;
  margin-top: 0;
  align-self: start;
}
.motor-source-intro {
  padding-top: 0;
  gap: 24px;
}
.motor-source-intro h1 {
  margin: 0;
  color: var(--text);
  font-family: var(--font-display);
  font-size: clamp(56px, 7vw, 84px);
  font-weight: 900;
  line-height: 0.95;
  letter-spacing: 0;
}
.motor-source-intro h2 {
  display: none;
}
.motor-source-product-main {
  margin: 4px 0 8px;
  border-color: rgba(30, 83, 216, 0.34);
  border-radius: 8px;
  background: #07101d;
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.36), 0 0 36px rgba(30, 83, 216, 0.14);
}
.motor-source-product-main img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.motor-source-lead,
.motor-source-secondary-copy p,
.motor-source-copy p,
.motor-source-allinone p,
.motor-source-compact-copy p,
.motor-source-fans-title p,
.motor-source-fan-block p {
  max-width: 820px;
  color: var(--text-2);
  font-family: var(--font-body);
  font-size: clamp(16px, 1.18vw, 18px);
  line-height: 1.8;
}
.motor-source-secondary-copy {
  padding: 12px 0 54px;
}
.motor-source-allinone,
.motor-source-exploded,
.motor-source-advantages,
.motor-source-compact,
.motor-source-control,
.motor-source-fans-title,
.motor-source-fan-block,
.motor-source-fan-block-alt {
  background: #03070d;
}
.motor-source-allinone h3,
.motor-source-section-title h2,
.motor-source-compact-copy h3,
.motor-source-control h1,
.motor-source-fans-title h2,
.motor-source-fan-block h2,
.motor-source-adv-grid h4 {
  color: var(--text);
}
.motor-source-section-title p,
.motor-source-adv-grid p {
  color: var(--text-2);
}
.motor-source-exploded,
.motor-source-advantages,
.motor-source-compact,
.motor-source-control,
.motor-source-fans-title,
.motor-source-fan-block {
  padding-left: 0;
  padding-right: 0;
}
@media (max-width: 980px) {
  .article-shell {
    grid-template-columns: 1fr;
  }
  .article-sidebar,
  .motor-source-sidebar {
    position: static;
    width: 100%;
  }
  .motor-source-article {
    width: min(100% - 32px, 820px);
    display: block;
  }
}
@media (max-width: 640px) {
  .motor-source-main {
    padding-top: 92px;
  }
  .motor-source-intro h1 {
    font-size: clamp(44px, 14vw, 64px);
  }
  .motor-source-product-main {
    max-height: none;
  }
}

/* Motor EC final editorial redesign: real columns, no overlap */
.motor-source-main {
  padding: 118px 0 0;
  background:
    radial-gradient(circle at 18% -6%, rgba(30, 83, 216, 0.18), transparent 34%),
    linear-gradient(180deg, #02060c 0%, #050a12 42%, #02060c 100%);
}
.motor-source-article {
  width: min(1180px, calc(100% - 48px));
  max-width: 1180px;
  grid-template-columns: minmax(0, 860px) 220px;
  column-gap: clamp(42px, 6vw, 86px);
}
.motor-source-back,
.motor-source-intro,
.motor-source-secondary-copy,
.motor-source-allinone,
.motor-source-exploded,
.motor-source-advantages,
.motor-source-compact,
.motor-source-control,
.motor-source-fans-title,
.motor-source-fan-block,
.motor-source-fan-block-alt,
.motor-source-contact {
  grid-column: 1;
}
.motor-source-sidebar {
  grid-column: 2;
  grid-row: 1 / span 12;
  width: 220px;
  margin: 0;
  padding: 10px 0 0 18px;
  position: sticky;
  top: 112px;
  background: transparent;
  border: 0;
  border-left: 1px solid rgba(232, 236, 244, 0.12);
  border-radius: 0;
  box-shadow: none;
  z-index: 1;
}
.motor-source-sidebar h3 {
  margin: 0 0 12px;
  color: var(--brand-light);
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.motor-source-sidebar a {
  min-height: 38px;
  padding: 9px 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--text-3);
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.25;
  background: transparent;
}
.motor-source-sidebar a:hover,
.motor-source-sidebar a.active {
  color: var(--text);
  border-color: rgba(30, 83, 216, 0.34);
  background: rgba(30, 83, 216, 0.12);
  transform: none;
}
.motor-source-intro {
  gap: 22px;
  padding: 0;
  overflow: visible;
}
.motor-source-intro h1 {
  max-width: 820px;
  font-family: var(--font-display);
  font-size: clamp(54px, 7vw, 86px);
  line-height: 0.94;
  color: var(--text);
}
.motor-source-product-main {
  margin: 0 0 8px;
  border: 1px solid rgba(30, 83, 216, 0.28);
  border-radius: 8px;
  background: #050a12;
  box-shadow: 0 26px 64px rgba(0, 0, 0, 0.38);
}
.motor-source-product-main img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
}
.motor-source-lead,
.motor-source-secondary-copy p,
.motor-source-allinone p,
.motor-source-compact-copy p,
.motor-source-fans-title p,
.motor-source-fan-block p {
  max-width: 780px;
  color: var(--text-2);
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.78;
}
.motor-source-secondary-copy {
  padding: 8px 0 58px;
}
.motor-source-allinone,
.motor-source-exploded,
.motor-source-advantages,
.motor-source-compact,
.motor-source-control,
.motor-source-fans-title,
.motor-source-fan-block,
.motor-source-fan-block-alt {
  padding-left: 0;
  padding-right: 0;
  background: transparent;
}
.motor-source-allinone {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(240px, 0.5fr);
  gap: 34px;
  align-items: center;
  padding-top: 0;
  padding-bottom: 74px;
  text-align: center;
}
.motor-source-allinone h3,
.motor-source-section-title h2,
.motor-source-compact-copy h3,
.motor-source-control h1,
.motor-source-fans-title h2,
.motor-source-fan-block h2,
.motor-source-adv-grid h4 {
  color: var(--text);
  font-family: var(--font-display);
}
.motor-source-allinone figure,
.motor-source-control figure,
.motor-source-fan-block figure {
  border: 1px solid rgba(232, 236, 244, 0.1);
  border-radius: 8px;
  overflow: hidden;
  background: rgba(232, 236, 244, 0.04);
}
.motor-source-exploded {
  padding: 18px 0 28px;
  margin-bottom: 70px;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.motor-source-exploded img {
  background: transparent !important;
  box-shadow: none !important;
}
.motor-source-allinone p {
  margin-top: -8px;
  font-size: 24px;
  line-height: 1.3;
}
.motor-source-section-title p {
  margin-top: -6px;
}
.motor-source-advantages {
  padding-top: 4px;
  padding-bottom: 76px;
}
.motor-source-adv-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.motor-source-adv-grid article {
  background: rgba(232, 236, 244, 0.035);
  border: 1px solid rgba(232, 236, 244, 0.08);
  border-radius: 8px;
  overflow: hidden;
}
.motor-source-compact {
  grid-template-columns: minmax(0, 0.92fr) minmax(280px, 0.58fr);
  gap: 44px;
  align-items: center;
  padding-bottom: 80px;
}
.motor-source-compact-images img {
  background: transparent;
}
.motor-source-control,
.motor-source-fan-block,
.motor-source-fan-block-alt {
  grid-template-columns: minmax(0, 0.68fr) minmax(0, 1fr);
  gap: 36px;
  padding-bottom: 78px;
}
.motor-source-control figure img {
  width: 100%;
  height: 100%;
  max-height: 420px;
  object-fit: contain;
  background: transparent;
}
.motor-source-fans-title {
  text-align: left;
  padding-bottom: 36px;
}
.motor-source-fans-title h2,
.motor-source-fans-title p {
  margin-left: 0;
  margin-right: auto;
}
.motor-source-contact {
  margin-bottom: 86px;
}
@media (max-width: 1100px) {
  .motor-source-article {
    grid-template-columns: minmax(0, 1fr) 190px;
    column-gap: 34px;
  }
  .motor-source-sidebar {
    width: 190px;
  }
}
@media (max-width: 900px) {
  .motor-source-article {
    width: min(100% - 32px, 820px);
    display: block;
  }
  .motor-source-sidebar {
    position: static;
    width: 100%;
    margin: 18px 0 34px;
    padding: 12px 0 0;
    border-left: 0;
    border-top: 1px solid rgba(232, 236, 244, 0.12);
  }
  .motor-source-sidebar a {
    display: inline-flex;
    margin: 0 6px 8px 0;
  }
  .motor-source-allinone,
  .motor-source-compact,
  .motor-source-control,
  .motor-source-fan-block,
  .motor-source-fan-block-alt {
    grid-template-columns: 1fr;
  }
  .motor-source-adv-grid {
    grid-template-columns: 1fr;
  }
}

/* ─── APPLICATIONS HUB ───────────────────────────────────── */
.applications-page {
  background: var(--bg);
}
.applications-main,
.application-detail-main {
  padding-top: 86px;
  background:
    radial-gradient(circle at 12% 0%, rgba(30,83,216,.16), transparent 34%),
    linear-gradient(180deg, #060a12 0%, #08111f 44%, #050810 100%);
}
.applications-hero {
  padding: clamp(54px, 8vw, 108px) 0 64px;
}
.applications-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}
.applications-hero h1,
.application-detail-content h1 {
  max-width: 920px;
  font-family: var(--font-display);
  font-size: clamp(42px, 7vw, 84px);
  line-height: .95;
  font-weight: 900;
  letter-spacing: 0;
  margin: 14px 0 24px;
}
.applications-hero p,
.application-detail-content p {
  max-width: 820px;
  color: var(--text-2);
  font-size: 18px;
  line-height: 1.72;
}
.applications-lead {
  margin-bottom: 16px;
  color: var(--text-2) !important;
  font-size: 18px !important;
  line-height: 1.72 !important;
}
.applications-actions,
.application-detail-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}
.applications-hero-panel {
  min-height: 300px;
  padding: 28px;
  border: 1px solid rgba(30,83,216,.34);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(16,24,40,.88), rgba(8,17,31,.8));
  box-shadow: 0 28px 80px rgba(0,0,0,.24), 0 0 46px rgba(30,83,216,.14);
}
.applications-hero-panel span {
  color: var(--brand-light);
  font-size: 11px;
  text-transform: uppercase;
}
.applications-hero-panel strong {
  display: block;
  margin: 24px 0 10px;
  color: var(--text);
  font-family: var(--font-display);
  font-size: 104px;
  line-height: .8;
}
.applications-hero-panel p {
  font-size: 15px;
}
.applications-intro-band {
  padding: 34px 0;
  border-top: 1px solid rgba(232,236,244,.08);
  border-bottom: 1px solid rgba(232,236,244,.08);
  background: rgba(16,24,40,.42);
}
.applications-intro-band p {
  max-width: 980px;
  color: var(--text-2);
  font-size: 18px;
}
.applications-grid-section {
  padding: 88px 24px 40px;
}
.applications-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.application-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
  color: var(--text);
  border: 1px solid rgba(30,83,216,.22);
  border-radius: 8px;
  background: rgba(10,18,32,.82);
  transition: transform .2s var(--ease-mech), border-color .2s var(--ease-mech), box-shadow .2s var(--ease-mech);
}
.application-card:hover {
  transform: translateY(-4px);
  border-color: rgba(30,83,216,.58);
  box-shadow: 0 24px 70px rgba(0,0,0,.3), 0 0 34px rgba(30,83,216,.14);
}
.application-photo-placeholder,
.app-home-placeholder,
.application-card-media,
.app-home-media {
  display: flex;
  min-height: clamp(260px, 22vw, 330px);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 22px;
  color: var(--text-3);
  text-align: center;
  background:
    linear-gradient(135deg, rgba(30,83,216,.16), rgba(0,200,240,.06)),
    repeating-linear-gradient(45deg, rgba(232,236,244,.04) 0 1px, transparent 1px 14px);
  border-bottom: 1px dashed rgba(232,236,244,.2);
}
.application-card-media,
.app-home-media {
  padding: 0;
  overflow: hidden;
  background: #08111f;
  border-bottom: 1px solid rgba(30,83,216,.22);
}
.application-card-media img,
.app-home-media img,
.application-detail-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.application-photo-placeholder span,
.app-home-placeholder span {
  color: var(--brand-light);
  font-size: 11px;
  text-transform: uppercase;
}
.application-photo-placeholder strong {
  color: var(--text);
  font-family: var(--font-display);
  font-size: clamp(24px, 3vw, 38px);
  line-height: 1.05;
}
.application-photo-placeholder small {
  max-width: 560px;
  color: var(--text-2);
  font-size: 14px;
  line-height: 1.45;
}
.application-card-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 22px;
}
.application-card-copy span {
  margin-bottom: 10px;
  color: var(--brand-light);
  font-size: 11px;
  text-transform: uppercase;
}
.application-card-copy h2 {
  margin-bottom: 12px;
  font-family: var(--font-display);
  font-size: 24px;
  line-height: 1.05;
}
.application-card-copy p {
  flex: 1;
  color: var(--text-2);
  font-size: 15px;
  line-height: 1.58;
}
.application-card-copy em {
  margin-top: 22px;
  color: var(--pop);
  font-style: normal;
  font-weight: 800;
}
.applications-home-cta {
  margin-top: 28px;
}
.app-home-card {
  min-width: clamp(292px, 27vw, 350px);
}
.app-home-placeholder {
  height: clamp(190px, 17vw, 230px);
  min-height: clamp(190px, 17vw, 230px);
}
.app-home-media {
  height: clamp(190px, 17vw, 230px);
  min-height: clamp(190px, 17vw, 230px);
}
.applications-seo-note {
  display: grid;
  grid-template-columns: .42fr 1fr;
  gap: 32px;
  margin: 60px auto 96px;
  padding: 30px;
  border: 1px solid rgba(30,83,216,.24);
  border-radius: 8px;
  background: rgba(16,24,40,.64);
}
.applications-seo-note h2 {
  font-family: var(--font-display);
  font-size: 32px;
  line-height: 1.05;
}
.applications-seo-note p {
  color: var(--text-2);
  font-size: 18px;
}
.application-detail-shell {
  display: grid;
  grid-template-columns: minmax(0, 820px) 280px;
  gap: clamp(34px, 6vw, 76px);
  align-items: start;
  padding-top: 52px;
  padding-bottom: 96px;
}
.application-detail-content section {
  padding: 36px 0;
  border-top: 1px solid rgba(232,236,244,.1);
}
.application-detail-content h2 {
  margin-bottom: 12px;
  font-family: var(--font-display);
  font-size: clamp(28px, 3vw, 40px);
}
.application-detail-content .application-photo-placeholder {
  min-height: 430px;
  margin: 24px 0 34px;
  border: 1px dashed rgba(232,236,244,.24);
  border-radius: 8px;
}
.application-detail-image {
  height: clamp(360px, 48vw, 540px);
  margin: 24px 0 34px;
  overflow: hidden;
  border: 1px solid rgba(35, 129, 255, 0.62);
  border-radius: var(--radius-lg);
  background: #08111f;
  box-shadow:
    0 0 0 1px rgba(0, 200, 240, 0.12),
    0 0 28px rgba(0, 143, 255, 0.14),
    0 24px 70px rgba(0,0,0,.28);
}
.application-care {
  padding: 26px !important;
  border: 1px solid rgba(255,122,47,.26) !important;
  border-radius: 8px;
  background: rgba(255,122,47,.07);
}
.application-detail-sidebar {
  position: sticky;
  top: 104px;
  padding-left: 18px;
  border-left: 1px solid rgba(232,236,244,.12);
}
.application-detail-sidebar h3 {
  margin-bottom: 14px;
  color: var(--brand-light);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.application-detail-sidebar a {
  display: block;
  padding: 10px;
  color: var(--text-3);
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.25;
}
.application-detail-sidebar a:hover,
.application-detail-sidebar a.active {
  color: var(--text);
  border-color: rgba(30,83,216,.34);
  background: rgba(30,83,216,.12);
}

.application-review-content {
  max-width: 900px;
}

.application-review-content > p {
  max-width: 820px;
  margin-bottom: 18px;
  text-align: justify;
}

.review-story-section {
  max-width: 900px;
}

.review-story-section p {
  max-width: 820px;
  text-align: justify;
}

.review-story-section h2 {
  max-width: 760px;
}

.review-inline-image,
.review-image-pair,
.review-image-strip {
  margin: 24px 0 34px;
}

.review-inline-image {
  height: clamp(240px, 30vw, 360px);
  overflow: hidden;
  border: 1px solid rgba(35, 129, 255, 0.5);
  border-radius: var(--radius-lg);
  background: rgba(8, 17, 31, .82);
  box-shadow: 0 0 0 1px rgba(0, 200, 240, 0.1), 0 18px 52px rgba(0,0,0,.26);
}

.review-inline-image img,
.review-image-pair img,
.review-image-card img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.review-image-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.review-image-pair figure,
.review-image-card {
  height: clamp(240px, 30vw, 360px);
  overflow: hidden;
  border: 1px solid rgba(35, 129, 255, 0.46);
  border-radius: var(--radius-lg);
  background: rgba(8, 17, 31, .82);
}

.review-image-strip {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: none;
  cursor: grab;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(35, 129, 255, .7) rgba(232, 236, 244, .08);
  padding-bottom: 12px;
}

.review-image-strip.dragging {
  cursor: grabbing;
}

.review-image-card {
  flex: 0 0 min(78vw, 560px);
  margin: 0;
}

.review-check-list {
  display: grid;
  gap: 10px;
  max-width: 780px;
  margin: 18px 0 10px;
  padding: 0;
  list-style: none;
}

.review-check-list li {
  position: relative;
  padding-left: 24px;
  color: var(--text-2);
  line-height: 1.6;
}

.review-check-list li::before {
  content: "";
  position: absolute;
  top: .7em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--pop);
  box-shadow: 0 0 18px rgba(255, 122, 47, .45);
}

.review-nav-toggle {
  display: none;
}

.review-nav-list {
  display: block;
}
@media (max-width: 980px) {
  .applications-hero-grid,
  .application-detail-shell,
  .applications-seo-note {
    grid-template-columns: 1fr;
  }
  .applications-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .application-detail-sidebar {
    position: static;
    order: -1;
    width: 100%;
    padding: 0;
    border-left: 0;
    border-top: 0;
  }
  .review-nav-toggle {
    display: flex;
    width: 100%;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    color: var(--text);
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 800;
    text-align: left;
    border: 1px solid rgba(30,83,216,.38);
    border-radius: 8px;
    background: rgba(10,18,32,.82);
    cursor: pointer;
  }
  .review-nav-toggle i {
    transition: transform .2s var(--ease-mech);
  }
  .review-nav.is-open .review-nav-toggle i {
    transform: rotate(180deg);
  }
  .review-nav-list {
    display: none;
    margin-top: 10px;
    padding: 12px;
    border: 1px solid rgba(30,83,216,.24);
    border-radius: 8px;
    background: rgba(8,17,31,.92);
  }
  .review-nav.is-open .review-nav-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .application-detail-sidebar h3 {
    grid-column: 1 / -1;
    margin: 0 0 4px;
  }
  .application-detail-sidebar a {
    min-height: 44px;
    padding: 12px;
  }
}
@media (max-width: 620px) {
  .applications-card-grid {
    grid-template-columns: 1fr;
  }
  .applications-hero h1,
  .application-detail-content h1 {
    font-size: 42px;
  }
  .applications-grid-section {
    padding-top: 56px;
  }
  .application-detail-shell {
    padding-top: 28px;
  }
  .application-detail-image,
  .review-inline-image {
    height: clamp(220px, 58vw, 310px);
  }
  .review-image-pair {
    grid-template-columns: 1fr;
  }
  .review-image-pair figure,
  .review-image-card {
    height: clamp(220px, 58vw, 310px);
  }
  .review-nav.is-open .review-nav-list {
    grid-template-columns: 1fr;
  }
}

/* Motor EC comment pass */
.motor-source-main {
  background:
    radial-gradient(circle at 26% 0%, rgba(30, 83, 216, 0.22), transparent 34%),
    linear-gradient(180deg, #060a12 0%, #071426 38%, #02060c 100%);
}
.motor-source-intro h1 {
  font-size: clamp(48px, 5.15vw, 66px);
  white-space: nowrap;
}
.motor-source-lead,
.motor-source-secondary-copy p {
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
}
.motor-source-allinone {
  display: block;
  padding: 56px 0 42px;
  text-align: center;
}
.motor-source-allinone h3 {
  margin: 0 auto 14px;
  font-size: clamp(44px, 6vw, 74px);
}
.motor-source-allinone p {
  margin: 0 auto;
  text-align: center;
}
.motor-source-exploded {
  display: grid;
  grid-template-columns: minmax(240px, 0.42fr) minmax(0, 0.58fr);
  gap: 22px;
  align-items: stretch;
  padding: 0;
  margin-bottom: 78px;
  border: 0;
  background: transparent;
}
.motor-source-exploded img {
  width: 100%;
  height: 100%;
  min-height: 310px;
  object-fit: cover;
  border: 1px solid rgba(232, 236, 244, 0.12);
  border-radius: 8px;
  background: #02060c;
}
.motor-source-exploded img:nth-child(2) {
  object-fit: contain;
  padding: 18px;
}
.motor-source-adv-grid {
  gap: 18px;
}
.motor-source-adv-grid article {
  position: relative;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 10px 18px;
  align-items: start;
  padding: 22px;
  background:
    linear-gradient(135deg, rgba(30, 83, 216, 0.14), rgba(232, 236, 244, 0.035)),
    #07101d;
  border-color: rgba(30, 83, 216, 0.22);
}
.motor-source-adv-grid article::before {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  grid-row: 1 / span 2;
  border-radius: 8px;
  background: rgba(30, 83, 216, 0.16);
  color: var(--brand-light);
  font-family: "Font Awesome 6 Free";
  font-size: 24px;
  font-weight: 900;
}
.motor-source-adv-grid article:nth-child(1)::before { content: "\f0e7"; }
.motor-source-adv-grid article:nth-child(2)::before { content: "\f1de"; }
.motor-source-adv-grid article:nth-child(3)::before { content: "\f144"; }
.motor-source-adv-grid article:nth-child(4)::before { content: "\f0ad"; }
.motor-source-adv-grid article:nth-child(5)::before { content: "\f109"; }
.motor-source-adv-grid article:nth-child(6)::before { content: "\f3ed"; }
.motor-source-adv-grid article img {
  display: none;
}
.motor-source-adv-grid h4,
.motor-source-adv-grid p {
  grid-column: 2;
}
.motor-source-compact {
  grid-template-columns: minmax(0, 0.62fr) minmax(260px, 0.38fr);
  gap: 30px;
}
.motor-source-compact-images {
  display: block;
}
.motor-source-compact-images img {
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: contain;
  background: transparent;
}
.motor-source-compact-copy {
  align-self: center;
}
.motor-source-compact-copy h3 {
  font-size: clamp(38px, 5vw, 60px);
  line-height: 1;
}
.motor-source-control {
  grid-template-columns: minmax(280px, 0.46fr) minmax(0, 0.54fr);
  align-items: center;
}
.motor-source-control h1 {
  font-size: clamp(40px, 5vw, 62px);
  line-height: 1;
}
.motor-source-control a {
  display: none;
}
.motor-source-control-copy p {
  max-width: 520px;
  color: var(--text-2);
  font-size: 17px;
  line-height: 1.75;
}
.motor-source-control figure img,
.motor-source-fan-block figure img {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  object-fit: cover;
}
.motor-source-fan-block,
.motor-source-fan-block-alt {
  grid-template-columns: minmax(0, 0.46fr) minmax(0, 0.54fr);
}
.motor-source-fan-block-alt figure {
  order: 2;
}
.motor-source-fan-block-alt div {
  order: 1;
}
.motor-source-open-link {
  margin-bottom: 10px;
  color: var(--text) !important;
  border-color: rgba(30, 83, 216, 0.45) !important;
  background: rgba(30, 83, 216, 0.16) !important;
}
@media (max-width: 900px) {
  .motor-source-intro h1 {
    white-space: normal;
  }
  .motor-source-exploded,
  .motor-source-compact,
  .motor-source-control,
  .motor-source-fan-block,
  .motor-source-fan-block-alt {
    grid-template-columns: 1fr;
  }
  .motor-source-exploded img {
    min-height: 0;
  }
  .motor-source-fan-block-alt figure,
  .motor-source-fan-block-alt div {
    order: initial;
  }
}

/* Motor EC no-sidebar final */
.motor-source-main {
  background:
    linear-gradient(180deg, #060a12 0%, #060a12 16%, #071426 46%, #02060c 100%);
}
.motor-source-article {
  width: min(1120px, calc(100% - 48px));
  max-width: 1120px;
  display: block;
}
.motor-source-back,
.motor-source-intro,
.motor-source-secondary-copy,
.motor-source-allinone,
.motor-source-exploded,
.motor-source-advantages,
.motor-source-compact,
.motor-source-control,
.motor-source-fans-title,
.motor-source-fan-block,
.motor-source-fan-block-alt,
.motor-source-contact {
  grid-column: auto;
}
.motor-source-sidebar {
  display: none;
}
.motor-source-intro h1 {
  max-width: none;
}
.motor-source-compact {
  display: grid;
  grid-template-columns: minmax(0, 0.58fr) minmax(300px, 0.42fr);
  align-items: center;
  min-height: 560px;
}
.motor-source-compact-images {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 460px;
}
.motor-source-compact-images img {
  width: min(560px, 100%);
  max-height: none;
  object-fit: contain;
}
.motor-source-compact-copy {
  align-self: center;
  transform: translateY(22px);
}
.motor-source-control figure img {
  aspect-ratio: auto;
  object-fit: contain;
  background: transparent;
  padding: 22px;
}
.motor-source-control figure {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 900px) {
  .motor-source-article {
    width: min(100% - 32px, 820px);
  }
  .motor-source-compact {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .motor-source-compact-images {
    min-height: 0;
  }
}

/* Motor EC sidebar restored: real rail, content stays clear */
.motor-source-article {
  width: min(1180px, calc(100% - 48px));
  max-width: 1180px;
  display: grid;
  grid-template-columns: minmax(0, 850px) 220px;
  column-gap: clamp(42px, 6vw, 86px);
  align-items: start;
}
.motor-source-back,
.motor-source-intro,
.motor-source-secondary-copy,
.motor-source-allinone,
.motor-source-exploded,
.motor-source-advantages,
.motor-source-compact,
.motor-source-control,
.motor-source-fans-title,
.motor-source-fan-block,
.motor-source-fan-block-alt,
.motor-source-contact {
  grid-column: 1;
}
.motor-source-sidebar {
  display: block;
  grid-column: 2;
  grid-row: 1 / span 12;
  width: 220px;
  position: sticky;
  top: 112px;
  align-self: start;
  margin: 0;
  padding: 10px 0 0 18px;
  background: transparent;
  border: 0;
  border-left: 1px solid rgba(232, 236, 244, 0.12);
  border-radius: 0;
  box-shadow: none;
}
.motor-source-sidebar h3 {
  margin: 0 0 12px;
  color: var(--brand-light);
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.motor-source-sidebar a {
  min-height: 38px;
  padding: 9px 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--text-3);
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.25;
  background: transparent;
}
.motor-source-sidebar a:hover,
.motor-source-sidebar a.active {
  color: var(--text);
  border-color: rgba(30, 83, 216, 0.34);
  background: rgba(30, 83, 216, 0.12);
  transform: none;
}
.motor-source-lead,
.motor-source-secondary-copy p {
  width: 100%;
  max-width: none;
}
.motor-source-exploded {
  display: block;
}
.motor-source-exploded img {
  width: 100%;
  height: auto;
  min-height: 0;
  object-fit: contain;
}

/* Shared review hero treatment */
.article-hero-img,
.motor-source-product-main img,
.motor-source-detail-image img {
  border: 1px solid rgba(35, 129, 255, 0.72);
  border-radius: var(--radius-lg);
  background: rgba(3, 12, 26, 0.82);
  box-shadow:
    0 0 0 1px rgba(0, 200, 240, 0.16),
    0 0 34px rgba(0, 143, 255, 0.18),
    0 28px 90px rgba(30, 83, 216, 0.24);
}
@media (max-width: 900px) {
  .motor-source-article {
    width: min(100% - 32px, 820px);
    display: block;
  }
  .motor-source-sidebar {
    position: static;
    width: 100%;
    margin: 18px 0 34px;
    padding: 12px 0 0;
    border-left: 0;
    border-top: 1px solid rgba(232, 236, 244, 0.12);
  }
  .motor-source-sidebar a {
    display: inline-flex;
    margin: 0 6px 8px 0;
  }
}

/* Final responsive review navigation pass */
.review-nav-toggle {
  display: none;
}

.review-nav-list {
  display: block;
}

@media (max-width: 980px) {
  .article-sidebar.review-nav,
  .motor-source-sidebar.review-nav,
  .application-detail-sidebar.review-nav {
    position: static;
    top: auto;
    width: 100%;
    margin: 0 0 28px;
    padding: 0;
    border: 0;
    transform: none;
  }

  .review-nav .review-nav-toggle {
    display: flex;
    width: 100%;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    color: var(--text);
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 800;
    text-align: left;
    border: 1px solid rgba(30,83,216,.38);
    border-radius: 8px;
    background: rgba(10,18,32,.9);
    box-shadow: 0 14px 40px rgba(0,0,0,.18);
    cursor: pointer;
  }

  .review-nav .review-nav-toggle i {
    transition: transform .2s var(--ease-mech);
  }

  .review-nav.is-open .review-nav-toggle i {
    transform: rotate(180deg);
  }

  .review-nav .review-nav-list {
    display: none;
    margin-top: 10px;
    padding: 12px;
    border: 1px solid rgba(30,83,216,.24);
    border-radius: 8px;
    background: rgba(8,17,31,.96);
  }

  .review-nav.is-open .review-nav-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .review-nav .review-nav-list h3 {
    grid-column: 1 / -1;
    margin: 0 0 4px;
  }

  .review-nav .review-nav-list a {
    display: flex;
    min-height: 44px;
    align-items: center;
    margin: 0;
    padding: 12px;
  }
}

@media (max-width: 620px) {
  .review-nav.is-open .review-nav-list {
    grid-template-columns: 1fr;
  }
}

/* Final polish: application/blog review consistency, crisp media, partner login */
.applications-main,
.application-detail-main {
  background:
    radial-gradient(circle at 16% 0%, rgba(30,83,216,.18), transparent 34%),
    linear-gradient(180deg, #050810 0%, #060a12 18%, #071426 52%, #02060c 100%);
}

.application-card-media {
  height: clamp(260px, 22vw, 320px);
  min-height: 0;
}

.app-home-media {
  height: clamp(230px, 18vw, 270px);
  min-height: 0;
}

.application-card-media img,
.app-home-media img,
.blog-simple-card img,
.cc-img {
  filter: none !important;
  opacity: 1 !important;
  image-rendering: auto;
  transform: none;
}

.cc:hover .cc-img,
.application-card:hover img,
.blog-simple-card:hover img {
  filter: none !important;
  transform: none;
}

.blog-simple-card img {
  height: clamp(230px, 18vw, 310px);
}

#blog .blog-simple-card img,
#blog .cc-img {
  height: clamp(230px, 18vw, 290px);
}

.review-image-strip {
  min-height: clamp(350px, 34vw, 470px);
}

.review-image-card {
  min-height: clamp(330px, 32vw, 450px);
}

.review-image-card img {
  height: clamp(330px, 32vw, 450px);
  object-fit: contain;
}

@media (min-width: 981px) {
  .application-detail-shell {
    align-items: start;
  }

  .application-detail-sidebar.review-nav {
    position: sticky !important;
    top: 104px;
    align-self: start;
    max-height: calc(100dvh - 128px);
    overflow-y: auto;
  }
}

.nav-login {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 9px 16px;
  color: #dbeafe;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 800;
  border: 1px solid rgba(30,83,216,.5);
  border-radius: 10px;
  background: rgba(30,83,216,.08);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
  cursor: pointer;
  transition: background .2s var(--ease-mech), border-color .2s var(--ease-mech), transform .2s var(--ease-mech);
}

.nav-login:hover {
  transform: translateY(-1px);
  color: #fff;
  border-color: rgba(0,200,240,.72);
  background: rgba(30,83,216,.18);
}

.login-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: none;
  place-items: center;
  padding: 24px;
}

.login-modal.is-open {
  display: grid;
}

.login-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2,6,12,.76);
  backdrop-filter: blur(10px);
}

.login-panel {
  position: relative;
  z-index: 1;
  width: min(100%, 440px);
  padding: 30px;
  border: 1px solid rgba(30,83,216,.42);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(12,24,44,.98), rgba(5,10,18,.98));
  box-shadow: 0 36px 100px rgba(0,0,0,.48), 0 0 50px rgba(30,83,216,.2);
}

.login-panel h2 {
  margin: 8px 0 12px;
  font-family: var(--font-display);
  font-size: clamp(32px, 5vw, 44px);
  line-height: .95;
}

.login-panel p {
  color: var(--text-2);
  line-height: 1.6;
}

.login-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 42px;
  height: 42px;
  color: var(--text);
  border: 1px solid rgba(232,236,244,.16);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  cursor: pointer;
}

.login-form {
  display: grid;
  gap: 14px;
  margin-top: 22px;
}

.login-form label {
  display: grid;
  gap: 8px;
  color: var(--text);
  font-weight: 800;
}

.login-form input {
  min-height: 48px;
  padding: 0 14px;
  color: var(--text);
  border: 1px solid rgba(30,83,216,.34);
  border-radius: 8px;
  background: rgba(4,9,16,.78);
  outline: none;
}

.login-form input:focus {
  border-color: rgba(0,200,240,.75);
  box-shadow: 0 0 0 3px rgba(0,200,240,.14);
}

.login-forgot,
.login-error {
  color: var(--text-2);
  font-size: 14px;
}

.login-error {
  margin: 0;
  color: #ffb48f;
}

#blog .section-action {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 15px 22px;
  border-radius: 10px;
  background: #ff6f32;
  border-color: #ff6f32;
  box-shadow: 0 18px 48px rgba(255,111,50,.28);
}

@media (max-width: 980px) {
  .nav-links a,
  .nav-login {
    width: 100%;
    min-height: 52px;
    justify-content: flex-start;
    font-size: 18px;
  }

  .application-card-media,
  .app-home-media,
  .blog-simple-card img,
  #blog .blog-simple-card img,
  #blog .cc-img {
    height: 250px;
  }
}

/* Final polish pass: cards, nav, login and responsive review pages */
.nav-cta {
  background: #ff6f32;
  border-color: #ff6f32;
  color: #fff;
  box-shadow: 0 14px 34px rgba(255,111,50,.22);
}

.nav-cta:hover {
  background: #ff5a1f;
  box-shadow: 0 18px 44px rgba(255,111,50,.32);
}

.applications-main,
.application-detail-main {
  background:
    radial-gradient(circle at 22% 0%, rgba(30,83,216,.2), transparent 32%),
    linear-gradient(180deg, #050810 0%, #050810 24%, #071426 58%, #02060c 100%) !important;
}

.application-card-media {
  height: clamp(280px, 22vw, 320px) !important;
  aspect-ratio: auto;
}

.app-home-media {
  height: clamp(250px, 18vw, 285px) !important;
  aspect-ratio: auto;
}

.application-card-media img,
.app-home-media img,
.blog-simple-card img,
.cc-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
  image-rendering: auto;
}

/* Teaser cards use full-bleed photography; technical article media stays uncropped. */
.applications-card-grid .application-card-media img,
.blog-index-grid .blog-simple-card > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

.application-card:hover img,
.app-home-card:hover img,
.blog-simple-card:hover img,
.cc:hover img {
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}

#blog .section-action {
  gap: 10px;
  min-height: 52px;
  padding: 15px 22px;
  color: #fff;
  border-color: #ff6f32;
  background: #ff6f32;
  box-shadow: 0 18px 48px rgba(255,111,50,.28);
}

#blog .section-action:hover {
  background: #ff5a1f;
  border-color: #ff5a1f;
}

.review-image-strip {
  min-height: clamp(380px, 38vw, 540px);
}

.review-image-card {
  min-height: clamp(360px, 36vw, 520px);
}

.review-image-card img {
  height: clamp(360px, 36vw, 520px);
  object-fit: cover;
}

@media (min-width: 981px) {
  .application-detail-shell {
    align-items: start;
  }

  .application-detail-sidebar.review-nav {
    position: sticky !important;
    top: 104px;
    max-height: calc(100dvh - 128px);
    overflow-y: auto;
  }
}

@media (max-width: 980px) {
  .nav-links a,
  .nav-login {
    min-height: 56px;
    font-size: 18px;
    line-height: 1.2;
  }

  .application-card-media,
  .app-home-media,
  .blog-simple-card img,
  #blog .blog-simple-card img,
  #blog .cc-img {
    height: 260px !important;
  }

  .review-image-strip {
    min-height: 340px;
  }

.review-image-card,
.review-image-card img {
    min-height: 320px;
    height: 320px;
  }
}

/* Carousel media should fill the frame edge-to-edge. */
.review-image-card,
.review-image-card img,
.review-image-strip img,
.carousel .cc-img img,
.carousel .blog-simple-card img,
.carousel .app-home-media img {
  width: 100%;
}

.review-image-card img,
.review-image-strip img {
  object-fit: contain !important;
  object-position: center;
}

.review-image-card {
  overflow: hidden;
}

html,
body {
  overflow-x: clip;
}

body {
  overflow-y: visible;
}

/* Final mobile/publish pass: nav scale, application responsiveness, crisp media. */
.nav-links {
  gap: 10px;
}

.nav-links li:last-child {
  margin-left: 8px;
}

.nav-login {
  min-height: 38px !important;
  padding: 8px 16px !important;
  color: #dbeafe;
  font-size: 13px !important;
  font-weight: 700;
  line-height: 1 !important;
  border: 1px solid rgba(30, 83, 216, .62);
  border-radius: var(--radius-md);
  background: rgba(30, 83, 216, .08);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
}

.nav-login:hover {
  color: #fff;
  border-color: rgba(0, 200, 240, .72);
  background: rgba(30, 83, 216, .16);
  transform: none;
}

.portal-account-nav {
  position: relative;
}

.portal-account-trigger {
  gap: 7px;
}

.portal-account-trigger svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .2s var(--ease-mech);
}

.portal-account-nav.is-open .portal-account-trigger {
  color: #fff;
  border-color: rgba(0, 200, 240, .72);
  background: rgba(30, 83, 216, .2);
}

.portal-account-nav.is-open .portal-account-trigger svg {
  transform: rotate(180deg);
}

.portal-account-menu {
  position: absolute;
  z-index: 1200;
  top: calc(100% + 10px);
  right: 0;
  width: min(290px, calc(100vw - 32px));
  overflow: hidden;
  padding: 8px;
  border: 1px solid rgba(71, 143, 235, .42);
  border-radius: 16px;
  background: linear-gradient(160deg, rgba(12, 31, 58, .99), rgba(5, 17, 35, .99));
  box-shadow: 0 24px 60px rgba(0, 0, 0, .46);
}

.portal-account-menu[hidden] {
  display: none;
}

.portal-account-summary {
  display: grid;
  gap: 3px;
  padding: 10px 11px 12px;
  border-bottom: 1px solid rgba(91, 143, 205, .22);
}

.portal-account-summary strong,
.portal-account-summary span {
  overflow-wrap: anywhere;
}

.portal-account-summary strong {
  color: #fff;
  font-size: 13px;
  line-height: 1.3;
}

.portal-account-summary span {
  color: #9fb9d8;
  font-size: 11px;
  line-height: 1.35;
}

.portal-account-menu > a {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 5px;
  padding: 9px 10px;
  border-radius: 10px;
  color: #dbeafe;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  transition: color .2s var(--ease-mech), background .2s var(--ease-mech);
}

.portal-account-menu > a:hover,
.portal-account-menu > a:focus-visible {
  color: #fff;
  background: rgba(32, 117, 226, .2);
  outline: 2px solid rgba(72, 172, 255, .72);
  outline-offset: -2px;
}

.portal-account-menu > a svg {
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
  fill: none;
  stroke: #65b9ff;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.applications-page,
.applications-main,
.application-detail-main {
  background: var(--bg) !important;
}

.applications-main,
.application-detail-main {
  background: var(--bg) !important;
}

.review-inline-image {
  height: auto !important;
  max-height: none;
  background: var(--bg);
}

.review-inline-image img {
  width: 100% !important;
  height: auto !important;
  max-height: 430px;
  object-fit: contain !important;
}

.review-image-strip {
  align-items: stretch;
  min-height: 0 !important;
}

.review-image-strip .review-image-card {
  flex: 0 0 auto;
  width: auto;
  height: 360px;
  min-height: 360px;
  background: var(--bg);
}

.review-image-strip .review-image-card img {
  width: auto !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: contain !important;
}

.review-image-pair {
  align-items: start;
}

.review-image-pair figure {
  height: auto;
  min-height: 0;
  background: var(--bg);
}

.review-image-pair img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

.applications-card-grid {
  align-items: stretch;
}

.application-card-media,
.app-home-media,
.blog-simple-card img,
#blog .blog-simple-card img,
#blog .cc-img {
  background: #07101d;
}

.application-card-media img,
.app-home-media img,
.blog-simple-card img,
.cc-img,
.cc-img img,
.application-detail-image img,
.review-inline-image img,
.review-image-card img,
.review-image-strip img {
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
  object-fit: contain !important;
  object-position: center;
  image-rendering: auto;
}

.form-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}

.form-success[hidden] {
  display: none !important;
}

.form-success.visible {
  display: block;
  margin-top: 16px;
  color: #d9fbe7;
}

.form-success.is-error {
  color: #ffd7ca;
}

.application-detail-content,
.application-review-content,
.application-detail-content section {
  min-width: 0;
}

@media (max-width: 980px) {
  .nav-links.open {
    gap: 16px;
    align-items: center;
    padding: 24px;
  }

  .nav-links.open li {
    width: min(100%, 260px);
    margin-left: 0;
  }

  .nav-links.open li + li {
    margin-top: 2px;
  }

  .nav-links.open .nav-link,
  .nav-links.open .nav-login,
  .nav-links.open .nav-cta {
    width: 100%;
    min-height: 50px !important;
    align-items: center;
    justify-content: center;
    padding: 13px 18px !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    text-align: center;
  }

  .nav-links.open .nav-login,
  .nav-links.open .nav-cta {
    max-width: 142px;
    margin-inline: auto;
  }

  .login-panel .section-label {
    margin-bottom: 10px;
  }

  .login-panel h2 {
    font-size: clamp(34px, 12vw, 46px);
  }

  .applications-hero {
    padding-top: 44px;
  }

  .applications-hero h1,
  .application-detail-content h1 {
    font-size: clamp(38px, 11vw, 58px);
    line-height: 1;
    overflow-wrap: anywhere;
  }

  .applications-hero p,
  .applications-lead,
  .application-detail-content p {
    font-size: 16px !important;
    line-height: 1.68 !important;
  }

  .application-detail-shell {
    display: flex !important;
    flex-direction: column;
    gap: 24px;
    width: 100%;
    padding-inline: 20px;
    padding-top: 26px;
  }

  .application-detail-sidebar.review-nav {
    order: -1;
    width: 100%;
    margin-bottom: 6px;
  }

  .application-detail-content {
    width: 100%;
  }

  .application-detail-image {
    height: clamp(300px, 72vw, 430px) !important;
    margin-inline: 0;
  }

  .review-inline-image,
  .review-image-card,
  .review-image-card img {
    height: clamp(300px, 72vw, 430px) !important;
    min-height: clamp(300px, 72vw, 430px) !important;
  }

  .review-image-strip {
    min-height: clamp(330px, 76vw, 460px) !important;
  }

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

  .application-card-media {
    height: clamp(250px, 35vw, 320px) !important;
  }

  .app-home-media,
  .blog-simple-card img,
  #blog .blog-simple-card img,
  #blog .cc-img {
    height: clamp(240px, 34vw, 300px) !important;
  }
}

@media (max-width: 640px) {
  #hero {
    min-height: auto;
    flex-direction: column;
    align-items: stretch;
    padding-bottom: 28px;
  }

  .hero-content {
    order: 1;
    margin-left: 0;
    padding-inline: 26px;
  }

  .hero-symbol-stage {
    order: 2;
    position: relative;
    right: auto;
    bottom: auto;
    width: calc(100% - 32px);
    max-width: 440px;
    height: auto;
    margin: 34px auto 28px;
    aspect-ratio: 1;
    overflow: hidden;
  }

  .bms-image-panel {
    aspect-ratio: 1315 / 1197;
    overflow: hidden;
  }

  .bms-image-panel img {
    filter: invert(1) hue-rotate(180deg);
    mix-blend-mode: screen;
  }

  .hero-symbol-bg {
    inset: 5%;
    opacity: .1;
  }

  .hero-symbol-matrix {
    inset: 18px 14px 28px;
    gap: 5%;
  }

  .matrix-cell img {
    opacity: .2;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .problem-layout {
    gap: 30px;
  }

  .problem-interactive {
    min-height: 440px !important;
    margin-inline: 8px;
    overflow: visible;
  }

  .problem-interactive::before {
    inset: 14% 5% 10%;
    filter: blur(42px) saturate(1.18);
    opacity: .76;
  }

  .problem-interactive::after {
    inset: 20% 10% 14%;
    filter: blur(34px);
    opacity: .58;
  }

  .problem-interactive img {
    width: 104% !important;
    height: 440px !important;
    margin-left: -2% !important;
    object-fit: contain !important;
    object-position: center;
  }

  .review-image-strip .review-image-card {
    height: 300px !important;
    min-height: 300px !important;
  }

  .review-inline-image img {
    max-height: 360px;
  }

  .applications-card-grid {
    grid-template-columns: 1fr;
  }

  .applications-card-grid .application-card-media,
  .application-card-media {
    height: 300px !important;
  }

  .app-home-media,
  .blog-simple-card img,
  #blog .blog-simple-card img,
  #blog .cc-img {
    height: 280px !important;
  }

  .application-card-copy {
    padding: 20px;
  }

  .motor-editorial-page .motor-article-shell {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 980px) {
  .article-shell,
  .motor-editorial-page .article-shell,
  .motor-editorial-page .motor-article-shell {
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
    width: min(100% - 32px, 820px) !important;
  }

  .article-shell > .article-content,
  .motor-editorial-page .motor-article {
    order: 2;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .article-shell > .review-nav,
  .motor-editorial-page .review-nav {
    order: 1;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .article-shell .review-nav-toggle {
    display: flex !important;
    width: 100% !important;
    min-height: 48px;
  }

  .article-shell .review-nav-list {
    position: static !important;
    width: 100% !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 16px !important;
    overflow: hidden !important;
    opacity: 0;
    visibility: hidden;
  }

  .article-shell .review-nav.is-open .review-nav-list {
    max-height: 760px !important;
    margin-top: 10px !important;
    padding: 12px 16px 16px !important;
    opacity: 1;
    visibility: visible;
  }

  .nav-links.open li:nth-last-child(2) {
    margin-top: 12px !important;
    margin-bottom: 8px !important;
  }

  .nav-links.open li:last-child {
    margin-top: 8px !important;
  }

  .nav-links.open .nav-login,
  .nav-links.open .nav-cta {
    min-height: 44px !important;
    padding: 9px 18px !important;
    font-size: 16px !important;
  }
}
/* codex-media-quality-20260712 */
.application-card-media picture,
.app-home-media picture {
  display: block;
  width: 100%;
  height: 100%;
}

.applications-card-grid .application-card {
  transition: border-color .2s var(--ease-mech), box-shadow .2s var(--ease-mech) !important;
}

#appsCarousel .app-home-card,
#appsCarousel .app-home-card figure,
.applications-card-grid .application-card,
.applications-card-grid .application-card figure,
#blogCarousel .blog-simple-card,
#blogCarousel .blog-simple-card figure,
.blog-index-grid .blog-simple-card,
.blog-index-grid .blog-simple-card figure {
  filter: none !important;
  transform: none !important;
  perspective: none !important;
  will-change: auto !important;
  backface-visibility: visible !important;
}

.applications-card-grid .application-card img,
.blog-index-grid .blog-simple-card img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
  image-rendering: auto !important;
  filter: none !important;
  transform: none !important;
  will-change: auto !important;
  backface-visibility: visible !important;
}

/* Fill every application frame without letterboxing. This applies to current
   and future carousel cards, the applications grid and application heroes. */
.carousel img,
.applications-card-grid .application-card-media img,
.application-detail-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
  image-rendering: auto !important;
  filter: none !important;
  transform: none !important;
  will-change: auto !important;
  backface-visibility: visible !important;
}

.review-inline-image {
  background: #000 !important;
}

#appsCarousel .app-home-card:hover,
.applications-card-grid .application-card:hover,
#blogCarousel .blog-simple-card:hover,
.blog-index-grid .blog-simple-card:hover,
#appsCarousel .app-home-card:hover img,
.applications-card-grid .application-card:hover img,
#blogCarousel .blog-simple-card:hover img,
.blog-index-grid .blog-simple-card:hover img {
  filter: none !important;
  transform: none !important;
}

.blog-index-grid .blog-simple-card .blog-card-copy,
.blog-index-grid .blog-simple-card .blog-card-title,
.blog-index-grid .blog-simple-card .card-title,
.blog-index-grid .blog-simple-card h2,
.blog-index-grid .blog-simple-card h3 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #e8ecf4 !important;
}

/* Blog index cards always reserve a visible title area below the image. */
.blog-index-grid .blog-simple-card {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
}

.blog-index-grid .blog-simple-card > img {
  flex: 0 0 auto !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  object-fit: cover !important;
}

.blog-index-grid .blog-simple-card .blog-card-body {
  display: flex !important;
  flex: 1 1 auto;
  align-items: center;
  min-height: 92px;
  padding: 18px 20px;
  visibility: visible !important;
  opacity: 1 !important;
}

.blog-index-grid .blog-simple-card .blog-card-body h2 {
  display: block !important;
  margin: 0;
  visibility: visible !important;
  opacity: 1 !important;
  color: #e8ecf4 !important;
}

.blog-index-grid .blog-simple-card .blog-card-body h2::before {
  display: none;
}
/* end codex-media-quality-20260712 */

/* 2026-07-13: compact feature cards, dual visual carousels and homepage polish */
.problem-layout {
  grid-template-columns: minmax(320px, .86fr) minmax(520px, 1.14fr);
  gap: 64px;
  align-items: center;
}

.problem-interactive {
  min-height: 540px;
  display: grid;
  place-items: center;
  isolation: isolate;
  overflow: visible;
}

.problem-interactive::before,
.problem-interactive::after {
  display: none;
}

#el-problema {
  overflow: clip;
}

.problem-glow {
  position: absolute;
  inset: 14% 3% 12%;
  z-index: 0;
  border-radius: 44% 56% 52% 48%;
  background:
    conic-gradient(from 210deg at 50% 50%, rgba(255,90,31,.08), rgba(255,119,35,.68), rgba(255,65,20,.24), rgba(255,146,40,.58), rgba(255,90,31,.08)),
    radial-gradient(circle at 27% 34%, rgba(255,104,28,.58), transparent 36%),
    radial-gradient(circle at 76% 64%, rgba(255,69,18,.54), transparent 44%);
  filter: blur(28px) saturate(1.2);
  opacity: .76;
  pointer-events: none;
  animation: problemAuraDrift 30s ease-in-out infinite alternate;
}

.problem-carousel {
  width: min(100%, 680px);
  aspect-ratio: 1.16;
  padding: 0 0 46px;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.problem-carousel:focus-visible {
  outline: 2px solid rgba(255,255,255,.58);
  outline-offset: 6px;
  box-shadow: none;
}

.problem-carousel .problem-slides {
  inset: 0 0 46px;
}

.problem-carousel .problem-slide img,
.problem-interactive .problem-slide img {
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center;
  filter: drop-shadow(0 28px 42px rgba(0,0,0,.46)) !important;
}

.problem-dots {
  bottom: 0;
}

.problem-dot::before {
  background: rgba(255,154,95,.42);
}

.problem-dot:hover::before {
  background: rgba(255,177,124,.86);
}

.problem-dot.is-active::before {
  background: var(--pop);
  box-shadow: 0 0 14px rgba(255,90,31,.52);
}

.problem-dot:focus-visible::after {
  border-color: rgba(255,117,45,.82);
}

@keyframes problemAuraDrift {
  0% { transform: translate3d(-2%, 2%, 0) rotate(-6deg) scale(.97); }
  45% { transform: translate3d(3%, -2%, 0) rotate(4deg) scale(1.04); }
  100% { transform: translate3d(-1%, 1%, 0) rotate(-2deg) scale(1); }
}

.problem-issue-card {
  min-height: 184px;
  padding: 22px;
}

.problem-issue-head,
.sfeat-head {
  display: flex;
  align-items: center;
  gap: 14px;
}

.problem-issue-icon {
  flex: 0 0 40px;
  margin-bottom: 0;
}

.problem-issue-kicker {
  margin-bottom: 4px;
}

.problem-issue-card h3 {
  margin: 0;
}

.problem-issue-card p {
  margin-top: 16px;
}

.sistema-features {
  gap: 18px;
}

.sfeat {
  position: relative;
  isolation: isolate;
  min-height: 205px;
  padding: 22px;
  overflow: hidden;
  transition: transform .25s var(--ease-mech), border-color .25s ease, box-shadow .25s ease;
}

.sfeat::before {
  content: '';
  position: absolute;
  inset: -1px;
  z-index: -1;
  border: 1px solid rgba(30,83,216,.62);
  border-radius: inherit;
  opacity: .2;
  pointer-events: none;
  animation: solutionCardPulse 4.2s ease-in-out infinite;
}

.sfeat:nth-child(2)::before { animation-delay: .55s; }
.sfeat:nth-child(3)::before { animation-delay: 1.1s; }
.sfeat:nth-child(4)::before { animation-delay: 1.65s; }

.sfeat:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 48px rgba(0,0,0,.22), 0 0 28px rgba(30,83,216,.1);
}

.sfeat-icon {
  position: relative;
  flex: 0 0 40px;
  margin-bottom: 0;
  border: 1px solid rgba(30,83,216,.2);
}

.sfeat-icon::after {
  content: '';
  position: absolute;
  inset: -6px;
  border: 1px solid rgba(36,105,255,.58);
  border-radius: 14px;
  pointer-events: none;
  animation: solutionIconPulse 3.6s ease-out infinite;
}

.sfeat-kicker {
  display: block;
  margin-bottom: 4px;
  color: var(--brand);
  font-size: 9px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.sfeat:nth-child(2) .sfeat-icon::after { animation-delay: .55s; }
.sfeat:nth-child(3) .sfeat-icon::after { animation-delay: 1.1s; }
.sfeat:nth-child(4) .sfeat-icon::after { animation-delay: 1.65s; }

.sfeat h3 {
  margin: 0;
  line-height: 1.2;
}

.sfeat p {
  margin-top: 16px;
}

@keyframes solutionCardPulse {
  0%, 100% { opacity: .18; box-shadow: inset 0 0 20px rgba(30,83,216,.04), 0 0 0 rgba(30,83,216,0); }
  50% { opacity: .84; box-shadow: inset 0 0 34px rgba(30,83,216,.14), 0 0 24px rgba(30,83,216,.14); }
}

@keyframes solutionIconPulse {
  0% { transform: scale(.78); opacity: .74; }
  75%, 100% { transform: scale(1.38); opacity: 0; }
}

.bms-showcase {
  margin-top: 56px;
  gap: 56px;
}

.section-action-solid {
  min-height: 48px;
  padding: 14px 28px;
  text-decoration: none;
  background: var(--pop);
  box-shadow: none;
}

.section-action-solid:hover {
  background: var(--pop-dark);
}

#blog .blog-simple-card img,
#blog .cc-img {
  height: clamp(270px, 21vw, 330px) !important;
}

@media (max-width: 1180px) {
  .problem-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .problem-interactive {
    min-height: 600px;
  }
  .problem-carousel {
    width: min(100%, 760px);
  }
}

@media (max-width: 900px) {
  .sistema-features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  #hero {
    position: relative;
    min-height: 100svh;
    display: flex;
    overflow: hidden;
    padding-bottom: 32px;
  }

  .hero-content {
    position: relative;
    z-index: 3;
  }

  .hero-symbol-stage {
    position: absolute;
    z-index: 1;
    right: -42vw;
    bottom: -10vh;
    width: min(112vw, 500px);
    max-width: none;
    height: auto;
    margin: 0;
    aspect-ratio: 1;
    opacity: .68;
    overflow: visible;
  }

  .problem-interactive {
    min-height: 430px !important;
    margin-inline: 0;
  }

  .problem-carousel {
    width: 100%;
    min-height: 0;
    aspect-ratio: .92;
    padding: 0 0 44px;
  }

  .problem-carousel .problem-slides {
    inset: 0 0 44px;
  }

  .problem-glow {
    inset: 15% 3% 11%;
    filter: blur(25px) saturate(1.18);
  }

  .problem-dot {
    width: 38px;
    min-width: 38px;
  }

  .problem-issue-card,
  .sfeat {
    min-height: 0;
  }

  .sistema-features {
    grid-template-columns: 1fr;
  }

  .bms-showcase {
    margin-top: 40px;
    gap: 40px;
  }

  #blog .blog-simple-card img,
  #blog .cc-img {
    height: 300px !important;
  }
}

@media (max-width: 1024px) {
  .solucion-intro {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .solucion-visual {
    min-height: 420px;
  }
  .solucion-carousel { width: min(100%, 680px); }
  .sistema-features { grid-template-columns: repeat(2, 1fr); }
  .zacore-real { grid-template-columns: 1fr; }
  .zacore-real-text { padding: 32px; }
}
@media (max-width: 768px) {
  .solucion-visual {
    min-height: 340px;
  }
  .solucion-glow {
    inset: 10% 0 4%;
    filter: blur(26px) saturate(1.18);
  }
}
@media (max-width: 480px) {
  .solucion-intro { margin-bottom: 44px; }
  .solucion-visual { min-height: 260px; }
  .solucion-carousel { width: 112%; }
  .problem-carousel { width: 100%; }
  .sistema-features { grid-template-columns: 1fr; }
}

/* 2026-07-13: gallery sizing and consistent application-review media */
#la-solucion .solucion-carousel {
  width: min(122%, 840px);
}

#la-solucion .solucion-slide img {
  transform: scale(1.1);
  transform-origin: center;
}

.review-inline-carousel {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 10;
  margin: 28px 0 40px;
  cursor: grab;
}

.review-inline-carousel .solucion-slides {
  inset: 0 0 48px;
  overflow: hidden;
  border: 1px solid rgba(35, 129, 255, .5);
  border-radius: var(--radius-lg);
  background: var(--bg);
}

.review-inline-carousel .solucion-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: none;
}

.review-inline-carousel .solucion-dots {
  bottom: 0;
}

.ahu-review-content .review-image-pair {
  align-items: stretch;
  grid-auto-rows: clamp(240px, 25vw, 340px);
}

.ahu-review-content .review-image-pair.review-image-trio {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ahu-review-content .review-image-pair figure {
  width: 100%;
  height: 100% !important;
  min-height: 0;
  background: var(--bg);
}

.ahu-review-content .review-image-pair img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.ahu-review-content .review-image-contain img {
  object-fit: contain !important;
}

@media (max-width: 768px) {
  #la-solucion .solucion-visual {
    min-height: 390px;
  }

  #la-solucion .solucion-carousel {
    width: 120%;
  }

  #la-solucion .solucion-slide img {
    transform: scale(1.14);
  }

  .review-inline-carousel {
    aspect-ratio: 4 / 3;
  }

  .ahu-review-content .review-image-pair,
  .ahu-review-content .review-image-pair.review-image-trio {
    grid-template-columns: 1fr;
    grid-auto-rows: 260px;
  }
}

/* Keep the enlarged solution carousel above earlier gallery sizing rules. */
#la-solucion .solucion-carousel {
  flex: 0 0 min(138%, 920px);
  width: min(138%, 920px);
  aspect-ratio: 1.05;
}

#la-solucion .solucion-slides {
  inset: 0 0 72px;
}

#la-solucion .solucion-slide img {
  transform: scale(1.18);
}

#la-solucion .solucion-dots {
  bottom: 8px;
}

@media (max-width: 768px) {
  #la-solucion .solucion-carousel {
    flex-basis: 130%;
    width: 130%;
    aspect-ratio: 1;
  }

  #la-solucion .solucion-slides {
    inset: 0 0 76px;
  }

  #la-solucion .solucion-slide img {
    transform: scale(1.22);
  }

  #la-solucion .solucion-dots {
    bottom: 2px;
  }
}

/* 2026-07-14: rebalance solution media and compact right-side mobile navigation */
#la-solucion .solucion-visual {
  min-height: 500px;
}

#la-solucion .solucion-carousel {
  flex: 0 0 min(100%, 640px);
  width: min(100%, 640px);
  aspect-ratio: 1.16;
}

#la-solucion .solucion-slides {
  inset: 0 0 60px;
}

#la-solucion .solucion-slide img {
  transform: scale(1.06);
}

#la-solucion .solucion-dots {
  bottom: 4px;
}

@media (max-width: 980px) {
  .nav-links,
  .nav-links.open {
    inset: 76px 12px auto auto !important;
    width: clamp(190px, 52vw, 260px) !important;
    max-height: calc(100dvh - 88px);
    padding: 12px !important;
    flex-direction: column !important;
    flex-wrap: nowrap;
    gap: 8px !important;
    border-radius: 18px;
  }

  .nav-links.open li,
  .nav-links.open li + li,
  .nav-links.open li:nth-last-child(2),
  .nav-links.open li:last-child {
    width: 100% !important;
    margin: 0 !important;
  }

  .nav-links.open .nav-link {
    display: flex;
    width: 100%;
    min-height: 44px !important;
    justify-content: flex-end;
    padding: 0 12px !important;
    border: 0;
    border-radius: 9px;
    background: transparent;
    font-size: 15px !important;
    text-align: right;
    transition: color .2s ease, background-color .2s ease, box-shadow .2s ease;
  }

  .nav-links.open .nav-link:hover,
  .nav-links.open .nav-link.active {
    color: #fff;
    background: rgba(30, 83, 216, .13);
    box-shadow: inset -2px 0 0 rgba(0, 198, 255, .72);
  }

  .nav-links.open .nav-login,
  .nav-links.open .nav-cta {
    width: 100%;
    min-height: 44px !important;
    max-width: none;
    margin: 0 !important;
    padding: 9px 12px !important;
    border-radius: 10px;
    font-size: 15px !important;
  }
}

@media (max-width: 768px) {
  #la-solucion .solucion-intro {
    margin-bottom: 52px;
  }

  #la-solucion .solucion-visual {
    min-height: 390px;
  }

  #la-solucion .solucion-carousel {
    flex-basis: min(106%, 520px);
    width: min(106%, 520px);
    aspect-ratio: 1.08;
  }

  #la-solucion .solucion-slides {
    inset: 0 0 62px;
  }

  #la-solucion .solucion-slide img {
    transform: scale(1.08);
  }

  #la-solucion .solucion-dots {
    bottom: 0;
  }

  .bms-image-panel img {
    background: transparent !important;
    filter: none !important;
    mix-blend-mode: normal;
  }

  .bms-image-panel {
    aspect-ratio: 700 / 637;
  }
}

/* 2026-07-14: keep every solution slide inside a balanced media column. */
#la-solucion .solucion-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 480px;
  overflow: visible;
}

#la-solucion .solucion-carousel {
  flex: 0 1 560px !important;
  width: min(92%, 560px) !important;
  max-width: 560px !important;
  aspect-ratio: 1.16 !important;
}

#la-solucion .solucion-slides {
  inset: 0 0 56px !important;
}

#la-solucion .solucion-slide img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain !important;
  transform: scale(1) !important;
}

#la-solucion .solucion-dots {
  bottom: 2px !important;
}

/* 2026-07-15: shared review typography and Motor EC comment pass. */
.article-page .article-content h1,
.article-page .article-content h2,
.article-page .article-content h3,
.article-page .article-content h4 {
  font-family: var(--font-display);
  font-weight: 800;
}

.article-page .article-content p,
.article-page .article-content li {
  font-family: var(--font-body);
  font-weight: 400;
}

.motor-editorial-page .motor-source-back,
.motor-editorial-page .motor-source-intro,
.motor-editorial-page .motor-source-intro .motor-source-copy,
.motor-editorial-page .motor-source-intro h1 {
  margin-left: 0;
  padding-left: 0;
  text-align: left;
}

.motor-editorial-page .motor-source-back {
  justify-self: start;
}

/* Motor EC uses the same editorial header grid as every other review. */
.motor-editorial-page.review-editorial-page .motor-article-shell {
  width: min(1180px, calc(100% - 48px));
  grid-template-columns: minmax(0, 820px) 280px;
  gap: clamp(36px, 5vw, 72px);
  padding-top: 118px;
  padding-bottom: 96px;
}

.motor-editorial-page.review-editorial-page .motor-article {
  width: 100%;
  max-width: 820px;
}

.motor-editorial-page.review-editorial-page .motor-source-intro h1 {
  max-width: 820px;
  margin-bottom: 28px;
  font-size: clamp(42px, 5.6vw, 76px);
  line-height: .96;
  white-space: normal;
}

.motor-editorial-page .motor-source-inline-controller {
  width: 100%;
  max-width: 820px;
  margin: 8px 0 38px;
  padding: clamp(14px, 2.5vw, 26px);
  overflow: hidden;
  border: 1px solid rgba(35, 129, 255, .46);
  border-radius: var(--radius-lg);
  background: radial-gradient(circle at 50% 42%, rgba(30, 83, 216, .14), transparent 68%), #050a12;
  box-shadow: 0 18px 52px rgba(0, 0, 0, .24);
}

.motor-editorial-page .motor-source-inline-controller img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 480px;
  margin: 0 auto;
  object-fit: contain;
}

.motor-editorial-page .motor-source-allinone {
  padding-top: 32px;
  text-align: left;
}

.motor-editorial-page .motor-source-allinone h3 {
  margin: 0 0 12px;
  font-size: 30px;
  line-height: 1.12;
  text-align: left;
}

.motor-editorial-page .motor-source-allinone p {
  margin: 0;
  font-size: 17px;
  line-height: 1.78;
  text-align: left;
}

.motor-editorial-page .motor-source-fan-block figure {
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.motor-editorial-page .motor-source-fan-block figure img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover !important;
  transform: scale(1.18);
  transform-origin: center;
}

@media (max-width: 900px) {
  .motor-editorial-page .motor-source-fan-block figure img {
    transform: scale(1.1);
  }
}

/* 2026-07-15: transparent Motor EC imagery and static application galleries. */
.motor-editorial-page .motor-source-inline-controller,
.motor-editorial-page .motor-source-exploded,
.motor-editorial-page .motor-source-compact-images,
.motor-editorial-page .motor-source-control figure {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.motor-editorial-page .motor-source-inline-controller {
  padding: 0;
}

.motor-editorial-page .motor-source-inline-controller img {
  width: min(94%, 777px);
  max-height: none;
  object-fit: contain;
}

.motor-editorial-page .motor-source-exploded img {
  height: auto;
  max-height: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  object-fit: contain !important;
}

.motor-editorial-page .motor-source-compact {
  align-items: end;
}

.motor-editorial-page .motor-source-compact-images {
  min-height: 0;
  display: flex;
  align-items: flex-end;
}

.motor-editorial-page .motor-source-compact-images img {
  position: static !important;
  width: 100%;
  height: auto;
  max-height: none;
  margin: auto 0 0;
  object-fit: contain !important;
}

.motor-editorial-page .motor-source-control figure {
  display: flex;
  align-items: center;
  justify-content: center;
}

.motor-editorial-page .motor-source-control figure img {
  width: 118%;
  max-width: none;
  height: auto;
  max-height: none;
  object-fit: contain !important;
}

/* 2026-07-15: Motor EC spacing and compact advantage cards. */
.motor-editorial-page .motor-source-compact {
  margin-top: 64px;
}

.motor-editorial-page .motor-source-control {
  margin-bottom: 78px;
}

.motor-editorial-page .motor-source-adv-grid {
  gap: 12px;
}

.motor-editorial-page .motor-source-adv-grid article {
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 5px 14px;
  padding: 16px;
}

.motor-editorial-page .motor-source-adv-grid article::before {
  width: 48px;
  height: 48px;
  font-size: 20px;
}

.motor-editorial-page .motor-source-adv-grid h4 {
  margin-bottom: 4px;
  font-size: 18px;
  line-height: 1.2;
}

.motor-editorial-page .motor-source-adv-grid p {
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: normal;
  word-spacing: normal;
  text-align: left;
}

.motor-editorial-page .motor-source-inline-controller img {
  width: 100%;
  max-width: 820px;
  border-radius: 18px;
}

.transformer-review-page .transformer-fan-pair {
  align-items: stretch;
  grid-auto-rows: clamp(260px, 25vw, 330px);
}

.transformer-review-page .transformer-fan-pair figure {
  width: 100%;
  height: 100%;
}

.transformer-review-page .transformer-fan-pair img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.transformer-review-page .airflow-comparison-pair {
  align-items: stretch;
}

.transformer-review-page .airflow-comparison-pair figure {
  width: 100%;
  aspect-ratio: 2.36 / 1;
  height: auto;
  border: 0;
  background: transparent;
}

.transformer-review-page .airflow-comparison-pair img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

.review-static-gallery {
  display: grid;
  gap: 16px;
  margin: 28px 0 40px;
}

.review-static-gallery figure {
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: var(--bg);
}

.review-static-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.review-static-gallery-main {
  height: clamp(360px, 42vw, 520px);
}

.review-static-gallery-main img {
  object-fit: contain;
}

.review-static-gallery-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.review-static-gallery-row figure {
  aspect-ratio: 16 / 9;
}

@media (max-width: 720px) {
  .transformer-review-page .transformer-fan-pair,
  .transformer-review-page .airflow-comparison-pair,
  .review-static-gallery-row {
    grid-template-columns: 1fr;
  }

  .transformer-review-page .transformer-fan-pair {
    grid-auto-rows: 280px;
  }

  .review-static-gallery-main {
    height: clamp(300px, 86vw, 440px);
  }
}

@media (max-width: 768px) {
  #la-solucion .solucion-intro {
    margin-bottom: 44px;
  }

  #la-solucion .solucion-visual {
    min-height: 360px;
  }

  #la-solucion .solucion-carousel {
    flex: 0 1 440px !important;
    width: min(94%, 440px) !important;
    max-width: 440px !important;
    aspect-ratio: 1.1 !important;
  }

  #la-solucion .solucion-slides {
    inset: 0 0 54px !important;
  }
}

/* Final per-page compositions. */
.industrial-ventilation-review-page .review-story-section:nth-of-type(4) .review-image-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.industrial-ventilation-review-page .review-story-section:nth-of-type(4) .review-image-card:last-child {
  order: -1;
  grid-column: 1 / -1 !important;
}
.cooling-closed-review-page .review-story-section:nth-of-type(4) .review-image-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.cooling-closed-review-page .review-story-section:nth-of-type(4) .review-image-card:last-child {
  grid-column: auto !important;
}
.chiller-review-page .review-story-section:nth-of-type(1) .review-image-strip {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.chiller-review-page .review-story-section:nth-of-type(1) .review-image-card:first-child {
  grid-column: 1 / -1 !important;
}
.chiller-review-page .review-story-section:nth-of-type(2) .review-image-pair {
  grid-template-columns: 1fr;
}
.chiller-review-page .review-story-section:nth-of-type(6) .review-image-card:nth-child(3) img {
  min-height: 380px;
  object-fit: cover !important;
}
.transformer-review-page .review-story-section:nth-of-type(1) .review-inline-image {
  height: clamp(380px, 44vw, 540px);
}
.transformer-review-page .review-story-section:nth-of-type(1) .review-inline-image img {
  transform: scale(1.14);
  object-fit: contain !important;
}
.transformer-review-page .review-story-section:nth-of-type(7) .review-image-strip {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.transformer-review-page .review-story-section:nth-of-type(7) .review-image-card:nth-child(3) {
  order: -1;
  grid-column: 1 / -1 !important;
}
.transformer-review-page .review-story-section:nth-of-type(7) .review-image-card:nth-child(3) img {
  min-height: 390px;
  object-fit: cover !important;
}
.cooling-open-review-page .review-story-section:nth-of-type(1) .review-inline-image img {
  transform: scale(1.18);
  object-fit: cover !important;
}
.animal-welfare-review-page .review-story-section:nth-of-type(3) .review-image-strip {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.animal-welfare-review-page .review-story-section:nth-of-type(3) .review-image-card:nth-child(3) {
  order: -1;
  grid-column: 1 / -1 !important;
}
.animal-welfare-review-page .review-story-section:nth-of-type(3) .review-image-card:nth-child(-n + 2) img {
  min-height: 360px;
  object-fit: cover !important;
}
.special-air-review-page .application-review-content {
  display: flex;
  flex-direction: column;
}
.special-air-review-page .review-story-section:nth-of-type(4) { order: 10; }
.special-air-review-page .review-story-section:nth-of-type(1) { order: 20; }
.special-air-review-page .review-story-section:nth-of-type(5) { order: 30; }
.special-air-review-page .review-story-section:nth-of-type(2) { order: 40; }
.special-air-review-page .review-story-section:nth-of-type(3) { order: 50; }

@media (max-width: 720px) {
  .industrial-ventilation-review-page .review-story-section:nth-of-type(4) .review-image-strip,
  .cooling-closed-review-page .review-story-section:nth-of-type(4) .review-image-strip,
  .chiller-review-page .review-story-section:nth-of-type(1) .review-image-strip,
  .transformer-review-page .review-story-section:nth-of-type(7) .review-image-strip,
  .animal-welfare-review-page .review-story-section:nth-of-type(3) .review-image-strip {
    grid-template-columns: 1fr !important;
  }
  .industrial-ventilation-review-page .review-story-section:nth-of-type(4) .review-image-card:last-child,
  .chiller-review-page .review-story-section:nth-of-type(1) .review-image-card:first-child,
  .transformer-review-page .review-story-section:nth-of-type(7) .review-image-card:nth-child(3),
  .animal-welfare-review-page .review-story-section:nth-of-type(3) .review-image-card:nth-child(3) {
    grid-column: auto !important;
  }
}

/* Final application-gallery overrides: aligned editorial collage system. */
/* Main application images share the blue editorial halo used by the blog. */
.application-review-content > .application-detail-image {
  position: relative;
  isolation: isolate;
  box-sizing: border-box;
  padding: clamp(8px, 1.1vw, 12px);
  border: 1px solid rgba(35, 129, 255, .78);
  background:
    radial-gradient(circle at 50% 42%, rgba(0, 174, 255, .42) 0%, rgba(30, 83, 216, .22) 38%, transparent 70%),
    linear-gradient(135deg, #07162b 0%, #0a2f63 48%, #05101f 100%);
  box-shadow:
    0 0 0 1px rgba(0, 200, 240, .12),
    0 0 44px rgba(0, 143, 255, .24),
    0 26px 72px rgba(0, 0, 0, .34);
}

.application-review-content > .application-detail-image > img {
  border-radius: calc(var(--radius-lg) - 8px);
  box-shadow: 0 0 28px rgba(36, 105, 255, .2);
}

/* Keep “Motor EC?” together on the second line. */
.motor-editorial-page .motor-source-copy h1 .gradient-text {
  display: block;
  width: max-content;
  max-width: 100%;
  white-space: nowrap;
}

/* Homepage-style pulse around each Motor EC benefit icon. */
.motor-editorial-page .motor-source-adv-grid article::after {
  content: "";
  position: absolute;
  top: 10px;
  left: 10px;
  width: 58px;
  height: 58px;
  border: 1px solid rgba(36, 105, 255, .62);
  border-radius: 14px;
  pointer-events: none;
  animation: solutionIconPulse 3.6s ease-out infinite;
}

.motor-editorial-page .motor-source-adv-grid article:nth-child(2)::after { animation-delay: .35s; }
.motor-editorial-page .motor-source-adv-grid article:nth-child(3)::after { animation-delay: .7s; }
.motor-editorial-page .motor-source-adv-grid article:nth-child(4)::after { animation-delay: 1.05s; }
.motor-editorial-page .motor-source-adv-grid article:nth-child(5)::after { animation-delay: 1.4s; }
.motor-editorial-page .motor-source-adv-grid article:nth-child(6)::after { animation-delay: 1.75s; }

@media (prefers-reduced-motion: reduce) {
  .motor-editorial-page .motor-source-adv-grid article::after {
    animation: none;
    opacity: .45;
  }
}

.application-review-content .review-story-section h2 {
  margin-bottom: 14px;
  line-height: 1.08;
  text-wrap: balance;
}

.application-review-content .review-image-strip .review-image-card {
  height: clamp(250px, 24vw, 320px) !important;
  min-height: 0;
  overflow: hidden !important;
  border-radius: 18px !important;
  background: #08182a;
}

.application-review-content .review-image-strip .review-image-card img,
.application-review-content .review-static-gallery img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  image-rendering: auto;
  pointer-events: auto;
  -webkit-user-drag: auto;
  -webkit-user-select: auto;
  user-select: auto;
}

.application-review-content .gallery-feature-first,
.application-review-content .gallery-feature-last,
.application-review-content .gallery-wide-first {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.application-review-content .gallery-feature-first > .review-image-card:first-child,
.application-review-content .gallery-feature-last > .review-image-card:last-child,
.application-review-content .gallery-wide-first > .review-image-card:first-child {
  grid-column: 1 / -1 !important;
}

.application-review-content .gallery-feature-last > .review-image-card:last-child {
  order: -1;
}

.application-review-content .gallery-three-row {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.application-review-content .gallery-three-row > .review-image-card,
.application-review-content .gallery-three-row > .review-image-card:last-child {
  grid-column: auto !important;
}

.application-review-content .gallery-single-column {
  grid-template-columns: 1fr !important;
}

.application-review-content .gallery-tall img {
  min-height: clamp(320px, 35vw, 440px);
  object-fit: cover !important;
}

.application-review-content .review-image-pair {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 16px !important;
}
.application-review-content .review-image-pair figure {
  width: 100% !important;
  height: clamp(250px, 24vw, 320px) !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}
.application-review-content .review-image-pair figure img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
}
.application-review-content .review-image-pair.review-image-contain figure,
.application-review-content .review-image-pair.review-image-contain img { background: #fff !important; }
.application-review-content .review-image-pair.review-image-contain img { padding: 10px !important; object-fit: contain !important; }
.application-review-content .review-image-strip:has(> .review-image-card:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.application-review-content .review-image-strip:has(> .review-image-card:nth-child(3):last-child) > .review-image-card { grid-column: auto !important; order: initial !important; }
.application-review-content .review-image-strip:has(> .review-image-card:nth-child(5):last-child) { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
.application-review-content .review-image-strip:has(> .review-image-card:nth-child(5):last-child) > .review-image-card:nth-child(-n + 2) { grid-column: span 3 !important; }
.application-review-content .review-image-strip:has(> .review-image-card:nth-child(5):last-child) > .review-image-card:nth-child(n + 3) { grid-column: span 2 !important; }

.ahu-review-page .review-story-section:nth-of-type(1) .review-image-card { height: 300px !important; }
.ahu-review-page .ahu-existing-fans-pair figure { height: 410px !important; }
.ahu-review-page .ahu-existing-components { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.ahu-review-page .ahu-existing-components .review-image-card { grid-column: auto !important; height: 190px !important; }
.industrial-ventilation-review-page .industrial-filter-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.industrial-ventilation-review-page .industrial-filter-gallery .industrial-filter-wide { grid-column: 1 / -1 !important; order: -1 !important; height: 285px !important; }
.industrial-ventilation-review-page .industrial-filter-gallery .review-image-card:not(.industrial-filter-wide) { grid-column: auto !important; height: 230px !important; }
.industrial-ventilation-review-page .review-story-section:nth-of-type(3) .review-image-card { height: 310px !important; }
.industrial-ventilation-review-page .review-story-section:nth-of-type(5) .review-image-strip { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.industrial-ventilation-review-page .review-story-section:nth-of-type(5) .review-image-card { grid-column: auto !important; height: 270px !important; }
.cooling-closed-review-page .review-story-section:nth-of-type(1) .review-image-card { height: 310px !important; }
.cooling-closed-review-page .review-story-section:nth-of-type(2) .review-image-strip { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.cooling-closed-review-page .review-story-section:nth-of-type(2) .review-image-card { grid-column: auto !important; height: 260px !important; }
.cooling-closed-review-page .review-story-section:nth-of-type(3) .review-image-card:nth-child(-n + 2) { height: 285px !important; }
.cooling-closed-review-page .review-story-section:nth-of-type(3) .review-image-card:nth-child(n + 3) { height: 235px !important; }
.cooling-closed-review-page .review-story-section:nth-of-type(4) .review-image-strip { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.cooling-closed-review-page .review-story-section:nth-of-type(4) .review-image-card { grid-column: auto !important; height: 300px !important; }
.cooling-closed-review-page .application-review-content .review-story-section:nth-of-type(5) .review-image-strip[aria-label="Control y monitoreo de torre de enfriamiento"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.cooling-closed-review-page .application-review-content .review-story-section:nth-of-type(5) .review-image-strip[aria-label="Control y monitoreo de torre de enfriamiento"] .review-image-card:first-child { grid-column: 1 / -1 !important; height: 245px !important; }
.cooling-closed-review-page .application-review-content .review-story-section:nth-of-type(5) .review-image-strip[aria-label="Control y monitoreo de torre de enfriamiento"] .review-image-card:nth-child(n + 2) { grid-column: auto !important; height: 290px !important; }
.cooling-open-review-page .application-review-content > figure.review-inline-image { height: clamp(380px, 42vw, 500px) !important; overflow: hidden !important; border-radius: 18px !important; }
.cooling-open-review-page .application-review-content > figure.review-inline-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; transform: scale(1.16) !important; }
.cooling-open-review-page .review-story-section:nth-of-type(1) .review-image-pair figure { height: 270px !important; }
.cooling-open-review-page .review-story-section:nth-of-type(1) > .review-inline-image { height: 310px !important; overflow: hidden !important; border-radius: 18px !important; }
.cooling-open-review-page .review-story-section:nth-of-type(1) > .review-inline-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; transform: none !important; }
.motor-editorial-page .motor-article,
.motor-editorial-page .motor-source-section,
.motor-editorial-page .motor-source-fan-block,
.motor-editorial-page .motor-source-fan-block-alt { min-height: 0 !important; }
.motor-editorial-page .motor-source-fan-block,
.motor-editorial-page .motor-source-fan-block-alt { align-items: center !important; margin-bottom: 34px !important; padding-bottom: 0 !important; }
.motor-editorial-page .motor-source-fan-block-alt { margin-bottom: 0 !important; }

@media (max-width: 720px) {
  .application-review-content .review-image-strip,
  .application-review-content .review-image-strip:has(> .review-image-card:nth-child(3):last-child),
  .application-review-content .review-image-strip:has(> .review-image-card:nth-child(5):last-child),
  .application-review-content .review-image-pair,
  .ahu-review-page .ahu-existing-components,
  .industrial-ventilation-review-page .industrial-filter-gallery,
  .industrial-ventilation-review-page .review-story-section:nth-of-type(5) .review-image-strip,
  .cooling-closed-review-page .review-story-section:nth-of-type(2) .review-image-strip,
  .cooling-closed-review-page .review-story-section:nth-of-type(4) .review-image-strip,
  .cooling-closed-review-page .review-story-section:nth-of-type(5) .review-image-strip,
  .application-review-content .gallery-feature-first,
  .application-review-content .gallery-feature-last,
  .application-review-content .gallery-wide-first,
  .application-review-content .gallery-three-row {
    grid-template-columns: 1fr !important;
  }

  .application-review-content .gallery-feature-first > .review-image-card:first-child,
  .application-review-content .gallery-feature-last > .review-image-card:last-child,
  .application-review-content .gallery-wide-first > .review-image-card:first-child {
    grid-column: auto !important;
  }

  .application-review-content .review-image-strip .review-image-card,
  .application-review-content .review-image-pair figure,
  .application-review-content .review-image-strip:has(> .review-image-card:nth-child(5):last-child) > .review-image-card,
  .industrial-ventilation-review-page .industrial-filter-gallery .review-image-card,
  .cooling-closed-review-page .review-story-section .review-image-card {
    grid-column: auto !important;
    height: clamp(230px, 72vw, 340px) !important;
  }
}

/* 2026-07-16: final visual-quality pass requested from the application reviews. */

/* Give the solution carousel the requested 620 x 480 desktop media area. */
@media (min-width: 1100px) {
  #la-solucion .solucion-intro {
    grid-template-columns: minmax(0, 1fr) minmax(0, 620px);
    gap: clamp(32px, 4vw, 56px);
  }
}

#la-solucion .solucion-visual {
  min-height: 536px !important;
}

#la-solucion .solucion-carousel {
  flex: 0 1 620px !important;
  width: min(110%, 620px) !important;
  max-width: 620px !important;
  aspect-ratio: 1.157 !important;
}

#la-solucion .solucion-slides {
  inset: 0 0 56px !important;
}

/* A stronger, blog-like blue aura for every application cover image. */
.application-detail-page .application-review-content > .application-detail-image {
  position: relative !important;
  isolation: isolate;
  overflow: visible !important;
  padding: clamp(9px, 1vw, 14px) !important;
  border: 1px solid rgba(0, 198, 255, .92) !important;
  border-radius: var(--radius-lg) !important;
  background:
    radial-gradient(circle at 50% 42%, rgba(0, 210, 255, .68) 0%, rgba(31, 91, 238, .42) 39%, rgba(5, 20, 48, .95) 76%),
    linear-gradient(135deg, #06162d 0%, #0b3b83 50%, #04101f 100%) !important;
  box-shadow:
    0 0 0 1px rgba(0, 210, 255, .22),
    0 0 68px rgba(0, 143, 255, .48),
    0 28px 78px rgba(0, 0, 0, .42) !important;
}

.application-detail-page .application-review-content > .application-detail-image::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -7% -5%;
  border-radius: 28px;
  background: radial-gradient(ellipse at center, rgba(0, 190, 255, .44), rgba(35, 80, 220, .2) 48%, transparent 74%);
  filter: blur(28px);
  pointer-events: none;
}

.application-detail-page .application-review-content > .application-detail-image > img {
  border-radius: calc(var(--radius-lg) - 8px) !important;
  box-shadow: 0 0 34px rgba(25, 130, 255, .28) !important;
}

/* Preserve original pixels and aspect ratio: no tint, scaling filter or GPU blur. */
.application-detail-page .application-review-content img {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  image-rendering: auto !important;
  transform: none !important;
  will-change: auto !important;
  backface-visibility: visible !important;
  pointer-events: auto !important;
  -webkit-user-drag: auto !important;
  user-select: auto !important;
}

.application-detail-page .application-review-content :is(.review-image-card, .review-image-pair figure, .review-inline-image) > img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

.application-detail-page .application-review-content .review-image-pair.review-image-contain img {
  object-fit: contain !important;
  background: #fff !important;
  padding: 10px !important;
}

/* Orange editorial bullets across every application article. */
.application-detail-page .application-review-content li::marker {
  color: #ff5a1f;
  font-size: 1.08em;
}

.application-detail-page .application-review-content :is(ul, ol) {
  padding-inline-start: clamp(24px, 3vw, 32px);
}

.application-detail-page .application-review-content li {
  padding-inline-start: 6px;
}

/* Industrial recirculator gallery: three tall, aligned panels without dead space. */
.industrial-ventilation-review-page .industrial-recirculator-gallery {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.industrial-ventilation-review-page .industrial-recirculator-gallery .review-image-card {
  grid-column: auto !important;
  height: clamp(380px, 38vw, 500px) !important;
}

/* Closed tower conversion: three full-width rows, then a balanced pair. */
.cooling-closed-review-page .cooling-closed-conversion-sequence {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.cooling-closed-review-page .cooling-closed-conversion-sequence > .review-image-card:nth-child(-n + 3) {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  height: auto !important;
}

.cooling-closed-review-page .cooling-closed-conversion-sequence > .review-image-card:nth-child(1) {
  aspect-ratio: 4000 / 2252;
}

.cooling-closed-review-page .cooling-closed-conversion-sequence > .review-image-card:nth-child(2) {
  aspect-ratio: 1448 / 1086;
}

.cooling-closed-review-page .cooling-closed-conversion-sequence > .review-image-card:nth-child(3) {
  aspect-ratio: 3334 / 2042;
}

.cooling-closed-review-page .cooling-closed-conversion-sequence > .review-image-card:nth-child(n + 4) {
  grid-column: auto !important;
  height: clamp(360px, 38vw, 470px) !important;
}

/* Open tower temperature/control pair: use the full portrait information. */
.cooling-open-review-page .cooling-open-temperature-sensor-pair figure {
  height: clamp(470px, 52vw, 620px) !important;
}

/* Nested installation sections use the same divider and display typography. */
.application-review-content .review-subsection-heading {
  margin: clamp(48px, 7vw, 76px) 0 18px !important;
  padding-top: clamp(30px, 4vw, 42px);
  border-top: 1px solid rgba(151, 177, 211, .2);
  color: var(--text);
  font-family: var(--font-display);
  font-size: clamp(2rem, 4.4vw, 3.35rem);
  font-weight: 800;
  line-height: 1.03 !important;
  text-wrap: balance;
}

/* Transformer feature and the two installation references. */
.transformer-review-page .transformer-capacity-image {
  width: 100% !important;
  height: clamp(600px, 62vw, 760px) !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  background: #071b32 !important;
}

.transformer-review-page .transformer-capacity-image > img {
  object-fit: contain !important;
  padding: clamp(8px, 1vw, 14px);
}

.transformer-review-page .transformer-installation-pair figure {
  height: clamp(380px, 38vw, 500px) !important;
}

/* Animal-welfare photography: protect useful top and bottom information. */
.animal-welfare-review-page .review-story-section:nth-of-type(2) .review-image-pair figure,
.animal-welfare-review-page .animal-control-tall-pair figure {
  height: clamp(460px, 48vw, 590px) !important;
}

@media (max-width: 768px) {
  #la-solucion .solucion-visual {
    min-height: min(524px, 88vw) !important;
  }

  #la-solucion .solucion-carousel {
    flex: 0 1 600px !important;
    width: min(96vw, 600px) !important;
    max-width: 600px !important;
    aspect-ratio: 1.145 !important;
  }

  #la-solucion .solucion-slides {
    inset: 0 0 54px !important;
  }

  .industrial-ventilation-review-page .industrial-recirculator-gallery,
  .cooling-closed-review-page .cooling-closed-conversion-sequence {
    grid-template-columns: 1fr !important;
  }

  .industrial-ventilation-review-page .industrial-recirculator-gallery .review-image-card {
    height: clamp(320px, 94vw, 500px) !important;
  }

  .cooling-closed-review-page .cooling-closed-conversion-sequence > .review-image-card {
    grid-column: auto !important;
  }

  .cooling-closed-review-page .cooling-closed-conversion-sequence > .review-image-card:nth-child(n + 4) {
    height: clamp(300px, 88vw, 430px) !important;
  }

  .cooling-open-review-page .cooling-open-temperature-sensor-pair figure,
  .transformer-review-page .transformer-installation-pair figure,
  .animal-welfare-review-page .review-story-section:nth-of-type(2) .review-image-pair figure,
  .animal-welfare-review-page .animal-control-tall-pair figure {
    height: clamp(360px, 112vw, 560px) !important;
  }

  .transformer-review-page .transformer-capacity-image {
    height: clamp(460px, 132vw, 680px) !important;
  }
}

@media (max-width: 480px) {
  #la-solucion .solucion-visual {
    min-height: clamp(350px, 88vw, 420px) !important;
  }

  #la-solucion .solucion-carousel {
    width: 100% !important;
  }
}

/* 2026-07-17 contact form privacy + other-building polish */
.privacy-notice-link {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
  text-decoration-color: rgba(255, 107, 44, 0.65);
  text-underline-offset: 3px;
}

.privacy-notice-link:hover,
.privacy-notice-link:focus-visible {
  color: #fff;
  text-decoration-color: #ff6b2c;
}

.building-type-other[hidden] {
  display: none !important;
}

.building-type-other {
  margin-top: 10px;
}

.privacy-list li {
  margin: 0.45rem 0;
}

.privacy-list li::marker,
.modal-list.privacy-list li::marker,
.article-content ul li::marker,
.application-review-content ul li::marker {
  color: #ff6b2c;
}

/* 2026-07-18 mobile annotation closeout. */
@media (max-width: 860px) {
  body.has-mobile-command-nav #hero {
    padding-top: 38px !important;
  }

  body.has-mobile-command-nav.blog-page main.article-shell,
  body.has-mobile-command-nav.applications-page main {
    padding-top: 28px !important;
  }

  body.has-mobile-command-nav #la-solucion .solucion-visual {
    width: calc(100% + 24px) !important;
    max-width: none !important;
    margin-inline: -12px !important;
  }

  .motor-editorial-page .motor-source-compact-copy p {
    margin-bottom: 24px !important;
  }
}

/* 2026-07-18: mobile gallery and list annotation corrections. */
.application-review-content .review-story-section > ul,
.review-article-content > ul {
  list-style: disc outside !important;
  padding-left: 1.35rem !important;
}

.application-review-content .review-story-section > ul > li,
.review-article-content > ul > li {
  display: list-item !important;
  padding-left: 0.15rem;
}

.application-review-content .review-story-section > ul > li::marker,
.review-article-content > ul > li::marker {
  color: #ff6b2c;
  font-size: 0.9em;
}

.chiller-review-page .chiller-impact-gallery > .review-image-card:first-child {
  grid-column: 1 / -1 !important;
  height: clamp(300px, 36vw, 430px) !important;
}

.chiller-review-page .chiller-impact-gallery > .review-image-card:nth-child(n + 2),
.chiller-review-page .chiller-recirculation-gallery > .review-image-card,
.chiller-review-page .chiller-mechanical-gallery > .review-image-card {
  height: clamp(300px, 32vw, 410px) !important;
}

.cooling-closed-review-page .cooling-closed-conversion-sequence > .cooling-closed-comparison {
  grid-column: 1 / -1 !important;
  height: clamp(360px, 46vw, 540px) !important;
}

@media (max-width: 640px) {
  .ahu-review-page .review-story-section:nth-of-type(3) .ahu-existing-fans-pair {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin: 12px 0 0 !important;
  }

  .ahu-review-page .review-story-section:nth-of-type(3) .ahu-existing-fans-pair figure,
  .ahu-review-page .review-story-section:nth-of-type(3) .ahu-existing-fans-pair img {
    width: 100% !important;
    height: clamp(300px, 92vw, 390px) !important;
  }

  .ahu-review-page .review-story-section:nth-of-type(3) .ahu-existing-fans-pair img {
    object-fit: cover !important;
  }

  .ahu-review-page .review-story-section:nth-of-type(3) .ahu-existing-components {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 12px !important;
  }

  .ahu-review-page .review-story-section:nth-of-type(3) .ahu-existing-components > .review-image-card,
  .ahu-review-page .review-story-section:nth-of-type(3) .ahu-existing-components > .review-image-card:last-child {
    grid-column: auto !important;
    height: clamp(150px, 44vw, 190px) !important;
  }

  .chiller-review-page .chiller-impact-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .chiller-review-page .chiller-impact-gallery > .review-image-card:first-child {
    grid-column: 1 / -1 !important;
    height: clamp(230px, 70vw, 310px) !important;
  }

  .chiller-review-page .chiller-impact-gallery > .review-image-card:nth-child(n + 2) {
    grid-column: auto !important;
    height: clamp(280px, 82vw, 360px) !important;
  }

  .chiller-review-page .chiller-recirculation-gallery,
  .chiller-review-page .chiller-mechanical-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .chiller-review-page .chiller-recirculation-gallery > .review-image-card,
  .chiller-review-page .chiller-mechanical-gallery > .review-image-card {
    grid-column: auto !important;
    height: clamp(230px, 68vw, 300px) !important;
  }

  .chiller-review-page .chiller-recirculation-gallery > .review-image-card:last-child,
  .chiller-review-page .chiller-mechanical-gallery > .review-image-card:last-child {
    grid-column: 1 / -1 !important;
  }

  .cooling-closed-review-page .cooling-closed-conversion-sequence > .cooling-closed-comparison {
    grid-column: 1 !important;
    height: clamp(250px, 72vw, 330px) !important;
  }
}
