/* Inicio: ritmo editorial abierto */
:root {
  --home-white: #fff;
  --home-ink: #0a0a0a;
  --home-soft: #f5f5f3;
  --home-line: #dededb;
  --home-muted: #666;
  --home-blue: #00249c;
}
.prl-fill {
  background: #fff !important;
  box-shadow: none !important;
}
#prog {
  background: #777 !important;
  box-shadow: none !important;
}
.cur {
  background: #777 !important;
}
.curR {
  border-color: #777 !important;
}
.nav-links a.active {
  box-shadow: none !important;
}
.impact-text-label,
.catalog-text-label,
.feat-sec-label,
.feat-num,
.att-eyebrow,
.att-rule,
.att-scan,
.prod-intro-eye,
.prod-slide-cat,
.prod-progress-fill,
.stats-premium-label,
.stats-hero-number em,
.cta-eyebrow,
.ft-socl,
.ft-logo-box {
  box-shadow: none !important;
  text-shadow: none !important;
}

/* El hero cinematográfico conserva su diseño propio. */

/* Ornamentación global más contenida en la página de inicio. */
#impact,
#catalog,
#features,
#attitude,
#marcas-teaser,
#mvv,
#stats,
#cta {
  box-shadow: none;
}
#impact *:not(.lmb-inner),
#catalog *:not(.lmb-inner),
#features *:not(.lmb-inner),
#attitude *:not(.lmb-inner),
#marcas-teaser *:not(.lmb-inner),
#mvv *:not(.lmb-inner),
#stats *:not(.lmb-inner),
#cta *:not(.lmb-inner) {
  text-shadow: none;
}
.entry-once {
  transform: translate3d(0, 18px, 0);
}

/* Distribuidor: una imagen y un mensaje, sin paneles anidados. */
#impact {
  padding: clamp(120px, 14vw, 220px) clamp(22px, 5vw, 84px);
  background: #fff !important;
  background-image: none !important;
  color: #0a0a0a;
}
#impact::before,
#impact::after,
#impact .impact-shell::before,
#impact .impact-shell::after {
  display: none !important;
}
#impact .impact-shell {
  width: min(1420px, 100%);
  min-height: 760px;
  margin: auto;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  overflow: visible;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
  gap: clamp(54px, 9vw, 150px);
  align-items: center;
}
#impact .impact-topbar,
#impact .impact-word,
#impact .impact-product,
#impact .impact-title-contrast-layer,
#impact .impact-micro,
#impact .impact-route {
  display: none;
}
#impact .impact-image-band {
  position: relative;
  inset: auto;
  width: 100%;
  height: auto;
  aspect-ratio: 4/5;
  border: 0;
  border-radius: 2px;
  overflow: hidden;
  background: #eee;
  order: 1;
}
#impact .impact-image-band img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(1) contrast(1.02);
}
#impact .impact-text {
  position: relative;
  inset: auto;
  max-width: 580px;
  order: 2;
  line-height: normal;
}
#impact .impact-text-label {
  display: block;
  margin: 0 0 28px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #70706d;
  font:
    600 0.78rem/1.2 "DM Sans",
    sans-serif;
  letter-spacing: 0.15em;
}
#impact .impact-text-title {
  margin: 0 0 34px;
  color: #0a0a0a;
  font:
    700 clamp(4.4rem, 7.3vw, 8rem) / 0.82 "Bebas Neue",
    "Barlow Condensed",
    sans-serif;
  letter-spacing: -0.065em;
  text-wrap: balance;
}
#impact .impact-text-body {
  max-width: 44ch;
  margin: 0 0 36px;
  color: #525250;
  font:
    500 clamp(1.08rem, 1.35vw, 1.3rem) / 1.65 "DM Sans",
    sans-serif;
}
#impact .distributor-points {
  margin: 0 0 42px;
  border-top: 1px solid var(--home-line);
}
#impact .distributor-points li {
  padding: 14px 0;
  border-bottom: 1px solid var(--home-line);
  color: #333;
  font-size: 0.96rem;
}
#impact .distributor-points li::before {
  width: 4px;
  height: 4px;
  background: #0a0a0a;
  box-shadow: none;
}
#impact .distributor-cta {
  display: inline-flex;
  width: auto;
  padding: 17px 22px;
  border: 0;
  border-radius: 4px;
  background: var(--home-blue);
  color: #fff;
  box-shadow: none;
  font-size: 0.82rem;
}

/* Capítulo institucional: composición amplia y línea de tiempo sin tarjetas. */
#catalog {
  height: auto !important;
  min-height: 0 !important;
  padding: clamp(130px, 15vw, 230px) 0;
  background: #0a0a0a;
  color: #fff;
}
#catalog .catalog-sticky {
  position: relative !important;
  top: auto !important;
  width: auto;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 clamp(22px, 5vw, 84px);
  overflow: visible;
  display: block;
}
#catalog .catalog-panel {
  width: min(1420px, 100%);
  height: auto !important;
  min-height: 0;
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
#catalog .catalog-panel::before,
#catalog .catalog-panel::after {
  display: none;
}
#catalog .catalog-grid {
  height: auto;
  display: grid;
  grid-template-columns: minmax(340px, 0.8fr) minmax(520px, 1.2fr);
  gap: clamp(70px, 10vw, 160px);
  padding: 0;
}
#catalog .catalog-model-zone {
  position: sticky;
  top: 110px;
  align-self: start;
  height: calc(100vh - 160px);
  min-height: 580px;
  display: block;
  padding: 0;
}
#catalog .catalog-model-search {
  position: absolute;
  z-index: 3;
  top: 20px;
  left: 20px;
  min-width: 0;
  height: auto;
  padding: 9px 12px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 2px;
  background: rgba(10, 10, 10, 0.72);
  color: #fff;
  font:
    600 0.68rem/1 "DM Sans",
    sans-serif;
  letter-spacing: 0.12em;
}
#catalog .catalog-model-search::before {
  display: none;
}
#catalog .catalog-viewport {
  position: relative;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 2px;
  background: #181818;
  box-shadow: none;
  filter: grayscale(1);
  overflow: hidden;
}
#catalog .catalog-viewport::before {
  left: 18px;
  top: auto;
  bottom: 18px;
  width: auto;
  height: auto;
  padding: 8px 10px;
  border-radius: 2px;
  background: #fff;
  color: #0a0a0a;
  content: "3D · interactivo";
}
#catalog .catalog-viewport::after {
  content: "Arrastra horizontalmente para girar";
  left: auto;
  right: 18px;
  bottom: 18px;
  padding: 8px 10px;
  border: 0;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.9);
  color: #0a0a0a;
  font:
    600 0.67rem/1 "DM Sans",
    sans-serif;
  letter-spacing: 0.08em;
}
#catalog .catalog-model-caption {
  margin-top: 18px;
  color: #aaa;
}
#catalog .institutional-heading {
  padding: 3vh 0 clamp(110px, 12vw, 180px);
}
#catalog .catalog-text-label {
  margin-bottom: 24px;
  color: #9a9a96 !important;
}
#catalog .institutional-heading h2 {
  max-width: 10ch;
  margin: 0 0 30px;
  color: #fff;
  font:
    700 clamp(4.2rem, 6.6vw, 7.3rem) / 0.84 "Bebas Neue",
    "Barlow Condensed",
    sans-serif;
  letter-spacing: -0.065em;
}
#catalog .institutional-heading p {
  max-width: 46ch;
  color: #aaa;
  font-size: 1.12rem;
  line-height: 1.7;
}
#catalog .institutional-timeline {
  padding: 0 !important;
}
#catalog .institutional-timeline::before,
.timeline-progress {
  left: 0 !important;
}
#catalog .institutional-timeline::before {
  background: #333 !important;
}
.timeline-progress {
  background: #fff !important;
  box-shadow: none !important;
}
#catalog .timeline-card,
#catalog .timeline-card:nth-of-type(odd),
#catalog .timeline-card:nth-of-type(even) {
  width: auto !important;
  min-height: 0 !important;
  margin: 0 0 clamp(120px, 13vw, 190px) clamp(32px, 4vw, 58px) !important;
  padding: 0 0 0 clamp(22px, 3vw, 44px) !important;
  border: 0 !important;
  border-left: 1px solid #383838 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff !important;
  box-shadow: none !important;
}
#catalog .timeline-card::before,
#catalog .timeline-card::after {
  display: none !important;
}
#catalog .timeline-index {
  display: block;
  margin-bottom: 22px;
  color: #8b8b88 !important;
  font-size: 0.76rem;
}
#catalog .timeline-card h3 {
  max-width: 12ch;
  margin-bottom: 24px;
  color: #fff !important;
  font:
    650 clamp(2.3rem, 4vw, 4.4rem) / 0.94 "Bebas Neue",
    "Barlow Condensed",
    sans-serif;
  letter-spacing: -0.05em;
}
#catalog .timeline-card p,
#catalog .timeline-card li {
  max-width: 48ch;
  color: #aaa !important;
  font-size: 1.06rem !important;
  line-height: 1.7;
}

/* Experiencia: tipografía y filetes en lugar de una cuadrícula de tarjetas. */
#features {
  min-height: 0;
  padding: clamp(130px, 15vw, 230px) 0;
  background: #fff;
  color: #0a0a0a;
}
#features .feat-stage {
  width: 100%;
}
.feat-orbit {
  display: none;
}
#features .feat-inner {
  max-width: none;
}
#features .feat-head {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 9vw;
  margin-bottom: clamp(90px, 11vw, 160px);
  align-items: start;
}
#features .feat-sec-label {
  color: #777 !important;
}
.feat-sec-title {
  margin: 0;
  color: #0a0a0a !important;
  font:
    700 clamp(4.4rem, 7vw, 7.8rem) / 0.82 "Bebas Neue",
    "Barlow Condensed",
    sans-serif !important;
  letter-spacing: -0.065em !important;
}
.feat-kicker {
  max-width: 42ch;
  color: #555 !important;
  font-size: 1.14rem !important;
  line-height: 1.7 !important;
}
#features .feat-2grid {
  display: block;
  border-top: 1px solid #bbb;
}
#features .feat-cell {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr) minmax(280px, 0.65fr);
  gap: 34px;
  align-items: start;
  min-height: 0;
  padding: 38px 0;
  border: 0;
  border-bottom: 1px solid #bbb;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
#features .feat-cell::before,
#features .feat-cell::after {
  display: none !important;
}
#features .feat-num {
  color: #777 !important;
}
.feat-t {
  margin: 0;
  color: #0a0a0a !important;
  font:
    650 clamp(1.65rem, 2.4vw, 2.7rem) / 1 "Bebas Neue",
    "Barlow Condensed",
    sans-serif !important;
  letter-spacing: -0.04em !important;
}
.feat-d {
  color: #5d5d5a !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}
#features .feat-control {
  margin-top: 46px;
  color: #777 !important;
}

/* Filosofía: una única escena dividida, sin marcos anidados. */
#attitude {
  height: auto !important;
  min-height: 0;
  padding: clamp(130px, 14vw, 210px) clamp(22px, 5vw, 84px);
  background: #f4f4f2;
  color: #0a0a0a;
}
#attitude .att-sticky {
  position: relative !important;
  top: auto !important;
  height: auto !important;
  overflow: visible;
}
#attitude .att-shell {
  width: min(1420px, 100%);
  min-height: 760px;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(60px, 9vw, 140px);
  align-items: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
#attitude .att-text-col {
  width: auto;
  padding: 0;
  border: 0;
  order: 2;
}
#attitude .att-canvas-col {
  min-height: 690px;
  background: #e7e7e4;
  filter: grayscale(1);
  order: 1;
}
#attitude .att-canvas-tag,
#attitude .att-scan,
#attitude .att-proof {
  display: none;
}
#attitude .att-eyebrow {
  color: #777 !important;
}
.att-hdivider {
  background: #ccc;
}
.att-pre {
  color: #777 !important;
}
.att-main,
.att-main em {
  color: #0a0a0a !important;
  font:
    700 clamp(4.4rem, 6.5vw, 7rem) / 0.83 "Bebas Neue",
    "Barlow Condensed",
    sans-serif !important;
  letter-spacing: -0.065em !important;
}
.att-rule {
  width: 60px;
  height: 1px;
  background: #0a0a0a;
  box-shadow: none;
}
.att-sub {
  max-width: 43ch;
  color: #555 !important;
  font-size: 1.08rem !important;
  line-height: 1.7 !important;
}

/* Las marcas mantienen su scroll cinematográfico, sin decoración de interfaz adicional. */
#marcas-teaser {
  background: #fff;
}
.prod-intro {
  padding-top: clamp(130px, 14vw, 210px);
  padding-bottom: clamp(100px, 11vw, 160px);
  background: #fff;
}
.prod-intro-eye {
  color: #777;
}
.prod-intro-title {
  color: #0a0a0a;
  font-family: "Bebas Neue", "Barlow Condensed", sans-serif;
  font-weight: 700;
  letter-spacing: -0.07em;
}
.prod-intro-title-split {
  color: #b6b6b2 !important;
}
.prod-slide-bg {
  filter: grayscale(1);
}
.prod-slide-badge {
  background: #0a0a0a !important;
  color: #fff !important;
  border-radius: 2px !important;
}
.prod-slide-cat {
  color: #bcbcbc !important;
}
.prod-sidebar {
  display: none;
}
.prod-progress-fill {
  background: #fff !important;
  box-shadow: none !important;
}

/* Sin el resumen de empresa duplicado; la historia y las cifras ya lo cubren. */
#mvv {
  display: none;
}

/* Cifras en una secuencia horizontal limpia. */
#stats {
  padding: clamp(130px, 15vw, 220px) 0;
  background: #fff !important;
  color: #0a0a0a;
}
#stats .stats-premium {
  max-width: 1420px;
  margin: auto;
}
.stats-premium-head {
  margin-bottom: 90px;
}
.stats-premium-label,
.stats-premium-note {
  color: #666 !important;
}
.stats-premium-grid {
  display: grid !important;
  grid-template-columns: 1.35fr 0.65fr 0.65fr !important;
  gap: 0 !important;
  border-top: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
}
.stats-tile {
  min-height: 330px !important;
  padding: 42px !important;
  border: 0 !important;
  border-right: 1px solid #bbb !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #0a0a0a !important;
  box-shadow: none !important;
}
.stats-tile:nth-child(3) {
  border-right: 0 !important;
}
.stats-tile-image {
  display: none !important;
}
.stats-tile-main {
  color: #0a0a0a !important;
}
.stats-hero-number,
.stats-tile-number,
.stats-tile-title,
.stats-kicker {
  color: #0a0a0a !important;
}
.stats-main-copy {
  color: #555 !important;
}

/* Cierre: final abierto a dos columnas. */
#cta {
  padding: clamp(130px, 14vw, 210px) clamp(22px, 5vw, 84px);
  background: #0a0a0a !important;
}
#cta .cx {
  width: min(1420px, 100%);
}
#cta .cx > .cta-shell {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: clamp(70px, 9vw, 140px);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  align-items: end;
}
#cta .cta-main,
#cta .cta-action-panel {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
}
#cta .cta-main::after,
#cta .cta-action-panel::before {
  display: none;
}
.cta-eyebrow {
  margin-bottom: 70px !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #888 !important;
}
.cta-h,
.cta-tevean {
  color: #fff !important;
}
.cta-sub {
  margin-top: 44px !important;
  color: #999 !important;
}
.cta-action-kicker {
  color: #888;
}
.cta-action-copy {
  margin: 32px 0 54px;
  color: #fff;
}
.cta-btns {
  gap: 12px !important;
}
.cta-btns .btn,
.cta-btns .btno {
  min-height: 58px;
  border-radius: 4px !important;
}
.cta-btns .btn {
  background: #fff !important;
  color: #0a0a0a !important;
}
.cta-btns .btno {
  background: var(--home-blue) !important;
  color: #fff !important;
  border-color: var(--home-blue) !important;
}

@media (max-width: 900px) {
  #catalog {
    padding: 110px 0;
  }
  #catalog .catalog-grid {
    grid-template-columns: 1fr;
    gap: 100px;
  }
  #catalog .catalog-model-zone {
    position: relative;
    top: auto;
    height: 62vh;
    min-height: 480px;
  }
  #catalog .institutional-heading {
    padding: 0 0 100px;
  }
  #catalog .institutional-heading h2 {
    font-size: clamp(4rem, 16vw, 6rem);
  }
  #catalog .timeline-card,
  #catalog .timeline-card:nth-of-type(odd),
  #catalog .timeline-card:nth-of-type(even) {
    margin-bottom: 100px !important;
  }
  #features {
    padding: 110px 0;
  }
  #features .feat-head {
    grid-template-columns: 1fr;
    gap: 34px;
    margin-bottom: 80px;
  }
  .feat-sec-title {
    font-size: clamp(4rem, 16vw, 6rem) !important;
  }
  #features .feat-cell {
    grid-template-columns: 44px 1fr;
    gap: 18px 20px;
  }
  #features .feat-d {
    grid-column: 2;
  }
  #attitude {
    padding: 100px 20px;
  }
  #attitude .att-shell {
    grid-template-columns: 1fr;
    gap: 70px;
    min-height: 0;
  }
  #attitude .att-canvas-col {
    min-height: 480px;
  }
  #attitude .att-main {
    font-size: clamp(4rem, 16vw, 6rem) !important;
  }
  .stats-premium-grid {
    grid-template-columns: 1fr !important;
  }
  .stats-tile {
    min-height: 250px !important;
    border-right: 0 !important;
    border-bottom: 1px solid #bbb !important;
  }
  .stats-tile:last-child {
    border-bottom: 0 !important;
  }
}
@media (max-width: 520px) {
  #impact .impact-image-band {
    aspect-ratio: 4/5;
  }
  #catalog .catalog-viewport::after {
    display: none;
  }
  #features .feat-cell {
    padding: 30px 0;
  }
  .stats-tile {
    padding: 30px !important;
  }
}

/* Sección de distribuidores: composición editorial */
#impact {
  padding: clamp(100px, 11vw, 170px) clamp(20px, 4vw, 64px) !important;
  background: #f7f7f5 !important;
  color: #0a0a0a;
}
#impact.distributor-section .impact-shell.impact-editorial {
  position: relative;
  width: min(1500px, 100%);
  min-height: 760px;
  margin: auto;
  display: grid !important;
  grid-template-columns: minmax(320px, 0.78fr) minmax(380px, 0.92fr) minmax(250px, 0.58fr) !important;
  gap: clamp(24px, 4vw, 66px) !important;
  align-items: stretch;
  background: transparent !important;
}
#impact .impact-copy {
  position: relative;
  z-index: 2;
  align-self: center;
  padding: 60px 0;
}
#impact .impact-kicker {
  display: block;
  margin-bottom: 28px;
  color: #676765;
  font-family: var(--ft);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
#impact .impact-copy h2 {
  margin: 0 0 32px;
  color: #0a0a0a;
  font-family: var(--fd) !important;
  font-size: clamp(5rem, 7.2vw, 8rem);
  font-weight: 400;
  line-height: 0.82;
  letter-spacing: -0.025em;
  text-transform: uppercase;
  text-wrap: balance;
}
#impact .impact-copy > p {
  max-width: 42ch;
  margin: 0 0 36px;
  color: #555;
  font-family: var(--fb);
  font-size: 1.05rem;
  line-height: 1.7;
}
#impact .impact-meta {
  margin-bottom: 38px;
  border-top: 1px solid #cacac7;
}
#impact .impact-meta span {
  display: block;
  padding: 11px 0;
  border-bottom: 1px solid #d9d9d6;
  color: #393939;
  font-family: var(--fh);
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
#impact .distributor-cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  width: auto;
  padding: 16px 18px;
  border: 0;
  border-radius: 3px;
  background: #00249c;
  color: #fff;
  font-family: var(--fh);
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  box-shadow: none;
  transition:
    transform 0.25s ease,
    background 0.25s ease;
}
#impact .distributor-cta:hover {
  background: #001b75;
  transform: translateY(-2px);
}
#impact .impact-rider {
  position: relative;
  align-self: end;
  height: 100%;
  min-height: 700px;
  margin: 0;
  overflow: hidden;
  background: #f2f2ef;
}
#impact .impact-rider::before {
  content: "DISTRIMOTO / B2B";
  position: absolute;
  z-index: 1;
  left: 20px;
  top: 18px;
  color: #777;
  font-family: var(--ft);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.16em;
}
#impact .impact-rider img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  filter: grayscale(1) contrast(1.03);
  mix-blend-mode: multiply;
}
#impact .impact-products {
  display: grid;
  grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
  min-height: 760px;
  align-self: stretch !important;
  padding: 58px 0;
}
#impact .impact-product-shot {
  position: relative;
  min-height: 0;
  padding: 18px;
  border: 1px solid #d8d8d5;
  background: #ededeb;
  color: #0a0a0a;
  overflow: hidden;
  transition:
    background 0.25s ease,
    transform 0.25s ease;
}
#impact .impact-product-shot:hover {
  background: #e5e5e2;
  transform: translateY(-3px);
}
#impact .impact-product-shot img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: grayscale(1);
  mix-blend-mode: multiply;
}
#impact .impact-product-brand {
  position: absolute;
  z-index: 2;
  left: 16px;
  top: 14px;
  font-family: var(--ft);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
#impact .impact-product-index {
  position: absolute;
  z-index: 2;
  right: 16px;
  bottom: 14px;
  font-family: var(--ft);
  font-size: 0.84rem;
  color: #666;
}

@media (max-width: 1050px) {
  #impact.distributor-section .impact-shell.impact-editorial {
    grid-template-columns: 0.85fr 1.15fr !important;
  }
  #impact .impact-products {
    grid-column: 1/-1;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: none;
    min-height: 360px;
    padding: 0;
  }
  #impact .impact-product-shot {
    aspect-ratio: 16/9;
  }
}
@media (max-width: 720px) {
  #impact {
    padding: 90px 18px !important;
  }
  #impact.distributor-section .impact-shell.impact-editorial {
    display: flex !important;
    flex-direction: column;
    gap: 46px !important;
  }
  #impact .impact-copy {
    padding: 0;
  }
  #impact .impact-copy h2 {
    font-size: clamp(4.4rem, 19vw, 6.6rem);
  }
  #impact .impact-rider {
    min-height: 620px;
    order: 2;
  }
  #impact .impact-products {
    order: 3;
    gap: 10px;
    min-height: 0;
  }
  #impact .impact-product-shot {
    aspect-ratio: 1/1;
    padding: 12px;
  }
  #impact .impact-product-brand {
    font-size: 0.48rem;
    left: 10px;
    top: 10px;
  }
  #impact .impact-product-index {
    right: 10px;
    bottom: 10px;
  }
  .impact-meta {
    max-width: none;
  }
}

/* Distribuidor: escenario editorial único */
#impact {
  padding: clamp(90px, 9vw, 140px) clamp(16px, 3vw, 46px) !important;
  background: #f7f7f5 !important;
}
#impact.distributor-section .impact-shell.impact-aura {
  position: relative;
  width: min(1540px, 100%);
  height: min(800px, 78vw);
  min-height: 680px;
  margin: auto;
  display: block !important;
  overflow: hidden;
  border: 1px solid #141414 !important;
  border-radius: 0 0 22px 22px !important;
  background: #fbfbf9 !important;
  box-shadow: none !important;
}
#impact .impact-aura::before,
#impact .impact-aura::after {
  display: none !important;
}
#impact .impact-aura-topline {
  position: absolute;
  z-index: 5;
  top: 20px;
  left: 24px;
  right: 24px;
  display: flex;
  justify-content: space-between;
  padding-bottom: 13px;
  border-bottom: 1px solid #c9c9c6;
  color: #555;
  font-family: var(--ft);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
#impact .impact-aura-title {
  position: absolute;
  z-index: 1;
  left: 3.6%;
  right: 3.6%;
  top: 10%;
  display: flex;
  justify-content: space-between;
  margin: 0;
  color: #0a0a0a;
  font-family: var(--fd) !important;
  font-size: clamp(5rem, 9.2vw, 10rem);
  font-weight: 400;
  line-height: 0.8;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  white-space: nowrap;
}
#impact .impact-aura-title span:last-child {
  text-align: right;
}
#impact .impact-aura-rider {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: -1.5%;
  width: min(71%, 1080px);
  height: 76%;
  margin: 0;
  transform: translateX(-50%);
  pointer-events: none;
}
#impact .impact-aura-rider img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  filter: none !important;
}
#impact .impact-aura-copy {
  position: absolute;
  z-index: 5;
  left: 3.6%;
  bottom: 7%;
  width: min(29%, 390px);
}
#impact .impact-aura-index {
  display: block;
  margin-bottom: 18px;
  color: #555;
  font-family: var(--ft);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
#impact .impact-aura-copy h3 {
  max-width: 13ch;
  margin: 0 0 16px;
  color: #0a0a0a;
  font-family: var(--fh) !important;
  font-size: clamp(1.8rem, 2.5vw, 2.9rem);
  font-weight: 700;
  line-height: 0.92;
  letter-spacing: -0.025em;
  text-transform: uppercase;
}
#impact .impact-aura-copy p {
  max-width: 34ch;
  margin: 0 0 22px;
  color: #555;
  font-family: var(--fb);
  font-size: 0.9rem;
  line-height: 1.55;
}
#impact .impact-aura-copy .distributor-cta {
  display: inline-flex;
  width: auto;
  min-height: 48px;
  padding: 12px 15px;
  border-radius: 3px;
  background: #00249c;
  color: #fff;
  font-family: var(--fh);
  font-size: 0.75rem;
}
#impact .impact-aura-product {
  position: absolute;
  z-index: 5;
  right: 3.6%;
  bottom: 8%;
  width: min(20%, 270px);
  aspect-ratio: 1/1.06;
  padding: 15px;
  border: 1px solid #9b9b98;
  border-radius: 18px;
  background: rgba(247, 247, 245, 0.9);
  color: #0a0a0a;
  overflow: hidden;
  transition:
    transform 0.25s ease,
    background 0.25s ease;
}
#impact .impact-aura-product:hover {
  transform: translateY(-4px);
  background: #fff;
}
#impact .impact-aura-product > span {
  position: absolute;
  z-index: 2;
  top: 14px;
  left: 14px;
  font-family: var(--ft);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
#impact .impact-aura-product img {
  width: 100%;
  height: 72%;
  margin-top: 10%;
  object-fit: contain;
  filter: grayscale(1);
  mix-blend-mode: multiply;
}
#impact .impact-aura-product strong {
  display: block;
  font-family: var(--fh);
  font-size: 0.8rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
#impact .impact-aura-product small {
  position: absolute;
  right: 14px;
  bottom: 13px;
  font-family: var(--ft);
  font-size: 0.84rem;
  text-transform: uppercase;
}
#impact .impact-aura-footnote {
  position: absolute;
  z-index: 5;
  right: 3.6%;
  bottom: 3%;
  color: #777;
  font-family: var(--ft);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  #impact.distributor-section .impact-shell.impact-aura {
    height: auto;
    min-height: 1040px;
    border-radius: 0 0 16px 16px !important;
  }
  #impact .impact-aura-title {
    top: 8%;
    display: block;
    font-size: clamp(5rem, 15vw, 8rem);
    white-space: normal;
  }
  #impact .impact-aura-title span {
    display: block;
  }
  #impact .impact-aura-title span:last-child {
    text-align: left;
  }
  #impact .impact-aura-rider {
    top: 24%;
    bottom: auto;
    width: 100%;
    height: 46%;
  }
  #impact .impact-aura-copy {
    left: 24px;
    bottom: 40px;
    width: calc(58% - 34px);
  }
  #impact .impact-aura-product {
    right: 20px;
    bottom: 62px;
    width: 34%;
  }
  #impact .impact-aura-footnote {
    display: none;
  }
}
@media (max-width: 600px) {
  #impact {
    padding: 70px 10px !important;
  }
  #impact.distributor-section .impact-shell.impact-aura {
    min-height: 1010px;
  }
  #impact .impact-aura-topline {
    left: 14px;
    right: 14px;
    font-size: 0.48rem;
  }
  #impact .impact-aura-title {
    left: 14px;
    right: 14px;
    top: 9%;
    font-size: 19vw;
  }
  #impact .impact-aura-rider {
    top: 25%;
    width: 118%;
    height: 39%;
  }
  #impact .impact-aura-copy {
    left: 18px;
    right: 18px;
    bottom: 245px;
    width: auto;
  }
  #impact .impact-aura-copy h3 {
    font-size: 2rem;
  }
  #impact .impact-aura-product {
    left: 18px;
    right: auto;
    bottom: 22px;
    width: 175px;
    height: 195px;
  }
  #impact .impact-aura-copy .distributor-cta {
    width: 100%;
    justify-content: space-between;
  }
}

/* Relato institucional: lienzo blanco con línea de tiempo en tarjetas grises */
#catalog {
  height: auto !important;
  min-height: 0 !important;
  padding: clamp(110px, 11vw, 180px) clamp(18px, 4vw, 68px) !important;
  background: #fff !important;
  color: #0a0a0a !important;
}
#catalog .catalog-sticky {
  position: relative !important;
  top: auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  display: block !important;
}
#catalog .catalog-panel {
  width: min(1480px, 100%) !important;
  height: auto !important;
  min-height: 0 !important;
  margin: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
#catalog .catalog-panel::before,
#catalog .catalog-panel::after {
  display: none !important;
}
#catalog .catalog-grid {
  height: auto !important;
  display: grid !important;
  grid-template-columns: minmax(330px, 0.8fr) minmax(520px, 1.2fr) !important;
  gap: clamp(70px, 9vw, 150px) !important;
  padding: 0 !important;
  align-items: start !important;
}
#catalog .catalog-model-zone {
  position: sticky !important;
  top: 110px !important;
  height: calc(100vh - 150px) !important;
  min-height: 590px !important;
  padding: 0 !important;
  align-self: start !important;
  display: block !important;
}
#catalog .catalog-model-search {
  position: absolute !important;
  z-index: 4 !important;
  top: 20px !important;
  left: 20px !important;
  right: auto !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 10px 13px !important;
  border: 1px solid #c9c9c6 !important;
  border-radius: 3px !important;
  background: rgba(255, 255, 255, 0.88) !important;
  color: #0a0a0a !important;
  font-family: var(--ft) !important;
  font-size: 0.84rem !important;
  letter-spacing: 0.12em !important;
}
#catalog .catalog-model-search::before {
  display: none !important;
}
#catalog .catalog-viewport {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  border: 1px solid #dededb !important;
  border-radius: 4px !important;
  background: #efefed !important;
  box-shadow: none !important;
  filter: grayscale(1) !important;
  overflow: hidden !important;
}
#catalog .catalog-viewport::before {
  content: "3D / INTERACTIVO" !important;
  left: 20px !important;
  top: auto !important;
  bottom: 20px !important;
  width: auto !important;
  height: auto !important;
  padding: 8px 10px !important;
  border: 0 !important;
  border-radius: 2px !important;
  background: #0a0a0a !important;
  color: #fff !important;
  font-family: var(--ft) !important;
  font-size: 0.84rem !important;
}
#catalog .catalog-viewport::after {
  content: "Arrastra para girar" !important;
  left: auto !important;
  right: 20px !important;
  bottom: 20px !important;
  padding: 8px 10px !important;
  border: 1px solid #bbb !important;
  border-radius: 2px !important;
  background: rgba(255, 255, 255, 0.9) !important;
  color: #0a0a0a !important;
  font-family: var(--ft) !important;
  font-size: 0.84rem !important;
  letter-spacing: 0.1em !important;
}
#catalog .catalog-model-caption {
  display: flex !important;
  justify-content: space-between !important;
  gap: 20px !important;
  margin-top: 16px !important;
  color: #666 !important;
  font-family: var(--ft) !important;
  font-size: 0.84rem !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
}
#catalog .catalog-model-caption strong {
  color: #0a0a0a !important;
  font-family: var(--fh) !important;
  font-size: 0.76rem !important;
  font-weight: 700 !important;
}
#catalog .institutional-story {
  min-width: 0 !important;
}
#catalog .institutional-heading {
  padding: 0 0 clamp(80px, 9vw, 130px) !important;
}
#catalog .institutional-heading .catalog-text-label {
  display: block !important;
  width: fit-content !important;
  margin: 0 0 24px !important;
  padding: 0 0 8px !important;
  border: 0 !important;
  border-bottom: 1px solid #bdbdba !important;
  color: #666 !important;
  font-family: var(--ft) !important;
  font-size: 0.84rem !important;
  letter-spacing: 0.14em !important;
}
#catalog .institutional-heading h2 {
  max-width: 9ch !important;
  margin: 0 0 30px !important;
  color: #0a0a0a !important;
  font-family: var(--fd) !important;
  font-size: clamp(5rem, 7vw, 8rem) !important;
  font-weight: 400 !important;
  line-height: 0.82 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
}
#catalog .institutional-heading p {
  max-width: 48ch !important;
  margin: 0 !important;
  color: #555 !important;
  font-family: var(--fb) !important;
  font-size: 1.06rem !important;
  line-height: 1.7 !important;
}
#catalog .institutional-timeline {
  position: relative !important;
  padding: 0 0 20px 50px !important;
}
#catalog .institutional-timeline::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 10px !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 1px !important;
  background: #d0d0cd !important;
}
#catalog .timeline-progress {
  display: block !important;
  position: absolute !important;
  left: 10px !important;
  top: 0 !important;
  width: 2px !important;
  height: var(--timeline-progress, 0%) !important;
  background: #0a0a0a !important;
  box-shadow: none !important;
  transform: translateX(-0.5px) !important;
}
#catalog .timeline-card,
#catalog .timeline-card:nth-of-type(odd),
#catalog .timeline-card:nth-of-type(even),
#catalog .timeline-card.is-active {
  position: relative !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 0 34px !important;
  padding: clamp(28px, 3vw, 46px) !important;
  border: 1px solid #e0e0dd !important;
  border-radius: 5px !important;
  background: #efefed !important;
  color: #0a0a0a !important;
  box-shadow: none !important;
  transform: translate3d(0, 20px, 0) !important;
  opacity: 0 !important;
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.3s ease !important;
}
#catalog .timeline-card.is-visible,
#catalog .timeline-card.is-active.is-visible,
#catalog .timeline-card:nth-of-type(odd).is-visible,
#catalog .timeline-card:nth-of-type(even).is-visible {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
}
#catalog .timeline-card:hover {
  background: #e8e8e5 !important;
}
#catalog .timeline-card::after {
  display: none !important;
}
#catalog .timeline-card::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: -47px !important;
  top: 42px !important;
  width: 11px !important;
  height: 11px !important;
  border: 3px solid #fff !important;
  border-radius: 50% !important;
  background: #9c9c98 !important;
  box-shadow: 0 0 0 1px #9c9c98 !important;
}
#catalog .timeline-card.is-active::before {
  background: #0a0a0a !important;
  box-shadow: 0 0 0 1px #0a0a0a !important;
}
#catalog .timeline-index {
  display: block !important;
  margin: 0 0 20px !important;
  color: #656562 !important;
  font-family: var(--ft) !important;
  font-size: 0.84rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
}
#catalog .timeline-card h3 {
  max-width: 16ch !important;
  margin: 0 0 20px !important;
  color: #0a0a0a !important;
  font-family: var(--fh) !important;
  font-size: clamp(2rem, 3vw, 3.4rem) !important;
  font-weight: 700 !important;
  line-height: 0.94 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
}
#catalog .timeline-card p,
#catalog .timeline-card li {
  max-width: 52ch !important;
  color: #565654 !important;
  font-family: var(--fb) !important;
  font-size: 1rem !important;
  line-height: 1.68 !important;
}
#catalog .timeline-card ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

@media (max-width: 900px) {
  #catalog {
    padding: 100px 18px !important;
  }
  #catalog .catalog-grid {
    grid-template-columns: 1fr !important;
    gap: 90px !important;
  }
  #catalog .catalog-model-zone {
    position: relative !important;
    top: auto !important;
    height: 62vh !important;
    min-height: 500px !important;
  }
  #catalog .institutional-heading {
    padding-bottom: 80px !important;
  }
  #catalog .institutional-heading h2 {
    font-size: clamp(4.8rem, 16vw, 7rem) !important;
  }
  #catalog .timeline-card {
    padding: 30px !important;
  }
}
@media (max-width: 560px) {
  #catalog {
    padding: 80px 12px !important;
  }
  #catalog .catalog-model-zone {
    height: 520px !important;
    min-height: 0 !important;
  }
  #catalog .catalog-model-caption {
    display: block !important;
  }
  #catalog .catalog-model-caption strong {
    display: block !important;
    margin-top: 6px !important;
  }
  #catalog .institutional-timeline {
    padding-left: 38px !important;
  }
  #catalog .institutional-timeline::before,
  #catalog .timeline-progress {
    left: 8px !important;
  }
  #catalog .timeline-card::before {
    left: -35px !important;
  }
  #catalog .timeline-card h3 {
    font-size: 2.25rem !important;
  }
}

/* Métricas diferenciales: ficha estadística */
#features {
  position: relative;
  min-height: 0 !important;
  padding: clamp(100px, 10vw, 155px) 0 clamp(120px, 12vw, 185px) !important;
  background: #fff !important;
  color: #0a0a0a !important;
  overflow: hidden !important;
}
#features::before,
#features::after {
  display: none !important;
}
#features .cx {
  width: min(1420px, 92vw) !important;
}
#features .difference-head {
  display: grid;
  grid-template-columns: 0.72fr 1.15fr 0.85fr;
  gap: clamp(30px, 5vw, 80px);
  align-items: end;
  margin-bottom: clamp(72px, 8vw, 115px);
  padding-bottom: 24px;
  border-bottom: 1px solid #d5d5d2;
}
#features .difference-head > span {
  align-self: start;
  color: #666;
  font-family: var(--ft);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
#features .difference-head h2 {
  margin: 0;
  color: #0a0a0a;
  font-family: var(--fd) !important;
  font-size: clamp(4.8rem, 7.5vw, 8.5rem);
  font-weight: 400;
  line-height: 0.78;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}
#features .difference-head p {
  max-width: none;
  margin: 0;
  color: #5f5f5c;
  font-family: var(--fb);
  font-size: 1.12rem;
  line-height: 1.65;
  white-space: nowrap;
}
#features .difference-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: clamp(55px, 8vw, 130px);
  row-gap: clamp(58px, 6vw, 90px);
}
#features .difference-stat {
  min-width: 0;
  margin: 0;
  padding: 0;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
#features .difference-head,
#features .difference-stat {
  opacity: 1 !important;
  transform: none !important;
}
#features .difference-stat strong {
  display: block;
  max-width: 15ch;
  margin: 0 0 8px;
  color: #0a0a0a;
  font-family: var(--fh);
  font-size: clamp(2.05rem, 3vw, 3.65rem);
  font-weight: 800;
  line-height: 0.88;
  letter-spacing: -0.025em;
  text-transform: none;
  text-wrap: balance;
}
#features .difference-stat p {
  max-width: 31ch;
  margin: 0;
  color: #62625f;
  font-family: var(--fb);
  font-size: clamp(0.94rem, 1.05vw, 1.08rem);
  font-weight: 600;
  line-height: 1.32;
  text-wrap: pretty;
}
#features .difference-mark {
  display: flex;
  justify-content: center;
  gap: 4px;
  margin-top: clamp(80px, 9vw, 130px);
}
#features .difference-mark span {
  display: block;
  width: 17px;
  height: 7px;
  background: #0a0a0a;
  transform: skewX(-27deg);
}

@media (max-width: 900px) {
  #features {
    padding: 100px 0 130px !important;
  }
  #features .difference-head {
    grid-template-columns: 1fr;
    margin-bottom: 70px;
  }
  #features .difference-head h2 {
    font-size: clamp(5rem, 15vw, 7rem);
  }
  #features .difference-head p {
    max-width: 46ch;
    white-space: normal;
  }
  #features .difference-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 44px;
    row-gap: 60px;
  }
}
@media (max-width: 560px) {
  #features .cx {
    width: calc(100% - 36px) !important;
  }
  #features .difference-head {
    gap: 24px;
    margin-bottom: 58px;
  }
  #features .difference-head h2 {
    font-size: 19vw;
  }
  #features .difference-grid {
    grid-template-columns: 1fr;
    row-gap: 44px;
  }
  #features .difference-stat {
    padding-bottom: 28px;
    border-bottom: 1px solid #dededb !important;
  }
  #features .difference-stat strong {
    font-size: 2.65rem;
  }
  #features .difference-stat p {
    max-width: 34ch;
    font-size: 1rem;
  }
  #features .difference-mark {
    margin-top: 70px;
  }
}

/* Relato institucional: línea de tiempo documental con profundidad de parallax */
#catalog {
  padding: clamp(120px, 12vw, 190px) clamp(18px, 4vw, 68px) !important;
  background: #fff !important;
  color: #0a0a0a !important;
  overflow: hidden !important;
}
#catalog .timeline-editorial {
  width: min(1480px, 100%);
  margin: 0 auto;
}
#catalog .timeline-intro {
  display: grid !important;
  grid-template-columns: 0.55fr 1.15fr 0.8fr;
  gap: clamp(34px, 5vw, 86px);
  align-items: end;
  padding: 0 0 clamp(82px, 8vw, 126px) !important;
  border-bottom: 1px solid #d5d5d2;
}
#catalog .timeline-intro .catalog-text-label {
  align-self: start;
  width: max-content !important;
  margin: 0 !important;
  color: #666 !important;
}
#catalog .timeline-intro h2 {
  max-width: 9ch !important;
  margin: 0 !important;
  color: #0a0a0a !important;
  font-size: clamp(5rem, 7.4vw, 8.6rem) !important;
}
#catalog .timeline-intro p {
  max-width: 37ch !important;
  margin: 0 !important;
  color: #555 !important;
  font-size: 1.06rem !important;
  line-height: 1.7 !important;
}
#catalog .timeline-documentary {
  position: relative !important;
  padding: clamp(68px, 6vw, 96px) 0 10px !important;
  --timeline-axis: 50%;
}
#catalog .timeline-documentary::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: var(--timeline-axis) !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 1px !important;
  background: #cacac7 !important;
  transform: translateX(-0.5px) !important;
}
#catalog .timeline-documentary .timeline-progress {
  display: block !important;
  position: absolute !important;
  z-index: 2 !important;
  left: var(--timeline-axis) !important;
  top: 0 !important;
  width: 2px !important;
  height: var(--timeline-progress, 0%) !important;
  background: #0a0a0a !important;
  transform: translateX(-1px) !important;
}
#catalog .timeline-card,
#catalog .timeline-card:nth-of-type(odd),
#catalog .timeline-card:nth-of-type(even),
#catalog .timeline-card.is-active {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: clamp(100px, 11vw, 180px) !important;
  align-items: center !important;
  width: 100% !important;
  min-height: clamp(420px, 42vw, 620px) !important;
  margin: 0 0 clamp(48px, 5vw, 76px) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 0 !important;
  transform: translate3d(0, 42px, 0) !important;
  transition:
    opacity 0.68s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.82s cubic-bezier(0.22, 1, 0.36, 1) !important;
}
#catalog .timeline-card.is-visible,
#catalog .timeline-card.is-active.is-visible,
#catalog .timeline-card:nth-of-type(odd).is-visible,
#catalog .timeline-card:nth-of-type(even).is-visible {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
}
#catalog .timeline-card::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  z-index: 4 !important;
  left: 50% !important;
  top: 50% !important;
  width: 9px !important;
  height: 9px !important;
  border: 3px solid #fff !important;
  border-radius: 50% !important;
  background: #8f8f8b !important;
  box-shadow: 0 0 0 1px #8f8f8b !important;
  transform: translate(-50%, -50%) !important;
}
#catalog .timeline-card.is-visible::before {
  background: #0a0a0a !important;
  box-shadow: 0 0 0 1px #0a0a0a !important;
}
#catalog .timeline-card::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  z-index: 1 !important;
  top: 50% !important;
  width: clamp(44px, 5vw, 76px) !important;
  height: 1px !important;
  background: #a9a9a5 !important;
}
#catalog .timeline-card:nth-of-type(odd)::after {
  left: 50% !important;
}
#catalog .timeline-card:nth-of-type(even)::after {
  right: 50% !important;
}
#catalog .timeline-copy {
  position: relative;
  z-index: 3;
  max-width: 530px;
  padding: clamp(34px, 4vw, 58px) 0;
}
#catalog .timeline-card:nth-of-type(odd) .timeline-copy {
  grid-column: 1;
  grid-row: 1;
  justify-self: end;
  text-align: right;
}
#catalog .timeline-card:nth-of-type(even) .timeline-copy {
  grid-column: 2;
  grid-row: 1;
  justify-self: start;
  text-align: left;
}
#catalog .timeline-card:nth-of-type(odd) .timeline-media {
  grid-column: 2;
  grid-row: 1;
}
#catalog .timeline-card:nth-of-type(even) .timeline-media {
  grid-column: 1;
  grid-row: 1;
}
#catalog .timeline-index {
  display: block !important;
  margin: 0 0 22px !important;
  color: #656562 !important;
  font-size: 1rem !important;
  letter-spacing: 0.14em !important;
}
#catalog .timeline-card h3 {
  max-width: 13ch !important;
  margin: 0 0 24px !important;
  color: #0a0a0a !important;
  font-family: var(--fh) !important;
  font-size: clamp(2.4rem, 3.7vw, 4.4rem) !important;
  font-weight: 700 !important;
  line-height: 0.92 !important;
  letter-spacing: -0.035em !important;
  text-transform: uppercase !important;
}
#catalog .timeline-card:nth-of-type(odd) h3 {
  margin-left: auto !important;
}
#catalog .timeline-card h3.timeline-history-title {
  max-width: none !important;
  white-space: nowrap;
}
#catalog .timeline-card h3.timeline-mission-title {
  max-width: none !important;
  white-space: nowrap;
}
#catalog .timeline-card p,
#catalog .timeline-card li {
  max-width: 44ch !important;
  color: #555 !important;
  font-size: 1.03rem !important;
  line-height: 1.7 !important;
}
#catalog .timeline-card:nth-of-type(odd) p {
  margin-left: auto !important;
}
#catalog .timeline-card li + li {
  margin-top: 6px;
}
#catalog .timeline-card .timeline-values-list {
  padding-left: 1.25em !important;
  list-style: disc !important;
}
#catalog .timeline-card .timeline-values-list li {
  display: list-item !important;
  padding-left: 0.2em;
}
#catalog .timeline-media {
  position: relative;
  z-index: 2;
  width: 100%;
  height: clamp(390px, 38vw, 580px);
  margin: 0;
  overflow: hidden;
  background: #e7e7e4;
}
#catalog .timeline-media::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(10, 10, 10, 0.12);
  pointer-events: none;
}
#catalog .timeline-parallax {
  position: absolute;
  left: 0;
  top: -11%;
  width: 100%;
  height: 122%;
  object-fit: cover;
  filter: grayscale(1) contrast(1.04);
  transform: translate3d(0, 0, 0) scale(1.12);
  transform-origin: center;
  will-change: transform;
}
#catalog .timeline-parallax.timeline-history-color,
#catalog .timeline-parallax.timeline-mission-color,
#catalog .timeline-parallax.timeline-values-color,
#catalog .timeline-parallax.timeline-philosophy-color {
  filter: contrast(1.02) saturate(1.04);
}
#catalog .timeline-parallax.timeline-store-color {
  filter: contrast(1.02) saturate(1.04);
}

@media (max-width: 900px) {
  #catalog {
    padding: 100px 18px !important;
  }
  #catalog .timeline-intro {
    grid-template-columns: 1fr;
    gap: 30px;
    padding-bottom: 76px !important;
  }
  #catalog .timeline-intro h2 {
    font-size: clamp(5rem, 16vw, 7.4rem) !important;
  }
  #catalog .timeline-documentary {
    --timeline-axis: 16px;
    padding: 66px 0 0 48px !important;
  }
  #catalog .timeline-card,
  #catalog .timeline-card:nth-of-type(odd),
  #catalog .timeline-card:nth-of-type(even) {
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
    min-height: 0 !important;
    margin-bottom: 72px !important;
    align-items: stretch !important;
  }
  #catalog .timeline-card::before {
    left: -32px !important;
    top: 0 !important;
  }
  #catalog .timeline-card::after {
    left: -32px !important;
    right: auto !important;
    top: 0 !important;
    width: 32px !important;
  }
  #catalog .timeline-media {
    order: 1;
    height: clamp(300px, 64vw, 500px);
  }
  #catalog .timeline-copy {
    order: 2;
    max-width: 620px;
    padding: 0;
    text-align: left !important;
    justify-self: start !important;
  }
  #catalog .timeline-card h3,
  #catalog .timeline-card p {
    margin-left: 0 !important;
  }
}
@media (max-width: 560px) {
  #catalog {
    padding: 82px 12px !important;
  }
  #catalog .timeline-intro {
    padding-bottom: 62px !important;
  }
  #catalog .timeline-intro h2 {
    font-size: 18.5vw !important;
  }
  #catalog .timeline-documentary {
    --timeline-axis: 10px;
    padding: 54px 0 0 34px !important;
  }
  #catalog .timeline-card,
  #catalog .timeline-card:nth-of-type(odd),
  #catalog .timeline-card:nth-of-type(even) {
    margin-bottom: 58px !important;
  }
  #catalog .timeline-card::before {
    left: -24px !important;
  }
  #catalog .timeline-card::after {
    left: -24px !important;
    width: 24px !important;
  }
  #catalog .timeline-media {
    height: 70vw;
  }
  #catalog .timeline-card h3 {
    font-size: clamp(2.25rem, 10vw, 3.2rem) !important;
  }
}

/* Distribuidor: moto frontal con tríptico de catálogo real */
#impact {
  padding: clamp(90px, 9vw, 140px) clamp(14px, 3vw, 44px) !important;
  background: #f4f4f2 !important;
}
#impact.distributor-section .impact-shell.impact-dealer {
  position: relative !important;
  display: block !important;
  width: min(1540px, 100%) !important;
  height: clamp(820px, 67vw, 1040px) !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  border: 2px solid #0a0a0a !important;
  border-radius: 0 0 24px 24px !important;
  background: #f8f8f6 !important;
  box-shadow: none !important;
}
#impact .impact-dealer::before,
#impact .impact-dealer::after {
  display: none !important;
}
#impact .impact-dealer-topline {
  position: absolute;
  z-index: 8;
  left: 28px;
  right: 28px;
  top: 22px;
  display: flex;
  justify-content: space-between;
  padding-bottom: 14px;
  border-bottom: 1px solid #a9a9a6;
  color: #424240;
  font-family: var(--ft);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
#impact .impact-dealer-heading {
  position: absolute;
  z-index: 7;
  left: 4%;
  top: 9%;
  max-width: 480px;
}
#impact .impact-dealer-heading > span {
  display: block;
  margin-bottom: 18px;
  color: #61615f;
  font-family: var(--ft);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
#impact .impact-dealer-heading h2 {
  margin: 0;
  color: #0a0a0a;
  font-family: var(--fd) !important;
  font-size: clamp(5rem, 8.1vw, 9.1rem);
  font-weight: 400;
  line-height: 0.78;
  letter-spacing: -0.025em;
  text-transform: uppercase;
}
#impact .impact-dealer-stage {
  position: absolute;
  z-index: 2;
  left: 21%;
  right: 6%;
  top: 11%;
  bottom: 6%;
  overflow: visible;
}
#impact .impact-dealer-bike {
  position: absolute;
  z-index: 3;
  left: 4%;
  right: 0;
  top: 19%;
  bottom: -7%;
  margin: 0;
  overflow: hidden;
  pointer-events: none;
}
#impact .impact-dealer-bike img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  filter: contrast(1.04);
  mix-blend-mode: multiply;
}
#impact .impact-dealer-copy {
  position: absolute;
  z-index: 7;
  left: 4%;
  bottom: 7%;
  width: min(28%, 390px);
}
#impact .impact-dealer-copy h3 {
  max-width: 13ch;
  margin: 0 0 16px;
  color: #0a0a0a;
  font-family: var(--fh) !important;
  font-size: clamp(1.9rem, 2.5vw, 3rem);
  font-weight: 700;
  line-height: 0.94;
  letter-spacing: -0.025em;
  text-transform: uppercase;
}
#impact .impact-dealer-copy p {
  max-width: 35ch;
  margin: 0;
  color: #555;
  font-family: var(--fb);
  font-size: 0.95rem;
  line-height: 1.62;
}
#impact .impact-dealer > .distributor-cta {
  position: absolute;
  z-index: 8;
  right: 4%;
  bottom: 7%;
  display: inline-flex;
  width: auto;
  min-height: 54px;
  padding: 14px 18px;
  border: 0;
  border-radius: 3px;
  background: #00249c;
  color: #fff;
  font-family: var(--fh);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}
#impact .impact-dealer-footnote {
  position: absolute;
  z-index: 7;
  right: 4%;
  bottom: 2.6%;
  color: #656562;
  font-family: var(--ft);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

/* Introducción institucional más amplia y serena. */
#catalog .timeline-intro {
  grid-template-columns: 150px minmax(620px, 1fr) minmax(310px, 380px) !important;
  gap: clamp(34px, 4vw, 68px) !important;
  align-items: center !important;
}
#catalog .timeline-intro .catalog-text-label {
  align-self: start !important;
  font-size: 1.08rem !important;
}
#catalog .timeline-intro h2 {
  max-width: none !important;
  font-size: clamp(4.8rem, 6.25vw, 7.2rem) !important;
  line-height: 0.84 !important;
  text-wrap: balance !important;
}
#catalog .timeline-intro p {
  max-width: none !important;
  font-size: 1.35rem !important;
  line-height: 1.62 !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
}

@media (max-width: 1200px) {
  #catalog .timeline-intro {
    grid-template-columns: 120px minmax(480px, 1fr) minmax(270px, 330px) !important;
    gap: 34px !important;
  }
  #catalog .timeline-intro h2 {
    font-size: clamp(4.5rem, 7vw, 6.5rem) !important;
  }
  #catalog .timeline-intro p {
    font-size: 1.12rem !important;
    white-space: normal !important;
    text-wrap: pretty !important;
  }
}
@media (max-width: 900px) {
  #catalog .timeline-intro {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    align-items: start !important;
  }
  #catalog .timeline-intro h2 {
    max-width: 12ch !important;
    font-size: clamp(4.8rem, 14vw, 7rem) !important;
  }
  #catalog .timeline-intro p {
    max-width: 52ch !important;
  }
  #catalog .timeline-intro p {
    white-space: normal !important;
    text-wrap: pretty !important;
  }
}
@media (max-width: 600px) {
  #catalog .timeline-intro h2 {
    max-width: 11ch !important;
    font-size: 17vw !important;
  }
}

/* Distribuidor: división editorial compacta con moto recortada */
#impact {
  padding: clamp(76px, 7vw, 112px) clamp(12px, 2.5vw, 38px) !important;
}
#impact.distributor-section .impact-shell.impact-dealer {
  height: clamp(680px, 52vw, 810px) !important;
  min-height: 680px !important;
  border: 2px solid #0a0a0a !important;
  border-radius: 0 0 18px 18px !important;
  background: #f7f7f5 !important;
}
#impact .impact-dealer-topline {
  left: 24px;
  right: 24px;
  top: 18px;
  padding-bottom: 12px;
}
#impact .impact-dealer-heading {
  left: 3.5%;
  top: 12%;
  width: 31%;
  max-width: 460px;
}
#impact .impact-dealer-heading > span {
  margin-bottom: 16px;
}
#impact .impact-dealer-heading h2 {
  font-size: clamp(4.6rem, 5.7vw, 6.6rem);
  line-height: 0.8;
  letter-spacing: -0.018em;
}
#impact .impact-dealer-stage {
  left: 35%;
  right: 2.5%;
  top: 9%;
  bottom: 3%;
  overflow: hidden;
}
#impact .impact-dealer-bike {
  z-index: 4;
  left: -7%;
  right: -7%;
  top: 0;
  bottom: -14%;
  overflow: visible;
}
#impact .impact-dealer-bike img {
  object-fit: contain;
  object-position: center bottom;
  filter: none;
  mix-blend-mode: normal;
}
#impact .impact-dealer-copy {
  left: 3.5%;
  bottom: 19%;
  width: 28%;
  max-width: 360px;
}
#impact .impact-dealer-copy h3 {
  font-size: clamp(1.7rem, 2vw, 2.45rem);
  margin-bottom: 12px;
}
#impact .impact-dealer-copy p {
  font-size: 0.9rem;
  line-height: 1.58;
}
#impact .impact-dealer > .distributor-cta {
  left: 3.5%;
  right: auto;
  bottom: 7%;
  min-height: 52px;
  max-width: 29%;
  padding: 13px 16px;
}
#impact .impact-dealer-footnote {
  right: 3%;
  bottom: 2%;
  color: #5c5c59;
}

@media (max-width: 980px) {
}
@media (max-width: 600px) {
}

/* Filosofía: manifiesto que se rellena con el scroll y composición editorial de tres piezas */
#attitude {
  height: auto !important;
  min-height: 0 !important;
  padding: clamp(120px, 12vw, 190px) clamp(18px, 4vw, 68px) !important;
  background: #fff !important;
  color: #0a0a0a !important;
  overflow: hidden !important;
}
#attitude .att-editorial {
  width: min(1480px, 100%);
  margin: 0 auto;
}
#attitude .att-manifesto {
  text-align: center;
}
#attitude .att-eyebrow {
  display: block;
  margin: 0 0 clamp(38px, 4vw, 60px) !important;
  padding: 0 !important;
  border: 0 !important;
  color: #696966 !important;
  font-family: var(--ft) !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}
#attitude .att-fill-title {
  --att-fill: 0%;
  position: relative;
  display: inline-block;
  max-width: 13ch;
  margin: 0 auto;
  color: transparent;
  font-family: var(--fd) !important;
  font-size: clamp(5rem, 9vw, 10rem) !important;
  font-weight: 400 !important;
  line-height: 0.78 !important;
  letter-spacing: -0.025em !important;
  text-align: center;
  text-transform: uppercase;
}
#attitude .att-fill-title em {
  font: inherit;
  font-style: normal;
}
#attitude .att-fill-base {
  display: block;
  color: transparent;
  -webkit-text-stroke: 1px #b8b8b4;
  text-stroke: 1px #b8b8b4;
}
#attitude .att-fill-ink {
  position: absolute;
  inset: 0;
  display: block;
  color: #0a0a0a;
  clip-path: inset(0 calc(100% - var(--att-fill)) 0 0);
  will-change: clip-path;
}
#attitude .att-manifesto > p {
  max-width: 58ch;
  margin: clamp(42px, 5vw, 72px) auto 0;
  color: #5a5a57;
  font-family: var(--fb);
  font-size: clamp(1rem, 1.25vw, 1.16rem);
  line-height: 1.72;
  text-wrap: pretty;
}
#attitude .att-product-stage {
  position: relative;
  height: clamp(620px, 55vw, 820px);
  margin-top: clamp(100px, 11vw, 170px);
}
#attitude .att-product {
  position: absolute;
  display: block;
  color: #0a0a0a;
  text-decoration: none;
}
#attitude .att-product figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #ededeb;
}
#attitude .att-product figure::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(10, 10, 10, 0.12);
  pointer-events: none;
}

/* Cinta infinita de marcas entre las cifras y la filosofía de producto. */
.brand-marquee {
  position: relative;
  padding: 0;
  background: #fff;
  color: #0a0a0a;
  overflow: hidden;
  border-top: 1px solid #c8c8c4;
  border-bottom: 1px solid #c8c8c4;
}
.brand-marquee-head {
  width: min(1480px, 92vw);
  min-height: 66px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  border-bottom: 1px solid #d1d1cd;
  color: #696965;
  font-family: var(--ft);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.brand-marquee-window {
  padding: clamp(26px, 3vw, 44px) 0;
  overflow: hidden;
}
.brand-marquee-track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: brand-marquee-run 25s linear infinite;
}
.brand-marquee-group {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.brand-marquee figure {
  width: clamp(220px, 24vw, 390px);
  height: clamp(100px, 10vw, 150px);
  display: grid;
  place-items: center;
  margin: 0;
  padding: 20px clamp(34px, 5vw, 82px);
  border-right: 1px solid #d1d1cd;
  background: #fff;
}
.brand-marquee img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 210px;
  max-height: 86px;
  object-fit: contain;
  filter: none;
  opacity: 1;
}
.brand-marquee img.logo-to-black {
  filter: none;
  opacity: 1;
}
.brand-marquee figure:has(img.logo-to-black) {
  background: #fff;
}
.brand-marquee:hover .brand-marquee-track {
  animation-play-state: paused;
}
@keyframes brand-marquee-run {
  to {
    transform: translate3d(-50%, 0, 0);
  }
}
@media (max-width: 680px) {
  .brand-marquee-head {
    min-height: 58px;
    font-size: 0.52rem;
  }
  .brand-marquee-head span:last-child {
    display: none;
  }
  .brand-marquee figure {
    width: 210px;
    height: 104px;
    padding: 20px 42px;
  }
  .brand-marquee-track {
    animation-duration: 18s;
  }
}
@media (prefers-reduced-motion: reduce) {
  .brand-marquee-track {
    animation: none;
    transform: none;
  }
  .brand-marquee-window {
    overflow-x: auto;
  }
}

.brand-marquee + #attitude .att-manifesto {
  min-height: calc(82dvh - 84px) !important;
  padding-top: clamp(34px, 4vw, 58px) !important;
  padding-bottom: clamp(34px, 4vw, 58px) !important;
}
#attitude .att-product img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(1) contrast(1.04);
  transition:
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}
#attitude .att-product:hover img {
  transform: scale(1.035);
  filter: grayscale(0.72) contrast(1.03);
}
#attitude .att-product > span {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-top: 14px;
  color: #343432;
  font-family: var(--fh);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}
#attitude .att-product > span b {
  color: #888883;
  font-family: var(--ft);
  font-size: 0.84rem;
  letter-spacing: 0.1em;
}
#attitude .att-product--helmet {
  left: 2%;
  top: 25%;
  width: 25%;
  z-index: 1;
}
#attitude .att-product--helmet figure {
  height: clamp(330px, 32vw, 470px);
}
#attitude .att-product--helmet img {
  object-fit: contain;
  padding: 8%;
  mix-blend-mode: multiply;
}
#attitude .att-product--luggage {
  left: 34%;
  top: 0;
  width: 38%;
  z-index: 2;
}
#attitude .att-product--luggage figure {
  height: clamp(480px, 47vw, 690px);
}
#attitude .att-product--luggage img {
  object-position: 35% center;
}
#attitude .att-product--jacket {
  right: 1%;
  top: 18%;
  width: 22%;
  z-index: 1;
}
#attitude .att-product--jacket figure {
  height: clamp(300px, 29vw, 430px);
}
#attitude .att-product--jacket img {
  object-position: 58% center;
}
#attitude .att-criteria {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: clamp(80px, 8vw, 120px);
  border-top: 1px solid #c7c7c3;
  border-bottom: 1px solid #c7c7c3;
}
#attitude .att-criteria span {
  padding: 19px 8px;
  color: #62625f;
  font-family: var(--ft);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-align: center;
  text-transform: uppercase;
}
#attitude .att-criteria span + span {
  border-left: 1px solid #d5d5d2;
}

@media (max-width: 800px) {
  #attitude {
    padding: 100px 18px !important;
  }
  #attitude .att-fill-title {
    max-width: 11ch;
    font-size: clamp(4.6rem, 17vw, 7rem) !important;
    line-height: 0.8 !important;
  }
  #attitude .att-criteria {
    grid-template-columns: 1fr 1fr;
    margin-top: 90px;
  }
  #attitude .att-criteria span:nth-child(3) {
    border-left: 0;
    border-top: 1px solid #d5d5d2;
  }
  #attitude .att-criteria span:nth-child(4) {
    border-top: 1px solid #d5d5d2;
  }
}
@media (max-width: 480px) {
  #attitude {
    padding: 82px 12px !important;
  }
  #attitude .att-fill-title {
    max-width: 100%;
    font-size: 14.7vw !important;
  }
  #attitude .att-manifesto > p {
    font-size: 0.98rem;
  }
}

/* Distribuidor: división editorial a dos columnas */
#impact {
  padding: clamp(72px, 7vw, 108px) clamp(12px, 2.5vw, 38px) !important;
  background: #f4f4f2 !important;
}
#impact.distributor-section .impact-shell.impact-dealer {
  height: clamp(620px, 47vw, 720px) !important;
  min-height: 620px !important;
  display: grid !important;
  grid-template-columns: 46% 54% !important;
  overflow: hidden !important;
  border: 2px solid #0a0a0a !important;
  border-radius: 0 0 16px 16px !important;
  background: #fff !important;
}
#impact .impact-dealer-topline {
  grid-column: 1/-1;
  right: 70px;
  z-index: 9;
}
#impact .impact-dealer-heading {
  left: 4%;
  top: 17%;
  width: 38%;
  max-width: 520px;
}
#impact .impact-dealer-heading h2 {
  font-size: clamp(4.5rem, 5.6vw, 6.4rem);
  line-height: 0.8;
}
#impact .impact-dealer-stage {
  left: 46%;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden;
  background: #e8e8e6;
}
#impact .impact-dealer-stage::after {
  content: "PROGRAMA DISTRIMOTO MÉXICO";
  position: absolute;
  z-index: 5;
  right: 0;
  top: 0;
  bottom: 20%;
  width: 46px;
  padding: 32px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #171719;
  color: #fff;
  font-family: var(--ft);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  writing-mode: vertical-rl;
}
#impact .impact-dealer-stage::before {
  content: "";
  position: absolute;
  z-index: 6;
  right: 0;
  bottom: 0;
  width: 46px;
  height: 20%;
  background: #00249c;
}
#impact .impact-dealer-bike {
  position: absolute;
  inset: 0 46px 0 0 !important;
  margin: 0;
  overflow: hidden;
}
#impact .impact-dealer-bike img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: grayscale(1) contrast(1.03);
  mix-blend-mode: normal;
}
#impact .impact-dealer-copy {
  left: 4%;
  bottom: 20%;
  width: 34%;
  max-width: 410px;
}
#impact .impact-dealer-copy h3 {
  max-width: 17ch;
  font-size: clamp(1.7rem, 2.2vw, 2.65rem);
}
#impact .impact-dealer-copy p {
  max-width: 38ch;
}
#impact .impact-dealer > .distributor-cta {
  left: 4%;
  right: auto;
  bottom: 7%;
  max-width: 35%;
}
#impact .impact-dealer-footnote {
  display: none;
}

/* Filosofía: relleno secuencial palabra a palabra */
#attitude .att-fill-title {
  position: relative;
  display: block;
  max-width: 18ch;
  margin: 0 auto;
  color: #bebeba !important;
  font-family: var(--fb) !important;
  font-size: clamp(3.6rem, 6.2vw, 7rem) !important;
  font-weight: 500 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.065em !important;
  text-align: center;
  text-transform: none !important;
  text-wrap: balance;
}
#attitude .att-fill-title [data-fill-word] {
  --word-fill: 0%;
  position: relative;
  display: inline-block;
  color: #bebeba;
}
#attitude .att-fill-title [data-fill-word]::after {
  content: attr(data-fill-word);
  position: absolute;
  inset: 0;
  color: #0a0a0a;
  clip-path: inset(0 calc(100% - var(--word-fill)) 0 0);
  will-change: clip-path;
}
#attitude .att-manifesto > p {
  margin-top: clamp(46px, 5vw, 70px);
}
#attitude .att-product-stage {
  height: clamp(570px, 48vw, 720px);
  margin-top: clamp(90px, 9vw, 135px);
}
#attitude .att-product--helmet {
  left: 5%;
  top: 36%;
  width: 23%;
}
#attitude .att-product--helmet figure {
  height: clamp(280px, 27vw, 400px);
}
#attitude .att-product--jacket {
  left: 34%;
  right: auto;
  top: 0;
  width: 35%;
  z-index: 2;
}
#attitude .att-product--jacket figure {
  height: clamp(460px, 43vw, 640px);
}
#attitude .att-product--jacket img {
  object-position: 57% center;
}
#attitude .att-product--luggage {
  left: auto;
  right: 5%;
  top: 19%;
  width: 21%;
  z-index: 1;
}
#attitude .att-product--luggage figure {
  height: clamp(260px, 25vw, 370px);
}
#attitude .att-product--luggage img {
  object-position: 28% center;
}

@media (max-width: 900px) {
  #attitude .att-fill-title {
    max-width: 15ch;
    font-size: clamp(3.3rem, 10vw, 5.5rem) !important;
  }
}
@media (max-width: 600px) {
  #attitude .att-fill-title {
    max-width: 100%;
    font-size: 10.8vw !important;
    letter-spacing: -0.055em !important;
  }
}

/* Filosofía: relleno sticky seguro en cualquier alto de pantalla y bloque de criterios */
#attitude {
  padding-top: 0 !important;
  padding-bottom: clamp(110px, 11vw, 170px) !important;
}
#attitude .att-manifesto {
  position: sticky;
  z-index: 1;
  top: 74px;
  min-height: calc(100dvh - 74px);
  padding: clamp(50px, 6vw, 88px) 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #fff;
}
#attitude .att-eyebrow {
  margin-bottom: clamp(28px, 3vw, 44px) !important;
}
#attitude .att-fill-title {
  max-width: 11ch !important;
  color: #bebeba !important;
  font-family: var(--fd) !important;
  font-size: clamp(5rem, 7.4vw, 8.5rem) !important;
  font-weight: 400 !important;
  line-height: 0.8 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
  text-wrap: balance;
}
#attitude .att-manifesto > p {
  max-width: 56ch;
  margin-top: clamp(30px, 3.5vw, 50px);
  font-size: 1.04rem;
}
#attitude .att-product-stage {
  position: relative;
  z-index: 2;
  margin-top: 0;
  padding-top: clamp(90px, 9vw, 135px);
  background: #fff;
}
#attitude .att-criteria {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.15fr repeat(4, 1fr);
  min-height: 0 !important;
  margin-top: clamp(90px, 8vw, 125px);
  padding: 0 !important;
  border: 0 !important;
  border-top: 1px solid #bdbdba !important;
  border-bottom: 1px solid #bdbdba !important;
  background: #fff !important;
  color: #0a0a0a !important;
}
#attitude .att-criteria-intro,
#attitude .att-criteria article {
  min-height: 240px;
  padding: 28px clamp(18px, 2.2vw, 34px);
  border: 0;
  background: #fff;
}
#attitude .att-criteria article {
  border-left: 1px solid #d2d2cf;
}
#attitude .att-criteria-intro > span {
  display: block;
  margin: 0 0 38px;
  padding: 0;
  color: #777773;
  font-family: var(--ft);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-align: left;
  text-transform: uppercase;
}
#attitude .att-criteria-intro h3 {
  max-width: none;
  margin: 0;
  color: #0a0a0a;
  font-family: var(--fh);
  font-size: clamp(1.8rem, 2.2vw, 2.55rem);
  font-weight: 700;
  line-height: 0.96;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}
#attitude .att-criteria article b {
  display: block;
  margin-bottom: 48px;
  color: #8a8a86;
  font-family: var(--ft);
  font-size: 0.84rem;
  letter-spacing: 0.12em;
}
#attitude .att-criteria article h4 {
  margin: 0 0 14px;
  color: #0a0a0a;
  font-family: var(--fh);
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
#attitude .att-criteria article p {
  max-width: 25ch;
  margin: 0;
  color: #60605d;
  font-family: var(--fb);
  font-size: 1rem;
  line-height: 1.55;
}

@media (max-width: 900px) {
  #attitude .att-manifesto {
    top: 68px;
    min-height: calc(100dvh - 68px);
    padding: 44px 0;
  }
  #attitude .att-fill-title {
    max-width: 10ch !important;
    font-size: clamp(4.7rem, 14vw, 7rem) !important;
  }
  #attitude .att-criteria {
    grid-template-columns: 1fr 1fr;
  }
  #attitude .att-criteria-intro {
    grid-column: 1/-1;
    min-height: 180px;
  }
  #attitude .att-criteria article {
    min-height: 210px;
    border-top: 1px solid #d2d2cf;
  }
  #attitude .att-criteria article:nth-of-type(odd) {
    border-left: 0;
  }
}
@media (max-width: 560px) {
  #attitude .att-manifesto {
    top: 62px;
    min-height: calc(100dvh - 62px);
    padding: 36px 0;
  }
  #attitude .att-eyebrow {
    margin-bottom: 24px !important;
  }
  #attitude .att-fill-title {
    max-width: 100% !important;
    font-size: 16vw !important;
    line-height: 0.82 !important;
  }
  #attitude .att-manifesto > p {
    max-width: 34ch;
    margin-top: 28px;
    font-size: 0.94rem;
  }
  #attitude .att-criteria {
    grid-template-columns: 1fr;
  }
  #attitude .att-criteria-intro {
    grid-column: auto;
    min-height: 165px;
  }
  #attitude .att-criteria article {
    min-height: 0;
    padding: 24px 18px;
    border-left: 0;
    border-top: 1px solid #d2d2cf;
  }
  #attitude .att-criteria article b {
    margin-bottom: 22px;
  }
}

/* Marcas: capítulos editoriales abiertos en lugar de un carrusel oscuro */
#marcas-teaser {
  height: auto !important;
  min-height: 0 !important;
  padding: 0 clamp(18px, 4vw, 68px) clamp(28px, 3vw, 44px) !important;
  background: #fff !important;
  color: #0a0a0a !important;
  overflow: hidden !important;
}
#marcas-teaser .prod-intro {
  width: min(1480px, 100%);
  margin: 0 auto;
  padding: clamp(72px, 6vw, 104px) 0 clamp(78px, 7.5vw, 116px) !important;
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: clamp(50px, 7vw, 120px);
  align-items: start;
  border-bottom: 1px solid #bdbdba;
  background: #fff !important;
}
#marcas-teaser .prod-intro-eye {
  margin-top: 10px;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #6b6b68 !important;
  font-family: var(--ft) !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}
#marcas-teaser .prod-intro-title {
  display: flex !important;
  flex-direction: column;
  margin: 0 !important;
  color: #0a0a0a !important;
  font-family: var(--fd) !important;
  font-size: clamp(6rem, 10vw, 11rem) !important;
  font-weight: 400 !important;
  line-height: 0.66 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
}
#marcas-teaser .prod-intro-title > span {
  display: block !important;
  opacity: 1 !important;
  transform: none !important;
}
#marcas-teaser .prod-intro-title-split {
  margin-left: 18% !important;
  background: none !important;
  color: #0a0a0a !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: #0a0a0a !important;
  transform: none !important;
}
#marcas-teaser .prod-sticky {
  position: relative !important;
  top: auto !important;
  width: min(1480px, 100%) !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #fff !important;
}
#marcas-teaser .prod-slides {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  display: block !important;
  background: #fff !important;
}
#marcas-teaser .prod-slide,
#marcas-teaser .prod-slide.is-active {
  position: relative !important;
  inset: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(380px, 0.92fr) !important;
  gap: clamp(70px, 9vw, 150px) !important;
  align-items: center !important;
  width: 100% !important;
  height: auto !important;
  min-height: clamp(600px, 52vw, 760px) !important;
  padding: clamp(90px, 9vw, 135px) 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #c8c8c4 !important;
  background: #fff !important;
  color: #0a0a0a !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  clip-path: none !important;
}
#marcas-teaser .prod-slide-bg {
  position: relative !important;
  inset: auto !important;
  grid-column: 1;
  grid-row: 1;
  width: 100% !important;
  height: clamp(500px, 43vw, 650px) !important;
  object-fit: cover !important;
  filter: grayscale(1) contrast(1.04) !important;
  opacity: 1 !important;
  transform: none !important;
}
#marcas-teaser .prod-slide-content {
  position: relative !important;
  inset: auto !important;
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  width: auto !important;
  max-width: 520px !important;
  padding: 0 !important;
  color: #0a0a0a !important;
  opacity: 1 !important;
  transform: none !important;
}
#marcas-teaser .prod-slide:nth-child(even) .prod-slide-bg {
  grid-column: 2;
}
#marcas-teaser .prod-slide:nth-child(even) .prod-slide-content {
  grid-column: 1;
  justify-self: end;
}
#marcas-teaser .prod-slide-ov,
#marcas-teaser .prod-slide-badge {
  display: none !important;
}
#marcas-teaser .prod-slide-num {
  display: block;
  margin: 0 0 46px;
  color: #777773;
  font-family: var(--ft);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.14em;
}
#marcas-teaser .prod-slide-cat {
  display: block;
  margin: 0 0 20px;
  color: #62625f !important;
  font-family: var(--ft) !important;
  font-size: 0.84rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}
#marcas-teaser .prod-slide-name {
  max-width: 9ch;
  margin: 0 0 28px;
  color: #0a0a0a !important;
  font-family: var(--fd) !important;
  font-size: clamp(5rem, 7.8vw, 8.5rem) !important;
  font-weight: 400 !important;
  line-height: 0.75 !important;
  letter-spacing: -0.02em !important;
  text-transform: uppercase !important;
}
#marcas-teaser .prod-slide-desc {
  max-width: 43ch;
  margin: 0 0 38px;
  color: #5a5a57 !important;
  font-family: var(--fb) !important;
  font-size: 1rem !important;
  line-height: 1.68 !important;
}
#marcas-teaser .gbtn-wrap {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}
#marcas-teaser .gbtn {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
  min-height: 48px !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #0a0a0a !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #0a0a0a !important;
  box-shadow: none !important;
  transform: none !important;
}
#marcas-teaser .gbtn-text {
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
  padding: 12px 0 !important;
  color: #0a0a0a !important;
  font-family: var(--fh) !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  transform: none !important;
}
#marcas-teaser .gbtn-shadow,
#marcas-teaser .prod-sidebar,
#marcas-teaser .prod-progress {
  display: none !important;
}
#marcas-teaser .gbtn:hover .gbtn-text {
  transform: translateX(6px) !important;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

@media (max-width: 900px) {
  #marcas-teaser {
    padding: 0 18px 40px !important;
  }
  #marcas-teaser .prod-intro {
    grid-template-columns: 1fr;
    gap: 34px;
    padding: 76px 0 70px !important;
  }
  #marcas-teaser .prod-intro-title {
    font-size: clamp(5.8rem, 18vw, 9rem) !important;
  }
  #marcas-teaser .prod-intro-title-split {
    margin-left: 12% !important;
  }
  #marcas-teaser .prod-slide,
  #marcas-teaser .prod-slide.is-active {
    grid-template-columns: 1fr !important;
    gap: 52px !important;
    min-height: 0 !important;
    padding: 82px 0 !important;
  }
  #marcas-teaser .prod-slide-bg,
  #marcas-teaser .prod-slide:nth-child(even) .prod-slide-bg {
    grid-column: 1 !important;
    grid-row: 1 !important;
    height: 70vw !important;
    max-height: 620px !important;
  }
  #marcas-teaser .prod-slide-content,
  #marcas-teaser .prod-slide:nth-child(even) .prod-slide-content {
    grid-column: 1 !important;
    grid-row: 2 !important;
    justify-self: start !important;
    max-width: 650px !important;
  }
  #marcas-teaser .prod-slide-num {
    margin-bottom: 28px;
  }
  #marcas-teaser .prod-slide-name {
    font-size: clamp(5rem, 15vw, 7.5rem) !important;
  }
}
@media (max-width: 520px) {
  #marcas-teaser {
    padding: 0 12px 28px !important;
  }
  #marcas-teaser .prod-intro {
    padding: 60px 0 54px !important;
  }
  #marcas-teaser .prod-intro-title {
    font-size: 20vw !important;
  }
  #marcas-teaser .prod-slide,
  #marcas-teaser .prod-slide.is-active {
    gap: 38px !important;
    padding: 64px 0 !important;
  }
  #marcas-teaser .prod-slide-bg,
  #marcas-teaser .prod-slide:nth-child(even) .prod-slide-bg {
    height: 88vw !important;
  }
  #marcas-teaser .prod-slide-name {
    font-size: 18vw !important;
  }
}

/* Interacción: relleno completo de los glifos y parallax de producto marcado */
#attitude .att-fill-title [data-fill-word] {
  color: transparent !important;
  background: linear-gradient(90deg, #0a0a0a 0 var(--word-fill), #bebeba var(--word-fill) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
#attitude .att-fill-title [data-fill-word]::after {
  display: none !important;
}
#attitude .att-fill-title .att-usariamos {
  margin-top: 0.1em;
  overflow: visible !important;
}
#attitude .att-fill-title .att-usariamos::before {
  content: none !important;
  display: none !important;
}
#attitude .att-fill-title .att-accented-i {
  position: relative;
  display: inline-block;
  overflow: visible !important;
}
#attitude .att-fill-title .att-accented-i::before {
  content: "´";
  position: absolute;
  z-index: 3;
  left: 50%;
  top: -0.3em;
  font-family: var(--fb);
  font-size: 0.52em;
  font-weight: 700;
  line-height: 1;
  color: transparent;
  background: linear-gradient(90deg, #0a0a0a 0 var(--accent-fill, 0%), #bebeba var(--accent-fill, 0%) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transform: translateX(-44%);
  pointer-events: none;
}

/* Revelado cinematográfico B2B, que se repite cada vez que la sección vuelve a entrar en pantalla. */
#impact .impact-dealer-topline.entry-once {
  --entry-y: -18px;
}
#impact .impact-dealer-heading.entry-once {
  --entry-x: -64px;
  --entry-y: 0;
}
#impact .impact-dealer-stage.entry-once {
  --entry-y: 0;
  --entry-scale: 0.9;
  transform-origin: 72% 50%;
}
#impact .impact-dealer-copy.entry-once {
  --entry-x: -42px;
  --entry-y: 0;
}
#impact .distributor-cta.entry-once {
  --entry-x: 38px;
  --entry-y: 0;
}
#impact .impact-dealer-footnote.entry-once {
  --entry-y: 18px;
}
#impact .impact-dealer-stage.entry-once::after,
#impact .impact-dealer-stage.entry-once::before {
  opacity: 0;
  transform: translate3d(100%, 0, 0);
  transition:
    opacity 0.7s ease,
    transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}
#impact .impact-dealer-stage.entry-once.is-entered::after,
#impact .impact-dealer-stage.entry-once.is-entered::before {
  opacity: 1;
  transform: none;
  transition-delay: var(--entry-delay, 0ms);
}
#impact .impact-dealer-bike img {
  transition:
    transform 1.35s cubic-bezier(0.16, 1, 0.3, 1),
    filter 1s ease;
}
#impact .impact-dealer-stage.entry-once:not(.is-entered) .impact-dealer-bike img {
  transform: scale(1.12) translate3d(4%, 0, 0);
}
#impact .impact-dealer-stage.entry-once.is-entered .impact-dealer-bike img {
  transform: scale(1) translate3d(0, 0, 0);
}
#attitude .att-product figure {
  isolation: isolate;
}
#attitude .att-product img {
  height: 124% !important;
  transform: translate3d(0, var(--att-parallax, 0px), 0) scale(1.08);
  will-change: transform;
}
#attitude .att-product:hover img {
  transform: translate3d(0, var(--att-parallax, 0px), 0) scale(1.12);
}

/* Marcas: pila sticky con las imágenes siempre por encima de las capas oscuras heredadas */
#marcas-teaser {
  overflow: visible !important;
}
#marcas-teaser .prod-sticky,
#marcas-teaser .prod-slides {
  overflow: visible !important;
}
#marcas-teaser .prod-slide::before,
#marcas-teaser .prod-sticky::before {
  display: none !important;
  content: none !important;
}
#marcas-teaser .prod-slide,
#marcas-teaser .prod-slide.is-active {
  position: sticky !important;
  top: 92px !important;
  min-height: calc(100dvh - 116px) !important;
  margin: 0 0 34px !important;
  padding: clamp(32px, 4vw, 62px) !important;
  border: 1px solid #0a0a0a !important;
  border-radius: 0 !important;
  background: #f4f4f2 !important;
  overflow: hidden !important;
  box-shadow: 0 -16px 42px rgba(10, 10, 10, 0.06) !important;
}
#marcas-teaser .prod-slide:nth-child(1) {
  z-index: 1;
}
#marcas-teaser .prod-slide:nth-child(2) {
  z-index: 2;
}
#marcas-teaser .prod-slide:nth-child(3) {
  z-index: 3;
}
#marcas-teaser .prod-slide:nth-child(4) {
  z-index: 4;
}
#marcas-teaser .prod-slide:nth-child(5) {
  z-index: 5;
}
#marcas-teaser .prod-slide-bg {
  position: relative !important;
  z-index: 3 !important;
  background: #dededb !important;
}
#marcas-teaser .prod-slide-content {
  z-index: 2 !important;
}

/* Cifras: hero documental, cinta y cuadrícula de datos contenida */
#stats {
  position: relative !important;
  margin: 0 !important;
  padding: clamp(120px, 12vw, 190px) clamp(18px, 4vw, 68px) clamp(56px, 5vw, 84px) !important;
  background: #f5f4f1 !important;
  color: #0a0a0a !important;
  overflow: hidden !important;
}
#stats::before {
  display: none !important;
}
#stats > .cx {
  width: min(1480px, 100%) !important;
}
#stats .stats-editorial-head {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: clamp(50px, 7vw, 120px);
  align-items: start;
  margin-bottom: clamp(80px, 8vw, 125px);
}
#stats .stats-editorial-head > span {
  padding-top: 9px;
  color: #656562;
  font-family: var(--ft);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
#stats .stats-editorial-head h2 {
  max-width: 10ch;
  margin: 0;
  color: #0a0a0a;
  font-family: var(--fd);
  font-size: clamp(6rem, 9.5vw, 10.5rem);
  font-weight: 400;
  line-height: 0.74;
  letter-spacing: -0.025em;
}
#stats .stats-editorial-hero {
  position: relative;
  height: clamp(570px, 58vw, 820px);
  margin: 0;
  overflow: hidden;
  background: #c9c9c6;
}
#stats .stats-editorial-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(10, 10, 10, 0.16);
  pointer-events: none;
}
#stats .stats-editorial-hero > img {
  width: 100%;
  height: 118%;
  object-fit: cover;
  object-position: center 38%;
  filter: contrast(1.02) saturate(1.04);
  transform: translate3d(0, var(--stats-parallax, -7%), 0);
  will-change: transform;
}
#stats .stats-editorial-hero figcaption {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  width: min(600px, 78%);
  padding: 34px;
  text-align: center;
  color: #fff;
  transform: translate(-50%, -50%);
}
#stats .stats-editorial-hero figcaption::before {
  content: "";
  position: absolute;
  inset: -28%;
  z-index: -1;
  background: radial-gradient(circle, rgba(10, 10, 10, 0.55), transparent 68%);
}
#stats .stats-editorial-hero figcaption span {
  font-family: var(--ft);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
#stats .stats-editorial-hero figcaption h3 {
  max-width: 14ch;
  margin: 20px auto;
  color: #fff;
  font-family: var(--fh);
  font-size: clamp(2.3rem, 4vw, 4.8rem);
  font-weight: 700;
  line-height: 0.9;
  text-transform: uppercase;
}
#stats .stats-editorial-hero figcaption p {
  max-width: 48ch;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.95rem;
  line-height: 1.65;
}
#stats .stats-editorial-marquee {
  margin: 26px 0 0;
  padding: 14px 0;
  border-top: 1px solid #9f9f9b;
  border-bottom: 1px solid #9f9f9b;
  color: #0a0a0a;
  font-family: var(--fh);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  white-space: nowrap;
  overflow: hidden;
}
#stats .stats-editorial-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 26px;
  border-top: 1px solid #b6b6b2;
  border-bottom: 0;
}
#stats .stats-editorial-grid article {
  min-height: 300px;
  padding: 30px clamp(18px, 2.5vw, 38px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
#stats .stats-editorial-grid article + article {
  border-left: 1px solid #c8c8c4;
}
#stats .stats-editorial-grid strong {
  color: #0a0a0a;
  font-family: var(--fd);
  font-size: clamp(5.4rem, 8vw, 9rem);
  font-weight: 400;
  line-height: 0.75;
  font-variant-numeric: tabular-nums;
}
#stats .stats-editorial-grid sup {
  font-size: 0.35em;
  vertical-align: top;
}
#stats .stats-editorial-grid span {
  max-width: 18ch;
  color: #535350;
  font-family: var(--fh);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
}

/* Cierre: composición editorial asimétrica */
#cta {
  position: relative !important;
  margin: 0 !important;
  padding: clamp(40px, 4vw, 64px) clamp(18px, 4vw, 68px) clamp(140px, 14vw, 220px) !important;
  background: #fff !important;
  color: #0a0a0a !important;
  text-align: left !important;
  overflow: hidden !important;
}
#cta::before,
#cta .cta-glow {
  display: none !important;
}
#cta > .cx {
  width: min(1480px, 100%) !important;
}
#cta .cta-editorial {
  border-top: 0;
  padding-top: 0;
}
#cta .cta-eyebrow {
  display: block !important;
  width: auto !important;
  margin: 0 0 clamp(52px, 5vw, 78px) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: #676764 !important;
  font-family: var(--ft) !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}
#cta .cta-editorial-lead {
  position: relative;
  min-height: clamp(500px, 54vw, 760px);
}
#cta .cta-editorial-lead h2 {
  position: relative;
  z-index: 2;
  max-width: 10.5ch;
  margin: 0;
  color: #0a0a0a;
  font-family: var(--fd);
  font-size: clamp(6rem, 11vw, 12.5rem);
  font-weight: 400;
  line-height: 0.72;
  letter-spacing: -0.025em;
}
#cta .cta-editorial-lead h2 em {
  display: block;
  margin-left: 18%;
  font: inherit;
  font-style: normal;
  white-space: nowrap;
}
#cta .cta-editorial-photo {
  margin: 0;
  overflow: hidden;
  background: #d4d4d1;
}
#cta .cta-editorial-photo img {
  width: 100%;
  height: 124%;
  object-fit: cover;
  filter: grayscale(1) contrast(1.04);
  transform: translate3d(0, var(--cta-parallax, -8%), 0) scale(1.015);
  transform-origin: center center;
  backface-visibility: hidden;
  will-change: transform;
}
#cta .cta-editorial-photo--top {
  position: absolute;
  z-index: 1;
  right: 1%;
  top: 3%;
  width: 43%;
  height: clamp(390px, 41vw, 590px);
  border-radius: clamp(22px, 3vw, 48px);
}
#cta .cta-editorial-body {
  display: grid;
  grid-template-columns: minmax(260px, 0.68fr) minmax(440px, 1fr);
  gap: clamp(80px, 12vw, 190px);
  align-items: center;
  margin-top: clamp(30px, 4vw, 65px);
}
#cta .cta-editorial-photo--small {
  width: 100%;
  height: clamp(390px, 40vw, 580px);
  border-radius: clamp(18px, 2vw, 34px);
}
#cta .cta-editorial-copy {
  max-width: 650px;
}
#cta .cta-editorial-copy h3 {
  max-width: 15ch;
  margin: 0 0 36px;
  color: #0a0a0a;
  font-family: var(--fh);
  font-size: clamp(2.8rem, 5vw, 5.8rem);
  font-weight: 600;
  line-height: 0.86;
  letter-spacing: -0.01em;
  text-transform: uppercase;
}
#cta .cta-editorial-copy > p {
  max-width: 50ch;
  margin: 0 0 42px;
  color: #575754;
  font-size: 1.02rem;
  line-height: 1.7;
}
#cta .cta-btns {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px !important;
  margin: 0 !important;
}
#cta .btn,
#cta .btno {
  width: auto !important;
  min-height: 56px !important;
  padding: 10px 12px 10px 22px !important;
  border: 1px solid #0a0a0a !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background: #fff !important;
  color: #0a0a0a !important;
  box-shadow: none !important;
  font-family: var(--fh);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.055em;
  text-transform: uppercase;
  transition:
    transform 0.6s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.6s cubic-bezier(0.22, 1, 0.36, 1),
    color 0.6s cubic-bezier(0.22, 1, 0.36, 1) !important;
}
#cta .btn {
  border-color: #00249c !important;
  background: #00249c !important;
  color: #fff !important;
}
#cta .btn svg,
#cta .btno svg {
  width: 34px !important;
  height: 34px !important;
  padding: 9px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.16) !important;
}
#cta .btno svg {
  background: #ececea !important;
}
#cta .btn:hover,
#cta .btno:hover {
  transform: translateY(-4px) !important;
}

@media (max-width: 900px) {
  #marcas-teaser .prod-slide,
  #marcas-teaser .prod-slide.is-active {
    top: 78px !important;
    min-height: calc(100dvh - 96px) !important;
    padding: 24px !important;
  }
  #stats .stats-editorial-head {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  #stats .stats-editorial-head h2 {
    font-size: clamp(5.8rem, 17vw, 8.8rem);
  }
  #stats .stats-editorial-grid {
    grid-template-columns: 1fr 1fr;
  }
  #stats .stats-editorial-grid article:nth-child(3) {
    border-left: 0;
    border-top: 1px solid #c8c8c4;
  }
  #stats .stats-editorial-grid article:nth-child(4) {
    border-top: 1px solid #c8c8c4;
  }
}
@media (max-width: 560px) {
  #marcas-teaser .prod-slide,
  #marcas-teaser .prod-slide.is-active {
    top: 70px !important;
    min-height: calc(100dvh - 82px) !important;
    margin-bottom: 18px !important;
    padding: 14px !important;
    border-radius: 0 !important;
  }
  #stats {
    padding: 96px 12px 60px !important;
  }
  #stats .stats-editorial-head {
    margin-bottom: 62px;
  }
  #stats .stats-editorial-head h2 {
    font-size: 18vw;
  }
  #stats .stats-editorial-hero {
    height: 650px;
  }
  #stats .stats-editorial-hero figcaption {
    width: 92%;
    padding: 16px;
  }
  #stats .stats-editorial-grid {
    grid-template-columns: 1fr;
  }
  #stats .stats-editorial-grid article {
    min-height: 220px;
  }
  #stats .stats-editorial-grid article + article {
    border-left: 0;
    border-top: 1px solid #c8c8c4;
  }
  #cta .cta-eyebrow {
    margin-bottom: 44px !important;
  }
}

/* Cifras: continuidad en blanco y hero construido con el scroll */
#stats {
  background: #fff !important;
}
#stats .stats-editorial-hero {
  --stats-reveal: 1;
  --stats-copy-opacity: 1;
  --stats-copy-y: 0px;
  --stats-win-x: 33%;
  --stats-win-y: 30%;
  clip-path: inset(
    calc((1 - var(--stats-reveal)) * var(--stats-win-y)) calc((1 - var(--stats-reveal)) * var(--stats-win-x))
      round var(--home-img-radius, 14px)
  );
  will-change: clip-path;
}
@media (max-width: 680px) {
  #stats .stats-editorial-hero {
    --stats-win-x: 16%;
    --stats-win-y: 26%;
  }
}
#stats .stats-editorial-hero figcaption {
  opacity: var(--stats-copy-opacity);
  transform: translate(-50%, calc(-50% + var(--stats-copy-y)));
  will-change: opacity, transform;
}
#stats .stats-editorial-hero > img {
  object-position: center center;
}
#cta .cta-editorial-photo--top img {
  object-position: 58% center;
  filter: none;
}
#cta .cta-editorial-photo--small img {
  object-position: center center;
  filter: none;
}

/* Pie de Inicio: marcador tipográfico de ruta */
.pre-footer {
  padding: 0 !important;
  background: #fff !important;
}
.pre-footer .cx {
  width: 100% !important;
}
.pre-footer-inner {
  min-height: 72px !important;
  padding: 0 clamp(18px, 4vw, 68px) !important;
  border-top: 1px solid #c7c7c3 !important;
  border-bottom: 1px solid #c7c7c3 !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
}
.pre-footer-inner a {
  padding: 25px 22px !important;
  border-right: 1px solid #d4d4d0 !important;
  color: #62625f !important;
  background: #fff !important;
  font-family: var(--ft) !important;
  font-size: 0.84rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}
.pre-footer-inner a:first-child {
  border-left: 1px solid #d4d4d0 !important;
}
.pre-footer-inner a:hover {
  background: #0a0a0a !important;
  color: #fff !important;
}
footer.footer-editorial {
  position: relative !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: clamp(70px, 7vw, 105px) clamp(18px, 4vw, 68px) 28px !important;
  background: #0a0a0a !important;
  color: #fff !important;
  overflow: hidden !important;
}
footer.footer-editorial::before {
  display: none !important;
}
.footer-editorial .cx {
  width: min(1480px, 100%) !important;
}
.footer-editorial-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding-bottom: 34px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.24);
}
.footer-editorial-index {
  color: rgba(255, 255, 255, 0.48);
  font-family: var(--ft);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.footer-editorial-contact {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  padding: 11px 12px 11px 20px;
  border: 1px solid #00249c;
  border-radius: 999px;
  background: #00249c;
  color: #fff;
  font-family: var(--fh);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
.footer-editorial-contact span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
}
.footer-editorial-contact:hover {
  transform: translateY(-4px);
}
.footer-editorial-title {
  padding: clamp(85px, 9vw, 140px) 0 clamp(75px, 8vw, 120px);
  display: flex;
  flex-direction: column;
  color: #fff;
  font-family: var(--fd);
  font-size: clamp(8rem, 17vw, 19rem);
  font-weight: 400;
  line-height: 0.63;
  letter-spacing: -0.035em;
}
.footer-editorial-title span:last-child {
  margin-left: 18%;
}
.footer-editorial-grid {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr 0.5fr;
  gap: clamp(55px, 8vw, 130px);
  padding: 42px 0 70px;
  border-top: 1px solid rgba(255, 255, 255, 0.24);
}
.footer-editorial-brand img {
  width: min(240px, 70%);
  height: auto;
  margin-bottom: 28px;
  padding: 8px 12px;
  background: #fff;
}
.footer-editorial-brand p {
  max-width: 36ch;
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.9rem;
  line-height: 1.7;
}
.footer-editorial-nav {
  display: grid !important;
  gap: 0 !important;
  position: static !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.footer-editorial-nav::before {
  display: none !important;
}
.footer-editorial-nav a {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  color: #fff;
  font-family: var(--fh);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: padding 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}
.footer-editorial-nav a:hover {
  padding-left: 8px;
}
.footer-editorial-social {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.footer-editorial-social > span {
  margin-bottom: 9px;
  color: rgba(255, 255, 255, 0.42);
  font-family: var(--ft);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.footer-editorial-social a {
  color: #fff;
  font-family: var(--fh);
  font-size: 0.92rem;
  font-weight: 600;
  text-transform: uppercase;
}
.footer-editorial-bottom {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 28px;
  align-items: center;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.24);
  color: rgba(255, 255, 255, 0.42);
  font-family: var(--ft);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.footer-editorial-bottom > div {
  display: flex;
  gap: 22px;
}
.footer-editorial-bottom > p:last-child {
  text-align: right;
}
.footer-editorial-bottom a {
  color: rgba(255, 255, 255, 0.72);
}

@media (max-width: 800px) {
  .footer-editorial-title {
    font-size: 22vw;
  }
  .footer-editorial-grid {
    grid-template-columns: 1fr 1fr;
  }
  .footer-editorial-brand {
    grid-column: 1/-1;
  }
  .footer-editorial-bottom {
    grid-template-columns: 1fr;
    justify-items: start;
  }
  .footer-editorial-bottom > p:last-child {
    text-align: left;
  }
}
@media (max-width: 520px) {
  .pre-footer-inner {
    padding: 0 12px !important;
  }
  footer.footer-editorial {
    padding: 62px 12px 24px !important;
  }
  .footer-editorial-top {
    align-items: flex-start;
    flex-direction: column;
  }
  .footer-editorial-title {
    font-size: 25vw;
    line-height: 0.68;
  }
  .footer-editorial-title span:last-child {
    margin-left: 8%;
  }
  .footer-editorial-grid {
    grid-template-columns: 1fr;
    gap: 54px;
    padding-bottom: 54px;
  }
  .footer-editorial-brand {
    grid-column: auto;
  }
  .footer-editorial-bottom > div {
    flex-direction: column;
    gap: 10px;
  }
}

/* Transición prioritaria desde la cinta de color hacia la filosofía. */
.brand-marquee img,
.brand-marquee img.logo-to-black {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}
#attitude .att-product--jacket img.att-jacket-color,
#attitude .att-product--jacket:hover img.att-jacket-color {
  filter: contrast(1.02) saturate(1.04) !important;
}
#attitude .att-product img.att-product-color,
#attitude .att-product:hover img.att-product-color {
  filter: contrast(1.02) saturate(1.04) !important;
}
#impact .impact-dealer-topline span:last-child {
  margin-right: clamp(48px, 6vw, 110px);
}
.brand-marquee + #attitude .att-manifesto {
  z-index: 4 !important;
  min-height: clamp(560px, 72dvh, 720px) !important;
  padding-top: clamp(24px, 3vw, 44px) !important;
  padding-bottom: clamp(34px, 4vw, 54px) !important;
  background: #fff !important;
}
@media (max-width: 680px) {
  .brand-marquee + #attitude .att-manifesto {
    min-height: 620px !important;
    padding-top: 30px !important;
  }
}

/* ==========================================================================
   Diseño para tablet y móvil (≤900px) de Distribuidor, Filosofía y Cierre.
   Cada bloque fluye en el orden del documento, así que textos y fotos
   nunca se superponen en ningún ancho ni proporción de pantalla.
   ========================================================================== */
@media (max-width: 900px) {
  /* Quiénes somos: línea de tiempo en una columna, con todas las tarjetas alineadas a la izquierda */
  #catalog .timeline-card:nth-of-type(odd) h3,
  #catalog .timeline-card:nth-of-type(odd) p {
    margin-left: 0 !important;
  }

  /* Conviértete en distribuidor */
  #impact {
    padding: 56px 14px !important;
  }
  #impact.distributor-section .impact-shell.impact-dealer {
    height: auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 20px 24px 28px !important;
    border-radius: 0 0 16px 16px !important;
  }
  #impact .impact-dealer-topline,
  #impact .impact-dealer-heading,
  #impact .impact-dealer-stage,
  #impact .impact-dealer-copy,
  #impact .impact-dealer > .distributor-cta {
    position: relative;
    inset: auto;
    width: auto;
    max-width: none;
  }
  #impact .impact-dealer-topline span:last-child {
    margin-right: 0;
  }
  #impact .impact-dealer-heading {
    margin-top: clamp(40px, 8vw, 64px);
  }
  #impact .impact-dealer-heading h2 {
    font-size: clamp(3.6rem, 12.5vw, 6.8rem);
  }
  #impact .impact-dealer-stage {
    aspect-ratio: 4/3;
    margin: clamp(30px, 6vw, 48px) -24px 0;
  }
  #impact .impact-dealer-copy {
    margin-top: clamp(30px, 6vw, 44px);
  }
  #impact .impact-dealer-copy h3 {
    max-width: 18ch;
    font-size: clamp(1.8rem, 5vw, 2.5rem);
  }
  #impact .impact-dealer-copy p {
    max-width: 46ch;
  }
  #impact .impact-dealer > .distributor-cta {
    align-self: flex-start;
    margin-top: 28px;
  }
  #impact .impact-dealer-footnote {
    display: none;
  }

  /* Filosofía: tres productos en fila, ligeramente escalonados como en escritorio */
  #attitude .att-product-stage {
    height: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1fr);
    gap: clamp(12px, 2.6vw, 24px);
    align-items: start;
    padding-top: clamp(64px, 10vw, 100px);
  }
  #attitude .att-product {
    position: relative;
    inset: auto;
    width: auto;
    margin: 0;
    z-index: auto;
  }
  #attitude .att-product figure {
    height: auto !important;
    aspect-ratio: 3/4;
  }
  #attitude .att-product--helmet {
    order: 1;
    margin-top: 22%;
  }
  #attitude .att-product--jacket {
    order: 2;
  }
  #attitude .att-product--jacket figure {
    aspect-ratio: 5/7;
  }
  #attitude .att-product--luggage {
    order: 3;
    margin-top: 12%;
  }
  #attitude .att-product > span {
    display: block;
    margin-top: 12px;
    font-size: 0.74rem;
    line-height: 1.3;
  }
  #attitude .att-product > span b {
    display: block;
    margin-bottom: 4px;
  }

  /* El próximo paso es tuyo */
  #cta .cta-eyebrow {
    margin-bottom: clamp(36px, 7vw, 52px) !important;
  }
  #cta .cta-editorial-lead {
    min-height: 0;
  }
  #cta .cta-editorial-lead h2 {
    max-width: none;
    font-size: clamp(4.2rem, 15vw, 8rem);
    line-height: 0.78;
  }
  #cta .cta-editorial-lead h2 em {
    margin-left: 14%;
    white-space: normal;
  }
  #cta .cta-editorial-photo {
    position: relative;
    overflow: hidden !important;
  }
  #cta .cta-editorial-photo img {
    position: absolute;
    left: 0;
    top: 0;
  }
  #cta .cta-editorial-photo--top {
    position: relative;
    inset: auto;
    width: 82%;
    height: auto;
    aspect-ratio: 4/3;
    margin: clamp(32px, 6vw, 52px) 0 0 auto;
  }
  #cta .cta-editorial-body {
    grid-template-columns: 1fr;
    gap: clamp(40px, 7vw, 64px);
    margin-top: clamp(28px, 6vw, 48px);
  }
  #cta .cta-editorial-photo--small {
    width: 66%;
    height: auto;
    aspect-ratio: 4/5;
  }
  #cta .cta-editorial-copy h3 {
    font-size: clamp(2.6rem, 8vw, 4.4rem);
    margin-bottom: 24px;
  }
  #cta .cta-editorial-copy > p {
    margin-bottom: 30px;
  }
}
@media (max-width: 600px) {
  #impact {
    padding: 40px 8px !important;
  }
  #impact.distributor-section .impact-shell.impact-dealer {
    padding: 16px 16px 18px !important;
    border-radius: 0 0 12px 12px !important;
  }
  #impact .impact-dealer-stage {
    aspect-ratio: 1/1;
    margin-left: -16px;
    margin-right: -16px;
  }
  #impact .impact-dealer-stage::after,
  #impact .impact-dealer-stage::before {
    width: 32px;
  }
  #impact .impact-dealer-stage::after {
    padding: 14px 0;
    font-size: 0.58rem;
    letter-spacing: 0.06em;
  }
  #impact .impact-dealer-bike {
    right: 32px !important;
  }
  #impact .impact-dealer > .distributor-cta {
    align-self: stretch;
    justify-content: space-between;
  }

  #attitude .att-eyebrow {
    font-size: 0.74rem !important;
    letter-spacing: 0.11em !important;
    line-height: 1.5 !important;
  }

  /* Filosofía: 01 y 02 en fila, 03 a ancho completo debajo */
  #attitude .att-product-stage {
    grid-template-columns: 1fr 1fr;
    gap: 28px 10px;
  }
  #attitude .att-product--helmet,
  #attitude .att-product--luggage {
    margin-top: 0;
  }
  #attitude .att-product--luggage {
    order: 2;
  }
  #attitude .att-product--jacket {
    order: 3;
    grid-column: 1/-1;
  }
  #attitude .att-product figure,
  #attitude .att-product--jacket figure {
    aspect-ratio: 4/5;
  }

  #cta {
    padding: 36px 14px 110px !important;
  }
  #cta .cta-editorial-photo--top {
    width: 90%;
  }
  #cta .cta-editorial-photo--small {
    width: 74%;
  }
  #cta .cta-btns {
    display: grid !important;
  }
  #cta .btn,
  #cta .btno {
    width: 100% !important;
  }
}
/* Etiqueta residual del antiguo carrusel oscuro: casi blanca sobre blanco, se oculta. */
#marcas-teaser .prod-intro::after {
  display: none !important;
  content: none !important;
}

/* ==========================================================================
   Esquinas suaves en todas las fotografías enmarcadas de Inicio.
   Las piezas a sangre (hero, logotipos de marca, motorista recortado) se mantienen rectas.
   ========================================================================== */
:root {
  --home-img-radius: 14px;
}
@media (max-width: 720px) {
  :root {
    --home-img-radius: 10px;
  }
}
#catalog .timeline-media,
#attitude .att-product figure,
#stats .stats-editorial-hero,
#cta .cta-editorial-photo,
#cta .cta-editorial-photo--top,
#cta .cta-editorial-photo--small,
#impact .impact-dealer-stage,
#marcas-teaser .rider-explorer__detail figure {
  border-radius: var(--home-img-radius) !important;
  overflow: hidden !important;
  isolation: isolate;
}
/* El panel de detalle es redondeado pero no recorta: la insignia de marca y el botón de cerrar van sobre sus bordes. */
#marcas-teaser .rider-explorer__detail {
  border-radius: var(--home-img-radius) !important;
  overflow: visible !important;
}
#catalog .timeline-media::after,
#attitude .att-product figure::after,
#stats .stats-editorial-hero::after {
  border-radius: inherit;
}
#cta .cta-editorial-photo img {
  border-radius: 0 !important;
}
#marcas-teaser .rider-explorer__detail figure {
  border-radius: calc(var(--home-img-radius) - 4px) !important;
}
/* Distribuidor: el panel de la foto va inset dentro de la tarjeta para que las cuatro esquinas puedan redondearse. */
@media (min-width: 901px) {
  #impact .impact-dealer-stage {
    top: 12px;
    right: 12px;
    bottom: 12px;
  }
}
@media (max-width: 900px) {
  #impact .impact-dealer-stage {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
